WordPress.org

Make WordPress Core

Changeset 10916


Ignore:
Timestamp:
04/13/2009 01:17:59 AM (9 years ago)
Author:
azaozz
Message:

Resizing and animation for widgets, see #9511

Location:
trunk/wp-admin
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/css/colors-classic.css

    r10912 r10916  
    15731573    border-color: #DDDDDD;
    15741574}
     1575
     1576.sidebar-name:hover {
     1577    color: #d54e21;
     1578}
     1579
  • trunk/wp-admin/css/colors-fresh.css

    r10912 r10916  
    15751575    border-color: #DDDDDD;
    15761576}
     1577
     1578.sidebar-name:hover {
     1579    color: #d54e21;
     1580}
     1581
  • trunk/wp-admin/css/widgets.css

    r10912 r10916  
    2020    width: 300px;
    2121    margin: 15px 0 18px;
     22    position: relative;
    2223}
    2324
     
    9192
    9293.widget .widget-inside {
    93     margin: 15px;
     94    padding: 15px;
    9495    font-size: 11px;
    9596    display: none;
  • trunk/wp-admin/includes/widgets.php

    r10913 r10916  
    178178    $widget_number = isset($control['params'][0]['number']) ? $control['params'][0]['number'] : '';
    179179    $id_base = isset($control['id_base']) ? $control['id_base'] : $widget_id;
     180    $multi_number = isset($sidebar_args['_multi_num']) ? $sidebar_args['_multi_num'] : '';
     181    $add_new = isset($sidebar_args['_add']) ? $sidebar_args['_add'] : '';
    180182
    181183    // We aren't showing a widget control, we're outputing a template for a mult-widget control
     
    186188        if ( isset($control['id_base']) )
    187189            $id_format = $control['id_base'] . '-__i__';
    188 
    189         $multi_number = $sidebar_args['_multi_num'];
    190190    }
    191191
     
    216216            <input type="hidden" name="widget-id" class="widget-id" value="<?php echo $id_format; ?>" />
    217217            <input type="hidden" name="id_base" class="id_base" value="<?php echo $id_base; ?>" />
    218             <input type="hidden" name="widget-width" value="<?php echo $control['width']; ?>" />
    219             <input type="hidden" name="widget-height" value="<?php echo $control['height']; ?>" />
     218            <input type="hidden" name="widget-width" class="widget-width" value="<?php echo $control['width']; ?>" />
     219            <input type="hidden" name="widget-height" class="widget-height" value="<?php echo $control['height']; ?>" />
    220220            <input type="hidden" name="widget_number" class="widget_number" value="<?php echo $widget_number; ?>" />
    221 <?php
    222             if ( isset($multi_number) )
    223                 echo "\t\t\t<input type='hidden' name='multi_number' class='multi_number' value='$multi_number' />\n";
    224                
    225             if ( isset($sidebar_args['_add']) )
    226                 echo "\t\t\t<input type='hidden' name='add_new' class='add_new' value='" . $sidebar_args['_add'] . "' />\n"; ?>
     221            <input type="hidden" name="multi_number" class="multi_number" value="<?php echo $multi_number; ?>" />
     222            <input type="hidden" name="add_new" class="add_new" value="<?php echo $add_new; ?>" />
    227223
    228224            <div class="widget-control-actions">
  • trunk/wp-admin/js/widgets.dev.js

    r10912 r10916  
    2121            handle: '.widget-title',
    2222            distance: 2,
    23             tolerance: 'pointer',
    24         //  forcePlaceholderSize: true,
    2523            helper: 'clone',
     24            zIndex: 5,
    2625            start: function() {
    2726                wpWidgets.fixWebkit(1);
     
    4241            cursor: 'move',
    4342            distance: 2,
    44             tolerance: 'pointer',
    45         //  forcePlaceholderSize: true,
    46         //  helper: 'clone',
    4743            opacity: 0.65,
    4844            start: function(e,ui) {
    4945                wpWidgets.fixWebkit(1);
     46                ui.item.find('.widget-inside').hide();
     47                ui.item.css({'marginLeft':'','width':''});
    5048            },
    5149            stop: function(e,ui) {
    5250                var add = ui.item.find('input.add_new').val(), n = ui.item.find('input.multi_number').val(), id = ui.item.attr('id'), sb = $(this).parent().attr('id');
     51                ui.item.css({'marginLeft':'','width':''});
    5352
    54                 if ( add ) {
     53                if ( add && n ) {
    5554                    if ( 'multi' == add ) {
    5655                        ui.item.html( ui.item.html().replace(/<[^<>]+>/g, function(m){ return m.replace(/__i__/g, n); }) );
     
    9392    save : function(data, sb, del, t) {
    9493        var a;
    95         sb = sb || '';
     94
    9695        $('#' + sb + ' .ajax-feedback').css('visibility', 'visible');
    9796
     
    123122                }
    124123            } else {
    125                 $(t).parents('.widget-inside').hide();
     124                $(t).parents('.widget-inside').hide('fast');
    126125            }
    127126        });
     
    131130        n = n ? 'none' : '';
    132131        $('body').css({
    133           WebkitUserSelect: n,
    134           KhtmlUserSelect: n
     132            WebkitUserSelect: n,
     133            KhtmlUserSelect: n
    135134        });
    136135    },
     
    139138        sc = sc || document;
    140139        $('a.widget-action', sc).click(function(){
    141             $(this).parents('.widget-top').siblings('.widget-inside').toggle();
     140            var w = parseInt( $(this).parents('.widget').find('.widget-width').val(), 10 ), css = {}, inside = $(this).parents('.widget-top').siblings('.widget-inside');
     141            if ( inside.is(':hidden') ) {
     142                if ( w > 270 && inside.parents('.widgets-sortables').length ) {
     143                    css['width'] = w + 30 + 'px';
     144                    if ( inside.parents('.widget-liquid-right').length )
     145                        css['marginLeft'] = 270 - w + 'px';
     146                    inside.parents('.widget').css(css);
     147                }
     148                inside.show('fast');
     149            } else {
     150                inside.parents('.widget').css({'width':'','marginLeft':''});
     151                inside.hide('fast');
     152            }
    142153            return false;
    143154        });
  • trunk/wp-admin/js/widgets.js

    r10912 r10916  
    1 var wpWidgets;(function(a){wpWidgets={init:function(){var b;a("h3.sidebar-name").click(function(){var d=a(this).siblings(".widgets-sortables");if(d.is(":visible")){d.hide().sortable("disable")}else{d.show().sortable("enable").sortable("refresh")}a(this).siblings("#widget-list").toggle()});this.addEvents();a("#widget-list .widget").draggable({connectToSortable:".widgets-sortables",handle:".widget-title",distance:2,tolerance:"pointer",helper:"clone",start:function(){wpWidgets.fixWebkit(1)},stop:function(d,c){if(b){a(b).hide()}b="";wpWidgets.fixWebkit()}});a(".widgets-sortables").sortable({placeholder:"widget-placeholder",connectWith:".widgets-sortables",items:".widget",handle:".widget-title",cursor:"move",distance:2,tolerance:"pointer",opacity:0.65,start:function(d,c){wpWidgets.fixWebkit(1)},stop:function(f,c){var d=c.item.find("input.add_new").val(),i=c.item.find("input.multi_number").val(),h=c.item.attr("id"),g=a(this).parent().attr("id");if(d){if("multi"==d){c.item.html(c.item.html().replace(/<[^<>]+>/g,function(e){return e.replace(/__i__/g,i)}));c.item.attr("id",h.replace(/__i__/g,i));i++;a("li#"+h).find("input.multi_number").val(i)}else{if("single"==d){c.item.attr("id","new-"+h);b="li#"+h}}wpWidgets.addEvents(c.item);wpWidgets.save(c.item.find("form").serializeArray(),g,0);c.item.find("input.add_new").val("")}wpWidgets.saveOrder(g);wpWidgets.fixWebkit()},receive:function(d,c){if(!a(this).is(":visible")){a(this).sortable("cancel")}}}).not(":visible").sortable("disable")},saveOrder:function(c){a("#"+c+" .ajax-feedback").css("visibility","visible");var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val()};a(".widgets-sortables").each(function(){b[a(this).parent().attr("id")]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b,function(){a(".ajax-feedback").css("visibility","hidden")})},save:function(e,f,c,d){var b;f=f||"";a("#"+f+" .ajax-feedback").css("visibility","visible");b={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:f};if(c){b.delete_widget=1}a.map(e,function(h,g){b[h.name]=h.value});a.post(ajaxurl,b,function(g){var h;a(".ajax-feedback").css("visibility","hidden");if(!d){return}if(c){a(d).parents("li.widget").remove();if(!b.widget_number){h=b["widget-id"];a("#available-widgets .widget-id").each(function(){if(a(this).val()==h){a(this).parents("li.widget").show()}})}}else{a(d).parents(".widget-inside").hide()}})},fixWebkit:function(b){b=b?"none":"";a("body").css({WebkitUserSelect:b,KhtmlUserSelect:b})},addEvents:function(b){b=b||document;a("a.widget-action",b).click(function(){a(this).parents(".widget-top").siblings(".widget-inside").toggle();return false});a(".widget-control-save",b).click(function(){wpWidgets.save(a(this).parents("form").serializeArray(),a(this).parents(".widgets-holder-wrap").attr("id"),0,this);return false});a(".widget-control-remove",b).click(function(){wpWidgets.save(a(this).parents("form").serializeArray(),a(this).parents(".widgets-holder-wrap").attr("id"),1,this);return false})}};a(document).ready(function(){wpWidgets.init()})})(jQuery);
     1var wpWidgets;(function(a){wpWidgets={init:function(){var b;a("h3.sidebar-name").click(function(){var d=a(this).siblings(".widgets-sortables");if(d.is(":visible")){d.hide().sortable("disable")}else{d.show().sortable("enable").sortable("refresh")}a(this).siblings("#widget-list").toggle()});this.addEvents();a("#widget-list .widget").draggable({connectToSortable:".widgets-sortables",handle:".widget-title",distance:2,helper:"clone",zIndex:5,start:function(){wpWidgets.fixWebkit(1)},stop:function(d,c){if(b){a(b).hide()}b="";wpWidgets.fixWebkit()}});a(".widgets-sortables").sortable({placeholder:"widget-placeholder",connectWith:".widgets-sortables",items:".widget",handle:".widget-title",cursor:"move",distance:2,opacity:0.65,start:function(d,c){wpWidgets.fixWebkit(1);c.item.find(".widget-inside").hide();c.item.css({marginLeft:"",width:""})},stop:function(f,c){var d=c.item.find("input.add_new").val(),i=c.item.find("input.multi_number").val(),h=c.item.attr("id"),g=a(this).parent().attr("id");c.item.css({marginLeft:"",width:""});if(d&&i){if("multi"==d){c.item.html(c.item.html().replace(/<[^<>]+>/g,function(e){return e.replace(/__i__/g,i)}));c.item.attr("id",h.replace(/__i__/g,i));i++;a("li#"+h).find("input.multi_number").val(i)}else{if("single"==d){c.item.attr("id","new-"+h);b="li#"+h}}wpWidgets.addEvents(c.item);wpWidgets.save(c.item.find("form").serializeArray(),g,0);c.item.find("input.add_new").val("")}wpWidgets.saveOrder(g);wpWidgets.fixWebkit()},receive:function(d,c){if(!a(this).is(":visible")){a(this).sortable("cancel")}}}).not(":visible").sortable("disable")},saveOrder:function(c){a("#"+c+" .ajax-feedback").css("visibility","visible");var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val()};a(".widgets-sortables").each(function(){b[a(this).parent().attr("id")]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b,function(){a(".ajax-feedback").css("visibility","hidden")})},save:function(e,f,c,d){var b;a("#"+f+" .ajax-feedback").css("visibility","visible");b={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:f};if(c){b.delete_widget=1}a.map(e,function(h,g){b[h.name]=h.value});a.post(ajaxurl,b,function(g){var h;a(".ajax-feedback").css("visibility","hidden");if(!d){return}if(c){a(d).parents("li.widget").remove();if(!b.widget_number){h=b["widget-id"];a("#available-widgets .widget-id").each(function(){if(a(this).val()==h){a(this).parents("li.widget").show()}})}}else{a(d).parents(".widget-inside").hide("fast")}})},fixWebkit:function(b){b=b?"none":"";a("body").css({WebkitUserSelect:b,KhtmlUserSelect:b})},addEvents:function(b){b=b||document;a("a.widget-action",b).click(function(){var d=parseInt(a(this).parents(".widget").find(".widget-width").val(),10),e={},c=a(this).parents(".widget-top").siblings(".widget-inside");if(c.is(":hidden")){if(d>270&&c.parents(".widgets-sortables").length){e.width=d+30+"px";if(c.parents(".widget-liquid-right").length){e.marginLeft=270-d+"px"}c.parents(".widget").css(e)}c.show("fast")}else{c.parents(".widget").css({width:"",marginLeft:""});c.hide("fast")}return false});a(".widget-control-save",b).click(function(){wpWidgets.save(a(this).parents("form").serializeArray(),a(this).parents(".widgets-holder-wrap").attr("id"),0,this);return false});a(".widget-control-remove",b).click(function(){wpWidgets.save(a(this).parents("form").serializeArray(),a(this).parents(".widgets-holder-wrap").attr("id"),1,this);return false})}};a(document).ready(function(){wpWidgets.init()})})(jQuery);
  • trunk/wp-admin/widgets.php

    r10912 r10916  
    127127require_once( 'admin-header.php' ); ?>
    128128
     129<div class="wrap">
     130<?php screen_icon(); ?>
     131<h2><?php echo wp_specialchars( $title ); ?></h2>
     132
    129133<?php if ( isset($_GET['message']) && isset($messages[$_GET['message']]) ) : ?>
    130134<div id="message" class="updated fade"><p><?php echo $messages[$_GET['message']]; ?></p></div>
    131135<?php endif; ?>
    132 
    133 
    134 <div id="message" class="updated"><p>This page is not 100% ready, please use only on test installations.</p></div>
    135 
    136 
    137 <div class="wrap">
    138 <?php screen_icon(); ?>
    139 <h2><?php echo wp_specialchars( $title ); ?></h2>
    140136
    141137
Note: See TracChangeset for help on using the changeset viewer.