webshims-rails 1.10.9 → 1.10.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +8 -8
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +8 -9
  4. data/vendor/assets/javascripts/webshims/shims/combos/1.js +24 -14
  5. data/vendor/assets/javascripts/webshims/shims/combos/10.js +61 -20
  6. data/vendor/assets/javascripts/webshims/shims/combos/11.js +54 -16
  7. data/vendor/assets/javascripts/webshims/shims/combos/12.js +9 -13
  8. data/vendor/assets/javascripts/webshims/shims/combos/13.js +8 -12
  9. data/vendor/assets/javascripts/webshims/shims/combos/14.js +10 -7
  10. data/vendor/assets/javascripts/webshims/shims/combos/15.js +40 -11
  11. data/vendor/assets/javascripts/webshims/shims/combos/16.js +49 -24
  12. data/vendor/assets/javascripts/webshims/shims/combos/17.js +128 -19
  13. data/vendor/assets/javascripts/webshims/shims/combos/18.js +131 -22
  14. data/vendor/assets/javascripts/webshims/shims/combos/19.js +133 -40
  15. data/vendor/assets/javascripts/webshims/shims/combos/2.js +31 -18
  16. data/vendor/assets/javascripts/webshims/shims/combos/20.js +132 -39
  17. data/vendor/assets/javascripts/webshims/shims/combos/21.js +116 -22
  18. data/vendor/assets/javascripts/webshims/shims/combos/23.js +9 -13
  19. data/vendor/assets/javascripts/webshims/shims/combos/24.js +48 -13
  20. data/vendor/assets/javascripts/webshims/shims/combos/25.js +133 -40
  21. data/vendor/assets/javascripts/webshims/shims/combos/26.js +7 -4
  22. data/vendor/assets/javascripts/webshims/shims/combos/27.js +1 -1
  23. data/vendor/assets/javascripts/webshims/shims/combos/28.js +121 -24
  24. data/vendor/assets/javascripts/webshims/shims/combos/29.js +4 -6
  25. data/vendor/assets/javascripts/webshims/shims/combos/3.js +30 -6
  26. data/vendor/assets/javascripts/webshims/shims/combos/30.js +30 -6
  27. data/vendor/assets/javascripts/webshims/shims/combos/31.js +22 -5
  28. data/vendor/assets/javascripts/webshims/shims/combos/4.js +15 -5
  29. data/vendor/assets/javascripts/webshims/shims/combos/5.js +128 -19
  30. data/vendor/assets/javascripts/webshims/shims/combos/6.js +128 -19
  31. data/vendor/assets/javascripts/webshims/shims/combos/7.js +39 -19
  32. data/vendor/assets/javascripts/webshims/shims/combos/8.js +39 -19
  33. data/vendor/assets/javascripts/webshims/shims/combos/9.js +61 -20
  34. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +7 -4
  35. data/vendor/assets/javascripts/webshims/shims/es5.js +3 -3
  36. data/vendor/assets/javascripts/webshims/shims/form-core.js +15 -1
  37. data/vendor/assets/javascripts/webshims/shims/form-message.js +8 -1
  38. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +74 -3
  39. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +53 -15
  40. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +10 -5
  41. data/vendor/assets/javascripts/webshims/shims/form-validation.js +48 -13
  42. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +14 -2
  43. data/vendor/assets/javascripts/webshims/shims/geolocation.js +2 -2
  44. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +2 -2
  45. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-ZN.js +2 -2
  46. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.txt +2 -2
  47. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +2 -2
  48. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.txt +2 -2
  49. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +2 -2
  50. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +2 -2
  51. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +2 -2
  52. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +2 -2
  53. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +2 -2
  54. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +2 -2
  55. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +2 -2
  56. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +7 -4
  57. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +2 -2
  58. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +106 -0
  59. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +2 -2
  60. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +2 -2
  61. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +2 -2
  62. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +8 -12
  63. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +114 -20
  64. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +132 -17
  65. data/vendor/assets/javascripts/webshims/shims/range-ui.js +1 -1
  66. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +38 -3
  67. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +42 -13
  68. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  69. data/vendor/assets/javascripts/webshims/shims/swfmini.js +1 -1
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +4 -6
  71. metadata +3 -2
@@ -62,7 +62,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
62
62
  if(!('type' in cache)){
63
63
  cache.type = getType(input[0]);
64
64
  }
65
-
65
+ if(cache.type == 'week'){return false;}
66
66
  var ret = (validityState || {}).stepMismatch || false, base;
67
67
  if(typeModels[cache.type] && typeModels[cache.type].step){
68
68
  if( !('step' in cache) ){
@@ -250,6 +250,29 @@ webshims.register('form-number-date-api', function($, webshims, window, document
250
250
  });
251
251
  });
252
252
 
253
+ /*
254
+ * ToDO: WEEK
255
+ */
256
+ // var getWeek = function(date){
257
+ // var time;
258
+ // var checkDate = new Date(date.getTime());
259
+ //
260
+ // checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
261
+ //
262
+ // time = checkDate.getTime();
263
+ // checkDate.setMonth(0);
264
+ // checkDate.setDate(1);
265
+ // return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
266
+ // };
267
+ //
268
+ // var setWeek = function(year, week){
269
+ // var date = new Date(year, 0, 1);
270
+ //
271
+ // week = (week - 1) * 86400000 * 7;
272
+ // date = new Date(date.getTime() + week);
273
+ // date.setDate(date.getDate() + 1 - (date.getDay() || 7));
274
+ // return date;
275
+ // };
253
276
 
254
277
  var typeProtos = {
255
278
 
@@ -326,6 +349,56 @@ webshims.register('form-number-date-api', function($, webshims, window, document
326
349
  return (date && date.getFullYear) ? addleadingZero(date.getUTCFullYear(), 4) +'-'+ addleadingZero(date.getUTCMonth()+1, 2) +'-'+ addleadingZero(date.getUTCDate(), 2) : false;
327
350
  }
328
351
  },
352
+ /*
353
+ * ToDO: WEEK
354
+ */
355
+ // week: {
356
+ // mismatch: function(val){
357
+ // if(!val || !val.split){return true;}
358
+ // var valA = val.split('-W');
359
+ // var ret = true;
360
+ // if(valA.length == 2 && valA[0].length > 3 && valA.length == 2){
361
+ // ret = this.dateToString(setWeek(valA[0], valA[1])) != val;
362
+ // }
363
+ // return ret;
364
+ // },
365
+ // step: 1,
366
+ // stepScaleFactor: 604800000,
367
+ // stepBase: -259200000,
368
+ // asDate: function(str, _noMismatch){
369
+ // var ret = null;
370
+ // if(_noMismatch || !this.mismatch(str)){
371
+ // ret = str.split('-W');
372
+ // ret = setWeek(ret[0], ret[1]);
373
+ // }
374
+ // return ret;
375
+ // },
376
+ // asNumber: function(str, _noMismatch){
377
+ // var ret = nan;
378
+ // var date = this.asDate(str, _noMismatch);
379
+ // if(date && date.getUTCFullYear){
380
+ // ret = date.getTime();
381
+ // }
382
+ // return ret;
383
+ // },
384
+ // dateToString: function(date){
385
+ // var week, checkDate;
386
+ // var ret = false;
387
+ // if(date && date.getFullYear){
388
+ // week = getWeek(date);
389
+ // if(week == 1){
390
+ // checkDate = new Date(date.getTime());
391
+ // checkDate.setDate(checkDate.getDate() + 7);
392
+ // date.setUTCFullYear(checkDate.getUTCFullYear());
393
+ // }
394
+ // ret = addleadingZero(date.getUTCFullYear(), 4) +'-W'+addleadingZero(week, 2);
395
+ // }
396
+ // return ret;
397
+ // },
398
+ // numberToString: function(num){
399
+ // return (isNumber(num)) ? this.dateToString(new Date( num * 1)) : false;
400
+ // }
401
+ // },
329
402
  time: {
330
403
  mismatch: function(val, _getParsed){
331
404
  if(!val || !val.split || !(/\d$/.test(val))){return true;}
@@ -484,8 +557,6 @@ webshims.register('form-number-date-api', function($, webshims, window, document
484
557
  // typeProtos['datetime-local'] = $.extend({}, typeProtos.date, typeProtos.time, typeProtos['datetime-local']);
485
558
  }
486
559
 
487
-
488
-
489
560
  //'datetime-local'
490
561
  ['number', 'month', 'range', 'date', 'time', 'color'].forEach(function(type){
491
562
  if(typeBugs || !supportsType(type)){
@@ -1013,14 +1084,14 @@ webshims.register('form-number-date-api', function($, webshims, window, document
1013
1084
  webshims._polyfill(['es5']);
1014
1085
  }
1015
1086
  }
1016
- })(jQuery);
1087
+ })(window.webshims ? webshims.$ : jQuery);
1017
1088
  webshims.register('form-number-date-ui', function($, webshims, window, document, undefined, options){
1018
1089
  "use strict";
1019
1090
  var curCfg;
1020
1091
  var formcfg = webshims.formcfg;
1021
1092
 
1022
1093
  var stopPropagation = function(e){
1023
- e.stopImmediatePropagation(e);
1094
+ e.stopImmediatePropagation();
1024
1095
  };
1025
1096
  var createFormat = function(name){
1026
1097
  if(!curCfg.patterns[name+'Obj']){
@@ -1091,6 +1162,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1091
1162
  number: {
1092
1163
  step: 1
1093
1164
  },
1165
+ // week: {
1166
+ // step: 1,
1167
+ // start: new Date(nowDate)
1168
+ // },
1094
1169
  time: {
1095
1170
  step: 60
1096
1171
  },
@@ -1293,6 +1368,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1293
1368
  time: function(val){
1294
1369
  return val;
1295
1370
  },
1371
+ week: function(val){
1372
+ return val;
1373
+ },
1296
1374
  //todo empty val for month/split
1297
1375
  month: function(val, options){
1298
1376
  var names;
@@ -1342,6 +1420,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1342
1420
  number: function(val){
1343
1421
  return (val+'').replace(curCfg.numberFormat[','], '').replace(curCfg.numberFormat['.'], '.');
1344
1422
  },
1423
+ // week: function(val){
1424
+ // return val;
1425
+ // },
1345
1426
  time: function(val){
1346
1427
  return val;
1347
1428
  },
@@ -1478,6 +1559,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1478
1559
  steps[this.type].start = this.asNumber(steps[this.type].start);
1479
1560
  }
1480
1561
 
1562
+ if(!webshims.picker[this.type]){
1563
+ o.buttonOnly = false;
1564
+ }
1565
+
1481
1566
  for(i = 0; i < createOpts.length; i++){
1482
1567
  if(o[createOpts[i]] != null){
1483
1568
  this[createOpts[i]](o[createOpts[i]], o[createOpts[i]]);
@@ -1489,6 +1574,11 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1489
1574
  this.addBindings();
1490
1575
  $(this.element).data('wsWidget'+o.type, this);
1491
1576
 
1577
+
1578
+ if(o.buttonOnly){
1579
+ this.inputElements.prop({readOnly: true});
1580
+ }
1581
+
1492
1582
  this._init = true;
1493
1583
 
1494
1584
  if(o.mirrorValidity){
@@ -1569,7 +1659,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1569
1659
  if(preventBlur.prevent){
1570
1660
  e.preventDefault();
1571
1661
  (isFocused || that.element.getShadowFocusElement()).focus();
1572
- e.stopImmediatePropagation();
1662
+ stopPropagation(e);
1573
1663
  return true;
1574
1664
  }
1575
1665
  };
@@ -1941,12 +2031,18 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1941
2031
  ['readonly', 'disabled'].forEach(function(name){
1942
2032
  var isDisabled = name == 'disabled';
1943
2033
  wsWidgetProto[name] = function(val, boolVal){
1944
- if(this.options[name] != boolVal || !this._init){
1945
- this.options[name] = !!boolVal;
1946
- this.inputElements.prop(name, this.options[name]);
1947
- this.buttonWrapper[this.options[name] ? 'addClass' : 'removeClass']('ws-'+name);
2034
+ var options = this.options;
2035
+ if(options[name] != boolVal || !this._init){
2036
+ options[name] = !!boolVal;
2037
+
2038
+ if(!isDisabled && options.buttonOnly){
2039
+ this.inputElements.attr({'aria-readonly': options[name]});
2040
+ } else {
2041
+ this.inputElements.prop(name, options[name]);
2042
+ }
2043
+ this.buttonWrapper[options[name] ? 'addClass' : 'removeClass']('ws-'+name);
1948
2044
  if(isDisabled){
1949
- $('button', this.buttonWrapper).prop('disabled', this.options[name]);
2045
+ $('button', this.buttonWrapper).prop('disabled', options[name]);
1950
2046
  }
1951
2047
  }
1952
2048
  };
@@ -2233,9 +2329,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2233
2329
 
2234
2330
 
2235
2331
  picker._common = function(data){
2236
- var popover = webshims.objectCreate(webshims.wsPopover, {}, {prepareFor: data.element});
2237
- var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
2238
2332
  var options = data.options;
2333
+ var popover = webshims.objectCreate(webshims.wsPopover, {}, {prepareFor: data.element, position: options.widgetPosition});
2334
+ var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
2335
+
2239
2336
 
2240
2337
  var showPickerContent = function(){
2241
2338
  (picker[data.type].showPickerContent || picker.showPickerContent)(data, popover);
@@ -2324,8 +2421,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2324
2421
  };
2325
2422
  data.inputElements.on({
2326
2423
  focus: function(){
2327
- if(!popover.stopOpen && (data.options.openOnFocus || (mouseFocus && options.openOnMouseFocus))){
2328
- popover.openedByFocus = !options.noInput;
2424
+ if(!popover.stopOpen && (options.buttonOnly || options.openOnFocus || (mouseFocus && options.openOnMouseFocus))){
2425
+ popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
2329
2426
  show();
2330
2427
  } else {
2331
2428
  popover.preventBlur();
@@ -2334,8 +2431,15 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2334
2431
  mousedown: function(){
2335
2432
  mouseFocus = true;
2336
2433
  setTimeout(resetMouseFocus, 9);
2434
+ if(options.buttonOnly && popover.isVisible && popover.activeElement){
2435
+ popover.openedByFocus = false;
2436
+ setTimeout(function(){
2437
+ popover.openedByFocus = false;
2438
+ popover.activeElement.focus();
2439
+ }, 4);
2440
+ }
2337
2441
  if(data.element.is(':focus')){
2338
- popover.openedByFocus = !options.noInput;
2442
+ popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
2339
2443
  show();
2340
2444
  }
2341
2445
  popover.preventBlur();
@@ -2346,8 +2450,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2346
2450
  data.opener = opener;
2347
2451
  $(data.orig).on('remove', function(e){
2348
2452
  if(!e.originalEvent){
2349
- opener.remove();
2350
- popover.element.remove();
2453
+ setTimeout(function(){
2454
+ opener.remove();
2455
+ popover.element.remove();
2456
+ }, 4);
2351
2457
  }
2352
2458
  });
2353
2459
 
@@ -2356,6 +2462,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2356
2462
 
2357
2463
  picker.month = picker._common;
2358
2464
  picker.date = picker._common;
2465
+ // picker.week = picker._common;
2359
2466
  picker.color = function(data){
2360
2467
  var ret = picker._common.apply(this, arguments);
2361
2468
  var alpha = $(data.orig).data('alphacontrol');
@@ -2607,10 +2714,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2607
2714
  data.shim.element.addClass('has-input-buttons');
2608
2715
  }
2609
2716
 
2717
+ data.shim.element.addClass($.prop(this, 'className'));
2718
+
2610
2719
  if(opts.calculateWidth){
2611
2720
  sizeInput(data.shim);
2612
2721
  } else {
2613
- $(this).css({display: 'none'});
2722
+ $(this).addClass('ws-important-hide');
2614
2723
  }
2615
2724
  }
2616
2725
 
@@ -707,11 +707,11 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
707
707
  }
708
708
 
709
709
  if(opts){
710
- o.options = jQuery.extend(true, {}, o.options || {}, opts);
710
+ o.options = $.extend(true, {}, o.options || {}, opts);
711
711
  opts = o.options;
712
712
  }
713
713
 
714
- if(o._create && jQuery.isFunction(o._create)){
714
+ if(o._create && $.isFunction(o._create)){
715
715
  o._create(opts);
716
716
  }
717
717
  return o;
@@ -797,7 +797,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
797
797
  };
798
798
 
799
799
  }
800
- })(jQuery, jQuery.webshims);
800
+ })(webshims.$, webshims);
801
801
 
802
802
 
803
803
 
@@ -865,7 +865,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
865
865
  if(!('type' in cache)){
866
866
  cache.type = getType(input[0]);
867
867
  }
868
-
868
+ if(cache.type == 'week'){return false;}
869
869
  var ret = (validityState || {}).stepMismatch || false, base;
870
870
  if(typeModels[cache.type] && typeModels[cache.type].step){
871
871
  if( !('step' in cache) ){
@@ -1053,6 +1053,29 @@ webshims.register('form-number-date-api', function($, webshims, window, document
1053
1053
  });
1054
1054
  });
1055
1055
 
1056
+ /*
1057
+ * ToDO: WEEK
1058
+ */
1059
+ // var getWeek = function(date){
1060
+ // var time;
1061
+ // var checkDate = new Date(date.getTime());
1062
+ //
1063
+ // checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
1064
+ //
1065
+ // time = checkDate.getTime();
1066
+ // checkDate.setMonth(0);
1067
+ // checkDate.setDate(1);
1068
+ // return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
1069
+ // };
1070
+ //
1071
+ // var setWeek = function(year, week){
1072
+ // var date = new Date(year, 0, 1);
1073
+ //
1074
+ // week = (week - 1) * 86400000 * 7;
1075
+ // date = new Date(date.getTime() + week);
1076
+ // date.setDate(date.getDate() + 1 - (date.getDay() || 7));
1077
+ // return date;
1078
+ // };
1056
1079
 
1057
1080
  var typeProtos = {
1058
1081
 
@@ -1129,6 +1152,56 @@ webshims.register('form-number-date-api', function($, webshims, window, document
1129
1152
  return (date && date.getFullYear) ? addleadingZero(date.getUTCFullYear(), 4) +'-'+ addleadingZero(date.getUTCMonth()+1, 2) +'-'+ addleadingZero(date.getUTCDate(), 2) : false;
1130
1153
  }
1131
1154
  },
1155
+ /*
1156
+ * ToDO: WEEK
1157
+ */
1158
+ // week: {
1159
+ // mismatch: function(val){
1160
+ // if(!val || !val.split){return true;}
1161
+ // var valA = val.split('-W');
1162
+ // var ret = true;
1163
+ // if(valA.length == 2 && valA[0].length > 3 && valA.length == 2){
1164
+ // ret = this.dateToString(setWeek(valA[0], valA[1])) != val;
1165
+ // }
1166
+ // return ret;
1167
+ // },
1168
+ // step: 1,
1169
+ // stepScaleFactor: 604800000,
1170
+ // stepBase: -259200000,
1171
+ // asDate: function(str, _noMismatch){
1172
+ // var ret = null;
1173
+ // if(_noMismatch || !this.mismatch(str)){
1174
+ // ret = str.split('-W');
1175
+ // ret = setWeek(ret[0], ret[1]);
1176
+ // }
1177
+ // return ret;
1178
+ // },
1179
+ // asNumber: function(str, _noMismatch){
1180
+ // var ret = nan;
1181
+ // var date = this.asDate(str, _noMismatch);
1182
+ // if(date && date.getUTCFullYear){
1183
+ // ret = date.getTime();
1184
+ // }
1185
+ // return ret;
1186
+ // },
1187
+ // dateToString: function(date){
1188
+ // var week, checkDate;
1189
+ // var ret = false;
1190
+ // if(date && date.getFullYear){
1191
+ // week = getWeek(date);
1192
+ // if(week == 1){
1193
+ // checkDate = new Date(date.getTime());
1194
+ // checkDate.setDate(checkDate.getDate() + 7);
1195
+ // date.setUTCFullYear(checkDate.getUTCFullYear());
1196
+ // }
1197
+ // ret = addleadingZero(date.getUTCFullYear(), 4) +'-W'+addleadingZero(week, 2);
1198
+ // }
1199
+ // return ret;
1200
+ // },
1201
+ // numberToString: function(num){
1202
+ // return (isNumber(num)) ? this.dateToString(new Date( num * 1)) : false;
1203
+ // }
1204
+ // },
1132
1205
  time: {
1133
1206
  mismatch: function(val, _getParsed){
1134
1207
  if(!val || !val.split || !(/\d$/.test(val))){return true;}
@@ -1287,8 +1360,6 @@ webshims.register('form-number-date-api', function($, webshims, window, document
1287
1360
  // typeProtos['datetime-local'] = $.extend({}, typeProtos.date, typeProtos.time, typeProtos['datetime-local']);
1288
1361
  }
1289
1362
 
1290
-
1291
-
1292
1363
  //'datetime-local'
1293
1364
  ['number', 'month', 'range', 'date', 'time', 'color'].forEach(function(type){
1294
1365
  if(typeBugs || !supportsType(type)){
@@ -1816,14 +1887,14 @@ webshims.register('form-number-date-api', function($, webshims, window, document
1816
1887
  webshims._polyfill(['es5']);
1817
1888
  }
1818
1889
  }
1819
- })(jQuery);
1890
+ })(window.webshims ? webshims.$ : jQuery);
1820
1891
  webshims.register('form-number-date-ui', function($, webshims, window, document, undefined, options){
1821
1892
  "use strict";
1822
1893
  var curCfg;
1823
1894
  var formcfg = webshims.formcfg;
1824
1895
 
1825
1896
  var stopPropagation = function(e){
1826
- e.stopImmediatePropagation(e);
1897
+ e.stopImmediatePropagation();
1827
1898
  };
1828
1899
  var createFormat = function(name){
1829
1900
  if(!curCfg.patterns[name+'Obj']){
@@ -1894,6 +1965,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1894
1965
  number: {
1895
1966
  step: 1
1896
1967
  },
1968
+ // week: {
1969
+ // step: 1,
1970
+ // start: new Date(nowDate)
1971
+ // },
1897
1972
  time: {
1898
1973
  step: 60
1899
1974
  },
@@ -2096,6 +2171,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2096
2171
  time: function(val){
2097
2172
  return val;
2098
2173
  },
2174
+ week: function(val){
2175
+ return val;
2176
+ },
2099
2177
  //todo empty val for month/split
2100
2178
  month: function(val, options){
2101
2179
  var names;
@@ -2145,6 +2223,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2145
2223
  number: function(val){
2146
2224
  return (val+'').replace(curCfg.numberFormat[','], '').replace(curCfg.numberFormat['.'], '.');
2147
2225
  },
2226
+ // week: function(val){
2227
+ // return val;
2228
+ // },
2148
2229
  time: function(val){
2149
2230
  return val;
2150
2231
  },
@@ -2281,6 +2362,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2281
2362
  steps[this.type].start = this.asNumber(steps[this.type].start);
2282
2363
  }
2283
2364
 
2365
+ if(!webshims.picker[this.type]){
2366
+ o.buttonOnly = false;
2367
+ }
2368
+
2284
2369
  for(i = 0; i < createOpts.length; i++){
2285
2370
  if(o[createOpts[i]] != null){
2286
2371
  this[createOpts[i]](o[createOpts[i]], o[createOpts[i]]);
@@ -2292,6 +2377,11 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2292
2377
  this.addBindings();
2293
2378
  $(this.element).data('wsWidget'+o.type, this);
2294
2379
 
2380
+
2381
+ if(o.buttonOnly){
2382
+ this.inputElements.prop({readOnly: true});
2383
+ }
2384
+
2295
2385
  this._init = true;
2296
2386
 
2297
2387
  if(o.mirrorValidity){
@@ -2372,7 +2462,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2372
2462
  if(preventBlur.prevent){
2373
2463
  e.preventDefault();
2374
2464
  (isFocused || that.element.getShadowFocusElement()).focus();
2375
- e.stopImmediatePropagation();
2465
+ stopPropagation(e);
2376
2466
  return true;
2377
2467
  }
2378
2468
  };
@@ -2744,12 +2834,18 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2744
2834
  ['readonly', 'disabled'].forEach(function(name){
2745
2835
  var isDisabled = name == 'disabled';
2746
2836
  wsWidgetProto[name] = function(val, boolVal){
2747
- if(this.options[name] != boolVal || !this._init){
2748
- this.options[name] = !!boolVal;
2749
- this.inputElements.prop(name, this.options[name]);
2750
- this.buttonWrapper[this.options[name] ? 'addClass' : 'removeClass']('ws-'+name);
2837
+ var options = this.options;
2838
+ if(options[name] != boolVal || !this._init){
2839
+ options[name] = !!boolVal;
2840
+
2841
+ if(!isDisabled && options.buttonOnly){
2842
+ this.inputElements.attr({'aria-readonly': options[name]});
2843
+ } else {
2844
+ this.inputElements.prop(name, options[name]);
2845
+ }
2846
+ this.buttonWrapper[options[name] ? 'addClass' : 'removeClass']('ws-'+name);
2751
2847
  if(isDisabled){
2752
- $('button', this.buttonWrapper).prop('disabled', this.options[name]);
2848
+ $('button', this.buttonWrapper).prop('disabled', options[name]);
2753
2849
  }
2754
2850
  }
2755
2851
  };
@@ -3036,9 +3132,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
3036
3132
 
3037
3133
 
3038
3134
  picker._common = function(data){
3039
- var popover = webshims.objectCreate(webshims.wsPopover, {}, {prepareFor: data.element});
3040
- var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
3041
3135
  var options = data.options;
3136
+ var popover = webshims.objectCreate(webshims.wsPopover, {}, {prepareFor: data.element, position: options.widgetPosition});
3137
+ var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
3138
+
3042
3139
 
3043
3140
  var showPickerContent = function(){
3044
3141
  (picker[data.type].showPickerContent || picker.showPickerContent)(data, popover);
@@ -3127,8 +3224,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
3127
3224
  };
3128
3225
  data.inputElements.on({
3129
3226
  focus: function(){
3130
- if(!popover.stopOpen && (data.options.openOnFocus || (mouseFocus && options.openOnMouseFocus))){
3131
- popover.openedByFocus = !options.noInput;
3227
+ if(!popover.stopOpen && (options.buttonOnly || options.openOnFocus || (mouseFocus && options.openOnMouseFocus))){
3228
+ popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
3132
3229
  show();
3133
3230
  } else {
3134
3231
  popover.preventBlur();
@@ -3137,8 +3234,15 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
3137
3234
  mousedown: function(){
3138
3235
  mouseFocus = true;
3139
3236
  setTimeout(resetMouseFocus, 9);
3237
+ if(options.buttonOnly && popover.isVisible && popover.activeElement){
3238
+ popover.openedByFocus = false;
3239
+ setTimeout(function(){
3240
+ popover.openedByFocus = false;
3241
+ popover.activeElement.focus();
3242
+ }, 4);
3243
+ }
3140
3244
  if(data.element.is(':focus')){
3141
- popover.openedByFocus = !options.noInput;
3245
+ popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
3142
3246
  show();
3143
3247
  }
3144
3248
  popover.preventBlur();
@@ -3149,8 +3253,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
3149
3253
  data.opener = opener;
3150
3254
  $(data.orig).on('remove', function(e){
3151
3255
  if(!e.originalEvent){
3152
- opener.remove();
3153
- popover.element.remove();
3256
+ setTimeout(function(){
3257
+ opener.remove();
3258
+ popover.element.remove();
3259
+ }, 4);
3154
3260
  }
3155
3261
  });
3156
3262
 
@@ -3159,6 +3265,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
3159
3265
 
3160
3266
  picker.month = picker._common;
3161
3267
  picker.date = picker._common;
3268
+ // picker.week = picker._common;
3162
3269
  picker.color = function(data){
3163
3270
  var ret = picker._common.apply(this, arguments);
3164
3271
  var alpha = $(data.orig).data('alphacontrol');
@@ -3410,10 +3517,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
3410
3517
  data.shim.element.addClass('has-input-buttons');
3411
3518
  }
3412
3519
 
3520
+ data.shim.element.addClass($.prop(this, 'className'));
3521
+
3413
3522
  if(opts.calculateWidth){
3414
3523
  sizeInput(data.shim);
3415
3524
  } else {
3416
- $(this).css({display: 'none'});
3525
+ $(this).addClass('ws-important-hide');
3417
3526
  }
3418
3527
  }
3419
3528