summaryrefslogtreecommitdiff
path: root/_source/plugins/flash/plugin.js
diff options
context:
space:
mode:
Diffstat (limited to '_source/plugins/flash/plugin.js')
-rw-r--r--_source/plugins/flash/plugin.js338
1 files changed, 173 insertions, 165 deletions
diff --git a/_source/plugins/flash/plugin.js b/_source/plugins/flash/plugin.js
index 41814e3..f6d9c99 100644
--- a/_source/plugins/flash/plugin.js
+++ b/_source/plugins/flash/plugin.js
@@ -1,165 +1,173 @@
-/*
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function()
-{
- var flashFilenameRegex = /\.swf(?:$|\?)/i,
- numberRegex = /^\d+(?:\.\d+)?$/;
-
- function cssifyLength( length )
- {
- if ( numberRegex.test( length ) )
- return length + 'px';
- return length;
- }
-
- function isFlashEmbed( element )
- {
- var attributes = element.attributes;
-
- return ( attributes.type == 'application/x-shockwave-flash' || flashFilenameRegex.test( attributes.src || '' ) );
- }
-
- function createFakeElement( editor, realElement )
- {
- var fakeElement = editor.createFakeParserElement( realElement, 'cke_flash', 'flash', true ),
- fakeStyle = fakeElement.attributes.style || '';
-
- var width = realElement.attributes.width,
- height = realElement.attributes.height;
-
- if ( typeof width != 'undefined' )
- fakeStyle = fakeElement.attributes.style = fakeStyle + 'width:' + cssifyLength( width ) + ';';
-
- if ( typeof height != 'undefined' )
- fakeStyle = fakeElement.attributes.style = fakeStyle + 'height:' + cssifyLength( height ) + ';';
-
- return fakeElement;
- }
-
- CKEDITOR.plugins.add( 'flash',
- {
- init : function( editor )
- {
- editor.addCommand( 'flash', new CKEDITOR.dialogCommand( 'flash' ) );
- editor.ui.addButton( 'Flash',
- {
- label : editor.lang.common.flash,
- command : 'flash'
- });
- CKEDITOR.dialog.add( 'flash', this.path + 'dialogs/flash.js' );
-
- editor.addCss(
- 'img.cke_flash' +
- '{' +
- '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;' +
- '}'
- );
-
- // If the "menu" plugin is loaded, register the menu items.
- if ( editor.addMenuItems )
- {
- editor.addMenuItems(
- {
- flash :
- {
- label : editor.lang.flash.properties,
- command : 'flash',
- group : 'flash'
- }
- });
- }
-
- // If the "contextmenu" plugin is loaded, register the listeners.
- if ( editor.contextMenu )
- {
- editor.contextMenu.addListener( function( element, selection )
- {
- if ( element && element.is( 'img' ) && element.getAttribute( '_cke_real_element_type' ) == 'flash' )
- return { flash : CKEDITOR.TRISTATE_OFF };
- });
- }
- },
-
- afterInit : function( editor )
- {
- var dataProcessor = editor.dataProcessor,
- dataFilter = dataProcessor && dataProcessor.dataFilter;
-
- if ( dataFilter )
- {
- dataFilter.addRules(
- {
- elements :
- {
- 'cke:object' : function( element )
- {
- var attributes = element.attributes,
- classId = attributes.classid && String( attributes.classid ).toLowerCase();
-
- if ( !classId )
- {
- // Look for the inner <embed>
- for ( var i = 0 ; i < element.children.length ; i++ )
- {
- if ( element.children[ i ].name == 'cke:embed' )
- {
- if ( !isFlashEmbed( element.children[ i ] ) )
- return null;
-
- return createFakeElement( editor, element );
- }
- }
- return null;
- }
-
- return createFakeElement( editor, element );
- },
-
- 'cke:embed' : function( element )
- {
- if ( !isFlashEmbed( element ) )
- return null;
-
- return createFakeElement( editor, element );
- }
- }
- },
- 5);
- }
- },
-
- requires : [ 'fakeobjects' ]
- });
-})();
-
-CKEDITOR.tools.extend( CKEDITOR.config,
-{
- /**
- * Save as EMBED tag only. This tag is unrecommended.
- * @type Boolean
- * @default false
- */
- flashEmbedTagOnly : false,
-
- /**
- * Add EMBED tag as alternative: &lt;object&gt&lt;embed&gt&lt;/embed&gt&lt;/object&gt
- * @type Boolean
- * @default false
- */
- flashAddEmbedTag : true,
-
- /**
- * Use embedTagOnly and addEmbedTag values on edit.
- * @type Boolean
- * @default false
- */
- flashConvertOnEdit : false
-} );
+/*
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+(function()
+{
+ var flashFilenameRegex = /\.swf(?:$|\?)/i,
+ numberRegex = /^\d+(?:\.\d+)?$/;
+
+ function cssifyLength( length )
+ {
+ if ( numberRegex.test( length ) )
+ return length + 'px';
+ return length;
+ }
+
+ function isFlashEmbed( element )
+ {
+ var attributes = element.attributes;
+
+ return ( attributes.type == 'application/x-shockwave-flash' || flashFilenameRegex.test( attributes.src || '' ) );
+ }
+
+ function createFakeElement( editor, realElement )
+ {
+ var fakeElement = editor.createFakeParserElement( realElement, 'cke_flash', 'flash', true ),
+ fakeStyle = fakeElement.attributes.style || '';
+
+ var width = realElement.attributes.width,
+ height = realElement.attributes.height;
+
+ if ( typeof width != 'undefined' )
+ fakeStyle = fakeElement.attributes.style = fakeStyle + 'width:' + cssifyLength( width ) + ';';
+
+ if ( typeof height != 'undefined' )
+ fakeStyle = fakeElement.attributes.style = fakeStyle + 'height:' + cssifyLength( height ) + ';';
+
+ return fakeElement;
+ }
+
+ CKEDITOR.plugins.add( 'flash',
+ {
+ init : function( editor )
+ {
+ editor.addCommand( 'flash', new CKEDITOR.dialogCommand( 'flash' ) );
+ editor.ui.addButton( 'Flash',
+ {
+ label : editor.lang.common.flash,
+ command : 'flash'
+ });
+ CKEDITOR.dialog.add( 'flash', this.path + 'dialogs/flash.js' );
+
+ editor.addCss(
+ 'img.cke_flash' +
+ '{' +
+ '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;' +
+ '}'
+ );
+
+ // If the "menu" plugin is loaded, register the menu items.
+ if ( editor.addMenuItems )
+ {
+ editor.addMenuItems(
+ {
+ flash :
+ {
+ label : editor.lang.flash.properties,
+ command : 'flash',
+ group : 'flash'
+ }
+ });
+ }
+
+ editor.on( 'doubleclick', function( evt )
+ {
+ var element = evt.data.element;
+
+ if ( element.is( 'img' ) && element.getAttribute( '_cke_real_element_type' ) == 'flash' )
+ evt.data.dialog = 'flash';
+ });
+
+ // If the "contextmenu" plugin is loaded, register the listeners.
+ if ( editor.contextMenu )
+ {
+ editor.contextMenu.addListener( function( element, selection )
+ {
+ if ( element && element.is( 'img' ) && element.getAttribute( '_cke_real_element_type' ) == 'flash' )
+ return { flash : CKEDITOR.TRISTATE_OFF };
+ });
+ }
+ },
+
+ afterInit : function( editor )
+ {
+ var dataProcessor = editor.dataProcessor,
+ dataFilter = dataProcessor && dataProcessor.dataFilter;
+
+ if ( dataFilter )
+ {
+ dataFilter.addRules(
+ {
+ elements :
+ {
+ 'cke:object' : function( element )
+ {
+ var attributes = element.attributes,
+ classId = attributes.classid && String( attributes.classid ).toLowerCase();
+
+ if ( !classId )
+ {
+ // Look for the inner <embed>
+ for ( var i = 0 ; i < element.children.length ; i++ )
+ {
+ if ( element.children[ i ].name == 'cke:embed' )
+ {
+ if ( !isFlashEmbed( element.children[ i ] ) )
+ return null;
+
+ return createFakeElement( editor, element );
+ }
+ }
+ return null;
+ }
+
+ return createFakeElement( editor, element );
+ },
+
+ 'cke:embed' : function( element )
+ {
+ if ( !isFlashEmbed( element ) )
+ return null;
+
+ return createFakeElement( editor, element );
+ }
+ }
+ },
+ 5);
+ }
+ },
+
+ requires : [ 'fakeobjects' ]
+ });
+})();
+
+CKEDITOR.tools.extend( CKEDITOR.config,
+{
+ /**
+ * Save as EMBED tag only. This tag is unrecommended.
+ * @type Boolean
+ * @default false
+ */
+ flashEmbedTagOnly : false,
+
+ /**
+ * Add EMBED tag as alternative: &lt;object&gt&lt;embed&gt&lt;/embed&gt&lt;/object&gt
+ * @type Boolean
+ * @default false
+ */
+ flashAddEmbedTag : true,
+
+ /**
+ * Use embedTagOnly and addEmbedTag values on edit.
+ * @type Boolean
+ * @default false
+ */
+ flashConvertOnEdit : false
+} );