1 define(['views/tabs/tabs'], function(tabs) {
\r
3 return function(sandbox) {
\r
6 var mainTabs = (new tabs.View()).render();
\r
8 function addTab(title, slug, view) {
\r
9 mainTabs.addTab(title, slug, view);
\r
12 /* Events handling */
\r
14 var eventHandlers = {};
\r
16 eventHandlers.skelton = {
\r
18 sandbox.getModule('skelton').setMainView(mainTabs.getAsView());
\r
20 _.each(['visualEditor', 'sourceEditor', 'rng2'], function(moduleName) {
\r
21 sandbox.getModule(moduleName).start();
\r
24 'cmd.save': function() {
\r
29 eventHandlers.sourceEditor = {
\r
31 addTab(gettext('Source'), 'source', sandbox.getModule('sourceEditor').getView());
\r
32 sandbox.getModule('sourceEditor').setDocument(sandbox.getModule('data').getDocument());
\r
36 eventHandlers.visualEditor = {
\r
38 sandbox.getModule('visualEditor').setDocument(sandbox.getModule('data').getDocument());
\r
39 addTab(gettext('Visual'), 'visual', sandbox.getModule('visualEditor').getView());
\r
44 eventHandlers.data = {
\r
46 sandbox.getModule('skelton').start();
\r
48 documentChanged: function(document, reason) {
\r
49 var slug = (reason === 'visual_edit' ? 'source' : 'visual');
\r
50 sandbox.getModule(slug+'Editor').setDocument(document);
\r
52 savingStarted: function() {
\r
53 sandbox.getModule('skelton').deactivateCommand('save');
\r
54 sandbox.getModule('skelton').showMessage(gettext('Saving...'));
\r
56 savingEnded: function(status) {
\r
57 sandbox.getModule('skelton').activateCommand('save');
\r
58 sandbox.getModule('skelton').clearMessage();
\r
62 eventHandlers.rng2 = {
\r
64 addTab('rng2 test', 'rng2test', sandbox.getModule('rng2').getView());
\r
73 sandbox.getModule('data').start();
\r
75 handleEvent: function(moduleName, eventName, args) {
\r
77 wysiwigHandler.handleEvent(moduleName, eventName, args);
\r
78 else if(eventHandlers[moduleName] && eventHandlers[moduleName][eventName]) {
\r
79 eventHandlers[moduleName][eventName].apply(eventHandlers, args);
\r