src/pyams_skin/resources/js/ext/tinymce/dev/plugins/save/plugin.js
changeset 69 a361355b55c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/save/plugin.js	Wed Jun 17 10:00:10 2015 +0200
@@ -0,0 +1,94 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('save', function(editor) {
+	function save() {
+		var formObj;
+
+		formObj = tinymce.DOM.getParent(editor.id, 'form');
+
+		if (editor.getParam("save_enablewhendirty", true) && !editor.isDirty()) {
+			return;
+		}
+
+		tinymce.triggerSave();
+
+		// Use callback instead
+		if (editor.getParam("save_onsavecallback")) {
+			if (editor.execCallback('save_onsavecallback', editor)) {
+				editor.startContent = tinymce.trim(editor.getContent({format: 'raw'}));
+				editor.nodeChanged();
+			}
+
+			return;
+		}
+
+		if (formObj) {
+			editor.isNotDirty = true;
+
+			if (!formObj.onsubmit || formObj.onsubmit()) {
+				if (typeof formObj.submit == "function") {
+					formObj.submit();
+				} else {
+					editor.windowManager.alert("Error: Form submit field collision.");
+				}
+			}
+
+			editor.nodeChanged();
+		} else {
+			editor.windowManager.alert("Error: No form element found.");
+		}
+	}
+
+	function cancel() {
+		var h = tinymce.trim(editor.startContent);
+
+		// Use callback instead
+		if (editor.getParam("save_oncancelcallback")) {
+			editor.execCallback('save_oncancelcallback', editor);
+			return;
+		}
+
+		editor.setContent(h);
+		editor.undoManager.clear();
+		editor.nodeChanged();
+	}
+
+	function stateToggle() {
+		var self = this;
+
+		editor.on('nodeChange', function() {
+			self.disabled(editor.getParam("save_enablewhendirty", true) && !editor.isDirty());
+		});
+	}
+
+	editor.addCommand('mceSave', save);
+	editor.addCommand('mceCancel', cancel);
+
+	editor.addButton('save', {
+		icon: 'save',
+		text: 'Save',
+		cmd: 'mceSave',
+		disabled: true,
+		onPostRender: stateToggle
+	});
+
+	editor.addButton('cancel', {
+		text: 'Cancel',
+		icon: false,
+		cmd: 'mceCancel',
+		disabled: true,
+		onPostRender: stateToggle
+	});
+
+	editor.addShortcut('Meta+S', '', 'mceSave');
+});