webshims-rails 1.11.3.1 → 1.11.6
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/extras/modernizr-custom.js +114 -104
- data/vendor/assets/javascripts/webshims/extras/mousepress.js +5 -5
- data/vendor/assets/javascripts/webshims/polyfiller.js +156 -207
- data/vendor/assets/javascripts/webshims/shims/$ajax.js +862 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +20 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +20 -0
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +12 -12
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +62 -32
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +192 -509
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +96 -415
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +36 -26
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +36 -26
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +1007 -359
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +310 -235
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +313 -237
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +96 -415
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +1003 -678
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +1085 -387
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +161 -127
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +1086 -388
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +168 -96
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +36 -27
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +411 -172
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +1085 -387
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +96 -94
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +163 -140
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +166 -141
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +159 -126
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +103 -109
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +98 -417
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +101 -418
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +168 -142
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +165 -141
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +195 -510
- data/vendor/assets/javascripts/webshims/shims/details.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +96 -94
- data/vendor/assets/javascripts/webshims/shims/es5.js +908 -264
- data/vendor/assets/javascripts/webshims/shims/excanvas.js +16 -1
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +147 -0
- data/vendor/assets/javascripts/webshims/shims/form-core.js +60 -31
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +114 -33
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +3 -1
- data/vendor/assets/javascripts/webshims/shims/form-message.js +7 -15
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +88 -410
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +143 -93
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +268 -79
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +116 -81
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +23 -10
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +605 -9
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +51 -39
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +78 -33
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +24 -6
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +110 -49
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +3 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +81 -30
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +131 -54
- data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +497 -0
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +8 -5
- data/vendor/assets/javascripts/webshims/shims/sizzle.js +2026 -0
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +401 -521
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +1 -1
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +94 -82
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +250 -321
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/track.js +34 -25
- metadata +7 -3
@@ -10,8 +10,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
10
10
|
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");
|
11
11
|
}
|
12
12
|
|
13
|
-
if(
|
14
|
-
webshims.error("
|
13
|
+
if('debug' in webshims){
|
14
|
+
webshims.error('Use webshims.setOptions("debug", true||false||"noCombo"); to debug flag');
|
15
15
|
}
|
16
16
|
|
17
17
|
if (!webshims.cfg.no$Switch) {
|
@@ -47,7 +47,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
47
47
|
// '127.0.0.1': 1
|
48
48
|
// };
|
49
49
|
//
|
50
|
-
// if( webshims.debug && (hostNames[location.hostname] || location.protocol == 'file:') ){
|
50
|
+
// if( webshims.cfg.debug && (hostNames[location.hostname] || location.protocol == 'file:') ){
|
51
51
|
// var list = $('<ul class="webshims-debug-list" />');
|
52
52
|
// webshims.errorLog.push = function(message){
|
53
53
|
// list.appendTo('body');
|
@@ -479,7 +479,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
479
479
|
};
|
480
480
|
|
481
481
|
$.extend(webshims, {
|
482
|
-
|
483
482
|
getID: (function(){
|
484
483
|
var ID = new Date().getTime();
|
485
484
|
return function(elem){
|
@@ -509,6 +508,51 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
509
508
|
}
|
510
509
|
});
|
511
510
|
},
|
511
|
+
getOptions: (function(){
|
512
|
+
var regs = {};
|
513
|
+
var regFn = function(f, upper){
|
514
|
+
return upper.toLowerCase();
|
515
|
+
};
|
516
|
+
return function(elem, name, bases){
|
517
|
+
var data = elementData(elem, 'cfg'+name);
|
518
|
+
var dataName;
|
519
|
+
var cfg = {};
|
520
|
+
|
521
|
+
if(data){
|
522
|
+
return data;
|
523
|
+
}
|
524
|
+
data = $(elem).data();
|
525
|
+
|
526
|
+
if(!bases){
|
527
|
+
bases = [true, {}];
|
528
|
+
} else if(!Array.isArray(bases)){
|
529
|
+
bases = [true, {}, bases];
|
530
|
+
} else {
|
531
|
+
bases.unshift(true, {});
|
532
|
+
}
|
533
|
+
|
534
|
+
if(data && data[name]){
|
535
|
+
if(typeof data[name] == 'object'){
|
536
|
+
bases.push(data[name]);
|
537
|
+
} else {
|
538
|
+
webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
|
539
|
+
}
|
540
|
+
}
|
541
|
+
|
542
|
+
if(!regs[name]){
|
543
|
+
regs[name] = new RegExp('^'+ name +'([A-Z])');
|
544
|
+
}
|
545
|
+
|
546
|
+
for(dataName in data){
|
547
|
+
if(regs[name].test(dataName)){
|
548
|
+
cfg[dataName.replace(regs[name], regFn)] = data[dataName];
|
549
|
+
}
|
550
|
+
}
|
551
|
+
bases.push(cfg);
|
552
|
+
|
553
|
+
return elementData(elem, 'cfg'+name, $.extend.apply($, bases));
|
554
|
+
};
|
555
|
+
})(),
|
512
556
|
//http://www.w3.org/TR/html5/common-dom-interfaces.html#reflect
|
513
557
|
createPropDefault: createPropDefault,
|
514
558
|
data: elementData,
|
@@ -596,7 +640,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
596
640
|
setInterval(this.test, 600);
|
597
641
|
$(this.test);
|
598
642
|
webshims.ready('WINDOWLOAD', this.test);
|
599
|
-
$(document).on('updatelayout', this.handler);
|
643
|
+
$(document).on('updatelayout pageinit collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
|
600
644
|
$(window).on('resize', this.handler);
|
601
645
|
(function(){
|
602
646
|
var oldAnimate = $.fn.animate;
|
@@ -954,109 +998,67 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
954
998
|
}
|
955
999
|
},
|
956
1000
|
|
957
|
-
// set current Lang:
|
958
|
-
// - webshims.activeLang(lang:string);
|
959
|
-
// get current lang
|
960
|
-
// - webshims.activeLang();
|
961
|
-
// get current lang
|
962
|
-
// webshims.activeLang({
|
963
|
-
// register: moduleName:string,
|
964
|
-
// callback: callback:function
|
965
|
-
// });
|
966
|
-
// get/set including remoteLang
|
967
|
-
// - webshims.activeLang({
|
968
|
-
// module: moduleName:string,
|
969
|
-
// callback: callback:function,
|
970
|
-
// langObj: languageObj:array/object
|
971
|
-
// });
|
972
1001
|
activeLang: (function(){
|
973
|
-
var
|
974
|
-
var
|
975
|
-
var
|
976
|
-
var
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
webshims.loader.loadScript(langSrc+lang+'.js', function(){
|
987
|
-
if(data.langObj[lang]){
|
988
|
-
data.loading = false;
|
989
|
-
callLang(data, true);
|
990
|
-
} else {
|
991
|
-
$(function(){
|
992
|
-
if(data.langObj[lang]){
|
993
|
-
callLang(data, true);
|
994
|
-
}
|
995
|
-
data.loading = false;
|
1002
|
+
var curLang = [];
|
1003
|
+
var langDatas = [];
|
1004
|
+
var loading = {};
|
1005
|
+
var load = function(src, obj, loadingLang){
|
1006
|
+
obj._isLoading = true;
|
1007
|
+
if(loading[src]){
|
1008
|
+
loading[src].push(obj);
|
1009
|
+
} else {
|
1010
|
+
loading[src] = [obj];
|
1011
|
+
webshims.loader.loadScript(src, function(){
|
1012
|
+
if(loadingLang == curLang.join()){
|
1013
|
+
$.each(loading[src], function(i, obj){
|
1014
|
+
select(obj);
|
996
1015
|
});
|
997
1016
|
}
|
998
|
-
|
999
|
-
return true;
|
1000
|
-
}
|
1001
|
-
return false;
|
1002
|
-
};
|
1003
|
-
var callRegister = function(module){
|
1004
|
-
if(registeredCallbacks[module]){
|
1005
|
-
registeredCallbacks[module].forEach(function(data){
|
1006
|
-
data.callback(currentLang, shortLang, '');
|
1017
|
+
delete loading[src];
|
1007
1018
|
});
|
1008
1019
|
}
|
1009
1020
|
};
|
1010
|
-
var
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
data.activeLang = '';
|
1022
|
-
data.callback(data.langObj[''], currentLang);
|
1023
|
-
callRegister(data.module);
|
1021
|
+
var select = function(obj){
|
1022
|
+
var oldLang = obj.__active;
|
1023
|
+
var selectLang = function(i, lang){
|
1024
|
+
obj._isLoading = false;
|
1025
|
+
if(obj[lang] || obj.availableLangs.indexOf(lang) != -1){
|
1026
|
+
if(obj[lang]){
|
1027
|
+
obj.__active = obj[lang];
|
1028
|
+
} else {
|
1029
|
+
load(obj.langSrc+lang, obj, curLang.join());
|
1030
|
+
}
|
1031
|
+
return false;
|
1024
1032
|
}
|
1033
|
+
};
|
1034
|
+
$.each(curLang, selectLang);
|
1035
|
+
if(!obj.__active){
|
1036
|
+
obj.__active = obj[''];
|
1037
|
+
}
|
1038
|
+
if(oldLang != obj.__active){
|
1039
|
+
$(obj).trigger('change');
|
1025
1040
|
}
|
1026
1041
|
};
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1042
|
+
return function(lang){
|
1043
|
+
var shortLang;
|
1044
|
+
if(typeof lang == 'string'){
|
1045
|
+
if(curLang[0] != lang){
|
1046
|
+
curLang = [lang];
|
1047
|
+
shortLang = curLang[0].split('-')[0];
|
1048
|
+
if(shortLang && shortLang != lang){
|
1049
|
+
curLang.push(shortLang);
|
1050
|
+
}
|
1051
|
+
langDatas.forEach(select);
|
1036
1052
|
}
|
1037
|
-
$.each(callbacks, function(i, data){
|
1038
|
-
callLang(data);
|
1039
|
-
});
|
1040
1053
|
} else if(typeof lang == 'object'){
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
registeredCallbacks[lang.register] = [];
|
1045
|
-
}
|
1046
|
-
registeredCallbacks[lang.register].push(lang);
|
1047
|
-
lang.callback(currentLang, shortLang, '');
|
1048
|
-
} else {
|
1049
|
-
if(!lang.activeLang){
|
1050
|
-
lang.activeLang = '';
|
1051
|
-
}
|
1052
|
-
callbacks.push(lang);
|
1053
|
-
callLang(lang);
|
1054
|
+
if(!lang.__active){
|
1055
|
+
langDatas.push(lang);
|
1056
|
+
select(lang);
|
1054
1057
|
}
|
1058
|
+
return lang.__active;
|
1055
1059
|
}
|
1056
|
-
return
|
1060
|
+
return curLang[0];
|
1057
1061
|
};
|
1058
|
-
|
1059
|
-
return activeLang;
|
1060
1062
|
})()
|
1061
1063
|
});
|
1062
1064
|
|
@@ -1194,8 +1196,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1194
1196
|
|
1195
1197
|
if(this._init && val == o.value && oVal == val){return;}
|
1196
1198
|
this.options.value = val;
|
1197
|
-
|
1198
|
-
|
1199
|
+
|
1200
|
+
if($.fn.stop){
|
1201
|
+
this.thumb.stop();
|
1202
|
+
this.range.stop();
|
1203
|
+
}
|
1199
1204
|
|
1200
1205
|
rangeStyle[this.dirs.width] = left+'%';
|
1201
1206
|
if(this.vertical){
|
@@ -1204,7 +1209,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1204
1209
|
thumbStyle[this.dirs.left] = left+'%';
|
1205
1210
|
|
1206
1211
|
|
1207
|
-
if(!animate){
|
1212
|
+
if(!animate || !$.fn.animate){
|
1208
1213
|
this.thumb.css(thumbStyle);
|
1209
1214
|
this.range.css(rangeStyle);
|
1210
1215
|
} else {
|
@@ -1493,9 +1498,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1493
1498
|
$(window).off('blur', removeWin);
|
1494
1499
|
if(!o.readonly && !o.disabled){
|
1495
1500
|
normalizeTouch(e);
|
1496
|
-
that.element.focus
|
1501
|
+
that.element.trigger('focus');
|
1497
1502
|
that.addRemoveClass('ws-active', true);
|
1498
|
-
leftOffset = that.element.
|
1503
|
+
leftOffset = that.element.offset();
|
1499
1504
|
widgetUnits = that.element[that.dirs.innerWidth]();
|
1500
1505
|
if(!widgetUnits || !leftOffset){return;}
|
1501
1506
|
outerWidth = that.thumb[that.dirs.outerWidth]();
|
@@ -1836,6 +1841,32 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1836
1841
|
return val.length == 1 ? '0'+val : val;
|
1837
1842
|
};
|
1838
1843
|
|
1844
|
+
var loadPicker = function(type, name){
|
1845
|
+
type = (type == 'color' ? 'color' : 'forms')+'-picker';
|
1846
|
+
if(!loadPicker[name+'Loaded'+type]){
|
1847
|
+
loadPicker[name+'Loaded'+type] = true;
|
1848
|
+
webshims.ready(name, function(){
|
1849
|
+
webshims.loader.loadList([type]);
|
1850
|
+
|
1851
|
+
});
|
1852
|
+
}
|
1853
|
+
return type;
|
1854
|
+
};
|
1855
|
+
|
1856
|
+
|
1857
|
+
options.addZero = addZero;
|
1858
|
+
webshims.loader.addModule('forms-picker', {
|
1859
|
+
noAutoCallback: true,
|
1860
|
+
options: options
|
1861
|
+
});
|
1862
|
+
webshims.loader.addModule('color-picker', {
|
1863
|
+
noAutoCallback: true,
|
1864
|
+
css: 'jpicker/jpicker.css',
|
1865
|
+
options: options,
|
1866
|
+
d: ['forms-picker']
|
1867
|
+
});
|
1868
|
+
|
1869
|
+
options.steps = steps;
|
1839
1870
|
|
1840
1871
|
(function(){
|
1841
1872
|
|
@@ -1948,7 +1979,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1948
1979
|
langCfg.date.monthDigits = monthDigits;
|
1949
1980
|
langCfg.numberSigns += '-';
|
1950
1981
|
if(langCfg.meridian){
|
1951
|
-
langCfg.timeSigns += langCfg.meridian[0] + langCfg.meridian[1];
|
1982
|
+
langCfg.timeSigns += langCfg.meridian[0] + langCfg.meridian[1] + langCfg.meridian[0].toLowerCase() + langCfg.meridian[1].toLowerCase();
|
1952
1983
|
}
|
1953
1984
|
$.each(langCfg.date.monthNames, create);
|
1954
1985
|
$.each(langCfg.date.monthNamesShort, create);
|
@@ -1974,43 +2005,24 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1974
2005
|
$(document).triggerHandler('wslocalechange');
|
1975
2006
|
};
|
1976
2007
|
|
1977
|
-
triggerLocaleChange();
|
1978
2008
|
|
1979
|
-
|
1980
|
-
|
1981
|
-
|
1982
|
-
|
1983
|
-
|
1984
|
-
|
1985
|
-
|
1986
|
-
|
1987
|
-
|
1988
|
-
return false;
|
1989
|
-
}
|
1990
|
-
});
|
1991
|
-
}
|
1992
|
-
});
|
1993
|
-
webshims.activeLang({
|
1994
|
-
langObj: formcfg,
|
1995
|
-
module: 'form-core',
|
1996
|
-
callback: function(val){
|
1997
|
-
if(curCfg != val){
|
1998
|
-
curCfg = val;
|
1999
|
-
triggerLocaleChange();
|
2000
|
-
}
|
2001
|
-
}
|
2009
|
+
|
2010
|
+
|
2011
|
+
curCfg = webshims.activeLang(formcfg);
|
2012
|
+
|
2013
|
+
triggerLocaleChange();
|
2014
|
+
|
2015
|
+
$(formcfg).on('change', function(){
|
2016
|
+
curCfg = formcfg.__active;
|
2017
|
+
triggerLocaleChange();
|
2002
2018
|
});
|
2019
|
+
|
2003
2020
|
})();
|
2004
2021
|
|
2005
2022
|
|
2006
2023
|
|
2007
2024
|
(function(){
|
2008
2025
|
|
2009
|
-
|
2010
|
-
var mousePress = function(e){
|
2011
|
-
$(this)[e.type == 'mousepressstart' ? 'addClass' : 'removeClass']('mousepress-ui');
|
2012
|
-
};
|
2013
|
-
|
2014
2026
|
var retDefault = function(val, def){
|
2015
2027
|
if(!(typeof val == 'number' || (val && val == val * 1))){
|
2016
2028
|
return def;
|
@@ -2122,6 +2134,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2122
2134
|
time: function(val){
|
2123
2135
|
var fVal;
|
2124
2136
|
if(val && curCfg.meridian){
|
2137
|
+
val = val.toUpperCase();
|
2125
2138
|
if(val.substr(0,2) === "12"){
|
2126
2139
|
val = "00" + val.substr(2);
|
2127
2140
|
}
|
@@ -2345,300 +2358,32 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2345
2358
|
}
|
2346
2359
|
},
|
2347
2360
|
addBindings: function(){
|
2348
|
-
var isFocused;
|
2349
|
-
|
2350
2361
|
var that = this;
|
2351
2362
|
var o = this.options;
|
2352
|
-
|
2353
|
-
|
2354
|
-
var events = {};
|
2355
|
-
return {
|
2356
|
-
init: function(name, curVal, fn){
|
2357
|
-
if(!events[name]){
|
2358
|
-
events[name] = {fn: fn};
|
2359
|
-
$(that.orig).on(name, function(){
|
2360
|
-
events[name].val = $.prop(that.orig, 'value');
|
2361
|
-
});
|
2362
|
-
}
|
2363
|
-
events[name].val = curVal;
|
2364
|
-
},
|
2365
|
-
call: function(name, val){
|
2366
|
-
if(events[name] && events[name].val != val){
|
2367
|
-
clearTimeout(events[name].timer);
|
2368
|
-
events[name].val = val;
|
2369
|
-
events[name].timer = setTimeout(function(){
|
2370
|
-
events[name].fn(val, that);
|
2371
|
-
}, 9);
|
2372
|
-
}
|
2373
|
-
}
|
2374
|
-
};
|
2375
|
-
})();
|
2376
|
-
var initChangeEvents = function(){
|
2377
|
-
eventTimer.init('input', $.prop(that.orig, 'value'), that.options.input);
|
2378
|
-
eventTimer.init('change', $.prop(that.orig, 'value'), that.options.change);
|
2379
|
-
};
|
2380
|
-
|
2381
|
-
var step = {};
|
2382
|
-
|
2383
|
-
var preventBlur = function(e){
|
2384
|
-
if(preventBlur.prevent){
|
2385
|
-
e.preventDefault();
|
2386
|
-
(isFocused || that.element.getShadowFocusElement()).focus();
|
2387
|
-
stopPropagation(e);
|
2388
|
-
return true;
|
2389
|
-
}
|
2363
|
+
var run = function(){
|
2364
|
+
that._addBindings();
|
2390
2365
|
};
|
2391
|
-
|
2392
|
-
|
2393
|
-
|
2394
|
-
|
2395
|
-
|
2396
|
-
|
2397
|
-
val = that.parseValue();
|
2398
|
-
if(that.type == 'color'){
|
2399
|
-
that.inputElements.val(val);
|
2400
|
-
}
|
2401
|
-
$.prop(that.orig, 'value', val);
|
2402
|
-
eventTimer.call('input', val);
|
2403
|
-
if(!e || e.type != 'wsupdatevalue'){
|
2404
|
-
eventTimer.call('change', val);
|
2405
|
-
}
|
2406
|
-
};
|
2407
|
-
|
2408
|
-
var onFocus = function(){
|
2409
|
-
clearTimeout(timer);
|
2410
|
-
};
|
2411
|
-
var onBlur = function(e){
|
2412
|
-
clearTimeout(timer);
|
2413
|
-
timer = setTimeout(call, 0);
|
2414
|
-
|
2415
|
-
if(e.type == 'change'){
|
2416
|
-
stopPropagation(e);
|
2417
|
-
if(!o.splitInput){
|
2418
|
-
call();
|
2419
|
-
}
|
2420
|
-
}
|
2421
|
-
};
|
2422
|
-
|
2423
|
-
that.element.on('wsupdatevalue', call);
|
2424
|
-
|
2425
|
-
that.inputElements
|
2426
|
-
.add(that.buttonWrapper)
|
2427
|
-
.add(that.element)
|
2428
|
-
.on(
|
2429
|
-
{
|
2430
|
-
'focus focusin': onFocus,
|
2431
|
-
'blur focusout change': onBlur
|
2432
|
-
}
|
2433
|
-
)
|
2434
|
-
;
|
2435
|
-
setTimeout(function(){
|
2436
|
-
if(that.popover){
|
2437
|
-
that.popover.element.on('wspopoverhide', onBlur);
|
2438
|
-
$('> *', that.popover.element)
|
2439
|
-
.on({
|
2440
|
-
'focusin': onFocus,
|
2441
|
-
'focusout': onBlur
|
2442
|
-
})
|
2443
|
-
;
|
2444
|
-
}
|
2445
|
-
}, 0);
|
2446
|
-
})();
|
2366
|
+
if(this._addBindings){
|
2367
|
+
run();
|
2368
|
+
} else {
|
2369
|
+
webshims.ready('forms-picker', run);
|
2370
|
+
loadPicker(this.type, 'WINDOWLOAD');
|
2371
|
+
}
|
2447
2372
|
|
2448
|
-
|
2449
|
-
|
2450
|
-
|
2451
|
-
|
2452
|
-
|
2453
|
-
|
2454
|
-
|
2455
|
-
|
2456
|
-
|
2457
|
-
stopPropagation(e);
|
2458
|
-
},
|
2459
|
-
focus: function(e){
|
2460
|
-
if(!isFocused){
|
2461
|
-
initChangeEvents();
|
2462
|
-
isFocused = this;
|
2463
|
-
}
|
2464
|
-
},
|
2465
|
-
keypress: function(e){
|
2466
|
-
if(e.isDefaultPrevented()){return;}
|
2467
|
-
var chr;
|
2468
|
-
var stepped = true;
|
2469
|
-
var code = e.keyCode;
|
2470
|
-
if(!e.ctrlKey && !e.metaKey && curCfg[that.type+'Signs']){
|
2471
|
-
chr = String.fromCharCode(e.charCode == null ? code : e.charCode);
|
2472
|
-
stepped = !(chr < " " || (curCfg[that.type+'Signs']+'0123456789').indexOf(chr) > -1);
|
2473
|
-
} else {
|
2474
|
-
stepped = false;
|
2475
|
-
}
|
2476
|
-
if(stepped){
|
2477
|
-
e.preventDefault();
|
2373
|
+
this.inputElements
|
2374
|
+
.add(this.buttonWrapper)
|
2375
|
+
.add(this.element)
|
2376
|
+
.one('mousedown focusin', function(e){
|
2377
|
+
loadPicker(that.type, 'DOM');
|
2378
|
+
})
|
2379
|
+
.on({
|
2380
|
+
'change input focus focusin blur focusout': function(e){
|
2381
|
+
$(e.target).trigger('ws__'+e.type);
|
2478
2382
|
}
|
2479
|
-
}
|
2480
|
-
input: (this.type == 'color' && this.isValid) ?
|
2481
|
-
$.noop :
|
2482
|
-
(function(){
|
2483
|
-
var timer;
|
2484
|
-
var check = function(){
|
2485
|
-
var val = that.parseValue(true);
|
2486
|
-
if(val && that.isValid(val)){
|
2487
|
-
that.setInput(val);
|
2488
|
-
}
|
2489
|
-
|
2490
|
-
};
|
2491
|
-
return function(){
|
2492
|
-
clearTimeout(timer);
|
2493
|
-
timer = setTimeout(check, 200);
|
2494
|
-
};
|
2495
|
-
})(),
|
2496
|
-
'input keydown keypress': (function(){
|
2497
|
-
var timer;
|
2498
|
-
var isStopped = false;
|
2499
|
-
var releaseTab = function(){
|
2500
|
-
if(isStopped === true){
|
2501
|
-
isStopped = 'semi';
|
2502
|
-
timer = setTimeout(releaseTab, 250);
|
2503
|
-
} else {
|
2504
|
-
isStopped = false;
|
2505
|
-
}
|
2506
|
-
};
|
2507
|
-
var stopTab = function(){
|
2508
|
-
isStopped = true;
|
2509
|
-
clearTimeout(timer);
|
2510
|
-
timer = setTimeout(releaseTab, 300);
|
2511
|
-
};
|
2512
|
-
var select = function(){
|
2513
|
-
var elem = this;
|
2514
|
-
setTimeout(function(){
|
2515
|
-
elem.focus();
|
2516
|
-
elem.select();
|
2517
|
-
}, 4);
|
2518
|
-
|
2519
|
-
stopTab();
|
2520
|
-
};
|
2521
|
-
|
2522
|
-
return function(e){
|
2523
|
-
if(o.splitInput && o.jumpInputs){
|
2524
|
-
if(e.type == 'input'){
|
2525
|
-
if($.prop(this, 'value').length === $.prop(this, 'maxLength')){
|
2526
|
-
try {
|
2527
|
-
$(this)
|
2528
|
-
.next()
|
2529
|
-
.next('input, select')
|
2530
|
-
.each(select)
|
2531
|
-
;
|
2532
|
-
} catch(er){}
|
2533
|
-
}
|
2534
|
-
} else if(!e.shiftKey && !e.crtlKey && e.keyCode == 9 && (isStopped === true || (isStopped && !$.prop(this, 'value')))){
|
2535
|
-
e.preventDefault();
|
2536
|
-
}
|
2537
|
-
}
|
2538
|
-
};
|
2539
|
-
})()
|
2540
|
-
};
|
2541
|
-
var mouseDownInit = function(){
|
2542
|
-
if(!o.disabled && !isFocused){
|
2543
|
-
that.element.getShadowFocusElement().focus();
|
2544
|
-
}
|
2545
|
-
preventBlur.set();
|
2383
|
+
})
|
2546
2384
|
|
2547
|
-
|
2548
|
-
};
|
2549
|
-
|
2550
|
-
preventBlur.set = (function(){
|
2551
|
-
var timer;
|
2552
|
-
var reset = function(){
|
2553
|
-
preventBlur.prevent = false;
|
2554
|
-
};
|
2555
|
-
return function(){
|
2556
|
-
clearTimeout(timer);
|
2557
|
-
preventBlur.prevent = true;
|
2558
|
-
setTimeout(reset, 9);
|
2559
|
-
};
|
2560
|
-
})();
|
2561
|
-
|
2562
|
-
|
2563
|
-
this.buttonWrapper.on('mousedown', mouseDownInit);
|
2564
|
-
|
2565
|
-
this.setInput = function(value){
|
2566
|
-
that.value(value);
|
2567
|
-
eventTimer.call('input', value);
|
2568
|
-
};
|
2569
|
-
this.setChange = function(value){
|
2570
|
-
that.setInput(value);
|
2571
|
-
eventTimer.call('change', value);
|
2572
|
-
};
|
2573
|
-
|
2574
|
-
|
2575
|
-
|
2576
|
-
this.inputElements.on(elementEvts);
|
2385
|
+
;
|
2577
2386
|
|
2578
|
-
if(steps[this.type]){
|
2579
|
-
['stepUp', 'stepDown'].forEach(function(name){
|
2580
|
-
step[name] = function(factor){
|
2581
|
-
if(!o.disabled && !o.readonly){
|
2582
|
-
if(!isFocused){
|
2583
|
-
mouseDownInit();
|
2584
|
-
}
|
2585
|
-
var ret = false;
|
2586
|
-
if (!factor) {
|
2587
|
-
factor = 1;
|
2588
|
-
}
|
2589
|
-
try {
|
2590
|
-
that.elemHelper[name](factor);
|
2591
|
-
|
2592
|
-
ret = that.elemHelper.prop('value');
|
2593
|
-
|
2594
|
-
} catch (er) {
|
2595
|
-
if(!o.value && that.maxAsNumber >= that.minAsNumber){
|
2596
|
-
ret = o.defValue;
|
2597
|
-
}
|
2598
|
-
}
|
2599
|
-
if(ret !== false && o.value != ret){
|
2600
|
-
that.value(ret);
|
2601
|
-
eventTimer.call('input', ret);
|
2602
|
-
}
|
2603
|
-
return ret;
|
2604
|
-
}
|
2605
|
-
};
|
2606
|
-
});
|
2607
|
-
if(!o.noSpinbtn){
|
2608
|
-
spinEvents[$.fn.mwheelIntent ? 'mwheelIntent' : 'mousewheel'] = function(e, delta){
|
2609
|
-
if(delta && isFocused && !o.disabled){
|
2610
|
-
step[delta > 0 ? 'stepUp' : 'stepDown']();
|
2611
|
-
e.preventDefault();
|
2612
|
-
}
|
2613
|
-
};
|
2614
|
-
spinEvents.keydown = function(e){
|
2615
|
-
if(o.list || e.isDefaultPrevented() || (e.altKey && e.keyCode == 40) || $.attr(this, 'list')){return;}
|
2616
|
-
var stepped = true;
|
2617
|
-
var code = e.keyCode;
|
2618
|
-
if (code == 38) {
|
2619
|
-
step.stepUp();
|
2620
|
-
} else if (code == 40) {
|
2621
|
-
step.stepDown();
|
2622
|
-
} else {
|
2623
|
-
stepped = false;
|
2624
|
-
}
|
2625
|
-
if(stepped){
|
2626
|
-
e.preventDefault();
|
2627
|
-
}
|
2628
|
-
};
|
2629
|
-
|
2630
|
-
spinElement.attr({'autocomplete': 'off', role: 'spinbutton'}).on(spinEvents);
|
2631
|
-
}
|
2632
|
-
$(this.buttonWrapper)
|
2633
|
-
.on('mousepressstart mousepressend', '.step-up, .step-down', mousePress)
|
2634
|
-
.on('mousedown mousepress', '.step-up', function(e){
|
2635
|
-
step.stepUp();
|
2636
|
-
})
|
2637
|
-
.on('mousedown mousepress', '.step-down', function(e){
|
2638
|
-
step.stepDown();
|
2639
|
-
})
|
2640
|
-
;
|
2641
|
-
}
|
2642
2387
|
if(this.type != 'color'){
|
2643
2388
|
(function(){
|
2644
2389
|
var localeChange ;
|
@@ -2662,8 +2407,6 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2662
2407
|
$(that.orig).onWSOff('wslocalechange', localeChange);
|
2663
2408
|
})();
|
2664
2409
|
}
|
2665
|
-
|
2666
|
-
initChangeEvents();
|
2667
2410
|
},
|
2668
2411
|
required: function(val, boolVal){
|
2669
2412
|
this.inputElements.attr({'aria-required': ''+boolVal});
|
@@ -2697,34 +2440,6 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2697
2440
|
this.element.prop('placeholder', placeholder);
|
2698
2441
|
}
|
2699
2442
|
},
|
2700
|
-
initDataList: function(){
|
2701
|
-
var listTimer;
|
2702
|
-
var that = this;
|
2703
|
-
var updateList = function(){
|
2704
|
-
$(that.orig)
|
2705
|
-
.jProp('list')
|
2706
|
-
.off('updateDatalist', updateList)
|
2707
|
-
.on('updateDatalist', updateList)
|
2708
|
-
;
|
2709
|
-
clearTimeout(listTimer);
|
2710
|
-
listTimer = setTimeout(function(){
|
2711
|
-
if(that.list){
|
2712
|
-
that.list();
|
2713
|
-
}
|
2714
|
-
}, 9);
|
2715
|
-
|
2716
|
-
};
|
2717
|
-
|
2718
|
-
$(this.orig).onTrigger('listdatalistchange', updateList);
|
2719
|
-
},
|
2720
|
-
getOptions: function(){
|
2721
|
-
var options = {};
|
2722
|
-
var datalist = $(this.orig).jProp('list');
|
2723
|
-
datalist.find('option').each(function(){
|
2724
|
-
options[$.prop(this, 'value')] = $.prop(this, 'label');
|
2725
|
-
});
|
2726
|
-
return [options, datalist.data('label')];
|
2727
|
-
},
|
2728
2443
|
list: function(val){
|
2729
2444
|
if(this.type == 'number'){
|
2730
2445
|
this.element.attr('list', $.attr(this.orig, 'list'));
|
@@ -2854,31 +2569,6 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2854
2569
|
}, 9);
|
2855
2570
|
}
|
2856
2571
|
},
|
2857
|
-
value: function(val, force){
|
2858
|
-
|
2859
|
-
if(!this._init || force || this.options.value !== val){
|
2860
|
-
this.valueAsNumber = this.asNumber(val);
|
2861
|
-
this.options.value = val;
|
2862
|
-
|
2863
|
-
if(isNaN(this.valueAsNumber) || (!isNaN(this.minAsNumber) && this.valueAsNumber < this.minAsNumber) || (!isNaN(this.maxAsNumber) && this.valueAsNumber > this.maxAsNumber)){
|
2864
|
-
this._setStartInRange();
|
2865
|
-
} else {
|
2866
|
-
this.elemHelper.prop('value', val);
|
2867
|
-
this.options.defValue = "";
|
2868
|
-
}
|
2869
|
-
|
2870
|
-
val = formatVal[this.type](val, this.options);
|
2871
|
-
if(this.options.splitInput){
|
2872
|
-
$.each(this.splits, function(i, elem){
|
2873
|
-
$.prop(elem, 'value', val[i]);
|
2874
|
-
});
|
2875
|
-
} else {
|
2876
|
-
this.element.prop('value', val);
|
2877
|
-
}
|
2878
|
-
this._propertyChange('value');
|
2879
|
-
this.mirrorValidity();
|
2880
|
-
}
|
2881
|
-
},
|
2882
2572
|
step: function(val){
|
2883
2573
|
var defStep = steps[this.type];
|
2884
2574
|
this.options.step = val;
|
@@ -2950,6 +2640,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2950
2640
|
});
|
2951
2641
|
};
|
2952
2642
|
|
2643
|
+
$.fn.wsBaseWidget.wsProto = wsWidgetProto;
|
2644
|
+
|
2953
2645
|
$.fn.spinbtnUI = function(opts){
|
2954
2646
|
opts = $.extend({
|
2955
2647
|
monthNames: 'monthNames',
|
@@ -2964,32 +2656,14 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2964
2656
|
}, opts);
|
2965
2657
|
});
|
2966
2658
|
};
|
2659
|
+
|
2660
|
+
$.fn.spinbtnUI.wsProto = spinBtnProto;
|
2661
|
+
|
2967
2662
|
})();
|
2968
2663
|
|
2969
2664
|
(function(){
|
2970
2665
|
var picker = {};
|
2971
2666
|
|
2972
|
-
var loadPicker = function(type, name){
|
2973
|
-
type = (type == 'color' ? 'color' : 'forms')+'-picker';
|
2974
|
-
if(!loadPicker[name+'Loaded'+type]){
|
2975
|
-
loadPicker[name+'Loaded'+type] = true;
|
2976
|
-
webshims.ready(name, function(){
|
2977
|
-
webshims.loader.loadList([type]);
|
2978
|
-
});
|
2979
|
-
}
|
2980
|
-
return type;
|
2981
|
-
};
|
2982
|
-
options.addZero = addZero;
|
2983
|
-
webshims.loader.addModule('forms-picker', {
|
2984
|
-
noAutoCallback: true,
|
2985
|
-
options: options
|
2986
|
-
});
|
2987
|
-
webshims.loader.addModule('color-picker', {
|
2988
|
-
noAutoCallback: true,
|
2989
|
-
css: 'jpicker/jpicker.css',
|
2990
|
-
options: options
|
2991
|
-
});
|
2992
|
-
|
2993
2667
|
webshims.inlinePopover = {
|
2994
2668
|
_create: function(){
|
2995
2669
|
this.element = $('<div class="ws-inline-picker"><div class="ws-po-box" /></div>').data('wspopover', this);
|
@@ -3033,7 +2707,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3033
2707
|
cancel: function(val, popover, data){
|
3034
2708
|
if(!data.options.inlinePicker){
|
3035
2709
|
popover.stopOpen = true;
|
3036
|
-
data.element.getShadowFocusElement().focus
|
2710
|
+
data.element.getShadowFocusElement().trigger('focus');
|
3037
2711
|
setTimeout(function(){
|
3038
2712
|
popover.stopOpen = false;
|
3039
2713
|
}, 9);
|
@@ -3122,9 +2796,16 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3122
2796
|
|
3123
2797
|
picker._common = function(data){
|
3124
2798
|
var options = data.options;
|
3125
|
-
var popover = webshims.objectCreate(options.inlinePicker ? webshims.inlinePopover : webshims.wsPopover, {}, {prepareFor: options.inlinePicker ? data.buttonWrapper : data.element
|
2799
|
+
var popover = webshims.objectCreate(options.inlinePicker ? webshims.inlinePopover : webshims.wsPopover, {}, $.extend(options.popover || {}, {prepareFor: options.inlinePicker ? data.buttonWrapper : data.element}));
|
3126
2800
|
var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
|
3127
2801
|
|
2802
|
+
if(options.widgetPosition){
|
2803
|
+
webshims.error('options.widgetPosition was removed use options.popover.position instead');
|
2804
|
+
}
|
2805
|
+
|
2806
|
+
if(options.openOnFocus && popover.options && (popover.options.appendTo == 'auto' || popover.options.appendTo == 'element')){
|
2807
|
+
webshims.error('openOnFocus and popover.appendTo "auto/element" can prduce a11y problems try to change appendTo to body or similiar or use openOnMouseFocus instead');
|
2808
|
+
}
|
3128
2809
|
|
3129
2810
|
var showPickerContent = function(){
|
3130
2811
|
(picker[data.type].showPickerContent || picker.showPickerContent)(data, popover);
|
@@ -3276,7 +2957,6 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3276
2957
|
if(options.inlinePicker){
|
3277
2958
|
show();
|
3278
2959
|
}
|
3279
|
-
loadPicker(data.type, 'WINDOWLOAD');
|
3280
2960
|
};
|
3281
2961
|
|
3282
2962
|
picker.month = picker._common;
|
@@ -3292,7 +2972,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3292
2972
|
.find('.ws-color-indicator')
|
3293
2973
|
;
|
3294
2974
|
var showColor = function(){
|
3295
|
-
colorIndicator.css({backgroundColor: $.prop(this, 'value') || '#
|
2975
|
+
colorIndicator.css({backgroundColor: $.prop(this, 'value') || '#000000'});
|
3296
2976
|
};
|
3297
2977
|
var showOpacity = (function(){
|
3298
2978
|
var timer;
|
@@ -3449,11 +3129,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3449
3129
|
data = {};
|
3450
3130
|
optsName = type;
|
3451
3131
|
|
3452
|
-
//todo: do we need deep extend?
|
3453
|
-
|
3454
3132
|
labels = $(this).jProp('labels');
|
3455
|
-
|
3456
|
-
opts = $.extend({}, options.widgets, options[type], $($.prop(this, 'form')).data(type) || {}, $(this).data(type) || {}, {
|
3133
|
+
opts = $.extend(webshims.getOptions(this, type, [options.widgets, options[type], $($.prop(this, 'form')).data(type)]), {
|
3457
3134
|
orig: this,
|
3458
3135
|
type: type,
|
3459
3136
|
labels: labels,
|
@@ -3475,7 +3152,6 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3475
3152
|
containerElements: []
|
3476
3153
|
});
|
3477
3154
|
|
3478
|
-
|
3479
3155
|
for(i = 0; i < copyProps.length; i++){
|
3480
3156
|
opts[copyProps[i]] = $.prop(this, copyProps[i]);
|
3481
3157
|
}
|
@@ -3629,8 +3305,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3629
3305
|
opts.splitInput = false;
|
3630
3306
|
}
|
3631
3307
|
var markup = opts.splitInput ?
|
3632
|
-
'<span class="ws-'+name+' ws-input" role="group"></span>' :
|
3633
|
-
'<input class="ws-'+name+'" type="text" />';
|
3308
|
+
'<span class="ws-'+name+' ws-input ws-inputreplace" role="group"></span>' :
|
3309
|
+
'<input class="ws-'+name+' ws-inputreplace" type="text" />';
|
3634
3310
|
var data = $(markup).insertAfter(opts.orig);
|
3635
3311
|
if(steps[name]){
|
3636
3312
|
data = data.spinbtnUI(opts).data('wsWidget'+name);
|
@@ -3647,13 +3323,20 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3647
3323
|
}
|
3648
3324
|
});
|
3649
3325
|
|
3326
|
+
var init = function(){
|
3327
|
+
webshims.addReady(function(context, contextElem){
|
3328
|
+
$('input', context)
|
3329
|
+
.add(contextElem.filter('input'))
|
3330
|
+
.each(implementType)
|
3331
|
+
;
|
3332
|
+
});
|
3333
|
+
};
|
3334
|
+
if(formcfg._isLoading){
|
3335
|
+
$(formcfg).one('change', init);
|
3336
|
+
} else {
|
3337
|
+
init();
|
3338
|
+
}
|
3650
3339
|
|
3651
|
-
webshims.addReady(function(context, contextElem){
|
3652
|
-
$('input', context)
|
3653
|
-
.add(contextElem.filter('input'))
|
3654
|
-
.each(implementType)
|
3655
|
-
;
|
3656
|
-
});
|
3657
3340
|
})();
|
3658
3341
|
});
|
3659
3342
|
|
@@ -3942,7 +3625,9 @@ webshims.register('form-datalist', function($, webshims, window, document, undef
|
|
3942
3625
|
noAutoCallback: true,
|
3943
3626
|
options: $.extend(options, {shadowListProto: shadowListProto})
|
3944
3627
|
});
|
3945
|
-
|
3628
|
+
if(!options.list){
|
3629
|
+
options.list = {};
|
3630
|
+
}
|
3946
3631
|
//init datalist update
|
3947
3632
|
initializeDatalist();
|
3948
3633
|
})();
|