multi-select-rails 0.9.11 → 0.9.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/assets/javascripts/multi-select.js +27 -31
- data/lib/multi-select-rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df5e07089789a8b2bc30bf9c79e848b8173aeea0
|
4
|
+
data.tar.gz: 1ab86991f4a1c054acc277566c598617d879f138
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f00d65b5570c01e27f25f0525e909413c150fa636ddc1261507b2730554192a8006b1e3284e6ba1941b944f42cf14972ca844d52290fd5ebe5dc4d4a8466a990
|
7
|
+
data.tar.gz: 57e493df1d277c6607390e230ef891291caf7d18ea2b352b21699e0a2e55e7c41232b6d9c64ee6d681ee3de85e9ec2bfff066c47489fd53d56f000ee46e85144
|
data/README.md
CHANGED
@@ -29,7 +29,7 @@ Add to your `app/assets/stylesheets/application.css`
|
|
29
29
|
## Updating the gem
|
30
30
|
There are two rake tasks designed to ease the maintenance of this gem.
|
31
31
|
|
32
|
-
The `update` task pulls the latest
|
32
|
+
The `update` task pulls the latest multi-select code from github and places images, stylesheets and javascripts in the correct gem paths. It also changes background-image properties in the stylesheet to asset pipeline equivalents.
|
33
33
|
|
34
34
|
rake update
|
35
35
|
|
@@ -149,18 +149,18 @@
|
|
149
149
|
$selectionOptgroup.append($(optgroupTpl));
|
150
150
|
if (that.options.selectableOptgroup){
|
151
151
|
$selectableOptgroup.find('.ms-optgroup-label').on('click', function(){
|
152
|
-
var values = $optgroup.children(':not(:selected)').map(function(){ return $(this).val() }).get();
|
152
|
+
var values = $optgroup.children(':not(:selected, :disabled)').map(function(){ return $(this).val() }).get();
|
153
153
|
that.select(values);
|
154
154
|
});
|
155
155
|
$selectionOptgroup.find('.ms-optgroup-label').on('click', function(){
|
156
|
-
var values = $optgroup.children(':selected').map(function(){ return $(this).val() }).get();
|
156
|
+
var values = $optgroup.children(':selected:not(:disabled)').map(function(){ return $(this).val() }).get();
|
157
157
|
that.deselect(values);
|
158
158
|
});
|
159
159
|
}
|
160
160
|
that.$selectableUl.append($selectableOptgroup);
|
161
161
|
that.$selectionUl.append($selectionOptgroup);
|
162
162
|
}
|
163
|
-
index = index == undefined ? $selectableOptgroup.children().length : index + 1;
|
163
|
+
index = index == undefined ? $selectableOptgroup.find('ul').children().length : index + 1;
|
164
164
|
selectableLi.insertAt(index, $selectableOptgroup.children());
|
165
165
|
selectedLi.insertAt(index, $selectionOptgroup.children());
|
166
166
|
} else {
|
@@ -244,10 +244,6 @@
|
|
244
244
|
containerHeight = $list.height(),
|
245
245
|
containerSelector = '#'+this.$container.prop('id');
|
246
246
|
|
247
|
-
// Deactive mouseenter event when move is active
|
248
|
-
// It fixes a bug when mouse is over the list
|
249
|
-
$elems.off('mouseenter');
|
250
|
-
|
251
247
|
$elems.removeClass('ms-hover');
|
252
248
|
if (direction === 1){ // DOWN
|
253
249
|
|
@@ -298,21 +294,22 @@
|
|
298
294
|
},
|
299
295
|
|
300
296
|
'selectHighlighted' : function($list){
|
301
|
-
|
302
|
-
|
297
|
+
var $elems = $list.find(this.elemsSelector),
|
298
|
+
$highlightedElem = $elems.filter('.ms-hover').first();
|
303
299
|
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
}
|
310
|
-
$elems.removeClass('ms-hover');
|
300
|
+
if ($highlightedElem.length > 0){
|
301
|
+
if ($list.parent().hasClass('ms-selectable')){
|
302
|
+
this.select($highlightedElem.data('ms-value'));
|
303
|
+
} else {
|
304
|
+
this.deselect($highlightedElem.data('ms-value'));
|
311
305
|
}
|
306
|
+
$elems.removeClass('ms-hover');
|
307
|
+
}
|
312
308
|
},
|
313
309
|
|
314
310
|
'switchList' : function($list){
|
315
311
|
$list.blur();
|
312
|
+
this.$container.find(this.elemsSelector).removeClass('ms-hover');
|
316
313
|
if ($list.parent().hasClass('ms-selectable')){
|
317
314
|
this.$selectionUl.focus();
|
318
315
|
} else {
|
@@ -322,16 +319,10 @@
|
|
322
319
|
|
323
320
|
'activeMouse' : function($list){
|
324
321
|
var that = this;
|
325
|
-
|
326
|
-
$
|
327
|
-
|
328
|
-
|
329
|
-
var elems = $list.find(that.elemsSelector);
|
330
|
-
|
331
|
-
elems.on('mouseenter', function(){
|
332
|
-
elems.removeClass('ms-hover');
|
333
|
-
$(this).addClass('ms-hover');
|
334
|
-
});
|
322
|
+
|
323
|
+
$('body').on('mouseenter', that.elemsSelector, function(){
|
324
|
+
$(this).parents('.ms-container').find(that.elemsSelector).removeClass('ms-hover');
|
325
|
+
$(this).addClass('ms-hover');
|
335
326
|
});
|
336
327
|
},
|
337
328
|
|
@@ -364,8 +355,11 @@
|
|
364
355
|
if (selectables.length > 0){
|
365
356
|
selectables.addClass('ms-selected').hide();
|
366
357
|
selections.addClass('ms-selected').show();
|
358
|
+
|
367
359
|
options.prop('selected', true);
|
368
360
|
|
361
|
+
that.$container.find(that.elemsSelector).removeClass('ms-hover');
|
362
|
+
|
369
363
|
var selectableOptgroups = that.$selectableUl.children('.ms-optgroup-container');
|
370
364
|
if (selectableOptgroups.length > 0){
|
371
365
|
selectableOptgroups.each(function(){
|
@@ -383,8 +377,8 @@
|
|
383
377
|
}
|
384
378
|
});
|
385
379
|
} else {
|
386
|
-
if (that.options.keepOrder){
|
387
|
-
var selectionLiLast = that.$selectionUl.find('.ms-selected');
|
380
|
+
if (that.options.keepOrder && method !== 'init'){
|
381
|
+
var selectionLiLast = that.$selectionUl.find('.ms-selected');
|
388
382
|
if((selectionLiLast.length > 1) && (selectionLiLast.last().get(0) != selections.get(0))) {
|
389
383
|
selections.insertAfter(selectionLiLast.last());
|
390
384
|
}
|
@@ -414,6 +408,8 @@
|
|
414
408
|
selections.removeClass('ms-selected').hide();
|
415
409
|
options.prop('selected', false);
|
416
410
|
|
411
|
+
that.$container.find(that.elemsSelector).removeClass('ms-hover');
|
412
|
+
|
417
413
|
var selectableOptgroups = that.$selectableUl.children('.ms-optgroup-container');
|
418
414
|
if (selectableOptgroups.length > 0){
|
419
415
|
selectableOptgroups.each(function(){
|
@@ -474,12 +470,12 @@
|
|
474
470
|
},
|
475
471
|
|
476
472
|
sanitize: function(value){
|
477
|
-
var hash = 0, i,
|
473
|
+
var hash = 0, i, character;
|
478
474
|
if (value.length == 0) return hash;
|
479
475
|
var ls = 0;
|
480
476
|
for (i = 0, ls = value.length; i < ls; i++) {
|
481
|
-
|
482
|
-
hash = ((hash<<5)-hash)+
|
477
|
+
character = value.charCodeAt(i);
|
478
|
+
hash = ((hash<<5)-hash)+character;
|
483
479
|
hash |= 0; // Convert to 32bit integer
|
484
480
|
}
|
485
481
|
return hash;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multi-select-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Per Andersson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|