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
@@ -8,7 +8,7 @@ var swfmini = function() {
8
8
 
9
9
  var UNDEF = "undefined",
10
10
  OBJECT = "object",
11
- webshims = jQuery.webshims || window.webshims,
11
+ webshims = window.webshims,
12
12
  SHOCKWAVE_FLASH = "Shockwave Flash",
13
13
  SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
14
14
  FLASH_MIME_TYPE = "application/x-shockwave-flash",
@@ -510,14 +510,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
510
510
  webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
511
511
  }
512
512
 
513
- if(webshims.cfg.extendNative == 1){
513
+ if(webshims.cfg.extendNative === 1){
514
514
  webshims.warn("extendNative configuration will be set to false by default with next release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
515
515
  }
516
516
 
517
517
  if (!webshims.cfg.no$Switch) {
518
518
  var switch$ = function(){
519
519
  if (window.jQuery && (!window.$ || window.jQuery == window.$) && !window.jQuery.webshims) {
520
- webshims.error("jQuery was included more than once. Make sure to include it only once or try the $.noConflict(extreme) feature! Webshims and other Plugins might not work properly..");
520
+ webshims.error("jQuery was included more than once. Make sure to include it only once or try the $.noConflict(extreme) feature! Webshims and other Plugins might not work properly. Or set webshims.cfg.no$Switch to 'true'.");
521
521
  if (window.$) {
522
522
  window.$ = webshims.$;
523
523
  }
@@ -1059,6 +1059,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1059
1059
  setInterval(this.test, 600);
1060
1060
  $(this.test);
1061
1061
  webshims.ready('WINDOWLOAD', this.test);
1062
+ $(document).on('updatelayout', this.handler);
1062
1063
  $(window).bind('resize', this.handler);
1063
1064
  (function(){
1064
1065
  var oldAnimate = $.fn.animate;
@@ -1106,7 +1107,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1106
1107
 
1107
1108
  $(nativeElem).on('remove', function(e){
1108
1109
  if (!e.originalEvent) {
1109
- $(shadowElem).remove();
1110
+ setTimeout(function(){
1111
+ $(shadowElem).remove();
1112
+ }, 4);
1110
1113
  }
1111
1114
  });
1112
1115
 
@@ -1584,7 +1587,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1584
1587
  }
1585
1588
  });
1586
1589
 
1587
- })(jQuery, document);
1590
+ })(webshims.$, document);
1588
1591
 
1589
1592
  webshims.register('form-core', function($, webshims, window, document, undefined, options){
1590
1593
  "use strict";
@@ -1663,6 +1666,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1663
1666
  $.expr[":"][name] = $.expr.filters[name+"-element"];
1664
1667
  });
1665
1668
 
1669
+ //bug was partially fixed in 1.10.0 for IE9, but not IE8 (move to es5 as soon as 1.10.2 is used)
1666
1670
  var pseudoFocus = $.expr[":"].focus;
1667
1671
  $.expr[":"].focus = function(){
1668
1672
  try {
@@ -1685,10 +1689,18 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1685
1689
  };
1686
1690
 
1687
1691
  var transClass = ('transitionDelay' in document.documentElement.style) ? '' : ' no-transition';
1692
+ var poCFG = webshims.cfg.wspopover;
1693
+ if(!poCFG.position && poCFG.position !== false){
1694
+ poCFG.position = {
1695
+ at: 'left bottom',
1696
+ my: 'left top',
1697
+ collision: 'fit flip'
1698
+ };
1699
+ }
1688
1700
  webshims.wsPopover = {
1689
1701
  id: 0,
1690
1702
  _create: function(){
1691
- this.options = $.extend({}, webshims.cfg.wspopover, this.options);
1703
+ this.options = $.extend(true, {}, poCFG, this.options);
1692
1704
  this.id = webshims.wsPopover.id++;
1693
1705
  this.eventns = '.wsoverlay' + this.id;
1694
1706
  this.timers = {};
@@ -1735,6 +1747,11 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1735
1747
  var message = $(elem).data('errormessage') || elem.getAttribute('x-moz-errormessage') || '';
1736
1748
  if(key && message[key]){
1737
1749
  message = message[key];
1750
+ } else if(message) {
1751
+ validity = validity || $.prop(elem, 'validity') || {valid: 1};
1752
+ if(validity.valid){
1753
+ message = '';
1754
+ }
1738
1755
  }
1739
1756
  if(typeof message == 'object'){
1740
1757
  validity = validity || $.prop(elem, 'validity') || {valid: 1};
@@ -2001,6 +2018,10 @@ webshims.register('form-message', function($, webshims, window, document, undefi
2001
2018
  });
2002
2019
 
2003
2020
  implementProperties.forEach(function(messageProp){
2021
+ var skipNames = {
2022
+ valid: 1,
2023
+ badInput: 1
2024
+ };
2004
2025
  webshims.defineNodeNamesProperty(['fieldset', 'output', 'button'], messageProp, {
2005
2026
  prop: {
2006
2027
  value: '',
@@ -2029,13 +2050,16 @@ webshims.register('form-message', function($, webshims, window, document, undefi
2029
2050
  if(message){return message;}
2030
2051
  }
2031
2052
  $.each(validity, function(name, prop){
2032
- if(name == 'valid' || !prop){return;}
2053
+ if(skipNames[name] || !prop){return;}
2033
2054
 
2034
2055
  message = webshims.createValidationMessage(elem, name);
2035
2056
  if(message){
2036
2057
  return false;
2037
2058
  }
2038
2059
  });
2060
+ if(!message && validity.badInput){
2061
+ message = webshims.createValidationMessage(elem, 'typeMismatch') || webshims.createValidationMessage(elem, 'valueMissing');
2062
+ }
2039
2063
  return message || '';
2040
2064
  },
2041
2065
  writeable: false
@@ -2335,8 +2359,9 @@ webshims.register('form-datalist', function($, webshims, window, document, undef
2335
2359
  })();
2336
2360
 
2337
2361
  });
2338
- (function($, Modernizr, webshims){
2362
+ (function(Modernizr, webshims){
2339
2363
  "use strict";
2364
+ var $ = webshims.$;
2340
2365
  var hasNative = Modernizr.audio && Modernizr.video;
2341
2366
  var supportsLoop = false;
2342
2367
  var bugs = webshims.bugs;
@@ -2440,6 +2465,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2440
2465
  hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
2441
2466
  $('html').addClass(hasSwf ? 'swf' : 'no-swf');
2442
2467
  var mediaelement = webshims.mediaelement;
2468
+
2443
2469
  mediaelement.parseRtmp = function(data){
2444
2470
  var src = data.src.split('://');
2445
2471
  var paths = src[1].split('/');
@@ -2609,7 +2635,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2609
2635
  var src = getSrcObj(mediaElem, nodeName);
2610
2636
 
2611
2637
  if(!src.src){
2612
-
2613
2638
  $('source', mediaElem).each(function(){
2614
2639
  src = getSrcObj(this, nodeName);
2615
2640
  if(src.src){srces.push(src);}
@@ -2624,18 +2649,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2624
2649
  srces = [srces];
2625
2650
  }
2626
2651
  srces.forEach(function(src){
2627
- var source = document.createElement('source');
2628
2652
  if(typeof src == 'string'){
2629
2653
  src = {src: src};
2630
2654
  }
2631
- source.setAttribute('src', src.src);
2632
- if(src.type){
2633
- source.setAttribute('type', src.type);
2634
- }
2635
- if(src.media){
2636
- source.setAttribute('media', src.media);
2637
- }
2638
- mediaElem.append(source);
2655
+ mediaElem.append($(document.createElement('source')).attr(src));
2639
2656
  });
2640
2657
 
2641
2658
  }
@@ -2783,6 +2800,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2783
2800
 
2784
2801
  if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;}
2785
2802
  data = data || webshims.data(elem, 'mediaelement');
2803
+ if(mediaelement.sortMedia){
2804
+ _srces.sort(mediaelement.sortMedia);
2805
+ }
2786
2806
  stepSources(elem, data, options.preferFlash || undefined, _srces);
2787
2807
  };
2788
2808
  mediaelement.selectSource = selectSource;
@@ -2957,4 +2977,4 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2957
2977
  }
2958
2978
  webshims.ready('track', loadTrackUi);
2959
2979
  });
2960
- })(jQuery, Modernizr, webshims);
2980
+ })(Modernizr, webshims);
@@ -8,7 +8,7 @@ var swfmini = function() {
8
8
 
9
9
  var UNDEF = "undefined",
10
10
  OBJECT = "object",
11
- webshims = jQuery.webshims || window.webshims,
11
+ webshims = window.webshims,
12
12
  SHOCKWAVE_FLASH = "Shockwave Flash",
13
13
  SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
14
14
  FLASH_MIME_TYPE = "application/x-shockwave-flash",
@@ -510,14 +510,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
510
510
  webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
511
511
  }
512
512
 
513
- if(webshims.cfg.extendNative == 1){
513
+ if(webshims.cfg.extendNative === 1){
514
514
  webshims.warn("extendNative configuration will be set to false by default with next release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
515
515
  }
516
516
 
517
517
  if (!webshims.cfg.no$Switch) {
518
518
  var switch$ = function(){
519
519
  if (window.jQuery && (!window.$ || window.jQuery == window.$) && !window.jQuery.webshims) {
520
- webshims.error("jQuery was included more than once. Make sure to include it only once or try the $.noConflict(extreme) feature! Webshims and other Plugins might not work properly..");
520
+ webshims.error("jQuery was included more than once. Make sure to include it only once or try the $.noConflict(extreme) feature! Webshims and other Plugins might not work properly. Or set webshims.cfg.no$Switch to 'true'.");
521
521
  if (window.$) {
522
522
  window.$ = webshims.$;
523
523
  }
@@ -1059,6 +1059,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1059
1059
  setInterval(this.test, 600);
1060
1060
  $(this.test);
1061
1061
  webshims.ready('WINDOWLOAD', this.test);
1062
+ $(document).on('updatelayout', this.handler);
1062
1063
  $(window).bind('resize', this.handler);
1063
1064
  (function(){
1064
1065
  var oldAnimate = $.fn.animate;
@@ -1106,7 +1107,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1106
1107
 
1107
1108
  $(nativeElem).on('remove', function(e){
1108
1109
  if (!e.originalEvent) {
1109
- $(shadowElem).remove();
1110
+ setTimeout(function(){
1111
+ $(shadowElem).remove();
1112
+ }, 4);
1110
1113
  }
1111
1114
  });
1112
1115
 
@@ -1584,7 +1587,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1584
1587
  }
1585
1588
  });
1586
1589
 
1587
- })(jQuery, document);
1590
+ })(webshims.$, document);
1588
1591
 
1589
1592
  webshims.register('form-core', function($, webshims, window, document, undefined, options){
1590
1593
  "use strict";
@@ -1663,6 +1666,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1663
1666
  $.expr[":"][name] = $.expr.filters[name+"-element"];
1664
1667
  });
1665
1668
 
1669
+ //bug was partially fixed in 1.10.0 for IE9, but not IE8 (move to es5 as soon as 1.10.2 is used)
1666
1670
  var pseudoFocus = $.expr[":"].focus;
1667
1671
  $.expr[":"].focus = function(){
1668
1672
  try {
@@ -1685,10 +1689,18 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1685
1689
  };
1686
1690
 
1687
1691
  var transClass = ('transitionDelay' in document.documentElement.style) ? '' : ' no-transition';
1692
+ var poCFG = webshims.cfg.wspopover;
1693
+ if(!poCFG.position && poCFG.position !== false){
1694
+ poCFG.position = {
1695
+ at: 'left bottom',
1696
+ my: 'left top',
1697
+ collision: 'fit flip'
1698
+ };
1699
+ }
1688
1700
  webshims.wsPopover = {
1689
1701
  id: 0,
1690
1702
  _create: function(){
1691
- this.options = $.extend({}, webshims.cfg.wspopover, this.options);
1703
+ this.options = $.extend(true, {}, poCFG, this.options);
1692
1704
  this.id = webshims.wsPopover.id++;
1693
1705
  this.eventns = '.wsoverlay' + this.id;
1694
1706
  this.timers = {};
@@ -1735,6 +1747,11 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1735
1747
  var message = $(elem).data('errormessage') || elem.getAttribute('x-moz-errormessage') || '';
1736
1748
  if(key && message[key]){
1737
1749
  message = message[key];
1750
+ } else if(message) {
1751
+ validity = validity || $.prop(elem, 'validity') || {valid: 1};
1752
+ if(validity.valid){
1753
+ message = '';
1754
+ }
1738
1755
  }
1739
1756
  if(typeof message == 'object'){
1740
1757
  validity = validity || $.prop(elem, 'validity') || {valid: 1};
@@ -2001,6 +2018,10 @@ webshims.register('form-message', function($, webshims, window, document, undefi
2001
2018
  });
2002
2019
 
2003
2020
  implementProperties.forEach(function(messageProp){
2021
+ var skipNames = {
2022
+ valid: 1,
2023
+ badInput: 1
2024
+ };
2004
2025
  webshims.defineNodeNamesProperty(['fieldset', 'output', 'button'], messageProp, {
2005
2026
  prop: {
2006
2027
  value: '',
@@ -2029,13 +2050,16 @@ webshims.register('form-message', function($, webshims, window, document, undefi
2029
2050
  if(message){return message;}
2030
2051
  }
2031
2052
  $.each(validity, function(name, prop){
2032
- if(name == 'valid' || !prop){return;}
2053
+ if(skipNames[name] || !prop){return;}
2033
2054
 
2034
2055
  message = webshims.createValidationMessage(elem, name);
2035
2056
  if(message){
2036
2057
  return false;
2037
2058
  }
2038
2059
  });
2060
+ if(!message && validity.badInput){
2061
+ message = webshims.createValidationMessage(elem, 'typeMismatch') || webshims.createValidationMessage(elem, 'valueMissing');
2062
+ }
2039
2063
  return message || '';
2040
2064
  },
2041
2065
  writeable: false
@@ -2046,8 +2070,9 @@ webshims.register('form-message', function($, webshims, window, document, undefi
2046
2070
  });
2047
2071
  });
2048
2072
 
2049
- (function($, Modernizr, webshims){
2073
+ (function(Modernizr, webshims){
2050
2074
  "use strict";
2075
+ var $ = webshims.$;
2051
2076
  var hasNative = Modernizr.audio && Modernizr.video;
2052
2077
  var supportsLoop = false;
2053
2078
  var bugs = webshims.bugs;
@@ -2151,6 +2176,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2151
2176
  hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
2152
2177
  $('html').addClass(hasSwf ? 'swf' : 'no-swf');
2153
2178
  var mediaelement = webshims.mediaelement;
2179
+
2154
2180
  mediaelement.parseRtmp = function(data){
2155
2181
  var src = data.src.split('://');
2156
2182
  var paths = src[1].split('/');
@@ -2320,7 +2346,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2320
2346
  var src = getSrcObj(mediaElem, nodeName);
2321
2347
 
2322
2348
  if(!src.src){
2323
-
2324
2349
  $('source', mediaElem).each(function(){
2325
2350
  src = getSrcObj(this, nodeName);
2326
2351
  if(src.src){srces.push(src);}
@@ -2335,18 +2360,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2335
2360
  srces = [srces];
2336
2361
  }
2337
2362
  srces.forEach(function(src){
2338
- var source = document.createElement('source');
2339
2363
  if(typeof src == 'string'){
2340
2364
  src = {src: src};
2341
2365
  }
2342
- source.setAttribute('src', src.src);
2343
- if(src.type){
2344
- source.setAttribute('type', src.type);
2345
- }
2346
- if(src.media){
2347
- source.setAttribute('media', src.media);
2348
- }
2349
- mediaElem.append(source);
2366
+ mediaElem.append($(document.createElement('source')).attr(src));
2350
2367
  });
2351
2368
 
2352
2369
  }
@@ -2494,6 +2511,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2494
2511
 
2495
2512
  if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;}
2496
2513
  data = data || webshims.data(elem, 'mediaelement');
2514
+ if(mediaelement.sortMedia){
2515
+ _srces.sort(mediaelement.sortMedia);
2516
+ }
2497
2517
  stepSources(elem, data, options.preferFlash || undefined, _srces);
2498
2518
  };
2499
2519
  mediaelement.selectSource = selectSource;
@@ -2668,4 +2688,4 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2668
2688
  }
2669
2689
  webshims.ready('track', loadTrackUi);
2670
2690
  });
2671
- })(jQuery, Modernizr, webshims);
2691
+ })(Modernizr, webshims);
@@ -12,14 +12,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
12
12
  webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
13
13
  }
14
14
 
15
- if(webshims.cfg.extendNative == 1){
15
+ if(webshims.cfg.extendNative === 1){
16
16
  webshims.warn("extendNative configuration will be set to false by default with next release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
17
17
  }
18
18
 
19
19
  if (!webshims.cfg.no$Switch) {
20
20
  var switch$ = function(){
21
21
  if (window.jQuery && (!window.$ || window.jQuery == window.$) && !window.jQuery.webshims) {
22
- webshims.error("jQuery was included more than once. Make sure to include it only once or try the $.noConflict(extreme) feature! Webshims and other Plugins might not work properly..");
22
+ webshims.error("jQuery was included more than once. Make sure to include it only once or try the $.noConflict(extreme) feature! Webshims and other Plugins might not work properly. Or set webshims.cfg.no$Switch to 'true'.");
23
23
  if (window.$) {
24
24
  window.$ = webshims.$;
25
25
  }
@@ -561,6 +561,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
561
561
  setInterval(this.test, 600);
562
562
  $(this.test);
563
563
  webshims.ready('WINDOWLOAD', this.test);
564
+ $(document).on('updatelayout', this.handler);
564
565
  $(window).bind('resize', this.handler);
565
566
  (function(){
566
567
  var oldAnimate = $.fn.animate;
@@ -608,7 +609,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
608
609
 
609
610
  $(nativeElem).on('remove', function(e){
610
611
  if (!e.originalEvent) {
611
- $(shadowElem).remove();
612
+ setTimeout(function(){
613
+ $(shadowElem).remove();
614
+ }, 4);
612
615
  }
613
616
  });
614
617
 
@@ -1086,7 +1089,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1086
1089
  }
1087
1090
  });
1088
1091
 
1089
- })(jQuery, document);
1092
+ })(webshims.$, document);
1090
1093
 
1091
1094
  (function($){
1092
1095
 
@@ -1583,14 +1586,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1583
1586
  webshims._polyfill(['es5']);
1584
1587
  }
1585
1588
  }
1586
- })(jQuery);
1589
+ })(window.webshims ? webshims.$ : jQuery);
1587
1590
  webshims.register('form-number-date-ui', function($, webshims, window, document, undefined, options){
1588
1591
  "use strict";
1589
1592
  var curCfg;
1590
1593
  var formcfg = webshims.formcfg;
1591
1594
 
1592
1595
  var stopPropagation = function(e){
1593
- e.stopImmediatePropagation(e);
1596
+ e.stopImmediatePropagation();
1594
1597
  };
1595
1598
  var createFormat = function(name){
1596
1599
  if(!curCfg.patterns[name+'Obj']){
@@ -1661,6 +1664,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1661
1664
  number: {
1662
1665
  step: 1
1663
1666
  },
1667
+ // week: {
1668
+ // step: 1,
1669
+ // start: new Date(nowDate)
1670
+ // },
1664
1671
  time: {
1665
1672
  step: 60
1666
1673
  },
@@ -1863,6 +1870,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1863
1870
  time: function(val){
1864
1871
  return val;
1865
1872
  },
1873
+ week: function(val){
1874
+ return val;
1875
+ },
1866
1876
  //todo empty val for month/split
1867
1877
  month: function(val, options){
1868
1878
  var names;
@@ -1912,6 +1922,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
1912
1922
  number: function(val){
1913
1923
  return (val+'').replace(curCfg.numberFormat[','], '').replace(curCfg.numberFormat['.'], '.');
1914
1924
  },
1925
+ // week: function(val){
1926
+ // return val;
1927
+ // },
1915
1928
  time: function(val){
1916
1929
  return val;
1917
1930
  },
@@ -2048,6 +2061,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2048
2061
  steps[this.type].start = this.asNumber(steps[this.type].start);
2049
2062
  }
2050
2063
 
2064
+ if(!webshims.picker[this.type]){
2065
+ o.buttonOnly = false;
2066
+ }
2067
+
2051
2068
  for(i = 0; i < createOpts.length; i++){
2052
2069
  if(o[createOpts[i]] != null){
2053
2070
  this[createOpts[i]](o[createOpts[i]], o[createOpts[i]]);
@@ -2059,6 +2076,11 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2059
2076
  this.addBindings();
2060
2077
  $(this.element).data('wsWidget'+o.type, this);
2061
2078
 
2079
+
2080
+ if(o.buttonOnly){
2081
+ this.inputElements.prop({readOnly: true});
2082
+ }
2083
+
2062
2084
  this._init = true;
2063
2085
 
2064
2086
  if(o.mirrorValidity){
@@ -2139,7 +2161,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2139
2161
  if(preventBlur.prevent){
2140
2162
  e.preventDefault();
2141
2163
  (isFocused || that.element.getShadowFocusElement()).focus();
2142
- e.stopImmediatePropagation();
2164
+ stopPropagation(e);
2143
2165
  return true;
2144
2166
  }
2145
2167
  };
@@ -2511,12 +2533,18 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2511
2533
  ['readonly', 'disabled'].forEach(function(name){
2512
2534
  var isDisabled = name == 'disabled';
2513
2535
  wsWidgetProto[name] = function(val, boolVal){
2514
- if(this.options[name] != boolVal || !this._init){
2515
- this.options[name] = !!boolVal;
2516
- this.inputElements.prop(name, this.options[name]);
2517
- this.buttonWrapper[this.options[name] ? 'addClass' : 'removeClass']('ws-'+name);
2536
+ var options = this.options;
2537
+ if(options[name] != boolVal || !this._init){
2538
+ options[name] = !!boolVal;
2539
+
2540
+ if(!isDisabled && options.buttonOnly){
2541
+ this.inputElements.attr({'aria-readonly': options[name]});
2542
+ } else {
2543
+ this.inputElements.prop(name, options[name]);
2544
+ }
2545
+ this.buttonWrapper[options[name] ? 'addClass' : 'removeClass']('ws-'+name);
2518
2546
  if(isDisabled){
2519
- $('button', this.buttonWrapper).prop('disabled', this.options[name]);
2547
+ $('button', this.buttonWrapper).prop('disabled', options[name]);
2520
2548
  }
2521
2549
  }
2522
2550
  };
@@ -2803,9 +2831,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2803
2831
 
2804
2832
 
2805
2833
  picker._common = function(data){
2806
- var popover = webshims.objectCreate(webshims.wsPopover, {}, {prepareFor: data.element});
2807
- var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
2808
2834
  var options = data.options;
2835
+ var popover = webshims.objectCreate(webshims.wsPopover, {}, {prepareFor: data.element, position: options.widgetPosition});
2836
+ var opener = $('<button type="button" class="ws-popover-opener"><span /></button>').appendTo(data.buttonWrapper);
2837
+
2809
2838
 
2810
2839
  var showPickerContent = function(){
2811
2840
  (picker[data.type].showPickerContent || picker.showPickerContent)(data, popover);
@@ -2894,8 +2923,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2894
2923
  };
2895
2924
  data.inputElements.on({
2896
2925
  focus: function(){
2897
- if(!popover.stopOpen && (data.options.openOnFocus || (mouseFocus && options.openOnMouseFocus))){
2898
- popover.openedByFocus = !options.noInput;
2926
+ if(!popover.stopOpen && (options.buttonOnly || options.openOnFocus || (mouseFocus && options.openOnMouseFocus))){
2927
+ popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
2899
2928
  show();
2900
2929
  } else {
2901
2930
  popover.preventBlur();
@@ -2904,8 +2933,15 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2904
2933
  mousedown: function(){
2905
2934
  mouseFocus = true;
2906
2935
  setTimeout(resetMouseFocus, 9);
2936
+ if(options.buttonOnly && popover.isVisible && popover.activeElement){
2937
+ popover.openedByFocus = false;
2938
+ setTimeout(function(){
2939
+ popover.openedByFocus = false;
2940
+ popover.activeElement.focus();
2941
+ }, 4);
2942
+ }
2907
2943
  if(data.element.is(':focus')){
2908
- popover.openedByFocus = !options.noInput;
2944
+ popover.openedByFocus = options.buttonOnly ? false : !options.noInput;
2909
2945
  show();
2910
2946
  }
2911
2947
  popover.preventBlur();
@@ -2916,8 +2952,10 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2916
2952
  data.opener = opener;
2917
2953
  $(data.orig).on('remove', function(e){
2918
2954
  if(!e.originalEvent){
2919
- opener.remove();
2920
- popover.element.remove();
2955
+ setTimeout(function(){
2956
+ opener.remove();
2957
+ popover.element.remove();
2958
+ }, 4);
2921
2959
  }
2922
2960
  });
2923
2961
 
@@ -2926,6 +2964,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
2926
2964
 
2927
2965
  picker.month = picker._common;
2928
2966
  picker.date = picker._common;
2967
+ // picker.week = picker._common;
2929
2968
  picker.color = function(data){
2930
2969
  var ret = picker._common.apply(this, arguments);
2931
2970
  var alpha = $(data.orig).data('alphacontrol');
@@ -3177,10 +3216,12 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
3177
3216
  data.shim.element.addClass('has-input-buttons');
3178
3217
  }
3179
3218
 
3219
+ data.shim.element.addClass($.prop(this, 'className'));
3220
+
3180
3221
  if(opts.calculateWidth){
3181
3222
  sizeInput(data.shim);
3182
3223
  } else {
3183
- $(this).css({display: 'none'});
3224
+ $(this).addClass('ws-important-hide');
3184
3225
  }
3185
3226
  }
3186
3227