-define(['views/tabs/tabs'], function(tabs) {\r
+define([\r
+'fnpjs/layout',\r
+'views/tabs/tabs',\r
+'libs/text!./rng/mainLayout.html'\r
+], function(layout, tabs, mainLayoutTemplate) {\r
\r
return function(sandbox) {\r
'use strict';\r
\r
var mainTabs = (new tabs.View()).render();\r
+ var mainLayout = new layout.Layout(mainLayoutTemplate);\r
+ sandbox.getDOM().append(mainLayout.getAsView());\r
\r
function addTab(title, slug, view) {\r
mainTabs.addTab(title, slug, view);\r
/* Events handling */\r
\r
var eventHandlers = {};\r
- \r
- eventHandlers.skelton = {\r
- ready: function() {\r
- sandbox.getModule('skelton').setMainView(mainTabs.getAsView());\r
- \r
- _.each(['visualEditor', 'sourceEditor', 'rng2'], function(moduleName) {\r
- sandbox.getModule(moduleName).start();\r
- });\r
- },\r
- 'cmd.save': function() {\r
- //todo\r
- }\r
- };\r
\r
eventHandlers.sourceEditor = {\r
ready: function() {\r
\r
eventHandlers.data = {\r
ready: function() {\r
- sandbox.getModule('skelton').start();\r
+ mainLayout.setView('mainView', mainTabs.getAsView());\r
+ \r
+ _.each(['visualEditor', 'sourceEditor', 'rng2', 'mainBar', 'indicator'], function(moduleName) {\r
+ sandbox.getModule(moduleName).start();\r
+ });\r
},\r
documentChanged: function(document, reason) {\r
var slug = (reason === 'visual_edit' ? 'source' : 'visual');\r
sandbox.getModule(slug+'Editor').setDocument(document);\r
},\r
savingStarted: function() {\r
- sandbox.getModule('skelton').deactivateCommand('save');\r
- sandbox.getModule('skelton').showMessage(gettext('Saving...'));\r
+ sandbox.getModule('mainBar').setCommandEnabled('save', false);\r
+ sandbox.getModule('indicator').showMessage(gettext('Saving...'));\r
},\r
savingEnded: function(status) {\r
- sandbox.getModule('skelton').activateCommand('save');\r
- sandbox.getModule('skelton').clearMessage();\r
+ sandbox.getModule('mainBar').setCommandEnabled('save', true);\r
+ sandbox.getModule('indicator').clearMessage();\r
}\r
}\r
\r
}\r
}\r
\r
+ eventHandlers.mainBar = {\r
+ ready: function() {\r
+ mainLayout.setView('topPanel', sandbox.getModule('mainBar').getView());\r
+ },\r
+ 'cmd.save': function() {\r
+ sandbox.getModule('data').fakeSave();\r
+ }\r
+ }\r
+ \r
+ eventHandlers.indicator = {\r
+ ready: function() {\r
+ mainLayout.setView('messages', sandbox.getModule('indicator').getView());\r
+ }\r
+ }\r
+ \r
/* api */\r
\r
return {\r