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