Ticket #2843: ticket_2843.txt

File ticket_2843.txt, 2.9 KB (added by talmdal, 10 years ago)
Line 
1*** modified/jquery-ui.js       2009-09-15 13:20:39.000000000 -0700
2--- /var/www/gallery3/lib/jquery-ui.js  2009-09-15 21:26:25.000000000 -0700
3***************
4*** 2418,2423 ****
5--- 2418,2489 ----
6                this.helper = $(document.createElement('div'))
7                        .css({border:'1px dotted black'})
8                        .addClass("ui-selectable-helper");
9+
10+                 this.element
11+                   .bind("mousedown.selectable", function(event) {
12+                     var selectee = self._targetIsSelectable(event.target);
13+                     if (!selectee) {
14+                       return;
15+                     }
16+                     var test = $(".ui-selected").length;
17+                     if (!event.ctrlKey && $(".ui-selected").length > 1 && $(selectee).hasClass("ui-selected")) {
18+                       return (self._listenForMouseUp = 1);
19+                     }
20+                     if (!event.ctrlKey) {
21+                       $(".ui-selected").each(function() {
22+                         self._removeSelection(this, event);
23+                       });
24+                     }
25+                     self._toggleSelection(selectee, event);
26+                     event.preventDefault();
27+                   })
28+                   .bind("mouseup.selectable", function(event) {
29+                     if (self._listenForMouseUp) {
30+                       self._listenForMouseUp = 0;
31+                       var selectee = self._targetIsSelectable(event.target);
32+                       if (!selectee) {
33+                         return;
34+                       }
35+                       self._addSelection(selectee, event);
36+                       event.preventDefault();
37+                     }
38+                   })
39+
40+       },
41+
42+       _addSelection: function(selectee, event) {
43+           $(selectee).addClass("ui-selecting");
44+         this._trigger("selecting", event, {
45+           selecting: selectee
46+         });
47+           $(selectee).removeClass('ui-selecting').addClass('ui-selected');
48+         this._trigger("selected", event, {
49+           selected: selectee
50+         });
51+       },
52+
53+       _removeSelection: function(selected, event) {
54+           $(selected).removeClass('ui-selected').addClass('ui-unselecting');
55+         this._trigger("unselecting", event, {
56+           unselecting: selected
57+         });
58+           $(selected).removeClass('ui-unselecting');
59+         this._trigger("unselected", event, {
60+           unselected: selected
61+         });
62+       },
63+
64+       _toggleSelection: function(selectee, event) {
65+           if ($(selectee).hasClass("ui-selected")) {
66+             this._removeSelection(selectee, event);
67+           }else {
68+             this._addSelection(selectee, event);
69+           }
70+       },
71+
72+         _targetIsSelectable: function(target) {
73+           var found = $(target).parents().andSelf().filter(".ui-selectee");
74+           return found.length && found;
75          },
76 
77        destroy: function() {