effective_form_inputs 0.8.6 → 0.8.7
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e29d7adcba10153ba227c0a57d8f932751c0421
|
4
|
+
data.tar.gz: e9ce8f96ea31f6c403dc5c7a72e44b3e21dd045a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 072a6b75bed552aaa270adfa8a3b2c4629e9459a29622d7eaaf32f91ee29a8d0fb9a19920ef17f352c583fa51d87176b04a306d5a97fddba2f61a51c1d4c79f6
|
7
|
+
data.tar.gz: 31e2f0a827ba0aafd096e10983ea9ea1067d4a8e1b386c983c316c0d750aeb13fcd678a999a01164e0074f31b427e07a22cc6b3855c044309a3e14a12147fdb1
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Select2 4.0.
|
2
|
+
* Select2 4.0.1
|
3
3
|
* https://select2.github.io
|
4
4
|
*
|
5
5
|
* Released under the MIT license
|
@@ -30,7 +30,7 @@
|
|
30
30
|
var S2;(function () { if (!S2 || !S2.requirejs) {
|
31
31
|
if (!S2) { S2 = {}; } else { require = S2; }
|
32
32
|
/**
|
33
|
-
* @license almond 0.
|
33
|
+
* @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.
|
34
34
|
* Available via the MIT or new BSD license.
|
35
35
|
* see: http://github.com/jrburke/almond for details
|
36
36
|
*/
|
@@ -75,12 +75,6 @@ var requirejs, require, define;
|
|
75
75
|
//otherwise, assume it is a top-level require that will
|
76
76
|
//be relative to baseUrl in the end.
|
77
77
|
if (baseName) {
|
78
|
-
//Convert baseName to array, and lop off the last part,
|
79
|
-
//so that . matches that "directory" and not name of the baseName's
|
80
|
-
//module. For instance, baseName of "one/two/three", maps to
|
81
|
-
//"one/two/three.js", but we want the directory, "one/two" for
|
82
|
-
//this normalization.
|
83
|
-
baseParts = baseParts.slice(0, baseParts.length - 1);
|
84
78
|
name = name.split('/');
|
85
79
|
lastIndex = name.length - 1;
|
86
80
|
|
@@ -89,7 +83,11 @@ var requirejs, require, define;
|
|
89
83
|
name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
|
90
84
|
}
|
91
85
|
|
92
|
-
|
86
|
+
//Lop off the last part of baseParts, so that . matches the
|
87
|
+
//"directory" and not name of the baseName's module. For instance,
|
88
|
+
//baseName of "one/two/three", maps to "one/two/three.js", but we
|
89
|
+
//want the directory, "one/two" for this normalization.
|
90
|
+
name = baseParts.slice(0, baseParts.length - 1).concat(name);
|
93
91
|
|
94
92
|
//start trimDots
|
95
93
|
for (i = 0; i < name.length; i += 1) {
|
@@ -181,7 +179,15 @@ var requirejs, require, define;
|
|
181
179
|
//A version of a require function that passes a moduleName
|
182
180
|
//value for items that may need to
|
183
181
|
//look up paths relative to the moduleName
|
184
|
-
|
182
|
+
var args = aps.call(arguments, 0);
|
183
|
+
|
184
|
+
//If first arg is not require('string'), and there is only
|
185
|
+
//one arg, it is the array form without a callback. Insert
|
186
|
+
//a null so that the following concat is correct.
|
187
|
+
if (typeof args[0] !== 'string' && args.length === 1) {
|
188
|
+
args.push(null);
|
189
|
+
}
|
190
|
+
return req.apply(undef, args.concat([relName, forceSync]));
|
185
191
|
};
|
186
192
|
}
|
187
193
|
|
@@ -431,6 +437,9 @@ var requirejs, require, define;
|
|
431
437
|
requirejs._defined = defined;
|
432
438
|
|
433
439
|
define = function (name, deps, callback) {
|
440
|
+
if (typeof name !== 'string') {
|
441
|
+
throw new Error('See almond README: incorrect module build, no module name');
|
442
|
+
}
|
434
443
|
|
435
444
|
//This module may not have dependencies
|
436
445
|
if (!deps.splice) {
|
@@ -773,7 +782,8 @@ S2.define('select2/results',[
|
|
773
782
|
this.hideLoading();
|
774
783
|
|
775
784
|
var $message = $(
|
776
|
-
'<li role="treeitem"
|
785
|
+
'<li role="treeitem" aria-live="assertive"' +
|
786
|
+
' class="select2-results__option"></li>'
|
777
787
|
);
|
778
788
|
|
779
789
|
var message = this.options.get('translations').get(params.message);
|
@@ -784,9 +794,15 @@ S2.define('select2/results',[
|
|
784
794
|
)
|
785
795
|
);
|
786
796
|
|
797
|
+
$message[0].className += ' select2-results__message';
|
798
|
+
|
787
799
|
this.$results.append($message);
|
788
800
|
};
|
789
801
|
|
802
|
+
Results.prototype.hideMessages = function () {
|
803
|
+
this.$results.find('.select2-results__message').remove();
|
804
|
+
};
|
805
|
+
|
790
806
|
Results.prototype.append = function (data) {
|
791
807
|
this.hideLoading();
|
792
808
|
|
@@ -986,6 +1002,7 @@ S2.define('select2/results',[
|
|
986
1002
|
});
|
987
1003
|
|
988
1004
|
container.on('query', function (params) {
|
1005
|
+
self.hideMessages();
|
989
1006
|
self.showLoading(params);
|
990
1007
|
});
|
991
1008
|
|
@@ -1229,7 +1246,7 @@ S2.define('select2/results',[
|
|
1229
1246
|
var template = this.options.get('templateResult');
|
1230
1247
|
var escapeMarkup = this.options.get('escapeMarkup');
|
1231
1248
|
|
1232
|
-
var content = template(result);
|
1249
|
+
var content = template(result, container);
|
1233
1250
|
|
1234
1251
|
if (content == null) {
|
1235
1252
|
container.style.display = 'none';
|
@@ -1286,7 +1303,7 @@ S2.define('select2/selection/base',[
|
|
1286
1303
|
BaseSelection.prototype.render = function () {
|
1287
1304
|
var $selection = $(
|
1288
1305
|
'<span class="select2-selection" role="combobox" ' +
|
1289
|
-
'
|
1306
|
+
' aria-haspopup="true" aria-expanded="false">' +
|
1290
1307
|
'</span>'
|
1291
1308
|
);
|
1292
1309
|
|
@@ -1369,7 +1386,7 @@ S2.define('select2/selection/base',[
|
|
1369
1386
|
BaseSelection.prototype._handleBlur = function (evt) {
|
1370
1387
|
var self = this;
|
1371
1388
|
|
1372
|
-
// This needs to be delayed as the
|
1389
|
+
// This needs to be delayed as the active element is the body when the tab
|
1373
1390
|
// key is pressed, possibly along with others.
|
1374
1391
|
window.setTimeout(function () {
|
1375
1392
|
// Don't trigger `blur` if the focus is still in the selection
|
@@ -1794,7 +1811,7 @@ S2.define('select2/selection/search',[
|
|
1794
1811
|
'<li class="select2-search select2-search--inline">' +
|
1795
1812
|
'<input class="select2-search__field" type="search" tabindex="-1"' +
|
1796
1813
|
' autocomplete="off" autocorrect="off" autocapitalize="off"' +
|
1797
|
-
' spellcheck="false" role="textbox" />' +
|
1814
|
+
' spellcheck="false" role="textbox" aria-autocomplete="list" />' +
|
1798
1815
|
'</li>'
|
1799
1816
|
);
|
1800
1817
|
|
@@ -1819,6 +1836,7 @@ S2.define('select2/selection/search',[
|
|
1819
1836
|
|
1820
1837
|
container.on('close', function () {
|
1821
1838
|
self.$search.val('');
|
1839
|
+
self.$search.removeAttr('aria-activedescendant');
|
1822
1840
|
self.$search.trigger('focus');
|
1823
1841
|
});
|
1824
1842
|
|
@@ -1836,6 +1854,10 @@ S2.define('select2/selection/search',[
|
|
1836
1854
|
self.$search.trigger('focus');
|
1837
1855
|
});
|
1838
1856
|
|
1857
|
+
container.on('results:focus', function (params) {
|
1858
|
+
self.$search.attr('aria-activedescendant', params.id);
|
1859
|
+
});
|
1860
|
+
|
1839
1861
|
this.$selection.on('focusin', '.select2-search--inline', function (evt) {
|
1840
1862
|
self.trigger('focus', evt);
|
1841
1863
|
});
|
@@ -1867,6 +1889,14 @@ S2.define('select2/selection/search',[
|
|
1867
1889
|
}
|
1868
1890
|
});
|
1869
1891
|
|
1892
|
+
// Try to detect the IE version should the `documentMode` property that
|
1893
|
+
// is stored on the document. This is only implemented in IE and is
|
1894
|
+
// slightly cleaner than doing a user agent check.
|
1895
|
+
// This property is not available in Edge, but Edge also doesn't have
|
1896
|
+
// this bug.
|
1897
|
+
var msie = document.documentMode;
|
1898
|
+
var disableInputEvents = msie && msie <= 11;
|
1899
|
+
|
1870
1900
|
// Workaround for browsers which do not support the `input` event
|
1871
1901
|
// This will prevent double-triggering of events for browsers which support
|
1872
1902
|
// both the `keyup` and `input` events.
|
@@ -1874,17 +1904,10 @@ S2.define('select2/selection/search',[
|
|
1874
1904
|
'input.searchcheck',
|
1875
1905
|
'.select2-search--inline',
|
1876
1906
|
function (evt) {
|
1877
|
-
// Try to detect the IE version should the `documentMode` property that
|
1878
|
-
// is stored on the document. This is only implemented in IE and is
|
1879
|
-
// slightly cleaner than doing a user agent check.
|
1880
|
-
// This property is not available in Edge, but Edge also doesn't have
|
1881
|
-
// this bug.
|
1882
|
-
var msie = document.documentMode;
|
1883
|
-
|
1884
1907
|
// IE will trigger the `input` event when a placeholder is used on a
|
1885
1908
|
// search box. To get around this issue, we are forced to ignore all
|
1886
1909
|
// `input` events in IE and keep using `keyup`.
|
1887
|
-
if (
|
1910
|
+
if (disableInputEvents) {
|
1888
1911
|
self.$selection.off('input.search input.searchcheck');
|
1889
1912
|
return;
|
1890
1913
|
}
|
@@ -1898,6 +1921,14 @@ S2.define('select2/selection/search',[
|
|
1898
1921
|
'keyup.search input.search',
|
1899
1922
|
'.select2-search--inline',
|
1900
1923
|
function (evt) {
|
1924
|
+
// IE will trigger the `input` event when a placeholder is used on a
|
1925
|
+
// search box. To get around this issue, we are forced to ignore all
|
1926
|
+
// `input` events in IE and keep using `keyup`.
|
1927
|
+
if (disableInputEvents && evt.type === 'input') {
|
1928
|
+
self.$selection.off('input.search input.searchcheck');
|
1929
|
+
return;
|
1930
|
+
}
|
1931
|
+
|
1901
1932
|
var key = evt.which;
|
1902
1933
|
|
1903
1934
|
// We can freely ignore events from modifier keys
|
@@ -1966,9 +1997,8 @@ S2.define('select2/selection/search',[
|
|
1966
1997
|
data: item
|
1967
1998
|
});
|
1968
1999
|
|
1969
|
-
this.
|
1970
|
-
|
1971
|
-
this.$search.val(item.text + ' ');
|
2000
|
+
this.$search.val(item.text);
|
2001
|
+
this.handleSearch();
|
1972
2002
|
};
|
1973
2003
|
|
1974
2004
|
Search.prototype.resizeSearch = function () {
|
@@ -3348,9 +3378,9 @@ S2.define('select2/data/ajax',[
|
|
3348
3378
|
AjaxAdapter.prototype._applyDefaults = function (options) {
|
3349
3379
|
var defaults = {
|
3350
3380
|
data: function (params) {
|
3351
|
-
return {
|
3381
|
+
return $.extend({}, params, {
|
3352
3382
|
q: params.term
|
3353
|
-
};
|
3383
|
+
});
|
3354
3384
|
},
|
3355
3385
|
transport: function (params, success, failure) {
|
3356
3386
|
var $request = $.ajax(params);
|
@@ -3387,11 +3417,11 @@ S2.define('select2/data/ajax',[
|
|
3387
3417
|
}, this.ajaxOptions);
|
3388
3418
|
|
3389
3419
|
if (typeof options.url === 'function') {
|
3390
|
-
options.url = options.url(params);
|
3420
|
+
options.url = options.url.call(this.$element, params);
|
3391
3421
|
}
|
3392
3422
|
|
3393
3423
|
if (typeof options.data === 'function') {
|
3394
|
-
options.data = options.data(params);
|
3424
|
+
options.data = options.data.call(this.$element, params);
|
3395
3425
|
}
|
3396
3426
|
|
3397
3427
|
function request () {
|
@@ -3766,6 +3796,10 @@ S2.define('select2/dropdown',[
|
|
3766
3796
|
return $dropdown;
|
3767
3797
|
};
|
3768
3798
|
|
3799
|
+
Dropdown.prototype.bind = function () {
|
3800
|
+
// Should be implemented in subclasses
|
3801
|
+
};
|
3802
|
+
|
3769
3803
|
Dropdown.prototype.position = function ($dropdown, $container) {
|
3770
3804
|
// Should be implmented in subclasses
|
3771
3805
|
};
|
@@ -3992,7 +4026,9 @@ S2.define('select2/dropdown/infiniteScroll',[
|
|
3992
4026
|
|
3993
4027
|
InfiniteScroll.prototype.createLoadingMore = function () {
|
3994
4028
|
var $option = $(
|
3995
|
-
'<li
|
4029
|
+
'<li ' +
|
4030
|
+
'class="select2-results__option select2-results__option--load-more"' +
|
4031
|
+
'role="treeitem" aria-disabled="true"></li>'
|
3996
4032
|
);
|
3997
4033
|
|
3998
4034
|
var message = this.options.get('translations').get('loadingMore');
|
@@ -4010,7 +4046,7 @@ S2.define('select2/dropdown/attachBody',[
|
|
4010
4046
|
'../utils'
|
4011
4047
|
], function ($, Utils) {
|
4012
4048
|
function AttachBody (decorated, $element, options) {
|
4013
|
-
this.$dropdownParent = options.get('dropdownParent') || document.body;
|
4049
|
+
this.$dropdownParent = options.get('dropdownParent') || $(document.body);
|
4014
4050
|
|
4015
4051
|
decorated.call(this, $element, options);
|
4016
4052
|
}
|
@@ -4087,7 +4123,8 @@ S2.define('select2/dropdown/attachBody',[
|
|
4087
4123
|
this.$dropdownContainer.detach();
|
4088
4124
|
};
|
4089
4125
|
|
4090
|
-
AttachBody.prototype._attachPositioningHandler =
|
4126
|
+
AttachBody.prototype._attachPositioningHandler =
|
4127
|
+
function (decorated, container) {
|
4091
4128
|
var self = this;
|
4092
4129
|
|
4093
4130
|
var scrollEvent = 'scroll.select2.' + container.id;
|
@@ -4114,7 +4151,8 @@ S2.define('select2/dropdown/attachBody',[
|
|
4114
4151
|
});
|
4115
4152
|
};
|
4116
4153
|
|
4117
|
-
AttachBody.prototype._detachPositioningHandler =
|
4154
|
+
AttachBody.prototype._detachPositioningHandler =
|
4155
|
+
function (decorated, container) {
|
4118
4156
|
var scrollEvent = 'scroll.select2.' + container.id;
|
4119
4157
|
var resizeEvent = 'resize.select2.' + container.id;
|
4120
4158
|
var orientationEvent = 'orientationchange.select2.' + container.id;
|
@@ -4162,6 +4200,14 @@ S2.define('select2/dropdown/attachBody',[
|
|
4162
4200
|
top: container.bottom
|
4163
4201
|
};
|
4164
4202
|
|
4203
|
+
// Fix positioning with static parents
|
4204
|
+
if (this.$dropdownParent[0].style.position !== 'static') {
|
4205
|
+
var parentOffset = this.$dropdownParent.offset();
|
4206
|
+
|
4207
|
+
css.top -= parentOffset.top;
|
4208
|
+
css.left -= parentOffset.left;
|
4209
|
+
}
|
4210
|
+
|
4165
4211
|
if (!isCurrentlyAbove && !isCurrentlyBelow) {
|
4166
4212
|
newDirection = 'below';
|
4167
4213
|
}
|
@@ -4270,12 +4316,23 @@ S2.define('select2/dropdown/selectOnClose',[
|
|
4270
4316
|
SelectOnClose.prototype._handleSelectOnClose = function () {
|
4271
4317
|
var $highlightedResults = this.getHighlightedResults();
|
4272
4318
|
|
4319
|
+
// Only select highlighted results
|
4273
4320
|
if ($highlightedResults.length < 1) {
|
4274
4321
|
return;
|
4275
4322
|
}
|
4276
4323
|
|
4324
|
+
var data = $highlightedResults.data('data');
|
4325
|
+
|
4326
|
+
// Don't re-select already selected resulte
|
4327
|
+
if (
|
4328
|
+
(data.element != null && data.element.selected) ||
|
4329
|
+
(data.element == null && data.selected)
|
4330
|
+
) {
|
4331
|
+
return;
|
4332
|
+
}
|
4333
|
+
|
4277
4334
|
this.trigger('select', {
|
4278
|
-
data:
|
4335
|
+
data: data
|
4279
4336
|
});
|
4280
4337
|
};
|
4281
4338
|
|
@@ -5240,6 +5297,10 @@ S2.define('select2/core',[
|
|
5240
5297
|
'unselect': 'unselecting'
|
5241
5298
|
};
|
5242
5299
|
|
5300
|
+
if (args === undefined) {
|
5301
|
+
args = {};
|
5302
|
+
}
|
5303
|
+
|
5243
5304
|
if (name in preTriggerMap) {
|
5244
5305
|
var preTriggerName = preTriggerMap[name];
|
5245
5306
|
var preTriggerArgs = {
|
@@ -5422,16 +5483,20 @@ S2.define('select2/core',[
|
|
5422
5483
|
return Select2;
|
5423
5484
|
});
|
5424
5485
|
|
5486
|
+
S2.define('jquery-mousewheel',[
|
5487
|
+
'jquery'
|
5488
|
+
], function ($) {
|
5489
|
+
// Used to shim jQuery.mousewheel for non-full builds.
|
5490
|
+
return $;
|
5491
|
+
});
|
5492
|
+
|
5425
5493
|
S2.define('jquery.select2',[
|
5426
5494
|
'jquery',
|
5427
|
-
'
|
5495
|
+
'jquery-mousewheel',
|
5428
5496
|
|
5429
5497
|
'./select2/core',
|
5430
5498
|
'./select2/defaults'
|
5431
|
-
], function ($,
|
5432
|
-
// Force jQuery.mousewheel to be loaded if it hasn't already
|
5433
|
-
require('jquery.mousewheel');
|
5434
|
-
|
5499
|
+
], function ($, _, Select2, Defaults) {
|
5435
5500
|
if ($.fn.select2 == null) {
|
5436
5501
|
// All methods that should return the element
|
5437
5502
|
var thisMethods = ['open', 'close', 'destroy'];
|
@@ -5441,25 +5506,29 @@ S2.define('jquery.select2',[
|
|
5441
5506
|
|
5442
5507
|
if (typeof options === 'object') {
|
5443
5508
|
this.each(function () {
|
5444
|
-
var instanceOptions = $.extend({}, options
|
5509
|
+
var instanceOptions = $.extend(true, {}, options);
|
5445
5510
|
|
5446
5511
|
var instance = new Select2($(this), instanceOptions);
|
5447
5512
|
});
|
5448
5513
|
|
5449
5514
|
return this;
|
5450
5515
|
} else if (typeof options === 'string') {
|
5451
|
-
var
|
5516
|
+
var ret;
|
5452
5517
|
|
5453
|
-
|
5454
|
-
|
5455
|
-
|
5456
|
-
|
5457
|
-
|
5458
|
-
|
5518
|
+
this.each(function () {
|
5519
|
+
var instance = $(this).data('select2');
|
5520
|
+
|
5521
|
+
if (instance == null && window.console && console.error) {
|
5522
|
+
console.error(
|
5523
|
+
'The select2(\'' + options + '\') method was called on an ' +
|
5524
|
+
'element that is not using Select2.'
|
5525
|
+
);
|
5526
|
+
}
|
5459
5527
|
|
5460
|
-
|
5528
|
+
var args = Array.prototype.slice.call(arguments, 1);
|
5461
5529
|
|
5462
|
-
|
5530
|
+
ret = instance[options].apply(instance, args);
|
5531
|
+
});
|
5463
5532
|
|
5464
5533
|
// Check if we should be returning `this`
|
5465
5534
|
if ($.inArray(options, thisMethods) > -1) {
|
@@ -5480,13 +5549,6 @@ S2.define('jquery.select2',[
|
|
5480
5549
|
return Select2;
|
5481
5550
|
});
|
5482
5551
|
|
5483
|
-
S2.define('jquery.mousewheel',[
|
5484
|
-
'jquery'
|
5485
|
-
], function ($) {
|
5486
|
-
// Used to shim jQuery.mousewheel for non-full builds.
|
5487
|
-
return $;
|
5488
|
-
});
|
5489
|
-
|
5490
5552
|
// Return the AMD loader configuration so it can be used outside of this file
|
5491
5553
|
return {
|
5492
5554
|
define: S2.define,
|
@@ -12,6 +12,10 @@
|
|
12
12
|
width: 10px;
|
13
13
|
}
|
14
14
|
|
15
|
+
.select2-container .select2-search--inline .select2-search__field {
|
16
|
+
width: 100% !important;
|
17
|
+
}
|
18
|
+
|
15
19
|
.select2-container--focus:not(.select2-container--open) {
|
16
20
|
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);
|
17
21
|
outline: 0 none;
|
@@ -18,6 +18,8 @@
|
|
18
18
|
overflow: hidden;
|
19
19
|
text-overflow: ellipsis;
|
20
20
|
white-space: nowrap; }
|
21
|
+
.select2-container .select2-selection--single .select2-selection__clear {
|
22
|
+
position: relative; }
|
21
23
|
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
22
24
|
padding-right: 8px;
|
23
25
|
padding-left: 20px; }
|
@@ -247,7 +249,8 @@
|
|
247
249
|
background: transparent;
|
248
250
|
border: none;
|
249
251
|
outline: 0;
|
250
|
-
box-shadow: none;
|
252
|
+
box-shadow: none;
|
253
|
+
-webkit-appearance: textfield; }
|
251
254
|
|
252
255
|
.select2-container--default .select2-results > .select2-results__options {
|
253
256
|
max-height: 200px;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_form_inputs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|