WordPress.org

Make WordPress Core

Ticket #22652: 22652.diff

File 22652.diff, 9.3 KB (added by koopersmith, 5 years ago)
  • wp-admin/includes/meta-boxes.php

     
    10201020                        $thumbnailId.val( thumbnailId );
    10211021
    10221022                        if ( frame ) {
    1023                                 selection = frame.get('library').get('selection');
     1023                                selection = frame.state('library').get('selection');
    10241024
    10251025                                if ( -1 === thumbnailId )
    10261026                                        selection.clear();
     
    10551055
    10561056                        frame = wp.media( options );
    10571057
    1058                         frame.get('library').set( 'filterable', 'uploaded' );
     1058                        frame.state('library').set( 'filterable', 'uploaded' );
    10591059
    10601060                        frame.toolbar.on( 'activate:select', function() {
    10611061                                frame.toolbar.view().set({
  • wp-admin/js/custom-background.js

     
    5757                                });
    5858                        });
    5959
    60                         frame.state('library');
     60                        frame.setState('library');
    6161                });
    6262        });
    6363})(jQuery);
     64 No newline at end of file
  • wp-admin/js/custom-header.js

     
    4040                                });
    4141                        });
    4242
    43                         frame.state('library');
     43                        frame.setState('library');
    4444                });
    4545        });
    4646}(jQuery));
  • wp-includes/js/media-editor.js

     
    393393                                }, this );
    394394                        }, this );
    395395
    396                         workflow.get('gallery-edit').on( 'update', function( selection ) {
     396                        workflow.state('gallery-edit').on( 'update', function( selection ) {
    397397                                this.insert( wp.media.gallery.shortcode( selection ).string() );
    398398                        }, this );
    399399
    400                         workflow.get('embed').on( 'select', function() {
     400                        workflow.state('embed').on( 'select', function() {
    401401                                var embed = workflow.state().toJSON();
    402402
    403403                                embed.url = embed.url || '';
  • wp-includes/js/media-models.js

     
    3131
    3232                delete attributes.frame;
    3333                // Set the default state.
    34                 frame.state( frame.options.state );
     34                frame.setState( frame.options.state );
    3535                // Render, attach, and open the frame.
    3636                return frame.render().attach().open();
    3737        };
  • wp-includes/js/media-views.js

     
    143143        // Add events to the `StateMachine`.
    144144        _.extend( media.controller.StateMachine.prototype, Backbone.Events, {
    145145
    146                 // Fetch a state model.
     146                // Fetch a state.
    147147                //
     148                // If no `id` is provided, returns the active state.
     149                //
    148150                // Implicitly creates states.
    149                 get: function( id ) {
     151                state: function( id ) {
    150152                        // Ensure that the `states` collection exists so the `StateMachine`
    151153                        // can be used as a mixin.
    152154                        this.states = this.states || new Backbone.Collection();
    153155
    154                         if ( ! this.states.get( id ) )
     156                        // Default to the active state.
     157                        id = id || this._state;
     158
     159                        if ( id && ! this.states.get( id ) )
    155160                                this.states.add({ id: id });
    156161                        return this.states.get( id );
    157162                },
    158163
    159                 // Selects or returns the active state.
    160                 //
    161                 // If a `id` is provided, sets that as the current state.
    162                 // If no parameters are provided, returns the current state object.
    163                 state: function( id ) {
    164                         var previous;
     164                // Sets the active state.
     165                setState: function( id ) {
     166                        var previous = this.state();
    165167
    166                         if ( ! id )
    167                                 return this._state ? this.get( this._state ) : null;
    168 
    169                         previous = this.state();
    170 
    171168                        // Bail if we're trying to select the current state, if we haven't
    172169                        // created the `states` collection, or are trying to select a state
    173170                        // that does not exist.
     
    176173
    177174                        if ( previous ) {
    178175                                previous.trigger('deactivate');
    179                                 this._previous = previous.id;
     176                                this._lastState = previous.id;
    180177                        }
    181178
    182179                        this._state = id;
    183180                        this.state().trigger('activate');
    184181                },
    185182
    186                 previous: function() {
    187                         return this._previous;
     183                // Returns the previous active state.
     184                //
     185                // Call the `state()` method with no parameters to retrieve the current
     186                // active state.
     187                lastState: function() {
     188                        if ( this._lastState )
     189                                return this.state( this._lastState );
    188190                }
    189191        });
    190192
     
    427429                                previous = this.previous('excludeState');
    428430
    429431                        if ( previous )
    430                                 this.frame.get( previous ).off( 'change:library', this._excludeStateLibrary, this );
     432                                this.frame.state( previous ).off( 'change:library', this._excludeStateLibrary, this );
    431433
    432434                        if ( current )
    433                                 this.frame.get( current ).on( 'change:library', this._excludeStateLibrary, this );
     435                                this.frame.state( current ).on( 'change:library', this._excludeStateLibrary, this );
    434436                },
    435437
    436438                _excludeStateLibrary: function() {
     
    439441                        if ( ! current )
    440442                                return;
    441443
    442                         this.set( 'exclude', this.frame.get( current ).get('library') );
     444                        this.set( 'exclude', this.frame.state( current ).get('library') );
    443445                }
    444446        });
    445447
     
    474476                uploading: function( attachment ) {
    475477                        var library = this.get('libraryState');
    476478
    477                         this.frame.get( library ).get('selection').add( attachment );
    478                         this.frame.state( library );
     479                        this.frame.state( library ).get('selection').add( attachment );
     480                        this.frame.setState( library );
    479481                }
    480482        });
    481483
     
    11191121
    11201122                        // Generate the tab states.
    11211123                        _.each( tabs, function( title, id ) {
    1122                                 var frame = this.get( 'iframe:' + id ).set( _.defaults({
     1124                                var frame = this.state( 'iframe:' + id ).set( _.defaults({
    11231125                                        tab:     id,
    11241126                                        src:     tabUrl + '&tab=' + id,
    11251127                                        title:   title,
     
    11461148
    11471149                        _.each( media.view.settings.tabs, function( title, id ) {
    11481150                                views[ 'iframe:' + id ] = {
    1149                                         text: this.get( 'iframe:' + id ).get('title'),
     1151                                        text: this.state( 'iframe:' + id ).get('title'),
    11501152                                        priority: 200
    11511153                                };
    11521154                        }, this );
     
    11641166                        window.tb_remove = function() {
    11651167                                frame.close();
    11661168                                frame.reset();
    1167                                 frame.state( frame.options.state );
     1169                                frame.setState( frame.options.state );
    11681170                                frame._tb_remove.call( window );
    11691171                        };
    11701172                },
     
    13191321                                                        controller.state().trigger( options.event );
    13201322                                                        controller.reset();
    13211323                                                        if ( options.state )
    1322                                                                 controller.state( options.state );
     1324                                                                controller.setState( options.state );
    13231325                                                }
    13241326                                        }
    13251327                                }
     
    14491451                },
    14501452
    14511453                galleryMenu: function() {
    1452                         var previous = this.previous(),
     1454                        var lastState = this.lastState(),
     1455                                previous = lastState && lastState.id,
    14531456                                frame = this;
    14541457
    14551458                        this.menu.view( new media.view.Menu({
     
    14601463                                                priority: 20,
    14611464                                                click:    function() {
    14621465                                                        if ( previous )
    1463                                                                 frame.state( previous );
     1466                                                                frame.setState( previous );
    14641467                                                        else
    14651468                                                                frame.close();
    14661469                                                }
     
    15781581
    15791582                                                        controller.reset();
    15801583                                                        // @todo: Make the state activated dynamic (instead of hardcoded).
    1581                                                         controller.state('upload');
     1584                                                        controller.setState('upload');
    15821585                                                }
    15831586                                        }
    15841587                                }
     
    15971600                                                click: function() {
    15981601                                                        var controller = this.controller,
    15991602                                                                state = controller.state(),
    1600                                                                 edit = controller.get('gallery-edit');
     1603                                                                edit = controller.state('gallery-edit');
    16011604
    16021605                                                        edit.get('library').add( state.get('selection').models );
    16031606                                                        state.trigger('reset');
     
    20662069                                controller.reset();
    20672070
    20682071                        if ( options.state )
    2069                                 controller.state( options.state );
     2072                                controller.setState( options.state );
    20702073                }
    20712074        });
    20722075
     
    21022105                                return function() {
    21032106                                        var controller = this.controller,
    21042107                                                selection = controller.state().get('selection'),
    2105                                                 edit = controller.get( state ),
     2108                                                edit = controller.state( state ),
    21062109                                                models = filter ? filter( selection ) : selection.models;
    21072110
    21082111                                        edit.set( 'library', new media.model.Selection( models, {
     
    21102113                                                multiple: true
    21112114                                        }) );
    21122115
    2113                                         this.controller.state( state );
     2116                                        this.controller.setState( state );
    21142117                                };
    21152118                        };
    21162119
     
    23752378                        if ( options.click )
    23762379                                options.click.call( this );
    23772380                        else if ( options.state )
    2378                                 this.controller.state( options.state );
     2381                                this.controller.setState( options.state );
    23792382                },
    23802383
    23812384                render: function() {
  • wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js

     
    2828
    2929                                frame = gallery.edit( '[' + ed.dom.getAttrib( el, 'title' ) + ']' );
    3030
    31                                 frame.get('gallery-edit').on( 'update', function( selection ) {
     31                                frame.state('gallery-edit').on( 'update', function( selection ) {
    3232                                        var shortcode = gallery.shortcode( selection ).string().slice( 1, -1 );
    3333                                        ed.dom.setAttrib( el, 'title', shortcode );
    3434                                });
     
    4949                                        });
    5050                                }
    5151                        });
    52                        
     52
    5353                        ed.onMouseDown.add(function(ed, e) {
    5454                                if ( e.target.nodeName == 'IMG' && ed.dom.hasClass(e.target, 'wpGallery') ) {
    5555                                        ed.plugins.wordpress._hideButtons();