webshims-rails 1.12.0 → 1.12.2
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 +440 -440
- data/vendor/assets/javascripts/webshims/polyfiller.js +132 -91
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +248 -91
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +237 -84
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +21 -8
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +21 -8
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +237 -84
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +237 -84
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +11 -7
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +18 -8
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +11 -7
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +9 -6
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +11 -7
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +11 -7
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +10 -1
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +11 -7
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +18 -8
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +18 -8
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +7 -1
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +7 -1
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +11 -7
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +237 -84
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +244 -85
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +18 -8
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +11 -7
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +255 -92
- data/vendor/assets/javascripts/webshims/shims/details.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +10 -7
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +53 -56
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +7 -1
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +175 -60
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +3 -0
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +6 -6
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +77 -28
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +24 -16
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +40 -68
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +4 -4
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +13 -6
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +61 -24
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +278 -95
- data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +203 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +115 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +18 -2
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +227 -113
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +168 -159
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +106 -69
- metadata +4 -7
- data/vendor/assets/javascripts/webshims/shims/styles/details-arrows.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/polyfill-loader.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/range-track.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/vertical-range.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/swf/localStorage.swf +0 -0
@@ -2066,8 +2066,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2066
2066
|
_create: function(){
|
2067
2067
|
var i;
|
2068
2068
|
|
2069
|
-
|
2070
|
-
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>');
|
2069
|
+
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 data-value="" data-valuetext="" /></span></span>');
|
2071
2070
|
this.trail = $('.ws-range-track', this.element);
|
2072
2071
|
this.range = $('.ws-range-progress', this.element);
|
2073
2072
|
this.thumb = $('.ws-range-thumb', this.trail);
|
@@ -2089,7 +2088,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2089
2088
|
},
|
2090
2089
|
value: $.noop,
|
2091
2090
|
_value: function(val, _noNormalize, animate){
|
2092
|
-
var left, posDif
|
2091
|
+
var left, posDif;
|
2093
2092
|
var o = this.options;
|
2094
2093
|
var oVal = val;
|
2095
2094
|
var thumbStyle = {};
|
@@ -2105,7 +2104,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2105
2104
|
left = 100 * ((val - o.min) / (o.max - o.min));
|
2106
2105
|
|
2107
2106
|
if(this._init && val == o.value && oVal == val){return;}
|
2108
|
-
|
2107
|
+
o.value = val;
|
2109
2108
|
|
2110
2109
|
if($.fn.stop){
|
2111
2110
|
this.thumb.stop();
|
@@ -2113,6 +2112,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2113
2112
|
}
|
2114
2113
|
|
2115
2114
|
rangeStyle[this.dirs.width] = left+'%';
|
2115
|
+
|
2116
2116
|
if(this.vertical){
|
2117
2117
|
left = Math.abs(left - 100);
|
2118
2118
|
}
|
@@ -2139,15 +2139,26 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2139
2139
|
this.options._change(val);
|
2140
2140
|
}
|
2141
2141
|
|
2142
|
-
|
2142
|
+
this._setValueMarkup();
|
2143
|
+
},
|
2144
|
+
_setValueMarkup: function(){
|
2145
|
+
var o = this.options;
|
2146
|
+
var textValue = o.textValue ? o.textValue(this.options.value) : o.options[o.value] || o.value;
|
2143
2147
|
this.element.attr({
|
2144
2148
|
'aria-valuenow': this.options.value,
|
2145
2149
|
'aria-valuetext': textValue
|
2146
2150
|
});
|
2147
|
-
this.thumb.attr({
|
2151
|
+
$('span', this.thumb).attr({
|
2148
2152
|
'data-value': this.options.value,
|
2149
2153
|
'data-valuetext': textValue
|
2150
2154
|
});
|
2155
|
+
if(o.selectedOption){
|
2156
|
+
$(o.selectedOption).removeClass('ws-selected-option');
|
2157
|
+
o.selectedOption = null;
|
2158
|
+
}
|
2159
|
+
if(o.value in o.options){
|
2160
|
+
o.selectedOption = $('[data-value="'+o.value+'"].ws-range-ticks').addClass('ws-selected-option');
|
2161
|
+
}
|
2151
2162
|
},
|
2152
2163
|
initDataList: function(){
|
2153
2164
|
if(this.orig){
|
@@ -2190,9 +2201,9 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2190
2201
|
$.each(o.options, function(val, label){
|
2191
2202
|
if(!isNumber(val) || val < min || val > max){return;}
|
2192
2203
|
var left = 100 * ((val - min) / (max - min));
|
2193
|
-
var attr = '';
|
2204
|
+
var attr = 'data-value="'+val+'"';
|
2194
2205
|
if(label){
|
2195
|
-
attr += 'data-label="'+label+'"';
|
2206
|
+
attr += ' data-label="'+label+'"';
|
2196
2207
|
if(o.showLabels){
|
2197
2208
|
attr += ' title="'+label+'"';
|
2198
2209
|
}
|
@@ -2205,6 +2216,9 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2205
2216
|
$('<span class="ws-range-ticks"'+ attr +' style="'+(that.dirs.left)+': '+left+'%;" />').appendTo(trail)
|
2206
2217
|
);
|
2207
2218
|
});
|
2219
|
+
if(o.value in o.options){
|
2220
|
+
this._setValueMarkup();
|
2221
|
+
}
|
2208
2222
|
},
|
2209
2223
|
readonly: function(val){
|
2210
2224
|
val = !!val;
|
@@ -2248,12 +2262,13 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2248
2262
|
var step = val == 'any' ? 'any' : retDefault(val, 1);
|
2249
2263
|
|
2250
2264
|
if(o.stepping){
|
2251
|
-
|
2252
|
-
|
2253
|
-
|
2254
|
-
|
2255
|
-
|
2265
|
+
webshims.error('stepping was removed. Use stepfactor instead.');
|
2266
|
+
}
|
2267
|
+
|
2268
|
+
if(o.stepfactor && step != 'any'){
|
2269
|
+
step *= o.stepfactor;
|
2256
2270
|
}
|
2271
|
+
|
2257
2272
|
o.step = step;
|
2258
2273
|
this.value(this.options.value);
|
2259
2274
|
},
|
@@ -2291,11 +2306,11 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2291
2306
|
var val, valModStep, alignValue, step;
|
2292
2307
|
|
2293
2308
|
if(pos <= 0){
|
2294
|
-
val = this.options[this.dirs.min];
|
2309
|
+
val = this.options[this.dirs[this.isRtl ? 'max' : 'min']];
|
2295
2310
|
} else if(pos > 100) {
|
2296
|
-
val = this.options[this.dirs.max];
|
2311
|
+
val = this.options[this.dirs[this.isRtl ? 'min' : 'max']];
|
2297
2312
|
} else {
|
2298
|
-
if(this.vertical){
|
2313
|
+
if(this.vertical || this.isRtl){
|
2299
2314
|
pos = Math.abs(pos - 100);
|
2300
2315
|
}
|
2301
2316
|
val = ((this.options.max - this.options.min) * (pos / 100)) + this.options.min;
|
@@ -2380,17 +2395,20 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2380
2395
|
return e;
|
2381
2396
|
};
|
2382
2397
|
})();
|
2398
|
+
var updateValue = function(val, animate){
|
2399
|
+
if(val != o.value){
|
2400
|
+
that.value(val, false, animate);
|
2401
|
+
eventTimer.call('input', val);
|
2402
|
+
}
|
2403
|
+
};
|
2383
2404
|
var setValueFromPos = function(e, animate){
|
2384
2405
|
if(e.type == 'touchmove'){
|
2385
2406
|
e.preventDefault();
|
2386
2407
|
normalizeTouch(e);
|
2387
2408
|
}
|
2388
2409
|
|
2389
|
-
|
2390
|
-
|
2391
|
-
that.value(val, false, animate);
|
2392
|
-
eventTimer.call('input', val);
|
2393
|
-
}
|
2410
|
+
updateValue(that.getStepedValueFromPos((e[that.dirs.mouse] - leftOffset) * widgetUnits), animate);
|
2411
|
+
|
2394
2412
|
if(e && e.type == 'mousemove'){
|
2395
2413
|
e.preventDefault();
|
2396
2414
|
}
|
@@ -2428,7 +2446,12 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2428
2446
|
outerWidth = that.thumb[that.dirs.outerWidth]();
|
2429
2447
|
leftOffset = leftOffset[that.dirs.pos];
|
2430
2448
|
widgetUnits = 100 / widgetUnits;
|
2431
|
-
|
2449
|
+
|
2450
|
+
if(e.target.className == 'ws-range-ticks'){
|
2451
|
+
updateValue(e.target.getAttribute('data-value'), o.animate);
|
2452
|
+
} else {
|
2453
|
+
setValueFromPos(e, o.animate);
|
2454
|
+
}
|
2432
2455
|
isActive = true;
|
2433
2456
|
$(document)
|
2434
2457
|
.on(e.type == 'touchstart' ?
|
@@ -2474,6 +2497,13 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2474
2497
|
var step = true;
|
2475
2498
|
var code = e.keyCode;
|
2476
2499
|
if(!o.readonly && !o.disabled){
|
2500
|
+
if(that.isRtl){
|
2501
|
+
if(code == 39){
|
2502
|
+
code = 37;
|
2503
|
+
} else if(code == 37){
|
2504
|
+
code = 39;
|
2505
|
+
}
|
2506
|
+
}
|
2477
2507
|
if (code == 39 || code == 38) {
|
2478
2508
|
that.doStep(1);
|
2479
2509
|
} else if (code == 37 || code == 40) {
|
@@ -2573,10 +2603,17 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2573
2603
|
{mouse: 'pageY', pos: 'top', min: 'max', max: 'min', left: 'top', right: 'bottom', width: 'height', innerWidth: 'innerHeight', innerHeight: 'innerWidth', outerWidth: 'outerHeight', outerHeight: 'outerWidth', marginTop: 'marginLeft', marginLeft: 'marginTop'} :
|
2574
2604
|
{mouse: 'pageX', pos: 'left', min: 'min', max: 'max', left: 'left', right: 'right', width: 'width', innerWidth: 'innerWidth', innerHeight: 'innerHeight', outerWidth: 'outerWidth', outerHeight: 'outerHeight', marginTop: 'marginTop', marginLeft: 'marginLeft'}
|
2575
2605
|
;
|
2606
|
+
if(!this.vertical && this.element.css('direction') == 'rtl'){
|
2607
|
+
this.isRtl = true;
|
2608
|
+
this.dirs.left = 'right';
|
2609
|
+
this.dirs.right = 'left';
|
2610
|
+
this.dirs.marginLeft = 'marginRight';
|
2611
|
+
}
|
2576
2612
|
this.element
|
2577
2613
|
[this.vertical ? 'addClass' : 'removeClass']('vertical-range')
|
2578
|
-
[this.
|
2614
|
+
[this.isRtl ? 'addClass' : 'removeClass']('ws-is-rtl')
|
2579
2615
|
;
|
2616
|
+
this.updateMetrics = this.posCenter;
|
2580
2617
|
this.posCenter();
|
2581
2618
|
}
|
2582
2619
|
};
|
@@ -2613,7 +2650,8 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2613
2650
|
if(window.webshims && webshims.isReady){
|
2614
2651
|
webshims.isReady('range-ui', true);
|
2615
2652
|
}
|
2616
|
-
})(window.webshims ? webshims.$ : jQuery)
|
2653
|
+
})(window.webshims ? webshims.$ : jQuery);
|
2654
|
+
;webshims.register('form-number-date-ui', function($, webshims, window, document, undefined, options){
|
2617
2655
|
"use strict";
|
2618
2656
|
var curCfg;
|
2619
2657
|
var formcfg = webshims.formcfg;
|
@@ -2623,9 +2661,9 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2623
2661
|
e.stopImmediatePropagation();
|
2624
2662
|
};
|
2625
2663
|
var getMonthOptions = function(opts){
|
2626
|
-
var selectName = 'monthSelect'+opts.
|
2664
|
+
var selectName = 'monthSelect'+opts.monthNames;
|
2627
2665
|
if(!curCfg[selectName]){
|
2628
|
-
var labels = curCfg.date[opts.
|
2666
|
+
var labels = curCfg.date[opts.monthNames] || monthDigits;
|
2629
2667
|
curCfg[selectName] = ('<option value=""></option>')+$.map(monthDigits, function(val, i){
|
2630
2668
|
return '<option value="'+val+'"]>'+labels[i]+'</option>';
|
2631
2669
|
}).join('');
|
@@ -2650,13 +2688,39 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2650
2688
|
curCfg.patterns[name+'Obj'] = obj;
|
2651
2689
|
}
|
2652
2690
|
};
|
2691
|
+
var createYearSelect = function(obj, opts){
|
2692
|
+
var options, nowY, max, min;
|
2693
|
+
if(opts.yearSelect){
|
2694
|
+
nowY = parseInt(opts.value.split('-')[0], 10);
|
2695
|
+
max = opts.max.split('-');
|
2696
|
+
min = opts.min.split('-');
|
2697
|
+
options = webshims.picker.createYearSelect(nowY || parseInt(min[0], 10) || parseInt(max[0], 10) || nowYear, max, min);
|
2698
|
+
options.unshift('<option />');
|
2699
|
+
$(obj.elements)
|
2700
|
+
.filter('select.yy')
|
2701
|
+
.html(options.join(''))
|
2702
|
+
.each(function(){
|
2703
|
+
if(!nowY){
|
2704
|
+
$('option[selected]', this).removeAttr('selected');
|
2705
|
+
$(this).val();
|
2706
|
+
}
|
2707
|
+
})
|
2708
|
+
;
|
2709
|
+
}
|
2710
|
+
};
|
2653
2711
|
var splitInputs = {
|
2654
2712
|
date: {
|
2655
2713
|
_create: function(opts){
|
2656
2714
|
var obj = {
|
2657
|
-
splits: [
|
2715
|
+
splits: []
|
2658
2716
|
};
|
2659
2717
|
|
2718
|
+
if(opts.yearSelect){
|
2719
|
+
obj.splits.push($('<select class="yy"></select>')[0]);
|
2720
|
+
} else {
|
2721
|
+
obj.splits.push($('<input type="text" class="yy" size="4" inputmode="numeric" maxlength="4" />')[0]);
|
2722
|
+
}
|
2723
|
+
|
2660
2724
|
if(opts.monthSelect){
|
2661
2725
|
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
2662
2726
|
} else {
|
@@ -2669,6 +2733,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2669
2733
|
}
|
2670
2734
|
|
2671
2735
|
obj.elements = [obj.splits[0], $('<span class="ws-input-seperator" />')[0], obj.splits[1], $('<span class="ws-input-seperator" />')[0], obj.splits[2]];
|
2736
|
+
createYearSelect(obj, opts);
|
2672
2737
|
return obj;
|
2673
2738
|
},
|
2674
2739
|
sort: function(element){
|
@@ -2693,8 +2758,15 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2693
2758
|
_create: function(opts){
|
2694
2759
|
|
2695
2760
|
var obj = {
|
2696
|
-
splits: [
|
2761
|
+
splits: []
|
2697
2762
|
};
|
2763
|
+
|
2764
|
+
if(opts.yearSelect){
|
2765
|
+
obj.splits.push($('<select class="yy"></select>')[0]);
|
2766
|
+
} else {
|
2767
|
+
obj.splits.push($('<input type="text" class="yy" size="4" inputmode="numeric" maxlength="4" />')[0]);
|
2768
|
+
}
|
2769
|
+
|
2698
2770
|
if(opts.monthSelect){
|
2699
2771
|
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
2700
2772
|
} else {
|
@@ -2705,6 +2777,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2705
2777
|
}
|
2706
2778
|
|
2707
2779
|
obj.elements = [obj.splits[0], $('<span class="ws-input-seperator" />')[0], obj.splits[1]];
|
2780
|
+
createYearSelect(obj, opts);
|
2708
2781
|
return obj;
|
2709
2782
|
},
|
2710
2783
|
sort: function(element){
|
@@ -2724,7 +2797,8 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2724
2797
|
};
|
2725
2798
|
|
2726
2799
|
var nowDate = new Date(new Date().getTime() - (new Date().getTimezoneOffset() * 60 * 1000 ));
|
2727
|
-
|
2800
|
+
var nowYear = nowDate.getFullYear();
|
2801
|
+
nowDate = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), nowDate.getHours()).getTime();
|
2728
2802
|
var steps = {
|
2729
2803
|
number: {
|
2730
2804
|
step: 1
|
@@ -2934,9 +3008,6 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2934
3008
|
$(document).triggerHandler('wslocalechange');
|
2935
3009
|
};
|
2936
3010
|
|
2937
|
-
|
2938
|
-
|
2939
|
-
|
2940
3011
|
curCfg = webshims.activeLang(formcfg);
|
2941
3012
|
|
2942
3013
|
triggerLocaleChange();
|
@@ -2961,7 +3032,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2961
3032
|
|
2962
3033
|
|
2963
3034
|
var formatVal = {
|
2964
|
-
number: function(val){
|
3035
|
+
number: function(val, o){
|
2965
3036
|
return (val+'').replace(/\,/g, '').replace(/\./, curCfg.numberFormat['.']);
|
2966
3037
|
},
|
2967
3038
|
time: function(val){
|
@@ -2998,7 +3069,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
2998
3069
|
var names;
|
2999
3070
|
var p = val.split('-');
|
3000
3071
|
if(p[0] && p[1]){
|
3001
|
-
names = curCfg.date[options.
|
3072
|
+
names = curCfg.date[options.monthNames] || curCfg.date.monthNames;
|
3002
3073
|
p[1] = names[(p[1] * 1) - 1];
|
3003
3074
|
if(options && options.splitInput){
|
3004
3075
|
val = [p[0] || '', p[1] || ''];
|
@@ -3319,7 +3390,15 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3319
3390
|
})
|
3320
3391
|
.on({
|
3321
3392
|
'change input focus focusin blur focusout': function(e){
|
3393
|
+
var oVal, nVal;
|
3322
3394
|
$(e.target).trigger('ws__'+e.type);
|
3395
|
+
if(o.toFixed && o.type == 'number' && e.type == 'change'){
|
3396
|
+
oVal = that.element.prop('value');
|
3397
|
+
nVal = that.toFixed(oVal, true);
|
3398
|
+
if(oVal != nVal){
|
3399
|
+
that.element[0].value = nVal;
|
3400
|
+
}
|
3401
|
+
}
|
3323
3402
|
}
|
3324
3403
|
})
|
3325
3404
|
|
@@ -3468,11 +3547,14 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3468
3547
|
this.inputElements.attr('inputmode', 'numeric');
|
3469
3548
|
}
|
3470
3549
|
|
3471
|
-
|
3472
|
-
|
3473
3550
|
if((!o.max && typeof o.relMax == 'number') || (!o.min && typeof o.relMin == 'number')){
|
3474
|
-
webshims.error('relMax/relMin are not supported anymore')
|
3551
|
+
webshims.error('relMax/relMin are not supported anymore calculate at set it your own.');
|
3475
3552
|
}
|
3553
|
+
|
3554
|
+
if(this.options.relDefaultValue){
|
3555
|
+
webshims.warn('relDefaultValue was removed use startValue instead!');
|
3556
|
+
}
|
3557
|
+
|
3476
3558
|
this._init = true;
|
3477
3559
|
},
|
3478
3560
|
createOpts: ['step', 'min', 'max', 'readonly', 'title', 'disabled', 'tabindex', 'placeholder', 'defaultValue', 'value', 'required'],
|
@@ -3483,17 +3565,9 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3483
3565
|
this.inputElements = $(create.elements).prependTo(this.element).filter('input, select');
|
3484
3566
|
}
|
3485
3567
|
},
|
3486
|
-
|
3487
|
-
getRelNumber: function(rel){
|
3488
|
-
var start = steps[this.type].start || 0;
|
3489
|
-
if(rel){
|
3490
|
-
start += rel;
|
3491
|
-
}
|
3492
|
-
return start;
|
3493
|
-
},
|
3494
3568
|
addZero: addZero,
|
3495
3569
|
_setStartInRange: function(){
|
3496
|
-
var start = this.
|
3570
|
+
var start = this.options.startValue && this.asNumber( this.options.startValue ) || steps[this.type].start || 0;
|
3497
3571
|
if(!isNaN(this.minAsNumber) && start < this.minAsNumber){
|
3498
3572
|
start = this.minAsNumber;
|
3499
3573
|
} else if(!isNaN(this.maxAsNumber) && start > this.maxAsNumber){
|
@@ -3505,7 +3579,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3505
3579
|
},
|
3506
3580
|
reorderInputs: function(){
|
3507
3581
|
if(splitInputs[this.type]){
|
3508
|
-
var element = this.element;
|
3582
|
+
var element = this.element.attr('dir', curCfg.date.isRTL ? 'rtl' : 'ltr');
|
3509
3583
|
splitInputs[this.type].sort(element, this.options);
|
3510
3584
|
setTimeout(function(){
|
3511
3585
|
var data = webshims.data(element);
|
@@ -3531,6 +3605,13 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3531
3605
|
this.elemHelper.prop('value', val);
|
3532
3606
|
this.options.defValue = "";
|
3533
3607
|
}
|
3608
|
+
},
|
3609
|
+
toFixed: function(val, force){
|
3610
|
+
var o = this.options;
|
3611
|
+
if(o.toFixed && o.type == 'number' && val && this.valueAsNumber && (force || !this.element.is(':focus')) && (!o.fixOnlyFloat || (this.valueAsNumber % 1)) && !$(this.orig).is(':invalid')){
|
3612
|
+
val = formatVal[this.type](this.valueAsNumber.toFixed(o.toFixed), this.options);
|
3613
|
+
}
|
3614
|
+
return val;
|
3534
3615
|
}
|
3535
3616
|
});
|
3536
3617
|
|
@@ -3543,7 +3624,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3543
3624
|
} else {
|
3544
3625
|
this.elemHelper.prop(name, val);
|
3545
3626
|
}
|
3546
|
-
|
3627
|
+
|
3547
3628
|
val = formatVal[this.type](val, this.options);
|
3548
3629
|
if(this.options.splitInput){
|
3549
3630
|
$.each(this.splits, function(i, elem){
|
@@ -3555,7 +3636,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3555
3636
|
}
|
3556
3637
|
});
|
3557
3638
|
} else {
|
3558
|
-
this.element.prop(name, val);
|
3639
|
+
this.element.prop(name, this.toFixed(val));
|
3559
3640
|
}
|
3560
3641
|
this._propertyChange(name);
|
3561
3642
|
this.mirrorValidity();
|
@@ -3572,6 +3653,9 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3572
3653
|
this._setStartInRange();
|
3573
3654
|
}
|
3574
3655
|
this.options[name] = val;
|
3656
|
+
if(this._init){
|
3657
|
+
createYearSelect({elements: this.inputElements}, this.options);
|
3658
|
+
}
|
3575
3659
|
this._propertyChange(name);
|
3576
3660
|
this.mirrorValidity();
|
3577
3661
|
};
|
@@ -3592,7 +3676,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3592
3676
|
|
3593
3677
|
$.fn.spinbtnUI = function(opts){
|
3594
3678
|
opts = $.extend({
|
3595
|
-
monthNames: '
|
3679
|
+
monthNames: 'monthNamesShort'
|
3596
3680
|
}, opts);
|
3597
3681
|
return this.each(function(){
|
3598
3682
|
$.webshims.objectCreate(spinBtnProto, {
|
@@ -3622,6 +3706,53 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3622
3706
|
isVisible: true
|
3623
3707
|
};
|
3624
3708
|
|
3709
|
+
picker.isInRange = function(value, max, min){
|
3710
|
+
return !((min[0] && min[0] > value[0]) || (max[0] && max[0] < value[0]));
|
3711
|
+
};
|
3712
|
+
|
3713
|
+
|
3714
|
+
picker.createYearSelect = function(value, max, min, valueAdd, stepper){
|
3715
|
+
if(!stepper){
|
3716
|
+
stepper = {start: value, step: 1, label: value};
|
3717
|
+
}
|
3718
|
+
var temp;
|
3719
|
+
var goUp = true;
|
3720
|
+
var goDown = true;
|
3721
|
+
var options = ['<option selected="">'+ stepper.label + '</option>'];
|
3722
|
+
var i = 0;
|
3723
|
+
var createOption = function(value, add){
|
3724
|
+
var value2, label;
|
3725
|
+
if(stepper.step > 1){
|
3726
|
+
value2 = value + stepper.step - 1;
|
3727
|
+
label = value+' – '+value2;
|
3728
|
+
} else {
|
3729
|
+
label = value;
|
3730
|
+
}
|
3731
|
+
|
3732
|
+
if(picker.isInRange([value], max, min) || (value2 && picker.isInRange([value2], max, min))){
|
3733
|
+
options[add]('<option value="'+ (value+valueAdd) +'">'+ label +'</option>');
|
3734
|
+
return true;
|
3735
|
+
}
|
3736
|
+
};
|
3737
|
+
if(!valueAdd){
|
3738
|
+
valueAdd = '';
|
3739
|
+
}
|
3740
|
+
while(i < 18 && (goUp || goDown)){
|
3741
|
+
i++;
|
3742
|
+
if(goUp){
|
3743
|
+
temp = stepper.start - (i * stepper.step);
|
3744
|
+
goUp = createOption(temp, 'unshift');
|
3745
|
+
}
|
3746
|
+
if(goDown){
|
3747
|
+
temp = stepper.start + (i * stepper.step);
|
3748
|
+
goDown = createOption(temp, 'push');
|
3749
|
+
}
|
3750
|
+
|
3751
|
+
}
|
3752
|
+
|
3753
|
+
return options;
|
3754
|
+
};
|
3755
|
+
|
3625
3756
|
picker._genericSetFocus = function(element, _noFocus){
|
3626
3757
|
element = $(element || this.activeButton);
|
3627
3758
|
|
@@ -3631,12 +3762,12 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3631
3762
|
clearTimeout(that.timer);
|
3632
3763
|
that.timer = setTimeout(function(){
|
3633
3764
|
if(element[0]){
|
3634
|
-
element
|
3765
|
+
element.trigger('focus');
|
3635
3766
|
if(noTrigger !== true && !element.is(':focus')){
|
3636
3767
|
setFocus(true);
|
3637
3768
|
}
|
3638
3769
|
}
|
3639
|
-
}, that.popover.isVisible ?
|
3770
|
+
}, that.popover.isVisible ? 0 : 360);
|
3640
3771
|
};
|
3641
3772
|
this.popover.activateElement(element);
|
3642
3773
|
setFocus();
|
@@ -3849,7 +3980,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
3849
3980
|
popover.preventBlur();
|
3850
3981
|
}
|
3851
3982
|
},
|
3852
|
-
mousedown: function(){
|
3983
|
+
mousedown: function(e){
|
3853
3984
|
mouseFocus = true;
|
3854
3985
|
setTimeout(resetMouseFocus, 9);
|
3855
3986
|
if(options.buttonOnly && popover.isVisible && popover.activeElement){
|
@@ -4007,31 +4138,41 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
4007
4138
|
var updateStyles = function(){
|
4008
4139
|
$(data.orig).removeClass('ws-important-hide');
|
4009
4140
|
$.style( data.orig, 'display', '' );
|
4010
|
-
var hasButtons, marginR, marginL;
|
4141
|
+
var hasButtons, marginR, marginL, left, right, isRtl;
|
4011
4142
|
var correctWidth = 0.8;
|
4012
4143
|
if(!init || data.orig.offsetWidth){
|
4013
4144
|
hasButtons = data.buttonWrapper && data.buttonWrapper.filter(isVisible).length;
|
4014
|
-
|
4015
|
-
data.
|
4016
|
-
|
4017
|
-
|
4018
|
-
|
4145
|
+
|
4146
|
+
isRtl = hasButtons && data.buttonWrapper.css('direction') == 'rtl';
|
4147
|
+
if(isRtl){
|
4148
|
+
left = 'Right';
|
4149
|
+
right = 'Left';
|
4150
|
+
} else {
|
4151
|
+
left = 'Left';
|
4152
|
+
right = 'Right';
|
4153
|
+
}
|
4154
|
+
|
4155
|
+
marginR = $.css( data.orig, 'margin'+right);
|
4156
|
+
|
4157
|
+
data.element
|
4158
|
+
.css('margin'+left, $.css( data.orig, 'margin'+left))
|
4159
|
+
.css('margin'+right, hasButtons ? 0 : marginR)
|
4160
|
+
;
|
4019
4161
|
|
4020
4162
|
if(hasButtons){
|
4021
|
-
|
4022
|
-
data.
|
4163
|
+
data.buttonWrapper[isRtl ? 'addClass' : 'removeClass']('ws-is-rtl');
|
4164
|
+
marginL = (parseInt(data.buttonWrapper.css('margin'+left), 10) || 0);
|
4165
|
+
data.element.css('padding'+right, '');
|
4023
4166
|
|
4024
4167
|
if(marginL < 0){
|
4025
4168
|
marginR = (parseInt(marginR, 10) || 0) + ((data.buttonWrapper.outerWidth() + marginL) * -1);
|
4026
|
-
data.buttonWrapper.css('
|
4169
|
+
data.buttonWrapper.css('margin'+right, marginR);
|
4027
4170
|
data.element
|
4028
|
-
.css(
|
4029
|
-
.css(
|
4030
|
-
paddingRight: (parseInt( data.element.css('paddingRight'), 10) || 0) + data.buttonWrapper.outerWidth()
|
4031
|
-
})
|
4171
|
+
.css('padding'+right, '')
|
4172
|
+
.css('padding'+right, (parseInt( data.element.css('padding'+right), 10) || 0) + data.buttonWrapper.outerWidth())
|
4032
4173
|
;
|
4033
4174
|
} else {
|
4034
|
-
data.buttonWrapper.css('
|
4175
|
+
data.buttonWrapper.css('margin'+right, marginR);
|
4035
4176
|
correctWidth = data.buttonWrapper.outerWidth(true) + correctWidth;
|
4036
4177
|
}
|
4037
4178
|
}
|
@@ -4049,7 +4190,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
4049
4190
|
|
4050
4191
|
var type = $.prop(this, 'type');
|
4051
4192
|
|
4052
|
-
var i, opts, data, optsName, labels;
|
4193
|
+
var i, opts, data, optsName, labels, cNames;
|
4053
4194
|
if(inputTypes[type] && webshims.implement(this, 'inputwidgets')){
|
4054
4195
|
data = {};
|
4055
4196
|
optsName = type;
|
@@ -4087,17 +4228,38 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
4087
4228
|
opts[optsName] = $.attr(this, copyAttrs[i]) || opts[optsName];
|
4088
4229
|
}
|
4089
4230
|
}
|
4090
|
-
|
4091
|
-
|
4092
|
-
|
4231
|
+
if(opts.formatMonthNames){
|
4232
|
+
webshims.error('formatMonthNames was renamded to monthNames');
|
4233
|
+
}
|
4234
|
+
if(opts.onlyMonthDigits){
|
4235
|
+
opts.monthNames = 'monthDigits';
|
4093
4236
|
}
|
4094
4237
|
data.shim = inputTypes[type]._create(opts);
|
4095
|
-
|
4238
|
+
|
4096
4239
|
webshims.addShadowDom(this, data.shim.element, {
|
4097
4240
|
data: data.shim || {}
|
4098
4241
|
});
|
4099
4242
|
|
4100
4243
|
data.shim.options.containerElements.push(data.shim.element[0]);
|
4244
|
+
cNames = $.prop(this, 'className');
|
4245
|
+
if(opts.classes){
|
4246
|
+
cNames += ' '+opts.classes;
|
4247
|
+
}
|
4248
|
+
|
4249
|
+
if(opts.splitInput || type == 'range'){
|
4250
|
+
cNames = cNames.replace('form-control', '');
|
4251
|
+
}
|
4252
|
+
|
4253
|
+
data.shim.element.on('change input', stopPropagation).addClass(cNames);
|
4254
|
+
|
4255
|
+
if(data.shim.buttonWrapper){
|
4256
|
+
|
4257
|
+
data.shim.buttonWrapper.addClass('input-button-size-'+(data.shim.buttonWrapper.children().filter(isVisible).length));
|
4258
|
+
|
4259
|
+
if(data.shim.buttonWrapper.filter(isVisible).length){
|
4260
|
+
data.shim.element.addClass('has-input-buttons');
|
4261
|
+
}
|
4262
|
+
}
|
4101
4263
|
|
4102
4264
|
labelWidth($(this).getShadowFocusElement(), labels);
|
4103
4265
|
|
@@ -4129,14 +4291,13 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
4129
4291
|
$(opts.orig).trigger(hasFocus ? 'focusin' : 'focusout');
|
4130
4292
|
}
|
4131
4293
|
hasFocusTriggered = hasFocus;
|
4132
|
-
},
|
4294
|
+
}, 9);
|
4133
4295
|
}
|
4134
4296
|
})
|
4135
4297
|
;
|
4136
4298
|
})();
|
4137
|
-
|
4138
4299
|
|
4139
|
-
|
4300
|
+
|
4140
4301
|
|
4141
4302
|
if(hasFormValidation){
|
4142
4303
|
$(opts.orig).on('firstinvalid', function(e){
|
@@ -4152,13 +4313,6 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
4152
4313
|
});
|
4153
4314
|
}
|
4154
4315
|
|
4155
|
-
|
4156
|
-
if(data.shim.buttonWrapper && data.shim.buttonWrapper.filter(isVisible).length){
|
4157
|
-
data.shim.element.addClass('has-input-buttons');
|
4158
|
-
}
|
4159
|
-
|
4160
|
-
data.shim.element.addClass($.prop(this, 'className'));
|
4161
|
-
|
4162
4316
|
if(opts.calculateWidth){
|
4163
4317
|
sizeInput(data.shim);
|
4164
4318
|
} else {
|
@@ -4220,7 +4374,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
4220
4374
|
if(!modernizrInputTypes[name] || replace[name]){
|
4221
4375
|
extendType(name, {
|
4222
4376
|
_create: function(opts, set){
|
4223
|
-
if(opts.monthSelect || opts.daySelect){
|
4377
|
+
if(opts.monthSelect || opts.daySelect || opts.yearSelect){
|
4224
4378
|
opts.splitInput = true;
|
4225
4379
|
}
|
4226
4380
|
if(opts.splitInput && !splitInputs[name]){
|
@@ -4239,7 +4393,6 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
4239
4393
|
if(webshims.picker && webshims.picker[name]){
|
4240
4394
|
webshims.picker[name](data);
|
4241
4395
|
}
|
4242
|
-
data.buttonWrapper.addClass('input-button-size-'+(data.buttonWrapper.children().filter(isVisible).length));
|
4243
4396
|
return data;
|
4244
4397
|
}
|
4245
4398
|
});
|