WordPress.org

Make WordPress Core

Ticket #31634: 31634.patch

File 31634.patch, 3.6 KB (added by sagarprajapati, 3 years ago)
  • src/wp-admin/includes/class-wp-list-table.php

     
    470470
    471471                echo "</select>\n";
    472472
    473                 submit_button( __( 'Apply' ), 'action', '', false, array( 'id' => "doaction$two" ) );
     473                submit_button( __( 'Apply' ), 'action', '', false, array( 'id' => "doaction$two", 'disabled' => 'disabled' ) );
    474474                echo "\n";
    475475        }
    476476
  • src/wp-admin/js/common.js

     
    204204                        adminbar: $adminbar.height(),
    205205                        menu: $adminMenuWrap.height()
    206206                },
    207                 $headerEnd = $( '.wp-header-end' );
     207                $headerEnd = $( '.wp-header-end' ),
     208                listTable = $( '.wp-list-table' ).closest( 'form' ),
     209                doActions = listTable.find( '#doaction, #doaction2' );
     210                actions = listTable.find( '#bulk-action-selector-top, #bulk-action-selector-bottom' );
    208211
    209212
    210213        // when the menu is folded, make the fly-out submenu header clickable
     
    416419
    417420        // Init screen meta
    418421        screenMeta.init();
     422       
     423        /**
     424         * Enable and Disable Apply button in wp-list
     425         *
     426         * @param {jQuery.Event} e
     427         */
     428        function setApplyButton( e ) {
     429               
     430                if ( ( 'SELECT' === e.target.tagName && e.target.value == -1 ) ) {
     431                        doActions.prop( 'disabled', true );
     432            return
     433        }
     434               
     435                var checkedLength = listTable.find( 'table tbody .check-column input[type="checkbox"]:checked' ).length;
     436               
     437                if( checkedLength && $( '#bulk-action-selector-top' ).val() != -1) {
     438                        doActions.prop( 'disabled', false );
     439                } else {
     440                        doActions.prop( 'disabled', true );
     441                }
     442               
     443        }
     444       
     445        // This event needs to be delegated. Ticket #31634
     446        $body.on( 'click', '.cancel', function( event ) {
     447                setApplyButton( event );
     448        });
     449       
     450        // This event needs to be delegated. Ticket #31634
     451        $body.on( 'change', '#bulk-action-selector-top, #bulk-action-selector-bottom', function( event ) {
     452                actions.not( this ).val( this.value );
     453                setApplyButton( event );
     454        });
    419455
    420456        // This event needs to be delegated. Ticket #37973.
    421457        $body.on( 'click', 'tbody > tr > .check-column :checkbox', function( event ) {
     
    444480                $(this).closest('table').children('thead, tfoot').find(':checkbox').prop('checked', function() {
    445481                        return ( 0 === unchecked.length );
    446482                });
     483               
     484                setApplyButton( event );
    447485
    448486                return true;
    449487        });
     
    482520
    483521                                return false;
    484522                        });
     523               
     524                setApplyButton( event );
     525               
    485526        });
    486527
    487528        // Show row actions on keyboard focus of its parent container element or any other elements contained within
  • src/wp-admin/js/inline-edit-post.js

     
    6262
    6363                $('select[name="_status"] option[value="future"]', bulkRow).remove();
    6464
    65                 $('#doaction, #doaction2').click(function(e){
     65                $( '#doaction, #doaction2' ).click(function(e){
    6666                        var n;
    6767
    6868                        t.whichBulkButtonId = $( this ).attr( 'id' );
    6969                        n = t.whichBulkButtonId.substr( 2 );
    7070
    7171                        if ( 'edit' === $( 'select[name="' + n + '"]' ).val() ) {
     72                                $( '#doaction, #doaction2' ).prop( 'disabled', true );
    7273                                e.preventDefault();
    7374                                t.setBulk();
    74                         } else if ( $('form#posts-filter tr.inline-editor').length > 0 ) {
     75                        } else if ( $( 'form#posts-filter tr.inline-editor' ).length > 0 ) {
    7576                                t.revert();
    7677                        }
    7778                });
     
    316317                        }
    317318                }
    318319
    319                 return false;
    320320        },
    321321
    322322        getId : function(o) {