adicionando arquivos de media (incluindo o editor tiny mce (LGPL)
[cascardo/eventmanager.git] / media / tiny_mce / plugins / save / editor_plugin_src.js
diff --git a/media/tiny_mce/plugins/save/editor_plugin_src.js b/media/tiny_mce/plugins/save/editor_plugin_src.js
new file mode 100755 (executable)
index 0000000..7ad469a
--- /dev/null
@@ -0,0 +1,152 @@
+/**\r
+ * $Id: editor_plugin_src.js 251 2007-04-10 20:16:15Z spocke $\r
+ *\r
+ * @author Moxiecode\r
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.\r
+ */\r
+\r
+/* Import plugin specific language pack */\r
+tinyMCE.importPluginLanguagePack('save');\r
+\r
+var TinyMCE_SavePlugin = {\r
+       getInfo : function() {\r
+               return {\r
+                       longname : 'Save',\r
+                       author : 'Moxiecode Systems AB',\r
+                       authorurl : 'http://tinymce.moxiecode.com',\r
+                       infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',\r
+                       version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion\r
+               };\r
+       },\r
+\r
+       initInstance : function(inst) {\r
+               inst.addShortcut('ctrl', 's', 'lang_save_desc', 'mceSave');\r
+       },\r
+\r
+       /**\r
+        * Returns the HTML contents of the save control.\r
+        */\r
+       getControlHTML : function(cn) {\r
+               switch (cn) {\r
+                       case "save":\r
+                               return tinyMCE.getButtonHTML(cn, 'lang_save_desc', '{$pluginurl}/images/save.gif', 'mceSave');\r
+\r
+                       case "cancel":\r
+                               return tinyMCE.getButtonHTML(cn, 'lang_cancel_desc', '{$pluginurl}/images/cancel.gif', 'mceCancel');\r
+               }\r
+\r
+               return "";\r
+       },\r
+\r
+       /**\r
+        * Executes the save command.\r
+        */\r
+       execCommand : function(editor_id, element, command, user_interface, value) {\r
+               // Handle commands\r
+               switch (command) {\r
+                       case "mceSave":\r
+                               return this._save(editor_id, element, command, user_interface, value);\r
+\r
+                       case "mceCancel":\r
+                               return this._cancel(editor_id, element, command, user_interface, value);\r
+               }\r
+\r
+               // Pass to next handler in chain\r
+               return false;\r
+       },\r
+\r
+       _save : function(editor_id, element, command, user_interface, value) {\r
+               var inst, formObj, os, i, elementId;\r
+\r
+               if (tinyMCE.getParam("fullscreen_is_enabled"))\r
+                       return true;\r
+\r
+               inst = tinyMCE.selectedInstance;\r
+               formObj = inst.formElement.form;\r
+\r
+               if (tinyMCE.getParam("save_enablewhendirty") && !inst.isDirty())\r
+                       return true;\r
+\r
+               if (formObj) {\r
+                       tinyMCE.triggerSave();\r
+\r
+                       // Use callback instead\r
+                       if ((os = tinyMCE.getParam("save_onsavecallback"))) {\r
+                               if (eval(os + '(inst);')) {\r
+                                       inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);\r
+                                       /*inst.undoLevels = new Array();\r
+                                       inst.undoIndex = 0;\r
+                                       inst.typingUndoIndex = -1;\r
+                                       inst.undoRedo = true;\r
+                                       inst.undoLevels[inst.undoLevels.length] = inst.startContent;*/\r
+                                       tinyMCE.triggerNodeChange(false, true);\r
+                               }\r
+\r
+                               return true;\r
+                       }\r
+\r
+                       // Disable all UI form elements that TinyMCE created\r
+                       for (i=0; i<formObj.elements.length; i++) {\r
+                               elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id;\r
+\r
+                               if (elementId.indexOf('mce_editor_') == 0)\r
+                                       formObj.elements[i].disabled = true;\r
+                       }\r
+\r
+                       inst.isNotDirty = true;\r
+\r
+                       if (formObj.onsubmit == null || formObj.onsubmit() != false)\r
+                               inst.formElement.form.submit();\r
+\r
+                       tinyMCE.triggerNodeChange(false, true);\r
+               } else\r
+                       alert("Error: No form element found.");\r
+\r
+               return true;\r
+       },\r
+\r
+       _cancel : function(editor_id, element, command, user_interface, value) {\r
+               var inst = tinyMCE.getInstanceById(editor_id), os, h = tinyMCE.trim(inst.startContent);\r
+\r
+               // Use callback instead\r
+               if ((os = tinyMCE.getParam("save_oncancelcallback"))) {\r
+                       if (eval(os + '(inst);'))\r
+                               return true;\r
+               }\r
+\r
+               inst.setHTML(h);\r
+\r
+               inst.undoRedo.undoLevels = [];\r
+               inst.undoRedo.add({ content : h });\r
+               inst.undoRedo.undoIndex = 0;\r
+               inst.undoRedo.typingUndoIndex = -1;\r
+\r
+               tinyMCE.triggerNodeChange(false, true);\r
+\r
+               return true;\r
+       },\r
+\r
+       handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {\r
+               var inst;\r
+\r
+               if (tinyMCE.getParam("fullscreen_is_enabled")) {\r
+                       tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');\r
+                       return true;\r
+               }\r
+\r
+               if (tinyMCE.getParam("save_enablewhendirty")) {\r
+                       inst = tinyMCE.getInstanceById(editor_id);\r
+\r
+                       if (inst.isDirty()) {\r
+                               tinyMCE.switchClass(editor_id + '_save', 'mceButtonNormal');\r
+                               return true;\r
+                       }\r
+\r
+                       tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');\r
+               }\r
+\r
+               return true;\r
+       }\r
+};\r
+\r
+tinyMCE.addPlugin("save", TinyMCE_SavePlugin);\r