Skip to content

Commit 2a7873d

Browse files
committed
Selectable: Add classes option
Ref #7053 Ref gh-1411
1 parent 2665aa0 commit 2a7873d

File tree

1 file changed

+24
-30
lines changed

1 file changed

+24
-30
lines changed

ui/selectable.js

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,17 @@ return $.widget("ui.selectable", $.ui.mouse, {
4949
unselecting: null
5050
},
5151
_create: function() {
52-
var selectees,
53-
that = this;
52+
var that = this;
5453

55-
this.element.addClass("ui-selectable");
54+
this._addClass( "ui-selectable" );
5655

5756
this.dragged = false;
5857

5958
// cache selectee children based on filter
6059
this.refresh = function() {
61-
selectees = $(that.options.filter, that.element[0]);
62-
selectees.addClass("ui-selectee");
63-
selectees.each(function() {
60+
that.selectees = $(that.options.filter, that.element[0]);
61+
that._addClass( that.selectees, "ui-selectee" );
62+
that.selectees.each(function() {
6463
var $this = $(this),
6564
pos = $this.offset();
6665
$.data(this, "selectable-item", {
@@ -79,19 +78,14 @@ return $.widget("ui.selectable", $.ui.mouse, {
7978
};
8079
this.refresh();
8180

82-
this.selectees = selectees.addClass("ui-selectee");
83-
8481
this._mouseInit();
8582

86-
this.helper = $("<div class='ui-selectable-helper'></div>");
83+
this.helper = $("<div>");
84+
this._addClass( this.helper, "ui-selectable-helper" );
8785
},
8886

8987
_destroy: function() {
90-
this.selectees
91-
.removeClass("ui-selectee")
92-
.removeData("selectable-item");
93-
this.element
94-
.removeClass("ui-selectable ui-selectable-disabled");
88+
this.selectees.removeData("selectable-item");
9589
this._mouseDestroy();
9690
},
9791

@@ -126,9 +120,9 @@ return $.widget("ui.selectable", $.ui.mouse, {
126120
var selectee = $.data(this, "selectable-item");
127121
selectee.startselected = true;
128122
if (!event.metaKey && !event.ctrlKey) {
129-
selectee.$element.removeClass("ui-selected");
123+
that._removeClass( selectee.$element, "ui-selected" );
130124
selectee.selected = false;
131-
selectee.$element.addClass("ui-unselecting");
125+
that._addClass( selectee.$element, "ui-unselecting" );
132126
selectee.unselecting = true;
133127
// selectable UNSELECTING callback
134128
that._trigger("unselecting", event, {
@@ -142,9 +136,8 @@ return $.widget("ui.selectable", $.ui.mouse, {
142136
selectee = $.data(this, "selectable-item");
143137
if (selectee) {
144138
doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected");
145-
selectee.$element
146-
.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
147-
.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
139+
that._removeClass( selectee.$element, doSelect ? "ui-unselecting" : "ui-selected" )
140+
._addClass( selectee.$element, doSelect ? "ui-selecting" : "ui-unselecting" );
148141
selectee.unselecting = !doSelect;
149142
selectee.selecting = doSelect;
150143
selectee.selected = doSelect;
@@ -202,15 +195,15 @@ return $.widget("ui.selectable", $.ui.mouse, {
202195
if (hit) {
203196
// SELECT
204197
if (selectee.selected) {
205-
selectee.$element.removeClass("ui-selected");
198+
that._removeClass( selectee.$element, "ui-selected" );
206199
selectee.selected = false;
207200
}
208201
if (selectee.unselecting) {
209-
selectee.$element.removeClass("ui-unselecting");
202+
that._removeClass( selectee.$element, "ui-unselecting" );
210203
selectee.unselecting = false;
211204
}
212205
if (!selectee.selecting) {
213-
selectee.$element.addClass("ui-selecting");
206+
that._addClass( selectee.$element, "ui-selecting" );
214207
selectee.selecting = true;
215208
// selectable SELECTING callback
216209
that._trigger("selecting", event, {
@@ -221,15 +214,15 @@ return $.widget("ui.selectable", $.ui.mouse, {
221214
// UNSELECT
222215
if (selectee.selecting) {
223216
if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
224-
selectee.$element.removeClass("ui-selecting");
217+
that._removeClass( selectee.$element, "ui-selecting" );
225218
selectee.selecting = false;
226-
selectee.$element.addClass("ui-selected");
219+
that._addClass( selectee.$element, "ui-selected" );
227220
selectee.selected = true;
228221
} else {
229-
selectee.$element.removeClass("ui-selecting");
222+
that._removeClass( selectee.$element, "ui-selecting" );
230223
selectee.selecting = false;
231224
if (selectee.startselected) {
232-
selectee.$element.addClass("ui-unselecting");
225+
that._addClass( selectee.$element, "ui-unselecting" );
233226
selectee.unselecting = true;
234227
}
235228
// selectable UNSELECTING callback
@@ -240,10 +233,10 @@ return $.widget("ui.selectable", $.ui.mouse, {
240233
}
241234
if (selectee.selected) {
242235
if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
243-
selectee.$element.removeClass("ui-selected");
236+
that._removeClass( selectee.$element, "ui-selected" );
244237
selectee.selected = false;
245238

246-
selectee.$element.addClass("ui-unselecting");
239+
that._addClass( selectee.$element, "ui-unselecting" );
247240
selectee.unselecting = true;
248241
// selectable UNSELECTING callback
249242
that._trigger("unselecting", event, {
@@ -264,7 +257,7 @@ return $.widget("ui.selectable", $.ui.mouse, {
264257

265258
$(".ui-unselecting", this.element[0]).each(function() {
266259
var selectee = $.data(this, "selectable-item");
267-
selectee.$element.removeClass("ui-unselecting");
260+
that._removeClass( selectee.$element, "ui-unselecting" );
268261
selectee.unselecting = false;
269262
selectee.startselected = false;
270263
that._trigger("unselected", event, {
@@ -273,7 +266,8 @@ return $.widget("ui.selectable", $.ui.mouse, {
273266
});
274267
$(".ui-selecting", this.element[0]).each(function() {
275268
var selectee = $.data(this, "selectable-item");
276-
selectee.$element.removeClass("ui-selecting").addClass("ui-selected");
269+
that._removeClass( selectee.$element, "ui-selecting" )
270+
._addClass( selectee.$element, "ui-selected" );
277271
selectee.selecting = false;
278272
selectee.selected = true;
279273
selectee.startselected = true;

0 commit comments

Comments
 (0)