Ticket #6137: 6137_2.patch

File 6137_2.patch, 5.0 KB (added by Garry Yao, 9 years ago)
  • _source/plugins/dialogui/plugin.js

     
    6161
    6262                reset : function()
    6363                {
    64                         this.setValue( this.getInitValue() );
     64                        // Suppress 'change' event during resetting.
     65                        this.setValue( this.getInitValue(), true );
    6566                },
    6667
    6768                setInitValue : function()
     
    10611062                                setValue : function( value )
    10621063                                {
    10631064                                        !value && ( value = '' );
    1064                                         return CKEDITOR.ui.dialog.uiElement.prototype.setValue.call( this, value );
     1065                                        return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply( this, arguments );
    10651066                                },
    10661067
    10671068                                keyboardFocusable : true
     
    11561157                                 * Sets the state of the checkbox.
    11571158                                 * @example
    11581159                                 * @param {Boolean} true to tick the checkbox, false to untick it.
     1160                                 * @param {Boolean} noChangeEvent Internal commit, to supress 'change' event on this element.
    11591161                                 */
    1160                                 setValue : function( checked )
     1162                                setValue : function( checked, noChangeEvent )
    11611163                                {
    11621164                                        this.getInputElement().$.checked = checked;
    1163                                         this.fire( 'change', { value : checked } );
     1165                                        !noChangeEvent && this.fire( 'change', { value : checked } );
    11641166                                },
    11651167
    11661168                                /**
     
    12221224                                 * Checks one of the radio buttons in this button group.
    12231225                                 * @example
    12241226                                 * @param {String} value The value of the button to be chcked.
     1227                                 * @param {Boolean} noChangeEvent Internal commit, to supress 'change' event on this element.
    12251228                                 */
    1226                                 setValue : function( value )
     1229                                setValue : function( value, noChangeEvent )
    12271230                                {
    12281231                                        var children = this._.children,
    12291232                                                item;
    12301233                                        for ( var i = 0 ; ( i < children.length ) && ( item = children[i] ) ; i++ )
    12311234                                                item.getElement().$.checked = ( item.getValue() == value );
    1232                                         this.fire( 'change', { value : value } );
     1235                                        !noChangeEvent && this.fire( 'change', { value : value } );
    12331236                                },
    12341237
    12351238                                /**
  • _source/plugins/dialog/plugin.js

     
    23542354                /**
    23552355                 * Sets the value of this dialog UI object.
    23562356                 * @param {Object} value The new value.
     2357                 * @param {Boolean} noChangeEvent Internal commit, to supress 'change' event on this element.
    23572358                 * @returns {CKEDITOR.dialog.uiElement} The current UI element.
    23582359                 * @example
    23592360                 * uiElement.setValue( 'Dingo' );
    23602361                 */
    2361                 setValue : function( value )
     2362                setValue : function( value, noChangeEvent )
    23622363                {
    23632364                        this.getInputElement().setValue( value );
    2364                         this.fire( 'change', { value : value } );
     2365                        !noChangeEvent && this.fire( 'change', { value : value } );
    23652366                        return this;
    23662367                },
    23672368
  • _source/plugins/table/dialogs/table.js

     
    3232
    3333                        onLoad : function()
    3434                        {
    35                                 var dialog = this,
    36                                         isUpdating;
     35                                var dialog = this;
    3736
    3837                                var styles = dialog.getContentElement( 'advanced', 'advStyles' );
    3938
     
    4140                                {
    4241                                        styles.on( 'change', function( evt )
    4342                                                {
    44                                                         if ( isUpdating )
    45                                                                 return;
    46 
    47                                                         // Flag to avoid recursion.
    48                                                         isUpdating = 1;
    49 
    5043                                                        // Synchronize width value.
    5144                                                        var width = this.getStyle( 'width', '' ),
    5245                                                                txtWidth = dialog.getContentElement( 'info', 'txtWidth' ),
     
    5952                                                                width = parseInt( width, 10 );
    6053                                                        }
    6154
    62                                                         txtWidth && txtWidth.setValue( width );
    63                                                         cmbWidthType && cmbWidthType.setValue( isPx ? 'pixels' : 'percents' );
     55                                                        txtWidth && txtWidth.setValue( width, true );
     56                                                        cmbWidthType && cmbWidthType.setValue( isPx ? 'pixels' : 'percents', true );
    6457
    6558                                                        // Synchronize height value.
    6659                                                        var height = this.getStyle( 'height', '' ),
    6760                                                                txtHeight = dialog.getContentElement( 'info', 'txtHeight' );
    6861
    6962                                                        height && ( height = parseInt( height, 10 ) );
    70                                                         txtHeight && txtHeight.setValue( height );
    71 
    72                                                         isUpdating = 0;
     63                                                        txtHeight && txtHeight.setValue( height, true );
    7364                                                });
    7465                                }
    7566                        },
  • _source/plugins/dialogadvtab/plugin.js

     
    4343        }
    4444}
    4545
    46 var isUpdating;
    47 
    4846CKEDITOR.plugins.add( 'dialogadvtab',
    4947{
    5048        /**
     
    144142
    145143                                                updateStyle : function( name, value )
    146144                                                {
    147                                                         if ( isUpdating )
    148                                                                 return;
    149 
    150                                                         // Flag to avoid recursion.
    151                                                         isUpdating = 1;
    152 
    153145                                                        var styles = this.getValue();
    154146
    155147                                                        // Remove the current value.
     
    167159                                                                styles += name + ': ' + value;
    168160                                                        }
    169161
    170                                                         this.setValue( styles );
     162                                                        this.setValue( styles, true );
    171163
    172                                                         isUpdating = 0;
    173164                                                },
    174165
    175166                                                setup : setupAdvParams,
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy