function ReconDialog(column, types) { this._column = column; this._types = types; this._createDialog(); } ReconDialog.prototype._createDialog = function() { var self = this; var frame = DialogSystem.createDialog(); frame.width("500px"); var header = $('
').addClass("dialog-header").text("Reconcile column " + this._column.headerLabel).appendTo(frame); var body = $('').addClass("dialog-body").appendTo(frame); var footer = $('').addClass("dialog-footer").appendTo(frame); $('').text("Reconcile cell values to Freebase topics of type:").appendTo(body); if (this._types.length > 0) { var createTypeChoice = function(type) { var div = $('
').appendTo(body); var autoMatchCheckbox = $('').appendTo(optionDiv); $('').text(" Auto-match correctly-typed candidates scoring at least ").appendTo(optionDiv); var minScoreInput = $('').width("3em").attr("value", "100").appendTo(optionDiv); $('').text("Start Reconciling").click(function() { var choices = $('input[name="recon-dialog-type-choice"]:checked'); if (choices != null && choices.length > 0 && choices[0].value != "") { type = { id: choices[0].value, name: choices.attr("typeName") }; } if (type == null) { alert("Please specify a type."); } else { DialogSystem.dismissUntil(level - 1); $.post( "/command/reconcile?" + $.param({ project: theProject.id, columnName: self._column.headerLabel, typeID: type.id, typeName: type.name, autoMatch: autoMatchCheckbox[0].checked, minScore: minScoreInput[0].value }), { engine: JSON.stringify(ui.browsingEngine.getJSON()) }, function(data) { if (data.code != "error") { ui.processWidget.update(); } else { alert(data.message); } }, "json" ); } }).appendTo(footer); $('').text("Cancel").click(function() { DialogSystem.dismissUntil(level - 1); }).appendTo(footer); var level = DialogSystem.showDialog(frame); input.focus().data("suggest").textchange(); };