diff --git a/extensions/wikidata/module/scripts/dialogs/perform-edits-dialog.js b/extensions/wikidata/module/scripts/dialogs/perform-edits-dialog.js index 3509cbead..42db2df37 100644 --- a/extensions/wikidata/module/scripts/dialogs/perform-edits-dialog.js +++ b/extensions/wikidata/module/scripts/dialogs/perform-edits-dialog.js @@ -72,6 +72,10 @@ PerformEditsDialog.checkAndLaunch = function () { this._elmts = DOM.bind(this.frame); this.missingSchema = false; + if (SchemaAlignmentDialog.isSetUp() && SchemaAlignmentDialog._hasUnsavedChanges) { + SchemaAlignmentDialog._save(); + } + ManageAccountDialog.ensureLoggedIn(function(logged_in_username) { if (logged_in_username) { var discardWaiter = DialogSystem.showBusy($.i18n._('perform-wikidata-edits')["analyzing-edits"]); @@ -80,7 +84,7 @@ PerformEditsDialog.checkAndLaunch = function () { { engine: JSON.stringify(ui.browsingEngine.getJSON()) }, function(data) { discardWaiter(); - if(data['status'] != 'error') { + if(data['code'] != 'error') { PerformEditsDialog._updateWarnings(data); PerformEditsDialog.launch(logged_in_username, data['max_severity']); } else { diff --git a/extensions/wikidata/module/scripts/dialogs/schema-alignment-dialog.js b/extensions/wikidata/module/scripts/dialogs/schema-alignment-dialog.js index e4741029d..c491dad48 100644 --- a/extensions/wikidata/module/scripts/dialogs/schema-alignment-dialog.js +++ b/extensions/wikidata/module/scripts/dialogs/schema-alignment-dialog.js @@ -59,10 +59,14 @@ SchemaAlignmentDialog.setUpTabs = function() { this._issuesPanel = $('
') .addClass('main-view-panel-tab') .appendTo(this._rightPanel); + this._previewPanel = $('') + .addClass('main-view-panel-tab') + .appendTo(this._rightPanel); var schemaButton = $('') .addClass('main-view-panel-tab-header') .attr('href', '#wikidata-schema-panel') + .text($.i18n._('wikidata-schema')["schema-tab-header"]) .appendTo(this._toolPanel); var issuesButton = $('') .addClass('main-view-panel-tab-header') @@ -70,15 +74,21 @@ SchemaAlignmentDialog.setUpTabs = function() { .text($.i18n._('wikidata-schema')["warnings-tab-header"]+' ') .appendTo(this._toolPanel); this.issuesTabCount = $('').addClass('schema-alignment-total-warning-count').appendTo(issuesButton); - - schemaButton.text($.i18n._('wikidata-schema')["schema-tab-header"]); - // this._elmts.editsPreviewTabHeader.text($.i18n._('wikidata-schema')["edits-preview-tab-header"]); + var previewButton = $('') + .addClass('main-view-panel-tab-header') + .attr('href', '#wikidata-preview-panel') + .text($.i18n._('wikidata-schema')["edits-preview-tab-header"]) + .appendTo(this._toolPanel); $('.main-view-panel-tab-header').click(function() { var targetTab = $(this).attr('href'); SchemaAlignmentDialog.switchTab(targetTab); }); + /** + * Init the schema tab + */ + var schemaTab = $(DOM.loadHTML("wikidata", "scripts/schema-alignment-tab.html")).appendTo(this._schemaPanel); var schemaElmts = this._schemaElmts = DOM.bind(schemaTab); schemaElmts.dialogExplanation.text($.i18n._('wikidata-schema')["dialog-explanation"]); @@ -117,6 +127,22 @@ SchemaAlignmentDialog.setUpTabs = function() { var url = ReconciliationManager.ensureDefaultServicePresent(); SchemaAlignmentDialog._reconService = ReconciliationManager.getServiceFromUrl(url); + /** + * Init the issues tab + */ + var issuesTab = $(DOM.loadHTML("wikidata", "scripts/issues-tab.html")).appendTo(this._issuesPanel); + var issuesElmts = this._schemaElmts = DOM.bind(issuesTab); + issuesElmts.invalidSchemaWarningIssues.text($.i18n._('wikidata-schema')["invalid-schema-warning-issues"]); + + /** + * Init the preview tab + */ + + var previewTab = $(DOM.loadHTML("wikidata", "scripts/preview-tab.html")).appendTo(this._previewPanel); + var previewElmts = this._schemaElmts = DOM.bind(previewTab); + previewElmts.previewExplanation.text($.i18n._('wikidata-schema')["preview-explanation"]); + previewElmts.invalidSchemaWarningPreview.text($.i18n._('wikidata-schema')["invalid-schema-warning-preview"]); + this._previewPanes = $(".schema-alignment-dialog-preview"); this.preview(); } @@ -127,6 +153,10 @@ SchemaAlignmentDialog.switchTab = function(targetTab) { $('.main-view-panel-tab-header[href="'+targetTab+'"]').addClass('active'); $(targetTab).show(); resizeAll(); + var panelHeight = this._viewPanel.height(); + this._schemaPanel.height(panelHeight); + this._issuesPanel.height(panelHeight); + this._previewPanel.height(panelHeight); } SchemaAlignmentDialog.isSetUp = function() { @@ -216,10 +246,7 @@ SchemaAlignmentDialog._createDialog = function() { // - this._elmts.previewExplanation.text($.i18n._('wikidata-schema')["preview-explanation"]); - this._elmts.invalidSchemaWarningIssues.text($.i18n._('wikidata-schema')["invalid-schema-warning-issues"]); - this._elmts.invalidSchemaWarningPreview.text($.i18n._('wikidata-schema')["invalid-schema-warning-preview"]); this._elmts.resetButton.text($.i18n._('wikidata-schema')["reset-button"]); this._elmts.saveButton.text($.i18n._('wikidata-schema')["save-button"]); this._elmts.closeButton.text($.i18n._('wikidata-schema')["close-button"]); diff --git a/extensions/wikidata/module/scripts/issues-tab.html b/extensions/wikidata/module/scripts/issues-tab.html new file mode 100644 index 000000000..35d752b9d --- /dev/null +++ b/extensions/wikidata/module/scripts/issues-tab.html @@ -0,0 +1,5 @@ +