webshims-rails 1.11.1 → 1.11.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 +8 -8
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +41 -20
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +212 -42
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +196 -37
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +82 -36
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +82 -36
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +17 -6
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +234 -1247
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +234 -1247
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +202 -45
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +202 -45
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +51 -11
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +82 -36
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +82 -36
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +1689 -997
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +51 -11
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +51 -11
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +202 -45
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +237 -51
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +51 -11
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +247 -48
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +17 -5
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +21 -3
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +35 -6
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +6 -8
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +134 -24
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +152 -1205
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +1076 -0
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +47 -20
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/i18n/{formcfg-de.txt → formcfg-de.js} +3 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{formcfg-en.txt → formcfg-en.js} +5 -1
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +62 -13
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +610 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +10 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +743 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +1 -755
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +0 -606
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +36 -23
- data/vendor/assets/javascripts/webshims/shims/track.js +82 -36
- metadata +8 -6
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +0 -2196
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -1167
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjVkNmUzNDI2Nzc2YzQ2YzEyZmU2OGU4YzNkMDhkODVkYjRiZDgzZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NWRiNWEzN2FlYTVlOWFmNGEwNzI3NzNkMTk3MWYyMzZkZGMxNDJmNQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODdjNWY5MWQ2ZGI3NmQ5OTZjYzUzZGQ0ZmMwMzE3ZjE2MmU4MWYwN2E0OGM4
|
10
|
+
ZDllYWE5YWI5ZTNmYzY1YzI4ZjBkZDFmMjI0ZWE5MjU2NGNhY2Q2MTI0YTYx
|
11
|
+
MzU0MTlhZWE1YTM3NmI4M2UwOTgwOTAyOTg1OGQwMDFhNzg2MjU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YmExN2NjMmFjNTFlNzVkMDgxMWJhNGZmZjg0ZTNiY2QxYjA1ZTJhY2M3NjQx
|
14
|
+
MjIyODI4YTEyMzM3M2QxYjJiZjJkNGE5MDkwZDFhMWFhY2QyMDNhYzQ1ODdm
|
15
|
+
MTVlZGQ1MTc1OTMxODdlYWJlZGVkYzU5MWFhZDg2ZmUxZDgzYTA=
|
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
|
29
29
|
var webshims = {
|
30
|
-
version: '1.11.
|
30
|
+
version: '1.11.2',
|
31
31
|
cfg: {
|
32
32
|
|
33
33
|
//addCacheBuster: false,
|
@@ -35,7 +35,7 @@
|
|
35
35
|
// extendNative: false,
|
36
36
|
loadStyles: true,
|
37
37
|
disableShivMethods: true,
|
38
|
-
wspopover: {appendTo: '
|
38
|
+
wspopover: {appendTo: 'auto', hideOnBlur: true},
|
39
39
|
basePath: (function(){
|
40
40
|
var script = jScripts.filter('[src*="polyfiller.js"]');
|
41
41
|
var path;
|
@@ -841,7 +841,7 @@
|
|
841
841
|
f: DOMSUPPORT,
|
842
842
|
noAutoCallback: true,
|
843
843
|
d: ['es5'],
|
844
|
-
c: [16, 7, 2, 15, 30, 3, 8, 4, 9, 10, 14, 25, 19, 20, 26,
|
844
|
+
c: [16, 7, 2, 15, 30, 3, 8, 4, 9, 10, 14, 25, 19, 20, 26, 31]
|
845
845
|
});
|
846
846
|
|
847
847
|
|
@@ -938,11 +938,12 @@
|
|
938
938
|
var modernizrInputTypes = Modernizr.inputtypes;
|
939
939
|
var formvalidation = 'formvalidation';
|
940
940
|
var fNuAPI = 'form-number-date-api';
|
941
|
-
var select = $('<select required=""
|
941
|
+
var select = $('<select required=""><option disabled="" /></select>')[0];
|
942
942
|
var bustedValidity = false;
|
943
943
|
var bustedWidgetUi = false;
|
944
944
|
|
945
945
|
var initialFormTest = function(){
|
946
|
+
var range, rangeCSS;
|
946
947
|
if(!initialFormTest.run){
|
947
948
|
addTest(formvalidation, function(){
|
948
949
|
return !!(modernizrInputAttrs.required && modernizrInputAttrs.pattern);
|
@@ -953,15 +954,25 @@
|
|
953
954
|
return 'elements' in fieldset && 'disabled' in fieldset;
|
954
955
|
});
|
955
956
|
|
956
|
-
if(modernizrInputTypes){
|
957
|
+
if(modernizrInputTypes && modernizrInputTypes.range && !window.opera){
|
958
|
+
range = $('<input type="range" style="-webkit-appearance: slider-horizontal; -moz-appearance: range;" />').appendTo('html');
|
959
|
+
rangeCSS = range.css('appearance');
|
960
|
+
range.remove();
|
961
|
+
|
962
|
+
addTest('csstrackrange', function(){
|
963
|
+
return rangeCSS == null || rangeCSS == 'range';
|
964
|
+
});
|
965
|
+
addTest('cssrangeinput', function(){
|
966
|
+
return rangeCSS == 'slider-horizontal' || rangeCSS == 'range';
|
967
|
+
});
|
957
968
|
addTest('styleableinputrange', function(){
|
958
|
-
return
|
969
|
+
return Modernizr.csstrackrange || Modernizr.cssrangeinput;
|
959
970
|
});
|
960
971
|
}
|
961
972
|
|
962
973
|
if(Modernizr[formvalidation]){
|
963
|
-
bustedWidgetUi =
|
964
|
-
bugs.bustedValidity = bustedValidity = bustedWidgetUi || !modernizrInputAttrs.list;
|
974
|
+
bustedWidgetUi = !Modernizr.fieldsetdisabled || !('value' in document.createElement('progress')) || !('value' in document.createElement('output')) || !('required' in select) || (select.validity || {}).valid;
|
975
|
+
bugs.bustedValidity = bustedValidity = window.opera || bustedWidgetUi || !modernizrInputAttrs.list;
|
965
976
|
}
|
966
977
|
|
967
978
|
formExtend = Modernizr[formvalidation] && !bustedValidity ? 'form-native-extend' : fShim;
|
@@ -999,7 +1010,7 @@
|
|
999
1010
|
// ,fieldWrapper: undefined
|
1000
1011
|
// ,fx: 'slide'
|
1001
1012
|
},
|
1002
|
-
|
1013
|
+
availableLangs: ['ar', 'ch-ZN', 'el', 'es', 'fr', 'he', 'hi', 'hu', 'it', 'ja', 'lt', 'nl', 'pl', 'pt-PT', 'ru', 'sv'] //en and de are directly implemented in core
|
1003
1014
|
// ,customMessages: false,
|
1004
1015
|
// overridePlaceholder: false, // might be good for IE10
|
1005
1016
|
// replaceValidationUI: false
|
@@ -1026,7 +1037,16 @@
|
|
1026
1037
|
return Modernizr[formvalidation] && !bustedValidity;
|
1027
1038
|
},
|
1028
1039
|
d: ['form-core', DOMSUPPORT],
|
1029
|
-
c: [16, 15]
|
1040
|
+
c: [16, 15, 24]
|
1041
|
+
});
|
1042
|
+
|
1043
|
+
addPolyfill(fShim+'2', {
|
1044
|
+
f: 'forms',
|
1045
|
+
test: function(){
|
1046
|
+
return Modernizr[formvalidation] && !bustedWidgetUi;
|
1047
|
+
},
|
1048
|
+
d: [fShim],
|
1049
|
+
c: [24]
|
1030
1050
|
});
|
1031
1051
|
|
1032
1052
|
addPolyfill('form-message', {
|
@@ -1040,8 +1060,7 @@
|
|
1040
1060
|
|
1041
1061
|
formExtras = {
|
1042
1062
|
noAutoCallback: true,
|
1043
|
-
options: formOptions
|
1044
|
-
c: [24]
|
1063
|
+
options: formOptions
|
1045
1064
|
};
|
1046
1065
|
addModule('form-validation', $.extend({d: ['form-message', 'form-core']}, formExtras));
|
1047
1066
|
|
@@ -1090,13 +1109,14 @@
|
|
1090
1109
|
test: function(){
|
1091
1110
|
var o = this.options;
|
1092
1111
|
initialFormTest();
|
1093
|
-
//input widgets on old
|
1112
|
+
//input widgets on old androids can't be trusted
|
1094
1113
|
if(bustedWidgetUi && !o.replaceUI && (/Android/i).test(navigator.userAgent)){
|
1095
1114
|
o.replaceUI = true;
|
1096
1115
|
}
|
1097
1116
|
return !o.replaceUI && modules[fNuAPI].test();
|
1098
1117
|
},
|
1099
1118
|
d: ['forms', DOMSUPPORT, fNuAPI, 'range-ui'],
|
1119
|
+
css: 'styles/forms-ext.css',
|
1100
1120
|
options: {
|
1101
1121
|
|
1102
1122
|
widgets: {
|
@@ -1121,12 +1141,14 @@
|
|
1121
1141
|
})();
|
1122
1142
|
//>
|
1123
1143
|
|
1144
|
+
//<filereader
|
1124
1145
|
addPolyfill('filereader', {
|
1125
1146
|
test: 'FileReader' in window,
|
1126
1147
|
d: ['swfmini', DOMSUPPORT],
|
1127
1148
|
c: [25, 26, 27]
|
1128
1149
|
// ,nM: 'filereader'
|
1129
1150
|
});
|
1151
|
+
//>
|
1130
1152
|
|
1131
1153
|
//<details
|
1132
1154
|
if(!('details' in Modernizr)){
|
@@ -1179,12 +1201,12 @@
|
|
1179
1201
|
if(options.preferFlash && !modules.swfmini.test()){
|
1180
1202
|
options.preferFlash = false;
|
1181
1203
|
}
|
1182
|
-
return !( options.preferFlash &&
|
1204
|
+
return !( options.preferFlash && swfmini.hasFlashPlayerVersion('9.0.115') );
|
1183
1205
|
},
|
1184
|
-
c: [21, 19, 25, 20
|
1206
|
+
c: [21, 19, 25, 20]
|
1185
1207
|
});
|
1186
1208
|
|
1187
|
-
bugs.track =
|
1209
|
+
bugs.track = !Modernizr.texttrackapi;
|
1188
1210
|
|
1189
1211
|
addPolyfill('track', {
|
1190
1212
|
options: {
|
@@ -1192,18 +1214,17 @@
|
|
1192
1214
|
override: bugs.track
|
1193
1215
|
},
|
1194
1216
|
test: function(){
|
1195
|
-
return
|
1217
|
+
return !this.options.override && !bugs.track;
|
1196
1218
|
},
|
1197
1219
|
d: ['mediaelement', DOMSUPPORT],
|
1198
1220
|
methodNames: ['addTextTrack'],
|
1199
|
-
c: [21, 12, 13, 22
|
1221
|
+
c: [21, 12, 13, 22],
|
1200
1222
|
nM: 'texttrackapi'
|
1201
1223
|
});
|
1202
1224
|
|
1203
1225
|
|
1204
1226
|
addModule('track-ui', {
|
1205
|
-
d: ['track', DOMSUPPORT]
|
1206
|
-
c: [29]
|
1227
|
+
d: ['track', DOMSUPPORT]
|
1207
1228
|
});
|
1208
1229
|
|
1209
1230
|
})();
|
@@ -6,7 +6,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
6
6
|
webshims.assumeARIA = supportGetSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
|
7
7
|
|
8
8
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
9
|
-
webshims.error("IE browser modes are busted in IE10
|
9
|
+
webshims.error("IE browser modes are busted in IE10+. Please test your HTML/CSS/JS with a real IE version or at least IETester or similiar tools");
|
10
10
|
}
|
11
11
|
|
12
12
|
if(!$.parseHTML){
|
@@ -559,7 +559,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
559
559
|
$(this.test);
|
560
560
|
webshims.ready('WINDOWLOAD', this.test);
|
561
561
|
$(document).on('updatelayout', this.handler);
|
562
|
-
$(window).
|
562
|
+
$(window).on('resize', this.handler);
|
563
563
|
(function(){
|
564
564
|
var oldAnimate = $.fn.animate;
|
565
565
|
var animationTimer;
|
@@ -581,6 +581,13 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
581
581
|
webshims.docObserve = function(){
|
582
582
|
webshims.ready('DOM', function(){
|
583
583
|
docObserve.start();
|
584
|
+
if($.support.boxSizing == null){
|
585
|
+
$(function(){
|
586
|
+
if($.support.boxSizing){
|
587
|
+
docObserve.handler({type: 'boxsizing'});
|
588
|
+
}
|
589
|
+
});
|
590
|
+
}
|
584
591
|
});
|
585
592
|
};
|
586
593
|
return function(nativeElem, shadowElem, opts){
|
@@ -741,7 +748,12 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
741
748
|
havePolyfill[prop] = true;
|
742
749
|
|
743
750
|
if(descs.reflect){
|
744
|
-
webshims.propTypes[descs.propType
|
751
|
+
if(descs.propType && !webshims.propTypes[descs.propType]){
|
752
|
+
webshims.error('could not finde propType '+ descs.propType);
|
753
|
+
} else {
|
754
|
+
webshims.propTypes[descs.propType || 'standard'](descs, prop);
|
755
|
+
}
|
756
|
+
|
745
757
|
}
|
746
758
|
|
747
759
|
['prop', 'attr', 'removeAttr'].forEach(function(type){
|
@@ -927,7 +939,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
927
939
|
var notLocal = /:\/\/|^\.*\//;
|
928
940
|
var loadRemoteLang = function(data, lang, options){
|
929
941
|
var langSrc;
|
930
|
-
if(lang && options && $.inArray(lang, options.availabeLangs || []) !== -1){
|
942
|
+
if(lang && options && $.inArray(lang, options.availableLangs || options.availabeLangs || []) !== -1){
|
931
943
|
data.loading = true;
|
932
944
|
langSrc = options.langSrc;
|
933
945
|
if(!notLocal.test(langSrc)){
|
@@ -1087,7 +1099,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1087
1099
|
});
|
1088
1100
|
|
1089
1101
|
})(webshims.$, document);
|
1090
|
-
|
1091
1102
|
(function($){
|
1092
1103
|
|
1093
1104
|
var id = 0;
|
@@ -1106,9 +1117,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1106
1117
|
var i;
|
1107
1118
|
|
1108
1119
|
|
1109
|
-
this.element.addClass('ws-range').attr({role: 'slider'}).append('<span class="ws-range-min" /><span class="ws-range-rail"><span class="ws-range-thumb" /></span>');
|
1110
|
-
this.trail = $('.ws-range-
|
1111
|
-
this.range = $('.ws-range-
|
1120
|
+
this.element.addClass('ws-range').attr({role: 'slider'}).append('<span class="ws-range-min ws-range-progress" /><span class="ws-range-rail ws-range-track"><span class="ws-range-thumb" /></span>');
|
1121
|
+
this.trail = $('.ws-range-track', this.element);
|
1122
|
+
this.range = $('.ws-range-progress ', this.element);
|
1112
1123
|
this.thumb = $('.ws-range-thumb', this.trail);
|
1113
1124
|
|
1114
1125
|
this.updateMetrics();
|
@@ -1118,6 +1129,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1118
1129
|
for(i = 0; i < createOpts.length; i++){
|
1119
1130
|
this[createOpts[i]](this.options[createOpts[i]]);
|
1120
1131
|
}
|
1132
|
+
|
1121
1133
|
this.value = this._value;
|
1122
1134
|
this.value(this.options.value);
|
1123
1135
|
this.initDataList();
|
@@ -1356,7 +1368,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1356
1368
|
}
|
1357
1369
|
},
|
1358
1370
|
addBindings: function(){
|
1359
|
-
var leftOffset, widgetUnits, hasFocus;
|
1371
|
+
var leftOffset, widgetUnits, hasFocus, isActive;
|
1360
1372
|
var that = this;
|
1361
1373
|
var o = this.options;
|
1362
1374
|
|
@@ -1386,8 +1398,28 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1386
1398
|
}
|
1387
1399
|
};
|
1388
1400
|
})();
|
1389
|
-
|
1401
|
+
var normalizeTouch = (function(){
|
1402
|
+
var types = {
|
1403
|
+
touchstart: 1,
|
1404
|
+
touchend: 1,
|
1405
|
+
touchmove: 1
|
1406
|
+
};
|
1407
|
+
var normalize = ['pageX', 'pageY'];
|
1408
|
+
return function(e){
|
1409
|
+
if(types[e.type] && e.originalEvent && e.originalEvent.touches && e.originalEvent.touches.length){
|
1410
|
+
for(var i = 0; i < normalize.length; i++){
|
1411
|
+
e[normalize[i]] = e.originalEvent.touches[0][normalize[i]];
|
1412
|
+
}
|
1413
|
+
|
1414
|
+
}
|
1415
|
+
return e;
|
1416
|
+
};
|
1417
|
+
})();
|
1390
1418
|
var setValueFromPos = function(e, animate){
|
1419
|
+
if(e.type == 'touchmove'){
|
1420
|
+
e.preventDefault();
|
1421
|
+
normalizeTouch(e);
|
1422
|
+
}
|
1391
1423
|
|
1392
1424
|
var val = that.getStepedValueFromPos((e[that.dirs.mouse] - leftOffset) * widgetUnits);
|
1393
1425
|
if(val != o.value){
|
@@ -1404,18 +1436,25 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1404
1436
|
eventTimer.call('change', o.value);
|
1405
1437
|
}
|
1406
1438
|
that.addRemoveClass('ws-active');
|
1407
|
-
$(document).off('mousemove', setValueFromPos).off('mouseup', remove);
|
1439
|
+
$(document).off('mousemove touchmove', setValueFromPos).off('mouseup touchend', remove);
|
1408
1440
|
$(window).off('blur', removeWin);
|
1441
|
+
isActive = false;
|
1409
1442
|
};
|
1410
1443
|
var removeWin = function(e){
|
1411
1444
|
if(e.target == window){remove();}
|
1412
1445
|
};
|
1413
1446
|
var add = function(e){
|
1414
1447
|
var outerWidth;
|
1448
|
+
|
1449
|
+
if(isActive || (e.type == 'touchstart' && (!e.originalEvent || !e.originalEvent.touches || e.originalEvent.touches.length != 1))){
|
1450
|
+
return;
|
1451
|
+
}
|
1415
1452
|
e.preventDefault();
|
1416
|
-
|
1453
|
+
|
1454
|
+
$(document).off('mousemove touchmove', setValueFromPos).off('mouseup touchend', remove);
|
1417
1455
|
$(window).off('blur', removeWin);
|
1418
1456
|
if(!o.readonly && !o.disabled){
|
1457
|
+
normalizeTouch(e);
|
1419
1458
|
that.element.focus();
|
1420
1459
|
that.addRemoveClass('ws-active', true);
|
1421
1460
|
leftOffset = that.element.focus().offset();
|
@@ -1425,20 +1464,27 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1425
1464
|
leftOffset = leftOffset[that.dirs.pos];
|
1426
1465
|
widgetUnits = 100 / widgetUnits;
|
1427
1466
|
setValueFromPos(e, o.animate);
|
1467
|
+
isActive = true;
|
1428
1468
|
$(document)
|
1429
|
-
.on(
|
1430
|
-
|
1431
|
-
|
1432
|
-
|
1469
|
+
.on(e.type == 'touchstart' ?
|
1470
|
+
{
|
1471
|
+
touchend: remove,
|
1472
|
+
touchmove: setValueFromPos
|
1473
|
+
} :
|
1474
|
+
{
|
1475
|
+
mouseup: remove,
|
1476
|
+
mousemove: setValueFromPos
|
1477
|
+
}
|
1478
|
+
)
|
1433
1479
|
;
|
1434
1480
|
$(window).on('blur', removeWin);
|
1435
1481
|
e.stopPropagation();
|
1436
1482
|
}
|
1437
1483
|
};
|
1438
1484
|
var elementEvts = {
|
1439
|
-
mousedown: add,
|
1485
|
+
'touchstart mousedown': add,
|
1440
1486
|
focus: function(e){
|
1441
|
-
if(!o.disabled){
|
1487
|
+
if(!o.disabled && !hasFocus){
|
1442
1488
|
eventTimer.init('input', o.value);
|
1443
1489
|
eventTimer.init('change', o.value);
|
1444
1490
|
that.addRemoveClass('ws-focus', true);
|
@@ -1501,6 +1547,20 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1501
1547
|
this.thumb.on({
|
1502
1548
|
mousedown: add
|
1503
1549
|
});
|
1550
|
+
|
1551
|
+
if(this.orig){
|
1552
|
+
$(this.orig).jProp('form').on('reset', function(){
|
1553
|
+
var val = $.prop(that.orig, 'value');
|
1554
|
+
that.value(val);
|
1555
|
+
setTimeout(function(){
|
1556
|
+
var val2 = $.prop(that.orig, 'value');
|
1557
|
+
if(val != val2){
|
1558
|
+
that.value(val2);
|
1559
|
+
}
|
1560
|
+
}, 4);
|
1561
|
+
});
|
1562
|
+
}
|
1563
|
+
|
1504
1564
|
if (window.webshims) {
|
1505
1565
|
webshims.ready('WINDOWLOAD', function(){
|
1506
1566
|
webshims.ready('dom-support', function(){
|
@@ -1606,8 +1666,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1606
1666
|
var str;
|
1607
1667
|
return function(){
|
1608
1668
|
if(!str){
|
1609
|
-
str = ('<option></option>')+$.map(monthDigits, function(val){
|
1610
|
-
return '<option>'+val+'</option>';
|
1669
|
+
str = ('<option value=""></option>')+$.map(monthDigits, function(val){
|
1670
|
+
return '<option value="'+val+'"]>'+val+'</option>';
|
1611
1671
|
}).join('');
|
1612
1672
|
}
|
1613
1673
|
return str;
|
@@ -1629,7 +1689,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1629
1689
|
splits: [$('<input type="text" class="yy" size="4" inputmode="numeric" />')[0]]
|
1630
1690
|
};
|
1631
1691
|
if(opts.monthSelect){
|
1632
|
-
obj.splits.push($('<select class="mm">'+getMonthOptions()+'</select>')[0]);
|
1692
|
+
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
1633
1693
|
} else {
|
1634
1694
|
obj.splits.push($('<input type="text" class="mm" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1635
1695
|
}
|
@@ -1664,7 +1724,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1664
1724
|
splits: [$('<input type="text" class="yy" inputmode="numeric" size="4" />')[0]]
|
1665
1725
|
};
|
1666
1726
|
if(opts.monthSelect){
|
1667
|
-
obj.splits.push($('<select class="mm ws-spin">'+getMonthOptions()+'</select>')[0]);
|
1727
|
+
obj.splits.push($('<select class="mm ws-spin">'+getMonthOptions(opts)+'</select>')[0]);
|
1668
1728
|
} else {
|
1669
1729
|
obj.splits.push($('<input type="text" class="mm ws-spin" />')[0]);
|
1670
1730
|
if(opts.onlyMonthDigits){
|
@@ -1756,6 +1816,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1756
1816
|
month: {
|
1757
1817
|
currentText: 'Aktueller Monat'
|
1758
1818
|
},
|
1819
|
+
time: {
|
1820
|
+
currentText: 'Jetzt'
|
1821
|
+
},
|
1759
1822
|
date: {
|
1760
1823
|
close: 'schließen',
|
1761
1824
|
clear: 'Löschen',
|
@@ -1793,6 +1856,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1793
1856
|
month: {
|
1794
1857
|
currentText: 'This month'
|
1795
1858
|
},
|
1859
|
+
time: {
|
1860
|
+
"currentText": "Now"
|
1861
|
+
},
|
1796
1862
|
date: {
|
1797
1863
|
"closeText": "Done",
|
1798
1864
|
clear: 'Clear',
|
@@ -1855,6 +1921,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1855
1921
|
if(!langCfg['datetime-localSigns']){
|
1856
1922
|
langCfg['datetime-localSigns'] = langCfg.dateSigns+langCfg.timeSigns;
|
1857
1923
|
}
|
1924
|
+
if(!langCfg['datetime-local']){
|
1925
|
+
langCfg['datetime-local'] = {};
|
1926
|
+
}
|
1927
|
+
if(!langCfg['datetime-local'].currentText && langCfg.time.currentText){
|
1928
|
+
langCfg['datetime-local'].currentText = langCfg.time.currentText;
|
1929
|
+
}
|
1858
1930
|
};
|
1859
1931
|
var triggerLocaleChange = function(){
|
1860
1932
|
processLangCFG(curCfg);
|
@@ -1922,6 +1994,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1922
1994
|
} else {
|
1923
1995
|
fVal = 0;
|
1924
1996
|
}
|
1997
|
+
if(val[0] === '00'){
|
1998
|
+
val[0] = '12';
|
1999
|
+
}
|
1925
2000
|
val = $.trim(val.join(':')) + ' '+ curCfg.meridian[fVal];
|
1926
2001
|
}
|
1927
2002
|
return val;
|
@@ -2006,6 +2081,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2006
2081
|
time: function(val){
|
2007
2082
|
var fVal;
|
2008
2083
|
if(val && curCfg.meridian){
|
2084
|
+
if(val.substr(0,2) === "12"){
|
2085
|
+
val = "00" + val.substr(2);
|
2086
|
+
}
|
2009
2087
|
if(val.indexOf(curCfg.meridian[1]) != -1){
|
2010
2088
|
val = val.split(':');
|
2011
2089
|
fVal = (val[0] * 1);
|
@@ -2091,7 +2169,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2091
2169
|
if(hintValue.length == 2){
|
2092
2170
|
hintValue = opts.splitInput ?
|
2093
2171
|
hintValue :
|
2094
|
-
curCfg.
|
2172
|
+
curCfg.date.showMonthAfterYear ?
|
2173
|
+
hintValue[0] +' '+hintValue[1] :
|
2174
|
+
|
2175
|
+
hintValue[1] +' '+ hintValue[0];
|
2095
2176
|
} else {
|
2096
2177
|
hintValue = opts.splitInput ?
|
2097
2178
|
[val, val] :
|
@@ -2466,10 +2547,18 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2466
2547
|
}
|
2467
2548
|
try {
|
2468
2549
|
that.elemHelper[name](factor);
|
2550
|
+
|
2469
2551
|
ret = that.elemHelper.prop('value');
|
2552
|
+
|
2553
|
+
} catch (er) {
|
2554
|
+
if(!o.value && that.maxAsNumber >= that.minAsNumber){
|
2555
|
+
ret = o.defValue;
|
2556
|
+
}
|
2557
|
+
}
|
2558
|
+
if(ret !== false && o.value != ret){
|
2470
2559
|
that.value(ret);
|
2471
2560
|
eventTimer.call('input', ret);
|
2472
|
-
}
|
2561
|
+
}
|
2473
2562
|
return ret;
|
2474
2563
|
}
|
2475
2564
|
};
|
@@ -2535,15 +2624,6 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2535
2624
|
|
2536
2625
|
initChangeEvents();
|
2537
2626
|
},
|
2538
|
-
value: function(val, force){
|
2539
|
-
if(!this._init || force || val !== this.options.value){
|
2540
|
-
this.element.val(this.formatValue(val));
|
2541
|
-
this.options.value = val;
|
2542
|
-
this._propertyChange('value');
|
2543
|
-
this.mirrorValidity();
|
2544
|
-
}
|
2545
|
-
|
2546
|
-
},
|
2547
2627
|
required: function(val, boolVal){
|
2548
2628
|
this.inputElements.attr({'aria-required': ''+boolVal});
|
2549
2629
|
this.mirrorValidity();
|
@@ -2560,7 +2640,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2560
2640
|
formatValue: function(val, noSplit){
|
2561
2641
|
return formatVal[this.type](val, noSplit === false ? false : this.options);
|
2562
2642
|
},
|
2563
|
-
createOpts: ['readonly', 'title', 'disabled', 'tabindex', 'placeholder', 'value', 'required'],
|
2643
|
+
createOpts: ['readonly', 'title', 'disabled', 'tabindex', 'placeholder', 'defaultValue', 'value', 'required'],
|
2564
2644
|
placeholder: function(val){
|
2565
2645
|
var options = this.options;
|
2566
2646
|
options.placeholder = val;
|
@@ -2630,6 +2710,16 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2630
2710
|
}
|
2631
2711
|
};
|
2632
2712
|
|
2713
|
+
['defaultValue', 'value'].forEach(function(name){
|
2714
|
+
wsWidgetProto[name] = function(val, force){
|
2715
|
+
if(!this._init || force || val !== this.options[name]){
|
2716
|
+
this.element.prop(name, this.formatValue(val));
|
2717
|
+
this.options[name] = val;
|
2718
|
+
this._propertyChange(name);
|
2719
|
+
this.mirrorValidity();
|
2720
|
+
}
|
2721
|
+
};
|
2722
|
+
});
|
2633
2723
|
|
2634
2724
|
['readonly', 'disabled'].forEach(function(name){
|
2635
2725
|
var isDisabled = name == 'disabled';
|
@@ -2683,7 +2773,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2683
2773
|
}
|
2684
2774
|
this._init = true;
|
2685
2775
|
},
|
2686
|
-
createOpts: ['step', 'min', 'max', 'readonly', 'title', 'disabled', 'tabindex', 'placeholder', 'value', 'required'],
|
2776
|
+
createOpts: ['step', 'min', 'max', 'readonly', 'title', 'disabled', 'tabindex', 'placeholder', 'defaultValue', 'value', 'required'],
|
2687
2777
|
_addSplitInputs: function(){
|
2688
2778
|
if(!this.inputElements){
|
2689
2779
|
var create = splitInputs[this.type]._create(this.options);
|
@@ -2753,9 +2843,47 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2753
2843
|
this.options.step = val;
|
2754
2844
|
this.elemHelper.prop('step', retDefault(val, defStep.step));
|
2755
2845
|
this.mirrorValidity();
|
2846
|
+
},
|
2847
|
+
_beforeValue: function(val){
|
2848
|
+
this.valueAsNumber = this.asNumber(val);
|
2849
|
+
this.options.value = val;
|
2850
|
+
|
2851
|
+
if(isNaN(this.valueAsNumber) || (!isNaN(this.minAsNumber) && this.valueAsNumber < this.minAsNumber) || (!isNaN(this.maxAsNumber) && this.valueAsNumber > this.maxAsNumber)){
|
2852
|
+
this._setStartInRange();
|
2853
|
+
} else {
|
2854
|
+
this.elemHelper.prop('value', val);
|
2855
|
+
this.options.defValue = "";
|
2856
|
+
}
|
2756
2857
|
}
|
2757
2858
|
});
|
2758
2859
|
|
2860
|
+
['defaultValue', 'value'].forEach(function(name){
|
2861
|
+
var isValue = name == 'value';
|
2862
|
+
spinBtnProto[name] = function(val, force){
|
2863
|
+
if(!this._init || force || this.options[name] !== val){
|
2864
|
+
if(isValue){
|
2865
|
+
this._beforeValue(val);
|
2866
|
+
}
|
2867
|
+
|
2868
|
+
val = formatVal[this.type](val, this.options);
|
2869
|
+
if(this.options.splitInput){
|
2870
|
+
$.each(this.splits, function(i, elem){
|
2871
|
+
var setOption;
|
2872
|
+
if(!(name in elem) && !isValue && $.nodeName(elem, 'select')){
|
2873
|
+
$('option[value="'+ val[i] +'"]', elem).prop('defaultSelected', true);
|
2874
|
+
} else {
|
2875
|
+
$.prop(elem, name, val[i]);
|
2876
|
+
}
|
2877
|
+
});
|
2878
|
+
} else {
|
2879
|
+
this.element.prop(name, val);
|
2880
|
+
}
|
2881
|
+
this._propertyChange(name);
|
2882
|
+
this.mirrorValidity();
|
2883
|
+
}
|
2884
|
+
};
|
2885
|
+
});
|
2886
|
+
|
2759
2887
|
$.each({min: 1, max: -1}, function(name, factor){
|
2760
2888
|
var numName = name +'AsNumber';
|
2761
2889
|
spinBtnProto[name] = function(val){
|
@@ -3159,10 +3287,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3159
3287
|
var inputTypes = {
|
3160
3288
|
|
3161
3289
|
};
|
3290
|
+
var boolAttrs = {disabled: 1, required: 1, readonly: 1};
|
3162
3291
|
var copyProps = [
|
3163
3292
|
'disabled',
|
3164
3293
|
'readonly',
|
3165
3294
|
'value',
|
3295
|
+
'defaultValue',
|
3166
3296
|
'min',
|
3167
3297
|
'max',
|
3168
3298
|
'step',
|
@@ -3180,14 +3310,18 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3180
3310
|
if(!stopCircular){
|
3181
3311
|
var shadowData = webshims.data(this, 'shadowData');
|
3182
3312
|
if(shadowData && shadowData.data && shadowData.nativeElement === this && shadowData.data[fnName]){
|
3183
|
-
|
3313
|
+
if(boolAttrs[fnName]){
|
3314
|
+
shadowData.data[fnName](val, boolVal);
|
3315
|
+
} else {
|
3316
|
+
shadowData.data[fnName](val);
|
3317
|
+
}
|
3184
3318
|
}
|
3185
3319
|
}
|
3186
3320
|
});
|
3187
3321
|
});
|
3188
3322
|
|
3189
3323
|
if(options.replaceUI && 'valueAsNumber' in document.createElement('input')){
|
3190
|
-
var reflectFn = function(
|
3324
|
+
var reflectFn = function(){
|
3191
3325
|
if(webshims.data(this, 'hasShadow')){
|
3192
3326
|
$.prop(this, 'value', $.prop(this, 'value'));
|
3193
3327
|
}
|
@@ -3195,6 +3329,20 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3195
3329
|
|
3196
3330
|
webshims.onNodeNamesPropertyModify('input', 'valueAsNumber', reflectFn);
|
3197
3331
|
webshims.onNodeNamesPropertyModify('input', 'valueAsDate', reflectFn);
|
3332
|
+
$.each({stepUp: 1, stepDown: -1}, function(name, stepFactor){
|
3333
|
+
var stepDescriptor = webshims.defineNodeNameProperty('input', name, {
|
3334
|
+
prop: {
|
3335
|
+
value: function(){
|
3336
|
+
var ret;
|
3337
|
+
if(stepDescriptor.prop && stepDescriptor.prop._supvalue){
|
3338
|
+
ret = stepDescriptor.prop._supvalue.apply(this, arguments);
|
3339
|
+
reflectFn.apply(this, arguments);
|
3340
|
+
}
|
3341
|
+
return ret;
|
3342
|
+
}
|
3343
|
+
}
|
3344
|
+
});
|
3345
|
+
});
|
3198
3346
|
}
|
3199
3347
|
|
3200
3348
|
var extendType = (function(){
|
@@ -3214,7 +3362,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3214
3362
|
$(data.orig).removeClass('ws-important-hide');
|
3215
3363
|
$.style( data.orig, 'display', '' );
|
3216
3364
|
var hasButtons, marginR, marginL;
|
3217
|
-
var correctWidth = 0.
|
3365
|
+
var correctWidth = 0.8;
|
3218
3366
|
if(!init || data.orig.offsetWidth){
|
3219
3367
|
hasButtons = data.buttonWrapper && data.buttonWrapper.filter(isVisible).length;
|
3220
3368
|
marginR = $.css( data.orig, 'marginRight');
|
@@ -3238,7 +3386,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3238
3386
|
;
|
3239
3387
|
} else {
|
3240
3388
|
data.buttonWrapper.css('marginRight', marginR);
|
3241
|
-
correctWidth = data.buttonWrapper.outerWidth(true) +
|
3389
|
+
correctWidth = data.buttonWrapper.outerWidth(true) + correctWidth;
|
3242
3390
|
}
|
3243
3391
|
}
|
3244
3392
|
|
@@ -3396,7 +3544,29 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3396
3544
|
});
|
3397
3545
|
}
|
3398
3546
|
|
3399
|
-
|
3547
|
+
var replace = {};
|
3548
|
+
|
3549
|
+
|
3550
|
+
if(options.replaceUI){
|
3551
|
+
if( $.isPlainObject(options.replaceUI) ){
|
3552
|
+
$.extend(replace, options.replaceUI);
|
3553
|
+
} else {
|
3554
|
+
$.extend(replace, {
|
3555
|
+
'range': 1,
|
3556
|
+
'number': 1,
|
3557
|
+
'time': 1,
|
3558
|
+
'month': 1,
|
3559
|
+
'date': 1,
|
3560
|
+
'color': 1,
|
3561
|
+
'datetime-local': 1
|
3562
|
+
});
|
3563
|
+
}
|
3564
|
+
}
|
3565
|
+
if(modernizrInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && ((/MSIE 1[0|1]\.\d/.test(navigator.userAgent)) || (/Trident\/7\.0/.test(navigator.userAgent)))){
|
3566
|
+
replace.number = 1;
|
3567
|
+
}
|
3568
|
+
|
3569
|
+
if(!modernizrInputTypes.range || replace.range){
|
3400
3570
|
extendType('range', {
|
3401
3571
|
_create: function(opts, set){
|
3402
3572
|
var data = $('<span />').insertAfter(opts.orig).rangeUI(opts).data('rangeUi');
|
@@ -3405,9 +3575,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3405
3575
|
});
|
3406
3576
|
}
|
3407
3577
|
|
3408
|
-
|
3578
|
+
|
3409
3579
|
['number', 'time', 'month', 'date', 'color', 'datetime-local'].forEach(function(name){
|
3410
|
-
if(!modernizrInputTypes[name] ||
|
3580
|
+
if(!modernizrInputTypes[name] || replace[name]){
|
3411
3581
|
extendType(name, {
|
3412
3582
|
_create: function(opts, set){
|
3413
3583
|
if(opts.monthSelect){
|