JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.6.1
[ckeditor.git] / _source / plugins / iframe / plugin.js
1 /*\r
2 Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
3 For licensing, see LICENSE.html or http://ckeditor.com/license\r
4 */\r
5 \r
6 (function()\r
7 {\r
8         CKEDITOR.plugins.add( 'iframe',\r
9         {\r
10                 requires : [ 'dialog', 'fakeobjects' ],\r
11                 init : function( editor )\r
12                 {\r
13                         var pluginName = 'iframe',\r
14                                 lang = editor.lang.iframe;\r
15 \r
16                         CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/iframe.js' );\r
17                         editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) );\r
18 \r
19                         editor.addCss(\r
20                                 'img.cke_iframe' +\r
21                                 '{' +\r
22                                         'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/placeholder.png' ) + ');' +\r
23                                         'background-position: center center;' +\r
24                                         'background-repeat: no-repeat;' +\r
25                                         'border: 1px solid #a9a9a9;' +\r
26                                         'width: 80px;' +\r
27                                         'height: 80px;' +\r
28                                 '}'\r
29                         );\r
30 \r
31                         editor.ui.addButton( 'Iframe',\r
32                                 {\r
33                                         label : lang.toolbar,\r
34                                         command : pluginName\r
35                                 });\r
36 \r
37                         editor.on( 'doubleclick', function( evt )\r
38                                 {\r
39                                         var element = evt.data.element;\r
40                                         if ( element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'iframe' )\r
41                                                 evt.data.dialog = 'iframe';\r
42                                 });\r
43 \r
44                         if ( editor.addMenuItems )\r
45                         {\r
46                                 editor.addMenuItems(\r
47                                 {\r
48                                         iframe :\r
49                                         {\r
50                                                 label : lang.title,\r
51                                                 command : 'iframe',\r
52                                                 group : 'image'\r
53                                         }\r
54                                 });\r
55                         }\r
56 \r
57                         // If the "contextmenu" plugin is loaded, register the listeners.\r
58                         if ( editor.contextMenu )\r
59                         {\r
60                                 editor.contextMenu.addListener( function( element, selection )\r
61                                         {\r
62                                                 if ( element && element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'iframe' )\r
63                                                         return { iframe : CKEDITOR.TRISTATE_OFF };\r
64                                         });\r
65                         }\r
66                 },\r
67                 afterInit : function( editor )\r
68                 {\r
69                         var dataProcessor = editor.dataProcessor,\r
70                                 dataFilter = dataProcessor && dataProcessor.dataFilter;\r
71 \r
72                         if ( dataFilter )\r
73                         {\r
74                                 dataFilter.addRules(\r
75                                 {\r
76                                         elements :\r
77                                         {\r
78                                                 iframe : function( element )\r
79                                                 {\r
80                                                         return editor.createFakeParserElement( element, 'cke_iframe', 'iframe', true );\r
81                                                 }\r
82                                         }\r
83                                 });\r
84                         }\r
85                 }\r
86         });\r
87 })();\r