JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.6.3
[ckeditor.git] / _source / plugins / save / plugin.js
1 /*\r
2 Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.\r
3 For licensing, see LICENSE.html or http://ckeditor.com/license\r
4 */\r
5 \r
6 /**\r
7  * @fileSave plugin.\r
8  */\r
9 \r
10 (function()\r
11 {\r
12         var saveCmd =\r
13         {\r
14                 modes : { wysiwyg:1, source:1 },\r
15                 readOnly : 1,\r
16 \r
17                 exec : function( editor )\r
18                 {\r
19                         var $form = editor.element.$.form;\r
20 \r
21                         if ( $form )\r
22                         {\r
23                                 try\r
24                                 {\r
25                                         $form.submit();\r
26                                 }\r
27                                 catch( e )\r
28                                 {\r
29                                         // If there's a button named "submit" then the form.submit\r
30                                         // function is masked and can't be called in IE/FF, so we\r
31                                         // call the click() method of that button.\r
32                                         if ( $form.submit.click )\r
33                                                 $form.submit.click();\r
34                                 }\r
35                         }\r
36                 }\r
37         };\r
38 \r
39         var pluginName = 'save';\r
40 \r
41         // Register a plugin named "save".\r
42         CKEDITOR.plugins.add( pluginName,\r
43         {\r
44                 init : function( editor )\r
45                 {\r
46                         var command = editor.addCommand( pluginName, saveCmd );\r
47                         command.modes = { wysiwyg : !!( editor.element.$.form ) };\r
48 \r
49                         editor.ui.addButton( 'Save',\r
50                                 {\r
51                                         label : editor.lang.save,\r
52                                         command : pluginName\r
53                                 });\r
54                 }\r
55         });\r
56 })();\r