rocky/rocky-austria/fileadmin/template/js/jquery.textresizer.min.js

9 lines
4.7 KiB
JavaScript
Raw Normal View History

2025-02-12 13:28:47 +01:00
/*
jQuery Text Resizer Plugin v1.1.0
Copyright (c) 2009-2013 Mario J Vargas
See the file MIT-LICENSE.txt for copying permission.
Website: http://angstrey.com/
Documentation: http://angstrey.com/index.php/projects/jquery-text-resizer-plugin/
*/(function(e){"use strict";var t,n,r;r=function(e){return"object"==typeof window.JSON&&"function"==typeof window.JSON.stringify?JSON.stringify(e):e},n=function(e){window.console&&"function"==typeof window.console.log&&setTimeout(function(){var t,n=[],i;if("string"==typeof e)n.push("jquery.textresizer => "+e);else{n.push("jquery.textresizer => {");for(t in e)e.hasOwnProperty(t)&&(i=[" ",t,": ",r(e[t])].join(""),n.push(i));n.push("}")}console.log(n.join("\n"))},0)},t=function(e,n){this.$elements=e,this.settings=n||t.defaults},t.defaults={debugMode:!1,type:"fontSize",target:"body",selectedIndex:-1,suppressClickThrough:!0},t.prototype.buildDefaultFontSizes=function(e){if(0===e)return;var t=8,r=[],i,s;this.settings.debugMode&&n("In buildDefaultFontSizes: numElms = "+e);if(this.settings.debugMode)for(i=0;i<e;i+=1)s=(t+i*2)/10,r.push(s+"em"),n("In buildDefaultFontSizes: mySizes["+i+"] = "+r[i]);else for(i=0;i<e;i+=1)s=(t+i*2)/10,r.push(s+"em");return r},t.prototype.serializeHash=function(t){return e.param(t).replace(/\+/g,"%20")},t.prototype.deserializeHash=function(e){var t,n,r,i={},s=/\&|\|/g,o=e.split(s);for(t=0,n=o.length;t<n;t+=1)r=o[t].split("="),i[r[0]]=window.decodeURIComponent(r[1]);return i},t.prototype.buildCookieID=function(e,t,n){return"JQUERY.TEXTRESIZER["+e+","+t+"]."+n},t.prototype.getCookie=function(t,n,r){var i=this.buildCookieID(t,n,r),s=e.cookie(i);return e.cookie(i+".valueType")==="dict"&&s?this.deserializeHash(s):s},t.prototype.setCookie=function(t,r,i,s){var o=this.buildCookieID(t,r,i),u={expires:365,path:"/"},a;"object"==typeof s?(e.cookie(o+".valueType","dict",u),a=this.serializeHash(s),e.cookie(o,a,u),this.settings.debugMode&&n("In setCookie: Cookie: "+o+": "+a)):(e.cookie(o,s,u),this.settings.debugMode&&n("In setCookie: Cookie (not hash): "+o+": "+s))},t.prototype.applyInlineCssProperties=function(e,t){e.css(t)},t.prototype.applyCssClass=function(t,n,r){e.each(r,function(){var n=this.toString();t.each(function(){var t=e(this);t.hasClass(n)&&t.removeClass(n)})}),t.addClass(n)},t.prototype.applySpecificFontSize=function(e,t){e.css("font-size",t)},t.prototype.applyFontSize=function(t){this.settings.debugMode&&n(["In applyFontSize(): target: ",this.settings.target," | ","newSize: ",r(t)," | ","type: ",this.settings.type].join(""));var i=e(this.settings.target);switch(this.settings.type){case"css":this.applyInlineCssProperties(i,t);break;case"cssClass":this.applyCssClass(i,t,this.settings.sizes);break;default:this.applySpecificFontSize(i,t)}},t.prototype.loadPreviousState=function(){var t=this.settings,r,i,s;e.cookie?(t.debugMode&&n("In loadPreviousState(): jquery.cookie: INSTALLED"),r=this.getCookie(t.selector,t.target,"selectedIndex"),i=parseInt(r,10),s=this.getCookie(t.selector,t.target,"size"),isNaN(i)||(t.selectedIndex=i),t.debugMode&&(n("In loadPreviousState: selectedIndex: "+i+"; type: "+typeof i),n("In loadPreviousState: prevSize: "+s+"; type: "+typeof s)),s&&this.applyFontSize(s)):t.debugMode&&n("In loadPreviousState(): jquery.cookie: NOT INSTALLED")},t.prototype.markActive=function(t){e(this.settings.selector).removeClass("textresizer-active"),e(t).addClass("textresizer-active")},t.prototype.saveState=function(t){if(e.cookie){var r=this.settings.selector,i=this.settings.target,s=this.settings.selectedIndex;this.settings.debugMode&&n("In saveState(): jquery.cookie: INSTALLED"),this.setCookie(r,i,"size",t),this.setCookie(r,i,"selectedIndex",s)}else this.settings.debugMode&&n("In saveState(): jquery.cookie: NOT INSTALLED")},t.prototype.attachResizerToElement=function(t,n){var r=this,i=r.settings,s=e(t),o=i.sizes[n];n===i.selectedIndex&&s.addClass("textresizer-active"),s.on("click",{index:n},function(e){var t=this;i.suppressClickThrough&&e.preventDefault(),i.selectedIndex=e.data.index,r.applyFontSize(o),r.saveState(o),r.markActive(t)})},t.prototype.init=function(){var r=this.$elements.size(),i=t.defaults.debugMode;i&&n("init() => selection count: "+r);if(0===r)return;this.settings=e.extend({selector:this.$elements.selector,sizes:this.buildDefaultFontSizes(r)},e.fn.textresizer.defaults,this.setti