X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/39f85f733b10ae8b454fa140eec6ad7c106cc8f1..a5871ab5512d87a33e7e95451d26ee7d3e789742:/modules/rng.js diff --git a/modules/rng.js b/modules/rng.js new file mode 100644 index 0000000..0d40c2e --- /dev/null +++ b/modules/rng.js @@ -0,0 +1,45 @@ +rng.modules.rng = function(sandbox) { + + function addTab(title, view) { + sandbox.getModule('tabsModule').addTab(title, view); + } + + /* Events handling */ + + eventHandlers = {}; + + eventHandlers.skelton = { + ready: function() { + sandbox.getModule('tabsManager').start(); + } + }; + + eventHandlers.tabsManager = { + ready: function() { + sandbox.getModule('skelton').setMainView(sandbox.getModule('tabsManager').getView()); + _.each(['sourceEditor', 'visualEditor'], function(moduleName) { + sandbox.getModule(moduleName).start(); + }); + } + }; + + eventHandlers.sourceEditor = { + ready: function() { + addTab('Source', sandbox.getModule('sourceEditor').getView()); + } + }; + + + /* api */ + + return { + start: function() { + sandbox.getModule('skelton').start(); + }, + handleEvent: function(moduleName, eventName, args) { + if(eventHandlers[moduleName] && eventHandlers[moduleName][eventName]) { + eventHandlers[moduleName][eventName].apply(eventHandlers, args); + } + } + } +}; \ No newline at end of file