WordPress.org

Make WordPress Core

Ticket #38947: 38947.2.patch

File 38947.2.patch, 3.5 KB (added by nikeo, 4 years ago)

better indentation with tabs

  • src/wp-includes/js/customize-base.js

    diff --git a/src/wp-includes/js/customize-base.js b/src/wp-includes/js/customize-base.js
    index a1528de4f..94dc25c6e 100644
    a b window.wp = window.wp || {}; 
    203203                 * Set the value and trigger all bound callbacks.
    204204                 *
    205205                 * @param {object} to New value.
     206     * @param {object} set of optional arguments when setting the value
    206207                 */
    207                 set: function( to ) {
    208                         var from = this._value;
     208                set: function( to, args ) {
     209                        var from = this._value, self = this;
    209210
    210211                        to = this._setter.apply( this, arguments );
    211212                        to = this.validate( to );
     213                        args = _.extend( { silent : false }, _.isObject( args ) ? args : {} );
    212214
    213215                        // Bail if the sanitized value is null or unchanged.
    214216                        if ( null === to || _.isEqual( from, to ) ) {
    window.wp = window.wp || {}; 
    217219
    218220                        this._value = to;
    219221                        this._dirty = true;
     222                        if ( args.silent ) {
     223                          return this;
     224                        }
    220225
    221226                        this.callbacks.fireWith( this, [ to, from ] );
     227                        if ( this.topics ) {
     228                          _.each( self.topics, function( _cbs ){
     229                                                _cbs.fireWith( self, [ to, from ] );
     230                          });
     231                        }
    222232
    223233                        return this;
    224234                },
    window.wp = window.wp || {}; 
    247257                },
    248258
    249259                /**
    250                  * Bind a function to be invoked whenever the value changes.
     260                 * Trigger the bound callbacks of a specific topic, or trigger the anonymous callbacks
    251261                 *
     262                 * @param {string} the topic id
     263                 * @param {to} the optional new value
     264                 * @param {from} the optional previous value
     265                 */
     266                trigger: function( id, to, from ) {
     267                        to = to || this();
     268                        from = from || this();
     269                        if ( this.topics && this.topics[ id ] ) {
     270                          this.topics[ id ].fireWith( this, [ to, from ] );
     271                        } else {
     272                          this.callbacks.fireWith( this, [ to, from ] );
     273                        }
     274                        return this;
     275                },
     276
     277                /**
     278                 * Bind a function to be invoked whenever the value changes.
     279                 * @param {string} the optional id of the callbacks topic
    252280                 * @param {...Function} A function, or multiple functions, to add to the callback stack.
    253281                 */
    254                 bind: function() {
    255                         this.callbacks.add.apply( this.callbacks, arguments );
     282                bind: function( id ) {
     283                        if ( _.isFunction( id ) ) {
     284                          this.callbacks.add.apply( this.callbacks, arguments );
     285                        } else {
     286                          this.topics = this.topics || {};
     287                          this.topics[ id ] = this.topics[ id ] || $.Callbacks();
     288                          this.topics[ id ].add.apply( this.topics[ id ], slice.call( arguments, 1 ) );
     289                        }
    256290                        return this;
    257291                },
    258292
    259293                /**
    260294                 * Unbind a previously bound function.
    261295                 *
     296                 * @param {string} the optional id of the callbacks topic
    262297                 * @param {...Function} A function, or multiple functions, to remove from the callback stack.
    263298                 */
    264                 unbind: function() {
    265                         this.callbacks.remove.apply( this.callbacks, arguments );
     299                unbind: function( id ) {
     300                        if ( _.isFunction( id ) ) {
     301                          this.callbacks.remove.apply( this.callbacks, arguments );
     302                        } else if ( this.topics && this.topics[ id ] ) {
     303                          this.topics[ id ].remove.apply( this.topics[ id ], slice.call( arguments, 1 ) );
     304                        }
     305                        return this;
     306                },
     307
     308                /**
     309                 * Unbind all previously bound function of a callbacks topic if specified
     310                 * Or unbind all functions if no topic is specified
     311                 *
     312                 * @param {string} optional topic id
     313                 */
     314                unbindAll: function( id ) {
     315                        if ( this.topics && this.topics[ id ] ) {
     316                          this.topics[ id ] = $.Callbacks();
     317                        } else if ( this.topics ) {
     318                          this.topics = {};
     319                        } else {
     320                          this.callbacks = $.Callbacks();
     321                        }
    266322                        return this;
    267323                },
    268324