X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/7b7f19b8680ed7653359bede5833d2cffc11ef8c..82e06a8e31268c29c41352230e330556fec282f8:/src/editor/modules/data/data.js?ds=inline diff --git a/src/editor/modules/data/data.js b/src/editor/modules/data/data.js index 67ab801..919ce68 100644 --- a/src/editor/modules/data/data.js +++ b/src/editor/modules/data/data.js @@ -201,21 +201,35 @@ return function(sandbox) { method: 'post', url: sandbox.getConfig().documentSaveUrl(data.document_id), data: formData, - success: function(data) { + success: function(ajax_data) { event.success(); - sandbox.publish('savingEnded', 'success', 'remote', data); + sandbox.publish('savingEnded', 'success', 'remote', ajax_data); - Object.keys(data) + Object.keys(ajax_data) .filter(function(key) { return key !== 'text'; }) .forEach(function(key) { - wlxmlDocument.setProperty(key, data[key]); + wlxmlDocument.setProperty(key, ajax_data[key]); + // ugly, but whatever + data[key] = ajax_data[key]; }); reloadHistory(); }, - error: function() {event.error(); sandbox.publish('savingEnded', 'error', 'remote');} + error: function(data) { + event.error(); + sandbox.publish('savingEnded', 'error', 'remote'); + var dialog = Dialog.create({ + title: gettext('Error'), + text: JSON.parse(data.responseText).text.join('\n'), + executeButtonText: gettext('Close') + }); + dialog.show(); + dialog.on('execute', function(e) { + e.success(); + }); + } }); }); dialog.on('cancel', function() { @@ -263,18 +277,20 @@ return function(sandbox) { dataType: 'json', url: sandbox.getConfig().documentRestoreUrl(data.document_id), data: formData, - success: function(data) { - Object.keys(data) + success: function(ajax_data) { + Object.keys(ajax_data) .filter(function(key) { return key !== 'document'; }) .forEach(function(key) { - wlxmlDocument.setProperty(key, data[key]); + wlxmlDocument.setProperty(key, ajax_data[key]); + // ugly, but whatever + data[key] = ajax_data[key]; }); reloadHistory(); - wlxmlDocument.loadXML(data.document); + wlxmlDocument.loadXML(ajax_data.document); documentDirty = false; - sandbox.publish('documentReverted', data.version); + sandbox.publish('documentReverted', ajax_data.version); event.success(); }, });