2 Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
\r
3 For licensing, see LICENSE.html or http://ckeditor.com/license
\r
8 function createFakeElement( editor, realElement )
\r
10 var fakeElement = editor.createFakeParserElement( realElement, 'cke_iframe', 'iframe', true ),
\r
11 fakeStyle = fakeElement.attributes.style || '';
\r
13 var width = realElement.attributes.width,
\r
14 height = realElement.attributes.height;
\r
16 if ( typeof width != 'undefined' )
\r
17 fakeStyle += 'width:' + CKEDITOR.tools.cssLength( width ) + ';';
\r
19 if ( typeof height != 'undefined' )
\r
20 fakeStyle += 'height:' + CKEDITOR.tools.cssLength( height ) + ';';
\r
22 fakeElement.attributes.style = fakeStyle;
\r
27 CKEDITOR.plugins.add( 'iframe',
\r
29 requires : [ 'dialog', 'fakeobjects' ],
\r
30 init : function( editor )
\r
32 var pluginName = 'iframe',
\r
33 lang = editor.lang.iframe;
\r
35 CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/iframe.js' );
\r
36 editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) );
\r
41 'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/placeholder.png' ) + ');' +
\r
42 'background-position: center center;' +
\r
43 'background-repeat: no-repeat;' +
\r
44 'border: 1px solid #a9a9a9;' +
\r
50 editor.ui.addButton( 'Iframe',
\r
52 label : lang.toolbar,
\r
53 command : pluginName
\r
56 editor.on( 'doubleclick', function( evt )
\r
58 var element = evt.data.element;
\r
59 if ( element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'iframe' )
\r
60 evt.data.dialog = 'iframe';
\r
63 if ( editor.addMenuItems )
\r
65 editor.addMenuItems(
\r
76 // If the "contextmenu" plugin is loaded, register the listeners.
\r
77 if ( editor.contextMenu )
\r
79 editor.contextMenu.addListener( function( element, selection )
\r
81 if ( element && element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'iframe' )
\r
82 return { iframe : CKEDITOR.TRISTATE_OFF };
\r
86 afterInit : function( editor )
\r
88 var dataProcessor = editor.dataProcessor,
\r
89 dataFilter = dataProcessor && dataProcessor.dataFilter;
\r
93 dataFilter.addRules(
\r
97 iframe : function( element )
\r
99 return createFakeElement( editor, element );
\r