webshims-rails 1.13.0 → 1.14.1
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 +0 -0
- data/vendor/assets/javascripts/webshims/polyfiller.js +45 -26
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +0 -0
- 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 +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +33 -2
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +82 -29
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +115 -43
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +115 -43
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +33 -3
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +65 -4
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +33 -3
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +492 -2580
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +8314 -1432
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +1642 -556
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +50 -39
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +66 -5
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +66 -5
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +65 -4
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +32 -2
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +33 -3
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +66 -5
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +66 -5
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +82 -29
- data/vendor/assets/javascripts/webshims/shims/combos/97.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +1 -0
- data/vendor/assets/javascripts/webshims/shims/details.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +32 -2
- data/vendor/assets/javascripts/webshims/shims/es5.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/excanvas.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/filereader.js +441 -362
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +19 -7
- data/vendor/assets/javascripts/webshims/shims/form-core.js +33 -2
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-message.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +49 -38
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +45 -14
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +105 -7
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +212 -134
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +15 -12
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-CN.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-cs.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-BR.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/b.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/c.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/jme/p.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/picker.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +0 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.cdn.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/js/moxie.js +7994 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
- data/vendor/assets/javascripts/webshims/shims/picture.js +50 -43
- data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/promise.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/sizzle.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/color-picker.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/config.rb +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +7 -2
- data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +0 -0
- 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/_api-forms-ext.scss +219 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +115 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +31 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +583 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +488 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +2 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +736 -0
- data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +105 -21
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +91 -19
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swf/filereader.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini-embed.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/track.js +0 -0
- metadata +13 -2
File without changes
|
File without changes
|
@@ -179,8 +179,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
179
179
|
});
|
180
180
|
return this;
|
181
181
|
};
|
182
|
-
|
183
|
-
var dataID = '
|
182
|
+
var idCount = 0;
|
183
|
+
var dataID = '_webshims'+ (Math.round(Math.random() * 1000));
|
184
184
|
var elementData = function(elem, key, val){
|
185
185
|
elem = elem.jquery ? elem[0] : elem;
|
186
186
|
if(!elem){return val || {};}
|
@@ -211,6 +211,35 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
211
211
|
return this.pushStack(elems);
|
212
212
|
};
|
213
213
|
});
|
214
|
+
|
215
|
+
function clone(elem, dataAndEvents, uniqueIds){
|
216
|
+
var cloned = $.clone( elem, dataAndEvents, false );
|
217
|
+
$(cloned.querySelectorAll('.'+webshims.shadowClass)).detach();
|
218
|
+
if(uniqueIds){
|
219
|
+
idCount++;
|
220
|
+
$(cloned.querySelectorAll('[id]')).prop('id', function(i, id){
|
221
|
+
return id +idCount;
|
222
|
+
});
|
223
|
+
} else {
|
224
|
+
$(cloned.querySelectorAll('audio[id^="ID-"], video[id^="ID-"], label[id^="ID-"]')).removeAttr('id');
|
225
|
+
}
|
226
|
+
return cloned;
|
227
|
+
}
|
228
|
+
|
229
|
+
$.fn.clonePolyfill = function(dataAndEvents, uniqueIds){
|
230
|
+
dataAndEvents = dataAndEvents || false;
|
231
|
+
return this
|
232
|
+
.map(function() {
|
233
|
+
var cloned = clone( this, dataAndEvents, uniqueIds );
|
234
|
+
setTimeout(function(){
|
235
|
+
if($.contains(document.body, cloned)){
|
236
|
+
$(cloned).updatePolyfill();
|
237
|
+
}
|
238
|
+
});
|
239
|
+
return cloned;
|
240
|
+
})
|
241
|
+
;
|
242
|
+
};
|
214
243
|
|
215
244
|
//add support for $('video').trigger('play') in case extendNative is set to false
|
216
245
|
if(!webshims.cfg.extendNative && !webshims.cfg.noTriggerOverride){
|
@@ -522,6 +551,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
522
551
|
return id;
|
523
552
|
};
|
524
553
|
})(),
|
554
|
+
shadowClass: 'wsshadow-'+(Date.now()),
|
525
555
|
implement: function(elem, type){
|
526
556
|
var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
|
527
557
|
if(data[type]){
|
@@ -179,8 +179,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
179
179
|
});
|
180
180
|
return this;
|
181
181
|
};
|
182
|
-
|
183
|
-
var dataID = '
|
182
|
+
var idCount = 0;
|
183
|
+
var dataID = '_webshims'+ (Math.round(Math.random() * 1000));
|
184
184
|
var elementData = function(elem, key, val){
|
185
185
|
elem = elem.jquery ? elem[0] : elem;
|
186
186
|
if(!elem){return val || {};}
|
@@ -211,6 +211,35 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
211
211
|
return this.pushStack(elems);
|
212
212
|
};
|
213
213
|
});
|
214
|
+
|
215
|
+
function clone(elem, dataAndEvents, uniqueIds){
|
216
|
+
var cloned = $.clone( elem, dataAndEvents, false );
|
217
|
+
$(cloned.querySelectorAll('.'+webshims.shadowClass)).detach();
|
218
|
+
if(uniqueIds){
|
219
|
+
idCount++;
|
220
|
+
$(cloned.querySelectorAll('[id]')).prop('id', function(i, id){
|
221
|
+
return id +idCount;
|
222
|
+
});
|
223
|
+
} else {
|
224
|
+
$(cloned.querySelectorAll('audio[id^="ID-"], video[id^="ID-"], label[id^="ID-"]')).removeAttr('id');
|
225
|
+
}
|
226
|
+
return cloned;
|
227
|
+
}
|
228
|
+
|
229
|
+
$.fn.clonePolyfill = function(dataAndEvents, uniqueIds){
|
230
|
+
dataAndEvents = dataAndEvents || false;
|
231
|
+
return this
|
232
|
+
.map(function() {
|
233
|
+
var cloned = clone( this, dataAndEvents, uniqueIds );
|
234
|
+
setTimeout(function(){
|
235
|
+
if($.contains(document.body, cloned)){
|
236
|
+
$(cloned).updatePolyfill();
|
237
|
+
}
|
238
|
+
});
|
239
|
+
return cloned;
|
240
|
+
})
|
241
|
+
;
|
242
|
+
};
|
214
243
|
|
215
244
|
//add support for $('video').trigger('play') in case extendNative is set to false
|
216
245
|
if(!webshims.cfg.extendNative && !webshims.cfg.noTriggerOverride){
|
@@ -522,6 +551,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
522
551
|
return id;
|
523
552
|
};
|
524
553
|
})(),
|
554
|
+
shadowClass: 'wsshadow-'+(Date.now()),
|
525
555
|
implement: function(elem, type){
|
526
556
|
var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
|
527
557
|
if(data[type]){
|
@@ -1407,7 +1437,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1407
1437
|
if(message && message.indexOf('{%') != -1){
|
1408
1438
|
['value', 'min', 'max', 'maxlength', 'minlength', 'label'].forEach(function(attr){
|
1409
1439
|
if(message.indexOf('{%'+attr) === -1){return;}
|
1410
|
-
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr)) || '';
|
1440
|
+
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr) || $.attr(elem, attr) || '') || '';
|
1411
1441
|
val = ''+val;
|
1412
1442
|
|
1413
1443
|
|
@@ -1497,6 +1497,8 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1497
1497
|
;
|
1498
1498
|
}
|
1499
1499
|
};
|
1500
|
+
var numericType = Modernizr.inputtypes.tel && navigator.userAgent.indexOf('Mobile') != -1 && !('inputMode' in document.createElement('input') && !('inputmode' in document.createElement('input'))) ?
|
1501
|
+
'tel' : 'text';
|
1500
1502
|
var splitInputs = {
|
1501
1503
|
date: {
|
1502
1504
|
_create: function(opts){
|
@@ -1507,18 +1509,18 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1507
1509
|
if(opts.yearSelect){
|
1508
1510
|
obj.splits.push($('<select class="yy"></select>')[0]);
|
1509
1511
|
} else {
|
1510
|
-
obj.splits.push($('<input type="
|
1512
|
+
obj.splits.push($('<input type="'+ numericType +'" class="yy" size="4" inputmode="numeric" maxlength="4" />')[0]);
|
1511
1513
|
}
|
1512
1514
|
|
1513
1515
|
if(opts.monthSelect){
|
1514
1516
|
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
1515
1517
|
} else {
|
1516
|
-
obj.splits.push($('<input type="
|
1518
|
+
obj.splits.push($('<input type="'+ numericType +'" class="mm" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1517
1519
|
}
|
1518
1520
|
if(opts.daySelect){
|
1519
1521
|
obj.splits.push($(daySelect)[0]);
|
1520
1522
|
} else {
|
1521
|
-
obj.splits.push($('<input type="
|
1523
|
+
obj.splits.push($('<input type="'+ numericType +'" class="dd ws-spin" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1522
1524
|
}
|
1523
1525
|
|
1524
1526
|
obj.elements = [obj.splits[0], $('<span class="ws-input-seperator" />')[0], obj.splits[1], $('<span class="ws-input-seperator" />')[0], obj.splits[2]];
|
@@ -1553,7 +1555,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1553
1555
|
if(opts.yearSelect){
|
1554
1556
|
obj.splits.push($('<select class="yy"></select>')[0]);
|
1555
1557
|
} else {
|
1556
|
-
obj.splits.push($('<input type="
|
1558
|
+
obj.splits.push($('<input type="'+ numericType +'" class="yy" size="4" inputmode="numeric" maxlength="4" />')[0]);
|
1557
1559
|
}
|
1558
1560
|
|
1559
1561
|
if(opts.monthSelect){
|
@@ -1561,7 +1563,10 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1561
1563
|
} else {
|
1562
1564
|
obj.splits.push($('<input type="text" class="mm ws-spin" />')[0]);
|
1563
1565
|
if(opts.onlyMonthDigits){
|
1564
|
-
$(
|
1566
|
+
$().attr({inputmode: 'numeric', size: 2, maxlength: 2});
|
1567
|
+
try {
|
1568
|
+
obj.splits[1].setAttribute('type', numericType);
|
1569
|
+
} catch(e){}
|
1565
1570
|
}
|
1566
1571
|
}
|
1567
1572
|
|
@@ -1584,7 +1589,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1584
1589
|
}
|
1585
1590
|
}
|
1586
1591
|
};
|
1587
|
-
|
1592
|
+
|
1588
1593
|
var nowDate = new Date(new Date().getTime() - (new Date().getTimezoneOffset() * 60 * 1000 ));
|
1589
1594
|
var nowYear = nowDate.getFullYear();
|
1590
1595
|
nowDate = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), nowDate.getHours()).getTime();
|
@@ -2404,7 +2409,11 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2404
2409
|
} else if(!isNaN(this.maxAsNumber) && start > this.maxAsNumber){
|
2405
2410
|
start = this.maxAsNumber;
|
2406
2411
|
}
|
2407
|
-
|
2412
|
+
try {
|
2413
|
+
this.elemHelper.prop('valueAsNumber', start);
|
2414
|
+
} catch(e){
|
2415
|
+
webshims.warn('valueAsNumber set: '+e);
|
2416
|
+
}
|
2408
2417
|
this.options.defValue = this.elemHelper.prop('value');
|
2409
2418
|
},
|
2410
2419
|
reorderInputs: function(){
|
@@ -2428,7 +2437,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2428
2437
|
_beforeValue: function(val){
|
2429
2438
|
this.valueAsNumber = this.asNumber(val);
|
2430
2439
|
this.options.value = val;
|
2431
|
-
|
2440
|
+
|
2432
2441
|
if(isNaN(this.valueAsNumber) || (!isNaN(this.minAsNumber) && this.valueAsNumber < this.minAsNumber) || (!isNaN(this.maxAsNumber) && this.valueAsNumber > this.maxAsNumber)){
|
2433
2442
|
this._setStartInRange();
|
2434
2443
|
} else {
|
@@ -2544,9 +2553,9 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2544
2553
|
touchEnd = function(e){
|
2545
2554
|
var ret, touch;
|
2546
2555
|
e = e.originalEvent || {};
|
2547
|
-
$(this).off('touchend', touchEnd);
|
2556
|
+
$(this).off('touchend touchcancel', touchEnd);
|
2548
2557
|
var changedTouches = e.changedTouches || e.touches;
|
2549
|
-
if(!touchData || !changedTouches || changedTouches.length != 1){
|
2558
|
+
if(e.type == 'touchcancel' || !touchData || !changedTouches || changedTouches.length != 1){
|
2550
2559
|
return;
|
2551
2560
|
}
|
2552
2561
|
|
@@ -2577,7 +2586,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2577
2586
|
y: touch.pageY,
|
2578
2587
|
now: Date.now()
|
2579
2588
|
};
|
2580
|
-
elemTarget.on('touchend', touchEnd);
|
2589
|
+
elemTarget.on('touchend touchcancel', touchEnd);
|
2581
2590
|
};
|
2582
2591
|
|
2583
2592
|
this.each(function(){
|
@@ -2691,7 +2700,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2691
2700
|
cancel: function(val, popover, data){
|
2692
2701
|
if(!data.options.inlinePicker){
|
2693
2702
|
popover.stopOpen = true;
|
2694
|
-
if(assumeVirtualKeyBoard){
|
2703
|
+
if(!popover.openedByFocus && assumeVirtualKeyBoard){
|
2695
2704
|
$('button', data.buttonWrapper).trigger('focus');
|
2696
2705
|
} else {
|
2697
2706
|
data.element.getShadowFocusElement().trigger('focus');
|
@@ -2791,14 +2800,6 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2791
2800
|
var popover = webshims.objectCreate(options.inlinePicker ? webshims.inlinePopover : webshims.wsPopover, {}, $.extend(options.popover || {}, {prepareFor: options.inlinePicker ? data.buttonWrapper : data.element}));
|
2792
2801
|
var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
|
2793
2802
|
|
2794
|
-
if(options.widgetPosition){
|
2795
|
-
webshims.error('options.widgetPosition was removed use options.popover.position instead');
|
2796
|
-
}
|
2797
|
-
|
2798
|
-
if(options.openOnFocus && popover.options && (popover.options.appendTo == 'auto' || popover.options.appendTo == 'element')){
|
2799
|
-
webshims.error('openOnFocus and popover.appendTo "auto/element" can prduce a11y problems try to change appendTo to body or similiar or use openOnMouseFocus instead');
|
2800
|
-
}
|
2801
|
-
|
2802
2803
|
var showPickerContent = function(){
|
2803
2804
|
(picker[data.type].showPickerContent || picker.showPickerContent)(data, popover);
|
2804
2805
|
};
|
@@ -2867,9 +2868,28 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2867
2868
|
stopPropagation.apply(this, arguments);
|
2868
2869
|
popover.preventBlur();
|
2869
2870
|
},
|
2870
|
-
|
2871
|
-
|
2872
|
-
|
2871
|
+
keydown: function(e){
|
2872
|
+
if(e.keyCode == 40 && e.altKey){
|
2873
|
+
open();
|
2874
|
+
}
|
2875
|
+
},
|
2876
|
+
'focus mousedown': (function(){
|
2877
|
+
var allowClose = true;
|
2878
|
+
var reset = function(){
|
2879
|
+
allowClose = true;
|
2880
|
+
};
|
2881
|
+
return function(e){
|
2882
|
+
if(e.type == 'mousedown'){
|
2883
|
+
allowClose = false;
|
2884
|
+
setTimeout(reset);
|
2885
|
+
}
|
2886
|
+
if(e.type == 'focus' && allowClose && options.openOnFocus && popover.openedByFocus && (popover.options.appendTo == 'auto' || popover.options.appendTo == 'element')){
|
2887
|
+
popover.hide();
|
2888
|
+
} else {
|
2889
|
+
popover.preventBlur();
|
2890
|
+
}
|
2891
|
+
};
|
2892
|
+
})()
|
2873
2893
|
})
|
2874
2894
|
;
|
2875
2895
|
|
@@ -3116,6 +3136,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
3116
3136
|
}
|
3117
3137
|
|
3118
3138
|
};
|
3139
|
+
oriStyleO.webkitAppearance = 'none';
|
3119
3140
|
data.element.onWSOff('updateshadowdom', updateStyles, true);
|
3120
3141
|
};
|
3121
3142
|
|
@@ -3123,13 +3144,14 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
3123
3144
|
var implementType = function(){
|
3124
3145
|
|
3125
3146
|
var type = $.prop(this, 'type');
|
3126
|
-
|
3127
3147
|
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
3128
|
-
|
3148
|
+
|
3149
|
+
if(inputTypes[type] && webshims.implement(this, 'inputwidgets') && (!modernizrInputTypes[type] || !$(this).hasClass('ws-noreplace'))){
|
3129
3150
|
data = {};
|
3130
3151
|
optsName = type;
|
3131
3152
|
hasInitialFocus = $(this).is(':focus');
|
3132
3153
|
labels = $(this).jProp('labels');
|
3154
|
+
|
3133
3155
|
opts = $.extend(webshims.getOptions(this, type, [options.widgets, options[type], $($.prop(this, 'form')).data(type)]), {
|
3134
3156
|
orig: this,
|
3135
3157
|
type: type,
|
@@ -3162,6 +3184,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
3162
3184
|
opts[optsName] = $.attr(this, copyAttrs[i]) || opts[optsName];
|
3163
3185
|
}
|
3164
3186
|
}
|
3187
|
+
|
3165
3188
|
if(opts.formatMonthNames){
|
3166
3189
|
webshims.error('formatMonthNames was renamded to monthNames');
|
3167
3190
|
}
|
@@ -3185,11 +3208,11 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
3185
3208
|
cNames = cNames.replace('form-control', '');
|
3186
3209
|
}
|
3187
3210
|
|
3188
|
-
data.shim.element.on('change input', stopPropagation).addClass(cNames);
|
3211
|
+
data.shim.element.on('change input', stopPropagation).addClass(cNames+' '+webshims.shadowClass);
|
3189
3212
|
|
3190
3213
|
if(data.shim.buttonWrapper){
|
3191
3214
|
|
3192
|
-
data.shim.buttonWrapper.addClass('input-button-size-'+(data.shim.buttonWrapper.children().filter(isVisible).length));
|
3215
|
+
data.shim.buttonWrapper.addClass('input-button-size-'+(data.shim.buttonWrapper.children().filter(isVisible).length)+' '+webshims.shadowClass);
|
3193
3216
|
|
3194
3217
|
if(data.shim.buttonWrapper.filter(isVisible).length){
|
3195
3218
|
data.shim.element.addClass('has-input-buttons');
|
@@ -1497,6 +1497,8 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1497
1497
|
;
|
1498
1498
|
}
|
1499
1499
|
};
|
1500
|
+
var numericType = Modernizr.inputtypes.tel && navigator.userAgent.indexOf('Mobile') != -1 && !('inputMode' in document.createElement('input') && !('inputmode' in document.createElement('input'))) ?
|
1501
|
+
'tel' : 'text';
|
1500
1502
|
var splitInputs = {
|
1501
1503
|
date: {
|
1502
1504
|
_create: function(opts){
|
@@ -1507,18 +1509,18 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1507
1509
|
if(opts.yearSelect){
|
1508
1510
|
obj.splits.push($('<select class="yy"></select>')[0]);
|
1509
1511
|
} else {
|
1510
|
-
obj.splits.push($('<input type="
|
1512
|
+
obj.splits.push($('<input type="'+ numericType +'" class="yy" size="4" inputmode="numeric" maxlength="4" />')[0]);
|
1511
1513
|
}
|
1512
1514
|
|
1513
1515
|
if(opts.monthSelect){
|
1514
1516
|
obj.splits.push($('<select class="mm">'+getMonthOptions(opts)+'</select>')[0]);
|
1515
1517
|
} else {
|
1516
|
-
obj.splits.push($('<input type="
|
1518
|
+
obj.splits.push($('<input type="'+ numericType +'" class="mm" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1517
1519
|
}
|
1518
1520
|
if(opts.daySelect){
|
1519
1521
|
obj.splits.push($(daySelect)[0]);
|
1520
1522
|
} else {
|
1521
|
-
obj.splits.push($('<input type="
|
1523
|
+
obj.splits.push($('<input type="'+ numericType +'" class="dd ws-spin" inputmode="numeric" maxlength="2" size="2" />')[0]);
|
1522
1524
|
}
|
1523
1525
|
|
1524
1526
|
obj.elements = [obj.splits[0], $('<span class="ws-input-seperator" />')[0], obj.splits[1], $('<span class="ws-input-seperator" />')[0], obj.splits[2]];
|
@@ -1553,7 +1555,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1553
1555
|
if(opts.yearSelect){
|
1554
1556
|
obj.splits.push($('<select class="yy"></select>')[0]);
|
1555
1557
|
} else {
|
1556
|
-
obj.splits.push($('<input type="
|
1558
|
+
obj.splits.push($('<input type="'+ numericType +'" class="yy" size="4" inputmode="numeric" maxlength="4" />')[0]);
|
1557
1559
|
}
|
1558
1560
|
|
1559
1561
|
if(opts.monthSelect){
|
@@ -1561,7 +1563,10 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1561
1563
|
} else {
|
1562
1564
|
obj.splits.push($('<input type="text" class="mm ws-spin" />')[0]);
|
1563
1565
|
if(opts.onlyMonthDigits){
|
1564
|
-
$(
|
1566
|
+
$().attr({inputmode: 'numeric', size: 2, maxlength: 2});
|
1567
|
+
try {
|
1568
|
+
obj.splits[1].setAttribute('type', numericType);
|
1569
|
+
} catch(e){}
|
1565
1570
|
}
|
1566
1571
|
}
|
1567
1572
|
|
@@ -1584,7 +1589,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
1584
1589
|
}
|
1585
1590
|
}
|
1586
1591
|
};
|
1587
|
-
|
1592
|
+
|
1588
1593
|
var nowDate = new Date(new Date().getTime() - (new Date().getTimezoneOffset() * 60 * 1000 ));
|
1589
1594
|
var nowYear = nowDate.getFullYear();
|
1590
1595
|
nowDate = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), nowDate.getHours()).getTime();
|
@@ -2404,7 +2409,11 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2404
2409
|
} else if(!isNaN(this.maxAsNumber) && start > this.maxAsNumber){
|
2405
2410
|
start = this.maxAsNumber;
|
2406
2411
|
}
|
2407
|
-
|
2412
|
+
try {
|
2413
|
+
this.elemHelper.prop('valueAsNumber', start);
|
2414
|
+
} catch(e){
|
2415
|
+
webshims.warn('valueAsNumber set: '+e);
|
2416
|
+
}
|
2408
2417
|
this.options.defValue = this.elemHelper.prop('value');
|
2409
2418
|
},
|
2410
2419
|
reorderInputs: function(){
|
@@ -2428,7 +2437,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2428
2437
|
_beforeValue: function(val){
|
2429
2438
|
this.valueAsNumber = this.asNumber(val);
|
2430
2439
|
this.options.value = val;
|
2431
|
-
|
2440
|
+
|
2432
2441
|
if(isNaN(this.valueAsNumber) || (!isNaN(this.minAsNumber) && this.valueAsNumber < this.minAsNumber) || (!isNaN(this.maxAsNumber) && this.valueAsNumber > this.maxAsNumber)){
|
2433
2442
|
this._setStartInRange();
|
2434
2443
|
} else {
|
@@ -2544,9 +2553,9 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2544
2553
|
touchEnd = function(e){
|
2545
2554
|
var ret, touch;
|
2546
2555
|
e = e.originalEvent || {};
|
2547
|
-
$(this).off('touchend', touchEnd);
|
2556
|
+
$(this).off('touchend touchcancel', touchEnd);
|
2548
2557
|
var changedTouches = e.changedTouches || e.touches;
|
2549
|
-
if(!touchData || !changedTouches || changedTouches.length != 1){
|
2558
|
+
if(e.type == 'touchcancel' || !touchData || !changedTouches || changedTouches.length != 1){
|
2550
2559
|
return;
|
2551
2560
|
}
|
2552
2561
|
|
@@ -2577,7 +2586,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2577
2586
|
y: touch.pageY,
|
2578
2587
|
now: Date.now()
|
2579
2588
|
};
|
2580
|
-
elemTarget.on('touchend', touchEnd);
|
2589
|
+
elemTarget.on('touchend touchcancel', touchEnd);
|
2581
2590
|
};
|
2582
2591
|
|
2583
2592
|
this.each(function(){
|
@@ -2691,7 +2700,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2691
2700
|
cancel: function(val, popover, data){
|
2692
2701
|
if(!data.options.inlinePicker){
|
2693
2702
|
popover.stopOpen = true;
|
2694
|
-
if(assumeVirtualKeyBoard){
|
2703
|
+
if(!popover.openedByFocus && assumeVirtualKeyBoard){
|
2695
2704
|
$('button', data.buttonWrapper).trigger('focus');
|
2696
2705
|
} else {
|
2697
2706
|
data.element.getShadowFocusElement().trigger('focus');
|
@@ -2791,14 +2800,6 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2791
2800
|
var popover = webshims.objectCreate(options.inlinePicker ? webshims.inlinePopover : webshims.wsPopover, {}, $.extend(options.popover || {}, {prepareFor: options.inlinePicker ? data.buttonWrapper : data.element}));
|
2792
2801
|
var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
|
2793
2802
|
|
2794
|
-
if(options.widgetPosition){
|
2795
|
-
webshims.error('options.widgetPosition was removed use options.popover.position instead');
|
2796
|
-
}
|
2797
|
-
|
2798
|
-
if(options.openOnFocus && popover.options && (popover.options.appendTo == 'auto' || popover.options.appendTo == 'element')){
|
2799
|
-
webshims.error('openOnFocus and popover.appendTo "auto/element" can prduce a11y problems try to change appendTo to body or similiar or use openOnMouseFocus instead');
|
2800
|
-
}
|
2801
|
-
|
2802
2803
|
var showPickerContent = function(){
|
2803
2804
|
(picker[data.type].showPickerContent || picker.showPickerContent)(data, popover);
|
2804
2805
|
};
|
@@ -2867,9 +2868,28 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
2867
2868
|
stopPropagation.apply(this, arguments);
|
2868
2869
|
popover.preventBlur();
|
2869
2870
|
},
|
2870
|
-
|
2871
|
-
|
2872
|
-
|
2871
|
+
keydown: function(e){
|
2872
|
+
if(e.keyCode == 40 && e.altKey){
|
2873
|
+
open();
|
2874
|
+
}
|
2875
|
+
},
|
2876
|
+
'focus mousedown': (function(){
|
2877
|
+
var allowClose = true;
|
2878
|
+
var reset = function(){
|
2879
|
+
allowClose = true;
|
2880
|
+
};
|
2881
|
+
return function(e){
|
2882
|
+
if(e.type == 'mousedown'){
|
2883
|
+
allowClose = false;
|
2884
|
+
setTimeout(reset);
|
2885
|
+
}
|
2886
|
+
if(e.type == 'focus' && allowClose && options.openOnFocus && popover.openedByFocus && (popover.options.appendTo == 'auto' || popover.options.appendTo == 'element')){
|
2887
|
+
popover.hide();
|
2888
|
+
} else {
|
2889
|
+
popover.preventBlur();
|
2890
|
+
}
|
2891
|
+
};
|
2892
|
+
})()
|
2873
2893
|
})
|
2874
2894
|
;
|
2875
2895
|
|
@@ -3116,6 +3136,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
3116
3136
|
}
|
3117
3137
|
|
3118
3138
|
};
|
3139
|
+
oriStyleO.webkitAppearance = 'none';
|
3119
3140
|
data.element.onWSOff('updateshadowdom', updateStyles, true);
|
3120
3141
|
};
|
3121
3142
|
|
@@ -3123,13 +3144,14 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
3123
3144
|
var implementType = function(){
|
3124
3145
|
|
3125
3146
|
var type = $.prop(this, 'type');
|
3126
|
-
|
3127
3147
|
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
3128
|
-
|
3148
|
+
|
3149
|
+
if(inputTypes[type] && webshims.implement(this, 'inputwidgets') && (!modernizrInputTypes[type] || !$(this).hasClass('ws-noreplace'))){
|
3129
3150
|
data = {};
|
3130
3151
|
optsName = type;
|
3131
3152
|
hasInitialFocus = $(this).is(':focus');
|
3132
3153
|
labels = $(this).jProp('labels');
|
3154
|
+
|
3133
3155
|
opts = $.extend(webshims.getOptions(this, type, [options.widgets, options[type], $($.prop(this, 'form')).data(type)]), {
|
3134
3156
|
orig: this,
|
3135
3157
|
type: type,
|
@@ -3162,6 +3184,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
3162
3184
|
opts[optsName] = $.attr(this, copyAttrs[i]) || opts[optsName];
|
3163
3185
|
}
|
3164
3186
|
}
|
3187
|
+
|
3165
3188
|
if(opts.formatMonthNames){
|
3166
3189
|
webshims.error('formatMonthNames was renamded to monthNames');
|
3167
3190
|
}
|
@@ -3185,11 +3208,11 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
3185
3208
|
cNames = cNames.replace('form-control', '');
|
3186
3209
|
}
|
3187
3210
|
|
3188
|
-
data.shim.element.on('change input', stopPropagation).addClass(cNames);
|
3211
|
+
data.shim.element.on('change input', stopPropagation).addClass(cNames+' '+webshims.shadowClass);
|
3189
3212
|
|
3190
3213
|
if(data.shim.buttonWrapper){
|
3191
3214
|
|
3192
|
-
data.shim.buttonWrapper.addClass('input-button-size-'+(data.shim.buttonWrapper.children().filter(isVisible).length));
|
3215
|
+
data.shim.buttonWrapper.addClass('input-button-size-'+(data.shim.buttonWrapper.children().filter(isVisible).length)+' '+webshims.shadowClass);
|
3193
3216
|
|
3194
3217
|
if(data.shim.buttonWrapper.filter(isVisible).length){
|
3195
3218
|
data.shim.element.addClass('has-input-buttons');
|