webshims-rails 1.11.6.1 → 1.12.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 +126 -72
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +9 -4
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +32 -26
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +25 -4
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +9 -3
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +9 -4
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +36 -30
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +25 -4
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +9 -3
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +13 -6
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +156 -143
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +97 -84
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +2 -4
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +956 -2819
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +73 -67
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +75 -71
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +118 -89
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +119 -91
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +62 -65
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +73 -67
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +61 -63
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +3 -6
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +22 -12
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +63 -67
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +59 -59
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +1915 -0
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +817 -0
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +71 -63
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +72 -65
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +71 -63
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +2343 -0
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +897 -0
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +59 -59
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +119 -91
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +120 -93
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +74 -69
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +73 -67
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +157 -145
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +58 -57
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +0 -1
- data/vendor/assets/javascripts/webshims/shims/form-core.js +12 -3
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +4 -3
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +20 -3
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +78 -71
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +21 -10
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +39 -27
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +173 -128
- data/vendor/assets/javascripts/webshims/shims/i18n/{formcfg-ch-ZN.js → formcfg-ch-CN.js} +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +65 -0
- data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +18 -11
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +221 -153
- data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +5 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +273 -177
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +113 -98
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +114 -88
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +2 -2
- metadata +10 -7
- data/vendor/assets/javascripts/webshims/extras/mousepress.js +0 -60
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Thumbs.db +0 -0
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +0 -316
- data/vendor/assets/javascripts/webshims/shims/mediagroup.js +0 -29
@@ -40,34 +40,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
40
40
|
webshims.ready('WINDOWLOAD', switch$);
|
41
41
|
|
42
42
|
}
|
43
|
-
// (function(){
|
44
|
-
// var hostNames = {
|
45
|
-
// 'afarkas.github.io': 1,
|
46
|
-
// localhost: 1,
|
47
|
-
// '127.0.0.1': 1
|
48
|
-
// };
|
49
|
-
//
|
50
|
-
// if( webshims.cfg.debug && (hostNames[location.hostname] || location.protocol == 'file:') ){
|
51
|
-
// var list = $('<ul class="webshims-debug-list" />');
|
52
|
-
// webshims.errorLog.push = function(message){
|
53
|
-
// list.appendTo('body');
|
54
|
-
// $('<li style="display: none;">'+ message +'</li>')
|
55
|
-
// .appendTo(list)
|
56
|
-
// .slideDown()
|
57
|
-
// .delay(3000)
|
58
|
-
// .slideUp(function(){
|
59
|
-
// $(this).remove();
|
60
|
-
// if(!$('li', list).length){
|
61
|
-
// list.detach();
|
62
|
-
// }
|
63
|
-
// })
|
64
|
-
// ;
|
65
|
-
// };
|
66
|
-
// $.each(webshims.errorLog, function(i, message){
|
67
|
-
// webshims.errorLog.push(message);
|
68
|
-
// });
|
69
|
-
// }
|
70
|
-
// })();
|
71
43
|
|
72
44
|
//shortcus
|
73
45
|
var modules = webshims.modules;
|
@@ -509,11 +481,22 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
509
481
|
});
|
510
482
|
},
|
511
483
|
getOptions: (function(){
|
484
|
+
var normalName = /\-([a-z])/g;
|
512
485
|
var regs = {};
|
486
|
+
var nameRegs = {};
|
513
487
|
var regFn = function(f, upper){
|
514
488
|
return upper.toLowerCase();
|
515
489
|
};
|
516
|
-
|
490
|
+
var nameFn = function(f, dashed){
|
491
|
+
return dashed.toUpperCase();
|
492
|
+
};
|
493
|
+
return function(elem, name, bases, stringAllowed){
|
494
|
+
if(nameRegs[name]){
|
495
|
+
name = nameRegs[name];
|
496
|
+
} else {
|
497
|
+
nameRegs[name] = name.replace(normalName, nameFn);
|
498
|
+
name = nameRegs[name];
|
499
|
+
}
|
517
500
|
var data = elementData(elem, 'cfg'+name);
|
518
501
|
var dataName;
|
519
502
|
var cfg = {};
|
@@ -522,7 +505,12 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
522
505
|
return data;
|
523
506
|
}
|
524
507
|
data = $(elem).data();
|
525
|
-
|
508
|
+
if(data && typeof data[name] == 'string'){
|
509
|
+
if(stringAllowed){
|
510
|
+
return elementData(elem, 'cfg'+name, data[name]);
|
511
|
+
}
|
512
|
+
webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
|
513
|
+
}
|
526
514
|
if(!bases){
|
527
515
|
bases = [true, {}];
|
528
516
|
} else if(!Array.isArray(bases)){
|
@@ -531,12 +519,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
531
519
|
bases.unshift(true, {});
|
532
520
|
}
|
533
521
|
|
534
|
-
if(data && data[name]){
|
535
|
-
|
536
|
-
bases.push(data[name]);
|
537
|
-
} else {
|
538
|
-
webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
|
539
|
-
}
|
522
|
+
if(data && typeof data[name] == 'object'){
|
523
|
+
bases.push(data[name]);
|
540
524
|
}
|
541
525
|
|
542
526
|
if(!regs[name]){
|
@@ -549,7 +533,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
549
533
|
}
|
550
534
|
}
|
551
535
|
bases.push(cfg);
|
552
|
-
|
553
536
|
return elementData(elem, 'cfg'+name, $.extend.apply($, bases));
|
554
537
|
};
|
555
538
|
})(),
|
@@ -579,7 +562,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
579
562
|
var resizeTimer;
|
580
563
|
var lastHeight;
|
581
564
|
var lastWidth;
|
582
|
-
|
565
|
+
var $window = $(window);
|
583
566
|
var docObserve = {
|
584
567
|
init: false,
|
585
568
|
runs: 0,
|
@@ -599,25 +582,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
599
582
|
docObserve.runs = 0;
|
600
583
|
}
|
601
584
|
},
|
602
|
-
handler: function(
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
585
|
+
handler: (function(){
|
586
|
+
var trigger = function(){
|
587
|
+
$(document).triggerHandler('updateshadowdom');
|
588
|
+
};
|
589
|
+
return function(e){
|
590
|
+
clearTimeout(resizeTimer);
|
591
|
+
resizeTimer = setTimeout(function(){
|
592
|
+
if(e.type == 'resize'){
|
593
|
+
var width = $window.width();
|
594
|
+
var height = $window.width();
|
595
|
+
|
596
|
+
if(height == lastHeight && width == lastWidth){
|
597
|
+
return;
|
598
|
+
}
|
599
|
+
lastHeight = height;
|
600
|
+
lastWidth = width;
|
601
|
+
|
602
|
+
docObserve.height = docObserve.getHeight();
|
603
|
+
docObserve.width = docObserve.getWidth();
|
604
|
+
}
|
605
|
+
|
606
|
+
if(window.requestAnimationFrame){
|
607
|
+
requestAnimationFrame(trigger);
|
608
|
+
} else {
|
609
|
+
setTimeout(trigger, 0);
|
610
610
|
}
|
611
|
-
lastHeight = height;
|
612
|
-
lastWidth = width;
|
613
|
-
|
614
|
-
docObserve.height = docObserve.getHeight();
|
615
|
-
docObserve.width = docObserve.getWidth();
|
616
611
|
|
617
|
-
}
|
618
|
-
|
619
|
-
|
620
|
-
},
|
612
|
+
}, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 0);
|
613
|
+
};
|
614
|
+
})(),
|
621
615
|
_create: function(){
|
622
616
|
$.each({ Height: "getHeight", Width: "getWidth" }, function(name, type){
|
623
617
|
var body = document.body;
|
@@ -955,13 +949,17 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
955
949
|
webshims.defineNodeNamesProperty(elementNames, prop, {
|
956
950
|
attr: {
|
957
951
|
set: function(val){
|
958
|
-
|
952
|
+
if(descs.useContentAttribute){
|
953
|
+
webshims.contentAttr(this, prop, val);
|
954
|
+
} else {
|
955
|
+
this.setAttribute(prop, val);
|
956
|
+
}
|
959
957
|
if(descs.set){
|
960
958
|
descs.set.call(this, true);
|
961
959
|
}
|
962
960
|
},
|
963
961
|
get: function(){
|
964
|
-
var ret = this.getAttribute(prop);
|
962
|
+
var ret = (descs.useContentAttribute) ? webshims.contentAttr(this, prop) : this.getAttribute(prop);
|
965
963
|
return (ret == null) ? undefined : prop;
|
966
964
|
}
|
967
965
|
},
|
@@ -1018,6 +1016,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1018
1016
|
});
|
1019
1017
|
}
|
1020
1018
|
};
|
1019
|
+
|
1021
1020
|
var select = function(obj){
|
1022
1021
|
var oldLang = obj.__active;
|
1023
1022
|
var selectLang = function(i, lang){
|
@@ -1025,6 +1024,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1025
1024
|
if(obj[lang] || obj.availableLangs.indexOf(lang) != -1){
|
1026
1025
|
if(obj[lang]){
|
1027
1026
|
obj.__active = obj[lang];
|
1027
|
+
obj.__activeName = lang;
|
1028
1028
|
} else {
|
1029
1029
|
load(obj.langSrc+lang, obj, curLang.join());
|
1030
1030
|
}
|
@@ -1034,6 +1034,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1034
1034
|
$.each(curLang, selectLang);
|
1035
1035
|
if(!obj.__active){
|
1036
1036
|
obj.__active = obj[''];
|
1037
|
+
obj.__activeName = '';
|
1037
1038
|
}
|
1038
1039
|
if(oldLang != obj.__active){
|
1039
1040
|
$(obj).trigger('change');
|
@@ -1138,8 +1139,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1138
1139
|
}
|
1139
1140
|
});
|
1140
1141
|
|
1141
|
-
})(webshims.$, document)
|
1142
|
-
(function($){
|
1142
|
+
})(webshims.$, document);;(function($){
|
1143
1143
|
|
1144
1144
|
var id = 0;
|
1145
1145
|
var isNumber = function(string){
|
@@ -1159,7 +1159,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1159
1159
|
|
1160
1160
|
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>');
|
1161
1161
|
this.trail = $('.ws-range-track', this.element);
|
1162
|
-
this.range = $('.ws-range-progress
|
1162
|
+
this.range = $('.ws-range-progress', this.element);
|
1163
1163
|
this.thumb = $('.ws-range-thumb', this.trail);
|
1164
1164
|
|
1165
1165
|
this.updateMetrics();
|
@@ -1179,7 +1179,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1179
1179
|
},
|
1180
1180
|
value: $.noop,
|
1181
1181
|
_value: function(val, _noNormalize, animate){
|
1182
|
-
var left, posDif;
|
1182
|
+
var left, posDif, textValue;
|
1183
1183
|
var o = this.options;
|
1184
1184
|
var oVal = val;
|
1185
1185
|
var thumbStyle = {};
|
@@ -1228,9 +1228,15 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1228
1228
|
if(this.orig && (oVal != val || (!this._init && this.orig.value != val)) ){
|
1229
1229
|
this.options._change(val);
|
1230
1230
|
}
|
1231
|
+
|
1232
|
+
textValue = this.options.textValue ? this.options.textValue(this.options.value) : this.options.options[this.options.value] || this.options.value;
|
1231
1233
|
this.element.attr({
|
1232
1234
|
'aria-valuenow': this.options.value,
|
1233
|
-
'aria-valuetext':
|
1235
|
+
'aria-valuetext': textValue
|
1236
|
+
});
|
1237
|
+
this.thumb.attr({
|
1238
|
+
'data-value': this.options.value,
|
1239
|
+
'data-valuetext': textValue
|
1234
1240
|
});
|
1235
1241
|
},
|
1236
1242
|
initDataList: function(){
|
@@ -1274,13 +1280,19 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1274
1280
|
$.each(o.options, function(val, label){
|
1275
1281
|
if(!isNumber(val) || val < min || val > max){return;}
|
1276
1282
|
var left = 100 * ((val - min) / (max - min));
|
1277
|
-
var
|
1283
|
+
var attr = '';
|
1284
|
+
if(label){
|
1285
|
+
attr += 'data-label="'+label+'"';
|
1286
|
+
if(o.showLabels){
|
1287
|
+
attr += ' title="'+label+'"';
|
1288
|
+
}
|
1289
|
+
}
|
1278
1290
|
if(that.vertical){
|
1279
1291
|
left = Math.abs(left - 100);
|
1280
1292
|
}
|
1281
1293
|
|
1282
1294
|
that.posCenter(
|
1283
|
-
$('<span class="ws-range-ticks"'+
|
1295
|
+
$('<span class="ws-range-ticks"'+ attr +' style="'+(that.dirs.left)+': '+left+'%;" />').appendTo(trail)
|
1284
1296
|
);
|
1285
1297
|
});
|
1286
1298
|
},
|
@@ -1689,33 +1701,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1689
1701
|
});
|
1690
1702
|
};
|
1691
1703
|
if(window.webshims && webshims.isReady){
|
1692
|
-
webshims.
|
1693
|
-
webshims.isReady('range-ui', true);
|
1694
|
-
});
|
1695
|
-
if(webshims._polyfill){
|
1696
|
-
webshims._polyfill(['es5']);
|
1697
|
-
}
|
1704
|
+
webshims.isReady('range-ui', true);
|
1698
1705
|
}
|
1699
|
-
})(window.webshims ? webshims.$ : jQuery)
|
1700
|
-
webshims.register('form-number-date-ui', function($, webshims, window, document, undefined, options){
|
1706
|
+
})(window.webshims ? webshims.$ : jQuery);;webshims.register('form-number-date-ui', function($, webshims, window, document, undefined, options){
|
1701
1707
|
"use strict";
|
1702
1708
|
var curCfg;
|
1703
1709
|
var formcfg = webshims.formcfg;
|
1710
|
+
var hasFormValidation = Modernizr.formvalidation && !webshims.bugs.bustedValidity;
|
1704
1711
|
var monthDigits = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
|
1705
1712
|
var stopPropagation = function(e){
|
1706
1713
|
e.stopImmediatePropagation();
|
1707
1714
|
};
|
1708
|
-
var getMonthOptions =
|
1709
|
-
var
|
1710
|
-
|
1711
|
-
|
1712
|
-
|
1713
|
-
|
1714
|
-
|
1715
|
-
|
1716
|
-
|
1717
|
-
|
1718
|
-
|
1715
|
+
var getMonthOptions = function(opts){
|
1716
|
+
var selectName = 'monthSelect'+opts.formatMonthNames;
|
1717
|
+
if(!curCfg[selectName]){
|
1718
|
+
var labels = curCfg.date[opts.formatMonthNames] || monthDigits;
|
1719
|
+
curCfg[selectName] = ('<option value=""></option>')+$.map(monthDigits, function(val, i){
|
1720
|
+
return '<option value="'+val+'"]>'+labels[i]+'</option>';
|
1721
|
+
}).join('');
|
1722
|
+
}
|
1723
|
+
return curCfg[selectName];
|
1724
|
+
};
|
1725
|
+
var daySelect = '<select class="dd"><option value=""></option>'+ (function(){
|
1726
|
+
var i = 1;
|
1727
|
+
var opts = [];
|
1728
|
+
while(i < 32){
|
1729
|
+
opts.push('<option>'+ ((i < 10) ? '0'+ i : i) +'</option>' );
|
1730
|
+
i++;
|
1731
|
+
}
|
1732
|
+
return opts.join('');
|
1733
|
+
})() +'</select>';
|
1719
1734
|
var createFormat = function(name){
|
1720
1735
|
if(!curCfg.patterns[name+'Obj']){
|
1721
1736
|
var obj = {};
|
@@ -1729,15 +1744,19 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1729
1744
|
date: {
|
1730
1745
|
_create: function(opts){
|
1731
1746
|
var obj = {
|
1732
|
-
splits: [$('<input type="text" class="yy" size="4" inputmode="numeric" />')[0]]
|
1747
|
+
splits: [$('<input type="text" class="yy" size="4" inputmode="numeric" maxlength="4" />')[0]]
|
1733
1748
|
};
|
1749
|
+
|
1734
1750
|
if(opts.monthSelect){
|
1735
1751
|
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
1736
1752
|
} else {
|
1737
1753
|
obj.splits.push($('<input type="text" class="mm" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1738
1754
|
}
|
1739
|
-
|
1740
|
-
|
1755
|
+
if(opts.daySelect){
|
1756
|
+
obj.splits.push($(daySelect)[0]);
|
1757
|
+
} else {
|
1758
|
+
obj.splits.push($('<input type="text" class="dd ws-spin" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1759
|
+
}
|
1741
1760
|
|
1742
1761
|
obj.elements = [obj.splits[0], $('<span class="ws-input-seperator" />')[0], obj.splits[1], $('<span class="ws-input-seperator" />')[0], obj.splits[2]];
|
1743
1762
|
return obj;
|
@@ -1767,7 +1786,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1767
1786
|
splits: [$('<input type="text" class="yy" inputmode="numeric" size="4" />')[0]]
|
1768
1787
|
};
|
1769
1788
|
if(opts.monthSelect){
|
1770
|
-
obj.splits.push($('<select class="mm
|
1789
|
+
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
1771
1790
|
} else {
|
1772
1791
|
obj.splits.push($('<input type="text" class="mm ws-spin" />')[0]);
|
1773
1792
|
if(opts.onlyMonthDigits){
|
@@ -2171,18 +2190,30 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2171
2190
|
},
|
2172
2191
|
date: function(val, opts, noCorrect){
|
2173
2192
|
createFormat('d');
|
2174
|
-
var
|
2175
|
-
var
|
2193
|
+
var tmp, obj;
|
2194
|
+
var ret = '';
|
2176
2195
|
if(opts.splitInput){
|
2177
2196
|
obj = {yy: 0, mm: 1, dd: 2};
|
2178
2197
|
} else {
|
2179
2198
|
obj = curCfg.patterns.dObj;
|
2180
2199
|
val = val.split(curCfg.dFormat);
|
2181
2200
|
}
|
2182
|
-
|
2183
|
-
|
2184
|
-
|
2185
|
-
|
2201
|
+
if(val.length == 3 && val[0] && val[1] && val[2] && (!noCorrect || (val[obj.yy].length > 3 && val[obj.mm].length == 2 && val[obj.dd].length == 2))){
|
2202
|
+
if(val[obj.mm] > 12 && val[obj.dd] < 13){
|
2203
|
+
tmp = val[obj.dd];
|
2204
|
+
val[obj.dd] = val[obj.mm];
|
2205
|
+
val[obj.mm] = tmp;
|
2206
|
+
}
|
2207
|
+
if(val[obj.yy].length < 4){
|
2208
|
+
tmp = ((new Date()).getFullYear() +'').substr(0, 4 - val[obj.yy].length);
|
2209
|
+
if(val[obj.yy] > 50){
|
2210
|
+
tmp--;
|
2211
|
+
}
|
2212
|
+
val[obj.yy] = tmp + val[obj.yy];
|
2213
|
+
}
|
2214
|
+
ret = ([addZero(val[obj.yy]), addZero(val[obj.mm]), addZero(val[obj.dd])]).join('-');
|
2215
|
+
}
|
2216
|
+
return ret
|
2186
2217
|
;
|
2187
2218
|
},
|
2188
2219
|
color: function(val, opts){
|
@@ -2282,7 +2313,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2282
2313
|
this.buttonWrapper = $('<span class="input-buttons '+this.type+'-input-buttons"></span>').insertAfter(this.element);
|
2283
2314
|
this.options.containerElements.push(this.buttonWrapper[0]);
|
2284
2315
|
|
2285
|
-
o.mirrorValidity = o.mirrorValidity && this.orig &&
|
2316
|
+
o.mirrorValidity = o.mirrorValidity && this.orig && hasFormValidation;
|
2286
2317
|
|
2287
2318
|
if(o.splitInput && this._addSplitInputs){
|
2288
2319
|
if(o.monthSelect){
|
@@ -2386,7 +2417,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2386
2417
|
|
2387
2418
|
if(this.type != 'color'){
|
2388
2419
|
(function(){
|
2389
|
-
var localeChange ;
|
2420
|
+
var localeChange, select, selectVal;
|
2390
2421
|
if(!o.splitInput){
|
2391
2422
|
localeChange = function(){
|
2392
2423
|
|
@@ -2401,6 +2432,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2401
2432
|
} else {
|
2402
2433
|
localeChange = function(){
|
2403
2434
|
that.reorderInputs();
|
2435
|
+
if(o.monthSelect){
|
2436
|
+
select = that.inputElements.filter('select.mm');
|
2437
|
+
selectVal = select.prop('value');
|
2438
|
+
select.html(getMonthOptions(o));
|
2439
|
+
select.prop('value', selectVal);
|
2440
|
+
}
|
2404
2441
|
};
|
2405
2442
|
that.reorderInputs();
|
2406
2443
|
}
|
@@ -2434,7 +2471,11 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2434
2471
|
}
|
2435
2472
|
if(options.splitInput && typeof placeholder == 'object'){
|
2436
2473
|
$.each(this.splits, function(i, elem){
|
2437
|
-
$.
|
2474
|
+
if($.nodeName(elem, 'select')){
|
2475
|
+
$(elem).children('option:first-child').text(placeholder[i]);
|
2476
|
+
} else {
|
2477
|
+
$.prop(elem, 'placeholder', placeholder[i]);
|
2478
|
+
}
|
2438
2479
|
});
|
2439
2480
|
} else {
|
2440
2481
|
this.element.prop('placeholder', placeholder);
|
@@ -2518,14 +2559,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2518
2559
|
}
|
2519
2560
|
|
2520
2561
|
|
2521
|
-
if(!o.min && typeof o.relMin == 'number'){
|
2522
|
-
o.min = this.asValue(this.getRelNumber(o.relMin));
|
2523
|
-
$.prop(this.orig, 'min', o.min);
|
2524
|
-
}
|
2525
2562
|
|
2526
|
-
if(!o.max && typeof o.relMax == 'number'){
|
2527
|
-
|
2528
|
-
$.prop(this.orig, 'max', o.max);
|
2563
|
+
if((!o.max && typeof o.relMax == 'number') || (!o.min && typeof o.relMin == 'number')){
|
2564
|
+
webshims.error('relMax/relMin are not supported anymore')
|
2529
2565
|
}
|
2530
2566
|
this._init = true;
|
2531
2567
|
},
|
@@ -2594,6 +2630,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2594
2630
|
if(!this._init || force || this.options[name] !== val){
|
2595
2631
|
if(isValue){
|
2596
2632
|
this._beforeValue(val);
|
2633
|
+
} else {
|
2634
|
+
this.elemHelper.prop(name, val);
|
2597
2635
|
}
|
2598
2636
|
|
2599
2637
|
val = formatVal[this.type](val, this.options);
|
@@ -2644,9 +2682,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2644
2682
|
|
2645
2683
|
$.fn.spinbtnUI = function(opts){
|
2646
2684
|
opts = $.extend({
|
2647
|
-
monthNames: 'monthNames'
|
2648
|
-
size: 1,
|
2649
|
-
startView: 0
|
2685
|
+
monthNames: 'monthNames'
|
2650
2686
|
}, opts);
|
2651
2687
|
return this.each(function(){
|
2652
2688
|
$.webshims.objectCreate(spinBtnProto, {
|
@@ -2718,10 +2754,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2718
2754
|
|
2719
2755
|
|
2720
2756
|
picker.commonInit = function(data, popover){
|
2757
|
+
if(data._commonInit){return;}
|
2758
|
+
data._commonInit = true;
|
2721
2759
|
var tabbable;
|
2722
2760
|
|
2723
2761
|
popover.isDirty = true;
|
2724
|
-
|
2762
|
+
|
2725
2763
|
popover.element.on('updatepickercontent pickerchange', function(){
|
2726
2764
|
tabbable = false;
|
2727
2765
|
});
|
@@ -2761,6 +2799,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2761
2799
|
return function(prop){
|
2762
2800
|
if(prop == 'value' && !data.options.inlinePicker){return;}
|
2763
2801
|
popover.isDirty = true;
|
2802
|
+
|
2764
2803
|
if(popover.isVisible){
|
2765
2804
|
clearTimeout(timer);
|
2766
2805
|
timer = setTimeout(update, 9);
|
@@ -2828,30 +2867,6 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2828
2867
|
|
2829
2868
|
options.containerElements.push(popover.element[0]);
|
2830
2869
|
|
2831
|
-
if(data.type != 'color'){
|
2832
|
-
if(options.yearButtons){
|
2833
|
-
options.startView = 2;
|
2834
|
-
}
|
2835
|
-
if(!options.startView){
|
2836
|
-
options.startView = 0;
|
2837
|
-
}
|
2838
|
-
|
2839
|
-
if(data.type == 'time'){
|
2840
|
-
options.minView = 3;
|
2841
|
-
options.startView = 3;
|
2842
|
-
}
|
2843
|
-
if(!options.minView){
|
2844
|
-
options.minView = 0;
|
2845
|
-
}
|
2846
|
-
if(options.startView < options.minView){
|
2847
|
-
options.startView = options.minView;
|
2848
|
-
webshims.warn("wrong config for minView/startView.");
|
2849
|
-
}
|
2850
|
-
if(!options.size){
|
2851
|
-
options.size = 1;
|
2852
|
-
}
|
2853
|
-
}
|
2854
|
-
|
2855
2870
|
popover.element
|
2856
2871
|
.addClass(data.type+'-popover input-picker')
|
2857
2872
|
.attr({role: 'application'})
|
@@ -2912,12 +2927,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2912
2927
|
};
|
2913
2928
|
data.inputElements.on({
|
2914
2929
|
keydown: function(e){
|
2915
|
-
if(e.keyCode == 40 && e.altKey){
|
2930
|
+
if(e.keyCode == 40 && e.altKey && !$.nodeName(e.target, 'select')){
|
2916
2931
|
open();
|
2917
2932
|
}
|
2918
2933
|
},
|
2919
|
-
focus: function(){
|
2920
|
-
if(!popover.stopOpen && (options.buttonOnly || options.openOnFocus || (mouseFocus && options.openOnMouseFocus))){
|
2934
|
+
focus: function(e){
|
2935
|
+
if(!popover.stopOpen && (options.buttonOnly || options.openOnFocus || (mouseFocus && options.openOnMouseFocus)) && !$.nodeName(e.target, 'select')){
|
2921
2936
|
popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
|
2922
2937
|
show();
|
2923
2938
|
} else {
|
@@ -2934,7 +2949,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2934
2949
|
popover.activeElement.focus();
|
2935
2950
|
}, 4);
|
2936
2951
|
}
|
2937
|
-
if(data.element.is(':focus')){
|
2952
|
+
if(data.element.is(':focus') && !$.nodeName(e.target, 'select')){
|
2938
2953
|
popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
|
2939
2954
|
show();
|
2940
2955
|
}
|
@@ -3162,10 +3177,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3162
3177
|
opts[optsName] = $.attr(this, copyAttrs[i]) || opts[optsName];
|
3163
3178
|
}
|
3164
3179
|
}
|
3165
|
-
|
3166
|
-
|
3167
|
-
}
|
3168
|
-
if(opts.onlyMonthDigits){
|
3180
|
+
|
3181
|
+
if(opts.onlyMonthDigits || (!opts.formatMonthNames && opts.monthSelect)){
|
3169
3182
|
opts.formatMonthNames = 'monthDigits';
|
3170
3183
|
}
|
3171
3184
|
data.shim = inputTypes[type]._create(opts);
|
@@ -3215,11 +3228,11 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3215
3228
|
|
3216
3229
|
data.shim.element.on('change input', stopPropagation);
|
3217
3230
|
|
3218
|
-
if(
|
3231
|
+
if(hasFormValidation){
|
3219
3232
|
$(opts.orig).on('firstinvalid', function(e){
|
3220
3233
|
if(!webshims.fromSubmit && isCheckValidity){return;}
|
3221
3234
|
$(opts.orig).off('invalid.replacedwidgetbubble').on('invalid.replacedwidgetbubble', function(evt){
|
3222
|
-
if(!
|
3235
|
+
if(!evt.isDefaultPrevented()){
|
3223
3236
|
webshims.validityAlert.showFor( e.target );
|
3224
3237
|
e.preventDefault();
|
3225
3238
|
evt.preventDefault();
|
@@ -3246,7 +3259,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3246
3259
|
};
|
3247
3260
|
|
3248
3261
|
|
3249
|
-
if(
|
3262
|
+
if(hasFormValidation){
|
3250
3263
|
['input', 'form'].forEach(function(name){
|
3251
3264
|
var desc = webshims.defineNodeNameProperty(name, 'checkValidity', {
|
3252
3265
|
prop: {
|
@@ -3297,7 +3310,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3297
3310
|
if(!modernizrInputTypes[name] || replace[name]){
|
3298
3311
|
extendType(name, {
|
3299
3312
|
_create: function(opts, set){
|
3300
|
-
if(opts.monthSelect){
|
3313
|
+
if(opts.monthSelect || opts.daySelect){
|
3301
3314
|
opts.splitInput = true;
|
3302
3315
|
}
|
3303
3316
|
if(opts.splitInput && !splitInputs[name]){
|
@@ -3340,8 +3353,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3340
3353
|
})();
|
3341
3354
|
});
|
3342
3355
|
|
3343
|
-
|
3344
|
-
webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
|
3356
|
+
;webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
|
3345
3357
|
"use strict";
|
3346
3358
|
var doc = document;
|
3347
3359
|
var lazyLoad = function(name){
|