Bug Tracker

Changeset 4214

Show
Ignore:
Timestamp:
12/18/07 02:19:28 (1 year ago)
Author:
rdworth
Message:

Added selectableRefresh method

Location:
trunk/ui/current
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/ui/current/tests/selectable_256.html

    r4202 r4214  
    7676    background: #d2aa84; 
    7777} 
     78#selectable1 .wall { 
     79    background: #231e4b; 
     80} 
    7881 
    7982        </style> 
     
    114117        }); 
    115118 
    116         $("#selectable1").selectable({autoRefresh:false}); 
     119        $("#selectable1").selectable({filter:":not(.wall)", autoRefresh:false}); 
     120 
     121        $(document).keydown(function(ev) { 
     122            if (ev.keyCode == 46) { // 46=DEL 
     123                $(".ui-selected").remove(); 
     124                $("#selectable1").selectableRefresh(); 
     125            } 
     126            if (ev.keyCode == 13) { 
     127                $(".ui-selected").removeClass("ui-selected").addClass("wall"); 
     128                $("#selectable1").selectableRefresh(); 
     129            } 
     130        }); 
    117131 
    118132            }); 
  • trunk/ui/current/ui.selectable.js

    r4202 r4214  
    33     
    44    //Macros for external methods that support chaining 
    5     var methods = "destroy,enable,disable,toggle".split(","); 
    6     for(var i=0;i<methods.length;i++) { 
     5    var methods = "destroy,enable,disable,toggle,refresh".split(","); 
     6    for(var i = 0; i < methods.length; i++) { 
    77        var cur = methods[i], f; 
    8         eval('f = function() { var a = arguments; return this.each(function() { if(jQuery(this).is(".ui-selectable")) jQuery.data(this, "ui-selectable")["'+cur+'"](a); }); }'); 
    9         $.fn["selectable"+cur.substr(0,1).toUpperCase()+cur.substr(1)] = f; 
     8        eval('f = function() {' + 
     9            'var a = arguments;' + 
     10            'return this.each(function() {' + 
     11                'if(jQuery(this).is(".ui-selectable"))' + 
     12                    'jQuery.data(this, "ui-selectable")["'+cur+'"](a);' + 
     13            '});' + 
     14        '}'); 
     15        $.fn["selectable" + cur.substr(0, 1).toUpperCase() + cur.substr(1)] = f; 
    1016    }; 
    1117 
     
    5561                var $this = $(this); 
    5662                var pos = $this.offset(); 
    57                 $.data(this, "selecteestate", { 
     63                $.data(this, "ui-selectee", { 
    5864                    element: this, 
    5965                    $element: $this, 
     
    108114            var options = this.options; 
    109115 
     116            self.selectees = $(options.filter, self.element); 
     117 
    110118            // selectable START callback 
    111119            $(self.element).triggerHandler("selectablestart", [ev, { 
     
    129137 
    130138            self.selectees.filter('.ui-selected').each(function() { 
    131                 var selectee = $.data(this, "selecteestate"); 
     139                var selectee = $.data(this, "ui-selectee"); 
    132140                selectee.startselected = true; 
    133141                if (!ev.ctrlKey) { 
     
    158166            self.selectees.each(function() { 
    159167                //var box = self.childBoxes[i], hit = false; 
    160                 var selectee = $.data(this, "selecteestate"); 
     168                var selectee = $.data(this, "ui-selectee"); 
    161169                var hit = false; 
    162170                if (options.tolerance == 'touch') { 
     
    231239 
    232240            $('.ui-unselecting', self.element).each(function() { 
    233                 var selectee = $.data(this, "selecteestate"); 
     241                var selectee = $.data(this, "ui-selectee"); 
    234242                selectee.$element.removeClass('ui-unselecting'); 
    235243                selectee.unselecting = false; 
     
    242250            }); 
    243251            $('.ui-selecting', self.element).each(function() { 
    244                 var selectee = $.data(this, "selecteestate"); 
     252                var selectee = $.data(this, "ui-selectee"); 
    245253                selectee.$element.removeClass('ui-selecting').addClass('ui-selected'); 
    246254                selectee.selecting = false;