WordPress.org

Make WordPress Core

Changeset 7176


Ignore:
Timestamp:
03/06/08 23:01:22 (7 years ago)
Author:
ryan
Message:

Make cancel mean cancel. Props mdawaffe. see #5886

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/js/widgets.js

    r7130 r7176  
    55 
    66    // Open or close widget control form 
    7     var toggleWidget = function( li ) { 
     7    var toggleWidget = function( li, disableFields ) { 
    88        var width = li.find('input.widget-width').val(); 
    99 
     
    1212            var t = $(this); 
    1313            if ( t.is(':visible') ) { 
     14                if ( disableFields ) { t.find( ':enabled' ).not( '[name="widget-id[]"]' ).attr( 'disabled', 'disabled' ); } 
    1415                li.css( 'marginLeft', 0 ); 
    1516                t.siblings('h4').children('a').text( widgetsL10n.edit ); 
    1617            } else { 
     18                t.find( ':disabled' ).attr( 'disabled', '' ); // always enable on open 
    1719                if ( width > 250 ) 
    1820                    li.css( 'marginLeft', ( width - 250 ) * -1 ); 
     
    2426 
    2527            if ( t.is(':visible') ) { 
     28                if ( disableFields ) { t.find( ':enabled' ).not( '[name="widget-id[]"]' ).attr( 'disabled', 'disabled' ); } 
    2629                if ( width > 250 ) 
    2730                    li.animate( { marginLeft: 0 } ); 
    2831                t.siblings('h4').children('a').text( widgetsL10n.edit ); 
    2932            } else { 
     33                t.find( ':disabled' ).attr( 'disabled', '' ); // always enable on open 
    3034                if ( width > 250 ) 
    3135                    li.animate( { marginLeft: ( width - 250 ) * -1 } ); 
     
    3842    }; 
    3943 
    40     // onclick for edit links 
     44    // onclick for edit/cancel links 
    4145    var editClick = function() { 
    4246        var q = wpAjax.unserialize( this.href ); 
     
    4448        if ( ( q.sidebar && q.sidebar == $('#sidebar').val() ) || q.add ) { 
    4549            var w = q.edit || q.add; 
    46             toggleWidget( $('#current-sidebar .widget-control-list input[@name^="widget-id"][@value=' + w + ']').parents('li:first') ).blur(); 
     50            toggleWidget( $('#current-sidebar .widget-control-list input[@name^="widget-id"][@value=' + w + ']').parents('li:first'), false ).blur(); 
    4751            return false; 
    4852        } else if ( q.sidebar ) { // otherwise, redirect to correct page 
     
    5155 
    5256        // If link is in current widgets list, just open the form 
    53         toggleWidget( $(this).parents('li:first') ).blur(); 
     57        toggleWidget( $(this).parents('li:first'), true ).blur(); 
    5458        return false; 
    5559    }; 
     
    9397        // onclick for save links 
    9498        $('a.widget-control-save', context).click( function() { 
    95             toggleWidget( $(this).parents('li:first') ).blur() 
     99            toggleWidget( $(this).parents('li:first'), false ).blur() 
    96100            return false; 
    97101        } ); 
  • trunk/wp-includes/script-loader.php

    r7173 r7176  
    173173                'confirmText' => __("Are you sure you want to delete the file '%title%'?\nClick ok to delete or cancel to go back.") 
    174174            ) ); 
    175             $this->add( 'admin-widgets', '/wp-admin/js/widgets.js', array( 'interface' ), '20080109' ); 
     175            $this->add( 'admin-widgets', '/wp-admin/js/widgets.js', array( 'interface' ), '20080305' ); 
    176176            $this->localize( 'admin-widgets', 'widgetsL10n', array( 
    177177                'add' => __('Add'), 
  • trunk/wp-includes/widgets.php

    r7130 r7176  
    609609            if ( 'wp_widget_text' == $wp_registered_widgets[$_widget_id]['callback'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number']) ) { 
    610610                $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number']; 
    611                 unset($options[$widget_number]); 
     611                if ( !in_array( "text-$widget_number", $_POST['widget-id'] ) ) // the widget has been removed. 
     612                    unset($options[$widget_number]); 
    612613            } 
    613614        } 
     
    744745            if ( 'wp_widget_categories' == $wp_registered_widgets[$_widget_id]['callback'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number']) ) { 
    745746                $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number']; 
    746                 unset($options[$widget_number]); 
     747                if ( !in_array( "categories-$widget_number", $_POST['widget-id'] ) ) // the widget has been removed. 
     748                    unset($options[$widget_number]); 
    747749            } 
    748750        } 
     
    11631165            if ( 'wp_widget_rss' == $wp_registered_widgets[$_widget_id]['callback'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number']) ) { 
    11641166                $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number']; 
    1165                 unset($options[$widget_number]); 
     1167                if ( !in_array( "rss-$widget_number", $_POST['widget-id'] ) ) // the widget has been removed. 
     1168                    unset($options[$widget_number]); 
    11661169            } 
    11671170        } 
     
    14511454            if ( 'widget_many' == $wp_registered_widgets[$_widget_id]['callback'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number']) ) { 
    14521455                $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number']; 
    1453                 unset($options[$widget_number]); 
     1456                if ( !in_array( "many-$widget_number", $_POST['widget-id'] ) ) // the widget has been removed. "many-$widget_number" is "{id_base}-{widget_number} 
     1457                    unset($options[$widget_number]); 
    14541458            } 
    14551459        } 
Note: See TracChangeset for help on using the changeset viewer.