LuckyCoinkydink/templates/2k11/admin/js/progress-polyfill.min.js
2015-01-29 19:48:43 +01:00

10 lines
3.8 KiB
JavaScript

// HTML5 Progress polyfill | Jonathan Stipe | https://github.com/jonstipe/progress-polyfill
(function(){(function($){document.createElement('progress');$.fn.html5Progress=function(){var updatePolyfill;updatePolyfill=function(progressElem,progressBarDiv){var amt,max,val,_ref;_ref=$([$(progressElem).attr('max')||'1.0',$(progressElem).attr('value')]).map(function(){if(/^\-?\d+(?:\.\d+)?$/.test(this)){return parseFloat(this);}}).get(),max=_ref[0],val=_ref[1];if(val>max){val=max;}
amt=max>0?(val/max)*100.0:0;progressBarDiv.style.width=amt+"%";return null;};$(this).filter('progress[value]').each(function(){var $elem,attrHandler,attrMutationCallback,attrObserver,progressBarDiv,progressFrameDiv,_this=this;$elem=$(this);progressFrameDiv=document.createElement('div');progressBarDiv=document.createElement('div');progressFrameDiv.appendChild(progressBarDiv);$(progressFrameDiv).addClass('progress-frame');$(progressBarDiv).addClass('progress-bar');updatePolyfill(this,progressBarDiv);this.appendChild(progressFrameDiv);if((typeof WebKitMutationObserver!=="undefined"&&WebKitMutationObserver!==null)||(typeof MutationObserver!=="undefined"&&MutationObserver!==null)){attrMutationCallback=function(mutations,observer){var mutation,_i,_len,_ref;for(_i=0,_len=mutations.length;_i<_len;_i++){mutation=mutations[_i];if(mutation.type==="attributes"&&((_ref=mutation.attributeName)==="value"||_ref==="max")){if($elem.is("[value]")){updatePolyfill(_this,progressBarDiv);}else{$elem.children("div.progress-frame").remove();attrObserver.disconnect();$elem.html5Progress();}}}
return null;};attrObserver=(typeof WebKitMutationObserver!=="undefined"&&WebKitMutationObserver!==null)?new WebKitMutationObserver(attrMutationCallback):((typeof MutationObserver!=="undefined"&&MutationObserver!==null)?new MutationObserver(attrMutationCallback):null);attrObserver.observe(this,{attributes:true,attributeFilter:["value","max"]});}else if(typeof MutationEvent!=="undefined"&&MutationEvent!==null){attrHandler=function(evt){var _ref;if((_ref=evt.originalEvent.attrName)==="value"||_ref==="max"){if($elem.is("[value]")){updatePolyfill(_this,progressBarDiv);}else{$elem.children("div.progress-frame").remove();$elem.off("DOMAttrModified",attrHandler);$elem.html5Progress();}}
return null;};$elem.on("DOMAttrModified",attrHandler);}
return null;});$(this).filter('progress:not([value])').each(function(){var $elem,attrHandler,attrMutationCallback,attrObserver,progressDiv,_this=this;$elem=$(this);progressDiv=document.createElement('div');$(progressDiv).addClass('progress-undefined');this.appendChild(progressDiv);if((typeof WebKitMutationObserver!=="undefined"&&WebKitMutationObserver!==null)||(typeof MutationObserver!=="undefined"&&MutationObserver!==null)){attrMutationCallback=function(mutations,observer){var mutation,_i,_len;for(_i=0,_len=mutations.length;_i<_len;_i++){mutation=mutations[_i];if(mutation.type==="attributes"&&mutation.attributeName==="value"&&$elem.is("[value]")){$elem.children("div.progress-undefined").remove();attrObserver.disconnect();$elem.html5Progress();}}
return null;};attrObserver=(typeof WebKitMutationObserver!=="undefined"&&WebKitMutationObserver!==null)?new WebKitMutationObserver(attrMutationCallback):((typeof MutationObserver!=="undefined"&&MutationObserver!==null)?new MutationObserver(attrMutationCallback):null);attrObserver.observe(this,{attributes:true,attributeFilter:["value"]});}else if(typeof MutationEvent!=="undefined"&&MutationEvent!==null){attrHandler=function(evt){if(evt.originalEvent.attrName==="value"&&$elem.is("[value]")){$elem.children("div.progress-undefined").remove();$elem.off("DOMAttrModified",attrHandler);$elem.html5Progress();}
return null;};$elem.on("DOMAttrModified",attrHandler);}
return null;});return $(this);};$(function(){$('progress').html5Progress();return null;});return null;})(jQuery);}).call(this);