summaryrefslogtreecommitdiff
path: root/program/js/tiny_mce/plugins/save
diff options
context:
space:
mode:
authortill <till@php.net>2011-11-02 15:14:32 +0000
committertill <till@php.net>2011-11-02 15:14:32 +0000
commit4dd50a41ee477806745a05772d5abbf16d23db89 (patch)
tree3d65607d946f0eaecb468b8a21d40f147bc87fda /program/js/tiny_mce/plugins/save
parentd6284b4d22d1e6912b01228b7d2a63e9fecbc5fb (diff)
fix path/structure (my bad)
Diffstat (limited to 'program/js/tiny_mce/plugins/save')
-rw-r--r--program/js/tiny_mce/plugins/save/editor_plugin.js1
-rw-r--r--program/js/tiny_mce/plugins/save/editor_plugin_src.js101
2 files changed, 102 insertions, 0 deletions
diff --git a/program/js/tiny_mce/plugins/save/editor_plugin.js b/program/js/tiny_mce/plugins/save/editor_plugin.js
new file mode 100644
index 000000000..8e9399667
--- /dev/null
+++ b/program/js/tiny_mce/plugins/save/editor_plugin.js
@@ -0,0 +1 @@
+(function(){tinymce.create("tinymce.plugins.Save",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceSave",c._save,c);a.addCommand("mceCancel",c._cancel,c);a.addButton("save",{title:"save.save_desc",cmd:"mceSave"});a.addButton("cancel",{title:"save.cancel_desc",cmd:"mceCancel"});a.onNodeChange.add(c._nodeChange,c);a.addShortcut("ctrl+s",a.getLang("save.save_desc"),"mceSave")},getInfo:function(){return{longname:"Save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,c){var b=this.editor;if(b.getParam("save_enablewhendirty")){a.setDisabled("save",!b.isDirty());a.setDisabled("cancel",!b.isDirty())}},_save:function(){var c=this.editor,a,e,d,b;a=tinymce.DOM.get(c.id).form||tinymce.DOM.getParent(c.id,"form");if(c.getParam("save_enablewhendirty")&&!c.isDirty()){return}tinyMCE.triggerSave();if(e=c.getParam("save_onsavecallback")){if(c.execCallback("save_onsavecallback",c)){c.startContent=tinymce.trim(c.getContent({format:"raw"}));c.nodeChanged()}return}if(a){c.isNotDirty=true;if(a.onsubmit==null||a.onsubmit()!=false){a.submit()}c.nodeChanged()}else{c.windowManager.alert("Error: No form element found.")}},_cancel:function(){var a=this.editor,c,b=tinymce.trim(a.startContent);if(c=a.getParam("save_oncancelcallback")){a.execCallback("save_oncancelcallback",a);return}a.setContent(b);a.undoManager.clear();a.nodeChanged()}});tinymce.PluginManager.add("save",tinymce.plugins.Save)})(); \ No newline at end of file
diff --git a/program/js/tiny_mce/plugins/save/editor_plugin_src.js b/program/js/tiny_mce/plugins/save/editor_plugin_src.js
new file mode 100644
index 000000000..f5a3de8f5
--- /dev/null
+++ b/program/js/tiny_mce/plugins/save/editor_plugin_src.js
@@ -0,0 +1,101 @@
+/**
+ * editor_plugin_src.js
+ *
+ * Copyright 2009, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://tinymce.moxiecode.com/license
+ * Contributing: http://tinymce.moxiecode.com/contributing
+ */
+
+(function() {
+ tinymce.create('tinymce.plugins.Save', {
+ init : function(ed, url) {
+ var t = this;
+
+ t.editor = ed;
+
+ // Register commands
+ ed.addCommand('mceSave', t._save, t);
+ ed.addCommand('mceCancel', t._cancel, t);
+
+ // Register buttons
+ ed.addButton('save', {title : 'save.save_desc', cmd : 'mceSave'});
+ ed.addButton('cancel', {title : 'save.cancel_desc', cmd : 'mceCancel'});
+
+ ed.onNodeChange.add(t._nodeChange, t);
+ ed.addShortcut('ctrl+s', ed.getLang('save.save_desc'), 'mceSave');
+ },
+
+ getInfo : function() {
+ return {
+ longname : 'Save',
+ author : 'Moxiecode Systems AB',
+ authorurl : 'http://tinymce.moxiecode.com',
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
+ };
+ },
+
+ // Private methods
+
+ _nodeChange : function(ed, cm, n) {
+ var ed = this.editor;
+
+ if (ed.getParam('save_enablewhendirty')) {
+ cm.setDisabled('save', !ed.isDirty());
+ cm.setDisabled('cancel', !ed.isDirty());
+ }
+ },
+
+ // Private methods
+
+ _save : function() {
+ var ed = this.editor, formObj, os, i, elementId;
+
+ formObj = tinymce.DOM.get(ed.id).form || tinymce.DOM.getParent(ed.id, 'form');
+
+ if (ed.getParam("save_enablewhendirty") && !ed.isDirty())
+ return;
+
+ tinyMCE.triggerSave();
+
+ // Use callback instead
+ if (os = ed.getParam("save_onsavecallback")) {
+ if (ed.execCallback('save_onsavecallback', ed)) {
+ ed.startContent = tinymce.trim(ed.getContent({format : 'raw'}));
+ ed.nodeChanged();
+ }
+
+ return;
+ }
+
+ if (formObj) {
+ ed.isNotDirty = true;
+
+ if (formObj.onsubmit == null || formObj.onsubmit() != false)
+ formObj.submit();
+
+ ed.nodeChanged();
+ } else
+ ed.windowManager.alert("Error: No form element found.");
+ },
+
+ _cancel : function() {
+ var ed = this.editor, os, h = tinymce.trim(ed.startContent);
+
+ // Use callback instead
+ if (os = ed.getParam("save_oncancelcallback")) {
+ ed.execCallback('save_oncancelcallback', ed);
+ return;
+ }
+
+ ed.setContent(h);
+ ed.undoManager.clear();
+ ed.nodeChanged();
+ }
+ });
+
+ // Register plugin
+ tinymce.PluginManager.add('save', tinymce.plugins.Save);
+})(); \ No newline at end of file