summaryrefslogtreecommitdiff
path: root/_source/plugins/save/plugin.js
diff options
context:
space:
mode:
Diffstat (limited to '_source/plugins/save/plugin.js')
-rw-r--r--_source/plugins/save/plugin.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/_source/plugins/save/plugin.js b/_source/plugins/save/plugin.js
new file mode 100644
index 0000000..a44ae00
--- /dev/null
+++ b/_source/plugins/save/plugin.js
@@ -0,0 +1,55 @@
+/*
+Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+/**
+ * @fileSave plugin.
+ */
+
+(function()
+{
+ var saveCmd =
+ {
+ modes : { wysiwyg:1, source:1 },
+
+ exec : function( editor )
+ {
+ var $form = editor.element.$.form;
+
+ if ( $form )
+ {
+ try
+ {
+ $form.submit();
+ }
+ catch( e )
+ {
+ // If there's a button named "submit" then the form.submit
+ // function is masked and can't be called in IE/FF, so we
+ // call the click() method of that button.
+ if ( $form.submit.click )
+ $form.submit.click();
+ }
+ }
+ }
+ };
+
+ var pluginName = 'save';
+
+ // Register a plugin named "save".
+ CKEDITOR.plugins.add( pluginName,
+ {
+ init : function( editor )
+ {
+ var command = editor.addCommand( pluginName, saveCmd );
+ command.modes = { wysiwyg : !!( editor.element.$.form ) };
+
+ editor.ui.addButton( 'Save',
+ {
+ label : editor.lang.save,
+ command : pluginName
+ });
+ }
+ });
+})();