diff --git a/jsrender-node.js b/jsrender-node.js index 3f530cd..c6a0669 100644 --- a/jsrender-node.js +++ b/jsrender-node.js @@ -1,4 +1,4 @@ -/*! JsRender v0.9.88 (Beta): http://jsviews.com/#jsrender */ +/*! JsRender v0.9.89 (Beta): http://jsviews.com/#jsrender */ /*! **VERSION FOR NODE.JS** (For WEB see http://jsviews.com/download/jsrender.js) */ /* * Best-of-breed templating in browser or on Node.js. @@ -19,7 +19,7 @@ if (typeof exports !== 'object' ) { //========================== Top-level vars ========================== -var versionNumber = "v0.9.88", +var versionNumber = "v0.9.89", // global var is the this object, which is window when running in the usual browser environment @@ -113,7 +113,6 @@ var versionNumber = "v0.9.88", _tag: renderTag, _er: error, _err: onRenderError, - _html: htmlEncode, _cp: retVal, // Get observable contextual parameters (or properties) ~foo=expr. In JsRender, simply returns val. _sq: function(token) { if (token === "constructor") { @@ -341,8 +340,10 @@ function contextParameter(key, value, isContextCb) { if (!res || !res._cxp) { // Not a contextual parameter if (store !== $helpers) { - // Set storeView to tag (if this is a tag.ctxPrm() call) or to root view (view under top view) - storeView = storeView.ctx && storeView.ctx.tag || storeView.root; + // Set storeView to tag (if this is a tag.ctxPrm() call) or to root view ("data" view of linked template) + storeView = storeView.views // Is a view, not a tag? + ? (storeView = storeView.scope || storeView, !storeView.isTop && storeView.ctx.tag || storeView) + : storeView.ctx.tag; store = storeView._ocps; res = store && store[key] || res; } @@ -394,7 +395,7 @@ function getTemplate(tmpl) { function convertVal(converter, view, tagCtx, onError) { // self is template object or linkCtx object - var tag, value, + var tag, value, argsLen, bindTo, // If tagCtx is an integer, then it is the key for the compiled function to return the boundTag tagCtx boundTag = typeof tagCtx === "number" && view.tmpl.bnds[tagCtx-1], linkCtx = view.linkCtx; // For data-link="{cvt:...}"... @@ -415,15 +416,22 @@ function convertVal(converter, view, tagCtx, onError) { if (!tag) { tag = $extend(new $sub._tg(), { _: { - inline: !linkCtx, bnd: boundTag, unlinked: true }, + inline: !linkCtx, tagName: ":", cvt: converter, flow: true, tagCtx: tagCtx }); + argsLen = tagCtx.args.length; + if (argsLen>1) { + bindTo = tag.bindTo = []; + while (argsLen--) { + bindTo.unshift(argsLen); // Bind to all the arguments - generate bindTo array: [0,1,2...] + } + } if (linkCtx) { linkCtx.tag = tag; tag.linkCtx = linkCtx; @@ -485,16 +493,20 @@ function convertArgs(converter, bound, tagElse) { // tag.cvtArgs() if (converter) { bindTo = bindTo || [0]; - converter = converter.apply(tag, boundArgs || args); l = bindTo.length; - converter = l < 2 ? [converter] : converter || []; + converter = converter.apply(tag, boundArgs || args); + if (!$isArray(converter) || converter.length !== l) { + converter = [converter]; + bindTo = [0]; + l = 1; + } if (bound) { // Call to bndArgs convertBoundArgs() - so apply converter to all boundArgs args = converter; // The array of values returned from the converter } else { // Call to cvtArgs() while (l--) { key = bindTo[l]; if (+key === key) { - args[key] = converter ? converter[l] : undefined; + args[key] = converter[l]; } } } @@ -561,14 +573,14 @@ function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { l = tagCtxs.length; for (; i < l; i++) { tagCtx = tagCtxs[i]; - if (!linkCtx || !linkCtx.tag || i && !linkCtx.tag._.inline || tag._er) { + content = tagCtx.tmpl; + if (!linkCtx || !linkCtx.tag || i && !linkCtx.tag.inline || tag._er || content && +content===content) { // Initialize tagCtx // For block tags, tagCtx.tmpl is an integer > 0 - if (content = parentTmpl.tmpls && tagCtx.tmpl) { - content = tagCtx.content = parentTmpl.tmpls[content - 1]; + if (content && parentTmpl.tmpls) { + tagCtx.tmpl = tagCtx.content = parentTmpl.tmpls[content - 1]; // Set the tmpl property to the content of the block tag } tagCtx.index = i; - tagCtx.tmpl = content; // Set the tmpl property to the content of the block tag tagCtx.render = renderContent; tagCtx.view = parentView; tagCtx.ctx = extendCtx(tagCtx.ctx, ctx); // Clone and extend parentView.ctx @@ -591,7 +603,7 @@ function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { tagDataMap = tag.dataMap; if (linkCtx) { - tag._.inline = false; + tag.inline = false; linkCtx.tag = tag; tag.linkCtx = linkCtx; } @@ -675,9 +687,9 @@ function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { if (parentView.linked && itemRet && !rWrappedInViewMarker.test(itemRet)) { // When a tag renders content from the render method, with data linking then we need to wrap with view markers, if absent, // to provide a contentView for the tag, which will correctly dispose bindings if deleted. The 'tmpl' for this view will - // be a dumbed down template which will always return the itemRet string (no matter what the data is). The itemRet string + // be a dumbed-down template which will always return the itemRet string (no matter what the data is). The itemRet string // is not compiled as template markup, so can include "{{" or "}}" without triggering syntax errors - tmpl = { // 'Dumbed down' template which always renders 'static' itemRet string + tmpl = { // 'Dumbed-down' template which always renders 'static' itemRet string links: [] }; tmpl.render = tmpl.fn = function() { @@ -705,7 +717,7 @@ function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { tag.ctx = tag.tagCtx.ctx; if (tag._.noVws) { - if (tag._.inline) { + if (tag.inline) { // inline tag with attr set to "text" will insert HTML-encoded content - as if it was element-based innerText ret = attr === "text" ? $converters.html(ret) @@ -727,28 +739,29 @@ function View(context, type, parentView, data, template, key, onRender, contentT var views, parentView_, tag, self_, self = this, isArray = type === "array"; + // If the data is an array, this is an 'array view' with a views array for each child 'item view' + // If the data is not an array, this is an 'item view' with a views 'hash' object for any child nested views self.content = contentTmpl; self.views = isArray ? [] : {}; - self.parent = parentView; - self.type = type || "top"; - self.root = parentView && parentView.root || type && self; // view whose parent is top view self.data = data; self.tmpl = template; - // If the data is an array, this is an 'array view' with a views array for each child 'item view' - // If the data is not an array, this is an 'item view' with a views 'hash' object for any child nested views - // ._.useKey is non zero if is not an 'array view' (owning a data array). Use this as next key for adding to child views hash self_ = self._ = { key: 0, + // ._.useKey is non zero if is not an 'array view' (owning a data array). Use this as next key for adding to child views hash useKey: isArray ? 0 : 1, id: "" + viewId++, onRender: onRender, bnds: {} }; self.linked = !!onRender; - if (parentView) { + self.type = type || "top"; + if (self.parent = parentView) { + self.root = parentView.root || self; // view whose parent is top view views = parentView.views; parentView_ = parentView._; + self.isTop = parentView_.scp; // Is top content view of a link("#container", ...) call + self.scope = (!context.tag || context.tag === parentView.ctx.tag) && !self.isTop && parentView.scope || self; if (parentView_.useKey) { // Parent is not an 'array view'. Add this view to its views object // self._key = is the key in the parent view hash @@ -805,10 +818,9 @@ function compileTag(name, tagDef, parentTmpl) { function Tag() { var tag = this; tag._ = { - inline: true, unlinked: true }; - + tag.inline = true; tag.tagName = name; } @@ -930,6 +942,7 @@ function compileTmpl(name, tmpl, parentTmpl, options) { var elem, compiledTmpl, tmplOrMarkup = tmpl = tmpl || ""; + $sub._html = $converters.html; //==== Compile the template ==== if (options === 0) { @@ -2049,7 +2062,7 @@ function buildCode(ast, tmpl, isLinkExpr) { tmpl.refs = tmpl.refs || {}; // Used by browserify to chain require() dependencies for tmpl="./some.file.html" tmpl.refs[prm.slice(8,-1)] = 1; } // END NODE.JS-SPECIFIC CODE - onError = node[5]; + onError = node[5] || $subSettings.debugMode !== false && "undefined"; // If debugMode not false, set default onError handler on tag to "undefined" (see onRenderError) trigger = node[6]; lateRender = node[7]; markup = node[9] && node[9].replace(rUnescapeQuotes, "$1"); @@ -2176,10 +2189,6 @@ function buildCode(ast, tmpl, isLinkExpr) { + code + (isLinkExpr ? "\n" : ";\nreturn ret;"); - if ($subSettings.debugMode !== false) { - code = "try {\n" + code + "\n}catch(e){\nreturn j._err(e, view);\n}"; - } - try { code = new Function("data,view,j,u", code); } catch (e) { diff --git a/jsrender.js b/jsrender.js index 1926752..81ddfa9 100644 --- a/jsrender.js +++ b/jsrender.js @@ -1,4 +1,4 @@ -/*! JsRender v0.9.88 (Beta): http://jsviews.com/#jsrender */ +/*! JsRender v0.9.89 (Beta): http://jsviews.com/#jsrender */ /*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */ /* * Best-of-breed templating in browser or on Node.js. @@ -44,7 +44,7 @@ var setGlobals = $ === false; // Only set globals if script block in browser (no $ = $ && $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery. -var versionNumber = "v0.9.88", +var versionNumber = "v0.9.89", jsvStoreName, rTag, rTmplString, topView, $views, $expando, _ocp = "_ocp", // Observable contextual parameter @@ -138,7 +138,6 @@ var versionNumber = "v0.9.88", _tag: renderTag, _er: error, _err: onRenderError, - _html: htmlEncode, _cp: retVal, // Get observable contextual parameters (or properties) ~foo=expr. In JsRender, simply returns val. _sq: function(token) { if (token === "constructor") { @@ -366,8 +365,10 @@ function contextParameter(key, value, isContextCb) { if (!res || !res._cxp) { // Not a contextual parameter if (store !== $helpers) { - // Set storeView to tag (if this is a tag.ctxPrm() call) or to root view (view under top view) - storeView = storeView.ctx && storeView.ctx.tag || storeView.root; + // Set storeView to tag (if this is a tag.ctxPrm() call) or to root view ("data" view of linked template) + storeView = storeView.views // Is a view, not a tag? + ? (storeView = storeView.scope || storeView, !storeView.isTop && storeView.ctx.tag || storeView) + : storeView.ctx.tag; store = storeView._ocps; res = store && store[key] || res; } @@ -419,7 +420,7 @@ function getTemplate(tmpl) { function convertVal(converter, view, tagCtx, onError) { // self is template object or linkCtx object - var tag, value, + var tag, value, argsLen, bindTo, // If tagCtx is an integer, then it is the key for the compiled function to return the boundTag tagCtx boundTag = typeof tagCtx === "number" && view.tmpl.bnds[tagCtx-1], linkCtx = view.linkCtx; // For data-link="{cvt:...}"... @@ -440,15 +441,22 @@ function convertVal(converter, view, tagCtx, onError) { if (!tag) { tag = $extend(new $sub._tg(), { _: { - inline: !linkCtx, bnd: boundTag, unlinked: true }, + inline: !linkCtx, tagName: ":", cvt: converter, flow: true, tagCtx: tagCtx }); + argsLen = tagCtx.args.length; + if (argsLen>1) { + bindTo = tag.bindTo = []; + while (argsLen--) { + bindTo.unshift(argsLen); // Bind to all the arguments - generate bindTo array: [0,1,2...] + } + } if (linkCtx) { linkCtx.tag = tag; tag.linkCtx = linkCtx; @@ -510,16 +518,20 @@ function convertArgs(converter, bound, tagElse) { // tag.cvtArgs() if (converter) { bindTo = bindTo || [0]; - converter = converter.apply(tag, boundArgs || args); l = bindTo.length; - converter = l < 2 ? [converter] : converter || []; + converter = converter.apply(tag, boundArgs || args); + if (!$isArray(converter) || converter.length !== l) { + converter = [converter]; + bindTo = [0]; + l = 1; + } if (bound) { // Call to bndArgs convertBoundArgs() - so apply converter to all boundArgs args = converter; // The array of values returned from the converter } else { // Call to cvtArgs() while (l--) { key = bindTo[l]; if (+key === key) { - args[key] = converter ? converter[l] : undefined; + args[key] = converter[l]; } } } @@ -586,14 +598,14 @@ function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { l = tagCtxs.length; for (; i < l; i++) { tagCtx = tagCtxs[i]; - if (!linkCtx || !linkCtx.tag || i && !linkCtx.tag._.inline || tag._er) { + content = tagCtx.tmpl; + if (!linkCtx || !linkCtx.tag || i && !linkCtx.tag.inline || tag._er || content && +content===content) { // Initialize tagCtx // For block tags, tagCtx.tmpl is an integer > 0 - if (content = parentTmpl.tmpls && tagCtx.tmpl) { - content = tagCtx.content = parentTmpl.tmpls[content - 1]; + if (content && parentTmpl.tmpls) { + tagCtx.tmpl = tagCtx.content = parentTmpl.tmpls[content - 1]; // Set the tmpl property to the content of the block tag } tagCtx.index = i; - tagCtx.tmpl = content; // Set the tmpl property to the content of the block tag tagCtx.render = renderContent; tagCtx.view = parentView; tagCtx.ctx = extendCtx(tagCtx.ctx, ctx); // Clone and extend parentView.ctx @@ -616,7 +628,7 @@ function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { tagDataMap = tag.dataMap; if (linkCtx) { - tag._.inline = false; + tag.inline = false; linkCtx.tag = tag; tag.linkCtx = linkCtx; } @@ -700,9 +712,9 @@ function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { if (parentView.linked && itemRet && !rWrappedInViewMarker.test(itemRet)) { // When a tag renders content from the render method, with data linking then we need to wrap with view markers, if absent, // to provide a contentView for the tag, which will correctly dispose bindings if deleted. The 'tmpl' for this view will - // be a dumbed down template which will always return the itemRet string (no matter what the data is). The itemRet string + // be a dumbed-down template which will always return the itemRet string (no matter what the data is). The itemRet string // is not compiled as template markup, so can include "{{" or "}}" without triggering syntax errors - tmpl = { // 'Dumbed down' template which always renders 'static' itemRet string + tmpl = { // 'Dumbed-down' template which always renders 'static' itemRet string links: [] }; tmpl.render = tmpl.fn = function() { @@ -730,7 +742,7 @@ function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { tag.ctx = tag.tagCtx.ctx; if (tag._.noVws) { - if (tag._.inline) { + if (tag.inline) { // inline tag with attr set to "text" will insert HTML-encoded content - as if it was element-based innerText ret = attr === "text" ? $converters.html(ret) @@ -752,28 +764,29 @@ function View(context, type, parentView, data, template, key, onRender, contentT var views, parentView_, tag, self_, self = this, isArray = type === "array"; + // If the data is an array, this is an 'array view' with a views array for each child 'item view' + // If the data is not an array, this is an 'item view' with a views 'hash' object for any child nested views self.content = contentTmpl; self.views = isArray ? [] : {}; - self.parent = parentView; - self.type = type || "top"; - self.root = parentView && parentView.root || type && self; // view whose parent is top view self.data = data; self.tmpl = template; - // If the data is an array, this is an 'array view' with a views array for each child 'item view' - // If the data is not an array, this is an 'item view' with a views 'hash' object for any child nested views - // ._.useKey is non zero if is not an 'array view' (owning a data array). Use this as next key for adding to child views hash self_ = self._ = { key: 0, + // ._.useKey is non zero if is not an 'array view' (owning a data array). Use this as next key for adding to child views hash useKey: isArray ? 0 : 1, id: "" + viewId++, onRender: onRender, bnds: {} }; self.linked = !!onRender; - if (parentView) { + self.type = type || "top"; + if (self.parent = parentView) { + self.root = parentView.root || self; // view whose parent is top view views = parentView.views; parentView_ = parentView._; + self.isTop = parentView_.scp; // Is top content view of a link("#container", ...) call + self.scope = (!context.tag || context.tag === parentView.ctx.tag) && !self.isTop && parentView.scope || self; if (parentView_.useKey) { // Parent is not an 'array view'. Add this view to its views object // self._key = is the key in the parent view hash @@ -830,10 +843,9 @@ function compileTag(name, tagDef, parentTmpl) { function Tag() { var tag = this; tag._ = { - inline: true, unlinked: true }; - + tag.inline = true; tag.tagName = name; } @@ -980,6 +992,7 @@ function compileTmpl(name, tmpl, parentTmpl, options) { var elem, compiledTmpl, tmplOrMarkup = tmpl = tmpl || ""; + $sub._html = $converters.html; //==== Compile the template ==== if (options === 0) { @@ -2093,7 +2106,7 @@ function buildCode(ast, tmpl, isLinkExpr) { converter = node[1]; content = !isLinkExpr && node[2]; tagCtx = paramStructure(node[3], 'params') + '},' + paramStructure(params = node[4]); - onError = node[5]; + onError = node[5] || $subSettings.debugMode !== false && "undefined"; // If debugMode not false, set default onError handler on tag to "undefined" (see onRenderError) trigger = node[6]; lateRender = node[7]; markup = node[9] && node[9].replace(rUnescapeQuotes, "$1"); @@ -2220,10 +2233,6 @@ function buildCode(ast, tmpl, isLinkExpr) { + code + (isLinkExpr ? "\n" : ";\nreturn ret;"); - if ($subSettings.debugMode !== false) { - code = "try {\n" + code + "\n}catch(e){\nreturn j._err(e, view);\n}"; - } - try { code = new Function("data,view,j,u", code); } catch (e) { diff --git a/jsrender.min.js b/jsrender.min.js index 8611530..14dae64 100644 --- a/jsrender.min.js +++ b/jsrender.min.js @@ -1,4 +1,4 @@ -/*! JsRender v0.9.88 (Beta): http://jsviews.com/#jsrender */ +/*! JsRender v0.9.89 (Beta): http://jsviews.com/#jsrender */ /*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */ -!function(e,t){var n=t.jQuery;"object"==typeof exports?module.exports=n?e(t,n):function(n){if(n&&!n.fn)throw"Provide jQuery or null";return e(t,n)}:"function"==typeof define&&define.amd?define(function(){return e(t)}):e(t,!1)}(function(e,t){"use strict";function n(e,t){return function(){var n,r=this,i=r.base;return r.base=e,n=t.apply(r,arguments),r.base=i,n}}function r(e,t){return ne(t)&&(t=n(e?e._d?e:n(a,e):a,t),t._d=1),t}function i(e,t){for(var n in t.props)!Ee.test(n)||e[n]&&e[n].fix||(e[n]=r(e.constructor.prototype[n],t.props[n]))}function o(e){return e}function a(){return""}function s(e){try{throw console.log("JsRender dbg breakpoint: "+e),"dbg breakpoint"}catch(t){}return this.base?this.baseApply(arguments):e}function d(e){this.name=(t.link?"JsViews":"JsRender")+" Error",this.message=e||this.name}function l(e,t){if(e){for(var n in t)e[n]=t[n];return e}}function u(e,t,n){return e?re(e)?u.apply(ee,e):(le.delimiters=[e,t,he=n?n.charAt(0):he],pe=e.charAt(0),fe=e.charAt(1),ge=t.charAt(0),ve=t.charAt(1),e="\\"+pe+"(\\"+he+")?\\"+fe,t="\\"+ge+"\\"+ve,X="(?:(\\w+(?=[\\/\\s\\"+ge+"]))|(\\w+)?(:)|(>)|(\\*))\\s*((?:[^\\"+ge+"]|\\"+ge+"(?!\\"+ve+"))*?)",de.rTag="(?:"+X+")",X=new RegExp("(?:"+e+X+"(\\/)?|\\"+pe+"(\\"+he+")?\\"+fe+"(?:(?:\\/(\\w+))\\s*|!--[\\s\\S]*?--))"+t,"g"),de.rTmpl=new RegExp("^\\s|\\s$|<.*>|([^\\\\]|^)[{}]|"+e+".*"+t),ce):le.delimiters}function c(e,t){t||e===!0||(t=e,e=void 0);var n,r,i,o,a=this,s=!t||"root"===t;if(e){if(o=t&&a.type===t&&a,!o)if(n=a.views,a._.useKey){for(r in n)if(o=t?n[r].get(e,t):n[r])break}else for(r=0,i=n.length;!o&&r0&&(a=n)){if(!a)if(/^\.\/[^\\:*?"<>]*$/.test(n))(s=ie[e=e||n])?n=s:a=document.getElementById(n);else if(t.fn&&!de.rTmpl.test(n))try{a=t(n,document)[0]}catch(d){}a&&(i?n=a.innerHTML:(o=a.getAttribute(Oe),o&&(o!==Ue?(n=ie[o],delete ie[o]):t.fn&&(n=t.data(a)[Ue])),o&&n||(e=e||(t.fn?Ue:n),n=T(e,a.innerHTML,r,i)),n.tmplName=e=e||o,e!==Ue&&(ie[e]=n),a.setAttribute(Oe,e),t.fn&&t.data(a,Ue,n))),a=void 0}else n.fn||(n=void 0);return n}var a,s,d=n=n||"";if(0===i&&(i=void 0,d=o(d)),i=i||(n.markup?n:{}),i.tmplName=e,r&&(i._parentTmpl=r),!d&&n.markup&&(d=o(n.markup))&&d.fn&&(d=d.markup),void 0!==d)return d.fn||n.fn?d.fn&&(s=d):(n=$(d,i),U(d.replace(je,"\\$&"),n)),s||(s=l(function(){return s.render.apply(s,arguments)},n),k(s)),s}function A(e,t){return ne(e)?e.call(t):e}function V(e){for(var t=[],n=0,r=e.length;nS-(I||0))){if(I=F.slice(I,S+r.length),q!==!0)if(J=o||c[g-1].bd,K=J[J.length-1],K&&K.prm){for(;K.sb&&K.sb.prm;)K=K.sb;B=K.sb={path:K.sb,bnd:K.bnd}}else J.push(B={path:J.pop()});E=fe+":"+I+" onerror=''"+ge,q=f[E],q||(f[E]=!0,f[E]=q=U(E,n,!0)),q!==!0&&B&&(B._cpfn=q,B.prm=u.bd,B.bnd=B.bnd||B.path&&B.path.indexOf("^")>=0)}return d?(d=!V,d?r:A+'"'):s?(s=!R,s?r:A+'"'):(w?(h[g]=S++,u=c[++g]={bd:[]},w):"")+(N?g?"":(p=F.slice(p,S),(i?(i=a=o=!1,"\b"):"\b,")+p+(p=S+r.length,l&&t.push(u.bd=[]),"\b")):k?(g&&O(e),l&&t.pop(),i=_,a=x,p=S+r.length,l&&(l=u.bd=t[i]=[],l.skp=!x),_+":"):_?_.split("^").join(".").replace(be,P)+(j?(u=c[++g]={bd:[]},v[g]=L,j):b):b?b:$?($=v[g]||$,v[g]=!1,u=c[--g],$+(j?(u=c[++g],v[g]=L,j):"")):T?(v[g]||O(e),","):m?"":(d=V,s=R,'"'))}O(e)}var i,o,a,s,d,l=t&&t[0],u={bd:l},c={0:u},p=0,f=(n?n.links:l&&(l.links=l.links||{}))||Y.tmpl.links,g=0,v={},h={},m=(e+(n?" ":"")).replace(ye,r);return!g&&m||O(e)}function L(e,t,n){var r,i,o,a,s,d,l,u,c,p,f,g,v,h,m,w,x,_,b,y,k,C,j,T,A,V,R,E,M,N,S,F=0,P=ue.useViews||t.useViews||t.tags||t.templates||t.helpers||t.converters,I="",U={},J=e.length;for(""+t===t?(_=n?'data-link="'+t.replace(ke," ").slice(1,-1)+'"':t,t=0):(_=t.tmplName||"unnamed",t.allowCode&&(U.allowCode=!0),t.debug&&(U.debug=!0),f=t.bnds,x=t.tmpls),r=0;r":a+o):(k&&(b=$(C,U),b.tmplName=_+"/"+o,b.useViews=b.useViews||P,L(k,b),P=b.useViews,x.push(b)),A||(y=o,P=P||o&&(!se[o]||!se[o].flow),T=I,I=""),j=e[r+1],j=j&&"else"===j[0]),M=E?";\ntry{\nret+=":"\n+",h="",m="",V&&(g||N||a&&a!==Pe||S)){if(R=new Function("data,view,j,u","// "+_+" "+ ++F+" "+o+"\nreturn {"+s+"};"),R._er=E,R._tag=o,R._bd=!!g,R._lr=S,n)return R;q(R,g),w='c("'+a+'",view,',p=!0,h=w+F+",",m=")"}if(I+=V?(n?(E?"try{\n":"")+"return ":M)+(p?(p=void 0,P=c=!0,w+(R?(f[F-1]=R,F):"{"+s+"}")+")"):">"===o?(l=!0,"h("+v[0]+")"):(u=!0,"((v="+v[0]+")!=null?v:"+(n?"null)":'"")'))):(d=!0,"\n{view:view,tmpl:"+(k?x.length:"0")+","+s+"},"),y&&!j){if(I="["+I.slice(0,-1)+"]",w='t("'+y+'",view,this,',n||g){if(I=new Function("data,view,j,u"," // "+_+" "+F+" "+y+"\nreturn "+I+";"),I._er=E,I._tag=y,g&&q(f[F-1]=I,g),I._lr=S,n)return I;h=w+F+",undefined,",m=")"}I=T+M+w+(I.deps&&F||I)+")",g=0,y=0}E&&(P=!0,I+=";\n}catch(e){ret"+(n?"urn ":"+=")+h+"j._err(e,view,"+E+")"+m+";}"+(n?"":"ret=ret"))}I="// "+_+"\nvar v"+(d?",t=j._tag":"")+(c?",c=j._cnvt":"")+(l?",h=j._html":"")+(n?";\n":',ret=""\n')+(U.debug?"debugger;":"")+I+(n?"\n":";\nreturn ret;"),le.debugMode!==!1&&(I="try {\n"+I+"\n}catch(e){\nreturn j._err(e, view);\n}");try{I=new Function("data,view,j,u",I)}catch(B){O("Compiled template code:\n\n"+I+'\n: "'+(B.message||B)+'"')}return t&&(t.fn=I,t.useViews=!!P),I}function Q(e,t){return e&&e!==t?t?l(l({},t),e):e:t&&l({},t)}function H(e){return Fe[e]||(Fe[e]="&#"+e.charCodeAt(0)+";")}function D(e){var t,n,r=[];if(typeof e===Ie)for(t in e)n=e[t],t!==te&&e.hasOwnProperty(t)&&!ne(n)&&r.push({key:t,prop:n});return r}function Z(e,n,r){var i=this.jquery&&(this[0]||I("Unknown template")),o=i.getAttribute(Oe);return S.call(o&&t.data(i)[Ue]||ie(i),e,n,r)}function z(e){return void 0!=e?$e.test(e)&&(""+e).replace(Ne,H)||e:""}var G=t===!1;t=t&&t.fn?t:e.jQuery;var W,X,Y,ee,te,ne,re,ie,oe,ae,se,de,le,ue,ce,pe,fe,ge,ve,he,me,we,xe="v0.9.88",_e="_ocp",be=/^(!*?)(?:null|true|false|\d[\d.]*|([\w$]+|\.|~([\w$]+)|#(view|([\w$]+))?)([\w$.^]*?)(?:[.[^]([\w$]+)\]?)?)$/g,ye=/(\()(?=\s*\()|(?:([([])\s*)?(?:(\^?)(!*?[#~]?[\w$.^]+)?\s*((\+\+|--)|\+|-|&&|\|\||===|!==|==|!=|<=|>=|[<>%*:?\/]|(=))\s*|(!*?[#~]?[\w$.^]+)([([])?)|(,\s*)|(\(?)\\?(?:(')|("))|(?:\s*(([)\]])(?=\s*[.^]|\s*$|[^([])|[)\]])([([]?))|(\s+)/g,ke=/[ \t]*(\r\n|\n|\r)/g,Ce=/\\(['"])/g,je=/['"\\]/g,Te=/(?:\x08|^)(onerror:)?(?:(~?)(([\w$_\.]+):)?([^\x08]+))\x08(,)?([^\x08]+)/gi,Ae=/^if\s/,Ve=/<(\w+)[>\s]/,Re=/[\x00`><"'&=]/g,$e=/[\x00`><\"'&=]/,Ee=/^on[A-Z]|^convert(Back)?$/,Me=/^\#\d+_`[\s\S]*\/\d+_`$/,Ne=Re,Se=0,Fe={"&":"&","<":"<",">":">","\0":"�","'":"'",'"':""","`":"`","=":"="},Pe="html",Ie="object",Oe="data-jsv-tmpl",Ue="jsvTmpl",qe="For #index in nested block use #getIndex().",Je={},Ke=e.jsrender,Be=Ke&&t&&!t.render,Le={template:{compile:T},tag:{compile:C},viewModel:{compile:R},helper:{},converter:{}};if(ee={jsviews:xe,sub:{View:y,Err:d,tmplFn:U,parse:B,extend:l,extendCtx:Q,syntaxErr:O,onStore:{template:function(e,t){null===t?delete Je[e]:Je[e]=t}},addSetting:M,settings:{allowCode:!1},advSet:a,_ths:i,_gm:r,_tg:function(){},_cnvt:h,_tag:b,_er:I,_err:P,_html:z,_cp:o,_sq:function(e){return"constructor"===e&&O(""),e}},settings:{delimiters:u,advanced:function(e){return e?(l(ue,e),de.advSet(),ce):ue}},map:N},(d.prototype=new Error).constructor=d,p.depends=function(){return[this.get("item"),"index"]},f.depends="index",y.prototype={get:c,getIndex:f,getRsc:_,getTmpl:v,ctxPrm:g,_is:"view"},de=ee.sub,ce=ee.settings,!(Ke||t&&t.render)){for(W in Le)E(W,Le[W]);oe=ee.converters,ae=ee.helpers,se=ee.tags,de._tg.prototype={baseApply:j,cvtArgs:m,bndArgs:x,ctxPrm:g},Y=de.topView=new y,t?(t.fn.render=Z,te=t.expando,t.observable&&(l(de,t.views.sub),ee.map=t.views.map)):(t={},G&&(e.jsrender=t),t.renderFile=t.__express=t.compile=function(){throw"Node.js: use npm jsrender, or jsrender-node.js"},t.isFunction=function(e){return"function"==typeof e},t.isArray=Array.isArray||function(e){return"[object Array]"==={}.toString.call(e)},de._jq=function(e){e!==t&&(l(e,t),t=e,t.fn.render=Z,delete t.jsrender,te=t.expando)},t.jsrender=xe),le=de.settings,le.allowCode=!1,ne=t.isFunction,t.render=Je,t.views=ee,t.templates=ie=ee.templates;for(me in le)M(me);(ce.debugMode=function(e){return void 0===e?le.debugMode:(le.debugMode=e,le.onError=e+""===e?new Function("","return '"+e+"';"):ne(e)?e:void 0,ce)})(!1),ue=le.advanced={useViews:!1,_jsv:!1},se({"if":{render:function(e){var t=this,n=t.tagCtx,r=t.rendering.done||!e&&(arguments.length||!n.index)?"":(t.rendering.done=!0,t.selected=n.index,n.render(n.view,!0));return r},flow:!0},"for":{render:function(e){var t,n=!arguments.length,r=this,i=r.tagCtx,o="",a=0;return r.rendering.done||(t=n?i.view.data:e,void 0!==t&&(o+=i.render(t,n),a+=re(t)?t.length:1),(r.rendering.done=a)&&(r.selected=i.index)),o},flow:!0},props:{baseTag:"for",dataMap:N(D),flow:!0},include:{flow:!0},"*":{render:o,flow:!0},":*":{render:o,flow:!0},dbg:ae.dbg=oe.dbg=s}),oe({html:z,attr:z,url:function(e){return void 0!=e?encodeURI(""+e):null===e?e:""}})}return le=de.settings,re=(t||Ke).isArray,ce.delimiters("{{","}}","^"),Be&&Ke.views.sub._jq(t),t||Ke},window); +!function(e,t){var n=t.jQuery;"object"==typeof exports?module.exports=n?e(t,n):function(n){if(n&&!n.fn)throw"Provide jQuery or null";return e(t,n)}:"function"==typeof define&&define.amd?define(function(){return e(t)}):e(t,!1)}(function(e,t){"use strict";function n(e,t){return function(){var n,r=this,i=r.base;return r.base=e,n=t.apply(r,arguments),r.base=i,n}}function r(e,t){return ne(t)&&(t=n(e?e._d?e:n(a,e):a,t),t._d=1),t}function i(e,t){for(var n in t.props)!Ee.test(n)||e[n]&&e[n].fix||(e[n]=r(e.constructor.prototype[n],t.props[n]))}function o(e){return e}function a(){return""}function s(e){try{throw console.log("JsRender dbg breakpoint: "+e),"dbg breakpoint"}catch(t){}return this.base?this.baseApply(arguments):e}function d(e){this.name=(t.link?"JsViews":"JsRender")+" Error",this.message=e||this.name}function l(e,t){if(e){for(var n in t)e[n]=t[n];return e}}function u(e,t,n){return e?re(e)?u.apply(ee,e):(le.delimiters=[e,t,he=n?n.charAt(0):he],ce=e.charAt(0),fe=e.charAt(1),ge=t.charAt(0),ve=t.charAt(1),e="\\"+ce+"(\\"+he+")?\\"+fe,t="\\"+ge+"\\"+ve,X="(?:(\\w+(?=[\\/\\s\\"+ge+"]))|(\\w+)?(:)|(>)|(\\*))\\s*((?:[^\\"+ge+"]|\\"+ge+"(?!\\"+ve+"))*?)",de.rTag="(?:"+X+")",X=new RegExp("(?:"+e+X+"(\\/)?|\\"+ce+"(\\"+he+")?\\"+fe+"(?:(?:\\/(\\w+))\\s*|!--[\\s\\S]*?--))"+t,"g"),de.rTmpl=new RegExp("^\\s|\\s$|<.*>|([^\\\\]|^)[{}]|"+e+".*"+t),pe):le.delimiters}function p(e,t){t||e===!0||(t=e,e=void 0);var n,r,i,o,a=this,s=!t||"root"===t;if(e){if(o=t&&a.type===t&&a,!o)if(n=a.views,a._.useKey){for(r in n)if(o=t?n[r].get(e,t):n[r])break}else for(r=0,i=n.length;!o&&r1)for(d=o.bindTo=[];s--;)d.unshift(s);p&&(p.tag=o,o.linkCtx=p),n.ctx=Q(n.ctx,(p?p.view:t).ctx),i(o,n)}o._er=r&&a,o.ctx=n.ctx||o.ctx||{},n.ctx=void 0,a=o.cvtArgs("true"!==e&&e)[0]}return a=u&&t._.onRender?t._.onRender(a,t,o):a,void 0!=a?a:""}function m(e,t,n){var r,i,o,a,s,d,l=this;if(l.tagName?(d=l,l=d.tagCtxs?d.tagCtxs[n||0]:d.tagCtx):(d=l.tag,n=l.index),s=d.bindTo,a=l.args,e=e||d.convert,""+e===e&&(e=l.view.getRsc("converters",e)||I("Unknown converter: '"+e+"'")),a.length||d.argDefault===!1||l.index?e&&!t&&(a=a.slice()):a=[l.view.data],s){for(o=[],r=s.length;r--;)i=s[r],o.unshift(w(l,i));t&&(a=o)}if(e)if(s=s||[0],r=s.length,e=e.apply(d,o||a),re(e)&&e.length===r||(e=[e],s=[0],r=1),t)a=e;else for(;r--;)i=s[r],+i===i&&(a[i]=e[r]);return a}function w(e,t){return e=e[+t===t?"args":"props"],e&&e[t]}function x(e){return this.cvtArgs(void 0,!0,e)}function _(e,t){for(var n,r,i=this;void 0===n&&i;)r=i.tmpl&&i.tmpl[e],n=r&&r[t],i=i.parent;return n||ee[e][t]}function b(e,t,n,r,o,a){t=t||Y;var s,d,l,u,p,c,f,g,v,h,m,x,_,b,y,k,C,T,j,A,V,R,$=0,E="",M=t.linkCtx||0,N=t.ctx,P=n||t.tmpl,O="number"==typeof r&&t.tmpl.bnds[r-1];for("tag"===e._is?(s=e,e=s.tagName,r=s.tagCtxs,l=s.template):(d=t.getRsc("tags",e)||I("Unknown tag: {{"+e+"}} "),l=d.template),void 0===a&&O&&O._lr&&(a=""),void 0!==a?(E+=a,r=a=[{props:{},args:[]}]):O&&(r=O(t.data,t,de)),f=r.length;$0&&(a=n)){if(!a)if(/^\.\/[^\\:*?"<>]*$/.test(n))(s=ie[e=e||n])?n=s:a=document.getElementById(n);else if(t.fn&&!de.rTmpl.test(n))try{a=t(n,document)[0]}catch(d){}a&&(i?n=a.innerHTML:(o=a.getAttribute(Oe),o&&(o!==Ue?(n=ie[o],delete ie[o]):t.fn&&(n=t.data(a)[Ue])),o&&n||(e=e||(t.fn?Ue:n),n=j(e,a.innerHTML,r,i)),n.tmplName=e=e||o,e!==Ue&&(ie[e]=n),a.setAttribute(Oe,e),t.fn&&t.data(a,Ue,n))),a=void 0}else n.fn||(n=void 0);return n}var a,s,d=n=n||"";if(de._html=oe.html,0===i&&(i=void 0,d=o(d)),i=i||(n.markup?n:{}),i.tmplName=e,r&&(i._parentTmpl=r),!d&&n.markup&&(d=o(n.markup))&&d.fn&&(d=d.markup),void 0!==d)return d.fn||n.fn?d.fn&&(s=d):(n=$(d,i),U(d.replace(Te,"\\$&"),n)),s||(s=l(function(){return s.render.apply(s,arguments)},n),k(s)),s}function A(e,t){return ne(e)?e.call(t):e}function V(e){for(var t=[],n=0,r=e.length;nS-(I||0))){if(I=F.slice(I,S+r.length),q!==!0)if(J=o||p[g-1].bd,K=J[J.length-1],K&&K.prm){for(;K.sb&&K.sb.prm;)K=K.sb;B=K.sb={path:K.sb,bnd:K.bnd}}else J.push(B={path:J.pop()});E=fe+":"+I+" onerror=''"+ge,q=f[E],q||(f[E]=!0,f[E]=q=U(E,n,!0)),q!==!0&&B&&(B._cpfn=q,B.prm=u.bd,B.bnd=B.bnd||B.path&&B.path.indexOf("^")>=0)}return d?(d=!V,d?r:A+'"'):s?(s=!R,s?r:A+'"'):(w?(h[g]=S++,u=p[++g]={bd:[]},w):"")+(N?g?"":(c=F.slice(c,S),(i?(i=a=o=!1,"\b"):"\b,")+c+(c=S+r.length,l&&t.push(u.bd=[]),"\b")):k?(g&&O(e),l&&t.pop(),i=_,a=x,c=S+r.length,l&&(l=u.bd=t[i]=[],l.skp=!x),_+":"):_?_.split("^").join(".").replace(be,P)+(T?(u=p[++g]={bd:[]},v[g]=L,T):b):b?b:$?($=v[g]||$,v[g]=!1,u=p[--g],$+(T?(u=p[++g],v[g]=L,T):"")):j?(v[g]||O(e),","):m?"":(d=V,s=R,'"'))}O(e)}var i,o,a,s,d,l=t&&t[0],u={bd:l},p={0:u},c=0,f=(n?n.links:l&&(l.links=l.links||{}))||Y.tmpl.links,g=0,v={},h={},m=(e+(n?" ":"")).replace(ye,r);return!g&&m||O(e)}function L(e,t,n){var r,i,o,a,s,d,l,u,p,c,f,g,v,h,m,w,x,_,b,y,k,C,T,j,A,V,R,E,M,N,S,F=0,P=ue.useViews||t.useViews||t.tags||t.templates||t.helpers||t.converters,I="",U={},J=e.length;for(""+t===t?(_=n?'data-link="'+t.replace(ke," ").slice(1,-1)+'"':t,t=0):(_=t.tmplName||"unnamed",t.allowCode&&(U.allowCode=!0),t.debug&&(U.debug=!0),f=t.bnds,x=t.tmpls),r=0;r":a+o):(k&&(b=$(C,U),b.tmplName=_+"/"+o,b.useViews=b.useViews||P,L(k,b),P=b.useViews,x.push(b)),A||(y=o,P=P||o&&(!se[o]||!se[o].flow),j=I,I=""),T=e[r+1],T=T&&"else"===T[0]),M=E?";\ntry{\nret+=":"\n+",h="",m="",V&&(g||N||a&&a!==Pe||S)){if(R=new Function("data,view,j,u","// "+_+" "+ ++F+" "+o+"\nreturn {"+s+"};"),R._er=E,R._tag=o,R._bd=!!g,R._lr=S,n)return R;q(R,g),w='c("'+a+'",view,',c=!0,h=w+F+",",m=")"}if(I+=V?(n?(E?"try{\n":"")+"return ":M)+(c?(c=void 0,P=p=!0,w+(R?(f[F-1]=R,F):"{"+s+"}")+")"):">"===o?(l=!0,"h("+v[0]+")"):(u=!0,"((v="+v[0]+")!=null?v:"+(n?"null)":'"")'))):(d=!0,"\n{view:view,tmpl:"+(k?x.length:"0")+","+s+"},"),y&&!T){if(I="["+I.slice(0,-1)+"]",w='t("'+y+'",view,this,',n||g){if(I=new Function("data,view,j,u"," // "+_+" "+F+" "+y+"\nreturn "+I+";"),I._er=E,I._tag=y,g&&q(f[F-1]=I,g),I._lr=S,n)return I;h=w+F+",undefined,",m=")"}I=j+M+w+(I.deps&&F||I)+")",g=0,y=0}E&&(P=!0,I+=";\n}catch(e){ret"+(n?"urn ":"+=")+h+"j._err(e,view,"+E+")"+m+";}"+(n?"":"ret=ret"))}I="// "+_+"\nvar v"+(d?",t=j._tag":"")+(p?",c=j._cnvt":"")+(l?",h=j._html":"")+(n?";\n":',ret=""\n')+(U.debug?"debugger;":"")+I+(n?"\n":";\nreturn ret;");try{I=new Function("data,view,j,u",I)}catch(B){O("Compiled template code:\n\n"+I+'\n: "'+(B.message||B)+'"')}return t&&(t.fn=I,t.useViews=!!P),I}function Q(e,t){return e&&e!==t?t?l(l({},t),e):e:t&&l({},t)}function H(e){return Fe[e]||(Fe[e]="&#"+e.charCodeAt(0)+";")}function D(e){var t,n,r=[];if(typeof e===Ie)for(t in e)n=e[t],t!==te&&e.hasOwnProperty(t)&&!ne(n)&&r.push({key:t,prop:n});return r}function Z(e,n,r){var i=this.jquery&&(this[0]||I("Unknown template")),o=i.getAttribute(Oe);return S.call(o&&t.data(i)[Ue]||ie(i),e,n,r)}function z(e){return void 0!=e?$e.test(e)&&(""+e).replace(Ne,H)||e:""}var G=t===!1;t=t&&t.fn?t:e.jQuery;var W,X,Y,ee,te,ne,re,ie,oe,ae,se,de,le,ue,pe,ce,fe,ge,ve,he,me,we,xe="v0.9.89",_e="_ocp",be=/^(!*?)(?:null|true|false|\d[\d.]*|([\w$]+|\.|~([\w$]+)|#(view|([\w$]+))?)([\w$.^]*?)(?:[.[^]([\w$]+)\]?)?)$/g,ye=/(\()(?=\s*\()|(?:([([])\s*)?(?:(\^?)(!*?[#~]?[\w$.^]+)?\s*((\+\+|--)|\+|-|&&|\|\||===|!==|==|!=|<=|>=|[<>%*:?\/]|(=))\s*|(!*?[#~]?[\w$.^]+)([([])?)|(,\s*)|(\(?)\\?(?:(')|("))|(?:\s*(([)\]])(?=\s*[.^]|\s*$|[^([])|[)\]])([([]?))|(\s+)/g,ke=/[ \t]*(\r\n|\n|\r)/g,Ce=/\\(['"])/g,Te=/['"\\]/g,je=/(?:\x08|^)(onerror:)?(?:(~?)(([\w$_\.]+):)?([^\x08]+))\x08(,)?([^\x08]+)/gi,Ae=/^if\s/,Ve=/<(\w+)[>\s]/,Re=/[\x00`><"'&=]/g,$e=/[\x00`><\"'&=]/,Ee=/^on[A-Z]|^convert(Back)?$/,Me=/^\#\d+_`[\s\S]*\/\d+_`$/,Ne=Re,Se=0,Fe={"&":"&","<":"<",">":">","\0":"�","'":"'",'"':""","`":"`","=":"="},Pe="html",Ie="object",Oe="data-jsv-tmpl",Ue="jsvTmpl",qe="For #index in nested block use #getIndex().",Je={},Ke=e.jsrender,Be=Ke&&t&&!t.render,Le={template:{compile:j},tag:{compile:C},viewModel:{compile:R},helper:{},converter:{}};if(ee={jsviews:xe,sub:{View:y,Err:d,tmplFn:U,parse:B,extend:l,extendCtx:Q,syntaxErr:O,onStore:{template:function(e,t){null===t?delete Je[e]:Je[e]=t}},addSetting:M,settings:{allowCode:!1},advSet:a,_ths:i,_gm:r,_tg:function(){},_cnvt:h,_tag:b,_er:I,_err:P,_cp:o,_sq:function(e){return"constructor"===e&&O(""),e}},settings:{delimiters:u,advanced:function(e){return e?(l(ue,e),de.advSet(),pe):ue}},map:N},(d.prototype=new Error).constructor=d,c.depends=function(){return[this.get("item"),"index"]},f.depends="index",y.prototype={get:p,getIndex:f,getRsc:_,getTmpl:v,ctxPrm:g,_is:"view"},de=ee.sub,pe=ee.settings,!(Ke||t&&t.render)){for(W in Le)E(W,Le[W]);oe=ee.converters,ae=ee.helpers,se=ee.tags,de._tg.prototype={baseApply:T,cvtArgs:m,bndArgs:x,ctxPrm:g},Y=de.topView=new y,t?(t.fn.render=Z,te=t.expando,t.observable&&(l(de,t.views.sub),ee.map=t.views.map)):(t={},G&&(e.jsrender=t),t.renderFile=t.__express=t.compile=function(){throw"Node.js: use npm jsrender, or jsrender-node.js"},t.isFunction=function(e){return"function"==typeof e},t.isArray=Array.isArray||function(e){return"[object Array]"==={}.toString.call(e)},de._jq=function(e){e!==t&&(l(e,t),t=e,t.fn.render=Z,delete t.jsrender,te=t.expando)},t.jsrender=xe),le=de.settings,le.allowCode=!1,ne=t.isFunction,t.render=Je,t.views=ee,t.templates=ie=ee.templates;for(me in le)M(me);(pe.debugMode=function(e){return void 0===e?le.debugMode:(le.debugMode=e,le.onError=e+""===e?new Function("","return '"+e+"';"):ne(e)?e:void 0,pe)})(!1),ue=le.advanced={useViews:!1,_jsv:!1},se({"if":{render:function(e){var t=this,n=t.tagCtx,r=t.rendering.done||!e&&(arguments.length||!n.index)?"":(t.rendering.done=!0,t.selected=n.index,n.render(n.view,!0));return r},flow:!0},"for":{render:function(e){var t,n=!arguments.length,r=this,i=r.tagCtx,o="",a=0;return r.rendering.done||(t=n?i.view.data:e,void 0!==t&&(o+=i.render(t,n),a+=re(t)?t.length:1),(r.rendering.done=a)&&(r.selected=i.index)),o},flow:!0},props:{baseTag:"for",dataMap:N(D),flow:!0},include:{flow:!0},"*":{render:o,flow:!0},":*":{render:o,flow:!0},dbg:ae.dbg=oe.dbg=s}),oe({html:z,attr:z,url:function(e){return void 0!=e?encodeURI(""+e):null===e?e:""}})}return le=de.settings,re=(t||Ke).isArray,pe.delimiters("{{","}}","^"),Be&&Ke.views.sub._jq(t),t||Ke},window); //# sourceMappingURL=jsrender.min.js.map diff --git a/jsrender.min.js.map b/jsrender.min.js.map index e373610..5e06bdc 100644 --- a/jsrender.min.js.map +++ b/jsrender.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["jsrender.js"],"names":["factory","global","$","jQuery","exports","module","fn","define","amd","getDerivedMethod","baseMethod","method","ret","tag","this","prevBase","base","apply","arguments","getMethod","$isFunction","_d","noop","tagHandlersFromProps","tagCtx","prop","props","rHasHandlers","test","fix","constructor","prototype","retVal","val","dbgBreak","console","log","e","baseApply","JsViewsError","message","name","link","$extend","target","source","$viewsDelimiters","openChars","closeChars","$isArray","$views","$subSettings","delimiters","linkChar","charAt","delimOpenChar0","delimOpenChar1","delimCloseChar0","delimCloseChar1","rTag","$sub","RegExp","rTmpl","$viewsSettings","getView","inner","type","undefined","views","i","l","found","view","root","_","useKey","get","length","parent","getNestedIndex","index","getIndex","contextParameter","key","value","isContextCb","wrapped","deps","res","obsCtxPrm","storeView","isUpdate","isRenderCall","store","ctx","$helpers","it","linked","_cxp","_ocps","_crcp","_ucp","_ceo","_ocp","unshift","cvtArgs","tagElse","ind","data","_vw","getTemplate","tmpl","getRsc","$templates","convertVal","converter","onError","boundTag","bnds","linkCtx","_lr","args","_bd","_tg","inline","bnd","unlinked","tagName","cvt","flow","extendCtx","_er","onRender","convertArgs","bound","boundArgs","bindTo","tagCtxs","convert","error","argDefault","slice","argOrProp","context","convertBoundArgs","getResource","resourceType","itemName","renderTag","parentView","topView","tagDef","template","tags","attr","parentTag","m","itemRet","tagCtxCtx","ctxPrm","content","callInit","mapDef","thisMap","tagDataMap","contentCtx","parentTmpl","_is","tmpls","render","renderContent","getTmpl","_ctr","init","dataMap","arrVws","dataBoundOnly","map","parents","parentTags","rendering","noVws","HTML","linkedCtxParam","_cp","params","src","unmap","tgt","rWrappedInViewMarker","links","renderWithViews","$converters","html","View","contentTmpl","parentView_","self_","self","isArray","id","viewId","indexStr","push","splice","compileChildResources","storeName","storeNames","resources","jsvStores","compileTag","Tag","makeArray","linkedElement","bindToLength","baseTag","compiledDef","depends","isNaN","parseInt","$tags","_parentTmpl","compileTmpl","options","lookupTemplate","currentName","nodeType","elem","document","getElementById","innerHTML","getAttribute","tmplAttr","jsvTmpl","tmplName","setAttribute","compiledTmpl","tmplOrMarkup","markup","tmplObject","tmplFn","replace","rEscapeQuotes","getDefaultVal","defaultVal","call","unmapArray","modelArr","arr","compileViewModel","GetNew","vm","iterate","action","getterType","ob","j","g","getters","getter","viewModels","JSON","parse","merge","viewModel","$expando","getterNames","mod","assigned","newModArr","k","model","$observable","refresh","concat","extend","proto","body","observable","privField","setProperty","set","Function","htmlTag","wrapMap","$subSettingsAdvanced","_wm","rFirstElem","exec","toLowerCase","div","trim","registerStore","storeSettings","theStore","item","compile","thisStore","onStore","OBJECT","getTgt","addSetting","st","Map","baseMap","noIteration","isTopRenderCall","prevData","prevIndex","result","useViews","setItemVar","newCtx","itemVar","newView","childView","itemResult","swapContent","outerOnRender","_wrp","syntaxError","helpers","contentView","onRenderError","fallback","Err","isLinkExpr","convertBack","hasElse","pushprecedingContent","shift","loc","substr","rNewLine","blockTagCheck","block","parseTag","all","bind","colon","codeTag","slash","bind2","closeBlock","late","pathBindings","ctxProps","paramsArgs","paramsProps","paramsCtxProps","useTrigger","allowCode","rUnescapeQuotes","rTestElseIf","current","substring","stack","pop","parseParams","rBuildHash","onerror","isCtx","keyToken","keyValue","arg","param","hasHandlers","newNode","parsedParam","bindings","astTop","buildCode","setPaths","pathsArr","paths","hasOwnProperty","skp","paramStructure","parts","parseTokens","lftPrn0","lftPrn","path","operator","err","eq","path2","prn","comma","lftPrn2","apos","quot","rtPrn","rtPrnDot","prn2","space","full","parsePath","allPath","not","object","helper","viewProperty","pathTokens","leafToken","subPath","binds","named","bindto","_jsvto","bndCtx","bd","theOb","_cpfn","sb","pathStart","parenDepth","expr","exprFn","newOb","rtSq","aposed","quoted","boundName","bndStack","prm","tmplLinks","indexOf","paramIndex","split","join","rPath","fnCall","0","rParams","ast","node","hasTag","hasEncoder","getsVal","hasCnvt","useCnvt","tmplBindings","boundOnErrStart","boundOnErrEnd","tagRender","nestedTmpls","nestedTmpl","tagAndElses","nextIsElse","oldCode","isElse","isGetVal","tagCtxFn","tagStart","trigger","lateRender","tmplBindingKey","templates","converters","code","tmplOptions","debug","_tag","debugMode","parentContext","getCharEntity","ch","charEntities","charCodeAt","getTargetProps","$fnRender","tmplElem","jquery","htmlEncode","text","rIsHtml","rHtmlEncode","setGlobals","jsvStoreName","setting","versionNumber","rAttrEncode","&","<",">","\u0000","'","\"","`","=","$render","jsr","jsrender","jsrToJq","jsviews","sub","syntaxErr","settings","advSet","_ths","_gm","_cnvt","_err","_html","_sq","token","advanced","Error","bndArgs","expando","renderFile","__express","isFunction","Array","obj","_jq","jq","_jsv","if","done","selected","for","finalElse","include","*",":*","dbg","url","encodeURI","window"],"mappings":"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","file":"jsrender.min.js","sourcesContent":["/*! JsRender v0.9.88 (Beta): http://jsviews.com/#jsrender */\n/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */\n/*\n * Best-of-breed templating in browser or on Node.js.\n * Does not require jQuery, or HTML DOM\n * Integrates with JsViews (http://jsviews.com/#jsviews)\n *\n * Copyright 2017, Boris Moore\n * Released under the MIT License.\n */\n\n//jshint -W018, -W041, -W120\n\n(function(factory, global) {\n\t// global var is the this object, which is window when running in the usual browser environment\n\tvar $ = global.jQuery;\n\n\tif (typeof exports === \"object\") { // CommonJS e.g. Browserify\n\t\tmodule.exports = $\n\t\t\t? factory(global, $)\n\t\t\t: function($) { // If no global jQuery, take optional jQuery passed as parameter: require('jsrender')(jQuery)\n\t\t\t\tif ($ && !$.fn) {\n\t\t\t\t\tthrow \"Provide jQuery or null\";\n\t\t\t\t}\n\t\t\t\treturn factory(global, $);\n\t\t\t};\n\t} else if (typeof define === \"function\" && define.amd) { // AMD script loader, e.g. RequireJS\n\t\tdefine(function() {\n\t\t\treturn factory(global);\n\t\t});\n\t} else { // Browser using plain