webshims-rails 1.12.7 → 1.13.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
};
|