selectize-rails 0.12.1 → 0.12.2
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 +70 -68
- data/lib/selectize-rails/version.rb +1 -1
- data/selectize-rails.gemspec +1 -1
- data/update_from_vendor.sh +2 -2
- data/vendor/assets/javascripts/selectize.js +176 -83
- data/vendor/assets/stylesheets/selectize.bootstrap2.css +7 -1
- data/vendor/assets/stylesheets/selectize.bootstrap3.css +7 -1
- data/vendor/assets/stylesheets/selectize.css +7 -1
- data/vendor/assets/stylesheets/selectize.default.css +7 -1
- data/vendor/assets/stylesheets/selectize.legacy.css +7 -1
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7e84f5ce126f32fbabf41a9e52abf21ee50f21a
|
4
|
+
data.tar.gz: 2116854e115d27fd63d4de6c5204247d69fa2e21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27112eea339556194297538b0b2594479e67f3c291a8a5ca21a58c53456ce7b3a7113a9f61be5fe1cb7e696f2e7954da736415798c04fe6d7fa22274290916e7
|
7
|
+
data.tar.gz: 9e01c04d222aeee330d023e6e45ba27a17e8059476ddb447f64c169139359ccdd044e7dbbcba6f760c2860b3d797540c489d8e20adea8349c222d4c631c7b81e
|
data/README.md
CHANGED
@@ -1,68 +1,70 @@
|
|
1
|
-
# selectize-rails [](http://badge.fury.io/rb/selectize-rails)
|
2
|
-
|
3
|
-
selectize-rails provides the [selectize.js](http://brianreavis.github.io/selectize.js/)
|
4
|
-
plugin as a Rails engine to use it within the asset pipeline.
|
5
|
-
|
6
|
-
## Installation
|
7
|
-
|
8
|
-
Add this to your Gemfile:
|
9
|
-
|
10
|
-
```ruby
|
11
|
-
gem "selectize-rails"
|
12
|
-
```
|
13
|
-
|
14
|
-
and run `bundle install`.
|
15
|
-
|
16
|
-
## Usage
|
17
|
-
|
18
|
-
In your `application.js`, include the following:
|
19
|
-
|
20
|
-
```js
|
21
|
-
//= require selectize
|
22
|
-
```
|
23
|
-
|
24
|
-
In your `application.css`, include the following:
|
25
|
-
|
26
|
-
```css
|
27
|
-
*= require selectize
|
28
|
-
*= require selectize.default
|
29
|
-
```
|
30
|
-
|
31
|
-
### Themes
|
32
|
-
|
33
|
-
To include additional theme's you can replace the `selectize.default` for one of the [theme files](https://github.com/brianreavis/selectize.js/tree/master/dist/css)
|
34
|
-
|
35
|
-
|
36
|
-
## Examples
|
37
|
-
|
38
|
-
See the [demo page of Brian Reavis](http://brianreavis.github.io/selectize.js/) for examples how to use the plugin
|
39
|
-
|
40
|
-
## Changes
|
41
|
-
|
42
|
-
| Version | Notes |
|
43
|
-
| --------:| ----------------------------------------------------------- |
|
44
|
-
| 0.12.
|
45
|
-
| 0.
|
46
|
-
| 0.
|
47
|
-
| 0.
|
48
|
-
| 0.
|
49
|
-
| 0.
|
50
|
-
| 0.
|
51
|
-
| 0.8.
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
* The [selectize
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
1
|
+
# selectize-rails [](http://badge.fury.io/rb/selectize-rails)
|
2
|
+
|
3
|
+
selectize-rails provides the [selectize.js](http://brianreavis.github.io/selectize.js/)
|
4
|
+
plugin as a Rails engine to use it within the asset pipeline.
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
Add this to your Gemfile:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem "selectize-rails"
|
12
|
+
```
|
13
|
+
|
14
|
+
and run `bundle install`.
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
In your `application.js`, include the following:
|
19
|
+
|
20
|
+
```js
|
21
|
+
//= require selectize
|
22
|
+
```
|
23
|
+
|
24
|
+
In your `application.css`, include the following:
|
25
|
+
|
26
|
+
```css
|
27
|
+
*= require selectize
|
28
|
+
*= require selectize.default
|
29
|
+
```
|
30
|
+
|
31
|
+
### Themes
|
32
|
+
|
33
|
+
To include additional theme's you can replace the `selectize.default` for one of the [theme files](https://github.com/brianreavis/selectize.js/tree/master/dist/css)
|
34
|
+
|
35
|
+
|
36
|
+
## Examples
|
37
|
+
|
38
|
+
See the [demo page of Brian Reavis](http://brianreavis.github.io/selectize.js/) for examples how to use the plugin
|
39
|
+
|
40
|
+
## Changes
|
41
|
+
|
42
|
+
| Version | Notes |
|
43
|
+
| --------:| ----------------------------------------------------------- |
|
44
|
+
| 0.12.2 | Update to v0.12.2 of selectize.js |
|
45
|
+
| 0.12.1 | Update to v0.12.1 of selectize.js |
|
46
|
+
| 0.12.0 | Update to v0.12.0 of selectize.js |
|
47
|
+
| 0.11.2 | Update to v0.11.2 of selectize.js |
|
48
|
+
| 0.11.0 | Update to v0.11.0 of selectize.js |
|
49
|
+
| 0.9.1 | Update to v0.9.1 of selectize.js |
|
50
|
+
| 0.9.0 | Update to v0.9.0 of selectize.js |
|
51
|
+
| 0.8.5 | Update to v0.8.5 of selectize.js |
|
52
|
+
| 0.8.4 | Update to v0.8.4 of selectize.js |
|
53
|
+
| 0.8.3 | Update to v0.8.3 of selectize.js |
|
54
|
+
|
55
|
+
[older](CHANGELOG.md)
|
56
|
+
|
57
|
+
## License
|
58
|
+
|
59
|
+
* The [selectize.js](http://brianreavis.github.io/selectize.js/) plugin is licensed under the
|
60
|
+
[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
|
61
|
+
* The [selectize-rails](https://github.com/manuelvanrijn/selectize-rails) project is
|
62
|
+
licensed under the [MIT License](http://opensource.org/licenses/mit-license.html)
|
63
|
+
|
64
|
+
## Contributing
|
65
|
+
|
66
|
+
1. Fork it
|
67
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
68
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
69
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
70
|
+
5. Create new Pull Request
|
data/selectize-rails.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = "selectize-rails"
|
8
8
|
spec.version = Selectize::Rails::VERSION
|
9
9
|
spec.authors = ["Manuel van Rijn"]
|
10
|
-
spec.email = ["manuel@
|
10
|
+
spec.email = ["manuel@manuelvanrijn.nl"]
|
11
11
|
spec.description = %q{A small gem for putting selectize.js into the Rails asset pipeline}
|
12
12
|
spec.summary = %q{an asset gemification of the selectize.js plugin}
|
13
13
|
spec.homepage = "https://github.com/manuelvanrijn/selectize-rails"
|
data/update_from_vendor.sh
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
# Checkout vendor repo
|
4
|
-
echo "Cloning
|
5
|
-
git clone https://github.com/
|
4
|
+
echo "Cloning selectize/selectize.js github repo into tmp_vendor"
|
5
|
+
git clone https://github.com/selectize/selectize.js.git tmp_vendor
|
6
6
|
|
7
7
|
# Copy files
|
8
8
|
echo "Copying selectize.js"
|
@@ -114,13 +114,14 @@
|
|
114
114
|
* @returns {function}
|
115
115
|
*/
|
116
116
|
Sifter.prototype.getScoreFunction = function(search, options) {
|
117
|
-
var self, fields, tokens, token_count;
|
117
|
+
var self, fields, tokens, token_count, nesting;
|
118
118
|
|
119
119
|
self = this;
|
120
120
|
search = self.prepareSearch(search, options);
|
121
121
|
tokens = search.tokens;
|
122
122
|
fields = search.options.fields;
|
123
123
|
token_count = tokens.length;
|
124
|
+
nesting = search.options.nesting;
|
124
125
|
|
125
126
|
/**
|
126
127
|
* Calculates how close of a match the
|
@@ -157,12 +158,12 @@
|
|
157
158
|
}
|
158
159
|
if (field_count === 1) {
|
159
160
|
return function(token, data) {
|
160
|
-
return scoreValue(data
|
161
|
+
return scoreValue(getattr(data, fields[0], nesting), token);
|
161
162
|
};
|
162
163
|
}
|
163
164
|
return function(token, data) {
|
164
165
|
for (var i = 0, sum = 0; i < field_count; i++) {
|
165
|
-
sum += scoreValue(data
|
166
|
+
sum += scoreValue(getattr(data, fields[i], nesting), token);
|
166
167
|
}
|
167
168
|
return sum / field_count;
|
168
169
|
};
|
@@ -223,7 +224,7 @@
|
|
223
224
|
*/
|
224
225
|
get_field = function(name, result) {
|
225
226
|
if (name === '$score') return result.score;
|
226
|
-
return self.items[result.id]
|
227
|
+
return getattr(self.items[result.id], name, options.nesting);
|
227
228
|
};
|
228
229
|
|
229
230
|
// parse options
|
@@ -412,6 +413,21 @@
|
|
412
413
|
return a;
|
413
414
|
};
|
414
415
|
|
416
|
+
/**
|
417
|
+
* A property getter resolving dot-notation
|
418
|
+
* @param {Object} obj The root object to fetch property on
|
419
|
+
* @param {String} name The optionally dotted property name to fetch
|
420
|
+
* @param {Boolean} nesting Handle nesting or not
|
421
|
+
* @return {Object} The resolved property value
|
422
|
+
*/
|
423
|
+
var getattr = function(obj, name, nesting) {
|
424
|
+
if (!obj || !name) return;
|
425
|
+
if (!nesting) return obj[name];
|
426
|
+
var names = name.split(".");
|
427
|
+
while(names.length && (obj = obj[names.shift()]));
|
428
|
+
return obj;
|
429
|
+
};
|
430
|
+
|
415
431
|
var trim = function(str) {
|
416
432
|
return (str + '').replace(/^\s+|\s+$|/g, '');
|
417
433
|
};
|
@@ -420,25 +436,36 @@
|
|
420
436
|
return (str + '').replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
|
421
437
|
};
|
422
438
|
|
423
|
-
var is_array = Array.isArray || ($ && $.isArray) || function(object) {
|
439
|
+
var is_array = Array.isArray || (typeof $ !== 'undefined' && $.isArray) || function(object) {
|
424
440
|
return Object.prototype.toString.call(object) === '[object Array]';
|
425
441
|
};
|
426
442
|
|
427
443
|
var DIACRITICS = {
|
428
|
-
'a': '[
|
429
|
-
'
|
430
|
-
'
|
431
|
-
'
|
432
|
-
'
|
433
|
-
'
|
434
|
-
'
|
435
|
-
'
|
436
|
-
'
|
437
|
-
'
|
438
|
-
'
|
439
|
-
'
|
440
|
-
'
|
441
|
-
'
|
444
|
+
'a': '[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]',
|
445
|
+
'b': '[b␢βΒB฿𐌁ᛒ]',
|
446
|
+
'c': '[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]',
|
447
|
+
'd': '[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]',
|
448
|
+
'e': '[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]',
|
449
|
+
'f': '[fƑƒḞḟ]',
|
450
|
+
'g': '[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]',
|
451
|
+
'h': '[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]',
|
452
|
+
'i': '[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]',
|
453
|
+
'j': '[jȷĴĵɈɉʝɟʲ]',
|
454
|
+
'k': '[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]',
|
455
|
+
'l': '[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]',
|
456
|
+
'n': '[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]',
|
457
|
+
'o': '[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]',
|
458
|
+
'p': '[pṔṕṖṗⱣᵽƤƥᵱ]',
|
459
|
+
'q': '[qꝖꝗʠɊɋꝘꝙq̃]',
|
460
|
+
'r': '[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]',
|
461
|
+
's': '[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]',
|
462
|
+
't': '[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]',
|
463
|
+
'u': '[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]',
|
464
|
+
'v': '[vṼṽṾṿƲʋꝞꝟⱱʋ]',
|
465
|
+
'w': '[wẂẃẀẁŴŵẄẅẆẇẈẉ]',
|
466
|
+
'x': '[xẌẍẊẋχ]',
|
467
|
+
'y': '[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]',
|
468
|
+
'z': '[zŹźẐẑŽžŻżẒẓẔẕƵƶ]'
|
442
469
|
};
|
443
470
|
|
444
471
|
var asciifold = (function() {
|
@@ -608,7 +635,7 @@
|
|
608
635
|
}));
|
609
636
|
|
610
637
|
/**
|
611
|
-
* selectize.js (v0.12.
|
638
|
+
* selectize.js (v0.12.2)
|
612
639
|
* Copyright (c) 2013–2015 Brian Reavis & contributors
|
613
640
|
*
|
614
641
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
@@ -1053,6 +1080,15 @@
|
|
1053
1080
|
update();
|
1054
1081
|
};
|
1055
1082
|
|
1083
|
+
var domToString = function(d) {
|
1084
|
+
var tmp = document.createElement('div');
|
1085
|
+
|
1086
|
+
tmp.appendChild(d.cloneNode(true));
|
1087
|
+
|
1088
|
+
return tmp.innerHTML;
|
1089
|
+
};
|
1090
|
+
|
1091
|
+
|
1056
1092
|
var Selectize = function($input, settings) {
|
1057
1093
|
var key, i, n, dir, input, self = this;
|
1058
1094
|
input = $input[0];
|
@@ -1602,7 +1638,7 @@
|
|
1602
1638
|
* Invokes the user-provide option provider / loader.
|
1603
1639
|
*
|
1604
1640
|
* Note: this function is debounced in the Selectize
|
1605
|
-
* constructor (by `settings.
|
1641
|
+
* constructor (by `settings.loadThrottle` milliseconds)
|
1606
1642
|
*
|
1607
1643
|
* @param {string} value
|
1608
1644
|
*/
|
@@ -1677,7 +1713,7 @@
|
|
1677
1713
|
self.refreshState();
|
1678
1714
|
|
1679
1715
|
// IE11 bug: element still marked as active
|
1680
|
-
|
1716
|
+
dest && dest.focus();
|
1681
1717
|
|
1682
1718
|
self.ignoreFocus = false;
|
1683
1719
|
self.trigger('blur');
|
@@ -2115,10 +2151,10 @@
|
|
2115
2151
|
optgroup = '';
|
2116
2152
|
}
|
2117
2153
|
if (!groups.hasOwnProperty(optgroup)) {
|
2118
|
-
groups[optgroup] =
|
2154
|
+
groups[optgroup] = document.createDocumentFragment();
|
2119
2155
|
groups_order.push(optgroup);
|
2120
2156
|
}
|
2121
|
-
groups[optgroup].
|
2157
|
+
groups[optgroup].appendChild(option_html);
|
2122
2158
|
}
|
2123
2159
|
}
|
2124
2160
|
|
@@ -2132,23 +2168,26 @@
|
|
2132
2168
|
}
|
2133
2169
|
|
2134
2170
|
// render optgroup headers & join groups
|
2135
|
-
html =
|
2171
|
+
html = document.createDocumentFragment();
|
2136
2172
|
for (i = 0, n = groups_order.length; i < n; i++) {
|
2137
2173
|
optgroup = groups_order[i];
|
2138
|
-
if (self.optgroups.hasOwnProperty(optgroup) && groups[optgroup].length) {
|
2174
|
+
if (self.optgroups.hasOwnProperty(optgroup) && groups[optgroup].childNodes.length) {
|
2139
2175
|
// render the optgroup header and options within it,
|
2140
2176
|
// then pass it to the wrapper template
|
2141
|
-
html_children =
|
2142
|
-
html_children
|
2143
|
-
|
2144
|
-
|
2177
|
+
html_children = document.createDocumentFragment();
|
2178
|
+
html_children.appendChild(self.render('optgroup_header', self.optgroups[optgroup]));
|
2179
|
+
html_children.appendChild(groups[optgroup]);
|
2180
|
+
|
2181
|
+
html.appendChild(self.render('optgroup', $.extend({}, self.optgroups[optgroup], {
|
2182
|
+
html: domToString(html_children),
|
2183
|
+
dom: html_children
|
2145
2184
|
})));
|
2146
2185
|
} else {
|
2147
|
-
html.
|
2186
|
+
html.appendChild(groups[optgroup]);
|
2148
2187
|
}
|
2149
2188
|
}
|
2150
2189
|
|
2151
|
-
$dropdown_content.html(html
|
2190
|
+
$dropdown_content.html(html);
|
2152
2191
|
|
2153
2192
|
// highlight matching terms inline
|
2154
2193
|
if (self.settings.highlight && results.query.length && results.tokens.length) {
|
@@ -2236,7 +2275,7 @@
|
|
2236
2275
|
*/
|
2237
2276
|
registerOption: function(data) {
|
2238
2277
|
var key = hash_key(data[this.settings.valueField]);
|
2239
|
-
if (
|
2278
|
+
if (typeof key === 'undefined' || key === null || this.options.hasOwnProperty(key)) return false;
|
2240
2279
|
data.$order = data.$order || ++this.order;
|
2241
2280
|
this.options[key] = data;
|
2242
2281
|
return key;
|
@@ -2539,7 +2578,7 @@
|
|
2539
2578
|
var self = this;
|
2540
2579
|
var $item, i, idx;
|
2541
2580
|
|
2542
|
-
$item = (
|
2581
|
+
$item = (value instanceof $) ? value : self.getItem(value);
|
2543
2582
|
value = hash_key($item.attr('data-value'));
|
2544
2583
|
i = self.items.indexOf(value);
|
2545
2584
|
|
@@ -3099,26 +3138,26 @@
|
|
3099
3138
|
}
|
3100
3139
|
|
3101
3140
|
// render markup
|
3102
|
-
html = self.settings.render[templateName].apply(this, [data, escape_html]);
|
3141
|
+
html = $(self.settings.render[templateName].apply(this, [data, escape_html]));
|
3103
3142
|
|
3104
3143
|
// add mandatory attributes
|
3105
3144
|
if (templateName === 'option' || templateName === 'option_create') {
|
3106
|
-
html
|
3145
|
+
html.attr('data-selectable', '');
|
3107
3146
|
}
|
3108
|
-
if (templateName === 'optgroup') {
|
3147
|
+
else if (templateName === 'optgroup') {
|
3109
3148
|
id = data[self.settings.optgroupValueField] || '';
|
3110
|
-
html
|
3149
|
+
html.attr('data-group', id);
|
3111
3150
|
}
|
3112
3151
|
if (templateName === 'option' || templateName === 'item') {
|
3113
|
-
html
|
3152
|
+
html.attr('data-value', value || '');
|
3114
3153
|
}
|
3115
3154
|
|
3116
3155
|
// update cache
|
3117
3156
|
if (cache) {
|
3118
|
-
self.renderCache[templateName][value] = html;
|
3157
|
+
self.renderCache[templateName][value] = html[0];
|
3119
3158
|
}
|
3120
3159
|
|
3121
|
-
return html;
|
3160
|
+
return html[0];
|
3122
3161
|
},
|
3123
3162
|
|
3124
3163
|
/**
|
@@ -3301,7 +3340,7 @@
|
|
3301
3340
|
var addOption = function($option, group) {
|
3302
3341
|
$option = $($option);
|
3303
3342
|
|
3304
|
-
var value = hash_key($option.
|
3343
|
+
var value = hash_key($option.val());
|
3305
3344
|
if (!value && !settings.allowEmptyOption) return;
|
3306
3345
|
|
3307
3346
|
// if the option already exists, it's probably been
|
@@ -3580,60 +3619,114 @@
|
|
3580
3619
|
});
|
3581
3620
|
|
3582
3621
|
Selectize.define('remove_button', function(options) {
|
3583
|
-
if (this.settings.mode === 'single') return;
|
3584
|
-
|
3585
3622
|
options = $.extend({
|
3586
|
-
|
3587
|
-
|
3588
|
-
|
3589
|
-
|
3590
|
-
|
3623
|
+
label : '×',
|
3624
|
+
title : 'Remove',
|
3625
|
+
className : 'remove',
|
3626
|
+
append : true
|
3627
|
+
}, options);
|
3628
|
+
|
3629
|
+
var singleClose = function(thisRef, options) {
|
3630
|
+
|
3631
|
+
options.className = 'remove-single';
|
3632
|
+
|
3633
|
+
var self = thisRef;
|
3634
|
+
var html = '<a href="javascript:void(0)" class="' + options.className + '" tabindex="-1" title="' + escape_html(options.title) + '">' + options.label + '</a>';
|
3635
|
+
|
3636
|
+
/**
|
3637
|
+
* Appends an element as a child (with raw HTML).
|
3638
|
+
*
|
3639
|
+
* @param {string} html_container
|
3640
|
+
* @param {string} html_element
|
3641
|
+
* @return {string}
|
3642
|
+
*/
|
3643
|
+
var append = function(html_container, html_element) {
|
3644
|
+
return html_container + html_element;
|
3645
|
+
};
|
3591
3646
|
|
3592
|
-
|
3593
|
-
|
3647
|
+
thisRef.setup = (function() {
|
3648
|
+
var original = self.setup;
|
3649
|
+
return function() {
|
3650
|
+
// override the item rendering method to add the button to each
|
3651
|
+
if (options.append) {
|
3652
|
+
var id = $(self.$input.context).attr('id');
|
3653
|
+
var selectizer = $('#'+id);
|
3654
|
+
|
3655
|
+
var render_item = self.settings.render.item;
|
3656
|
+
self.settings.render.item = function(data) {
|
3657
|
+
return append(render_item.apply(thisRef, arguments), html);
|
3658
|
+
};
|
3659
|
+
}
|
3594
3660
|
|
3595
|
-
|
3596
|
-
|
3597
|
-
|
3598
|
-
|
3599
|
-
|
3600
|
-
|
3601
|
-
|
3602
|
-
|
3603
|
-
|
3604
|
-
return html_container.substring(0, pos) + html_element + html_container.substring(pos);
|
3605
|
-
};
|
3661
|
+
original.apply(thisRef, arguments);
|
3662
|
+
|
3663
|
+
// add event listener
|
3664
|
+
thisRef.$control.on('click', '.' + options.className, function(e) {
|
3665
|
+
e.preventDefault();
|
3666
|
+
if (self.isLocked) return;
|
3667
|
+
|
3668
|
+
self.clear();
|
3669
|
+
});
|
3606
3670
|
|
3607
|
-
this.setup = (function() {
|
3608
|
-
var original = self.setup;
|
3609
|
-
return function() {
|
3610
|
-
// override the item rendering method to add the button to each
|
3611
|
-
if (options.append) {
|
3612
|
-
var render_item = self.settings.render.item;
|
3613
|
-
self.settings.render.item = function(data) {
|
3614
|
-
return append(render_item.apply(this, arguments), html);
|
3615
3671
|
};
|
3616
|
-
}
|
3672
|
+
})();
|
3673
|
+
};
|
3617
3674
|
|
3618
|
-
|
3675
|
+
var multiClose = function(thisRef, options) {
|
3676
|
+
|
3677
|
+
var self = thisRef;
|
3678
|
+
var html = '<a href="javascript:void(0)" class="' + options.className + '" tabindex="-1" title="' + escape_html(options.title) + '">' + options.label + '</a>';
|
3679
|
+
|
3680
|
+
/**
|
3681
|
+
* Appends an element as a child (with raw HTML).
|
3682
|
+
*
|
3683
|
+
* @param {string} html_container
|
3684
|
+
* @param {string} html_element
|
3685
|
+
* @return {string}
|
3686
|
+
*/
|
3687
|
+
var append = function(html_container, html_element) {
|
3688
|
+
var pos = html_container.search(/(<\/[^>]+>\s*)$/);
|
3689
|
+
return html_container.substring(0, pos) + html_element + html_container.substring(pos);
|
3690
|
+
};
|
3619
3691
|
|
3620
|
-
|
3621
|
-
|
3622
|
-
|
3623
|
-
|
3692
|
+
thisRef.setup = (function() {
|
3693
|
+
var original = self.setup;
|
3694
|
+
return function() {
|
3695
|
+
// override the item rendering method to add the button to each
|
3696
|
+
if (options.append) {
|
3697
|
+
var render_item = self.settings.render.item;
|
3698
|
+
self.settings.render.item = function(data) {
|
3699
|
+
return append(render_item.apply(thisRef, arguments), html);
|
3700
|
+
};
|
3701
|
+
}
|
3624
3702
|
|
3625
|
-
|
3626
|
-
self.setActiveItem($item);
|
3627
|
-
if (self.deleteSelection()) {
|
3628
|
-
self.setCaret(self.items.length);
|
3629
|
-
}
|
3630
|
-
});
|
3703
|
+
original.apply(thisRef, arguments);
|
3631
3704
|
|
3705
|
+
// add event listener
|
3706
|
+
thisRef.$control.on('click', '.' + options.className, function(e) {
|
3707
|
+
e.preventDefault();
|
3708
|
+
if (self.isLocked) return;
|
3709
|
+
|
3710
|
+
var $item = $(e.currentTarget).parent();
|
3711
|
+
self.setActiveItem($item);
|
3712
|
+
if (self.deleteSelection()) {
|
3713
|
+
self.setCaret(self.items.length);
|
3714
|
+
}
|
3715
|
+
});
|
3716
|
+
|
3717
|
+
};
|
3718
|
+
})();
|
3632
3719
|
};
|
3633
|
-
})();
|
3634
3720
|
|
3721
|
+
if (this.settings.mode === 'single') {
|
3722
|
+
singleClose(this, options);
|
3723
|
+
return;
|
3724
|
+
} else {
|
3725
|
+
multiClose(this, options);
|
3726
|
+
}
|
3635
3727
|
});
|
3636
3728
|
|
3729
|
+
|
3637
3730
|
Selectize.define('restore_on_backspace', function(options) {
|
3638
3731
|
var self = this;
|
3639
3732
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* selectize.bootstrap2.css (v0.12.
|
2
|
+
* selectize.bootstrap2.css (v0.12.2) - 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
|
@@ -108,6 +108,12 @@
|
|
108
108
|
.selectize-control.plugin-remove_button .disabled [data-value] .remove {
|
109
109
|
border-left-color: #e0e0e0;
|
110
110
|
}
|
111
|
+
.selectize-control.plugin-remove_button .remove-single {
|
112
|
+
position: absolute;
|
113
|
+
right: 28px;
|
114
|
+
top: 6px;
|
115
|
+
font-size: 23px;
|
116
|
+
}
|
111
117
|
.selectize-control {
|
112
118
|
position: relative;
|
113
119
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* selectize.bootstrap3.css (v0.12.
|
2
|
+
* selectize.bootstrap3.css (v0.12.2) - 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
|
@@ -108,6 +108,12 @@
|
|
108
108
|
.selectize-control.plugin-remove_button .disabled [data-value] .remove {
|
109
109
|
border-left-color: rgba(77, 77, 77, 0);
|
110
110
|
}
|
111
|
+
.selectize-control.plugin-remove_button .remove-single {
|
112
|
+
position: absolute;
|
113
|
+
right: 28px;
|
114
|
+
top: 6px;
|
115
|
+
font-size: 23px;
|
116
|
+
}
|
111
117
|
.selectize-control {
|
112
118
|
position: relative;
|
113
119
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* selectize.css (v0.12.
|
2
|
+
* selectize.css (v0.12.2)
|
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
|
@@ -109,6 +109,12 @@
|
|
109
109
|
.selectize-control.plugin-remove_button .disabled [data-value] .remove {
|
110
110
|
border-left-color: #ffffff;
|
111
111
|
}
|
112
|
+
.selectize-control.plugin-remove_button .remove-single {
|
113
|
+
position: absolute;
|
114
|
+
right: 28px;
|
115
|
+
top: 6px;
|
116
|
+
font-size: 23px;
|
117
|
+
}
|
112
118
|
.selectize-control {
|
113
119
|
position: relative;
|
114
120
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* selectize.default.css (v0.12.
|
2
|
+
* selectize.default.css (v0.12.2) - Default 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
|
@@ -108,6 +108,12 @@
|
|
108
108
|
.selectize-control.plugin-remove_button .disabled [data-value] .remove {
|
109
109
|
border-left-color: #aaaaaa;
|
110
110
|
}
|
111
|
+
.selectize-control.plugin-remove_button .remove-single {
|
112
|
+
position: absolute;
|
113
|
+
right: 28px;
|
114
|
+
top: 6px;
|
115
|
+
font-size: 23px;
|
116
|
+
}
|
111
117
|
.selectize-control {
|
112
118
|
position: relative;
|
113
119
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* selectize.legacy.css (v0.12.
|
2
|
+
* selectize.legacy.css (v0.12.2) - Default 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
|
@@ -108,6 +108,12 @@
|
|
108
108
|
.selectize-control.plugin-remove_button .disabled [data-value] .remove {
|
109
109
|
border-left-color: #b4b4b4;
|
110
110
|
}
|
111
|
+
.selectize-control.plugin-remove_button .remove-single {
|
112
|
+
position: absolute;
|
113
|
+
right: 28px;
|
114
|
+
top: 6px;
|
115
|
+
font-size: 23px;
|
116
|
+
}
|
111
117
|
.selectize-control {
|
112
118
|
position: relative;
|
113
119
|
}
|
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.2
|
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:
|
11
|
+
date: 2016-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
version: '0'
|
41
41
|
description: A small gem for putting selectize.js into the Rails asset pipeline
|
42
42
|
email:
|
43
|
-
- manuel@
|
43
|
+
- manuel@manuelvanrijn.nl
|
44
44
|
executables: []
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
@@ -83,9 +83,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
83
83
|
version: '0'
|
84
84
|
requirements: []
|
85
85
|
rubyforge_project:
|
86
|
-
rubygems_version: 2.
|
86
|
+
rubygems_version: 2.5.1
|
87
87
|
signing_key:
|
88
88
|
specification_version: 4
|
89
89
|
summary: an asset gemification of the selectize.js plugin
|
90
90
|
test_files: []
|
91
|
-
has_rdoc:
|