diff options
author | friendica <info@friendica.com> | 2012-07-13 07:09:29 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-07-13 07:09:29 -0700 |
commit | a20a6377277a985fa596b0ea460d91b97f79b4a5 (patch) | |
tree | 1878d488143e2f0d698dc42ae924ab7be93ffb54 /library/jslider/js/tmpl.js | |
parent | 599f3d29610b2cc509ab51df0f42d154dd70278d (diff) | |
download | volse-hubzilla-a20a6377277a985fa596b0ea460d91b97f79b4a5.tar.gz volse-hubzilla-a20a6377277a985fa596b0ea460d91b97f79b4a5.tar.bz2 volse-hubzilla-a20a6377277a985fa596b0ea460d91b97f79b4a5.zip |
merge upstream, slider work, refactor ping module, language selection work
Diffstat (limited to 'library/jslider/js/tmpl.js')
-rw-r--r-- | library/jslider/js/tmpl.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/library/jslider/js/tmpl.js b/library/jslider/js/tmpl.js new file mode 100644 index 000000000..36eadf28a --- /dev/null +++ b/library/jslider/js/tmpl.js @@ -0,0 +1,35 @@ +// Simple JavaScript Templating +// John Resig - http://ejohn.org/ - MIT Licensed +(function(){ + var cache = {}; + + this.tmpl = function tmpl(str, data){ + // Figure out if we're getting a template, or if we need to + // load the template - and be sure to cache the result. + var fn = !/\W/.test(str) ? + cache[str] = cache[str] || + tmpl(document.getElementById(str).innerHTML) : + + // Generate a reusable function that will serve as a template + // generator (and which will be cached). + new Function("obj", + "var p=[],print=function(){p.push.apply(p,arguments);};" + + + // Introduce the data as local variables using with(){} + "with(obj){p.push('" + + + // Convert the template into pure JavaScript + str + .replace(/[\r\t\n]/g, " ") + .split("<%").join("\t") + .replace(/((^|%>)[^\t]*)'/g, "$1\r") + .replace(/\t=(.*?)%>/g, "',$1,'") + .split("\t").join("');") + .split("%>").join("p.push('") + .split("\r").join("\\'") + + "');}return p.join('');"); + + // Provide some basic currying to the user + return data ? fn( data ) : fn; + }; +})();
\ No newline at end of file |