Visual editor: leaking scope fix
[fnpeditor.git] / modules / rng.js
index 4e0ca6e..6068d4d 100644 (file)
@@ -1,12 +1,15 @@
-rng.modules.rng = function(sandbox) {\r
+define(function() {\r
 \r
+return function(sandbox) {\r
+    'use strict';\r
+    \r
     function addTab(title, slug, view) {\r
         sandbox.getModule('tabsManager').addTab(title, slug, view);\r
     }\r
     \r
     /* Events handling */\r
     \r
-    eventHandlers = {};\r
+    var eventHandlers = {};\r
     \r
     eventHandlers.skelton = {\r
         ready: function() {\r
@@ -41,20 +44,25 @@ rng.modules.rng = function(sandbox) {
                     editor.setDirty(false);\r
                 }\r
             }\r
+        },\r
+        showed: function(slug) {\r
+            if(slug === 'visual')\r
+                sandbox.getModule('visualEditor').onShowed();\r
         }\r
     };\r
     \r
     eventHandlers.sourceEditor = {\r
         ready: function() {\r
-            addTab('Source', 'source',  sandbox.getModule('sourceEditor').getView());\r
+            addTab(gettext('Source'), 'source',  sandbox.getModule('sourceEditor').getView());\r
             sandbox.getModule('sourceEditor').setDocument(sandbox.getModule('data').getDocument());\r
         }\r
     };\r
     \r
     eventHandlers.visualEditor = {\r
         ready: function() {\r
-            addTab('Visual', 'visual', sandbox.getModule('visualEditor').getView());\r
             sandbox.getModule('visualEditor').setDocument(sandbox.getModule('data').getDocument());\r
+            addTab(gettext('Visual'), 'visual', sandbox.getModule('visualEditor').getView());\r
+            \r
         }\r
     };\r
     \r
@@ -65,6 +73,14 @@ rng.modules.rng = function(sandbox) {
         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
+        },\r
+        savingEnded: function(status) {\r
+            sandbox.getModule('skelton').activateCommand('save');\r
+            sandbox.getModule('skelton').clearMessage();\r
         }\r
     }\r
     \r
@@ -81,4 +97,6 @@ rng.modules.rng = function(sandbox) {
             }\r
         }\r
     }\r
-};
\ No newline at end of file
+};\r
+\r
+});
\ No newline at end of file