+++ /dev/null
-/**\r
- * editor_plugin_src.js\r
- *\r
- * Copyright 2009, Moxiecode Systems AB\r
- * Released under LGPL License.\r
- *\r
- * License: http://tinymce.moxiecode.com/license\r
- * Contributing: http://tinymce.moxiecode.com/contributing\r
- */\r
-\r
-(function() {\r
- tinymce.create('tinymce.plugins.Save', {\r
- init : function(ed, url) {\r
- var t = this;\r
-\r
- t.editor = ed;\r
-\r
- // Register commands\r
- ed.addCommand('mceSave', t._save, t);\r
- ed.addCommand('mceCancel', t._cancel, t);\r
-\r
- // Register buttons\r
- ed.addButton('save', {title : 'save.save_desc', cmd : 'mceSave'});\r
- ed.addButton('cancel', {title : 'save.cancel_desc', cmd : 'mceCancel'});\r
-\r
- ed.onNodeChange.add(t._nodeChange, t);\r
- ed.addShortcut('ctrl+s', ed.getLang('save.save_desc'), 'mceSave');\r
- },\r
-\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
- // Private methods\r
-\r
- _nodeChange : function(ed, cm, n) {\r
- var ed = this.editor;\r
-\r
- if (ed.getParam('save_enablewhendirty')) {\r
- cm.setDisabled('save', !ed.isDirty());\r
- cm.setDisabled('cancel', !ed.isDirty());\r
- }\r
- },\r
-\r
- // Private methods\r
-\r
- _save : function() {\r
- var ed = this.editor, formObj, os, i, elementId;\r
-\r
- formObj = tinymce.DOM.get(ed.id).form || tinymce.DOM.getParent(ed.id, 'form');\r
-\r
- if (ed.getParam("save_enablewhendirty") && !ed.isDirty())\r
- return;\r
-\r
- tinyMCE.triggerSave();\r
-\r
- // Use callback instead\r
- if (os = ed.getParam("save_onsavecallback")) {\r
- if (ed.execCallback('save_onsavecallback', ed)) {\r
- ed.startContent = tinymce.trim(ed.getContent({format : 'raw'}));\r
- ed.nodeChanged();\r
- }\r
-\r
- return;\r
- }\r
-\r
- if (formObj) {\r
- ed.isNotDirty = true;\r
-\r
- if (formObj.onsubmit == null || formObj.onsubmit() != false)\r
- formObj.submit();\r
-\r
- ed.nodeChanged();\r
- } else\r
- ed.windowManager.alert("Error: No form element found.");\r
- },\r
-\r
- _cancel : function() {\r
- var ed = this.editor, os, h = tinymce.trim(ed.startContent);\r
-\r
- // Use callback instead\r
- if (os = ed.getParam("save_oncancelcallback")) {\r
- ed.execCallback('save_oncancelcallback', ed);\r
- return;\r
- }\r
-\r
- ed.setContent(h);\r
- ed.undoManager.clear();\r
- ed.nodeChanged();\r
- }\r
- });\r
-\r
- // Register plugin\r
- tinymce.PluginManager.add('save', tinymce.plugins.Save);\r
-})();
\ No newline at end of file