+++ /dev/null
-/*\r
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
-For licensing, see LICENSE.html or http://ckeditor.com/license\r
-*/\r
-\r
-/**\r
- * @file Image plugin\r
- */\r
-\r
-(function()\r
-{\r
-\r
-CKEDITOR.plugins.add( 'image',\r
-{\r
- requires: [ 'dialog' ],\r
-\r
- init : function( editor )\r
- {\r
- var pluginName = 'image';\r
-\r
- // Register the dialog.\r
- CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/image.js' );\r
-\r
- // Register the command.\r
- editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) );\r
-\r
- // Register the toolbar button.\r
- editor.ui.addButton( 'Image',\r
- {\r
- label : editor.lang.common.image,\r
- command : pluginName\r
- });\r
-\r
- editor.on( 'doubleclick', function( evt )\r
- {\r
- var element = evt.data.element;\r
-\r
- if ( element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() )\r
- evt.data.dialog = 'image';\r
- });\r
-\r
- // If the "menu" plugin is loaded, register the menu items.\r
- if ( editor.addMenuItems )\r
- {\r
- editor.addMenuItems(\r
- {\r
- image :\r
- {\r
- label : editor.lang.image.menu,\r
- command : 'image',\r
- group : 'image'\r
- }\r
- });\r
- }\r
-\r
- // If the "contextmenu" plugin is loaded, register the listeners.\r
- if ( editor.contextMenu )\r
- {\r
- editor.contextMenu.addListener( function( element, selection )\r
- {\r
- if ( getSelectedImage( editor, element ) )\r
- return { image : CKEDITOR.TRISTATE_OFF };\r
- });\r
- }\r
- },\r
- afterInit : function( editor )\r
- {\r
- // Customize the behavior of the alignment commands. (#7430)\r
- setupAlignCommand( 'left' );\r
- setupAlignCommand( 'right' );\r
- setupAlignCommand( 'center' );\r
- setupAlignCommand( 'block' );\r
-\r
- function setupAlignCommand( value )\r
- {\r
- var command = editor.getCommand( 'justify' + value );\r
- if ( command )\r
- {\r
- if ( value == 'left' || value == 'right' )\r
- {\r
- command.on( 'exec', function( evt )\r
- {\r
- var img = getSelectedImage( editor ), align;\r
- if ( img )\r
- {\r
- align = getImageAlignment( img );\r
- if ( align == value )\r
- {\r
- img.removeStyle( 'float' );\r
-\r
- // Remove "align" attribute when necessary.\r
- if ( value == getImageAlignment( img ) )\r
- img.removeAttribute( 'align' );\r
- }\r
- else\r
- img.setStyle( 'float', value );\r
-\r
- evt.cancel();\r
- }\r
- });\r
- }\r
-\r
- command.on( 'refresh', function( evt )\r
- {\r
- var img = getSelectedImage( editor ), align;\r
- if ( img )\r
- {\r
- align = getImageAlignment( img );\r
-\r
- this.setState(\r
- ( align == value ) ? CKEDITOR.TRISTATE_ON :\r
- ( value == 'right' || value == 'left' ) ? CKEDITOR.TRISTATE_OFF :\r
- CKEDITOR.TRISTATE_DISABLED );\r
-\r
- evt.cancel();\r
- }\r
- });\r
- }\r
- }\r
- }\r
-});\r
-\r
-function getSelectedImage( editor, element )\r
-{\r
- if ( !element )\r
- {\r
- var sel = editor.getSelection();\r
- element = ( sel.getType() == CKEDITOR.SELECTION_ELEMENT ) && sel.getSelectedElement();\r
- }\r
-\r
- if ( element && element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() )\r
- return element;\r
-}\r
-\r
-function getImageAlignment( element )\r
-{\r
- var align = element.getStyle( 'float' );\r
-\r
- if ( align == 'inherit' || align == 'none' )\r
- align = 0;\r
-\r
- if ( !align )\r
- align = element.getAttribute( 'align' );\r
-\r
- return align;\r
-}\r
-\r
-})();\r
-\r
-/**\r
- * Whether to remove links when emptying the link URL field in the image dialog.\r
- * @type Boolean\r
- * @default true\r
- * @example\r
- * config.image_removeLinkByEmptyURL = false;\r
- */\r
-CKEDITOR.config.image_removeLinkByEmptyURL = true;\r
-\r
-/**\r
- * Padding text to set off the image in preview area.\r
- * @name CKEDITOR.config.image_previewText\r
- * @type String\r
- * @default "Lorem ipsum dolor..." placehoder text.\r
- * @example\r
- * config.image_previewText = CKEDITOR.tools.repeat( '___ ', 100 );\r
- */\r