X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/4e455e9d5cb47e44f6428d179c8bd257b991791a..dc88a3110d5f44a8240cdd637b22716545763578:/src/editor/modules/rng/rng.js diff --git a/src/editor/modules/rng/rng.js b/src/editor/modules/rng/rng.js index 801473b..469d0e4 100644 --- a/src/editor/modules/rng/rng.js +++ b/src/editor/modules/rng/rng.js @@ -2,17 +2,20 @@ define([ 'libs/underscore', 'fnpjs/layout', 'fnpjs/vbox', +'fnpjs/logging/logging', 'views/tabs/tabs', 'libs/text!./mainLayout.html', 'libs/text!./editingLayout.html', 'libs/text!./diffLayout.html', -], function(_, layout, vbox, tabs, mainLayoutTemplate, visualEditingLayoutTemplate, diffLayoutTemplate) { +], function(_, layout, vbox, logging, tabs, mainLayoutTemplate, visualEditingLayoutTemplate, diffLayoutTemplate) { 'use strict'; return function(sandbox) { /* globals gettext */ + + var logger = logging.getLogger('editor.modules.rng'); function addMainTab(title, slug, view) { views.mainTabs.addTab(title, slug, view); @@ -142,6 +145,11 @@ return function(sandbox) { views.mainLayout.setView('topPanel', sandbox.getModule('mainBar').getView()); }, 'cmd.save': function() { + var sourceEditor = sandbox.getModule('sourceEditor'); + if(!sourceEditor.changesCommited()) { + logger.debug('Source editor has uncommited changes, commiting...'); + sourceEditor.commitChanges(); + } sandbox.getModule('data').saveDocument(); } }; @@ -276,9 +284,14 @@ return function(sandbox) { sandbox.getModule('data').start(); }, handleEvent: function(moduleName, eventName, args) { + var eventRepr = moduleName + '.' + eventName; if(eventHandlers[moduleName] && eventHandlers[moduleName][eventName]) { + logger.debug('Handling event ' + eventRepr); eventHandlers[moduleName][eventName].apply(eventHandlers, args); + } else { + logger.debug('No event handler for ' + eventRepr); } + } }; };