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