X-Git-Url: https://scm.cri.ensmp.fr/git/ckeditor.git/blobdiff_plain/256592bf803e851aa7fc953e08a6e9e58d970f8c..871bad8291b6dbc29d489d95d185458caab25158:/skins/ckeditor/_source/plugins/iframe/plugin.js diff --git a/skins/ckeditor/_source/plugins/iframe/plugin.js b/skins/ckeditor/_source/plugins/iframe/plugin.js new file mode 100644 index 0000000..6c21a32 --- /dev/null +++ b/skins/ckeditor/_source/plugins/iframe/plugin.js @@ -0,0 +1,87 @@ +/* +Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +(function() +{ + CKEDITOR.plugins.add( 'iframe', + { + requires : [ 'dialog', 'fakeobjects' ], + init : function( editor ) + { + var pluginName = 'iframe', + lang = editor.lang.iframe; + + CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/iframe.js' ); + editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) ); + + editor.addCss( + 'img.cke_iframe' + + '{' + + 'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/placeholder.png' ) + ');' + + 'background-position: center center;' + + 'background-repeat: no-repeat;' + + 'border: 1px solid #a9a9a9;' + + 'width: 80px;' + + 'height: 80px;' + + '}' + ); + + editor.ui.addButton( 'Iframe', + { + label : lang.toolbar, + command : pluginName + }); + + editor.on( 'doubleclick', function( evt ) + { + var element = evt.data.element; + if ( element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'iframe' ) + evt.data.dialog = 'iframe'; + }); + + if ( editor.addMenuItems ) + { + editor.addMenuItems( + { + iframe : + { + label : lang.title, + command : 'iframe', + group : 'image' + } + }); + } + + // If the "contextmenu" plugin is loaded, register the listeners. + if ( editor.contextMenu ) + { + editor.contextMenu.addListener( function( element, selection ) + { + if ( element && element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'iframe' ) + return { iframe : CKEDITOR.TRISTATE_OFF }; + }); + } + }, + afterInit : function( editor ) + { + var dataProcessor = editor.dataProcessor, + dataFilter = dataProcessor && dataProcessor.dataFilter; + + if ( dataFilter ) + { + dataFilter.addRules( + { + elements : + { + iframe : function( element ) + { + return editor.createFakeParserElement( element, 'cke_iframe', 'iframe', true ); + } + } + }); + } + } + }); +})();