s3ff 0.9.8 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 74ccb1eae4f973910591a53e0fd0534ebdd715de
4
- data.tar.gz: fde48fef0bc06700faa8df973cf0ff449b2f86d2
3
+ metadata.gz: 9e3e2a9722092e160db477251f665a4dda7e7559
4
+ data.tar.gz: c6430aefdba59ae84d70dc0a9fefcdc309933d8a
5
5
  SHA512:
6
- metadata.gz: 8322d7e52acd5f38f27af52d580d32e88b34a9c7127a1ea72b255ead038657e0bf73fec521f37873b1abce2e2cd3572dc6e5603b8bb09d69ce220e5c7b4f0742
7
- data.tar.gz: 5a6514ca04d4e1068c896ed624b658d41a3f4d4faa1be47c8fd13b816c5a70a8b1369bfc0917e2e421e69a555b6a2a92ca5611d3b20567f16592d23efe392c54
6
+ metadata.gz: 77d153985692168669e09f7d9d74c45271f408734d6b3c2a03380941837fb8e8cd24b3e5356d15dd4750b7b21672f535253842de3aaa6273cad898b1b9498b3f
7
+ data.tar.gz: f94ac0d9aca76222801671a7abfade7881d5a5b95889c27f79fdd6bd15ddc498d21a6c66d9a5752d03b540b4ba9a7b7d3e3b3ab521053dcf51fff479c98c726f
@@ -1,5 +1,5 @@
1
1
  //= require s3_file_field
2
- //= require jsrender.min
2
+ //= require jsviews.min
3
3
 
4
4
  $(function() {
5
5
 
@@ -10,71 +10,105 @@ $(function() {
10
10
  }
11
11
  if (! iCanHasCORSRequest()) return;
12
12
 
13
- var ready = function() {
14
- var s3ff_init = function () {
15
- if ($(this).hasClass('s3ff_enabled')) return;
13
+ $(document).on('page:change', function() {
14
+ if (!window.s3ff) {
15
+ window.s3ff = {
16
+ selector: "[data-acl][data-aws-access-key-id]:not(.s3ff_enabled)",
17
+ init: function () {
18
+ if ($(this).hasClass('s3ff_enabled')) return;
16
19
 
17
- var that = $(this).addClass('s3ff_enabled');
18
- var multi = that.attr('multiple');
19
- var label = that.wrap($.templates($('#s3ff_label').html()).render()).parents('.s3ff_label').attr('for', that.attr('id'));
20
- var wrap = that.wrap('<div></div>').parent();
21
- var section = function(file, selector) {
22
- var upload = label.find("#upload-" + file.unique_id);
23
- return (selector ? upload.find(selector) : upload);
24
- };
20
+ var that = $(this).addClass('s3ff_enabled');
21
+ var multi = that.attr('multiple');
22
+ var placeholder = that.data('placeholder');
23
+ var obj = that.data('s3ff') || [ {} ];
24
+ $.each(obj, function() { this.placeholder = placeholder; });
25
+ var wrap = that.wrap('<div class="s3ff_fileinput_wrap"></div>').parent();
26
+ var dom = $('<label class="s3ff_fileinput_label"></label>').attr('for', that.attr('id'));
27
+ wrap.after(dom);
28
+ var tmpl = $.templates($('#s3ff_template').html());
29
+ tmpl.link(dom, obj);
25
30
 
26
- var s3ff_handlers = {
27
- drop: function(e, data) {
28
- if (that[0] != e.originalEvent.target) return e.preventDefault();
29
- if (! multi) label.children('.s3ff_section').remove();
30
- },
31
- change: function(e, data) {
32
- if (! multi) label.children('.s3ff_section').remove();
33
- },
34
- always: function(e, data) {
35
- wrap.parents("form").find("[type='submit']").each(function() {
36
- this.uploading = this.uploading || 0;
37
- $(this).attr({'disabled': (--this.uploading > 0)});
31
+ $(dom).on('click', '[data-dismiss]', function(event) {
32
+ var unique_id = $(this).data('unique_id');
33
+ $.each(obj, function() {
34
+ if (unique_id == this.unique_id) {
35
+ delete this.result;
36
+ event.preventDefault();
37
+ event.stopPropagation();
38
+ }
39
+ });
40
+ $.observable(obj).refresh(obj);
38
41
  });
39
- },
40
- add: function(e, data) {
41
- wrap.parents("form").find("[type='submit']").each(function() {
42
- this.uploading = this.uploading || 0;
43
- $(this).attr({'disabled': (++this.uploading > 0)});
44
- });
45
- data.submit();
46
- },
47
- send: function(e, data) {
48
- label.append($.templates($('#s3ff_upload').html()).render(data.files[0]));
49
- },
50
- done: function(e, data) {
51
- var upload = section(data.files[0]);
52
- var field_prefix = that.attr('name').replace(/\]$/, '');
53
- upload.append($.templates($('#s3ff_done').html()).render(data, { field_prefix: field_prefix }));
54
- upload.find('.s3ff_progress').hide();
55
- },
56
- fail: function(e, data) {
57
- section(data.files[0], '.s3ff_progress').html($.templates($('#s3ff_fail').html()).render(data));
58
- },
59
- progress: function(e, data) {
60
- var pct = (parseInt(data.loaded / data.total * 100, 10)) + "%";
61
- section(data.files[0], '.s3ff_progress .s3ff_bar').css({width: pct}).text(pct);
62
- }
63
- };
64
-
65
- var data = that.data('s3ff');
66
- if (data) {
67
- s3ff_handlers.send.apply(this, [null, data]);
68
- s3ff_handlers.done.apply(this, [null, data]);
69
- }
70
-
71
- that.S3FileField(s3ff_handlers);
72
- };
73
42
 
74
- var selector = "[data-acl][data-aws-access-key-id]:not(.s3ff_enabled)";
75
- $(selector).each(s3ff_init);
76
- $(document).on("mouseenter mousedown touchstart", selector, s3ff_init);
77
- };
43
+ var s3ff_handlers = {
44
+ drop: function(e, data) {
45
+ if (that[0] != e.originalEvent.target) return e.preventDefault();
46
+ if (! multi) $.observable(obj).refresh(data.files);
47
+ },
48
+ change: function(e, data) {
49
+ if (! multi) $.observable(obj).refresh(data.files);
50
+ },
51
+ send: function(e, data) {
52
+ $.each(obj, function() {
53
+ if (data.files[0].unique_id == this.unique_id) {
54
+ dom.find('.s3ff_bar').parent().show();
55
+ this.placeholder = placeholder;
56
+ }
57
+ });
58
+ // $.observable(obj).refresh(obj); // progress bar animation doesn't work
59
+ },
60
+ progress: function(e, data) {
61
+ $.each(obj, function() {
62
+ if (data.files[0].unique_id == this.unique_id) {
63
+ this.progress = (parseInt(data.loaded / data.total * 100, 10)) + "%";
64
+ dom.find('.s3ff_bar').css({width: this.progress}).text(this.progress);
65
+ }
66
+ });
67
+ // $.observable(obj).refresh(obj); // progress bar animation doesn't work
68
+ },
69
+ done: function(e, data) {
70
+ var field_prefix = that.attr('name').replace(/\]$/, '');
71
+ $.each(obj, function() {
72
+ if (data.files[0].unique_id == this.unique_id) {
73
+ delete this.progress;
74
+ this.fieldname = field_prefix + '_direct_url';
75
+ this.result = data.result;
76
+ }
77
+ });
78
+ $.observable(obj).refresh(obj);
79
+ },
80
+ fail: function(e, data) {
81
+ $.each(obj, function() {
82
+ if (data.files[0].unique_id == this.unique_id) {
83
+ this.progress_pct = "80%";
84
+ this.progress_style = "width:" + this.progress_pct;
85
+ this.failReason = data.failReason || data.textStatus || 'Failed!';
86
+ }
87
+ });
88
+ $.observable(obj).refresh(obj);
89
+ },
90
+ add: function(e, data) {
91
+ // beginning; disable submit
92
+ wrap.parents("form").find("[type='submit']").each(function() {
93
+ this.uploading = this.uploading || 0;
94
+ $(this).attr({'disabled': (++this.uploading > 0)});
95
+ });
96
+ data.submit();
97
+ },
98
+ always: function(e, data) {
99
+ // end; re-enable submit
100
+ wrap.parents("form").find("[type='submit']").each(function() {
101
+ this.uploading = this.uploading || 0;
102
+ $(this).attr({'disabled': (--this.uploading > 0)});
103
+ });
104
+ }
105
+ };
78
106
 
79
- $(document).on('page:change', ready);
107
+ that.S3FileField(s3ff_handlers);
108
+ }
109
+ }
110
+ }
111
+ $(s3ff.selector).each(s3ff.init);
112
+ $(document).on("mouseenter mousedown touchstart", s3ff.selector, s3ff.init);
113
+ });
80
114
  });
data/lib/s3ff/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module S3FF
2
- VERSION = '0.9.8'
2
+ VERSION = '0.10.0'
3
3
  end
@@ -1,44 +1,50 @@
1
1
  module S3FF
2
2
  module ViewHelper
3
- def include_s3ff_templates(map = { _direct_url: 'result.url' }) # extras: , _file_name: 'result.filename', _file_size: 'result.filesize', _content_type: 'result.filetype' })
3
+ def include_s3ff_templates
4
4
  <<-EOM
5
5
  <div style="display:none;">
6
- <script id="s3ff_label" type="text/x-tmpl">
7
- <label class="s3ff_label" style="display:block;"></label>
8
- </script>
9
- <script id="s3ff_upload" type="text/x-tmpl" data-jsv-tmpl="_0">
10
- <div class="s3ff_section" id="upload-{{:unique_id}}" style="margin-top:1em;">
6
+ <script id="s3ff_template" type="text/x-tmpl">
7
+ {^{if failReason}}
11
8
  <div class="progress s3ff_progress">
12
- <div class="progress-bar progress-bar-striped active s3ff_bar" style="width: 0%"></div>
9
+ <div class="progress-bar progress-bar-danger s3ff_bar" style="width:80%;">
10
+ <span class="fa fa-exclamation-triangle"></span>
11
+ {^{:failReason}}
12
+ </div>
13
13
  </div>
14
- </div>
15
- </script>
16
- <script id="s3ff_fail" type="text/x-tmpl">
17
- <div class="progress-bar progress-bar-danger" style="width: 80%">
18
- <span class="fa fa-exclamation-triangle"></span>
19
- {{if failReason}}
20
- {{:failReason}}
21
- {{else}}
22
- Upload failed!
23
- {{/if}}
24
- </div>
25
- </script>
26
- <script id="s3ff_done" type="text/x-tmpl">
27
- {{for files}}
28
- <button class="close" data-dismiss="alert" data-target="#upload-{{:unique_id}}" style="margin-right:4px;" type="button">
29
- <span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
30
- </button>
31
- {{/for}}
32
- <span class="form-control">
33
- <span class="fa fa-file-o"></span>
34
- {{:result.filename}}
35
- {{if result.filesize}}
36
- ({{:result.filesize}} bytes)
14
+ {^{else}}
15
+ <div class="progress s3ff_progress" style="display:none;">
16
+ <div class="progress-bar progress-bar-striped active s3ff_bar" style="width:0%;"></div>
17
+ </div>
18
+ {{/if}}
19
+ {^{if result}}
20
+ <div class="thumbnail" id="upload-{{:unique_id}}">
21
+ <input type="hidden" data-link="name{:fieldname} value:{:result.url}"/>
22
+ {^{if placeholder}}
23
+ <img data-link="src{:result.url} alt{:result.filename}">
24
+ {{/if}}
25
+ <div class="caption">
26
+ <button class="close" data-dismiss="alert" data-unique_id="{{:unique_id}}" data-target="#upload-{{:unique_id}}" style="margin-left:1em;" type="button">
27
+ <span aria-hidden="true">&times;</span><span class="sr-only">Remove</span>
28
+ </button>
29
+ <span class="fa fa-file-o"></span>
30
+ {^{:result.filename}}
31
+ </div>
32
+ </div>
33
+ {^{else}}
34
+ {^{if placeholder}}
35
+ <div class="thumbnail" id="upload-{{:unique_id}}">
36
+ {^{if placeholder.url}}
37
+ <img data-link="src{:placeholder.url}">
38
+ {{/if}}
39
+ {^{if placeholder.filename}}
40
+ <div class="caption">
41
+ <span class="fa fa-file-o"></span>
42
+ {^{:placeholder.filename}}
43
+ </div>
44
+ {{/if}}
45
+ </div>
37
46
  {{/if}}
38
- </span>
39
- <div style="display:none;">
40
- #{map.collect {|k,v| "<input name=\"{{>~field_prefix}}#{k}]\" type=\"hidden\" value=\"{{:#{v}}}\" />" }.join}
41
- </div>
47
+ {{/if}}
42
48
  </script>
43
49
  </div>
44
50
  EOM
data/lib/s3ff.rb CHANGED
@@ -20,17 +20,16 @@ S3FileField::FormBuilder.class_eval do
20
20
  # this means we're re-rendering :. we should prepopulate the s3ff fields to avoid re-uploading
21
21
  options[:data] ||= {}
22
22
  options[:data].merge!({
23
- s3ff: {
24
- files: [{
25
- unique_id: "#{object_name.to_s.parameterize}#{SecureRandom.hex}",
26
- }],
23
+ s3ff: [{
24
+ fieldname: "#{object_name.to_s}[#{direct_url_attr}]",
25
+ unique_id: "#{object_name.to_s.parameterize}#{SecureRandom.hex}",
27
26
  result: {
28
27
  filename: changes["#{method}_file_name"].try(:last) || File.basename(new_direct_url),
29
28
  filesize: changes["#{method}_file_size"].try(:last),
30
29
  filetype: changes["#{method}_content_type"].try(:last),
31
30
  url: new_direct_url,
32
- }
33
- }
31
+ },
32
+ }],
34
33
  })
35
34
  end
36
35
  s3_file_field_without_s3ff(method, options)
@@ -0,0 +1,7 @@
1
+ /*! jsviews.js v1.0.0-alpha single-file version:
2
+ includes JsRender, JsObservable and JsViews http://github.com/BorisMoore/jsrender and http://jsviews.com/jsviews
3
+ informal pre V1.0 commit counter: 60 (Beta Candidate) */
4
+ (function(n,t,i){"use strict";function et(n,t){for(var i in t.props)wt.test(i)&&(n[i]=t.props[i])}function ot(n){return n}function ir(n){return n}function dt(n){s._dbgMode=n;pt=n?"Unavailable (nested view): use #getIndex()":"";it("dbg",ci.dbg=tt.dbg=n?ir:ot)}function st(n){this.name=(u.link?"JsViews":"JsRender")+" Error";this.message=n||this.name}function f(n,t){for(var i in t)n[i]=t[i];return n}function d(n){return typeof n=="function"}function gt(n,t,i){return(!o.rTag||n)&&(p=n?n.charAt(0):p,w=n?n.charAt(1):w,h=t?t.charAt(0):h,v=t?t.charAt(1):v,nt=i||nt,n="\\"+p+"(\\"+nt+")?\\"+w,t="\\"+h+"\\"+v,y="(?:(?:(\\w+(?=[\\/\\s\\"+h+"]))|(?:(\\w+)?(:)|(>)|!--((?:[^-]|-(?!-))*)--|(\\*)))\\s*((?:[^\\"+h+"]|\\"+h+"(?!\\"+v+"))*?)",o.rTag=y+")",y=new RegExp(n+y+"(\\/)?|(?:\\/(\\w+)))"+t,"g"),yt=new RegExp("<.*>|([^\\\\]|^)[{}]|"+n+".*"+t)),[p,w,h,v,nt]}function rr(n,t){t||(t=n,n=i);var e,f,o,u,r=this,s=!t||t==="root";if(n){if(u=r.type===t?r:i,!u)if(e=r.views,r._.useKey){for(f in e)if(u=e[f].get(n,t))break}else for(f=0,o=e.length;!u&&f<o;f++)u=e[f].get(n,t)}else if(s)while(r.parent.parent)u=r=r.parent;else while(r&&!u)u=r.type===t?r:i,r=r.parent;return u}function ni(){var n=this.get("item");return n?n.index:i}function ti(){return this.index}function ur(t){var u,e=this,o=e.linkCtx,r=(e.ctx||{})[t];return r===i&&o&&o.ctx&&(r=o.ctx[t]),r===i&&(r=ci[t]),r&&d(r)&&!r._wrp&&(u=function(){return r.apply(!this||this===n?e:this,arguments)},u._wrp=!0,f(u,r)),u||r}function fr(n,t,u,f){var e,s,c=+u===u&&t.tmpl.bnds[u-1],h=t.linkCtx;return f=f!==i&&{props:{},args:[f]},u=f||(c?c(t.data,t,r):u),s=u.args[0],(n||c)&&(e=h&&h.tag,e||(e={_:{inline:!h,bnd:c},tagName:":",cvt:n,flow:!0,tagCtx:u,_is:"tag"},h&&(h.tag=e,e.linkCtx=h,u.ctx=a(u.ctx,h.view.ctx)),o._lnk(e)),e._er=f&&s,et(e,u),u.view=t,e.ctx=u.ctx||{},delete u.ctx,t._.tag=e,s=ht(e,e.convert||n!=="true"&&n)[0],s=c&&t._.onRender?t._.onRender(s,t,c):s,t._.tag=i),s!=i?s:""}function ht(n,t){var r=n.tagCtx,u=r.view,i=r.args;return t=t&&(""+t===t?u.getRsc("converters",t)||c("Unknown converter: '"+t+"'"):t),i=!i.length&&!r.index?[u.data]:t?i.slice():i,t&&(t.depends&&(n.depends=o.getDeps(n.depends,n,t.depends,t)),i[0]=t.apply(n,i)),i}function er(n,t){for(var f,e,u=this;f===i&&u;)e=u.tmpl[n],f=e&&e[t],u=u.parent;return f||r[n][t]}function or(n,t,u,s,h,l){var v,lt,at,ot,p,vt,nt,y,st,rt,it,yt,pt,d,k,ct,wt,g="",w=t.linkCtx||0,ut=t.ctx,bt=u||t.tmpl,ft=+s===s&&bt.bnds[s-1];for(n._is==="tag"&&(v=n,n=v.tagName,s=v.tagCtxs),v=v||w.tag,l=l!==i&&(g+=l,[{props:{},args:[]}]),s=l||(ft?ft(t.data,t,r):s),vt=s.length,p=0;p<vt;p++)p||u&&v||(it=t.getRsc("tags",n)||c("Unknown tag: {{"+n+"}}")),y=s[p],(!w.tag||v._er)&&(rt=y.tmpl,rt=y.content=rt&&bt.tmpls[rt-1],f(y,{tmpl:(v?v:it).template||rt,render:ei,index:p,view:t,ctx:a(y.ctx,ut)})),(u=y.props.tmpl)&&(u=""+u===u?t.getRsc("templates",u)||e(u):u,y.tmpl=u),v||(it._ctr?(v=new it._ctr,yt=!!v.init):o._lnk(v={render:it.render}),v._={inline:!w},w&&(w.tag=v,v.linkCtx=w),(v._.bnd=ft||w.fn)?v._.arrVws={}:v.dataBoundOnly&&c("{^{"+n+"}} tag must be data-bound"),v.tagName=n,v.parent=ot=ut&&ut.tag,v._is="tag",v._def=it,v.tagCtxs=s),y.tag=v,v.dataMap&&v.tagCtxs&&(y.map=v.tagCtxs[p].map),v.flow||(st=y.ctx=y.ctx||{},lt=v.parents=st.parentTags=ut&&a(st.parentTags,ut.parentTags)||{},ot&&(lt[ot.tagName]=ot),lt[v.tagName]=st.tag=v);if(t._.tag=v,!(v._er=l)){for(et(v,s[0]),v.rendering={},p=0;p<vt;p++)y=v.tagCtx=v.tagCtxs[p],ct=y.props,k=ht(v,v.convert),(pt=ct.dataMap||v.dataMap)&&(k.length||ct.dataMap)&&(d=y.map,(!d||d.src!==k[0]||h)&&(d&&d.src&&d.unmap(),d=y.map=pt.map(k[0],ct)),k=[d.tgt]),v.ctx=y.ctx,!p&&yt&&(wt=v.template,v.init(y,w,v.ctx),yt=i,v.template!==wt&&(v._.tmpl=v.template),w&&(w.attr=v.attr=w.attr||v.attr)),nt=i,v.render&&(nt=v.render.apply(v,k)),k=k.length?k:[t],nt=nt!==i?nt:y.render(k[0],!0)||(h?i:""),g=g?g+(nt||""):nt;delete v.rendering}return v.tagCtx=v.tagCtxs[0],v.ctx=v.tagCtx.ctx,v._.inline&&(at=v.attr)&&at!==b&&(g=at==="text"?tt.html(g):""),ft&&t._.onRender?t._.onRender(g,t,ft):g}function g(n,t,i,r,u,f,e,o){var a,h,c,s=this,v=t==="array",l={key:0,useKey:v?0:1,id:""+tr++,onRender:o,bnds:{}};s.data=r;s.tmpl=u;s.content=e;s.views=v?[]:{};s.parent=i;s.type=t||"top";s._=l;s.linked=!!o;i?(a=i.views,h=i._,h.useKey?(a[l.key="_"+h.useKey++]=s,s.index=pt,s.getIndex=ni,c=h.tag,l.bnd=v&&(!c||!!c._.bnd&&c)):a.splice(l.key=s.index=f,0,s),s.ctx=n||i.ctx):s.ctx=n}function sr(n){var i,r,t,u,e,f,s;for(i in k)if(e=k[i],(f=e.compile)&&(r=n[i+"s"]))for(t in r)u=r[t]=f(t,r[t],n),u&&(s=o.onStore[i])&&s(t,u,f)}function hr(n,t,r){var o,u;return d(t)?t={depends:t.depends,render:t}:(t.baseTag&&(t.flow=!!t.flow,t=f(f({},t.baseTag),t)),(u=t.template)!==i&&(t.template=""+u===u?e[u]||e(u):u),t.init!==!1&&(o=t._ctr=function(){},(o.prototype=t).constructor=o)),r&&(t._parentTmpl=r),t}function ii(r,u,f,o){function c(u){if(""+u===u||u.nodeType>0){try{h=u.nodeType>0?u:!yt.test(u)&&t&&t(n.document).find(u)[0]}catch(s){}return h&&(u=e[r=r||h.getAttribute(ft)],u||(r=r||"_"+nr++,h.setAttribute(ft,r),u=e[r]=ii(r,h.innerHTML,f,o)),h=i),u}}var s,h;return u=u||"",s=c(u),o=o||(u.markup?u:{}),o.tmplName=r,f&&(o._parentTmpl=f),!s&&u.markup&&(s=c(u.markup))&&s.fn&&(s.debug!==u.debug||s.allowCode!==u.allowCode)&&(s=s.markup),s!==i?(r&&!f&&(kt[r]=function(){return u.render.apply(u,arguments)}),s.fn||u.fn?s.fn&&(u=r&&r!==s.tmplName?a(o,s):s):(u=ui(s,o),lt(s.replace(pi,"\\$&"),u)),sr(o),u):void 0}function ri(n){function t(t,i){this.tgt=n.getTgt(t,i)}return d(n)&&(n={getTgt:n}),n.baseMap&&(n=f(f({},n.baseMap),n)),n.map=function(n,i){return new t(n,i)},n}function ui(n,t){var i,e=s.wrapMap||{},r=f({markup:n,tmpls:[],links:{},tags:{},bnds:[],_is:"template",render:fi},t);return t.htmlTag||(i=ki.exec(n),r.htmlTag=i?i[1].toLowerCase():""),i=e[r.htmlTag],i&&i!==e.div&&(r.markup=u.trim(r.markup)),r}function cr(n,t){function u(e,s,h){var v,c,l,a;if(e&&typeof e=="object"&&!e.nodeType&&!e.markup&&!e.getTgt){for(l in e)u(l,e[l],s);return r}return s===i&&(s=e,e=i),e&&""+e!==e&&(h=s,s=e,e=i),a=h?h[f]=h[f]||{}:u,c=t.compile,s===null?e&&delete a[e]:(s=c?s=c(e,s,h):s,e&&(a[e]=s)),c&&s&&(s._is=n),s&&(v=o.onStore[n])&&v(e,s,c),s}var f=n+"s";r[f]=u;k[n]=t}function lr(n,t,i){var r=this.jquery&&(this[0]||c('Unknown template: "'+this.selector+'"')),u=r.getAttribute(ft);return fi.call(u?e[u]:e(r),n,t,i)}function ct(n,t,i){if(s._dbgMode)try{return n.fn(t,i,r)}catch(u){return c(u,i)}return n.fn(t,i,r)}function fi(n,t,i,r,f,e){var o=this;return!r&&o.fn._nvw&&!u.isArray(n)?ct(o,n,{tmpl:o}):ei.call(o,n,t,i,r,f,e)}function ei(n,t,r,f,o,s){var y,ut,d,l,nt,tt,it,p,v,rt,w,ft,h,et,c=this,k="";if(!!t===t&&(r=t,t=i),o===!0&&(it=!0,o=0),c.tag?(p=c,c=c.tag,rt=c._,ft=c.tagName,h=rt.tmpl||p.tmpl,et=c.attr&&c.attr!==b,t=a(t,c.ctx),v=p.content,p.props.link===!1&&(t=t||{},t.link=!1),f=f||p.view,n=arguments.length?n:f):h=c,h&&(!f&&n&&n._is==="view"&&(f=n),f&&(v=v||f.content,s=s||f._.onRender,n===f&&(n=f.data),t=a(t,f.ctx)),f&&f.type!=="top"||((t=t||{}).root=n),h.fn||(h=e[h]||e(h)),h)){if(s=(t&&t.link)!==!1&&!et&&s,w=s,s===!0&&(w=i,s=f._.onRender),t=h.helpers?a(h.helpers,t):t,u.isArray(n)&&!r)for(l=it?f:o!==i&&f||new g(t,"array",f,n,h,o,v,s),y=0,ut=n.length;y<ut;y++)d=n[y],nt=new g(t,"item",l,d,h,(o||0)+y,v,s),tt=ct(h,d,nt),k+=l._.onRender?l._.onRender(tt,nt):tt;else(f||!h.fn._nvw)&&(l=it?f:new g(t,ft||"data",f,n,h,o,v,s),rt&&!c.flow&&(l.tag=c)),k+=ct(h,n,l);return w?w(k,l):k}return""}function c(n,t,i){var r=s.onError(n,t,i);if(""+n===n)throw new o.Err(r);return!t.linkCtx&&t.linked?tt.html(r):r}function l(n){c("Syntax error\n"+n)}function lt(n,t,i,r){function k(t){t-=f;t&&h.push(n.substr(f,t).replace(ut,"\\n"))}function c(t){t&&l('Unmatched or missing tag: "{{/'+t+'}}" in template:\n'+n)}function d(e,o,v,y,p,d,nt,tt,it,rt,ft,et){d&&(p=":",y=b);rt=rt||i;var ot=(o||i)&&[[]],ht="",ct="",lt="",at="",vt="",yt="",pt="",bt="",st=!rt&&!p&&!nt;v=v||(it=it||"#data",p);k(et);f=et+e.length;tt?g&&h.push(["*","\n"+it.replace(yi,"$1")+"\n"]):v?(v==="else"&&(bi.test(it)&&l('for "{{else if expr}}" use "{{else expr}}"'),ot=u[7],u[8]=n.substring(u[8],et),u=s.pop(),h=u[2],st=!0),it&&(hi(it.replace(ut," "),ot,t).replace(wi,function(n,t,i,r,u,f,e,o){return e?(ct+=f+",",at+="'"+o+"',"):i?(lt+=r+f+",",yt+=r+"'"+o+"',"):t?pt+=f:(u==="trigger"&&(bt+=f),ht+=r+f+",",vt+=r+"'"+o+"',",w=w||wt.test(u)),""}).slice(0,-1),ot&&ot[0]&&ot.pop()),a=[v,y||!!r||w||"",st&&[],oi(at,vt,yt),oi(ct,ht,lt),pt,bt,ot||0],h.push(a),st&&(s.push(u),u=a,u[8]=f)):ft&&(c(ft!==u[0]&&u[0]!=="else"&&ft),u[8]=n.substring(u[8],et),u=s.pop());c(!u&&ft);h=u[2]}var o,a,w,g=t&&t.allowCode,e=[],f=0,s=[],h=e,u=[,,e];return i&&(n=p+n+v),c(s[0]&&s[0][2].pop()[0]),n.replace(y,d),k(n.length),(f=e[e.length-1])&&c(""+f!==f&&+f[8]===f[8]&&f[0]),i?(o=vt(e,n,i),at(o,e[0][7])):o=vt(e,t),o._nvw&&(o._nvw=!/[~#]/.test(n)),o}function at(n,t){n.deps=[];for(var i in t)i!=="_jsvto"&&t[i].length&&(n.deps=n.deps.concat(t[i]));n.paths=t}function oi(n,t,i){return[n.slice(0,-1),t.slice(0,-1),i.slice(0,-1)]}function si(n,t){return"\n\t"+(t?t+":{":"")+"args:["+n[0]+"]"+(n[1]||!t?",\n\tprops:{"+n[1]+"}":"")+(n[2]?",\n\tctx:{"+n[2]+"}":"")}function hi(n,t,i){function b(b,k,d,g,nt,tt,it,rt,ut,ft,et,ot,st,ht,ct,at,vt,yt,pt,wt){function ni(n,i,u,e,o,h,c,l){if(u&&(r&&(f==="linkTo"&&(s=t._jsvto=t._jsvto||[],s.push(nt)),(!f||a)&&r.push(nt.slice(i.length))),u!==".")){var v=(e?'view.hlp("'+e+'")':o?"view":"data")+(l?(h?"."+h:e?"":o?"":"."+u)+(c||""):(l=e?"":o?h||"":u,""));return v=v+(l?"."+l:""),i+(v.slice(0,9)==="view.data"?v.slice(5):v)}return n}tt=tt||"";d=d||k||ot;nt=nt||ut;ft=ft||vt||"";var kt,dt,bt,gt=wt.length-1;if(!it||o||e)return r&&at&&!o&&!e&&(!f||a||s)&&(kt=p[u],gt>pt-kt&&(kt=wt.slice(kt,pt+1),at=w+":"+kt+" onerror=''"+h,bt=y[at],bt||(y[at]=!0,y[at]=bt=lt(at,i||r,!0),bt.paths.push({_jsvOb:bt})),bt!==!0&&(s||r).push({_jsvOb:bt}))),o?(o=!st,o?b:'"'):e?(e=!ht,e?b:'"'):(d?(u++,p[u]=pt++,d):"")+(yt?u?"":(c=wt.slice(c,pt),f?(f=a=s=!1,"\b"):"\b,")+c+(c=pt+b.length,r&&t.push(r=[]),"\b"):rt?(u&&l(n),r&&t.pop(),f=nt,a=g,c=pt+b.length,g&&(r=t[f]=[]),nt+":"):nt?nt.split("^").join(".").replace(ai,ni)+(ft?(v[++u]=!0,nt.charAt(0)!=="."&&(p[u]=pt),dt?"":ft):tt):tt?tt:ct?(v[u--]=!1,ct)+(ft?(v[++u]=!0,ft):""):et?(v[u]||l(n),","):k?"":(o=st,e=ht,'"'));l(n)}var f,s,a,e,o,r=t&&t[0],c=0,y=i?i.links:r&&(r.links=r.links||{}),v={},p={0:-1},u=0;return(n+(i?" ":"")).replace(/\)\^/g,").").replace(vi,b)}function vt(n,t,r){var p,f,e,c,g,yt,pt,ni,wt,nt,ot,w,s,st,tt,it,v,ht,y,rt,k,ft,bt,d,kt,dt,ct,h,a,lt,gt,o=0,u="",et={},ti=n.length;for(""+t===t?(y=r?'data-link="'+t.replace(ut," ").slice(1,-1)+'"':t,t=0):(y=t.tmplName||"unnamed",t.allowCode&&(et.allowCode=!0),t.debug&&(et.debug=!0),w=t.bnds,ht=t.tmpls),p=0;p<ti;p++)if(f=n[p],""+f===f)u+='\n+"'+f+'"';else if(e=f[0],e==="*")u+=";\n"+f[1]+"\nret=ret";else{if(c=f[1],ft=f[2],g=si(f[3],"params")+"},"+si(st=f[4]),a=f[5],gt=f[6],bt=f[8],(dt=e==="else")||(o=0,w&&(s=f[7])&&(o=w.push(s))),(ct=e===":")?c&&(e=c===b?">":c+e):(ft&&(rt=ui(bt,et),rt.tmplName=y+"/"+e,vt(ft,rt),ht.push(rt)),dt||(k=e,kt=u,u=""),d=n[p+1],d=d&&d[0]==="else"),lt=a?";\ntry{\nret+=":"\n+",tt="",it="",ct&&(s||gt||c&&c!==b)){if(h="return {"+g+"};",v='c("'+c+'",view,',h=new Function("data,view,j,u"," // "+y+" "+o+" "+e+"\n"+h),h._er=a,tt=v+o+",",it=")",h._tag=e,r)return h;at(h,s);ot=!0}if(u+=ct?(r?(a?"\ntry{\n":"")+"return ":lt)+(ot?(ot=i,nt=wt=!0,v+(s?(w[o-1]=h,o):"{"+g+"}")+")"):e===">"?(pt=!0,"h("+st[0]+")"):(ni=!0,"((v="+st[0]+')!=null?v:"")')):(nt=yt=!0,"\n{view:view,tmpl:"+(ft?ht.length:"0")+","+g+"},"),k&&!d){if(u="["+u.slice(0,-1)+"]",v='t("'+k+'",view,this,',r||s){if(u=new Function("data,view,j,u"," // "+y+" "+o+" "+k+"\nreturn "+u+";"),u._er=a,u._tag=e,s&&at(w[o-1]=u,s),r)return u;tt=v+o+",undefined,";it=")"}u=kt+lt+v+(o||u)+")";s=0;k=0}a&&(nt=!0,u+=";\n}catch(e){ret"+(r?"urn ":"+=")+tt+"j._err(e,view,"+a+")"+it+";}\n"+(r?"":"ret=ret"))}u="// "+y+"\nvar v"+(yt?",t=j._tag":"")+(wt?",c=j._cnvt":"")+(pt?",h=j.converters.html":"")+(r?";\n":',ret=""\n')+(et.debug?"debugger;":"")+u+(r?"\n":";\nreturn ret;");try{u=new Function("data,view,j,u",u)}catch(ii){l("Compiled template code:\n\n"+u+'\n: "'+ii.message+'"')}return t&&(t.fn=u),nt||(u._nvw=!0),u}function a(n,t){return n&&n!==t?t?f(f({},t),n):n:t&&f({},t)}function ar(n){return bt[n]||(bt[n]="&#"+n.charCodeAt(0)+";")}function vr(n){var i,t,r=[];if(typeof n=="object")for(i in n)t=n[i],t&&t.toJSON&&!t.toJSON()||d(t)||r.push({key:i,prop:t});return r}function li(n){return n!=null?di.test(n)&&(""+n).replace(gi,ar)||n:""}if((!t||!t.render)&&!n.jsviews){var u,rt,y,yt,pt,p="{",w="{",h="}",v="}",nt="^",ai=/^(!*?)(?:null|true|false|\d[\d.]*|([\w$]+|\.|~([\w$]+)|#(view|([\w$]+))?)([\w$.^]*?)(?:[.[^]([\w$]+)\]?)?)$/g,vi=/(\()(?=\s*\()|(?:([([])\s*)?(?:(\^?)(!*?[#~]?[\w$.^]+)?\s*((\+\+|--)|\+|-|&&|\|\||===|!==|==|!=|<=|>=|[<>%*:?\/]|(=))\s*|(!*?[#~]?[\w$.^]+)([([])?)|(,\s*)|(\(?)\\?(?:(')|("))|(?:\s*(([)\]])(?=\s*\.|\s*\^|\s*$)|[)\]])([([]?))|(\s+)/g,ut=/[ \t]*(\r\n|\n|\r)/g,yi=/\\(['"])/g,pi=/['"\\]/g,wi=/(?:\x08|^)(onerror:)?(?:(~?)(([\w$]+):)?([^\x08]+))\x08(,)?([^\x08]+)/gi,bi=/^if\s/,ki=/<(\w+)[>\s]/,di=/[\x00`><\"'&]/,wt=/^on[A-Z]|^convert(Back)?$/,gi=/[\x00`><"'&]/g,nr=0,tr=0,bt={"&":"&amp;","<":"&lt;",">":"&gt;","\x00":"&#0;","'":"&#39;",'"':"&#34;","`":"&#96;"},b="html",ft="data-jsv-tmpl",kt={},k={template:{compile:ii},tag:{compile:hr},helper:{},converter:{}},r={jsviews:"v1.0.0-beta",settings:function(n){f(s,n);dt(s._dbgMode);s.jsv&&s.jsv()},sub:{View:g,Err:st,tmplFn:lt,cvt:ht,parse:hi,extend:f,syntaxErr:l,onStore:{},_lnk:ot,_ths:et},map:ri,_cnvt:fr,_tag:or,_err:c};(st.prototype=new Error).constructor=st;ni.depends=function(){return[this.get("item"),"index"]};ti.depends=function(){return["index"]};g.prototype={get:rr,getIndex:ti,getRsc:er,hlp:ur,_is:"view"};for(rt in k)cr(rt,k[rt]);var e=r.templates,tt=r.converters,ci=r.helpers,it=r.tags,o=r.sub,s=r.settings;t?(u=t,u.fn.render=lr,u.observable&&(f(o,u.views.sub),r.map=u.views.map)):(u=n.jsviews={},u.isArray=Array&&Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"});u.render=kt;u.views=r;u.templates=e=r.templates;s({debugMode:dt,delimiters:gt,onError:function(n,t,r){return t&&(n=r===i?"{Error: "+n+"}":d(r)?r(n,t):r),n==i?"":n},_dbgMode:!0});it({"else":function(){},"if":{render:function(n){var t=this;return t.rendering.done||!n&&(arguments.length||!t.tagCtx.index)?"":(t.rendering.done=!0,t.selected=t.tagCtx.index,t.tagCtx.render(t.tagCtx.view,!0))},onUpdate:function(n,t,i){for(var r,f,u=0;(r=this.tagCtxs[u])&&r.args.length;u++)if(r=r.args[0],f=!r!=!i[u].args[0],!this.convert&&!!r||f)return f;return!1},flow:!0},"for":{render:function(n){var f,t=this,r=t.tagCtx,e="",o=0;return t.rendering.done||((f=!arguments.length)&&(n=r.view.data),n!==i&&(e+=r.render(n,f),o+=u.isArray(n)?n.length:1),(t.rendering.done=o)&&(t.selected=r.index)),e},flow:!0},include:{flow:!0},"*":{render:ot,flow:!0}});it("props",{baseTag:it["for"],dataMap:ri(vr)});tt({html:li,attr:li,url:function(n){return n!=i?encodeURI(""+n):n===null?n:""}});gt()}})(this,this.jQuery),function(n,t,i){"use strict";function r(n){return u(n)?new b(n):new w(n)}function w(n){return this._data=n,this}function b(n){return this._data=n,this}function at(n){return u(n)?[n]:n}function ut(n,t){n=u(n)?n:[n];for(var i,e=t,o=e,h=n.length,r=[],s=0;s<h;s++){if(i=n[s],f(i)){r=r.concat(ut(i.call(t,t),t));continue}else if(""+i!==i){t=o=i;o!==e&&r.push(e=o);continue}o!==e&&r.push(e=o);r.push(i)}return r}function ft(n,t){var r,i;for(r in n){i=!0;break}i||delete a[t]}function k(n,t){if(!(n.data&&n.data.off)){var v,y,p,w,b,c=t.oldValue,a=t.value,r=n.data,f=r.observeAll,o=!r.cb.noArray,h=r.paths;n.type===l?(r.cb.array||r.cb).call(r,n,t):(r.prop===t.path||r.prop==="*")&&(w=typeof c===s&&(h[0]||o&&u(c)),b=typeof a===s&&(h[0]||o&&u(a)),f?(v=f._path+"."+t.path,y=f.filter,p=[n.target].concat(f.parents()),w&&e(o,f.ns,[c],h,r.cb,!0,y,[p],v),b&&e(o,f.ns,[a],h,r.cb,i,y,[p],v)):(w&&e(o,[c],h,r.cb,!0),b&&e(o,[a],h,r.cb)),r.cb(n,t))}}function v(){function gt(i,r,u,f){var s,e,y=it(n),p=at(n);if(i=st?i+"."+st:i,g||f)y&&t(p).off(i,k);else{if(h=y&&t._data(n))for(h=h&&h.events,h=h&&h[u?l:c],dt=h&&h.length;dt--;)if((nt=h[dt].data)&&nt.cb._cId===o._cId&&nt.ns===st){if(u)return;(r==="*"&&nt.prop!==r||nt.prop===w)&&t(n).off(i,k)}e=u?{}:{fullPath:v,paths:r?[r]:[],prop:w};e.ns=st;e.cb=o;ot&&(e.observeAll={_path:ot,path:function(){return s=kt.length,ot.replace(/[[.]/g,function(n){return s--,n==="["?"["+t.inArray(kt[s-1],kt[s]):"."})},parents:function(){return kt},filter:oi,ns:st});t(p).on(i,null,e,k);ti&&((a[o._cId]=ti)[t.data(n,"obId")||t.data(n,"obId",lt++)]=n)}}function vi(n,t){n._ob=yt(n,rt);var i=rt;return function(r,f){var h=n._ob,c=t.length;typeof h===s&&(ni(h,!0),(c||vt&&u(h))&&e(vt,[h],t,o,yt,!0));h=n._ob=yt(n,i);typeof h===s&&(ni(h),(c||vt&&u(h))&&e(vt,[h],t,o,yt,[i]));o(r,f)}}function ni(t,f,e,s){if(vt){var h=n,c=ot;n=t;s&&(n=t[s],ot+="."+s);oi&&n&&(n=r._fltr(ot,n,s?[t].concat(kt):kt,oi));n&&(e||u(n))&&gt(l+".observe"+(o?".obs"+(bt=o._cId=o._cId||p++):""),i,!0,f);n=h;ot=c}}var wt,fi,si,et,w,v,ei,g,o,bt,dt,nt,h,yt,hi,ti,ii,ri,kt,ot,oi,st,ci,li,vt=this!=!1,ai=!0,ui=ct,b=Array.apply(0,arguments),d=b.pop(),rt=b.shift(),pt=rt,n=pt,tt=b.length;for(rt+""===rt&&vt&&(st=rt,rt=n=pt=b.shift(),tt--),f(d)?o=d:(d+""===d&&(ot=d,kt=b.pop(),oi=b.pop(),d=b.pop(),tt=tt-3),d===!0?g=d:d&&(rt=d,ai=i),d=b[tt-1],(tt&&d===i||f(d))&&(o=b.pop(),tt--)),tt&&f(b[tt-1])&&(yt=o,o=b.pop(),tt--),ui+=g?o?".obs"+o._cId:"":".obs"+(bt=o._cId=o._cId||p++),g||(ti=a[bt]=a[bt]||{}),ci=st&&st.match(ht)||[""],li=ci.length;li--;)for(st=ci[li],u(pt)?ni(pt,g,!0):g&&tt===0&&pt&&gt(ui,""),ii=0,wt=0;wt<tt;wt++)if(v=b[wt],v!==""){if(n=pt,""+v===v){if(et=v.split("^"),et[1]&&(ii=et[0].split(".").length,v=et.join("."),ii=v.split(".").length-ii),yt&&(hi=yt(v,pt))){tt+=hi.length-1;y.apply(b,[wt--,1].concat(hi));continue}et=v.split(".")}else ai&&!f(v)&&(v&&v._jsvOb&&(ri=vi(v,b.slice(wt+1)),ri.noArray=!vt,ri._cId=o._cId,e(vt,[rt],b.slice(0,wt),ri,yt),ri=i,v=v._ob),n=v),pt=v,et=[pt];while(n&&(w=et.shift())!==i)if(typeof n===s){if(""+w===w){if(w==="")continue;if(et.length<ii+1&&!n.nodeType){if(!g&&(h=it(n)&&t._data(n))){for(h=h.events,h=h&&h[c],dt=h&&h.length,si=0;dt--;)nt=h[dt].data,nt&&nt.cb===o&&nt.ns===st&&(nt.prop===w||nt.prop==="*")&&((fi=et.join("."))&&nt.paths.push(fi),si++);if(si){n=n[w];continue}}if(w==="*"){!g&&h&&h.length&&gt(ui,"",!1,!0);f(n)?(ei=n.depends)&&e(vt,[ei],o,g||rt):gt(ui,"");for(fi in n)ni(n,g,i,fi);break}else w&&gt(ui+"."+w,et.join("^"))}ot&&(ot+="."+w);w=n[w]}if(f(w)){(ei=w.depends)&&e(vt,[n],ut(ei,n),o,yt,g||[rt]);break}n=w}ni(n,g)}return bt&&ft(ti,bt),{cbId:bt,bnd:ti}}function vt(){return[].push.call(arguments,!0),v.apply(this,arguments)}function e(){var n=[].concat.apply([],arguments);return v.apply(n.shift(),n)}function d(n,t,i,r){n+""!==n&&(i=t,t=n,n="");ot(n,this._data,t,i,[],"root",r)}function et(n,t,i){d.call(this,n,t,i,!0)}function ot(n,t,f,e,o,h,c){function y(n,t){for(l=n.length,a=[[n]].concat(a),b=h+"[]";l--;)k(n,l,t,1)}function k(t,u,o,s){var h;u!==tt&&(h=r._fltr(b,t[u],a,e))&&ot(n,h,f,e||(s?i:0),a.slice(),b,o)}function d(n,t){var i=o;h=n.data.observeAll._path;a=[n.target].concat(o);switch(t.change){case"insert":y(t.items);break;case"remove":y(t.items,!0);break;case"refresh":y(t.oldItems,!0);y(n.target);break;case"set":b=h+"."+t.path;k(t,"oldValue",!0);k(t,"value")}f.apply(this,arguments);o=i}var l,w,b,a;if(typeof t===s)if(w=u(t)?"":"*",f?(w||e!==0)&&(d._cId=f._cId=f._cId||p++,v(n,t,w,d,c,e,o,h)):v(n,t,w,i,c,e,o,h),w){a=[t].concat(o);for(l in t)b=h+"."+l,k(t,l,c)}else y(t,c)}function st(n){return n.indexOf(".")<0&&n.indexOf("[")<0}if(!t)throw"jsViews/jsObservable require jQuery";if(!t.observable){var g=t.views=t.views||{jsviews:"v1.0.0-alpha",sub:{}},o=g.sub,nt=t.event.special,y=[].splice,u=t.isArray,tt=t.expando,s="object",h=parseInt,ht=/\S+/g,c=o.propChng=o.propChng||"propertyChange",l=o.arrChng=o.arrChng||"arrayChange",a=o._cbBnds=o._cbBnds||{},ct=c+".observe",f=t.isFunction,lt=1,p=1,it=t.hasData,rt={};o.getDeps=function(){var n=arguments;return function(){for(var i,t,r=[],u=n.length;u--;)i=n[u--],t=n[u],t&&(r=r.concat(f(t)?t(i,i):t));return r}};t.observable=r;r._fltr=function(n,t,i,r){if(r&&f(r)?r(n,t,i):!0)return t=f(t)?t.set&&t.call(i[0]):t,typeof t===s&&t};r.Object=w;r.Array=b;t.observe=r.observe=v;t.unobserve=r.unobserve=vt;r._apply=e;w.prototype={_data:null,observeAll:d,unobserveAll:et,data:function(){return this._data},setProperty:function(n,t,r){var f,h,s,o=this,e=o._data;if(n=n||"",e)if(u(n))for(f=n.length;f--;)h=n[f],o.setProperty(h.name,h.value,r===i||r);else if(""+n!==n)for(f in n)o.setProperty(f,n[f],t);else if(n!==tt){for(s=n.split(".");e&&s.length>1;)e=e[s.shift()];e&&o._setProperty(e,s[0],t,r)}return o},removeProperty:function(n){return this.setProperty(n,rt),this},_setProperty:function(n,t,r,u){var o,s,h,e=t?n[t]:n;f(e)&&e.set&&(s=e,o=e.set===!0?e:e.set,e=e.call(n));(e!==r||u&&e!=r)&&(!(e instanceof Date)||e>r||e<r)&&(o?(o.call(n,r),r=s.call(n)):(h=r===rt)?(delete n[t],r=i):t&&(n[t]=r),this._trigger(n,{change:"set",path:t,value:r,oldValue:e,remove:h}))},_trigger:function(n,i){t(n).triggerHandler(c,i)}};b.prototype={_data:null,observeAll:d,unobserveAll:et,data:function(){return this._data},insert:function(n,t){var i=this._data;return arguments.length===1&&(t=n,n=i.length),n=h(n),n>-1&&n<=i.length&&(t=u(t)?t:[t],t.length&&this._insert(n,t)),this},_insert:function(n,t){var i=this._data,r=i.length;y.apply(i,[n,0].concat(t));this._trigger({change:"insert",index:n,items:t},r)},remove:function(n,t){var r,u=this._data;return n===i&&(n=u.length-1),n=h(n),t=t?h(t):t===0?0:1,t>-1&&n>-1&&(r=u.slice(n,n+t),t=r.length,t&&this._remove(n,t,r)),this},_remove:function(n,t,i){var r=this._data,u=r.length;r.splice(n,t);this._trigger({change:"remove",index:n,items:i},u)},move:function(n,t,i){if(i=i?h(i):i===0?0:1,n=h(n),t=h(t),i>0&&n>-1&&t>-1&&n!==t){var r=this._data.slice(n,n+i);i=r.length;i&&this._move(n,t,i,r)}return this},_move:function(n,t,i,r){var u=this._data,f=u.length;u.splice(n,i);u.splice.apply(u,[t,0].concat(r));this._trigger({change:"move",oldIndex:n,index:t,items:r},f)},refresh:function(n){var t=this._data.slice();return this._refresh(t,n),this},_refresh:function(n,t){var i=this._data,r=i.length;y.apply(i,[0,i.length].concat(t));this._trigger({change:"refresh",oldItems:n},r)},_trigger:function(n,i){var r=this._data,u=r.length,f=t([r]);f.triggerHandler(l,n);u!==i&&f.triggerHandler(c,{change:"set",path:"length",value:u,oldValue:i})}};nt[c]=nt[l]={remove:function(n){var r,u,f,e,o,i=n.data;if(i&&(i.off=!0,i=i.cb)&&(r=a[i._cId])){for(f=t._data(this).events[n.type],e=f.length;e--&&!u;)u=(o=f[e].data)&&o.cb===i;u||(delete r[t.data(this,"obId")],ft(r,i._cId))}}};g.map=function(n){function u(t,u,f){var o,e=this;this.src&&this.unmap();typeof t=="object"&&(e.src=t,e.tgt=f||e.tgt||[],e.options=u||e.options,e.update(),n.obsSrc&&r(e.src).observeAll(e.obs=function(t,r){o||(o=!0,n.obsSrc(e,t,r),o=i)},e.srcFlt),n.obsTgt&&r(e.tgt).observeAll(e.obt=function(t,r){o||(o=!0,n.obsTgt(e,t,r),o=i)},e.tgtFlt))}return f(n)&&(n={getTgt:n}),n.baseMap&&(n=t.extend({},n.baseMap,n)),n.map=function(n,t,i){return new u(n,t,i)},(u.prototype={srcFlt:n.srcFlt||st,tgtFlt:n.tgtFlt||st,update:function(t){var i=this;r(i.tgt).refresh(n.getTgt(i.src,i.options=t||i.options))},unmap:function(){var n=this;n.src&&(n.obs&&r(n.src).unobserveAll(n.obs,n.srcFlt),n.obt&&r(n.tgt).unobserveAll(n.obt,n.tgtFlt),n.src=i)},map:u,_def:n}).constructor=u,n}}}(this,this.jQuery),function(n,t,i){"use strict";function nt(n,r,u){var b,tt,a,o,k,v,s,d,h,y,it,g,nt,e,l,p,w=n.target,rt=w._jsvBnd,ut=/&(\d+)\+?/g;if(rt)while(y=ut.exec(rt))if((y=c[y[1]])&&(l=y.to)){if(o=y.linkCtx,h=o.view,e=o.tag,d=t(w),g=h.hlp(ti),nt=h.hlp(ii),a=at(w),b=fi[a],u===i&&(u=et(a)?a(w):b?d[b]():d.attr(a)),v=l[1],l=l[0],v&&(k=et(v)?v:h.getRsc("converters",v)),k&&(u=k.call(e,u)),it=h.linkCtx,h.linkCtx=o,p={change:"change",oldValue:o._val,value:u},(!g||!(tt=g.call(o,n,p)===!1))&&(!e||!e.onBeforeChange||!(tt=e.onBeforeChange(n,p)===!1))&&u!==i&&(s=l[0],u!==i&&s)){if(s=s._jsvOb?s._ob:s,e&&(e._.chging=!0),f(s).setProperty(l[2]||l[1],u),nt&&nt.call(o,n,p),e){if(e.onAfterChange)e.onAfterChange(n,p);delete e._.chging}o._val=u}h.linkCtx=it}}function pu(n,t,r){var h,o,k,b,a,y,e=this,f=e.tag,l=e.data,p=e.elem,c=e.convert,nt=p.parentNode,s=e.view,g=s.linkCtx,w=s.hlp(ti);if(s.linkCtx=e,nt&&(!w||!(t&&w.call(e,n,t)===!1))&&!(t&&n.data.prop!=="*"&&n.data.prop!==t.path)){if(t&&(e.eventArgs=t),t||e._initVal){if(delete e._initVal,r._er)try{o=r(l,s)}catch(tt){a=r._er;y=d(tt,s,new Function("data,view","return "+a+";")(l,s));o=[{props:{},args:[y]}]}else o=r(l,s,u);if(h=wu(o,e,f=e.tag,e.attr||at(p,!0,c!==i)),f){if(b=a||f._er,o=o[0]?o:[o],k=!b&&t&&f.onUpdate&&f.onUpdate(n,t,o)===!1,dr(f,o,b),k||h===ct){h===v&&f.onBeforeLink&&f.onBeforeLink();wt(f,f.tagCtx);ai(e,l,p);s.linkCtx=g;return}if(f._.chging)return;o=f.tagName===":"?u._cnvt(f.cvt,s,o[0]):u._tag(f,s,s.tmpl,o,!0,y)}else r._tag&&(c=c===""?lt:c,o=c?u._cnvt(c,s,o[0]||o):u._tag(r._tag,s,s.tmpl,o,!0,y),f=e.tag,h=e.attr||h);lr(o,e,h,f)&&t&&(w=s.hlp(ii))&&w.call(e,n,t);f&&(f._er=a,wt(f,f.tagCtx))}ai(e,l,p);s.linkCtx=g}}function wu(n,r,u,f){var e,h,c,o,s=u&&u.parentElem||r.elem;if(n!==i){if(o=t(s),f=u&&u.attr||f,et(n)&&d(r.expr+": missing parens"),c=/^css-/.test(f)&&f.slice(4))e=t.style(s,c),+n===n&&(e=parseInt(e));else if(f!=="link"){if(f==="value")s.type===ri&&(e=o.prop(f=g));else if(f===ht)if(s.value===""+n)e=o.prop(g);else return f;e===i&&(h=fi[f],e=h?o[h]():o.attr(f))}r._val=e}return f}function y(n,t){n._df=t;n[(t?"set":"remove")+"Attribute"](rr,"")}function lr(r,u,f,o){var ot,h,c,tt,st,d,a,nt,p,b,k,it,rt,ut=r!==i,lt=u.data,s=o&&o.parentElem||u.elem,ft=t(s),w=u.view,et=u._val,at=w.linkCtx,l=o||f===v;if(o&&(o.parentElem=o.parentElem||u.expr||o._elCnt?s:s.parentNode,h=o._prv,c=o._nxt),!ut){f===v&&o&&o.onBeforeLink&&o.onBeforeLink();return}if(f==="visible"&&(f="css-display"),/^css-/.test(f))u.attr==="visible"&&(rt=(s.currentStyle||cr.call(n,s,"")).display,r?(r=s._jsvd||rt,r!==ct||(r=er[it=s.nodeName])||(k=e.createElement(it),e.body.appendChild(k),r=er[it]=(k.currentStyle||cr.call(n,k,"")).display,e.body.removeChild(k))):(s._jsvd=rt,r=ct)),(l=l||et!==r)&&t.style(s,f.slice(4),r);else if(f!=="link"){if(f===g)d=!0,r=r&&r!=="false";else if(f===ht)if(s.value===""+r)r=d=!0,f=g;else{ai(u,lt,s);return}else(f==="selected"||f==="disabled"||f==="multiple"||f==="readonly")&&(r=r&&r!=="false"?f:null);(ot=fi[f])?f===v?(w.linkCtx=u,o&&o._.inline?(st=o.nodes(!0),o._elCnt&&(h&&h!==c?wi(h,c,s,o._tgId,"^",!0):(a=s._df)&&(nt=o._tgId+"^",p=a.indexOf("#"+nt)+1,b=a.indexOf("/"+nt),p&&b>0&&(p+=nt.length,b>p&&(y(s,a.slice(0,p)+a.slice(b)),nu(a.slice(p,b))))),h=h?h.previousSibling:c?c.previousSibling:s.lastChild),t(st).remove(),o&&o.onBeforeLink&&o.onBeforeLink(),tt=w.link(w.data,s,h,c,r,o&&{tag:o._tgId,lazyLink:o.tagCtx.props.lazyLink})):(ut&&ft.empty(),o&&o.onBeforeLink&&o.onBeforeLink(),ut&&(tt=w.link(lt,s,h,c,r,o&&{tag:o._tgId}))),w.linkCtx=at):(l=l||et!==r)&&(f==="text"&&s.children&&!s.children[0]?s.textContent!==i?s.textContent=r:s.innerText=r===null?"":r:ft[ot](r)):(l=l||et!==r)&&ft[d?"prop":"attr"](f,r===i&&!d?null:r);u._val=r}return tt||l}function ar(n,t){var i=this,r=i.hlp(ti),u=i.hlp(ii);if(!r||r.call(this,n,t)!==!1){if(t){var o=t.change,f=t.index,e=t.items;switch(o){case"insert":i.addViews(f,e);break;case"remove":i.removeViews(f,e.length);break;case"move":i.refresh();break;case"refresh":i.refresh()}}u&&u.call(this,n,t)}}function li(n){var u,f,o=n.type,e=n.data,r=n._.bnd;if(!n._.useKey&&r)if((f=n._.bndArr)&&(t([f[1]]).off(ni,f[0]),n._.bndArr=i),r!==!!r&&r._.inline)o?r._.arrVws[n._.id]=n:delete r._.arrVws[n._.id];else if(o&&e){u=function(t){t.data&&t.data.off||ar.apply(n,arguments)};t([e]).on(ni,u);n._.bndArr=[u,e]}}function at(n,t,i){var u=n.nodeName.toLowerCase(),r=a.merge[u]||n.contentEditable===lt&&{to:v,from:v};return r?t?u==="input"&&n.type===ht?ht:r.to:r.from:t?i?"text":v:""}function vr(n,r,u,f,e,o,s){var p,c,v,w,b,l=n.parentElem,h=n._prv,a=n._nxt,y=n._elCnt;if(h&&h.parentNode!==l&&d("Missing parentNode"),s){w=n.nodes();y&&h&&h!==a&&wi(h,a,l,n._.id,"_",!0);n.removeViews(i,i,!0);c=a;y&&(h=h?h.previousSibling:a?a.previousSibling:l.lastChild);t(w).remove();for(b in n._.bnds)kt(b)}else{if(r){if(v=f[r-1],!v)return!1;h=v._nxt}y?(c=h,h=c?c.previousSibling:l.lastChild):c=h.nextSibling}p=u.render(e,o,n._.useKey&&s,n,s||r,!0);n.link(e,l,h,c,p,v)}function vt(n,t,r){var u,f,e;return r?(e="^`",f=t._.tag,u=f._tgId,u||(c[u=or++]=f,f._tgId=""+u)):(e="_`",w[u=t._.id]=t),"#"+u+e+(n!=i?n:"")+"/"+u+e}function ai(n,t,r){var s,a,e,u=n.tag,v=n.convertBack,h=[],l=n._bndId||""+or++,y=n._hdlr;if(delete n._bndId,u&&(h=u.depends||h,h=et(h)?u.depends(u):h,e=u.linkedElem),(!n._depends||""+n._depends!=""+h)&&(n._depends&&f._apply(!1,[t],n._depends,y,!0),s=f._apply(!1,[t],n.fn.deps,h,y,n._ctxCb),s.elem=r,s.linkCtx=n,s._tgId=l,r._jsvBnd=r._jsvBnd||"",r._jsvBnd+="&"+l,n._depends=h,n.view._.bnds[l]=l,c[l]=s,e&&(s.to=[[],v]),(e||v!==i)&&kr(s,u&&u.convertBack||v),u)){if(u.onAfterBind)u.onAfterBind(s);u.flow||u._.inline||(r.setAttribute(o,(r.getAttribute(o)||"")+"#"+l+"^/"+l+"^"),u._tgId=""+l)}if(e&&e[0])for(u._.radio&&(e=e.children("input[type=radio]")),a=e.length;a--;)e[a]._jsvBnd=e[a]._jsvBnd||r._jsvBnd+"+",e[a]._jsvLkEl=u}function yr(n,t,i,r,u,f,e){return vi(this,n,t,i,r,u,f,e)}function vi(n,r,u,f,o,h,c,a){if(n&&r){if(r=r.jquery?r:t(r),!tt){tt=e.body;t(tt).on(nr,nt).on("blur","[contenteditable]",nt)}for(var b,g,rt,d,p,k,v,ut,ft=vt,ot=f&&f.target==="replace",et=r.length;et--;)if(v=r[et],""+n===n)yt(n,v,it(v),i,!0,u,f);else{if(h=h||it(v),n.markup!==i)h.link===!1&&(f=f||{},f.link=ft=!1),ot&&(k=v.parentNode),rt=n.render(u,f,o,h,i,ft),k?(c=v.previousSibling,a=v.nextSibling,t.cleanData([v],!0),k.removeChild(v),v=k):(c=a=i,t(v).empty());else if(n===!0&&h===l)ut={lnk:1};else break;if(v._df&&!a){for(d=s(v._df,!0,sr),b=0,g=d.length;b<g;b++)p=d[b],(p=w[p.id])&&p.data!==i&&p.parent.removeViews(p._.key,i,!0);y(v)}h.link(u,v,c,a,rt,ut,f)}}return r}function bu(n,r,u,f,l,v,b,k){function pu(n,t,r,u,f,e,s,h,c,a,v,y,p){var w,b="";return p?(ui=0,n):(nt=h||c||"",u=u||a,r=r||y,ai&&!r&&(u||nt||e)&&(ai=i,ut=dt.shift()),u=u||r,u&&(ui=0,ai=i,kr&&(r||y?ci[ut]||/;svg;|;math;/.test(";"+dt.join(";")+";")||(w="'<"+ut+".../"):ci[u]?w="'<\/"+u:dt.length&&u===ut||(w="Mismatch: '<\/"+u),w&&oi(w+">' in:\n"+l)),sr=ft,ut=dt.shift(),ft=hi[ut],a=a?"<\/"+a+">":"",sr&&(ht+=at,at="",ft?ht+="-":(b=a+ir+"@"+ht+tr+(v||""),ht=au.shift()))),ft?(e?at+=e:t=a||y||"",nt&&(t+=nt,at&&(t+=" "+o+'="'+at+'"',at=""))):t=e?t+b+f+ir+e+tr+s+nt:b||n,ui&&e&&oi(" No {^{ tags within elem markup ("+ui+' ). Use data-link="..."'),nt&&(ui=nt,dt.unshift(ut),ut=nt.slice(1),dt[0]&&dt[0]===hu[ut]&&d("Parent of <tr> must be <tbody>"),ai=ci[ut],(ft=hi[ut])&&!sr&&(au.unshift(ht),ht=""),sr=ft,ht&&ft&&(ht+="+")),t)}function wi(n,t){var o,l,u,e,f,a,s,h=[];if(n){for(n._tkns.charAt(0)==="@"&&(t=g.previousSibling,g.parentNode.removeChild(g),g=i),bt=n.length;bt--;){if(rt=n[bt],u=rt.ch,o=rt.path)for(et=o.length-1;l=o.charAt(et--);)l==="+"?o.charAt(et)==="-"?(et--,t=t.previousSibling):t=t.parentNode:t=t.lastChild;u==="^"?(nt=c[f=rt.id])&&(s=t&&(!g||g.parentNode!==t),(!g||s)&&(nt.parentElem=t),rt.elCnt&&s&&y(t,(rt.open?"#":"/")+f+u+(t._df||"")),h.push([s?null:g,rt])):(tt=w[f=rt.id])&&(tt.parentElem||(tt.parentElem=t||g&&g.parentNode||r,tt._.onRender=vt,tt._.onArrayChange=ar,li(tt)),e=tt.parentElem,rt.open?(tt._elCnt=rt.elCnt,t&&!g?y(t,"#"+f+u+(t._df||"")):(tt._prv||y(e,pt(e._df,"#"+f+u)),tt._prv=g)):(t&&(!g||g.parentNode!==t)?(y(t,"/"+f+u+(t._df||"")),tt._nxt=i):g&&(tt._nxt||y(e,pt(e._df,"/"+f+u)),tt._nxt=g),fi=tt.linkCtx,(a=tt.ctx&&tt.ctx.onAfterCreate||wu)&&a.call(fi,tt)))}for(bt=h.length;bt--;)pi.push(h[bt])}return!n||n.elCnt}function tu(n){var t,i;if(n)for(bt=n.length,et=0;et<bt;et++)if(rt=n[et],i=nt=c[rt.id].linkCtx.tag,!nt.flow){if(!vr){for(t=1;i=i.parent;)t++;er=er||t}(vr||t===er)&&(!yr||nt.tagName===yr)&&ru.push(nt)}}function iu(){var h,a,e="",y={},v=di+(st?",["+rr+"]":"");for(bi=si?r.querySelectorAll(v):t(v,r).get(),gt=bi.length,u&&u.innerHTML&&(gi=si?u.querySelectorAll(v):t(v,u).get(),u=gi.length?gi[gi.length-1]:u),er=0,ct=0;ct<gt;ct++)if(g=bi[ct],u&&!su)su=g===u;else if(f&&g===f){st&&(e+=ot(g));break}else if(g.parentNode)if(st){if(e+=ot(g),g._df){for(h=ct+1;h<gt&&g.contains(bi[h]);)h++;y[h-1]=g._df}y[ct]&&(e+=y[ct]||"")}else gr&&(rt=s(g,i,hr))&&(rt=rt[0])&&(yi=yi?rt.id!==yi&&yi:rt.open&&rt.id),!yi&&yu(s(g))&&g.getAttribute(p)&&pi.push([g]);if(st&&(e+=r._df||"",(a=e.indexOf("#"+st.id)+1)&&(e=e.slice(a+st.id.length)),a=e.indexOf("/"+st.id),a+1&&(e=e.slice(0,a)),tu(s(e,i,vu))),l===i&&r.getAttribute(p)&&pi.push([r]),wr(u,ft),wr(f,ft),st){kt&&kt.resolve();return}for(ft&&ht+at&&(g=f,ht&&(f?wi(s(ht+"+",!0),f):wi(s(ht,!0),r)),wi(s(at,!0),r),f&&(e=f.getAttribute(o),(gt=e.indexOf(cr)+1)&&(e=e.slice(gt+cr.length-1)),f.setAttribute(o,at+e))),gt=pi.length,ct=0;ct<gt;ct++)g=pi[ct],ni=g[1],g=g[0],ni?(nt=c[ni.id])&&((fi=nt.linkCtx)&&(nt=fi.tag,nt.linkCtx=fi),ni.open?(g&&(nt.parentElem=g.parentNode,nt._prv=g),nt._elCnt=ni.elCnt,!nt||nt.onBeforeLink&&nt.onBeforeLink()===!1||nt._.bound||(nt._.bound=!0,tt=nt.tagCtx.view,yt(i,nt._prv,tt,ni.id)),nt._.linking=!0):(nt._nxt=g,nt._.linking&&(pr=nt.tagCtx,tt=pr.view,delete nt._.linking,nt._.bound||(nt._.bound=!0,yt(i,nt._prv,tt,ni.id)),wt(nt,pr)))):yt(g.getAttribute(p),g,it(g),i,gr,n,b);kt&&kt.resolve()}var ui,fi,nt,ct,gt,et,bt,bi,g,tt,rt,ni,gi,nr,lr,ur,ii,ru,vr,yr,pr,kr,er,fu,dr,eu,ei,ut,ai,vi,or,ti,ft,sr,ri,at,cr,su,yi,kt,gr,st,nu=this,cu=nu._.id+"_",ht="",pi=[],dt=[],au=[],wu=nu.hlp(uu),yu=wi;if(v&&(kt=v.lazyLink&&t.Deferred(),v.tmpl?lr="/"+v._.id+"_":(gr=v.lnk,v.tag&&(cu=v.tag+"^",v=!0),(st=v.get)&&(yu=tu,ru=st.tags,vr=st.deep,yr=st.name)),v=v===!0),r=r?""+r===r?t(r)[0]:r.jquery?r[0]:r:nu.parentElem||e.body,kr=!a.noValidate&&r.contentEditable!==lt,ut=r.tagName.toLowerCase(),ft=!!hi[ut],u=u&&br(u,ft),f=f&&br(f,ft)||null,l!=i){if(or=e.createElement("div"),vi=or,cr=at="",ri=r.namespaceURI==="http://www.w3.org/2000/svg"?"svg_ns":(ei=ou.exec(l))&&ei[1]||"",ki&&ei&&ei[2]&&d("Unsupported: "+ei[2]),ft){for(ii=f;ii&&!(ur=s(ii));)ii=ii.nextSibling;(ti=ur?ur._tkns:r._df)&&(nr=lr||"",(v||!lr)&&(nr+="#"+cu),et=ti.indexOf(nr),et+1&&(et+=nr.length,cr=at=ti.slice(0,et),ti=ti.slice(et),ur?ii.setAttribute(o,ti):y(r,ti)))}if(ai=i,l=(""+l).replace(lu,pu),kr&&dt.length&&oi("Mismatched '<"+ut+"...>' in:\n"+l),k)return;for(fr.appendChild(or),ri=h[ri]||h.div,fu=ri[0],vi.innerHTML=ri[1]+l+ri[2];fu--;)vi=vi.lastChild;for(fr.removeChild(or),dr=e.createDocumentFragment();eu=vi.firstChild;)dr.appendChild(eu);r.insertBefore(dr,f)}return kt?setTimeout(iu,0):iu(),kt&&kt.promise()}function yt(n,t,u,f,e,o,s){var k,y,w,h,d,g,p,b,a,l,nt;if(f)l=c[f],l=l.linkCtx?l.linkCtx.tag:l,a=l.linkCtx||{data:u.data,elem:l._elCnt?l.parentElem:t,view:u,ctx:u.ctx,attr:v,fn:l._.bnd,tag:l,_bndId:f},pr(a,a.fn);else if(n&&t)for(o=e?o:u.data,k=u.tmpl,n=ku(n,at(t)),rt.lastIndex=0;y=rt.exec(n);)nt=rt.lastIndex,w=y[1],p=y[3],d=y[10],h=i,a={data:o,elem:t,view:u,ctx:s,attr:w,isLk:e,_initVal:!y[2]},y[6]&&(!w&&(h=/:([\w$]*)$/.exec(d))&&(h=h[1],h!==i&&(g=-h.length-1,p=p.slice(0,g-1)+ut)),h===null&&(h=i),a.convert=y[5]||""),a.expr=w+p,b=k.links[p],b||(k.links[p]=b=r.tmplFn(p,k,!0,h)),a.fn=b,w||h===i||(a.convertBack=h),pr(a,b),rt.lastIndex=nt}function pr(n,t){function u(i,r){pu.call(n,i,r,t)}u.noArray=!0;n.isLk&&(n.view=new r.View(n.ctx,"link",l,n.data,l.tmpl,i,i,vt));n._ctxCb=gu(n.view);n._hdlr=u;u(!0)}function pt(n,t){var i;return n?(i=n.indexOf(t),i+1?n.slice(0,i)+n.slice(i+t.length):n):""}function ot(n){return n&&(""+n===n?n:n.tagName==="SCRIPT"?n.type.slice(3):n.nodeType===1&&n.getAttribute(o)||"")}function s(n,t,i){function e(n,t,i,r,e,o){u.push({elCnt:f,id:r,ch:e,open:t,close:i,path:o,token:n})}var f,r,u=[];if(r=t?n:ot(n))return u.elCnt=!n.type,f=r.charAt(0)==="@"||!n.type,u._tkns=r,r.replace(i||yu,e),u}function wr(n,t){n&&(n.type==="jsv"?n.parentNode.removeChild(n):t&&n.getAttribute(p)===""&&n.removeAttribute(p))}function br(n,t){for(var i=n;t&&i&&i.nodeType!==1;)i=i.previousSibling;return i&&(i.nodeType!==1?(i=e.createElement("SCRIPT"),i.type="jsv",n.parentNode.insertBefore(i,n)):ot(i)||i.getAttribute(p)||i.setAttribute(p,"")),i}function ku(n,i){return n=t.trim(n).replace(su,"\\$&"),n.slice(-1)!==ut?n=gt+":"+n+(i?":":"")+ut:n}function wt(n,u){var e,f,l,o,s,y,p,a,w,v,b=u.view,h=n.linkCtx=n.linkCtx||{tag:n,data:b.data,view:b,ctx:b.ctx};if(n.onAfterLink)n.onAfterLink(u,h);if(e=n.targetTag?n.targetTag.linkedElem:n.linkedElem,(f=e&&e[0])&&((l=n._.radio)&&(e=e.children("input[type=radio]")),l||!n._.chging)){if(o=r.cvt(n,n.convert)[0],l||f!==h.elem){for(p=e.length;p--;){if(f=e[p],a=f._jsvLkEl,n._.inline&&(!a||a!==n&&a.targetTag!==n))for(f._jsvLkEl=n,s=h.elem?h.elem._jsvBnd:n._prv._jsvBnd,f._jsvBnd=s+"+",s=s.slice(1).split("&"),y=s.length;y--;)kr(c[s[y]],n.convertBack);l&&(f[g]=o===f.value)}h._val=o}o!==i&&(l||f.value===i?f.contentEditable===lt&&(f.innerHTML=o):f.type===ri?f[g]=o&&o!=="false":e.val(o))}(f=f||n.tagName===":"&&h.elem)&&(w=f._jsvTr,v=u.props.trigger,w!==v&&(f._jsvTr=v,e=e||t(f),yi(e,w,"off"),yi(e,v,"on")))}function du(n){setTimeout(function(){nt(n)},0)}function yi(n,t,i){t&&n[i](t===!0?"keydown":t,t===!0?du:nt)}function kr(n,t){var o,f,s,r,e,u=n.linkCtx,h=u.data,i=u.fn.paths;if(n&&i){for(i=(o=i._jsvto)||i[0],f=i&&i.length;f&&""+(r=i[--f])!==r;);r&&(!u.tag||u.tag.tagCtx.args.length)?(r=r.split("^").join("."),n.to=r.charAt(0)==="."?[[e=i[f-1],r.slice(1)],t]:[u._ctxCb(s=f?i[0].split("^").join("."):r)||[h,s],t],o&&e&&(n.to[0][0]=u._ctxCb(e,h))):n.to=[[],t]}}function dr(n,t,i){var o,s,h=n.tagCtx.view,e=n.tagCtxs||[n.tagCtx],c=e.length,l=!t;if(t=t||n._.bnd.call(h.tmpl,(n.linkCtx||h).data,h,u),i)e=n.tagCtxs=t,n.tagCtx=e[0];else while(c--)o=e[c],s=t[c],f(o.props).setProperty(s.props),b(o.ctx,s.ctx),o.args=s.args,l&&(o.tmpl=s.tmpl);return r._ths(n,e[0]),e}function bt(n){for(var u,t,i,f=[],e=n.length,r=e;r--;)f.push(n[r]);for(r=e;r--;)if(t=f[r],t.parentNode){if(i=t._jsvBnd)for(i=i.slice(1).split("&"),t._jsvBnd="",u=i.length;u--;)kt(i[u],t._jsvLkEl,t);nu(ot(t)+(t._df||""))}}function kt(n,u,f){var y,h,e,l,a,p,w,b,v,s,k,o=c[n];if(u)f===u.linkedElem[0]&&(delete f._jsvLkEl,delete u.linkedElem);else if(o){delete c[n];for(y in o.bnd)l=o.bnd[y],a=".obs"+o.cbId,t.isArray(l)?t([l]).off(ni+a).off(gi+a):t(l).off(gi+a),delete o.bnd[y];if(h=o.linkCtx){if(e=h.tag){if(p=e.tagCtxs)for(w=p.length;w--;)(b=p[w].map)&&b.unmap();v=e.linkedElem;s=v&&v[0]||h.elem;(k=s&&s._jsvTr)&&(yi(v||t(s),k,"off"),s._jsvTr=i);e.onDispose&&e.onDispose();e._elCnt||(e._prv&&e._prv.parentNode.removeChild(e._prv),e._nxt&&e._nxt.parentNode.removeChild(e._nxt))}delete h.view._.bnds[n]}delete r._cbBnds[o.cbId]}}function pi(n,r){return n===i?(tt&&(t(tt).off(nr,nt).off("blur","[contenteditable]",nt),tt=i),n=!0,l.removeViews(),bt(e.body.getElementsByTagName("*"))):r&&n===!0&&(r=r.jquery?r:t(r),r.each(function(){for(var n;(n=it(this,!0))&&n.parent;)n.parent.removeViews(n._.key,i,!0);bt(this.getElementsByTagName("*"));bt([this])})),r}function gr(n,t){return pi(this,n,t)}function gu(n){return function(t,i){var f,r,e=[i];if(n&&t){if(t._jsvOb)return t._jsvOb.call(n.tmpl,i,n,u);if(t.charAt(0)==="~")return t.slice(0,4)==="~tag"&&(r=n.ctx,t.charAt(4)==="."&&(f=t.slice(5).split("."),r=r.tag),f)?r?[r,f.join("."),i]:[]:(t=t.slice(1).split("."),(i=n.hlp(t.shift()))&&(t.length&&e.unshift(t.join(".")),e.unshift(i)),i?e:[]);if(t.charAt(0)==="#")return t==="#data"?[]:[n,t.replace(cu,""),i]}}}function nf(n){return n.type===ri?n[g]:n.value}function wi(n,t,i,r,u,f){var v,l,p,h,k,a,e,b=0,d=n===t;if(n){for(p=s(n)||[],v=0,l=p.length;v<l;v++){if(h=p[v],a=h.id,a===r&&h.ch===u)if(f)l=0;else break;d||(k=h.ch==="_"?w[a]:c[a].linkCtx.tag,h.open?k._prv=t:h.close&&(k._nxt=t));b+=a.length+2}b&&n.setAttribute(o,n.getAttribute(o).slice(b));e=t?t.getAttribute(o):i._df;(l=e.indexOf("/"+r+u)+1)&&(e=p._tkns.slice(0,b)+e.slice(l+(f?-1:r.length+1)));e&&(t?t.setAttribute(o,e):y(i,e))}else y(i,pt(i._df,"#"+r+u)),f||t||y(i,pt(i._df,"/"+r+u))}function nu(n){var r,f,t,u;if(u=s(n,!0,au))for(r=0,f=u.length;r<f;r++)t=u[r],t.ch==="_"?(t=w[t.id])&&t.type&&t.parent.removeViews(t._.key,i,!0):kt(t.id)}function tf(n,t,i){if(i.change==="set"){for(var r=n.tgt,u=r.length;u--;)if(r[u].key===i.path)break;u===-1?i.path&&f(r).insert({key:i.path,prop:i.value}):i.remove?f(r).remove(u):f(r[u]).setProperty("prop",i.value)}}function rf(n,t,i){var r,u=n.src,e=i.change;e==="set"?i.path==="prop"?f(u).setProperty(t.target.key,i.value):(f(u).setProperty(i.oldValue,null),delete u[i.oldValue],f(u).setProperty(i.value,t.target.prop)):e==="remove"?(r=i.items[0],f(u).removeProperty(r.key),delete u[r.key]):e==="insert"&&(r=i.items[0],r.key&&f(u).setProperty(r.key,r.prop))}function uf(n){return n.indexOf(".")<0}var dt="JsViews requires ",tt,it,rt,tu,gt,ut,iu,bi,ki,d,p,ft,di,h,l,w,e=n.document,u=t.views,r=u.sub,a=u.settings,b=r.extend,et=t.isFunction,ru=u.converters,k=u.tags,f=t.observable,st=f.observe,o="data-jsv",gi=r.propChng=r.propChng||"propertyChange",ni=r.arrChng=r.arrChng||"arrayChange",nr="change.jsv",ti="onBeforeChange",ii="onAfterChange",uu="onAfterCreate",g="checked",ri="checkbox",ht="radio",ct="none",lt="true",tr='"><\/script>',ir='<script type="jsv',rr=o+"-df",ui="script,["+o+"]",v="html",fi={value:"val",input:"val",html:v,text:"text"},ur={from:"value",to:"value"},ei=0,fu=t.cleanData,eu=a.delimiters,oi=r.syntaxErr,ou=/<(?!script)(\w+)(?:[^>]*(on\w+)\s*=)?[^>]*>/,su=/['"\\]/g,fr=e.createDocumentFragment(),si=e.querySelector,hi={ol:1,ul:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,colgroup:1,dl:1,select:1,optgroup:1,svg:1,svg_ns:1},hu={tr:"table"},ci={br:1,img:1,input:1,hr:1,area:1,base:1,col:1,link:1,meta:1,command:1,embed:1,keygen:1,param:1,source:1,track:1,wbr:1},er={},c={},or=1,cu=/^#(view\.?)?/,lu=/(^|(\/>)|<\/(\w+)>|)(\s*)([#\/]\d+[_^])`(\s*)(<\w+(?=[\s\/>]))?|\s*(?:(<\w+(?=[\s\/>]))|<\/(\w+)>(\s*)|(\/>)\s*|(>))/g,sr=/(#)()(\d+)(_)/g,au=/(#)()(\d+)([_^])/g,hr=/(?:(#)|(\/))(\d+)(_)/g,vu=/(#)()(\d+)(\^)/g,yu=/(?:(#)|(\/))(\d+)([_^])([-+@\d]+)?/g,cr=n.getComputedStyle;if(!t)throw dt+"jQuery";if(!u)throw dt+"JsRender";if(!f)throw dt+"jquery.observable";t.link||(ft={contents:function(n,r){n!==!!n&&(r=n,n=i);var f,u=t(this.nodes());return u[0]&&(f=r?u.filter(r):u,u=n&&r?f.add(u.find(r)):f),u},nodes:function(n,t,i){var r,u=this,f=u._elCnt,o=!t&&f,e=[];for(t=t||u._prv,i=i||u._nxt,r=o?t===u._nxt?u.parentElem.lastSibling:t:u._.inline===!1?t||u.linkCtx.elem.firstChild:t&&t.nextSibling;r&&(!i||r!==i);)(n||f||r.tagName!=="SCRIPT")&&e.push(r),r=r.nextSibling;return e},childTags:function(n,t){n!==!!n&&(t=n,n=i);var r=this,e=r.link?r:r.tagCtx.view,u=r._prv,o=r._elCnt,f=[];return e.link(i,r.parentElem,o?u&&u.previousSibling:u,r._nxt,i,{get:{tags:f,deep:n,name:t,id:r.link?r._.id+"_":r._tgId+"^"}}),f},refresh:function(n){var r,f,t=this,e=t.linkCtx,o=t.tagCtx.view;return t.disposed&&d("Removed tag"),n===i&&(n=u._tag(t,o,o.tmpl,dr(t),!0)),n+""===n&&(f=t._.inline?v:e.attr||at(t.parentElem,!0),r=lr(n,e,f,t)),wt(t,t.tagCtx),r||t},update:function(n){var t=this.linkedElem;t&&nt({target:t[0]},i,n)}},r.onStore.template=function(n,i){i.link=yr;i.unlink=gr;n&&(t.link[n]=function(){return yr.apply(i,arguments)},t.unlink[n]=function(){return gr.apply(i,arguments)})},r.onStore.tag=function(n,t){r._lnk(t)},r._lnk=function(n){return b(n,ft)},r.viewInfos=s,(a.delimiters=function(){var n=eu.apply(u,arguments);return tu=n[0],gt=n[1],ut=n[2],iu=n[3],bi=n[4],rt=new RegExp("(?:^|\\s*)([\\w-]*)(\\"+bi+")?(\\"+gt+r.rTag+"\\"+ut+")","g"),this})(),b(r._lnk(r.View.prototype),{addViews:function(n,t,i){var u,s,r=this,e=t.length,o=r.views;if(!r._.useKey&&e&&(i=r.tmpl)&&(s=o.length+e,vr(r,n,i,o,t,r.ctx)!==!1))for(u=n+e;u<s;u++)f(o[u]).setProperty("index",u);return r},removeViews:function(n,r,u){function s(n){var s,h,c,f,o,l,r=e[n];if(r&&r.link){if(s=r._.id,u||(l=r.nodes()),r.removeViews(i,i,!0),r.type=i,f=r._prv,o=r._nxt,c=r.parentElem,u||(r._elCnt&&wi(f,o,c,s,"_"),t(l).remove()),!r._elCnt)try{f.parentNode.removeChild(f);o.parentNode.removeChild(o)}catch(a){}li(r);for(h in r._.bnds)kt(h);delete w[s]}}var o,a,h,c=this,l=!c._.useKey,e=c.views;if(l&&(h=e.length),n===i)if(l){for(o=h;o--;)s(o);c.views=[]}else{for(a in e)s(a);c.views={}}else if(r===i&&(l?r=1:(s(n),delete e[n])),l&&r){for(o=n+r;o-->n;)s(o);if(e.splice(n,r),h=e.length)while(n<h)f(e[n]).setProperty("index",n++)}return this},refresh:function(n){var t=this,i=t.parent;return i&&(vr(t,t.index,t.tmpl,i.views,t.data,n,!0),li(t)),t},link:bu}),w={0:l=new r.View},ru.merge=function(n){var t,i=this.linkCtx._val||"",r=this.tagCtx.props.toggle;return r&&(t=r.replace(/[\\^$.|?*+()[{]/g,"\\$&"),t="(\\s(?="+t+"$)|(\\s)|^)("+t+"(\\s|$))",i=i.replace(new RegExp(t),"$2"),n=i+(n?(i&&" ")+r:"")),n},k("on",{attr:ct,onAfterLink:function(n,u){for(var l,o,s=this,h=0,f=n.args,v=f.length,a=n.props.data,c=n.view,e=n.props.context;h<v&&!(o=et(l=f[h++])););if(o){o=f.slice(h);f=f.slice(0,h-1);e||(e=/^(.*)[\.^][\w$]+$/.exec(n.params.args.slice(-o.length-1)[0]),e=e&&r.tmplFn("{:"+e[1]+"}",c.tmpl,!0)(u.data,c));s._evs&&s.onDispose();t(u.elem).on(s._evs=f[0]||"click",s._sel=f[1],a==i?null:a,s._hlr=function(n){return l.apply(e||u.data,[].concat(o,n,{change:n.type,view:c,linkCtx:u}))})}},onDispose:function(){t(this.parentElem).off(this._evs,this._sel,this._hlr)},flow:!0}),b(k["for"],{onArrayChange:function(n,t){var i,r=this,u=t.change;if(r.tagCtxs[1]&&(u==="insert"&&n.target.length===t.items.length||u==="remove"&&!n.target.length||u==="refresh"&&!t.oldItems.length!=!n.target.length))r.refresh();else for(i in r._.arrVws)i=r._.arrVws[i],i.data===n.target&&i._.onArrayChange.apply(i,arguments);n.done=!0},onAfterLink:function(){for(var u,o,i,f,e=this,r=e._ars||{},s=e.tagCtxs,c=s.length,h=e.selected||0,n=0;n<=h;n++)u=s[n],f=u.map?u.map.tgt:u.args.length?u.args[0]:u.view.data,(i=r[n])&&f!==i[0]&&(st(i[0],i[1],!0),delete r[n]),!r[n]&&t.isArray(f)&&(st(f,o=function(n,t){e.onArrayChange(n,t)}),r[n]=[f,o]);for(n=h+1;n<c;n++)(i=r[n])&&(st(i[0],i[1],!0),delete r[n]);e._ars=r},onDispose:function(){var n,t=this;for(n in t._ars)st(t._ars[n][0],t._ars[n][1],!0)}}),b(k["for"],ft),b(k["if"],ft),b(k.include,ft),k("props",{baseTag:k["for"],dataMap:u.map({getTgt:k.props.dataMap.getTgt,obsSrc:tf,obsTgt:rf,tgtFlt:uf})}),b(t,{view:u.view=it=function(n,r,u){function p(n,t){if(n)for(o=s(n,t,sr),a=0,b=o.length;a<b;a++)if((f=w[o[a].id])&&(f=f&&u?f.get(!0,u):f))break}r!==!!r&&(u=r,r=i);var f,o,c,a,b,h,v,y=0,k=e.body;if(n&&n!==k&&l._.useKey>1&&(n=""+n===n?t(n)[0]:n.jquery?n[0]:n,n)){if(r){if(p(n._df,!0),!f)for(v=si?n.querySelectorAll(ui):t(ui,n).get(),h=v.length,c=0;!f&&c<h;c++)p(v[c]);return f}while(n){if(o=s(n,i,hr))for(h=o.length;h--;)if(f=o[h],f.open){if(y<1)return f=w[f.id],f&&u?f.get(u):f||l;y--}else y++;n=n.previousSibling||n.parentNode}}return l},link:u.link=vi,unlink:u.unlink=pi,cleanData:function(n){n.length&&ei&&bt(n);fu.apply(t,arguments)}}),u.utility={validate:function(n){try{l.link(i,e.createElement("div"),i,i,n,i,i,1)}catch(t){return t.message}}},b(t.fn,{link:function(n,t,i,r,u,f,e){return vi(n,this,t,i,r,u,f,e)},unlink:function(n){return pi(n,this)},view:function(n){return it(this[0],n)}}),t.each([v,"replaceWith","empty","remove"],function(n,i){var r=t.fn[i];t.fn[i]=function(){var n;ei=1;try{n=r.apply(this,arguments)}finally{ei=0}return n}}),b(l,{tmpl:{links:{},tags:{}}}),l._.onRender=vt,a({wrapMap:h={option:[1,"<select multiple='multiple'>","<\/select>"],legend:[1,"<fieldset>","<\/fieldset>"],area:[1,"<map>","<\/map>"],param:[1,"<object>","<\/object>"],thead:[1,"<table>","<\/table>"],tr:[2,"<table><tbody>","<\/tbody><\/table>"],td:[3,"<table><tbody><tr>","<\/tr><\/tbody><\/table>"],col:[2,"<table><tbody><\/tbody><colgroup>","<\/colgroup><\/table>"],svg_ns:[1,"<svg>","<\/svg>"],div:jQuery.support.htmlSerialize?[0,"",""]:[1,"X<div>","<\/div>"]},linkAttr:p="data-link",merge:{input:{from:nf,to:"value"},textarea:ur,select:ur,optgroup:{to:"label"}},jsrDbgMode:a.debugMode,debugMode:function(t){a.jsrDbgMode(t);t?n._jsv={views:w,bindings:c}:delete n._jsv},jsv:function(){a.debugMode(a._dbgMode);p=a.linkAttr;d=u._err;di=ui+",["+p+"]";ki=a.noDomLevel0;h.optgroup=h.option;h.tbody=h.tfoot=h.colgroup=h.caption=h.thead;h.th=h.td}}))}(this,this.jQuery);
5
+ /*
6
+ //# sourceMappingURL=jsviews.min.js.map
7
+ */
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3ff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.8
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chew Choon Keat
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-12 00:00:00.000000000 Z
11
+ date: 2014-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: s3_file_field
@@ -81,7 +81,7 @@ files:
81
81
  - lib/s3ff/railtie.rb
82
82
  - lib/s3ff/version.rb
83
83
  - lib/s3ff/view_helper.rb
84
- - vendor/assets/javascripts/jsrender.min.js
84
+ - vendor/assets/javascripts/jsviews.min.js
85
85
  homepage: https://github.com/jollygoodcode/s3ff
86
86
  licenses:
87
87
  - MIT
@@ -1,6 +0,0 @@
1
- /*! JsRender v1.0.0-beta: http://github.com/BorisMoore/jsrender and http://jsviews.com/jsviews
2
- informal pre V1.0 commit counter: 60 */
3
- (function(n,t,i){"use strict";function et(n,t){for(var i in t.props)wt.test(i)&&(n[i]=t.props[i])}function ot(n){return n}function ir(n){return n}function dt(n){s._dbgMode=n;pt=n?"Unavailable (nested view): use #getIndex()":"";it("dbg",ci.dbg=tt.dbg=n?ir:ot)}function st(n){this.name=(u.link?"JsViews":"JsRender")+" Error";this.message=n||this.name}function f(n,t){for(var i in t)n[i]=t[i];return n}function d(n){return typeof n=="function"}function gt(n,t,i){return(!o.rTag||n)&&(p=n?n.charAt(0):p,w=n?n.charAt(1):w,h=t?t.charAt(0):h,v=t?t.charAt(1):v,nt=i||nt,n="\\"+p+"(\\"+nt+")?\\"+w,t="\\"+h+"\\"+v,y="(?:(?:(\\w+(?=[\\/\\s\\"+h+"]))|(?:(\\w+)?(:)|(>)|!--((?:[^-]|-(?!-))*)--|(\\*)))\\s*((?:[^\\"+h+"]|\\"+h+"(?!\\"+v+"))*?)",o.rTag=y+")",y=new RegExp(n+y+"(\\/)?|(?:\\/(\\w+)))"+t,"g"),yt=new RegExp("<.*>|([^\\\\]|^)[{}]|"+n+".*"+t)),[p,w,h,v,nt]}function rr(n,t){t||(t=n,n=i);var e,f,o,u,r=this,s=!t||t==="root";if(n){if(u=r.type===t?r:i,!u)if(e=r.views,r._.useKey){for(f in e)if(u=e[f].get(n,t))break}else for(f=0,o=e.length;!u&&f<o;f++)u=e[f].get(n,t)}else if(s)while(r.parent.parent)u=r=r.parent;else while(r&&!u)u=r.type===t?r:i,r=r.parent;return u}function ni(){var n=this.get("item");return n?n.index:i}function ti(){return this.index}function ur(t){var u,e=this,o=e.linkCtx,r=(e.ctx||{})[t];return r===i&&o&&o.ctx&&(r=o.ctx[t]),r===i&&(r=ci[t]),r&&d(r)&&!r._wrp&&(u=function(){return r.apply(!this||this===n?e:this,arguments)},u._wrp=!0,f(u,r)),u||r}function fr(n,t,u,f){var e,s,c=+u===u&&t.tmpl.bnds[u-1],h=t.linkCtx;return f=f!==i&&{props:{},args:[f]},u=f||(c?c(t.data,t,r):u),s=u.args[0],(n||c)&&(e=h&&h.tag,e||(e={_:{inline:!h,bnd:c},tagName:":",cvt:n,flow:!0,tagCtx:u,_is:"tag"},h&&(h.tag=e,e.linkCtx=h,u.ctx=a(u.ctx,h.view.ctx)),o._lnk(e)),e._er=f&&s,et(e,u),u.view=t,e.ctx=u.ctx||{},delete u.ctx,t._.tag=e,s=ht(e,e.convert||n!=="true"&&n)[0],s=c&&t._.onRender?t._.onRender(s,t,c):s,t._.tag=i),s!=i?s:""}function ht(n,t){var r=n.tagCtx,u=r.view,i=r.args;return t=t&&(""+t===t?u.getRsc("converters",t)||c("Unknown converter: '"+t+"'"):t),i=!i.length&&!r.index?[u.data]:t?i.slice():i,t&&(t.depends&&(n.depends=o.getDeps(n.depends,n,t.depends,t)),i[0]=t.apply(n,i)),i}function er(n,t){for(var f,e,u=this;f===i&&u;)e=u.tmpl[n],f=e&&e[t],u=u.parent;return f||r[n][t]}function or(n,t,u,s,h,l){var v,lt,at,ot,p,vt,nt,y,st,rt,it,yt,pt,d,k,ct,wt,g="",w=t.linkCtx||0,ut=t.ctx,bt=u||t.tmpl,ft=+s===s&&bt.bnds[s-1];for(n._is==="tag"&&(v=n,n=v.tagName,s=v.tagCtxs),v=v||w.tag,l=l!==i&&(g+=l,[{props:{},args:[]}]),s=l||(ft?ft(t.data,t,r):s),vt=s.length,p=0;p<vt;p++)p||u&&v||(it=t.getRsc("tags",n)||c("Unknown tag: {{"+n+"}}")),y=s[p],(!w.tag||v._er)&&(rt=y.tmpl,rt=y.content=rt&&bt.tmpls[rt-1],f(y,{tmpl:(v?v:it).template||rt,render:ei,index:p,view:t,ctx:a(y.ctx,ut)})),(u=y.props.tmpl)&&(u=""+u===u?t.getRsc("templates",u)||e(u):u,y.tmpl=u),v||(it._ctr?(v=new it._ctr,yt=!!v.init):o._lnk(v={render:it.render}),v._={inline:!w},w&&(w.tag=v,v.linkCtx=w),(v._.bnd=ft||w.fn)?v._.arrVws={}:v.dataBoundOnly&&c("{^{"+n+"}} tag must be data-bound"),v.tagName=n,v.parent=ot=ut&&ut.tag,v._is="tag",v._def=it,v.tagCtxs=s),y.tag=v,v.dataMap&&v.tagCtxs&&(y.map=v.tagCtxs[p].map),v.flow||(st=y.ctx=y.ctx||{},lt=v.parents=st.parentTags=ut&&a(st.parentTags,ut.parentTags)||{},ot&&(lt[ot.tagName]=ot),lt[v.tagName]=st.tag=v);if(t._.tag=v,!(v._er=l)){for(et(v,s[0]),v.rendering={},p=0;p<vt;p++)y=v.tagCtx=v.tagCtxs[p],ct=y.props,k=ht(v,v.convert),(pt=ct.dataMap||v.dataMap)&&(k.length||ct.dataMap)&&(d=y.map,(!d||d.src!==k[0]||h)&&(d&&d.src&&d.unmap(),d=y.map=pt.map(k[0],ct)),k=[d.tgt]),v.ctx=y.ctx,!p&&yt&&(wt=v.template,v.init(y,w,v.ctx),yt=i,v.template!==wt&&(v._.tmpl=v.template),w&&(w.attr=v.attr=w.attr||v.attr)),nt=i,v.render&&(nt=v.render.apply(v,k)),k=k.length?k:[t],nt=nt!==i?nt:y.render(k[0],!0)||(h?i:""),g=g?g+(nt||""):nt;delete v.rendering}return v.tagCtx=v.tagCtxs[0],v.ctx=v.tagCtx.ctx,v._.inline&&(at=v.attr)&&at!==b&&(g=at==="text"?tt.html(g):""),ft&&t._.onRender?t._.onRender(g,t,ft):g}function g(n,t,i,r,u,f,e,o){var a,h,c,s=this,v=t==="array",l={key:0,useKey:v?0:1,id:""+tr++,onRender:o,bnds:{}};s.data=r;s.tmpl=u;s.content=e;s.views=v?[]:{};s.parent=i;s.type=t||"top";s._=l;s.linked=!!o;i?(a=i.views,h=i._,h.useKey?(a[l.key="_"+h.useKey++]=s,s.index=pt,s.getIndex=ni,c=h.tag,l.bnd=v&&(!c||!!c._.bnd&&c)):a.splice(l.key=s.index=f,0,s),s.ctx=n||i.ctx):s.ctx=n}function sr(n){var i,r,t,u,e,f,s;for(i in k)if(e=k[i],(f=e.compile)&&(r=n[i+"s"]))for(t in r)u=r[t]=f(t,r[t],n),u&&(s=o.onStore[i])&&s(t,u,f)}function hr(n,t,r){var o,u;return d(t)?t={depends:t.depends,render:t}:(t.baseTag&&(t.flow=!!t.flow,t=f(f({},t.baseTag),t)),(u=t.template)!==i&&(t.template=""+u===u?e[u]||e(u):u),t.init!==!1&&(o=t._ctr=function(){},(o.prototype=t).constructor=o)),r&&(t._parentTmpl=r),t}function ii(r,u,f,o){function c(u){if(""+u===u||u.nodeType>0){try{h=u.nodeType>0?u:!yt.test(u)&&t&&t(n.document).find(u)[0]}catch(s){}return h&&(u=e[r=r||h.getAttribute(ft)],u||(r=r||"_"+nr++,h.setAttribute(ft,r),u=e[r]=ii(r,h.innerHTML,f,o)),h=i),u}}var s,h;return u=u||"",s=c(u),o=o||(u.markup?u:{}),o.tmplName=r,f&&(o._parentTmpl=f),!s&&u.markup&&(s=c(u.markup))&&s.fn&&(s.debug!==u.debug||s.allowCode!==u.allowCode)&&(s=s.markup),s!==i?(r&&!f&&(kt[r]=function(){return u.render.apply(u,arguments)}),s.fn||u.fn?s.fn&&(u=r&&r!==s.tmplName?a(o,s):s):(u=ui(s,o),lt(s.replace(pi,"\\$&"),u)),sr(o),u):void 0}function ri(n){function t(t,i){this.tgt=n.getTgt(t,i)}return d(n)&&(n={getTgt:n}),n.baseMap&&(n=f(f({},n.baseMap),n)),n.map=function(n,i){return new t(n,i)},n}function ui(n,t){var i,e=s.wrapMap||{},r=f({markup:n,tmpls:[],links:{},tags:{},bnds:[],_is:"template",render:fi},t);return t.htmlTag||(i=ki.exec(n),r.htmlTag=i?i[1].toLowerCase():""),i=e[r.htmlTag],i&&i!==e.div&&(r.markup=u.trim(r.markup)),r}function cr(n,t){function u(e,s,h){var v,c,l,a;if(e&&typeof e=="object"&&!e.nodeType&&!e.markup&&!e.getTgt){for(l in e)u(l,e[l],s);return r}return s===i&&(s=e,e=i),e&&""+e!==e&&(h=s,s=e,e=i),a=h?h[f]=h[f]||{}:u,c=t.compile,s===null?e&&delete a[e]:(s=c?s=c(e,s,h):s,e&&(a[e]=s)),c&&s&&(s._is=n),s&&(v=o.onStore[n])&&v(e,s,c),s}var f=n+"s";r[f]=u;k[n]=t}function lr(n,t,i){var r=this.jquery&&(this[0]||c('Unknown template: "'+this.selector+'"')),u=r.getAttribute(ft);return fi.call(u?e[u]:e(r),n,t,i)}function ct(n,t,i){if(s._dbgMode)try{return n.fn(t,i,r)}catch(u){return c(u,i)}return n.fn(t,i,r)}function fi(n,t,i,r,f,e){var o=this;return!r&&o.fn._nvw&&!u.isArray(n)?ct(o,n,{tmpl:o}):ei.call(o,n,t,i,r,f,e)}function ei(n,t,r,f,o,s){var y,ut,d,l,nt,tt,it,p,v,rt,w,ft,h,et,c=this,k="";if(!!t===t&&(r=t,t=i),o===!0&&(it=!0,o=0),c.tag?(p=c,c=c.tag,rt=c._,ft=c.tagName,h=rt.tmpl||p.tmpl,et=c.attr&&c.attr!==b,t=a(t,c.ctx),v=p.content,p.props.link===!1&&(t=t||{},t.link=!1),f=f||p.view,n=arguments.length?n:f):h=c,h&&(!f&&n&&n._is==="view"&&(f=n),f&&(v=v||f.content,s=s||f._.onRender,n===f&&(n=f.data),t=a(t,f.ctx)),f&&f.type!=="top"||((t=t||{}).root=n),h.fn||(h=e[h]||e(h)),h)){if(s=(t&&t.link)!==!1&&!et&&s,w=s,s===!0&&(w=i,s=f._.onRender),t=h.helpers?a(h.helpers,t):t,u.isArray(n)&&!r)for(l=it?f:o!==i&&f||new g(t,"array",f,n,h,o,v,s),y=0,ut=n.length;y<ut;y++)d=n[y],nt=new g(t,"item",l,d,h,(o||0)+y,v,s),tt=ct(h,d,nt),k+=l._.onRender?l._.onRender(tt,nt):tt;else(f||!h.fn._nvw)&&(l=it?f:new g(t,ft||"data",f,n,h,o,v,s),rt&&!c.flow&&(l.tag=c)),k+=ct(h,n,l);return w?w(k,l):k}return""}function c(n,t,i){var r=s.onError(n,t,i);if(""+n===n)throw new o.Err(r);return!t.linkCtx&&t.linked?tt.html(r):r}function l(n){c("Syntax error\n"+n)}function lt(n,t,i,r){function k(t){t-=f;t&&h.push(n.substr(f,t).replace(ut,"\\n"))}function c(t){t&&l('Unmatched or missing tag: "{{/'+t+'}}" in template:\n'+n)}function d(e,o,v,y,p,d,nt,tt,it,rt,ft,et){d&&(p=":",y=b);rt=rt||i;var ot=(o||i)&&[[]],ht="",ct="",lt="",at="",vt="",yt="",pt="",bt="",st=!rt&&!p&&!nt;v=v||(it=it||"#data",p);k(et);f=et+e.length;tt?g&&h.push(["*","\n"+it.replace(yi,"$1")+"\n"]):v?(v==="else"&&(bi.test(it)&&l('for "{{else if expr}}" use "{{else expr}}"'),ot=u[7],u[8]=n.substring(u[8],et),u=s.pop(),h=u[2],st=!0),it&&(hi(it.replace(ut," "),ot,t).replace(wi,function(n,t,i,r,u,f,e,o){return e?(ct+=f+",",at+="'"+o+"',"):i?(lt+=r+f+",",yt+=r+"'"+o+"',"):t?pt+=f:(u==="trigger"&&(bt+=f),ht+=r+f+",",vt+=r+"'"+o+"',",w=w||wt.test(u)),""}).slice(0,-1),ot&&ot[0]&&ot.pop()),a=[v,y||!!r||w||"",st&&[],oi(at,vt,yt),oi(ct,ht,lt),pt,bt,ot||0],h.push(a),st&&(s.push(u),u=a,u[8]=f)):ft&&(c(ft!==u[0]&&u[0]!=="else"&&ft),u[8]=n.substring(u[8],et),u=s.pop());c(!u&&ft);h=u[2]}var o,a,w,g=t&&t.allowCode,e=[],f=0,s=[],h=e,u=[,,e];return i&&(n=p+n+v),c(s[0]&&s[0][2].pop()[0]),n.replace(y,d),k(n.length),(f=e[e.length-1])&&c(""+f!==f&&+f[8]===f[8]&&f[0]),i?(o=vt(e,n,i),at(o,e[0][7])):o=vt(e,t),o._nvw&&(o._nvw=!/[~#]/.test(n)),o}function at(n,t){n.deps=[];for(var i in t)i!=="_jsvto"&&t[i].length&&(n.deps=n.deps.concat(t[i]));n.paths=t}function oi(n,t,i){return[n.slice(0,-1),t.slice(0,-1),i.slice(0,-1)]}function si(n,t){return"\n\t"+(t?t+":{":"")+"args:["+n[0]+"]"+(n[1]||!t?",\n\tprops:{"+n[1]+"}":"")+(n[2]?",\n\tctx:{"+n[2]+"}":"")}function hi(n,t,i){function b(b,k,d,g,nt,tt,it,rt,ut,ft,et,ot,st,ht,ct,at,vt,yt,pt,wt){function ni(n,i,u,e,o,h,c,l){if(u&&(r&&(f==="linkTo"&&(s=t._jsvto=t._jsvto||[],s.push(nt)),(!f||a)&&r.push(nt.slice(i.length))),u!==".")){var v=(e?'view.hlp("'+e+'")':o?"view":"data")+(l?(h?"."+h:e?"":o?"":"."+u)+(c||""):(l=e?"":o?h||"":u,""));return v=v+(l?"."+l:""),i+(v.slice(0,9)==="view.data"?v.slice(5):v)}return n}tt=tt||"";d=d||k||ot;nt=nt||ut;ft=ft||vt||"";var kt,dt,bt,gt=wt.length-1;if(!it||o||e)return r&&at&&!o&&!e&&(!f||a||s)&&(kt=p[u],gt>pt-kt&&(kt=wt.slice(kt,pt+1),at=w+":"+kt+" onerror=''"+h,bt=y[at],bt||(y[at]=!0,y[at]=bt=lt(at,i||r,!0),bt.paths.push({_jsvOb:bt})),bt!==!0&&(s||r).push({_jsvOb:bt}))),o?(o=!st,o?b:'"'):e?(e=!ht,e?b:'"'):(d?(u++,p[u]=pt++,d):"")+(yt?u?"":(c=wt.slice(c,pt),f?(f=a=s=!1,"\b"):"\b,")+c+(c=pt+b.length,r&&t.push(r=[]),"\b"):rt?(u&&l(n),r&&t.pop(),f=nt,a=g,c=pt+b.length,g&&(r=t[f]=[]),nt+":"):nt?nt.split("^").join(".").replace(ai,ni)+(ft?(v[++u]=!0,nt.charAt(0)!=="."&&(p[u]=pt),dt?"":ft):tt):tt?tt:ct?(v[u--]=!1,ct)+(ft?(v[++u]=!0,ft):""):et?(v[u]||l(n),","):k?"":(o=st,e=ht,'"'));l(n)}var f,s,a,e,o,r=t&&t[0],c=0,y=i?i.links:r&&(r.links=r.links||{}),v={},p={0:-1},u=0;return(n+(i?" ":"")).replace(/\)\^/g,").").replace(vi,b)}function vt(n,t,r){var p,f,e,c,g,yt,pt,ni,wt,nt,ot,w,s,st,tt,it,v,ht,y,rt,k,ft,bt,d,kt,dt,ct,h,a,lt,gt,o=0,u="",et={},ti=n.length;for(""+t===t?(y=r?'data-link="'+t.replace(ut," ").slice(1,-1)+'"':t,t=0):(y=t.tmplName||"unnamed",t.allowCode&&(et.allowCode=!0),t.debug&&(et.debug=!0),w=t.bnds,ht=t.tmpls),p=0;p<ti;p++)if(f=n[p],""+f===f)u+='\n+"'+f+'"';else if(e=f[0],e==="*")u+=";\n"+f[1]+"\nret=ret";else{if(c=f[1],ft=f[2],g=si(f[3],"params")+"},"+si(st=f[4]),a=f[5],gt=f[6],bt=f[8],(dt=e==="else")||(o=0,w&&(s=f[7])&&(o=w.push(s))),(ct=e===":")?c&&(e=c===b?">":c+e):(ft&&(rt=ui(bt,et),rt.tmplName=y+"/"+e,vt(ft,rt),ht.push(rt)),dt||(k=e,kt=u,u=""),d=n[p+1],d=d&&d[0]==="else"),lt=a?";\ntry{\nret+=":"\n+",tt="",it="",ct&&(s||gt||c&&c!==b)){if(h="return {"+g+"};",v='c("'+c+'",view,',h=new Function("data,view,j,u"," // "+y+" "+o+" "+e+"\n"+h),h._er=a,tt=v+o+",",it=")",h._tag=e,r)return h;at(h,s);ot=!0}if(u+=ct?(r?(a?"\ntry{\n":"")+"return ":lt)+(ot?(ot=i,nt=wt=!0,v+(s?(w[o-1]=h,o):"{"+g+"}")+")"):e===">"?(pt=!0,"h("+st[0]+")"):(ni=!0,"((v="+st[0]+')!=null?v:"")')):(nt=yt=!0,"\n{view:view,tmpl:"+(ft?ht.length:"0")+","+g+"},"),k&&!d){if(u="["+u.slice(0,-1)+"]",v='t("'+k+'",view,this,',r||s){if(u=new Function("data,view,j,u"," // "+y+" "+o+" "+k+"\nreturn "+u+";"),u._er=a,u._tag=e,s&&at(w[o-1]=u,s),r)return u;tt=v+o+",undefined,";it=")"}u=kt+lt+v+(o||u)+")";s=0;k=0}a&&(nt=!0,u+=";\n}catch(e){ret"+(r?"urn ":"+=")+tt+"j._err(e,view,"+a+")"+it+";}\n"+(r?"":"ret=ret"))}u="// "+y+"\nvar v"+(yt?",t=j._tag":"")+(wt?",c=j._cnvt":"")+(pt?",h=j.converters.html":"")+(r?";\n":',ret=""\n')+(et.debug?"debugger;":"")+u+(r?"\n":";\nreturn ret;");try{u=new Function("data,view,j,u",u)}catch(ii){l("Compiled template code:\n\n"+u+'\n: "'+ii.message+'"')}return t&&(t.fn=u),nt||(u._nvw=!0),u}function a(n,t){return n&&n!==t?t?f(f({},t),n):n:t&&f({},t)}function ar(n){return bt[n]||(bt[n]="&#"+n.charCodeAt(0)+";")}function vr(n){var i,t,r=[];if(typeof n=="object")for(i in n)t=n[i],t&&t.toJSON&&!t.toJSON()||d(t)||r.push({key:i,prop:t});return r}function li(n){return n!=null?di.test(n)&&(""+n).replace(gi,ar)||n:""}if((!t||!t.render)&&!n.jsviews){var u,rt,y,yt,pt,p="{",w="{",h="}",v="}",nt="^",ai=/^(!*?)(?:null|true|false|\d[\d.]*|([\w$]+|\.|~([\w$]+)|#(view|([\w$]+))?)([\w$.^]*?)(?:[.[^]([\w$]+)\]?)?)$/g,vi=/(\()(?=\s*\()|(?:([([])\s*)?(?:(\^?)(!*?[#~]?[\w$.^]+)?\s*((\+\+|--)|\+|-|&&|\|\||===|!==|==|!=|<=|>=|[<>%*:?\/]|(=))\s*|(!*?[#~]?[\w$.^]+)([([])?)|(,\s*)|(\(?)\\?(?:(')|("))|(?:\s*(([)\]])(?=\s*\.|\s*\^|\s*$)|[)\]])([([]?))|(\s+)/g,ut=/[ \t]*(\r\n|\n|\r)/g,yi=/\\(['"])/g,pi=/['"\\]/g,wi=/(?:\x08|^)(onerror:)?(?:(~?)(([\w$]+):)?([^\x08]+))\x08(,)?([^\x08]+)/gi,bi=/^if\s/,ki=/<(\w+)[>\s]/,di=/[\x00`><\"'&]/,wt=/^on[A-Z]|^convert(Back)?$/,gi=/[\x00`><"'&]/g,nr=0,tr=0,bt={"&":"&amp;","<":"&lt;",">":"&gt;","\x00":"&#0;","'":"&#39;",'"':"&#34;","`":"&#96;"},b="html",ft="data-jsv-tmpl",kt={},k={template:{compile:ii},tag:{compile:hr},helper:{},converter:{}},r={jsviews:"v1.0.0-beta",settings:function(n){f(s,n);dt(s._dbgMode);s.jsv&&s.jsv()},sub:{View:g,Err:st,tmplFn:lt,cvt:ht,parse:hi,extend:f,syntaxErr:l,onStore:{},_lnk:ot,_ths:et},map:ri,_cnvt:fr,_tag:or,_err:c};(st.prototype=new Error).constructor=st;ni.depends=function(){return[this.get("item"),"index"]};ti.depends=function(){return["index"]};g.prototype={get:rr,getIndex:ti,getRsc:er,hlp:ur,_is:"view"};for(rt in k)cr(rt,k[rt]);var e=r.templates,tt=r.converters,ci=r.helpers,it=r.tags,o=r.sub,s=r.settings;t?(u=t,u.fn.render=lr,u.observable&&(f(o,u.views.sub),r.map=u.views.map)):(u=n.jsviews={},u.isArray=Array&&Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"});u.render=kt;u.views=r;u.templates=e=r.templates;s({debugMode:dt,delimiters:gt,onError:function(n,t,r){return t&&(n=r===i?"{Error: "+n+"}":d(r)?r(n,t):r),n==i?"":n},_dbgMode:!0});it({"else":function(){},"if":{render:function(n){var t=this;return t.rendering.done||!n&&(arguments.length||!t.tagCtx.index)?"":(t.rendering.done=!0,t.selected=t.tagCtx.index,t.tagCtx.render(t.tagCtx.view,!0))},onUpdate:function(n,t,i){for(var r,f,u=0;(r=this.tagCtxs[u])&&r.args.length;u++)if(r=r.args[0],f=!r!=!i[u].args[0],!this.convert&&!!r||f)return f;return!1},flow:!0},"for":{render:function(n){var f,t=this,r=t.tagCtx,e="",o=0;return t.rendering.done||((f=!arguments.length)&&(n=r.view.data),n!==i&&(e+=r.render(n,f),o+=u.isArray(n)?n.length:1),(t.rendering.done=o)&&(t.selected=r.index)),e},flow:!0},include:{flow:!0},"*":{render:ot,flow:!0}});it("props",{baseTag:it["for"],dataMap:ri(vr)});tt({html:li,attr:li,url:function(n){return n!=i?encodeURI(""+n):n===null?n:""}});gt()}})(this,this.jQuery);
4
- /*
5
- //# sourceMappingURL=jsrender.min.js.map
6
- */