selectize-rails 0.12.2 → 0.12.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +28 -25
- data/README.md +4 -3
- data/lib/selectize-rails/version.rb +5 -5
- data/vendor/assets/javascripts/selectize.js +89 -20
- data/vendor/assets/stylesheets/selectize.bootstrap2.css +1 -1
- data/vendor/assets/stylesheets/selectize.bootstrap3.css +1 -1
- data/vendor/assets/stylesheets/selectize.css +1 -1
- data/vendor/assets/stylesheets/selectize.default.css +1 -1
- data/vendor/assets/stylesheets/selectize.legacy.css +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: 2c8d908c072aaa1116700105374016f432ad3ab8
|
4
|
+
data.tar.gz: 14dfd92a4353e875f4ca38a9db0e7627e1bd91b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e344f217217bfaa24fd820d6a48663b3e5bc45cd0ce1412e90cf21dd8a0ef4c6bdbeca5c3491a396b4ee2f8d8cb6f582f8fc51f9c1d9d892f56f962b743036b5
|
7
|
+
data.tar.gz: 3dac8c6a26a4e3ed82170b114f8457e5c8f2c097bf5730911e508aac957939475353205d8dcf2438932f78ce523abc085a3c5c937c78549b2b8a49d253b8a8c5
|
data/CHANGELOG.md
CHANGED
@@ -1,25 +1,28 @@
|
|
1
|
-
# Changelog
|
2
|
-
|
3
|
-
| Version | Notes |
|
4
|
-
| --------:| ----------------------------------------------------------- |
|
5
|
-
| 0.12.
|
6
|
-
| 0.
|
7
|
-
| 0.
|
8
|
-
| 0.
|
9
|
-
| 0.
|
10
|
-
| 0.
|
11
|
-
| 0.
|
12
|
-
| 0.
|
13
|
-
| 0.8.
|
14
|
-
| 0.8.
|
15
|
-
| 0.
|
16
|
-
| 0.
|
17
|
-
| 0.
|
18
|
-
| 0.7.
|
19
|
-
| 0.7.
|
20
|
-
| 0.7.
|
21
|
-
| 0.7.
|
22
|
-
|
|
23
|
-
| 0.
|
24
|
-
| 0.
|
25
|
-
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
| Version | Notes |
|
4
|
+
| --------:| ----------------------------------------------------------- |
|
5
|
+
| 0.12.3 | Update to v0.12.3 of selectize.js |
|
6
|
+
| 0.12.2 | Update to v0.12.2 of selectize.js |
|
7
|
+
| 0.12.1 | Update to v0.12.1 of selectize.js |
|
8
|
+
| 0.12.0 | Update to v0.12.0 of selectize.js |
|
9
|
+
| 0.11.2 | Update to v0.11.2 of selectize.js |
|
10
|
+
| 0.11.0 | Update to v0.11.0 of selectize.js |
|
11
|
+
| 0.9.1 | Update to v0.9.1 of selectize.js |
|
12
|
+
| 0.9.0 | Update to v0.9.0 of selectize.js |
|
13
|
+
| 0.8.5 | Update to v0.8.5 of selectize.js |
|
14
|
+
| 0.8.4 | Update to v0.8.4 of selectize.js |
|
15
|
+
| 0.8.3 | Update to v0.8.3 of selectize.js |
|
16
|
+
| 0.8.1 | Update to v0.8.1 of selectize.js |
|
17
|
+
| 0.8.0 | Update to v0.8.0 of selectize.js |
|
18
|
+
| 0.7.7 | Update to v0.7.7 of selectize.js |
|
19
|
+
| 0.7.6 | Update to v0.7.6 of selectize.js |
|
20
|
+
| 0.7.5 | Update to v0.7.5 of selectize.js |
|
21
|
+
| 0.7.4 | Update to v0.7.4 of selectize.js |
|
22
|
+
| 0.7.3 | Update to v0.7.3 of selectize.js |
|
23
|
+
| 0.7.2 | Update to v0.7.2 of selectize.js |
|
24
|
+
| 0.7.0 | Update to v0.7.0 of selectize.js |
|
25
|
+
| 0.6.14 | Update to v0.6.14 of selectize.js |
|
26
|
+
| 0.6.4 | Update to v0.6.4 of selectize.js |
|
27
|
+
| 0.6.1 | Update and set gem version equal to selectize.js version |
|
28
|
+
| 0.1.0 | Initial release |
|
data/README.md
CHANGED
@@ -30,17 +30,18 @@ In your `application.css`, include the following:
|
|
30
30
|
|
31
31
|
### Themes
|
32
32
|
|
33
|
-
To include additional theme's you can replace the `selectize.default` for one of the [theme files](https://github.com/
|
33
|
+
To include additional theme's you can replace the `selectize.default` for one of the [theme files](https://github.com/selectize/selectize.js/tree/master/dist/css)
|
34
34
|
|
35
35
|
|
36
36
|
## Examples
|
37
37
|
|
38
|
-
See the [demo page
|
38
|
+
See the [demo page](http://selectize.github.io/selectize.js/) for examples how to use the plugin
|
39
39
|
|
40
40
|
## Changes
|
41
41
|
|
42
42
|
| Version | Notes |
|
43
43
|
| --------:| ----------------------------------------------------------- |
|
44
|
+
| 0.12.3 | Update to v0.12.3 of selectize.js |
|
44
45
|
| 0.12.2 | Update to v0.12.2 of selectize.js |
|
45
46
|
| 0.12.1 | Update to v0.12.1 of selectize.js |
|
46
47
|
| 0.12.0 | Update to v0.12.0 of selectize.js |
|
@@ -56,7 +57,7 @@ See the [demo page of Brian Reavis](http://brianreavis.github.io/selectize.js/)
|
|
56
57
|
|
57
58
|
## License
|
58
59
|
|
59
|
-
* The [selectize.js](http://
|
60
|
+
* The [selectize.js](http://selectize.github.io/selectize.js/) plugin is licensed under the
|
60
61
|
[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
|
61
62
|
* The [selectize-rails](https://github.com/manuelvanrijn/selectize-rails) project is
|
62
63
|
licensed under the [MIT License](http://opensource.org/licenses/mit-license.html)
|
@@ -1,5 +1,5 @@
|
|
1
|
-
module Selectize
|
2
|
-
module Rails
|
3
|
-
VERSION = "0.12.
|
4
|
-
end
|
5
|
-
end
|
1
|
+
module Selectize
|
2
|
+
module Rails
|
3
|
+
VERSION = "0.12.3"
|
4
|
+
end
|
5
|
+
end
|
@@ -635,7 +635,7 @@
|
|
635
635
|
}));
|
636
636
|
|
637
637
|
/**
|
638
|
-
* selectize.js (v0.12.
|
638
|
+
* selectize.js (v0.12.3)
|
639
639
|
* Copyright (c) 2013–2015 Brian Reavis & contributors
|
640
640
|
*
|
641
641
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
@@ -696,6 +696,20 @@
|
|
696
696
|
});
|
697
697
|
};
|
698
698
|
|
699
|
+
/**
|
700
|
+
* removeHighlight fn copied from highlight v5 and
|
701
|
+
* edited to remove with() and pass js strict mode
|
702
|
+
*/
|
703
|
+
jQuery.fn.removeHighlight = function() {
|
704
|
+
return this.find("span.highlight").each(function() {
|
705
|
+
this.parentNode.firstChild.nodeName;
|
706
|
+
var parent = this.parentNode;
|
707
|
+
parent.replaceChild(this.firstChild, this);
|
708
|
+
parent.normalize();
|
709
|
+
}).end();
|
710
|
+
};
|
711
|
+
|
712
|
+
|
699
713
|
var MicroEvent = function() {};
|
700
714
|
MicroEvent.prototype = {
|
701
715
|
on: function(event, fct){
|
@@ -758,7 +772,8 @@
|
|
758
772
|
var TAG_INPUT = 2;
|
759
773
|
|
760
774
|
// for now, android support in general is too spotty to support validity
|
761
|
-
var SUPPORTS_VALIDITY_API = !/android/i.test(window.navigator.userAgent) && !!document.createElement('
|
775
|
+
var SUPPORTS_VALIDITY_API = !/android/i.test(window.navigator.userAgent) && !!document.createElement('input').validity;
|
776
|
+
|
762
777
|
|
763
778
|
var isset = function(object) {
|
764
779
|
return typeof object !== 'undefined';
|
@@ -1088,6 +1103,20 @@
|
|
1088
1103
|
return tmp.innerHTML;
|
1089
1104
|
};
|
1090
1105
|
|
1106
|
+
var logError = function(message, options){
|
1107
|
+
if(!options) options = {};
|
1108
|
+
var component = "Selectize";
|
1109
|
+
|
1110
|
+
console.error(component + ": " + message)
|
1111
|
+
|
1112
|
+
if(options.explanation){
|
1113
|
+
// console.group is undefined in <IE11
|
1114
|
+
if(console.group) console.group();
|
1115
|
+
console.error(options.explanation);
|
1116
|
+
if(console.group) console.groupEnd();
|
1117
|
+
}
|
1118
|
+
}
|
1119
|
+
|
1091
1120
|
|
1092
1121
|
var Selectize = function($input, settings) {
|
1093
1122
|
var key, i, n, dir, input, self = this;
|
@@ -1177,7 +1206,18 @@
|
|
1177
1206
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
1178
1207
|
|
1179
1208
|
MicroEvent.mixin(Selectize);
|
1180
|
-
|
1209
|
+
|
1210
|
+
if(typeof MicroPlugin !== "undefined"){
|
1211
|
+
MicroPlugin.mixin(Selectize);
|
1212
|
+
}else{
|
1213
|
+
logError("Dependency MicroPlugin is missing",
|
1214
|
+
{explanation:
|
1215
|
+
"Make sure you either: (1) are using the \"standalone\" "+
|
1216
|
+
"version of Selectize, or (2) require MicroPlugin before you "+
|
1217
|
+
"load Selectize."}
|
1218
|
+
);
|
1219
|
+
}
|
1220
|
+
|
1181
1221
|
|
1182
1222
|
// methods
|
1183
1223
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
@@ -1206,6 +1246,7 @@
|
|
1206
1246
|
var timeout_focus;
|
1207
1247
|
var classes;
|
1208
1248
|
var classes_plugins;
|
1249
|
+
var inputId;
|
1209
1250
|
|
1210
1251
|
inputMode = self.settings.mode;
|
1211
1252
|
classes = $input.attr('class') || '';
|
@@ -1217,6 +1258,11 @@
|
|
1217
1258
|
$dropdown = $('<div>').addClass(settings.dropdownClass).addClass(inputMode).hide().appendTo($dropdown_parent);
|
1218
1259
|
$dropdown_content = $('<div>').addClass(settings.dropdownContentClass).appendTo($dropdown);
|
1219
1260
|
|
1261
|
+
if(inputId = $input.attr('id')) {
|
1262
|
+
$control_input.attr('id', inputId + '-selectized');
|
1263
|
+
$("label[for='"+inputId+"']").attr('for', inputId + '-selectized');
|
1264
|
+
}
|
1265
|
+
|
1220
1266
|
if(self.settings.copyClassesToDropdown) {
|
1221
1267
|
$dropdown.addClass(classes);
|
1222
1268
|
}
|
@@ -1492,19 +1538,26 @@
|
|
1492
1538
|
*/
|
1493
1539
|
onPaste: function(e) {
|
1494
1540
|
var self = this;
|
1541
|
+
|
1495
1542
|
if (self.isFull() || self.isInputHidden || self.isLocked) {
|
1496
1543
|
e.preventDefault();
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1502
|
-
|
1503
|
-
|
1504
|
-
|
1505
|
-
|
1506
|
-
|
1507
|
-
|
1544
|
+
return;
|
1545
|
+
}
|
1546
|
+
|
1547
|
+
// If a regex or string is included, this will split the pasted
|
1548
|
+
// input and create Items for each separate value
|
1549
|
+
if (self.settings.splitOn) {
|
1550
|
+
|
1551
|
+
// Wait for pasted text to be recognized in value
|
1552
|
+
setTimeout(function() {
|
1553
|
+
var pastedText = self.$control_input.val();
|
1554
|
+
if(!pastedText.match(self.settings.splitOn)){ return }
|
1555
|
+
|
1556
|
+
var splitInput = $.trim(pastedText).split(self.settings.splitOn);
|
1557
|
+
for (var i = 0, n = splitInput.length; i < n; i++) {
|
1558
|
+
self.createItem(splitInput[i]);
|
1559
|
+
}
|
1560
|
+
}, 0);
|
1508
1561
|
}
|
1509
1562
|
},
|
1510
1563
|
|
@@ -2191,6 +2244,7 @@
|
|
2191
2244
|
|
2192
2245
|
// highlight matching terms inline
|
2193
2246
|
if (self.settings.highlight && results.query.length && results.tokens.length) {
|
2247
|
+
$dropdown_content.removeHighlight();
|
2194
2248
|
for (i = 0, n = results.tokens.length; i < n; i++) {
|
2195
2249
|
highlight($dropdown_content, results.tokens[i].regex);
|
2196
2250
|
}
|
@@ -2688,12 +2742,26 @@
|
|
2688
2742
|
* and CSS classes.
|
2689
2743
|
*/
|
2690
2744
|
refreshState: function() {
|
2691
|
-
|
2692
|
-
|
2693
|
-
|
2694
|
-
|
2695
|
-
|
2696
|
-
|
2745
|
+
this.refreshValidityState();
|
2746
|
+
this.refreshClasses();
|
2747
|
+
},
|
2748
|
+
|
2749
|
+
/**
|
2750
|
+
* Update the `required` attribute of both input and control input.
|
2751
|
+
*
|
2752
|
+
* The `required` property needs to be activated on the control input
|
2753
|
+
* for the error to be displayed at the right place. `required` also
|
2754
|
+
* needs to be temporarily deactivated on the input since the input is
|
2755
|
+
* hidden and can't show errors.
|
2756
|
+
*/
|
2757
|
+
refreshValidityState: function() {
|
2758
|
+
if (!this.isRequired) return false;
|
2759
|
+
|
2760
|
+
var invalid = !this.items.length;
|
2761
|
+
|
2762
|
+
this.isInvalid = invalid;
|
2763
|
+
this.$control_input.prop('required', invalid);
|
2764
|
+
this.$input.prop('required', !invalid);
|
2697
2765
|
},
|
2698
2766
|
|
2699
2767
|
/**
|
@@ -2804,6 +2872,7 @@
|
|
2804
2872
|
|
2805
2873
|
if (self.settings.mode === 'single' && self.items.length) {
|
2806
2874
|
self.hideInput();
|
2875
|
+
self.$control_input.blur(); // close keyboard on iOS
|
2807
2876
|
}
|
2808
2877
|
|
2809
2878
|
self.isOpen = false;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* selectize.bootstrap2.css (v0.12.
|
2
|
+
* selectize.bootstrap2.css (v0.12.3) - Bootstrap 2 Theme
|
3
3
|
* Copyright (c) 2013–2015 Brian Reavis & contributors
|
4
4
|
*
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* selectize.bootstrap3.css (v0.12.
|
2
|
+
* selectize.bootstrap3.css (v0.12.3) - Bootstrap 3 Theme
|
3
3
|
* Copyright (c) 2013–2015 Brian Reavis & contributors
|
4
4
|
*
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selectize-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Manuel van Rijn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|