diff --git a/README.md b/README.md index 74fdeac..8b1481e 100644 --- a/README.md +++ b/README.md @@ -370,7 +370,7 @@ or {{/if}} ``` -

Node.js features

+

Node.js Integration

On Node.js *JsRender* provides built-in ***Express***, ***Hapi*** and ***Browserify*** integration. This makes it easy to register templates as simple `.html` files on the file system, and then load and render them either server-side, client-side or both. diff --git a/jsrender-node.js b/jsrender-node.js index 3ef61a3..e5cd4a1 100644 --- a/jsrender-node.js +++ b/jsrender-node.js @@ -1,4 +1,4 @@ -/*! JsRender v1.0.0-rc.68 (Beta - Release Candidate): http://jsviews.com/#jsrender */ +/*! JsRender v1.0.0-rc.69 (Beta - Release Candidate): 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. @@ -94,6 +94,7 @@ var versionNumber = "v1.0.0-beta", tmplFn: tmplFn, parse: parseParams, extend: $extend, + extendCtx: extendCtx, syntaxErr: syntaxError, onStore: {}, _ths: tagHandlersFromProps, @@ -200,7 +201,7 @@ function $viewsDelimiters(openChars, closeChars, link) { delimCloseChar0 = closeChars ? closeChars.charAt(0) : delimCloseChar0; delimCloseChar1 = closeChars ? closeChars.charAt(1) : delimCloseChar1; linkChar = link || linkChar; - openChars = "\\" + delimOpenChar0 + "(\\" + linkChar + ")?\\" + delimOpenChar1; // Default is "{^{" + openChars = "\\" + delimOpenChar0 + "(\\" + linkChar + ")?\\" + delimOpenChar1; // Default is "{^{" closeChars = "\\" + delimCloseChar0 + "\\" + delimCloseChar1; // Default is "}}" // Build regex with new delimiters // tag (followed by / space or }) or cvtr+colon or html or code @@ -612,7 +613,7 @@ function View(context, type, parentView, data, template, key, contentTmpl, onRen // 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._ = { + self_ = self._ = { key: 0, useKey: isArray ? 0 : 1, id: "" + viewId++, @@ -696,7 +697,7 @@ function compileTag(name, tagDef, parentTmpl) { render: tagDef }; } else if ("" + tagDef === tagDef) { - tagDef = {template: tagDef}; + tagDef = {template: tagDef}; } if (baseTag = tagDef.baseTag) { tagDef.flow = !!tagDef.flow; // Set flow property, so defaults to false even if baseTag has flow=true @@ -1057,7 +1058,7 @@ function renderWithViews(tmpl, data, context, noIteration, view, key, onRender, if (view) { contentTmpl = contentTmpl || view.content; // The wrapped content - to be added as #content property on views, below onRender = onRender || view._.onRender; - context = context || view.ctx; + context = extendCtx(context, view.ctx); } if (key === true) { @@ -1095,7 +1096,7 @@ function renderWithViews(tmpl, data, context, noIteration, view, key, onRender, for (i = 0, l = data.length; i < l; i++) { // Create a view for each data item. if (itemVar) { - setItemVar(data[i]); // use modified ctx with user-named ~item + setItemVar(data[i]); // use modified ctx with user-named ~item } childView = new View(newCtx, "item", newView, data[i], tmpl, (key || 0) + i, contentTmpl, onRender); diff --git a/jsrender.js b/jsrender.js index 042ad84..1e30459 100644 --- a/jsrender.js +++ b/jsrender.js @@ -1,4 +1,4 @@ -/*! JsRender v1.0.0-rc.68 (Beta - Release Candidate): http://jsviews.com/#jsrender */ +/*! JsRender v1.0.0-rc.69 (Beta - Release Candidate): 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. @@ -118,6 +118,7 @@ var versionNumber = "v1.0.0-beta", tmplFn: tmplFn, parse: parseParams, extend: $extend, + extendCtx: extendCtx, syntaxErr: syntaxError, onStore: {}, _ths: tagHandlersFromProps, @@ -224,7 +225,7 @@ function $viewsDelimiters(openChars, closeChars, link) { delimCloseChar0 = closeChars ? closeChars.charAt(0) : delimCloseChar0; delimCloseChar1 = closeChars ? closeChars.charAt(1) : delimCloseChar1; linkChar = link || linkChar; - openChars = "\\" + delimOpenChar0 + "(\\" + linkChar + ")?\\" + delimOpenChar1; // Default is "{^{" + openChars = "\\" + delimOpenChar0 + "(\\" + linkChar + ")?\\" + delimOpenChar1; // Default is "{^{" closeChars = "\\" + delimCloseChar0 + "\\" + delimCloseChar1; // Default is "}}" // Build regex with new delimiters // tag (followed by / space or }) or cvtr+colon or html or code @@ -636,7 +637,7 @@ function View(context, type, parentView, data, template, key, contentTmpl, onRen // 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._ = { + self_ = self._ = { key: 0, useKey: isArray ? 0 : 1, id: "" + viewId++, @@ -720,7 +721,7 @@ function compileTag(name, tagDef, parentTmpl) { render: tagDef }; } else if ("" + tagDef === tagDef) { - tagDef = {template: tagDef}; + tagDef = {template: tagDef}; } if (baseTag = tagDef.baseTag) { tagDef.flow = !!tagDef.flow; // Set flow property, so defaults to false even if baseTag has flow=true @@ -1113,7 +1114,7 @@ function renderWithViews(tmpl, data, context, noIteration, view, key, onRender, if (view) { contentTmpl = contentTmpl || view.content; // The wrapped content - to be added as #content property on views, below onRender = onRender || view._.onRender; - context = context || view.ctx; + context = extendCtx(context, view.ctx); } if (key === true) { @@ -1151,7 +1152,7 @@ function renderWithViews(tmpl, data, context, noIteration, view, key, onRender, for (i = 0, l = data.length; i < l; i++) { // Create a view for each data item. if (itemVar) { - setItemVar(data[i]); // use modified ctx with user-named ~item + setItemVar(data[i]); // use modified ctx with user-named ~item } childView = new View(newCtx, "item", newView, data[i], tmpl, (key || 0) + i, contentTmpl, onRender); @@ -1865,6 +1866,7 @@ if (!(jsr || $ && $.render)) { $extend(jq, $); // map over from jsrender namespace to jQuery namespace $ = jq; $.fn.render = $fnRender; + delete $.jsrender; } }; diff --git a/jsrender.min.js b/jsrender.min.js index d6c5858..c8b67b6 100644 --- a/jsrender.min.js +++ b/jsrender.min.js @@ -1,4 +1,4 @@ -/*! JsRender v1.0.0-rc.68 (Beta - Release Candidate): http://jsviews.com/#jsrender */ +/*! JsRender v1.0.0-rc.69 (Beta - Release Candidate): http://jsviews.com/#jsrender */ /*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */ -!function(e){var t=(0,eval)("this"),n=t.jQuery;"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=n?e(n):function(t){if(t&&!t.fn)throw"Provide jQuery or null";return e(t)}:e(!1)}(function(e){"use strict";function t(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 n(e,n){return z(n)&&(n=t(e?e._d?e:t(a,e):a,n),n._d=1),n}function r(e,t){for(var r in t.props)xe.test(r)&&(e[r]=n(e[r],t.props[r]))}function i(e){return e}function a(){return""}function s(e){try{throw"dbg breakpoint"}catch(t){}return this.base?this.baseApply(arguments):e}function o(e){ne._dbgMode=e!==!1}function d(t){this.name=(e.link?"JsViews":"JsRender")+" Error",this.message=t||this.name}function p(e,t){var n;for(n in t)e[n]=t[n];return e}function l(e,t,n){return(0!==this||e)&&(ae=e?e.charAt(0):ae,se=e?e.charAt(1):se,oe=t?t.charAt(0):oe,de=t?t.charAt(1):de,pe=n||pe,e="\\"+ae+"(\\"+pe+")?\\"+se,t="\\"+oe+"\\"+de,H="(?:(?:(\\w+(?=[\\/\\s\\"+oe+"]))|(?:(\\w+)?(:)|(>)|!--((?:[^-]|-(?!-))*)--|(\\*)))\\s*((?:[^\\"+oe+"]|\\"+oe+"(?!\\"+de+"))*?)",te.rTag=H+")",H=new RegExp(e+H+"(\\/)?|(?:\\/(\\w+)))"+t,"g"),D=new RegExp("<.*>|([^\\\\]|^)[{}]|"+e+".*"+t)),[ae,se,oe,de,pe]}function u(e,t){t||(t=e,e=void 0);var n,r,i,a,s=this,o=!t||"root"===t;if(e){if(a=s.type===t?s:void 0,!a)if(n=s.views,s._.useKey){for(r in n)if(a=n[r].get(e,t))break}else for(r=0,i=n.length;!a&&i>r;r++)a=n[r].get(e,t)}else if(o)for(;s.parent.parent;)a=s=s.parent;else for(;s&&!a;)a=s.type===t?s:void 0,s=s.parent;return a}function c(){var e=this.get("item");return e?e.index:void 0}function f(){return this.index}function g(e){var t,n=this,r=n.linkCtx,i=(n.ctx||{})[e];return void 0===i&&r&&r.ctx&&(i=r.ctx[e]),void 0===i&&(i=Y[e]),i&&z(i)&&!i._wrp&&(t=function(){return i.apply(this&&this!==B?this:n,arguments)},t._wrp=!0,p(t,i)),t||i}function v(e,t,n,i){var a,s,o="number"==typeof n&&t.tmpl.bnds[n-1],d=t.linkCtx;return void 0!==i?n=i={props:{},args:[i]}:o&&(n=o(t.data,t,Z)),s=n.args[0],(e||o)&&(a=d&&d.tag,a||(a=p(new te._tg,{_:{inline:!d,bnd:o,unlinked:!0},tagName:":",cvt:e,flow:!0,tagCtx:n}),d&&(d.tag=a,a.linkCtx=d),n.ctx=U(n.ctx,(d?d.view:t).ctx)),a._er=i&&s,r(a,n),n.view=t,a.ctx=n.ctx||{},n.ctx=void 0,t._.tag=a,s=a.cvtArgs(a.convert||"true"!==e&&e)[0],s=o&&t._.onRender?t._.onRender(s,t,o):s,t._.tag=void 0),void 0!=s?s:""}function m(e){var t=this,n=t.tagCtx,r=n.view,i=n.args;return e=t.convert||e,e=e&&(""+e===e?r.getRsc("converters",e)||V("Unknown converter: '"+e+"'"):e),i=i.length||n.index?e?i.slice():i:[r.data],e&&(e.depends&&(t.depends=te.getDeps(t.depends,t,e.depends,e)),i[0]=e.apply(t,i)),i}function h(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||Z[e][t]}function w(e,t,n,i,a,s){t=t||P;var o,d,p,l,u,c,f,g,v,m,h,w,b,x,_,y,k,j,C,A="",R=t.linkCtx||0,M=t.ctx,$=n||t.tmpl,N="number"==typeof i&&t.tmpl.bnds[i-1];for("tag"===e._is?(o=e,e=o.tagName,i=o.tagCtxs,p=o.template):(d=t.getRsc("tags",e)||V("Unknown tag: {{"+e+"}} "),p=d.template),void 0!==s?(A+=s,i=s=[{props:{},args:[]}]):N&&(i=N(t.data,t,Z)),g=i.length,f=0;g>f;f++)m=i[f],(!R||!R.tag||f&&!R.tag._.inline||o._er)&&((w=m.tmpl)&&(w=m.content=$.tmpls[w-1]),m.index=f,m.tmpl=p||w,m.render=T,m.view=t,m.ctx=U(m.ctx,M)),(n=m.props.tmpl)&&(n=""+n===n?t.getRsc("templates",n)||W(n):n,m.tmpl=n),o||(o=new d._ctr,b=!!o.init,o.parent=c=M&&M.tag,o.tagCtxs=i,C=o.dataMap,R&&(o._.inline=!1,R.tag=o,o.linkCtx=R),(o._.bnd=N||R.fn)?o._.arrVws={}:o.dataBoundOnly&&V("{^{"+e+"}} tag must be data-bound")),i=o.tagCtxs,C=o.dataMap,m.tag=o,C&&i&&(m.map=i[f].map),o.flow||(h=m.ctx=m.ctx||{},l=o.parents=h.parentTags=M&&U(h.parentTags,M.parentTags)||{},c&&(l[c.tagName]=c),l[o.tagName]=h.tag=o);if((N||R)&&(t._.tag=o),!(o._er=s)){for(r(o,i[0]),o.rendering={},f=0;g>f;f++)m=o.tagCtx=i[f],k=m.props,y=o.cvtArgs(),(x=k.dataMap||C)&&(y.length||k.dataMap)&&(_=m.map,(!_||_.src!==y[0]||a)&&(_&&_.src&&_.unmap(),_=m.map=x.map(y[0],k,void 0,!o._.bnd)),y=[_.tgt]),o.ctx=m.ctx,f||(b&&(j=o.template,o.init(m,R,o.ctx),b=void 0,o.template!==j&&(o._.tmpl=o.template)),R&&(R.attr=o.attr=R.attr||o.attr),u=o.attr,o._.noVws=u&&u!==je),v=void 0,o.render&&(v=o.render.apply(o,y)),y.length||(y=[t]),void 0===v&&(v=m.render(y.length?y[0]:t,!0)||(a?void 0:"")),A=A?A+(v||""):v;o.rendering=void 0}return o.tagCtx=i[0],o.ctx=o.tagCtx.ctx,o._.noVws&&o._.inline&&(A="text"===u?X.html(A):""),N&&t._.onRender?t._.onRender(A,t,N):A}function b(e,t,n,r,i,a,s,o){var d,p,l,u,f=this,g="array"===t;f.content=s,f.views=g?[]:{},f.parent=n,f.type=t||"top",f.data=r,f.tmpl=i,u=f._={key:0,useKey:g?0:1,id:""+ye++,onRender:o,bnds:{}},f.linked=!!o,n?(d=n.views,p=n._,p.useKey?(d[u.key="_"+p.useKey++]=f,f.index=Re,f.getIndex=c,l=p.tag,u.bnd=g&&(!l||!!l._.bnd&&l)):d.length===(u.key=f.index=a)?d.push(f):d.splice(a,0,f),f.ctx=e||n.ctx):f.ctx=e}function x(e){var t,n,r,i,a,s,o;for(t in Ne)if(a=Ne[t],(s=a.compile)&&(n=e[t+"s"]))for(r in n)i=n[r]=s(r,n[r],e,0),i._is=t,i&&(o=te.onStore[t])&&o(r,i,s)}function _(e,t,r){function i(){var t=this;t._={inline:!0,unlinked:!0},t.tagName=e}var a,s,o,d=new te._tg;if(z(t)?t={depends:t.depends,render:t}:""+t===t&&(t={template:t}),s=t.baseTag){t.flow=!!t.flow,t.baseTag=s=""+s===s?r&&r.tags[s]||ee[s]:s,d=p(d,s);for(o in t)d[o]=n(s[o],t[o])}else d=p(d,t);return void 0!==(a=d.template)&&(d.template=""+a===a?W[a]||W(a):a),d.init!==!1&&((i.prototype=d).constructor=d._ctr=i),r&&(d._parentTmpl=r),d}function y(e){return this.base.apply(this,e)}function k(t,n,r,i){function a(n){var a,o;if(""+n===n||n.nodeType>0&&(s=n)){if(!s)if(/^\.\/[^\\:*?"<>]*$/.test(n))(o=W[t=t||n])?n=o:s=document.getElementById(n);else if(e.fn&&!D.test(n))try{s=e(document).find(n)[0]}catch(d){}s&&(i?n=s.innerHTML:(a=s.getAttribute(Ae),a?a!==Te?(n=W[a],delete W[a]):e.fn&&(n=e.data(s)[Te]):(t=t||(e.fn?Te:n),n=k(t,s.innerHTML,r,i)),n.tmplName=t=t||a,t!==Te&&(W[t]=n),s.setAttribute(Ae,t),e.fn&&e.data(s,Te,n))),s=void 0}else n.fn||(n=void 0);return n}var s,o,d=n=n||"";return 0===i&&(i=void 0,d=a(d)),i=i||(n.markup?n:{}),i.tmplName=t,r&&(i._parentTmpl=r),!d&&n.markup&&(d=a(n.markup))&&d.fn&&(d=d.markup),void 0!==d?(d.fn||n.fn?d.fn&&(o=d):(n=C(d,i),$(d.replace(ge,"\\$&"),n)),o||(x(i),o=p(function(){return n.render.apply(n,arguments)},n)),t&&!r&&t!==Te&&(Ve[t]=o),o):void 0}function j(e){function t(t,n){this.tgt=e.getTgt(t,n)}return z(e)&&(e={getTgt:e}),e.baseMap&&(e=p(p({},e.baseMap),e)),e.map=function(e,n){return new t(e,n)},e}function C(t,n){var r,i=ne.wrapMap||{},a=p({tmpls:[],links:{},bnds:[],_is:"template",render:T},n);return a.markup=t,n.htmlTag||(r=he.exec(t),a.htmlTag=r?r[1].toLowerCase():""),r=i[a.htmlTag],r&&r!==i.div&&(a.markup=e.trim(a.markup)),a}function A(e,t){function n(i,a,s){var o,d,p,l;if(i&&typeof i===Ce&&!i.nodeType&&!i.markup&&!i.getTgt){for(p in i)n(p,i[p],a);return Z}return void 0===a&&(a=i,i=void 0),i&&""+i!==i&&(s=a,a=i,i=void 0),l=s?s[r]=s[r]||{}:n,d=t.compile,null===a?i&&delete l[i]:(a=d?d(i,a,s,0):a,i&&(l[i]=a)),d&&a&&(a._is=e),a&&(o=te.onStore[e])&&o(i,a,d),a}var r=e+"s";Z[r]=n}function T(e,t,n,r,i,a){var s,o,d,p,l,u,c,f,g=r,v="";if(t===!0?(n=t,t=void 0):typeof t!==Ce&&(t=void 0),(d=this.tag)?(l=this,p=d._.tmpl||l.tmpl,g=g||l.view,arguments.length||(e=g)):p=this,p){if(!g&&e&&"view"===e._is&&(g=e),g&&e===g&&(e=g.data),p.fn||(p=d._.tmpl=W[p]||W(p)),u=!g,re=re||u,g||((t=t||{}).root=e),!re||ne.useViews||p.useViews||g&&g!==P)v=R(p,e,t,n,g,i,a,d);else{if(g?(c=g.data,f=g.index,g.index=Re):(g=P,g.data=e,g.ctx=t),G(e)&&!n)for(s=0,o=e.length;o>s;s++)g.index=s,g.data=e[s],v+=p.fn(e[s],g,Z);else v+=p.fn(e,g,Z);g.data=c,g.index=f}u&&(re=void 0)}return v}function R(e,t,n,r,i,a,s,o){function d(e){_=p({},n),_[x]=e}var l,u,c,f,g,v,m,h,w,x,_,y,k="";if(o&&(w=o.tagName,y=o.tagCtx,n=n?U(n,o.ctx):o.ctx,m=y.content,y.props.link===!1&&(n=n||{},n.link=!1),(x=y.props.itemVar)&&("~"!==x.charAt(0)&&M("Use itemVar='~myItem'"),x=x.slice(1))),i&&(m=m||i.content,s=s||i._.onRender,n=n||i.ctx),a===!0&&(v=!0,a=0),s&&(n&&n.link===!1||o&&o._.noVws)&&(s=void 0),h=s,s===!0&&(h=void 0,s=i._.onRender),n=e.helpers?U(e.helpers,n):n,_=n,G(t)&&!r)for(c=v?i:void 0!==a&&i||new b(n,"array",i,t,e,a,m,s),x&&(c.it=x),x=c.it,l=0,u=t.length;u>l;l++)x&&d(t[l]),f=new b(_,"item",c,t[l],e,(a||0)+l,m,s),g=e.fn(t[l],f,Z),k+=c._.onRender?c._.onRender(g,f):g;else x&&d(t),c=v?i:new b(_,w||"data",i,t,e,a,m,s),o&&!o.flow&&(c.tag=o),k+=e.fn(t,c,Z);return h?h(k,c):k}function V(e,t,n){var r=ne.onError(e,t,n);if(""+e===e)throw new te.Err(r);return!t.linkCtx&&t.linked?X.html(r):r}function M(e){V("Syntax error\n"+e)}function $(e,t,n,r,i){function a(t){t-=f,t&&v.push(e.substr(f,t).replace(ce,"\\n"))}function s(t,n){t&&(t+="}}",M((n?"{{"+n+"}} block has {{/"+t+" without {{"+t:"Unmatched or missing {{/"+t)+", in template:\n"+e))}function o(o,d,c,h,w,b,x,_,y,k,j,C){b&&(w=":",h=je),k=k||n&&!i;var A=(d||n)&&[[]],T="",R="",V="",$="",N="",F="",I="",U="",J=!k&&!w&&!x;c=c||(y=y||"#data",w),a(C),f=C+o.length,_?u&&v.push(["*","\n"+y.replace(/^:/,"ret+= ").replace(fe,"$1")+";\n"]):c?("else"===c&&(me.test(y)&&M('for "{{else if expr}}" use "{{else expr}}"'),A=m[7]&&[[]],m[8]=e.substring(m[8],C),m=g.pop(),v=m[2],J=!0),y&&S(y.replace(ce," "),A,t).replace(ve,function(e,t,n,r,i,a,s,o){return r="'"+i+"':",s?(R+=a+",",$+="'"+o+"',"):n?(V+=r+a+",",F+=r+"'"+o+"',"):t?I+=a:("trigger"===i&&(U+=a),T+=r+a+",",N+=r+"'"+o+"',",l=l||xe.test(i)),""}).slice(0,-1),A&&A[0]&&A.pop(),p=[c,h||!!r||l||"",J&&[],E($,N,F),E(R,T,V),I,U,A||0],v.push(p),J&&(g.push(m),m=p,m[8]=f)):j&&(s(j!==m[0]&&"else"!==m[0]&&j,m[0]),m[8]=e.substring(m[8],C),m=g.pop()),s(!m&&j),v=m[2]}var d,p,l,u=ne.allowCode||t&&t.allowCode,c=[],f=0,g=[],v=c,m=[,,c];return u&&(t.allowCode=u),n&&(e=ae+e+de),s(g[0]&&g[0][2].pop()[0]),e.replace(H,o),a(e.length),(f=c[c.length-1])&&s(""+f!==f&&+f[8]===f[8]&&f[0]),n?(d=I(c,e,n),N(d,[c[0][7]])):d=I(c,t),d}function N(e,t){var n,r,i=0,a=t.length;for(e.deps=[];a>i;i++){r=t[i];for(n in r)"_jsvto"!==n&&r[n].length&&(e.deps=e.deps.concat(r[n]))}e.paths=r}function E(e,t,n){return[e.slice(0,-1),t.slice(0,-1),n.slice(0,-1)]}function F(e,t){return"\n "+(t?t+":{":"")+"args:["+e[0]+"]"+(e[1]||!t?",\n props:{"+e[1]+"}":"")+(e[2]?",\n ctx:{"+e[2]+"}":"")}function S(e,t,n){function r(r,h,w,b,x,_,y,k,j,C,A,T,R,V,N,E,F,S,I,U){function J(e,n,r,s,o,d,u,c){var f="."===r;if(r&&(x=x.slice(n.length),f||(e=(s?'view.hlp("'+s+'")':o?"view":"data")+(c?(d?"."+d:s?"":o?"":"."+r)+(u||""):(c=s?"":o?d||"":r,"")),e+=c?"."+c:"",e=n+("view.data"===e.slice(0,9)?e.slice(5):e)),p)){if(q="linkTo"===i?a=t._jsvto=t._jsvto||[]:l.bd,B=f&&q[q.length-1]){if(B._jsv){for(;B.sb;)B=B.sb;B.bnd&&(x="^"+x.slice(1)),B.sb=x,B.bnd=B.bnd||"^"===x.charAt(0)}}else q.push(x);m[g]=I+(f?1:0)}return e}b=p&&b,b&&!k&&(x=b+x),_=_||"",w=w||h||T,x=x||j,C=C||F||"";var K,O,q,B,L;if(!y||d||o){if(p&&E&&!d&&!o&&(!i||s||a)&&(K=m[g-1],U.length-1>I-(K||0))){if(K=U.slice(K,I+r.length),O!==!0)if(q=a||u[g-1].bd,B=q[q.length-1],B&&B.prm){for(;B.sb&&B.sb.prm;)B=B.sb;L=B.sb={path:B.sb,bnd:B.bnd}}else q.push(L={path:q.pop()});E=se+":"+K+" onerror=''"+oe,O=f[E],O||(f[E]=!0,f[E]=O=$(E,n,!0)),O!==!0&&L&&(L._jsv=O,L.prm=l.bd,L.bnd=L.bnd||L.path&&L.path.indexOf("^")>=0)}return d?(d=!R,d?r:T+'"'):o?(o=!V,o?r:T+'"'):(w?(m[g]=I++,l=u[++g]={bd:[]},w):"")+(S?g?"":(c=U.slice(c,I),(i?(i=s=a=!1,"\b"):"\b,")+c+(c=I+r.length,p&&t.push(l.bd=[]),"\b")):k?(g&&M(e),p&&t.pop(),i=x,s=b,c=I+r.length,b&&(p=l.bd=t[i]=[]),x+":"):x?x.split("^").join(".").replace(le,J)+(C?(l=u[++g]={bd:[]},v[g]=!0,C):_):_?_:N?(v[g]=!1,l=u[--g],N+(C?(l=u[++g],v[g]=!0,C):"")):A?(v[g]||M(e),","):h?"":(d=R,o=V,'"'))}M(e)}var i,a,s,o,d,p=t&&t[0],l={bd:p},u={0:l},c=0,f=n?n.links:p&&(p.links=p.links||{}),g=0,v={},m={};return(e+(n?" ":"")).replace(ue,r)}function I(e,t,n){var r,i,a,s,o,d,p,l,u,c,f,g,v,m,h,w,b,x,_,y,k,j,A,T,R,V,$,E,S,U,J=0,K=ne.useViews||t.useViews||t.tags||t.templates||t.helpers||t.converters,O="",q={},B=e.length;for(""+t===t?(x=n?'data-link="'+t.replace(ce," ").slice(1,-1)+'"':t,t=0):(x=t.tmplName||"unnamed",t.allowCode&&(q.allowCode=!0),t.debug&&(q.debug=!0),f=t.bnds,b=t.tmpls),r=0;B>r;r++)if(i=e[r],""+i===i)O+='\n+"'+i+'"';else if(a=i[0],"*"===a)O+=";\n"+i[1]+"\nret=ret";else{if(s=i[1],k=!n&&i[2],o=F(i[3],"params")+"},"+F(v=i[4]),E=i[5],U=i[6],j=i[8]&&i[8].replace(fe,"$1"),(R="else"===a)?g&&g.push(i[7]):(J=0,f&&(g=i[7])&&(g=[g],J=f.push(1))),K=K||v[1]||v[2]||g||/view.(?!index)/.test(v[0]),(V=":"===a)?s&&(a=s===je?">":s+a):(k&&(_=C(j,q),_.tmplName=x+"/"+a,_.useViews=_.useViews||K,I(k,_),K=_.useViews,b.push(_)),R||(y=a,K=K||a&&(!ee[a]||!ee[a].flow),T=O,O=""),A=e[r+1],A=A&&"else"===A[0]),S=E?";\ntry{\nret+=":"\n+",m="",h="",V&&(g||U||s&&s!==je)){if($="return {"+o+"};",w='c("'+s+'",view,',$=new Function("data,view,j,u"," // "+x+" "+J+" "+a+"\n"+$),$._er=E,m=w+J+",",h=")",$._tag=a,n)return $;N($,g),c=!0}if(O+=V?(n?(E?"\ntry{\n":"")+"return ":S)+(c?(c=void 0,K=u=!0,w+(g?(f[J-1]=$,J):"{"+o+"}")+")"):">"===a?(p=!0,"h("+v[0]+")"):(l=!0,"((v="+(v[0]||"data")+')!=null?v:"")')):(d=!0,"\n{view:view,tmpl:"+(k?b.length:"0")+","+o+"},"),y&&!A){if(O="["+O.slice(0,-1)+"]",w='t("'+y+'",view,this,',n||g){if(O=new Function("data,view,j,u"," // "+x+" "+J+" "+y+"\nreturn "+O+";"),O._er=E,O._tag=y,g&&N(f[J-1]=O,g),n)return O;m=w+J+",undefined,",h=")"}O=T+S+w+(J||O)+")",g=0,y=0}E&&(K=!0,O+=";\n}catch(e){ret"+(n?"urn ":"+=")+m+"j._err(e,view,"+E+")"+h+";}\n"+(n?"":"ret=ret"))}O="// "+x+"\nvar v"+(d?",t=j._tag":"")+(u?",c=j._cnvt":"")+(p?",h=j.converters.html":"")+(n?";\n":',ret=""\n')+(q.debug?"debugger;":"")+O+(n?"\n":";\nreturn ret;"),ne._dbgMode&&(O="try {\n"+O+"\n}catch(e){\nreturn j._err(e, view);\n}");try{O=new Function("data,view,j,u",O)}catch(L){M("Compiled template code:\n\n"+O+'\n: "'+L.message+'"')}return t&&(t.fn=O,t.useViews=!!K),O}function U(e,t){return e&&e!==t?t?p(p({},t),e):e:t&&p({},t)}function J(e){return ke[e]||(ke[e]="&#"+e.charCodeAt(0)+";")}function K(e){var t,n,r=[];if(typeof e===Ce)for(t in e)n=e[t],n&&n.toJSON&&!n.toJSON()||z(n)||r.push({key:t,prop:n});return r}function O(t,n,r){var i=this.jquery&&(this[0]||V('Unknown template: "'+this.selector+'"')),a=i.getAttribute(Ae);return T.call(a?e.data(i)[Te]:W(i),t,n,r)}function q(e){return void 0!=e?be.test(e)&&(""+e).replace(_e,J)||e:""}var B=(0,eval)("this"),L=e===!1;e=e&&e.fn?e:B.jQuery;var Q,H,D,P,Z,z,G,W,X,Y,ee,te,ne,re,ie="v1.0.0-beta",ae="{",se="{",oe="}",de="}",pe="^",le=/^(!*?)(?:null|true|false|\d[\d.]*|([\w$]+|\.|~([\w$]+)|#(view|([\w$]+))?)([\w$.^]*?)(?:[.[^]([\w$]+)\]?)?)$/g,ue=/(\()(?=\s*\()|(?:([([])\s*)?(?:(\^?)(!*?[#~]?[\w$.^]+)?\s*((\+\+|--)|\+|-|&&|\|\||===|!==|==|!=|<=|>=|[<>%*:?\/]|(=))\s*|(!*?[#~]?[\w$.^]+)([([])?)|(,\s*)|(\(?)\\?(?:(')|("))|(?:\s*(([)\]])(?=\s*[.^]|\s*$|[^\(\[])|[)\]])([([]?))|(\s+)/g,ce=/[ \t]*(\r\n|\n|\r)/g,fe=/\\(['"])/g,ge=/['"\\]/g,ve=/(?:\x08|^)(onerror:)?(?:(~?)(([\w$_\.]+):)?([^\x08]+))\x08(,)?([^\x08]+)/gi,me=/^if\s/,he=/<(\w+)[>\s]/,we=/[\x00`><"'&]/g,be=/[\x00`><\"'&]/,xe=/^on[A-Z]|^convert(Back)?$/,_e=we,ye=0,ke={"&":"&","<":"<",">":">","\x00":"�","'":"'",'"':""","`":"`"},je="html",Ce="object",Ae="data-jsv-tmpl",Te="jsvTmpl",Re="For #index in nested block use #getIndex().",Ve={},Me=B.jsrender,$e=Me&&e&&!e.render,Ne={template:{compile:k},tag:{compile:_},helper:{},converter:{}};if(Z={jsviews:ie,settings:function(e){p(ne,e),o(ne._dbgMode),ne.jsv&&ne.jsv()},sub:{View:b,Err:d,tmplFn:$,parse:S,extend:p,syntaxErr:M,onStore:{},_ths:r,_tg:function(){}},map:j,_cnvt:v,_tag:w,_err:V},(d.prototype=new Error).constructor=d,c.depends=function(){return[this.get("item"),"index"]},f.depends="index",b.prototype={get:u,getIndex:f,getRsc:h,hlp:g,_is:"view"},!(Me||e&&e.render)){for(Q in Ne)A(Q,Ne[Q]);W=Z.templates,X=Z.converters,Y=Z.helpers,ee=Z.tags,te=Z.sub,ne=Z.settings,te._tg.prototype={baseApply:y,cvtArgs:m},P=te.topView=new b,e?(e.fn.render=O,e.observable&&(p(te,e.views.sub),Z.map=e.views.map)):(e={},L&&(B.jsrender=e),e.renderFile=e.__express=e.compile=function(){throw"Node.js: use npm jsrender, or jsrender-node.js"},e.isFunction=function(e){return"function"==typeof e},e.isArray=Array.isArray||function(e){return"[object Array]"==={}.toString.call(e)},te._jq=function(t){t!==e&&(p(t,e),e=t,e.fn.render=O)},e.jsrender=ie),z=e.isFunction,G=e.isArray,e.render=Ve,e.views=Z,e.templates=W=Z.templates,ne({debugMode:o,delimiters:l,onError:function(e,t,n){return t&&(e=void 0===n?"{Error: "+(e.message||e)+"}":z(n)?n(e,t):n),void 0==e?"":e},_dbgMode:!1}),ee({"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,a="",s=0;return r.rendering.done||(t=n?i.view.data:e,void 0!==t&&(a+=i.render(t,n),s+=G(t)?t.length:1),(r.rendering.done=s)&&(r.selected=i.index)),a},flow:!0},props:{baseTag:"for",dataMap:j(K),flow:!0},include:{flow:!0},"*":{render:i,flow:!0},":*":{render:i,flow:!0},dbg:Y.dbg=X.dbg=s}),X({html:q,attr:q,url:function(e){return void 0!=e?encodeURI(""+e):null===e?e:""}}),l()}return $e&&Me.views.sub._jq(e),e||Me}); +!function(e){var t=(0,eval)("this"),n=t.jQuery;"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=n?e(n):function(t){if(t&&!t.fn)throw"Provide jQuery or null";return e(t)}:e(!1)}(function(e){"use strict";function t(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 n(e,n){return z(n)&&(n=t(e?e._d?e:t(a,e):a,n),n._d=1),n}function r(e,t){for(var r in t.props)xe.test(r)&&(e[r]=n(e[r],t.props[r]))}function i(e){return e}function a(){return""}function s(e){try{throw"dbg breakpoint"}catch(t){}return this.base?this.baseApply(arguments):e}function o(e){ne._dbgMode=e!==!1}function d(t){this.name=(e.link?"JsViews":"JsRender")+" Error",this.message=t||this.name}function p(e,t){var n;for(n in t)e[n]=t[n];return e}function l(e,t,n){return(0!==this||e)&&(ae=e?e.charAt(0):ae,se=e?e.charAt(1):se,oe=t?t.charAt(0):oe,de=t?t.charAt(1):de,pe=n||pe,e="\\"+ae+"(\\"+pe+")?\\"+se,t="\\"+oe+"\\"+de,H="(?:(?:(\\w+(?=[\\/\\s\\"+oe+"]))|(?:(\\w+)?(:)|(>)|!--((?:[^-]|-(?!-))*)--|(\\*)))\\s*((?:[^\\"+oe+"]|\\"+oe+"(?!\\"+de+"))*?)",te.rTag=H+")",H=new RegExp(e+H+"(\\/)?|(?:\\/(\\w+)))"+t,"g"),D=new RegExp("<.*>|([^\\\\]|^)[{}]|"+e+".*"+t)),[ae,se,oe,de,pe]}function u(e,t){t||(t=e,e=void 0);var n,r,i,a,s=this,o=!t||"root"===t;if(e){if(a=s.type===t?s:void 0,!a)if(n=s.views,s._.useKey){for(r in n)if(a=n[r].get(e,t))break}else for(r=0,i=n.length;!a&&i>r;r++)a=n[r].get(e,t)}else if(o)for(;s.parent.parent;)a=s=s.parent;else for(;s&&!a;)a=s.type===t?s:void 0,s=s.parent;return a}function c(){var e=this.get("item");return e?e.index:void 0}function f(){return this.index}function g(e){var t,n=this,r=n.linkCtx,i=(n.ctx||{})[e];return void 0===i&&r&&r.ctx&&(i=r.ctx[e]),void 0===i&&(i=Y[e]),i&&z(i)&&!i._wrp&&(t=function(){return i.apply(this&&this!==B?this:n,arguments)},t._wrp=!0,p(t,i)),t||i}function v(e,t,n,i){var a,s,o="number"==typeof n&&t.tmpl.bnds[n-1],d=t.linkCtx;return void 0!==i?n=i={props:{},args:[i]}:o&&(n=o(t.data,t,Z)),s=n.args[0],(e||o)&&(a=d&&d.tag,a||(a=p(new te._tg,{_:{inline:!d,bnd:o,unlinked:!0},tagName:":",cvt:e,flow:!0,tagCtx:n}),d&&(d.tag=a,a.linkCtx=d),n.ctx=U(n.ctx,(d?d.view:t).ctx)),a._er=i&&s,r(a,n),n.view=t,a.ctx=n.ctx||{},n.ctx=void 0,t._.tag=a,s=a.cvtArgs(a.convert||"true"!==e&&e)[0],s=o&&t._.onRender?t._.onRender(s,t,o):s,t._.tag=void 0),void 0!=s?s:""}function m(e){var t=this,n=t.tagCtx,r=n.view,i=n.args;return e=t.convert||e,e=e&&(""+e===e?r.getRsc("converters",e)||V("Unknown converter: '"+e+"'"):e),i=i.length||n.index?e?i.slice():i:[r.data],e&&(e.depends&&(t.depends=te.getDeps(t.depends,t,e.depends,e)),i[0]=e.apply(t,i)),i}function h(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||Z[e][t]}function w(e,t,n,i,a,s){t=t||P;var o,d,p,l,u,c,f,g,v,m,h,w,b,x,_,y,k,j,C,A="",R=t.linkCtx||0,M=t.ctx,$=n||t.tmpl,N="number"==typeof i&&t.tmpl.bnds[i-1];for("tag"===e._is?(o=e,e=o.tagName,i=o.tagCtxs,p=o.template):(d=t.getRsc("tags",e)||V("Unknown tag: {{"+e+"}} "),p=d.template),void 0!==s?(A+=s,i=s=[{props:{},args:[]}]):N&&(i=N(t.data,t,Z)),g=i.length,f=0;g>f;f++)m=i[f],(!R||!R.tag||f&&!R.tag._.inline||o._er)&&((w=m.tmpl)&&(w=m.content=$.tmpls[w-1]),m.index=f,m.tmpl=p||w,m.render=T,m.view=t,m.ctx=U(m.ctx,M)),(n=m.props.tmpl)&&(n=""+n===n?t.getRsc("templates",n)||W(n):n,m.tmpl=n),o||(o=new d._ctr,b=!!o.init,o.parent=c=M&&M.tag,o.tagCtxs=i,C=o.dataMap,R&&(o._.inline=!1,R.tag=o,o.linkCtx=R),(o._.bnd=N||R.fn)?o._.arrVws={}:o.dataBoundOnly&&V("{^{"+e+"}} tag must be data-bound")),i=o.tagCtxs,C=o.dataMap,m.tag=o,C&&i&&(m.map=i[f].map),o.flow||(h=m.ctx=m.ctx||{},l=o.parents=h.parentTags=M&&U(h.parentTags,M.parentTags)||{},c&&(l[c.tagName]=c),l[o.tagName]=h.tag=o);if((N||R)&&(t._.tag=o),!(o._er=s)){for(r(o,i[0]),o.rendering={},f=0;g>f;f++)m=o.tagCtx=i[f],k=m.props,y=o.cvtArgs(),(x=k.dataMap||C)&&(y.length||k.dataMap)&&(_=m.map,(!_||_.src!==y[0]||a)&&(_&&_.src&&_.unmap(),_=m.map=x.map(y[0],k,void 0,!o._.bnd)),y=[_.tgt]),o.ctx=m.ctx,f||(b&&(j=o.template,o.init(m,R,o.ctx),b=void 0,o.template!==j&&(o._.tmpl=o.template)),R&&(R.attr=o.attr=R.attr||o.attr),u=o.attr,o._.noVws=u&&u!==je),v=void 0,o.render&&(v=o.render.apply(o,y)),y.length||(y=[t]),void 0===v&&(v=m.render(y.length?y[0]:t,!0)||(a?void 0:"")),A=A?A+(v||""):v;o.rendering=void 0}return o.tagCtx=i[0],o.ctx=o.tagCtx.ctx,o._.noVws&&o._.inline&&(A="text"===u?X.html(A):""),N&&t._.onRender?t._.onRender(A,t,N):A}function b(e,t,n,r,i,a,s,o){var d,p,l,u,f=this,g="array"===t;f.content=s,f.views=g?[]:{},f.parent=n,f.type=t||"top",f.data=r,f.tmpl=i,u=f._={key:0,useKey:g?0:1,id:""+ye++,onRender:o,bnds:{}},f.linked=!!o,n?(d=n.views,p=n._,p.useKey?(d[u.key="_"+p.useKey++]=f,f.index=Re,f.getIndex=c,l=p.tag,u.bnd=g&&(!l||!!l._.bnd&&l)):d.length===(u.key=f.index=a)?d.push(f):d.splice(a,0,f),f.ctx=e||n.ctx):f.ctx=e}function x(e){var t,n,r,i,a,s,o;for(t in Ne)if(a=Ne[t],(s=a.compile)&&(n=e[t+"s"]))for(r in n)i=n[r]=s(r,n[r],e,0),i._is=t,i&&(o=te.onStore[t])&&o(r,i,s)}function _(e,t,r){function i(){var t=this;t._={inline:!0,unlinked:!0},t.tagName=e}var a,s,o,d=new te._tg;if(z(t)?t={depends:t.depends,render:t}:""+t===t&&(t={template:t}),s=t.baseTag){t.flow=!!t.flow,t.baseTag=s=""+s===s?r&&r.tags[s]||ee[s]:s,d=p(d,s);for(o in t)d[o]=n(s[o],t[o])}else d=p(d,t);return void 0!==(a=d.template)&&(d.template=""+a===a?W[a]||W(a):a),d.init!==!1&&((i.prototype=d).constructor=d._ctr=i),r&&(d._parentTmpl=r),d}function y(e){return this.base.apply(this,e)}function k(t,n,r,i){function a(n){var a,o;if(""+n===n||n.nodeType>0&&(s=n)){if(!s)if(/^\.\/[^\\:*?"<>]*$/.test(n))(o=W[t=t||n])?n=o:s=document.getElementById(n);else if(e.fn&&!D.test(n))try{s=e(document).find(n)[0]}catch(d){}s&&(i?n=s.innerHTML:(a=s.getAttribute(Ae),a?a!==Te?(n=W[a],delete W[a]):e.fn&&(n=e.data(s)[Te]):(t=t||(e.fn?Te:n),n=k(t,s.innerHTML,r,i)),n.tmplName=t=t||a,t!==Te&&(W[t]=n),s.setAttribute(Ae,t),e.fn&&e.data(s,Te,n))),s=void 0}else n.fn||(n=void 0);return n}var s,o,d=n=n||"";return 0===i&&(i=void 0,d=a(d)),i=i||(n.markup?n:{}),i.tmplName=t,r&&(i._parentTmpl=r),!d&&n.markup&&(d=a(n.markup))&&d.fn&&(d=d.markup),void 0!==d?(d.fn||n.fn?d.fn&&(o=d):(n=C(d,i),$(d.replace(ge,"\\$&"),n)),o||(x(i),o=p(function(){return n.render.apply(n,arguments)},n)),t&&!r&&t!==Te&&(Ve[t]=o),o):void 0}function j(e){function t(t,n){this.tgt=e.getTgt(t,n)}return z(e)&&(e={getTgt:e}),e.baseMap&&(e=p(p({},e.baseMap),e)),e.map=function(e,n){return new t(e,n)},e}function C(t,n){var r,i=ne.wrapMap||{},a=p({tmpls:[],links:{},bnds:[],_is:"template",render:T},n);return a.markup=t,n.htmlTag||(r=he.exec(t),a.htmlTag=r?r[1].toLowerCase():""),r=i[a.htmlTag],r&&r!==i.div&&(a.markup=e.trim(a.markup)),a}function A(e,t){function n(i,a,s){var o,d,p,l;if(i&&typeof i===Ce&&!i.nodeType&&!i.markup&&!i.getTgt){for(p in i)n(p,i[p],a);return Z}return void 0===a&&(a=i,i=void 0),i&&""+i!==i&&(s=a,a=i,i=void 0),l=s?s[r]=s[r]||{}:n,d=t.compile,null===a?i&&delete l[i]:(a=d?d(i,a,s,0):a,i&&(l[i]=a)),d&&a&&(a._is=e),a&&(o=te.onStore[e])&&o(i,a,d),a}var r=e+"s";Z[r]=n}function T(e,t,n,r,i,a){var s,o,d,p,l,u,c,f,g=r,v="";if(t===!0?(n=t,t=void 0):typeof t!==Ce&&(t=void 0),(d=this.tag)?(l=this,p=d._.tmpl||l.tmpl,g=g||l.view,arguments.length||(e=g)):p=this,p){if(!g&&e&&"view"===e._is&&(g=e),g&&e===g&&(e=g.data),p.fn||(p=d._.tmpl=W[p]||W(p)),u=!g,re=re||u,g||((t=t||{}).root=e),!re||ne.useViews||p.useViews||g&&g!==P)v=R(p,e,t,n,g,i,a,d);else{if(g?(c=g.data,f=g.index,g.index=Re):(g=P,g.data=e,g.ctx=t),G(e)&&!n)for(s=0,o=e.length;o>s;s++)g.index=s,g.data=e[s],v+=p.fn(e[s],g,Z);else v+=p.fn(e,g,Z);g.data=c,g.index=f}u&&(re=void 0)}return v}function R(e,t,n,r,i,a,s,o){function d(e){_=p({},n),_[x]=e}var l,u,c,f,g,v,m,h,w,x,_,y,k="";if(o&&(w=o.tagName,y=o.tagCtx,n=n?U(n,o.ctx):o.ctx,m=y.content,y.props.link===!1&&(n=n||{},n.link=!1),(x=y.props.itemVar)&&("~"!==x.charAt(0)&&M("Use itemVar='~myItem'"),x=x.slice(1))),i&&(m=m||i.content,s=s||i._.onRender,n=U(n,i.ctx)),a===!0&&(v=!0,a=0),s&&(n&&n.link===!1||o&&o._.noVws)&&(s=void 0),h=s,s===!0&&(h=void 0,s=i._.onRender),n=e.helpers?U(e.helpers,n):n,_=n,G(t)&&!r)for(c=v?i:void 0!==a&&i||new b(n,"array",i,t,e,a,m,s),x&&(c.it=x),x=c.it,l=0,u=t.length;u>l;l++)x&&d(t[l]),f=new b(_,"item",c,t[l],e,(a||0)+l,m,s),g=e.fn(t[l],f,Z),k+=c._.onRender?c._.onRender(g,f):g;else x&&d(t),c=v?i:new b(_,w||"data",i,t,e,a,m,s),o&&!o.flow&&(c.tag=o),k+=e.fn(t,c,Z);return h?h(k,c):k}function V(e,t,n){var r=ne.onError(e,t,n);if(""+e===e)throw new te.Err(r);return!t.linkCtx&&t.linked?X.html(r):r}function M(e){V("Syntax error\n"+e)}function $(e,t,n,r,i){function a(t){t-=f,t&&v.push(e.substr(f,t).replace(ce,"\\n"))}function s(t,n){t&&(t+="}}",M((n?"{{"+n+"}} block has {{/"+t+" without {{"+t:"Unmatched or missing {{/"+t)+", in template:\n"+e))}function o(o,d,c,h,w,b,x,_,y,k,j,C){b&&(w=":",h=je),k=k||n&&!i;var A=(d||n)&&[[]],T="",R="",V="",$="",N="",F="",I="",U="",J=!k&&!w&&!x;c=c||(y=y||"#data",w),a(C),f=C+o.length,_?u&&v.push(["*","\n"+y.replace(/^:/,"ret+= ").replace(fe,"$1")+";\n"]):c?("else"===c&&(me.test(y)&&M('for "{{else if expr}}" use "{{else expr}}"'),A=m[7]&&[[]],m[8]=e.substring(m[8],C),m=g.pop(),v=m[2],J=!0),y&&S(y.replace(ce," "),A,t).replace(ve,function(e,t,n,r,i,a,s,o){return r="'"+i+"':",s?(R+=a+",",$+="'"+o+"',"):n?(V+=r+a+",",F+=r+"'"+o+"',"):t?I+=a:("trigger"===i&&(U+=a),T+=r+a+",",N+=r+"'"+o+"',",l=l||xe.test(i)),""}).slice(0,-1),A&&A[0]&&A.pop(),p=[c,h||!!r||l||"",J&&[],E($,N,F),E(R,T,V),I,U,A||0],v.push(p),J&&(g.push(m),m=p,m[8]=f)):j&&(s(j!==m[0]&&"else"!==m[0]&&j,m[0]),m[8]=e.substring(m[8],C),m=g.pop()),s(!m&&j),v=m[2]}var d,p,l,u=ne.allowCode||t&&t.allowCode,c=[],f=0,g=[],v=c,m=[,,c];return u&&(t.allowCode=u),n&&(e=ae+e+de),s(g[0]&&g[0][2].pop()[0]),e.replace(H,o),a(e.length),(f=c[c.length-1])&&s(""+f!==f&&+f[8]===f[8]&&f[0]),n?(d=I(c,e,n),N(d,[c[0][7]])):d=I(c,t),d}function N(e,t){var n,r,i=0,a=t.length;for(e.deps=[];a>i;i++){r=t[i];for(n in r)"_jsvto"!==n&&r[n].length&&(e.deps=e.deps.concat(r[n]))}e.paths=r}function E(e,t,n){return[e.slice(0,-1),t.slice(0,-1),n.slice(0,-1)]}function F(e,t){return"\n "+(t?t+":{":"")+"args:["+e[0]+"]"+(e[1]||!t?",\n props:{"+e[1]+"}":"")+(e[2]?",\n ctx:{"+e[2]+"}":"")}function S(e,t,n){function r(r,h,w,b,x,_,y,k,j,C,A,T,R,V,N,E,F,S,I,U){function J(e,n,r,s,o,d,u,c){var f="."===r;if(r&&(x=x.slice(n.length),f||(e=(s?'view.hlp("'+s+'")':o?"view":"data")+(c?(d?"."+d:s?"":o?"":"."+r)+(u||""):(c=s?"":o?d||"":r,"")),e+=c?"."+c:"",e=n+("view.data"===e.slice(0,9)?e.slice(5):e)),p)){if(q="linkTo"===i?a=t._jsvto=t._jsvto||[]:l.bd,B=f&&q[q.length-1]){if(B._jsv){for(;B.sb;)B=B.sb;B.bnd&&(x="^"+x.slice(1)),B.sb=x,B.bnd=B.bnd||"^"===x.charAt(0)}}else q.push(x);m[g]=I+(f?1:0)}return e}b=p&&b,b&&!k&&(x=b+x),_=_||"",w=w||h||T,x=x||j,C=C||F||"";var K,O,q,B,L;if(!y||d||o){if(p&&E&&!d&&!o&&(!i||s||a)&&(K=m[g-1],U.length-1>I-(K||0))){if(K=U.slice(K,I+r.length),O!==!0)if(q=a||u[g-1].bd,B=q[q.length-1],B&&B.prm){for(;B.sb&&B.sb.prm;)B=B.sb;L=B.sb={path:B.sb,bnd:B.bnd}}else q.push(L={path:q.pop()});E=se+":"+K+" onerror=''"+oe,O=f[E],O||(f[E]=!0,f[E]=O=$(E,n,!0)),O!==!0&&L&&(L._jsv=O,L.prm=l.bd,L.bnd=L.bnd||L.path&&L.path.indexOf("^")>=0)}return d?(d=!R,d?r:T+'"'):o?(o=!V,o?r:T+'"'):(w?(m[g]=I++,l=u[++g]={bd:[]},w):"")+(S?g?"":(c=U.slice(c,I),(i?(i=s=a=!1,"\b"):"\b,")+c+(c=I+r.length,p&&t.push(l.bd=[]),"\b")):k?(g&&M(e),p&&t.pop(),i=x,s=b,c=I+r.length,b&&(p=l.bd=t[i]=[]),x+":"):x?x.split("^").join(".").replace(le,J)+(C?(l=u[++g]={bd:[]},v[g]=!0,C):_):_?_:N?(v[g]=!1,l=u[--g],N+(C?(l=u[++g],v[g]=!0,C):"")):A?(v[g]||M(e),","):h?"":(d=R,o=V,'"'))}M(e)}var i,a,s,o,d,p=t&&t[0],l={bd:p},u={0:l},c=0,f=n?n.links:p&&(p.links=p.links||{}),g=0,v={},m={};return(e+(n?" ":"")).replace(ue,r)}function I(e,t,n){var r,i,a,s,o,d,p,l,u,c,f,g,v,m,h,w,b,x,_,y,k,j,A,T,R,V,$,E,S,U,J=0,K=ne.useViews||t.useViews||t.tags||t.templates||t.helpers||t.converters,O="",q={},B=e.length;for(""+t===t?(x=n?'data-link="'+t.replace(ce," ").slice(1,-1)+'"':t,t=0):(x=t.tmplName||"unnamed",t.allowCode&&(q.allowCode=!0),t.debug&&(q.debug=!0),f=t.bnds,b=t.tmpls),r=0;B>r;r++)if(i=e[r],""+i===i)O+='\n+"'+i+'"';else if(a=i[0],"*"===a)O+=";\n"+i[1]+"\nret=ret";else{if(s=i[1],k=!n&&i[2],o=F(i[3],"params")+"},"+F(v=i[4]),E=i[5],U=i[6],j=i[8]&&i[8].replace(fe,"$1"),(R="else"===a)?g&&g.push(i[7]):(J=0,f&&(g=i[7])&&(g=[g],J=f.push(1))),K=K||v[1]||v[2]||g||/view.(?!index)/.test(v[0]),(V=":"===a)?s&&(a=s===je?">":s+a):(k&&(_=C(j,q),_.tmplName=x+"/"+a,_.useViews=_.useViews||K,I(k,_),K=_.useViews,b.push(_)),R||(y=a,K=K||a&&(!ee[a]||!ee[a].flow),T=O,O=""),A=e[r+1],A=A&&"else"===A[0]),S=E?";\ntry{\nret+=":"\n+",m="",h="",V&&(g||U||s&&s!==je)){if($="return {"+o+"};",w='c("'+s+'",view,',$=new Function("data,view,j,u"," // "+x+" "+J+" "+a+"\n"+$),$._er=E,m=w+J+",",h=")",$._tag=a,n)return $;N($,g),c=!0}if(O+=V?(n?(E?"\ntry{\n":"")+"return ":S)+(c?(c=void 0,K=u=!0,w+(g?(f[J-1]=$,J):"{"+o+"}")+")"):">"===a?(p=!0,"h("+v[0]+")"):(l=!0,"((v="+(v[0]||"data")+')!=null?v:"")')):(d=!0,"\n{view:view,tmpl:"+(k?b.length:"0")+","+o+"},"),y&&!A){if(O="["+O.slice(0,-1)+"]",w='t("'+y+'",view,this,',n||g){if(O=new Function("data,view,j,u"," // "+x+" "+J+" "+y+"\nreturn "+O+";"),O._er=E,O._tag=y,g&&N(f[J-1]=O,g),n)return O;m=w+J+",undefined,",h=")"}O=T+S+w+(J||O)+")",g=0,y=0}E&&(K=!0,O+=";\n}catch(e){ret"+(n?"urn ":"+=")+m+"j._err(e,view,"+E+")"+h+";}\n"+(n?"":"ret=ret"))}O="// "+x+"\nvar v"+(d?",t=j._tag":"")+(u?",c=j._cnvt":"")+(p?",h=j.converters.html":"")+(n?";\n":',ret=""\n')+(q.debug?"debugger;":"")+O+(n?"\n":";\nreturn ret;"),ne._dbgMode&&(O="try {\n"+O+"\n}catch(e){\nreturn j._err(e, view);\n}");try{O=new Function("data,view,j,u",O)}catch(L){M("Compiled template code:\n\n"+O+'\n: "'+L.message+'"')}return t&&(t.fn=O,t.useViews=!!K),O}function U(e,t){return e&&e!==t?t?p(p({},t),e):e:t&&p({},t)}function J(e){return ke[e]||(ke[e]="&#"+e.charCodeAt(0)+";")}function K(e){var t,n,r=[];if(typeof e===Ce)for(t in e)n=e[t],n&&n.toJSON&&!n.toJSON()||z(n)||r.push({key:t,prop:n});return r}function O(t,n,r){var i=this.jquery&&(this[0]||V('Unknown template: "'+this.selector+'"')),a=i.getAttribute(Ae);return T.call(a?e.data(i)[Te]:W(i),t,n,r)}function q(e){return void 0!=e?be.test(e)&&(""+e).replace(_e,J)||e:""}var B=(0,eval)("this"),L=e===!1;e=e&&e.fn?e:B.jQuery;var Q,H,D,P,Z,z,G,W,X,Y,ee,te,ne,re,ie="v1.0.0-beta",ae="{",se="{",oe="}",de="}",pe="^",le=/^(!*?)(?:null|true|false|\d[\d.]*|([\w$]+|\.|~([\w$]+)|#(view|([\w$]+))?)([\w$.^]*?)(?:[.[^]([\w$]+)\]?)?)$/g,ue=/(\()(?=\s*\()|(?:([([])\s*)?(?:(\^?)(!*?[#~]?[\w$.^]+)?\s*((\+\+|--)|\+|-|&&|\|\||===|!==|==|!=|<=|>=|[<>%*:?\/]|(=))\s*|(!*?[#~]?[\w$.^]+)([([])?)|(,\s*)|(\(?)\\?(?:(')|("))|(?:\s*(([)\]])(?=\s*[.^]|\s*$|[^\(\[])|[)\]])([([]?))|(\s+)/g,ce=/[ \t]*(\r\n|\n|\r)/g,fe=/\\(['"])/g,ge=/['"\\]/g,ve=/(?:\x08|^)(onerror:)?(?:(~?)(([\w$_\.]+):)?([^\x08]+))\x08(,)?([^\x08]+)/gi,me=/^if\s/,he=/<(\w+)[>\s]/,we=/[\x00`><"'&]/g,be=/[\x00`><\"'&]/,xe=/^on[A-Z]|^convert(Back)?$/,_e=we,ye=0,ke={"&":"&","<":"<",">":">","\x00":"�","'":"'",'"':""","`":"`"},je="html",Ce="object",Ae="data-jsv-tmpl",Te="jsvTmpl",Re="For #index in nested block use #getIndex().",Ve={},Me=B.jsrender,$e=Me&&e&&!e.render,Ne={template:{compile:k},tag:{compile:_},helper:{},converter:{}};if(Z={jsviews:ie,settings:function(e){p(ne,e),o(ne._dbgMode),ne.jsv&&ne.jsv()},sub:{View:b,Err:d,tmplFn:$,parse:S,extend:p,extendCtx:U,syntaxErr:M,onStore:{},_ths:r,_tg:function(){}},map:j,_cnvt:v,_tag:w,_err:V},(d.prototype=new Error).constructor=d,c.depends=function(){return[this.get("item"),"index"]},f.depends="index",b.prototype={get:u,getIndex:f,getRsc:h,hlp:g,_is:"view"},!(Me||e&&e.render)){for(Q in Ne)A(Q,Ne[Q]);W=Z.templates,X=Z.converters,Y=Z.helpers,ee=Z.tags,te=Z.sub,ne=Z.settings,te._tg.prototype={baseApply:y,cvtArgs:m},P=te.topView=new b,e?(e.fn.render=O,e.observable&&(p(te,e.views.sub),Z.map=e.views.map)):(e={},L&&(B.jsrender=e),e.renderFile=e.__express=e.compile=function(){throw"Node.js: use npm jsrender, or jsrender-node.js"},e.isFunction=function(e){return"function"==typeof e},e.isArray=Array.isArray||function(e){return"[object Array]"==={}.toString.call(e)},te._jq=function(t){t!==e&&(p(t,e),e=t,e.fn.render=O,delete e.jsrender)},e.jsrender=ie),z=e.isFunction,G=e.isArray,e.render=Ve,e.views=Z,e.templates=W=Z.templates,ne({debugMode:o,delimiters:l,onError:function(e,t,n){return t&&(e=void 0===n?"{Error: "+(e.message||e)+"}":z(n)?n(e,t):n),void 0==e?"":e},_dbgMode:!1}),ee({"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,a="",s=0;return r.rendering.done||(t=n?i.view.data:e,void 0!==t&&(a+=i.render(t,n),s+=G(t)?t.length:1),(r.rendering.done=s)&&(r.selected=i.index)),a},flow:!0},props:{baseTag:"for",dataMap:j(K),flow:!0},include:{flow:!0},"*":{render:i,flow:!0},":*":{render:i,flow:!0},dbg:Y.dbg=X.dbg=s}),X({html:q,attr:q,url:function(e){return void 0!=e?encodeURI(""+e):null===e?e:""}}),l()}return $e&&Me.views.sub._jq(e),e||Me}); //# sourceMappingURL=jsrender.min.js.map \ No newline at end of file diff --git a/jsrender.min.js.map b/jsrender.min.js.map index 6e9dec3..01abddd 100644 --- a/jsrender.min.js.map +++ b/jsrender.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["jsrender.js"],"names":["factory","global","eval","$","jQuery","define","amd","exports","module","fn","getDerivedMethod","baseMethod","method","ret","tag","this","prevBase","base","apply","arguments","getMethod","$isFunction","_d","noop","tagHandlersFromProps","tagCtx","prop","props","rHasHandlers","test","retVal","val","dbgBreak","e","baseApply","dbgMode","debugMode","$viewsSettings","_dbgMode","JsViewsError","message","name","link","$extend","target","source","$viewsDelimiters","openChars","closeChars","delimOpenChar0","charAt","delimOpenChar1","delimCloseChar0","delimCloseChar1","linkChar","rTag","$sub","RegExp","rTmplString","getView","inner","type","undefined","views","i","l","found","view","root","_","useKey","get","length","parent","getNestedIndex","index","getIndex","getHelper","helper","wrapped","ctx","linkCtx","res","$helpers","_wrp","convertVal","converter","onError","value","boundTag","tmpl","bnds","args","data","$views","_tg","inline","bnd","unlinked","tagName","cvt","flow","extendCtx","_er","cvtArgs","convert","onRender","convertArgs","getRsc","error","slice","depends","getDeps","getResource","resourceType","itemName","store","renderTag","parentView","tagCtxs","isUpdate","topView","tagDef","template","tags","attr","parentTag","itemRet","tagCtxCtx","content","callInit","mapDef","thisMap","initialTmpl","tagDataMap","parentTmpl","_is","tmpls","render","renderContent","$templates","_ctr","init","dataMap","arrVws","dataBoundOnly","map","parents","parentTags","rendering","src","unmap","tgt","noVws","HTML","$converters","html","View","context","key","contentTmpl","parentView_","self_","self","isArray","id","viewId","linked","indexStr","push","splice","compileChildResources","storeName","resources","resourceName","resource","settings","compile","onStore","jsvStores","compileTag","Tag","baseTag","compiledDef","$tags","prototype","constructor","_parentTmpl","compileTmpl","options","lookupTemplate","currentName","nodeType","elem","document","getElementById","find","innerHTML","getAttribute","tmplAttr","jsvTmpl","tmplName","setAttribute","compiledTmpl","tmplOrMarkup","markup","tmplObject","tmplFn","replace","rEscapeQuotes","$render","Map","getTgt","baseMap","htmlTag","wrapMap","links","rFirstElem","exec","toLowerCase","div","trim","registerStore","storeSettings","theStore","item","thisStore","OBJECT","storeNames","noIteration","isTopRenderCall","prevData","prevIndex","result","isRenderCall","useViews","renderWithViews","$isArray","setItemVar","newCtx","itemVar","newView","childView","itemResult","swapContent","outerOnRender","syntaxError","helpers","it","fallback","Err","isLinkExpr","convertBack","hasElse","pushprecedingContent","shift","loc","substr","rNewLine","blockTagCheck","block","parseTag","all","bind","colon","comment","codeTag","params","slash","closeBlock","pathBindings","ctxProps","paramsArgs","paramsProps","paramsCtxProps","useTrigger","allowCode","rUnescapeQuotes","rTestElseIf","current","substring","stack","pop","parseParams","rBuildHash","onerror","isCtx","keyToken","keyValue","arg","param","hasHandlers","newNode","parsedParam","astTop","buildCode","setPaths","pathsArr","paths","deps","concat","paramStructure","parts","parseTokens","lftPrn0","lftPrn","bound","path","operator","err","eq","path2","prn","comma","lftPrn2","apos","quot","rtPrn","rtPrnDot","prn2","space","full","parsePath","allPath","not","object","viewProperty","pathTokens","leafToken","subPath","bindings","binds","named","bindto","_jsvto","bndCtx","bd","theOb","_jsv","sb","pathStart","parenDepth","expr","exprFn","newOb","aposed","quoted","boundName","bndStack","prm","tmplLinks","indexOf","paramIndex","split","join","rPath","fnCall","rParams","ast","node","hasTag","hasEncoder","getsVal","hasCnvt","useCnvt","tmplBindings","boundOnErrStart","boundOnErrEnd","tagRender","nestedTmpls","nestedTmpl","tagAndElses","nextIsElse","oldCode","isElse","isGetVal","tagCtxFn","tagStart","trigger","tmplBindingKey","templates","converters","code","tmplOptions","debug","Function","_tag","parentContext","getCharEntity","ch","charEntities","charCodeAt","getTargetProps","toJSON","$fnRender","tmplElem","jquery","selector","call","htmlEncode","text","rIsHtml","rHtmlEncode","setGlobals","jsvStoreName","versionNumber","rAttrEncode","&","<",">","\u0000","'","\"","`","jsr","jsrender","jsrToJq","jsviews","jsv","sub","parse","extend","syntaxErr","_ths","_cnvt","_err","Error","hlp","observable","renderFile","__express","isFunction","ob","Array","obj","_jq","jq","delimiters","if","done","selected","for","finalElse","include","*",":*","dbg","url","encodeURI"],"mappings":"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","file":"jsrender.min.js","sourcesContent":["/*! JsRender v1.0.0-rc.68 (Beta - Release Candidate): 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 2015, Boris Moore\n * Released under the MIT License.\n */\n\n//jshint -W018, -W041\n\n(function(factory) {\n\t// global var is the this object, which is window when running in the usual browser environment\n\tvar global = (0, eval)('this'), // jshint ignore:line\n\t\t$ = global.jQuery;\n\n\tif (typeof define === \"function\" && define.amd) { // AMD script loader, e.g. RequireJS\n\t\tdefine(factory);\n\t} else if (typeof exports === \"object\") { // CommonJS e.g. Browserify\n\t\tmodule.exports = $\n\t\t\t? factory($)\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($);\n\t\t\t};\n\t} else { // Browser using plain