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
@@ -209,8 +209,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
209
209
|
});
|
210
210
|
|
211
211
|
|
212
|
-
})
|
213
|
-
webshims.register('form-number-date-api', function($, webshims, window, document, undefined, options){
|
212
|
+
});;webshims.register('form-number-date-api', function($, webshims, window, document, undefined, options){
|
214
213
|
"use strict";
|
215
214
|
if(!webshims.addInputType){
|
216
215
|
webshims.error("you can not call forms-ext feature after calling forms feature. call both at once instead: $.webshims.polyfill('forms forms-ext')");
|
@@ -275,7 +274,8 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
275
274
|
cache.type = getType(input[0]);
|
276
275
|
}
|
277
276
|
if(cache.type == 'week'){return false;}
|
278
|
-
var
|
277
|
+
var base, attrVal;
|
278
|
+
var ret = (validityState || {}).stepMismatch || false;
|
279
279
|
if(typeModels[cache.type] && typeModels[cache.type].step){
|
280
280
|
if( !('step' in cache) ){
|
281
281
|
cache.step = webshims.getStep(input[0], cache.type);
|
@@ -290,6 +290,11 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
290
290
|
|
291
291
|
addMinMaxNumberToCache('min', input, cache);
|
292
292
|
base = cache.minAsNumber;
|
293
|
+
|
294
|
+
if(isNaN(base) && (attrVal = input.prop('defaultValue'))){
|
295
|
+
base = typeModels[cache.type].asNumber( attrVal );
|
296
|
+
}
|
297
|
+
|
293
298
|
if(isNaN(base)){
|
294
299
|
base = typeModels[cache.type].stepBase || 0;
|
295
300
|
}
|
@@ -404,7 +409,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
404
409
|
var stepDescriptor = webshims.defineNodeNameProperty('input', name, {
|
405
410
|
prop: {
|
406
411
|
value: function(factor){
|
407
|
-
var step, val, dateVal, valModStep, alignValue, cache;
|
412
|
+
var step, val, dateVal, valModStep, alignValue, cache, base, attrVal;
|
408
413
|
var type = getType(this);
|
409
414
|
if(typeModels[type] && typeModels[type].asNumber){
|
410
415
|
cache = {type: type};
|
@@ -431,10 +436,21 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
431
436
|
webshims.addMinMaxNumberToCache('min', $(this), cache);
|
432
437
|
webshims.addMinMaxNumberToCache('max', $(this), cache);
|
433
438
|
|
439
|
+
base = cache.minAsNumber;
|
440
|
+
|
441
|
+
if(isNaN(base) && (attrVal = $.prop(this, 'defaultValue'))){
|
442
|
+
base = typeModels[type].asNumber( attrVal );
|
443
|
+
}
|
444
|
+
|
445
|
+
if(!base){
|
446
|
+
base = 0;
|
447
|
+
}
|
448
|
+
|
434
449
|
step *= factor;
|
435
450
|
|
436
451
|
val = (val + step).toFixed(5) * 1;
|
437
|
-
|
452
|
+
|
453
|
+
valModStep = (val - base) % step;
|
438
454
|
|
439
455
|
if ( valModStep && (Math.abs(valModStep) > EPS) ) {
|
440
456
|
alignValue = val - valModStep;
|
@@ -798,8 +814,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
798
814
|
});
|
799
815
|
}
|
800
816
|
|
801
|
-
})
|
802
|
-
(function($){
|
817
|
+
});;(function($){
|
803
818
|
|
804
819
|
var id = 0;
|
805
820
|
var isNumber = function(string){
|
@@ -819,7 +834,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
819
834
|
|
820
835
|
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>');
|
821
836
|
this.trail = $('.ws-range-track', this.element);
|
822
|
-
this.range = $('.ws-range-progress
|
837
|
+
this.range = $('.ws-range-progress', this.element);
|
823
838
|
this.thumb = $('.ws-range-thumb', this.trail);
|
824
839
|
|
825
840
|
this.updateMetrics();
|
@@ -839,7 +854,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
839
854
|
},
|
840
855
|
value: $.noop,
|
841
856
|
_value: function(val, _noNormalize, animate){
|
842
|
-
var left, posDif;
|
857
|
+
var left, posDif, textValue;
|
843
858
|
var o = this.options;
|
844
859
|
var oVal = val;
|
845
860
|
var thumbStyle = {};
|
@@ -888,9 +903,15 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
888
903
|
if(this.orig && (oVal != val || (!this._init && this.orig.value != val)) ){
|
889
904
|
this.options._change(val);
|
890
905
|
}
|
906
|
+
|
907
|
+
textValue = this.options.textValue ? this.options.textValue(this.options.value) : this.options.options[this.options.value] || this.options.value;
|
891
908
|
this.element.attr({
|
892
909
|
'aria-valuenow': this.options.value,
|
893
|
-
'aria-valuetext':
|
910
|
+
'aria-valuetext': textValue
|
911
|
+
});
|
912
|
+
this.thumb.attr({
|
913
|
+
'data-value': this.options.value,
|
914
|
+
'data-valuetext': textValue
|
894
915
|
});
|
895
916
|
},
|
896
917
|
initDataList: function(){
|
@@ -934,13 +955,19 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
934
955
|
$.each(o.options, function(val, label){
|
935
956
|
if(!isNumber(val) || val < min || val > max){return;}
|
936
957
|
var left = 100 * ((val - min) / (max - min));
|
937
|
-
var
|
958
|
+
var attr = '';
|
959
|
+
if(label){
|
960
|
+
attr += 'data-label="'+label+'"';
|
961
|
+
if(o.showLabels){
|
962
|
+
attr += ' title="'+label+'"';
|
963
|
+
}
|
964
|
+
}
|
938
965
|
if(that.vertical){
|
939
966
|
left = Math.abs(left - 100);
|
940
967
|
}
|
941
968
|
|
942
969
|
that.posCenter(
|
943
|
-
$('<span class="ws-range-ticks"'+
|
970
|
+
$('<span class="ws-range-ticks"'+ attr +' style="'+(that.dirs.left)+': '+left+'%;" />').appendTo(trail)
|
944
971
|
);
|
945
972
|
});
|
946
973
|
},
|
@@ -1349,33 +1376,36 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
1349
1376
|
});
|
1350
1377
|
};
|
1351
1378
|
if(window.webshims && webshims.isReady){
|
1352
|
-
webshims.
|
1353
|
-
webshims.isReady('range-ui', true);
|
1354
|
-
});
|
1355
|
-
if(webshims._polyfill){
|
1356
|
-
webshims._polyfill(['es5']);
|
1357
|
-
}
|
1379
|
+
webshims.isReady('range-ui', true);
|
1358
1380
|
}
|
1359
|
-
})(window.webshims ? webshims.$ : jQuery)
|
1360
|
-
webshims.register('form-number-date-ui', function($, webshims, window, document, undefined, options){
|
1381
|
+
})(window.webshims ? webshims.$ : jQuery);;webshims.register('form-number-date-ui', function($, webshims, window, document, undefined, options){
|
1361
1382
|
"use strict";
|
1362
1383
|
var curCfg;
|
1363
1384
|
var formcfg = webshims.formcfg;
|
1385
|
+
var hasFormValidation = Modernizr.formvalidation && !webshims.bugs.bustedValidity;
|
1364
1386
|
var monthDigits = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
|
1365
1387
|
var stopPropagation = function(e){
|
1366
1388
|
e.stopImmediatePropagation();
|
1367
1389
|
};
|
1368
|
-
var getMonthOptions =
|
1369
|
-
var
|
1370
|
-
|
1371
|
-
|
1372
|
-
|
1373
|
-
|
1374
|
-
|
1375
|
-
|
1376
|
-
|
1377
|
-
|
1378
|
-
|
1390
|
+
var getMonthOptions = function(opts){
|
1391
|
+
var selectName = 'monthSelect'+opts.formatMonthNames;
|
1392
|
+
if(!curCfg[selectName]){
|
1393
|
+
var labels = curCfg.date[opts.formatMonthNames] || monthDigits;
|
1394
|
+
curCfg[selectName] = ('<option value=""></option>')+$.map(monthDigits, function(val, i){
|
1395
|
+
return '<option value="'+val+'"]>'+labels[i]+'</option>';
|
1396
|
+
}).join('');
|
1397
|
+
}
|
1398
|
+
return curCfg[selectName];
|
1399
|
+
};
|
1400
|
+
var daySelect = '<select class="dd"><option value=""></option>'+ (function(){
|
1401
|
+
var i = 1;
|
1402
|
+
var opts = [];
|
1403
|
+
while(i < 32){
|
1404
|
+
opts.push('<option>'+ ((i < 10) ? '0'+ i : i) +'</option>' );
|
1405
|
+
i++;
|
1406
|
+
}
|
1407
|
+
return opts.join('');
|
1408
|
+
})() +'</select>';
|
1379
1409
|
var createFormat = function(name){
|
1380
1410
|
if(!curCfg.patterns[name+'Obj']){
|
1381
1411
|
var obj = {};
|
@@ -1389,15 +1419,19 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1389
1419
|
date: {
|
1390
1420
|
_create: function(opts){
|
1391
1421
|
var obj = {
|
1392
|
-
splits: [$('<input type="text" class="yy" size="4" inputmode="numeric" />')[0]]
|
1422
|
+
splits: [$('<input type="text" class="yy" size="4" inputmode="numeric" maxlength="4" />')[0]]
|
1393
1423
|
};
|
1424
|
+
|
1394
1425
|
if(opts.monthSelect){
|
1395
1426
|
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
1396
1427
|
} else {
|
1397
1428
|
obj.splits.push($('<input type="text" class="mm" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1398
1429
|
}
|
1399
|
-
|
1400
|
-
|
1430
|
+
if(opts.daySelect){
|
1431
|
+
obj.splits.push($(daySelect)[0]);
|
1432
|
+
} else {
|
1433
|
+
obj.splits.push($('<input type="text" class="dd ws-spin" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1434
|
+
}
|
1401
1435
|
|
1402
1436
|
obj.elements = [obj.splits[0], $('<span class="ws-input-seperator" />')[0], obj.splits[1], $('<span class="ws-input-seperator" />')[0], obj.splits[2]];
|
1403
1437
|
return obj;
|
@@ -1427,7 +1461,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1427
1461
|
splits: [$('<input type="text" class="yy" inputmode="numeric" size="4" />')[0]]
|
1428
1462
|
};
|
1429
1463
|
if(opts.monthSelect){
|
1430
|
-
obj.splits.push($('<select class="mm
|
1464
|
+
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
1431
1465
|
} else {
|
1432
1466
|
obj.splits.push($('<input type="text" class="mm ws-spin" />')[0]);
|
1433
1467
|
if(opts.onlyMonthDigits){
|
@@ -1831,18 +1865,30 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1831
1865
|
},
|
1832
1866
|
date: function(val, opts, noCorrect){
|
1833
1867
|
createFormat('d');
|
1834
|
-
var
|
1835
|
-
var
|
1868
|
+
var tmp, obj;
|
1869
|
+
var ret = '';
|
1836
1870
|
if(opts.splitInput){
|
1837
1871
|
obj = {yy: 0, mm: 1, dd: 2};
|
1838
1872
|
} else {
|
1839
1873
|
obj = curCfg.patterns.dObj;
|
1840
1874
|
val = val.split(curCfg.dFormat);
|
1841
1875
|
}
|
1842
|
-
|
1843
|
-
|
1844
|
-
|
1845
|
-
|
1876
|
+
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))){
|
1877
|
+
if(val[obj.mm] > 12 && val[obj.dd] < 13){
|
1878
|
+
tmp = val[obj.dd];
|
1879
|
+
val[obj.dd] = val[obj.mm];
|
1880
|
+
val[obj.mm] = tmp;
|
1881
|
+
}
|
1882
|
+
if(val[obj.yy].length < 4){
|
1883
|
+
tmp = ((new Date()).getFullYear() +'').substr(0, 4 - val[obj.yy].length);
|
1884
|
+
if(val[obj.yy] > 50){
|
1885
|
+
tmp--;
|
1886
|
+
}
|
1887
|
+
val[obj.yy] = tmp + val[obj.yy];
|
1888
|
+
}
|
1889
|
+
ret = ([addZero(val[obj.yy]), addZero(val[obj.mm]), addZero(val[obj.dd])]).join('-');
|
1890
|
+
}
|
1891
|
+
return ret
|
1846
1892
|
;
|
1847
1893
|
},
|
1848
1894
|
color: function(val, opts){
|
@@ -1942,7 +1988,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1942
1988
|
this.buttonWrapper = $('<span class="input-buttons '+this.type+'-input-buttons"></span>').insertAfter(this.element);
|
1943
1989
|
this.options.containerElements.push(this.buttonWrapper[0]);
|
1944
1990
|
|
1945
|
-
o.mirrorValidity = o.mirrorValidity && this.orig &&
|
1991
|
+
o.mirrorValidity = o.mirrorValidity && this.orig && hasFormValidation;
|
1946
1992
|
|
1947
1993
|
if(o.splitInput && this._addSplitInputs){
|
1948
1994
|
if(o.monthSelect){
|
@@ -2046,7 +2092,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2046
2092
|
|
2047
2093
|
if(this.type != 'color'){
|
2048
2094
|
(function(){
|
2049
|
-
var localeChange ;
|
2095
|
+
var localeChange, select, selectVal;
|
2050
2096
|
if(!o.splitInput){
|
2051
2097
|
localeChange = function(){
|
2052
2098
|
|
@@ -2061,6 +2107,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2061
2107
|
} else {
|
2062
2108
|
localeChange = function(){
|
2063
2109
|
that.reorderInputs();
|
2110
|
+
if(o.monthSelect){
|
2111
|
+
select = that.inputElements.filter('select.mm');
|
2112
|
+
selectVal = select.prop('value');
|
2113
|
+
select.html(getMonthOptions(o));
|
2114
|
+
select.prop('value', selectVal);
|
2115
|
+
}
|
2064
2116
|
};
|
2065
2117
|
that.reorderInputs();
|
2066
2118
|
}
|
@@ -2094,7 +2146,11 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2094
2146
|
}
|
2095
2147
|
if(options.splitInput && typeof placeholder == 'object'){
|
2096
2148
|
$.each(this.splits, function(i, elem){
|
2097
|
-
$.
|
2149
|
+
if($.nodeName(elem, 'select')){
|
2150
|
+
$(elem).children('option:first-child').text(placeholder[i]);
|
2151
|
+
} else {
|
2152
|
+
$.prop(elem, 'placeholder', placeholder[i]);
|
2153
|
+
}
|
2098
2154
|
});
|
2099
2155
|
} else {
|
2100
2156
|
this.element.prop('placeholder', placeholder);
|
@@ -2178,14 +2234,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2178
2234
|
}
|
2179
2235
|
|
2180
2236
|
|
2181
|
-
if(!o.min && typeof o.relMin == 'number'){
|
2182
|
-
o.min = this.asValue(this.getRelNumber(o.relMin));
|
2183
|
-
$.prop(this.orig, 'min', o.min);
|
2184
|
-
}
|
2185
2237
|
|
2186
|
-
if(!o.max && typeof o.relMax == 'number'){
|
2187
|
-
|
2188
|
-
$.prop(this.orig, 'max', o.max);
|
2238
|
+
if((!o.max && typeof o.relMax == 'number') || (!o.min && typeof o.relMin == 'number')){
|
2239
|
+
webshims.error('relMax/relMin are not supported anymore')
|
2189
2240
|
}
|
2190
2241
|
this._init = true;
|
2191
2242
|
},
|
@@ -2254,6 +2305,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2254
2305
|
if(!this._init || force || this.options[name] !== val){
|
2255
2306
|
if(isValue){
|
2256
2307
|
this._beforeValue(val);
|
2308
|
+
} else {
|
2309
|
+
this.elemHelper.prop(name, val);
|
2257
2310
|
}
|
2258
2311
|
|
2259
2312
|
val = formatVal[this.type](val, this.options);
|
@@ -2304,9 +2357,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2304
2357
|
|
2305
2358
|
$.fn.spinbtnUI = function(opts){
|
2306
2359
|
opts = $.extend({
|
2307
|
-
monthNames: 'monthNames'
|
2308
|
-
size: 1,
|
2309
|
-
startView: 0
|
2360
|
+
monthNames: 'monthNames'
|
2310
2361
|
}, opts);
|
2311
2362
|
return this.each(function(){
|
2312
2363
|
$.webshims.objectCreate(spinBtnProto, {
|
@@ -2378,10 +2429,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2378
2429
|
|
2379
2430
|
|
2380
2431
|
picker.commonInit = function(data, popover){
|
2432
|
+
if(data._commonInit){return;}
|
2433
|
+
data._commonInit = true;
|
2381
2434
|
var tabbable;
|
2382
2435
|
|
2383
2436
|
popover.isDirty = true;
|
2384
|
-
|
2437
|
+
|
2385
2438
|
popover.element.on('updatepickercontent pickerchange', function(){
|
2386
2439
|
tabbable = false;
|
2387
2440
|
});
|
@@ -2421,6 +2474,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2421
2474
|
return function(prop){
|
2422
2475
|
if(prop == 'value' && !data.options.inlinePicker){return;}
|
2423
2476
|
popover.isDirty = true;
|
2477
|
+
|
2424
2478
|
if(popover.isVisible){
|
2425
2479
|
clearTimeout(timer);
|
2426
2480
|
timer = setTimeout(update, 9);
|
@@ -2488,30 +2542,6 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2488
2542
|
|
2489
2543
|
options.containerElements.push(popover.element[0]);
|
2490
2544
|
|
2491
|
-
if(data.type != 'color'){
|
2492
|
-
if(options.yearButtons){
|
2493
|
-
options.startView = 2;
|
2494
|
-
}
|
2495
|
-
if(!options.startView){
|
2496
|
-
options.startView = 0;
|
2497
|
-
}
|
2498
|
-
|
2499
|
-
if(data.type == 'time'){
|
2500
|
-
options.minView = 3;
|
2501
|
-
options.startView = 3;
|
2502
|
-
}
|
2503
|
-
if(!options.minView){
|
2504
|
-
options.minView = 0;
|
2505
|
-
}
|
2506
|
-
if(options.startView < options.minView){
|
2507
|
-
options.startView = options.minView;
|
2508
|
-
webshims.warn("wrong config for minView/startView.");
|
2509
|
-
}
|
2510
|
-
if(!options.size){
|
2511
|
-
options.size = 1;
|
2512
|
-
}
|
2513
|
-
}
|
2514
|
-
|
2515
2545
|
popover.element
|
2516
2546
|
.addClass(data.type+'-popover input-picker')
|
2517
2547
|
.attr({role: 'application'})
|
@@ -2572,12 +2602,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2572
2602
|
};
|
2573
2603
|
data.inputElements.on({
|
2574
2604
|
keydown: function(e){
|
2575
|
-
if(e.keyCode == 40 && e.altKey){
|
2605
|
+
if(e.keyCode == 40 && e.altKey && !$.nodeName(e.target, 'select')){
|
2576
2606
|
open();
|
2577
2607
|
}
|
2578
2608
|
},
|
2579
|
-
focus: function(){
|
2580
|
-
if(!popover.stopOpen && (options.buttonOnly || options.openOnFocus || (mouseFocus && options.openOnMouseFocus))){
|
2609
|
+
focus: function(e){
|
2610
|
+
if(!popover.stopOpen && (options.buttonOnly || options.openOnFocus || (mouseFocus && options.openOnMouseFocus)) && !$.nodeName(e.target, 'select')){
|
2581
2611
|
popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
|
2582
2612
|
show();
|
2583
2613
|
} else {
|
@@ -2594,7 +2624,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2594
2624
|
popover.activeElement.focus();
|
2595
2625
|
}, 4);
|
2596
2626
|
}
|
2597
|
-
if(data.element.is(':focus')){
|
2627
|
+
if(data.element.is(':focus') && !$.nodeName(e.target, 'select')){
|
2598
2628
|
popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
|
2599
2629
|
show();
|
2600
2630
|
}
|
@@ -2822,10 +2852,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2822
2852
|
opts[optsName] = $.attr(this, copyAttrs[i]) || opts[optsName];
|
2823
2853
|
}
|
2824
2854
|
}
|
2825
|
-
|
2826
|
-
|
2827
|
-
}
|
2828
|
-
if(opts.onlyMonthDigits){
|
2855
|
+
|
2856
|
+
if(opts.onlyMonthDigits || (!opts.formatMonthNames && opts.monthSelect)){
|
2829
2857
|
opts.formatMonthNames = 'monthDigits';
|
2830
2858
|
}
|
2831
2859
|
data.shim = inputTypes[type]._create(opts);
|
@@ -2875,11 +2903,11 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2875
2903
|
|
2876
2904
|
data.shim.element.on('change input', stopPropagation);
|
2877
2905
|
|
2878
|
-
if(
|
2906
|
+
if(hasFormValidation){
|
2879
2907
|
$(opts.orig).on('firstinvalid', function(e){
|
2880
2908
|
if(!webshims.fromSubmit && isCheckValidity){return;}
|
2881
2909
|
$(opts.orig).off('invalid.replacedwidgetbubble').on('invalid.replacedwidgetbubble', function(evt){
|
2882
|
-
if(!
|
2910
|
+
if(!evt.isDefaultPrevented()){
|
2883
2911
|
webshims.validityAlert.showFor( e.target );
|
2884
2912
|
e.preventDefault();
|
2885
2913
|
evt.preventDefault();
|
@@ -2906,7 +2934,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2906
2934
|
};
|
2907
2935
|
|
2908
2936
|
|
2909
|
-
if(
|
2937
|
+
if(hasFormValidation){
|
2910
2938
|
['input', 'form'].forEach(function(name){
|
2911
2939
|
var desc = webshims.defineNodeNameProperty(name, 'checkValidity', {
|
2912
2940
|
prop: {
|
@@ -2957,7 +2985,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2957
2985
|
if(!modernizrInputTypes[name] || replace[name]){
|
2958
2986
|
extendType(name, {
|
2959
2987
|
_create: function(opts, set){
|
2960
|
-
if(opts.monthSelect){
|
2988
|
+
if(opts.monthSelect || opts.daySelect){
|
2961
2989
|
opts.splitInput = true;
|
2962
2990
|
}
|
2963
2991
|
if(opts.splitInput && !splitInputs[name]){
|
@@ -3000,8 +3028,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3000
3028
|
})();
|
3001
3029
|
});
|
3002
3030
|
|
3003
|
-
|
3004
|
-
webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
|
3031
|
+
;webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
|
3005
3032
|
"use strict";
|
3006
3033
|
var doc = document;
|
3007
3034
|
var lazyLoad = function(name){
|