X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/30cff3b4aec008ee33ddb413f814d5962a5e3727..2c3bcb5d2d550bb6546c0f8aa3721f623ca9d6b6:/src/editor/modules/rng/rng.js diff --git a/src/editor/modules/rng/rng.js b/src/editor/modules/rng/rng.js index 42ab636..c9514f8 100644 --- a/src/editor/modules/rng/rng.js +++ b/src/editor/modules/rng/rng.js @@ -1,4 +1,5 @@ define([ +'./documentSummary', 'libs/underscore', 'fnpjs/layout', 'fnpjs/vbox', @@ -7,7 +8,7 @@ define([ 'libs/text!./mainLayout.html', 'libs/text!./editingLayout.html', 'libs/text!./diffLayout.html', -], function(_, layout, vbox, logging, tabs, mainLayoutTemplate, visualEditingLayoutTemplate, diffLayoutTemplate) { +], function(documentSummary, _, layout, vbox, logging, tabs, mainLayoutTemplate, visualEditingLayoutTemplate, diffLayoutTemplate) { 'use strict'; @@ -86,10 +87,18 @@ return function(sandbox) { }; eventHandlers.data = { - ready: function() { + ready: function(usingDraft, draftTimestamp) { views.mainLayout.setView('mainView', views.mainTabs.getAsView()); - _.each(['sourceEditor', 'documentCanvas', 'documentToolbar', 'nodePane', 'metadataEditor', 'nodeFamilyTree', 'nodeBreadCrumbs', 'mainBar', 'indicator', 'documentHistory', 'diffViewer'], function(moduleName) { + documentSummary.init(sandbox.getConfig().documentSummaryView); + documentSummary.render(sandbox.getModule('data').getDocumentProperties()); + documentSummary.setDraftField(usingDraft ? (draftTimestamp || '???') : '-'); + views.currentNodePaneLayout.appendView(documentSummary.dom); + + sandbox.getModule('mainBar').setCommandEnabled('drop-draft', usingDraft); + sandbox.getModule('mainBar').setCommandEnabled('save', usingDraft); + + _.each(['sourceEditor', 'documentCanvas', 'documentToolbar', 'metadataEditor', 'nodeBreadCrumbs', 'mainBar', 'indicator', 'documentHistory', 'diffViewer'], function(moduleName) { sandbox.getModule(moduleName).start(); }); @@ -97,11 +106,17 @@ return function(sandbox) { documentIsDirty = false; wlxmlDocument.on('change', function() { documentIsDirty = true; + sandbox.getModule('mainBar').setCommandEnabled('save', true); }); wlxmlDocument.on('contentSet', function() { documentIsDirty = true; }); }, + draftDropped: function() { + documentSummary.setDraftField('-'); + sandbox.getModule('mainBar').setCommandEnabled('drop-draft', false); + sandbox.getModule('mainBar').setCommandEnabled('save', false); + }, savingStarted: function(what) { var msg = { remote: gettext('Saving document'), @@ -117,9 +132,20 @@ return function(sandbox) { local: gettext('Local copy saved') }; documentIsDirty = false; - sandbox.getModule('mainBar').setCommandEnabled('save', true); + sandbox.getModule('indicator').clearMessage({message: msg[what]}); - sandbox.getModule('mainBar').setVersion(data.version); + if(status === 'success' && what === 'remote') { + sandbox.getModule('mainBar').setVersion(data.version); + documentSummary.render(data); + documentSummary.setDraftField('-'); + sandbox.getModule('mainBar').setCommandEnabled('drop-draft', false); + sandbox.getModule('mainBar').setCommandEnabled('save', false); + } + if(what === 'local') { + documentSummary.setDraftField(data.timestamp); + sandbox.getModule('mainBar').setCommandEnabled('drop-draft', true); + sandbox.getModule('mainBar').setCommandEnabled('save', true); + } }, restoringStarted: function(event) { sandbox.getModule('mainBar').setCommandEnabled('save', false); @@ -133,7 +159,6 @@ return function(sandbox) { }, documentReverted: function(version) { documentIsDirty = false; - sandbox.getModule('mainBar').setCommandEnabled('save', true); sandbox.getModule('indicator').clearMessage({message:'Wersja ' + version + ' przywrócona'}); sandbox.getModule('mainBar').setVersion(version); }