webshims-rails 1.12.7 → 1.13.0
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/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +12 -1
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +7 -4
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +7 -4
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +23 -10
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +7 -2
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +7 -2
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +28 -13
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +28 -13
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +5 -4
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +5 -4
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +5 -4
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +5 -4
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +24 -10
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +20 -9
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +7 -2
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +7 -2
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +21 -9
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +21 -9
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +3 -1
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +28 -13
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +28 -13
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +7 -2
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +7 -2
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +7 -4
- data/vendor/assets/javascripts/webshims/shims/form-core.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/form-message.js +3 -1
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +20 -9
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +7 -4
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +7 -1
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +4 -4
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +6 -3
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +16 -13
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +5 -4
- data/vendor/assets/javascripts/webshims/shims/picture.js +570 -0
- data/vendor/assets/javascripts/webshims/shims/promise.js +684 -0
- data/vendor/assets/javascripts/webshims/shims/styles/color-picker.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +90 -38
- data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +1039 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +12 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
- metadata +10 -10
- data/vendor/assets/javascripts/webshims/shims/styles/forms.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +0 -219
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +0 -115
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +0 -31
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +0 -479
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +0 -488
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +0 -2
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +0 -633
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5374e0cd9a6fd8e0eaaa7b878c41f82d3e322295
|
4
|
+
data.tar.gz: c0251d2da6c787975c0dc9bb2d0a491bd1a72531
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc5436fa63df97dfedc85bda1c2dffaab9e6c290d86923ac026dc879c8f724ee093a350df3713e855da9c2885d4f5c2a4a82a16f8a4c57725513d82d399ed3ba
|
7
|
+
data.tar.gz: c6527e7e3fe88239f97fca4d4a61beecb642190cae552b733057ae559c24f1a5842632778814df8d2a492908b1c7dad99d9d2a040a7c9995a53e8660f6473940
|
@@ -116,7 +116,7 @@
|
|
116
116
|
path = path.split('?')[0].slice(0, path.lastIndexOf("/") + 1) + 'shims/';
|
117
117
|
|
118
118
|
$.extend(webshims, {
|
119
|
-
version: '1.
|
119
|
+
version: '1.13.0',
|
120
120
|
cfg: {
|
121
121
|
enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 721px)').matches),
|
122
122
|
//addCacheBuster: false,
|
@@ -923,6 +923,17 @@
|
|
923
923
|
d: ['es5'],
|
924
924
|
c: [16, 7, 2, 15, 30, 3, 8, 4, 9, 10, 25, 19, 20, 26, 31, 34]
|
925
925
|
});
|
926
|
+
|
927
|
+
document.createElement('picture');
|
928
|
+
addPolyfill('picture', {
|
929
|
+
test: !!window.HTMLPictureElement
|
930
|
+
});
|
931
|
+
|
932
|
+
|
933
|
+
addPolyfill('promise', {
|
934
|
+
test: !!(window.Promise && Promise.all)
|
935
|
+
});
|
936
|
+
|
926
937
|
|
927
938
|
|
928
939
|
//<geolocation
|
@@ -431,6 +431,7 @@ webshims.isReady('swfmini', true);
|
|
431
431
|
|
432
432
|
|
433
433
|
webshims.getContentValidationMessage = function(elem, validity, key){
|
434
|
+
var customRule;
|
434
435
|
if(webshims.errorbox && webshims.errorbox.initIvalContentMessage){
|
435
436
|
webshims.errorbox.initIvalContentMessage(elem);
|
436
437
|
}
|
@@ -445,7 +446,9 @@ webshims.isReady('swfmini', true);
|
|
445
446
|
}
|
446
447
|
if(typeof message == 'object'){
|
447
448
|
validity = validity || $.prop(elem, 'validity') || {valid: 1};
|
448
|
-
if(
|
449
|
+
if(validity.customError && (customRule = $.data(elem, 'customMismatchedRule')) && message[customRule] && typeof message[customRule] == 'string'){
|
450
|
+
message = message[customRule];
|
451
|
+
} else if(!validity.valid){
|
449
452
|
$.each(validity, function(name, prop){
|
450
453
|
if(prop && name != 'valid' && message[name]){
|
451
454
|
message = message[name];
|
@@ -2769,7 +2769,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2769
2769
|
}
|
2770
2770
|
this.elemHelper.prop('valueAsNumber', start);
|
2771
2771
|
this.options.defValue = this.elemHelper.prop('value');
|
2772
|
-
|
2773
2772
|
},
|
2774
2773
|
reorderInputs: function(){
|
2775
2774
|
if(splitInputs[this.type]){
|
@@ -2836,7 +2835,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2836
2835
|
selectionEnd = this._getSelectionEnd(val);
|
2837
2836
|
}
|
2838
2837
|
this.element.prop(name, val);
|
2839
|
-
if(selectionEnd){
|
2838
|
+
if(selectionEnd != null){
|
2840
2839
|
this.element.prop('selectionEnd', selectionEnd);
|
2841
2840
|
}
|
2842
2841
|
}
|
@@ -2851,6 +2850,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2851
2850
|
spinBtnProto[name] = function(val){
|
2852
2851
|
this.elemHelper.prop(name, val);
|
2853
2852
|
this[numName] = this.asNumber(val);
|
2853
|
+
|
2854
2854
|
if(this.valueAsNumber != null && (isNaN(this.valueAsNumber) || (!isNaN(this[numName]) && (this.valueAsNumber * factor) < (this[numName] * factor)))){
|
2855
2855
|
this._setStartInRange();
|
2856
2856
|
}
|
@@ -3487,11 +3487,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
3487
3487
|
|
3488
3488
|
var type = $.prop(this, 'type');
|
3489
3489
|
|
3490
|
-
var i, opts, data, optsName, labels, cNames;
|
3490
|
+
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
3491
3491
|
if(inputTypes[type] && webshims.implement(this, 'inputwidgets')){
|
3492
3492
|
data = {};
|
3493
3493
|
optsName = type;
|
3494
|
-
|
3494
|
+
hasInitialFocus = $(this).is(':focus');
|
3495
3495
|
labels = $(this).jProp('labels');
|
3496
3496
|
opts = $.extend(webshims.getOptions(this, type, [options.widgets, options[type], $($.prop(this, 'form')).data(type)]), {
|
3497
3497
|
orig: this,
|
@@ -3616,6 +3616,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
3616
3616
|
} else {
|
3617
3617
|
$(this).css('display', 'none');
|
3618
3618
|
}
|
3619
|
+
if(hasInitialFocus){
|
3620
|
+
$(this).getShadowFocusElement().trigger('focus');
|
3621
|
+
}
|
3619
3622
|
}
|
3620
3623
|
|
3621
3624
|
};
|
@@ -1578,7 +1578,6 @@
|
|
1578
1578
|
}
|
1579
1579
|
this.elemHelper.prop('valueAsNumber', start);
|
1580
1580
|
this.options.defValue = this.elemHelper.prop('value');
|
1581
|
-
|
1582
1581
|
},
|
1583
1582
|
reorderInputs: function(){
|
1584
1583
|
if(splitInputs[this.type]){
|
@@ -1645,7 +1644,7 @@
|
|
1645
1644
|
selectionEnd = this._getSelectionEnd(val);
|
1646
1645
|
}
|
1647
1646
|
this.element.prop(name, val);
|
1648
|
-
if(selectionEnd){
|
1647
|
+
if(selectionEnd != null){
|
1649
1648
|
this.element.prop('selectionEnd', selectionEnd);
|
1650
1649
|
}
|
1651
1650
|
}
|
@@ -1660,6 +1659,7 @@
|
|
1660
1659
|
spinBtnProto[name] = function(val){
|
1661
1660
|
this.elemHelper.prop(name, val);
|
1662
1661
|
this[numName] = this.asNumber(val);
|
1662
|
+
|
1663
1663
|
if(this.valueAsNumber != null && (isNaN(this.valueAsNumber) || (!isNaN(this[numName]) && (this.valueAsNumber * factor) < (this[numName] * factor)))){
|
1664
1664
|
this._setStartInRange();
|
1665
1665
|
}
|
@@ -2296,11 +2296,11 @@
|
|
2296
2296
|
|
2297
2297
|
var type = $.prop(this, 'type');
|
2298
2298
|
|
2299
|
-
var i, opts, data, optsName, labels, cNames;
|
2299
|
+
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
2300
2300
|
if(inputTypes[type] && webshims.implement(this, 'inputwidgets')){
|
2301
2301
|
data = {};
|
2302
2302
|
optsName = type;
|
2303
|
-
|
2303
|
+
hasInitialFocus = $(this).is(':focus');
|
2304
2304
|
labels = $(this).jProp('labels');
|
2305
2305
|
opts = $.extend(webshims.getOptions(this, type, [options.widgets, options[type], $($.prop(this, 'form')).data(type)]), {
|
2306
2306
|
orig: this,
|
@@ -2425,6 +2425,9 @@
|
|
2425
2425
|
} else {
|
2426
2426
|
$(this).css('display', 'none');
|
2427
2427
|
}
|
2428
|
+
if(hasInitialFocus){
|
2429
|
+
$(this).getShadowFocusElement().trigger('focus');
|
2430
|
+
}
|
2428
2431
|
}
|
2429
2432
|
|
2430
2433
|
};
|
@@ -454,7 +454,9 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
454
454
|
}
|
455
455
|
if(!message){
|
456
456
|
message = getMessageFromObj(validityMessages[''][name], elem) || $.prop(elem, 'validationMessage');
|
457
|
-
|
457
|
+
if(name != 'customError'){
|
458
|
+
webshims.info('could not find errormessage for: '+ name +' / '+ $.prop(elem, 'type') +'. in language: '+webshims.activeLang());
|
459
|
+
}
|
458
460
|
}
|
459
461
|
message = webshims.replaceValidationplaceholder(elem, message, name);
|
460
462
|
|
@@ -719,7 +721,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
719
721
|
var stepDescriptor = webshims.defineNodeNameProperty('input', name, {
|
720
722
|
prop: {
|
721
723
|
value: function(factor){
|
722
|
-
var step, val,
|
724
|
+
var step, val, valModStep, alignValue, cache, base, attrVal;
|
723
725
|
var type = getType(this);
|
724
726
|
if(typeModels[type] && typeModels[type].asNumber){
|
725
727
|
cache = {type: type};
|
@@ -729,12 +731,9 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
729
731
|
}
|
730
732
|
factor *= stepFactor;
|
731
733
|
|
732
|
-
|
734
|
+
|
733
735
|
|
734
|
-
|
735
|
-
webshims.info("valueAsNumber is NaN can't apply stepUp/stepDown ");
|
736
|
-
throw('invalid state error');
|
737
|
-
}
|
736
|
+
|
738
737
|
|
739
738
|
step = webshims.getStep(this, type);
|
740
739
|
|
@@ -745,7 +744,21 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
745
744
|
|
746
745
|
webshims.addMinMaxNumberToCache('min', $(this), cache);
|
747
746
|
webshims.addMinMaxNumberToCache('max', $(this), cache);
|
748
|
-
|
747
|
+
|
748
|
+
val = $.prop(this, 'valueAsNumber');
|
749
|
+
|
750
|
+
if(factor > 0 && !isNaN(cache.minAsNumber) && (isNaN(val) || cache.minAsNumber > val)){
|
751
|
+
$.prop(this, 'valueAsNumber', cache.minAsNumber);
|
752
|
+
return;
|
753
|
+
} else if(factor < 0 && !isNaN(cache.maxAsNumber) && (isNaN(val) || cache.maxAsNumber < val)){
|
754
|
+
$.prop(this, 'valueAsNumber', cache.maxAsNumber);
|
755
|
+
return;
|
756
|
+
}
|
757
|
+
|
758
|
+
if(isNaN(val)){
|
759
|
+
val = 0;
|
760
|
+
}
|
761
|
+
|
749
762
|
base = cache.minAsNumber;
|
750
763
|
|
751
764
|
if(isNaN(base) && (attrVal = $.prop(this, 'defaultValue'))){
|
@@ -770,7 +783,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
770
783
|
|
771
784
|
if( (!isNaN(cache.maxAsNumber) && val > cache.maxAsNumber) || (!isNaN(cache.minAsNumber) && val < cache.minAsNumber) ){
|
772
785
|
webshims.info("max/min overflow can't apply stepUp/stepDown");
|
773
|
-
|
786
|
+
return;
|
774
787
|
}
|
775
788
|
|
776
789
|
$.prop(this, 'valueAsNumber', val);
|
@@ -1124,4 +1137,4 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1124
1137
|
});
|
1125
1138
|
}
|
1126
1139
|
|
1127
|
-
});
|
1140
|
+
});
|
@@ -1399,6 +1399,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1399
1399
|
|
1400
1400
|
|
1401
1401
|
webshims.getContentValidationMessage = function(elem, validity, key){
|
1402
|
+
var customRule;
|
1402
1403
|
if(webshims.errorbox && webshims.errorbox.initIvalContentMessage){
|
1403
1404
|
webshims.errorbox.initIvalContentMessage(elem);
|
1404
1405
|
}
|
@@ -1413,7 +1414,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1413
1414
|
}
|
1414
1415
|
if(typeof message == 'object'){
|
1415
1416
|
validity = validity || $.prop(elem, 'validity') || {valid: 1};
|
1416
|
-
if(
|
1417
|
+
if(validity.customError && (customRule = $.data(elem, 'customMismatchedRule')) && message[customRule] && typeof message[customRule] == 'string'){
|
1418
|
+
message = message[customRule];
|
1419
|
+
} else if(!validity.valid){
|
1417
1420
|
$.each(validity, function(name, prop){
|
1418
1421
|
if(prop && name != 'valid' && message[name]){
|
1419
1422
|
message = message[name];
|
@@ -2509,7 +2512,9 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
2509
2512
|
}
|
2510
2513
|
if(!message){
|
2511
2514
|
message = getMessageFromObj(validityMessages[''][name], elem) || $.prop(elem, 'validationMessage');
|
2512
|
-
|
2515
|
+
if(name != 'customError'){
|
2516
|
+
webshims.info('could not find errormessage for: '+ name +' / '+ $.prop(elem, 'type') +'. in language: '+webshims.activeLang());
|
2517
|
+
}
|
2513
2518
|
}
|
2514
2519
|
message = webshims.replaceValidationplaceholder(elem, message, name);
|
2515
2520
|
|
@@ -1622,6 +1622,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1622
1622
|
|
1623
1623
|
|
1624
1624
|
webshims.getContentValidationMessage = function(elem, validity, key){
|
1625
|
+
var customRule;
|
1625
1626
|
if(webshims.errorbox && webshims.errorbox.initIvalContentMessage){
|
1626
1627
|
webshims.errorbox.initIvalContentMessage(elem);
|
1627
1628
|
}
|
@@ -1636,7 +1637,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1636
1637
|
}
|
1637
1638
|
if(typeof message == 'object'){
|
1638
1639
|
validity = validity || $.prop(elem, 'validity') || {valid: 1};
|
1639
|
-
if(
|
1640
|
+
if(validity.customError && (customRule = $.data(elem, 'customMismatchedRule')) && message[customRule] && typeof message[customRule] == 'string'){
|
1641
|
+
message = message[customRule];
|
1642
|
+
} else if(!validity.valid){
|
1640
1643
|
$.each(validity, function(name, prop){
|
1641
1644
|
if(prop && name != 'valid' && message[name]){
|
1642
1645
|
message = message[name];
|
@@ -2732,7 +2735,9 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
2732
2735
|
}
|
2733
2736
|
if(!message){
|
2734
2737
|
message = getMessageFromObj(validityMessages[''][name], elem) || $.prop(elem, 'validationMessage');
|
2735
|
-
|
2738
|
+
if(name != 'customError'){
|
2739
|
+
webshims.info('could not find errormessage for: '+ name +' / '+ $.prop(elem, 'type') +'. in language: '+webshims.activeLang());
|
2740
|
+
}
|
2736
2741
|
}
|
2737
2742
|
message = webshims.replaceValidationplaceholder(elem, message, name);
|
2738
2743
|
|
@@ -198,7 +198,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
198
198
|
var stepDescriptor = webshims.defineNodeNameProperty('input', name, {
|
199
199
|
prop: {
|
200
200
|
value: function(factor){
|
201
|
-
var step, val,
|
201
|
+
var step, val, valModStep, alignValue, cache, base, attrVal;
|
202
202
|
var type = getType(this);
|
203
203
|
if(typeModels[type] && typeModels[type].asNumber){
|
204
204
|
cache = {type: type};
|
@@ -208,12 +208,9 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
208
208
|
}
|
209
209
|
factor *= stepFactor;
|
210
210
|
|
211
|
-
|
211
|
+
|
212
212
|
|
213
|
-
|
214
|
-
webshims.info("valueAsNumber is NaN can't apply stepUp/stepDown ");
|
215
|
-
throw('invalid state error');
|
216
|
-
}
|
213
|
+
|
217
214
|
|
218
215
|
step = webshims.getStep(this, type);
|
219
216
|
|
@@ -224,7 +221,21 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
224
221
|
|
225
222
|
webshims.addMinMaxNumberToCache('min', $(this), cache);
|
226
223
|
webshims.addMinMaxNumberToCache('max', $(this), cache);
|
227
|
-
|
224
|
+
|
225
|
+
val = $.prop(this, 'valueAsNumber');
|
226
|
+
|
227
|
+
if(factor > 0 && !isNaN(cache.minAsNumber) && (isNaN(val) || cache.minAsNumber > val)){
|
228
|
+
$.prop(this, 'valueAsNumber', cache.minAsNumber);
|
229
|
+
return;
|
230
|
+
} else if(factor < 0 && !isNaN(cache.maxAsNumber) && (isNaN(val) || cache.maxAsNumber < val)){
|
231
|
+
$.prop(this, 'valueAsNumber', cache.maxAsNumber);
|
232
|
+
return;
|
233
|
+
}
|
234
|
+
|
235
|
+
if(isNaN(val)){
|
236
|
+
val = 0;
|
237
|
+
}
|
238
|
+
|
228
239
|
base = cache.minAsNumber;
|
229
240
|
|
230
241
|
if(isNaN(base) && (attrVal = $.prop(this, 'defaultValue'))){
|
@@ -249,7 +260,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
249
260
|
|
250
261
|
if( (!isNaN(cache.maxAsNumber) && val > cache.maxAsNumber) || (!isNaN(cache.minAsNumber) && val < cache.minAsNumber) ){
|
251
262
|
webshims.info("max/min overflow can't apply stepUp/stepDown");
|
252
|
-
|
263
|
+
return;
|
253
264
|
}
|
254
265
|
|
255
266
|
$.prop(this, 'valueAsNumber', val);
|
@@ -603,7 +614,8 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
603
614
|
});
|
604
615
|
}
|
605
616
|
|
606
|
-
})
|
617
|
+
});
|
618
|
+
;(function($){
|
607
619
|
"use strict";
|
608
620
|
|
609
621
|
var isNumber = function(string){
|
@@ -2183,7 +2195,6 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
2183
2195
|
}
|
2184
2196
|
this.elemHelper.prop('valueAsNumber', start);
|
2185
2197
|
this.options.defValue = this.elemHelper.prop('value');
|
2186
|
-
|
2187
2198
|
},
|
2188
2199
|
reorderInputs: function(){
|
2189
2200
|
if(splitInputs[this.type]){
|
@@ -2250,7 +2261,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
2250
2261
|
selectionEnd = this._getSelectionEnd(val);
|
2251
2262
|
}
|
2252
2263
|
this.element.prop(name, val);
|
2253
|
-
if(selectionEnd){
|
2264
|
+
if(selectionEnd != null){
|
2254
2265
|
this.element.prop('selectionEnd', selectionEnd);
|
2255
2266
|
}
|
2256
2267
|
}
|
@@ -2265,6 +2276,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
2265
2276
|
spinBtnProto[name] = function(val){
|
2266
2277
|
this.elemHelper.prop(name, val);
|
2267
2278
|
this[numName] = this.asNumber(val);
|
2279
|
+
|
2268
2280
|
if(this.valueAsNumber != null && (isNaN(this.valueAsNumber) || (!isNaN(this[numName]) && (this.valueAsNumber * factor) < (this[numName] * factor)))){
|
2269
2281
|
this._setStartInRange();
|
2270
2282
|
}
|
@@ -2901,11 +2913,11 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
2901
2913
|
|
2902
2914
|
var type = $.prop(this, 'type');
|
2903
2915
|
|
2904
|
-
var i, opts, data, optsName, labels, cNames;
|
2916
|
+
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
2905
2917
|
if(inputTypes[type] && webshims.implement(this, 'inputwidgets')){
|
2906
2918
|
data = {};
|
2907
2919
|
optsName = type;
|
2908
|
-
|
2920
|
+
hasInitialFocus = $(this).is(':focus');
|
2909
2921
|
labels = $(this).jProp('labels');
|
2910
2922
|
opts = $.extend(webshims.getOptions(this, type, [options.widgets, options[type], $($.prop(this, 'form')).data(type)]), {
|
2911
2923
|
orig: this,
|
@@ -3030,6 +3042,9 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
3030
3042
|
} else {
|
3031
3043
|
$(this).css('display', 'none');
|
3032
3044
|
}
|
3045
|
+
if(hasInitialFocus){
|
3046
|
+
$(this).getShadowFocusElement().trigger('focus');
|
3047
|
+
}
|
3033
3048
|
}
|
3034
3049
|
|
3035
3050
|
};
|
@@ -1647,7 +1647,7 @@ webshims.isReady('es5', true);
|
|
1647
1647
|
var stepDescriptor = webshims.defineNodeNameProperty('input', name, {
|
1648
1648
|
prop: {
|
1649
1649
|
value: function(factor){
|
1650
|
-
var step, val,
|
1650
|
+
var step, val, valModStep, alignValue, cache, base, attrVal;
|
1651
1651
|
var type = getType(this);
|
1652
1652
|
if(typeModels[type] && typeModels[type].asNumber){
|
1653
1653
|
cache = {type: type};
|
@@ -1657,12 +1657,9 @@ webshims.isReady('es5', true);
|
|
1657
1657
|
}
|
1658
1658
|
factor *= stepFactor;
|
1659
1659
|
|
1660
|
-
|
1660
|
+
|
1661
1661
|
|
1662
|
-
|
1663
|
-
webshims.info("valueAsNumber is NaN can't apply stepUp/stepDown ");
|
1664
|
-
throw('invalid state error');
|
1665
|
-
}
|
1662
|
+
|
1666
1663
|
|
1667
1664
|
step = webshims.getStep(this, type);
|
1668
1665
|
|
@@ -1673,7 +1670,21 @@ webshims.isReady('es5', true);
|
|
1673
1670
|
|
1674
1671
|
webshims.addMinMaxNumberToCache('min', $(this), cache);
|
1675
1672
|
webshims.addMinMaxNumberToCache('max', $(this), cache);
|
1676
|
-
|
1673
|
+
|
1674
|
+
val = $.prop(this, 'valueAsNumber');
|
1675
|
+
|
1676
|
+
if(factor > 0 && !isNaN(cache.minAsNumber) && (isNaN(val) || cache.minAsNumber > val)){
|
1677
|
+
$.prop(this, 'valueAsNumber', cache.minAsNumber);
|
1678
|
+
return;
|
1679
|
+
} else if(factor < 0 && !isNaN(cache.maxAsNumber) && (isNaN(val) || cache.maxAsNumber < val)){
|
1680
|
+
$.prop(this, 'valueAsNumber', cache.maxAsNumber);
|
1681
|
+
return;
|
1682
|
+
}
|
1683
|
+
|
1684
|
+
if(isNaN(val)){
|
1685
|
+
val = 0;
|
1686
|
+
}
|
1687
|
+
|
1677
1688
|
base = cache.minAsNumber;
|
1678
1689
|
|
1679
1690
|
if(isNaN(base) && (attrVal = $.prop(this, 'defaultValue'))){
|
@@ -1698,7 +1709,7 @@ webshims.isReady('es5', true);
|
|
1698
1709
|
|
1699
1710
|
if( (!isNaN(cache.maxAsNumber) && val > cache.maxAsNumber) || (!isNaN(cache.minAsNumber) && val < cache.minAsNumber) ){
|
1700
1711
|
webshims.info("max/min overflow can't apply stepUp/stepDown");
|
1701
|
-
|
1712
|
+
return;
|
1702
1713
|
}
|
1703
1714
|
|
1704
1715
|
$.prop(this, 'valueAsNumber', val);
|
@@ -2052,7 +2063,8 @@ webshims.isReady('es5', true);
|
|
2052
2063
|
});
|
2053
2064
|
}
|
2054
2065
|
|
2055
|
-
})
|
2066
|
+
});
|
2067
|
+
;(function($){
|
2056
2068
|
"use strict";
|
2057
2069
|
|
2058
2070
|
var isNumber = function(string){
|
@@ -3632,7 +3644,6 @@ webshims.isReady('es5', true);
|
|
3632
3644
|
}
|
3633
3645
|
this.elemHelper.prop('valueAsNumber', start);
|
3634
3646
|
this.options.defValue = this.elemHelper.prop('value');
|
3635
|
-
|
3636
3647
|
},
|
3637
3648
|
reorderInputs: function(){
|
3638
3649
|
if(splitInputs[this.type]){
|
@@ -3699,7 +3710,7 @@ webshims.isReady('es5', true);
|
|
3699
3710
|
selectionEnd = this._getSelectionEnd(val);
|
3700
3711
|
}
|
3701
3712
|
this.element.prop(name, val);
|
3702
|
-
if(selectionEnd){
|
3713
|
+
if(selectionEnd != null){
|
3703
3714
|
this.element.prop('selectionEnd', selectionEnd);
|
3704
3715
|
}
|
3705
3716
|
}
|
@@ -3714,6 +3725,7 @@ webshims.isReady('es5', true);
|
|
3714
3725
|
spinBtnProto[name] = function(val){
|
3715
3726
|
this.elemHelper.prop(name, val);
|
3716
3727
|
this[numName] = this.asNumber(val);
|
3728
|
+
|
3717
3729
|
if(this.valueAsNumber != null && (isNaN(this.valueAsNumber) || (!isNaN(this[numName]) && (this.valueAsNumber * factor) < (this[numName] * factor)))){
|
3718
3730
|
this._setStartInRange();
|
3719
3731
|
}
|
@@ -4350,11 +4362,11 @@ webshims.isReady('es5', true);
|
|
4350
4362
|
|
4351
4363
|
var type = $.prop(this, 'type');
|
4352
4364
|
|
4353
|
-
var i, opts, data, optsName, labels, cNames;
|
4365
|
+
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
4354
4366
|
if(inputTypes[type] && webshims.implement(this, 'inputwidgets')){
|
4355
4367
|
data = {};
|
4356
4368
|
optsName = type;
|
4357
|
-
|
4369
|
+
hasInitialFocus = $(this).is(':focus');
|
4358
4370
|
labels = $(this).jProp('labels');
|
4359
4371
|
opts = $.extend(webshims.getOptions(this, type, [options.widgets, options[type], $($.prop(this, 'form')).data(type)]), {
|
4360
4372
|
orig: this,
|
@@ -4479,6 +4491,9 @@ webshims.isReady('es5', true);
|
|
4479
4491
|
} else {
|
4480
4492
|
$(this).css('display', 'none');
|
4481
4493
|
}
|
4494
|
+
if(hasInitialFocus){
|
4495
|
+
$(this).getShadowFocusElement().trigger('focus');
|
4496
|
+
}
|
4482
4497
|
}
|
4483
4498
|
|
4484
4499
|
};
|