X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fflash%2Fdialogs%2Fflash.js;h=861cc34daa7f26014f812d3a250c83da9541c9e8;hb=e371ddf8abcb89013e20e6d0dd746adec344d0e5;hp=2359b1b986785263a8cc742cd9ae46d97f80a5ca;hpb=ea7e3453c7b0f023b050aca6d9f83ab372860d91;p=ckeditor.git diff --git a/_source/plugins/flash/dialogs/flash.js b/_source/plugins/flash/dialogs/flash.js index 2359b1b..861cc34 100644 --- a/_source/plugins/flash/dialogs/flash.js +++ b/_source/plugins/flash/dialogs/flash.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -24,7 +24,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var attributesMap = { - id : [ { type : ATTRTYPE_OBJECT, name : CKEDITOR.env.ie ? '_cke_saved_id' : 'id' } ], + id : [ { type : ATTRTYPE_OBJECT, name : 'id' } ], classid : [ { type : ATTRTYPE_OBJECT, name : 'classid' } ], codebase : [ { type : ATTRTYPE_OBJECT, name : 'codebase'} ], pluginspage : [ { type : ATTRTYPE_EMBED, name : 'pluginspage' } ], @@ -173,9 +173,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var makeObjectTag = !editor.config.flashEmbedTagOnly, makeEmbedTag = editor.config.flashAddEmbedTag || editor.config.flashEmbedTagOnly; - var previewAreaHtml = '
' + CKEDITOR.tools.htmlEncode( editor.lang.image.preview ) +'
' + - '' + - '
'; + var previewPreloader, + previewAreaHtml = '
' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'
' + + '' + + '
'; return { title : editor.lang.flash.title, @@ -185,6 +186,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { // Clear previously saved elements. this.fakeImage = this.objectNode = this.embedNode = null; + previewPreloader = new CKEDITOR.dom.element( 'embed', editor.document ); // Try to detect any embed or object tag that has Flash parameters. var fakeImage = this.getSelectedElement(); @@ -263,15 +265,21 @@ For licensing, see LICENSE.html or http://ckeditor.com/license paramMap[ paramList.getItem( i ).getAttribute( 'name' ) ] = paramList.getItem( i ); } - // Apply or remove flash parameters. - var extraStyles = {}; - this.commitContent( objectNode, embedNode, paramMap, extraStyles ); + // A subset of the specified attributes/styles + // should also be applied on the fake element to + // have better visual effect. (#5240) + var extraStyles = {}, extraAttributes = {}; + this.commitContent( objectNode, embedNode, paramMap, extraStyles, extraAttributes ); // Refresh the fake image. var newFakeImage = editor.createFakeElement( objectNode || embedNode, 'cke_flash', 'flash', true ); + newFakeImage.setAttributes( extraAttributes ); newFakeImage.setStyles( extraStyles ); if ( this.fakeImage ) + { newFakeImage.replace( this.fakeImage ); + editor.getSelection().selectElement( newFakeImage ); + } else editor.insertElement( newFakeImage ); }, @@ -295,10 +303,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license children : [ { - type : 'html', - html : '' + CKEDITOR.tools.htmlEncode( editor.lang.image.url ) + '' - }, - { type : 'hbox', widths : [ '280px', '110px' ], align : 'right', @@ -307,7 +311,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { id : 'src', type : 'text', - label : '', + label : editor.lang.common.url, + required : true, validate : CKEDITOR.dialog.validate.notEmpty( editor.lang.flash.validateSrc ), setup : loadValue, commit : commitValue, @@ -315,9 +320,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { var dialog = this.getDialog(), updatePreview = function( src ){ - + // Query the preloader to figure out the url impacted by based href. + previewPreloader.setAttribute( 'src', src ); dialog.preview.setHtml( '' ); }; // Preview element @@ -341,7 +347,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license id : 'browse', filebrowser : 'info:src', hidden : true, - align : 'center', + // v-align with the 'src' field. + // TODO: We need something better than a fixed size here. + style : 'display:inline-block;margin-top:10px;', label : editor.lang.common.browseServer } ] @@ -556,18 +564,23 @@ For licensing, see LICENSE.html or http://ckeditor.com/license items : [ [ editor.lang.common.notSet , ''], - [ editor.lang.image.alignLeft , 'left'], - [ editor.lang.image.alignAbsBottom , 'absBottom'], - [ editor.lang.image.alignAbsMiddle , 'absMiddle'], - [ editor.lang.image.alignBaseline , 'baseline'], - [ editor.lang.image.alignBottom , 'bottom'], - [ editor.lang.image.alignMiddle , 'middle'], - [ editor.lang.image.alignRight , 'right'], - [ editor.lang.image.alignTextTop , 'textTop'], - [ editor.lang.image.alignTop , 'top'] + [ editor.lang.flash.alignLeft , 'left'], + [ editor.lang.flash.alignAbsBottom , 'absBottom'], + [ editor.lang.flash.alignAbsMiddle , 'absMiddle'], + [ editor.lang.flash.alignBaseline , 'baseline'], + [ editor.lang.flash.alignBottom , 'bottom'], + [ editor.lang.flash.alignMiddle , 'middle'], + [ editor.lang.flash.alignRight , 'right'], + [ editor.lang.flash.alignTextTop , 'textTop'], + [ editor.lang.flash.alignTop , 'top'] ], setup : loadValue, - commit : commitValue + commit : function( objectNode, embedNode, paramMap, extraStyles, extraAttributes ) + { + var value = this.getValue(); + commitValue.apply( this, arguments ); + value && ( extraAttributes.align = value ); + } }, { type : 'html', @@ -576,45 +589,48 @@ For licensing, see LICENSE.html or http://ckeditor.com/license ] }, { - type : 'vbox', - padding : 0, + type : 'fieldset', + label : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ), children : [ { - type : 'html', - html : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ) - }, - { - type : 'checkbox', - id : 'menu', - label : editor.lang.flash.chkMenu, - 'default' : true, - setup : loadValue, - commit : commitValue - }, - { - type : 'checkbox', - id : 'play', - label : editor.lang.flash.chkPlay, - 'default' : true, - setup : loadValue, - commit : commitValue - }, - { - type : 'checkbox', - id : 'loop', - label : editor.lang.flash.chkLoop, - 'default' : true, - setup : loadValue, - commit : commitValue - }, - { - type : 'checkbox', - id : 'allowFullScreen', - label : editor.lang.flash.chkFull, - 'default' : true, - setup : loadValue, - commit : commitValue + type : 'vbox', + padding : 0, + children : + [ + { + type : 'checkbox', + id : 'menu', + label : editor.lang.flash.chkMenu, + 'default' : true, + setup : loadValue, + commit : commitValue + }, + { + type : 'checkbox', + id : 'play', + label : editor.lang.flash.chkPlay, + 'default' : true, + setup : loadValue, + commit : commitValue + }, + { + type : 'checkbox', + id : 'loop', + label : editor.lang.flash.chkLoop, + 'default' : true, + setup : loadValue, + commit : commitValue + }, + { + type : 'checkbox', + id : 'allowFullScreen', + label : editor.lang.flash.chkFull, + 'default' : true, + setup : loadValue, + commit : commitValue + } + ] } ] }