vendor/assets/javascripts/webshims/shims/combos/25.js in webshims-rails-1.11.6.1 vs vendor/assets/javascripts/webshims/shims/combos/25.js in webshims-rails-1.12.0
- old
+ new
@@ -447,12 +447,11 @@
expressInstallCallback: function() {
}
};
}();
-
-// Copyright 2009-2012 by contributors, MIT License
+;// Copyright 2009-2012 by contributors, MIT License
// vim: ts=4 sts=4 sw=4 expandtab
(function () {
/**
@@ -1894,12 +1893,11 @@
}
})(webshims.$, webshims);
-
-//DOM-Extension helper
+;//DOM-Extension helper
webshims.register('dom-extend', function($, webshims, window, document, undefined){
"use strict";
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
var has = Object.prototype.hasOwnProperty;
@@ -1937,38 +1935,10 @@
webshims.ready('DOM', switch$);
$(switch$);
webshims.ready('WINDOWLOAD', switch$);
}
-// (function(){
-// var hostNames = {
-// 'afarkas.github.io': 1,
-// localhost: 1,
-// '127.0.0.1': 1
-// };
-//
-// if( webshims.cfg.debug && (hostNames[location.hostname] || location.protocol == 'file:') ){
-// var list = $('<ul class="webshims-debug-list" />');
-// webshims.errorLog.push = function(message){
-// list.appendTo('body');
-// $('<li style="display: none;">'+ message +'</li>')
-// .appendTo(list)
-// .slideDown()
-// .delay(3000)
-// .slideUp(function(){
-// $(this).remove();
-// if(!$('li', list).length){
-// list.detach();
-// }
-// })
-// ;
-// };
-// $.each(webshims.errorLog, function(i, message){
-// webshims.errorLog.push(message);
-// });
-// }
-// })();
//shortcus
var modules = webshims.modules;
var listReg = /\s*,\s*/;
@@ -2406,38 +2376,50 @@
obj[name] = prop;
}
});
},
getOptions: (function(){
+ var normalName = /\-([a-z])/g;
var regs = {};
+ var nameRegs = {};
var regFn = function(f, upper){
return upper.toLowerCase();
};
- return function(elem, name, bases){
+ var nameFn = function(f, dashed){
+ return dashed.toUpperCase();
+ };
+ return function(elem, name, bases, stringAllowed){
+ if(nameRegs[name]){
+ name = nameRegs[name];
+ } else {
+ nameRegs[name] = name.replace(normalName, nameFn);
+ name = nameRegs[name];
+ }
var data = elementData(elem, 'cfg'+name);
var dataName;
var cfg = {};
if(data){
return data;
}
data = $(elem).data();
-
+ if(data && typeof data[name] == 'string'){
+ if(stringAllowed){
+ return elementData(elem, 'cfg'+name, data[name]);
+ }
+ webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
+ }
if(!bases){
bases = [true, {}];
} else if(!Array.isArray(bases)){
bases = [true, {}, bases];
} else {
bases.unshift(true, {});
}
- if(data && data[name]){
- if(typeof data[name] == 'object'){
- bases.push(data[name]);
- } else {
- webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
- }
+ if(data && typeof data[name] == 'object'){
+ bases.push(data[name]);
}
if(!regs[name]){
regs[name] = new RegExp('^'+ name +'([A-Z])');
}
@@ -2446,11 +2428,10 @@
if(regs[name].test(dataName)){
cfg[dataName.replace(regs[name], regFn)] = data[dataName];
}
}
bases.push(cfg);
-
return elementData(elem, 'cfg'+name, $.extend.apply($, bases));
};
})(),
//http://www.w3.org/TR/html5/common-dom-interfaces.html#reflect
createPropDefault: createPropDefault,
@@ -2476,11 +2457,11 @@
},
addShadowDom: (function(){
var resizeTimer;
var lastHeight;
var lastWidth;
-
+ var $window = $(window);
var docObserve = {
init: false,
runs: 0,
test: function(){
var height = docObserve.getHeight();
@@ -2496,29 +2477,40 @@
}
} else {
docObserve.runs = 0;
}
},
- handler: function(e){
- clearTimeout(resizeTimer);
- resizeTimer = setTimeout(function(){
- if(e.type == 'resize'){
- var width = $(window).width();
- var height = $(window).width();
- if(height == lastHeight && width == lastWidth){
- return;
+ handler: (function(){
+ var trigger = function(){
+ $(document).triggerHandler('updateshadowdom');
+ };
+ return function(e){
+ clearTimeout(resizeTimer);
+ resizeTimer = setTimeout(function(){
+ if(e.type == 'resize'){
+ var width = $window.width();
+ var height = $window.width();
+
+ if(height == lastHeight && width == lastWidth){
+ return;
+ }
+ lastHeight = height;
+ lastWidth = width;
+
+ docObserve.height = docObserve.getHeight();
+ docObserve.width = docObserve.getWidth();
}
- lastHeight = height;
- lastWidth = width;
+
+ if(window.requestAnimationFrame){
+ requestAnimationFrame(trigger);
+ } else {
+ setTimeout(trigger, 0);
+ }
- docObserve.height = docObserve.getHeight();
- docObserve.width = docObserve.getWidth();
-
- }
- $(document).triggerHandler('updateshadowdom');
- }, (e.type == 'resize') ? 50 : 9);
- },
+ }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 0);
+ };
+ })(),
_create: function(){
$.each({ Height: "getHeight", Width: "getWidth" }, function(name, type){
var body = document.body;
var doc = document.documentElement;
docObserve[type] = function(){
@@ -2852,17 +2844,21 @@
descs.set = descs;
}
webshims.defineNodeNamesProperty(elementNames, prop, {
attr: {
set: function(val){
- this.setAttribute(prop, val);
+ if(descs.useContentAttribute){
+ webshims.contentAttr(this, prop, val);
+ } else {
+ this.setAttribute(prop, val);
+ }
if(descs.set){
descs.set.call(this, true);
}
},
get: function(){
- var ret = this.getAttribute(prop);
+ var ret = (descs.useContentAttribute) ? webshims.contentAttr(this, prop) : this.getAttribute(prop);
return (ret == null) ? undefined : prop;
}
},
removeAttr: {
value: function(){
@@ -2915,26 +2911,29 @@
}
delete loading[src];
});
}
};
+
var select = function(obj){
var oldLang = obj.__active;
var selectLang = function(i, lang){
obj._isLoading = false;
if(obj[lang] || obj.availableLangs.indexOf(lang) != -1){
if(obj[lang]){
obj.__active = obj[lang];
+ obj.__activeName = lang;
} else {
load(obj.langSrc+lang, obj, curLang.join());
}
return false;
}
};
$.each(curLang, selectLang);
if(!obj.__active){
obj.__active = obj[''];
+ obj.__activeName = '';
}
if(oldLang != obj.__active){
$(obj).trigger('change');
}
};
@@ -3035,12 +3034,11 @@
addRole(footer, 'contentinfo');
}
}
});
-})(webshims.$, document);
-webshims.register('filereader', function( $, webshims ){
+})(webshims.$, document);;webshims.register('filereader', function( $, webshims ){
"use strict";
/**
* Code is based on https://github.com/Jahdrien/FileReader
*
*/
@@ -3425,12 +3423,11 @@
webshims.addReady(function(context, contextElem){
$('input[type="file"].ws-filereader', context).fileReader();
});
});
});
-
-(function(Modernizr, webshims){
+;(function(Modernizr, webshims){
"use strict";
var $ = webshims.$;
var hasNative = Modernizr.audio && Modernizr.video;
var supportsLoop = false;
var bugs = webshims.bugs;
@@ -4119,11 +4116,10 @@
} else {
webshims.ready(swfType, initMediaElements);
}
webshims.ready('track', loadTrackUi);
});
-})(Modernizr, webshims);
-webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
+})(Modernizr, webshims);;webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
"use strict";
var mediaelement = webshims.mediaelement;
var swfmini = window.swfmini;
var hasNative = Modernizr.audio && Modernizr.video;
\ No newline at end of file