Ticket #3229: 3229.patch

File 3229.patch, 2.0 KB (added by Garry Yao, 11 years ago)
  • _source/plugins/flash/dialogs/flash.js

     
    286286                                        editor.insertElement( newFakeImage );
    287287                                }
    288288                        },
     289                       
     290                        onHide : function()
     291                        {
     292                                if ( this.preview )
     293                                        this.preview.setHtml('');
     294                        },
     295                       
    289296                        contents : [
    290297                                {
    291298                                        id : 'info',
     
    317324                                                                                        commit : commitValue,
    318325                                                                                        onLoad : function()
    319326                                                                                        {
    320                                                                                                 var dialog = this.getDialog();
    321                                                                                                 var previewElement = dialog.getContentElement( 'info', 'preview' ).getElement().getChild( 3 );
    322                                                                                                 this.getInputElement().on( 'change', function()
    323                                                                                                         {
    324                                                                                                                 previewElement.setHtml( '<embed height="100%" width="100%" src="'
    325                                                                                                                                 + CKEDITOR.tools.htmlEncode( this.getValue() )
    326                                                                                                                                 + '" type="application/x-shockwave-flash"></embed>' );
     327                                                                                                var dialog = this.getDialog(),
     328                                                                                                updatePreview = function( src ){
     329                                                                                                       
     330                                                                                                        dialog.preview.setHtml( '<embed height="100%" width="100%" src="'
     331                                                                                                                + CKEDITOR.tools.htmlEncode( src )
     332                                                                                                                + '" type="application/x-shockwave-flash"></embed>' );
     333                                                                                                };
     334                                                                                                // Preview element
     335                                                                                                dialog.preview = dialog.getContentElement( 'info', 'preview' ).getElement().getChild( 3 );
     336                                                                                               
     337                                                                                                // Sync on inital value loaded.
     338                                                                                                this.on( 'change', function( evt ){
     339                                                                                                       
     340                                                                                                                if ( evt.data && evt.data.value )
     341                                                                                                                        updatePreview( evt.data.value );
    327342                                                                                                        } );
     343                                                                                                // Sync when input value changed.
     344                                                                                                this.getInputElement().on( 'change', function( evt ){
     345                                                                                                       
     346                                                                                                        updatePreview( this.getValue() );
     347                                                                                                }, this );
    328348                                                                                        }
    329349                                                                                },
    330350                                                                                {
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy