Build 0.5.9.
Showing
5 changed files
with
176 additions
and
83 deletions
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | "name": "rivets", | 2 | "name": "rivets", |
3 | "repo": "mikeric/rivets", | 3 | "repo": "mikeric/rivets", |
4 | "description": "Declarative data binding facility.", | 4 | "description": "Declarative data binding facility.", |
5 | "version": "0.5.8", | 5 | "version": "0.5.9", |
6 | "keywords": ["data binding", "templating"], | 6 | "keywords": ["data binding", "templating"], |
7 | "scripts": ["dist/rivets.js"], | 7 | "scripts": ["dist/rivets.js"], |
8 | "main": "dist/rivets.js", | 8 | "main": "dist/rivets.js", | ... | ... |
1 | // Rivets.js | 1 | // Rivets.js |
2 | // version: 0.5.8 | 2 | // version: 0.5.9 |
3 | // author: Michael Richards | 3 | // author: Michael Richards |
4 | // license: MIT | 4 | // license: MIT |
5 | (function() { | 5 | (function() { |
... | @@ -34,7 +34,7 @@ | ... | @@ -34,7 +34,7 @@ |
34 | this.set = __bind(this.set, this); | 34 | this.set = __bind(this.set, this); |
35 | this.eventHandler = __bind(this.eventHandler, this); | 35 | this.eventHandler = __bind(this.eventHandler, this); |
36 | this.formattedValue = __bind(this.formattedValue, this); | 36 | this.formattedValue = __bind(this.formattedValue, this); |
37 | if (!(this.binder = this.view.binders[type])) { | 37 | if (!(this.binder = Rivets.internalBinders[this.type] || this.view.binders[type])) { |
38 | _ref = this.view.binders; | 38 | _ref = this.view.binders; |
39 | for (identifier in _ref) { | 39 | for (identifier in _ref) { |
40 | value = _ref[identifier]; | 40 | value = _ref[identifier]; |
... | @@ -256,107 +256,133 @@ | ... | @@ -256,107 +256,133 @@ |
256 | }; | 256 | }; |
257 | 257 | ||
258 | View.prototype.build = function() { | 258 | View.prototype.build = function() { |
259 | var bindingRegExp, el, node, parse, skipNodes, _i, _j, _len, _len1, _ref, _ref1, | 259 | var bindingRegExp, buildBinding, el, parse, skipNodes, _i, _len, _ref, |
260 | _this = this; | 260 | _this = this; |
261 | 261 | ||
262 | this.bindings = []; | 262 | this.bindings = []; |
263 | skipNodes = []; | 263 | skipNodes = []; |
264 | bindingRegExp = this.bindingRegExp(); | 264 | bindingRegExp = this.bindingRegExp(); |
265 | buildBinding = function(node, type, declaration) { | ||
266 | var context, ctx, dependencies, key, keypath, options, path, pipe, pipes, splitPath; | ||
267 | |||
268 | options = {}; | ||
269 | pipes = (function() { | ||
270 | var _i, _len, _ref, _results; | ||
271 | |||
272 | _ref = declaration.split('|'); | ||
273 | _results = []; | ||
274 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
275 | pipe = _ref[_i]; | ||
276 | _results.push(pipe.trim()); | ||
277 | } | ||
278 | return _results; | ||
279 | })(); | ||
280 | context = (function() { | ||
281 | var _i, _len, _ref, _results; | ||
282 | |||
283 | _ref = pipes.shift().split('<'); | ||
284 | _results = []; | ||
285 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
286 | ctx = _ref[_i]; | ||
287 | _results.push(ctx.trim()); | ||
288 | } | ||
289 | return _results; | ||
290 | })(); | ||
291 | path = context.shift(); | ||
292 | splitPath = path.split(/\.|:/); | ||
293 | options.formatters = pipes; | ||
294 | options.bypass = path.indexOf(':') !== -1; | ||
295 | if (splitPath[0]) { | ||
296 | key = splitPath.shift(); | ||
297 | } else { | ||
298 | key = null; | ||
299 | splitPath.shift(); | ||
300 | } | ||
301 | keypath = splitPath.join('.'); | ||
302 | if (dependencies = context.shift()) { | ||
303 | options.dependencies = dependencies.split(/\s+/); | ||
304 | } | ||
305 | return _this.bindings.push(new Rivets.Binding(_this, node, type, key, keypath, options)); | ||
306 | }; | ||
265 | parse = function(node) { | 307 | parse = function(node) { |
266 | var attribute, attributes, binder, context, ctx, dependencies, identifier, key, keypath, n, options, path, pipe, pipes, regexp, splitPath, type, value, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3; | 308 | var attribute, attributes, binder, childNode, delimiters, identifier, n, parser, regexp, restTokens, startToken, text, token, tokens, type, value, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m, _ref, _ref1, _ref2, _ref3, _ref4, _results; |
267 | 309 | ||
268 | if (__indexOf.call(skipNodes, node) < 0) { | 310 | if (__indexOf.call(skipNodes, node) < 0) { |
269 | _ref = node.attributes; | 311 | if (node.nodeType === Node.TEXT_NODE) { |
270 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | 312 | parser = Rivets.TextTemplateParser; |
271 | attribute = _ref[_i]; | 313 | if (delimiters = _this.config.templateDelimiters) { |
272 | if (bindingRegExp.test(attribute.name)) { | 314 | if ((tokens = parser.parse(node.data, delimiters)).length) { |
273 | type = attribute.name.replace(bindingRegExp, ''); | 315 | if (!(tokens.length === 1 && tokens[0].type === parser.types.text)) { |
274 | if (!(binder = _this.binders[type])) { | 316 | startToken = tokens[0], restTokens = 2 <= tokens.length ? __slice.call(tokens, 1) : []; |
275 | _ref1 = _this.binders; | 317 | node.data = startToken.value; |
276 | for (identifier in _ref1) { | 318 | switch (startToken.type) { |
277 | value = _ref1[identifier]; | 319 | case 0: |
278 | if (identifier !== '*' && identifier.indexOf('*') !== -1) { | 320 | node.data = startToken.value; |
279 | regexp = new RegExp("^" + (identifier.replace('*', '.+')) + "$"); | 321 | break; |
280 | if (regexp.test(type)) { | 322 | case 1: |
281 | binder = value; | 323 | buildBinding(node, 'textNode', startToken.value); |
324 | } | ||
325 | for (_i = 0, _len = restTokens.length; _i < _len; _i++) { | ||
326 | token = restTokens[_i]; | ||
327 | node.parentNode.appendChild((text = document.createTextNode(token.value))); | ||
328 | if (token.type === 1) { | ||
329 | buildBinding(text, 'textNode', token.value); | ||
282 | } | 330 | } |
283 | } | 331 | } |
284 | } | 332 | } |
285 | } | 333 | } |
286 | binder || (binder = _this.binders['*']); | ||
287 | if (binder.block) { | ||
288 | _ref2 = node.getElementsByTagName('*'); | ||
289 | for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { | ||
290 | n = _ref2[_j]; | ||
291 | skipNodes.push(n); | ||
292 | } | ||
293 | attributes = [attribute]; | ||
294 | } | ||
295 | } | 334 | } |
296 | } | 335 | } else if (node.attributes != null) { |
297 | _ref3 = attributes || node.attributes; | 336 | _ref = node.attributes; |
298 | for (_k = 0, _len2 = _ref3.length; _k < _len2; _k++) { | 337 | for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { |
299 | attribute = _ref3[_k]; | 338 | attribute = _ref[_j]; |
300 | if (bindingRegExp.test(attribute.name)) { | 339 | if (bindingRegExp.test(attribute.name)) { |
301 | options = {}; | 340 | type = attribute.name.replace(bindingRegExp, ''); |
302 | type = attribute.name.replace(bindingRegExp, ''); | 341 | if (!(binder = _this.binders[type])) { |
303 | pipes = (function() { | 342 | _ref1 = _this.binders; |
304 | var _l, _len3, _ref4, _results; | 343 | for (identifier in _ref1) { |
305 | 344 | value = _ref1[identifier]; | |
306 | _ref4 = attribute.value.split('|'); | 345 | if (identifier !== '*' && identifier.indexOf('*') !== -1) { |
307 | _results = []; | 346 | regexp = new RegExp("^" + (identifier.replace('*', '.+')) + "$"); |
308 | for (_l = 0, _len3 = _ref4.length; _l < _len3; _l++) { | 347 | if (regexp.test(type)) { |
309 | pipe = _ref4[_l]; | 348 | binder = value; |
310 | _results.push(pipe.trim()); | 349 | } |
350 | } | ||
351 | } | ||
311 | } | 352 | } |
312 | return _results; | 353 | binder || (binder = _this.binders['*']); |
313 | })(); | 354 | if (binder.block) { |
314 | context = (function() { | 355 | _ref2 = node.childNodes; |
315 | var _l, _len3, _ref4, _results; | 356 | for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { |
316 | 357 | n = _ref2[_k]; | |
317 | _ref4 = pipes.shift().split('<'); | 358 | skipNodes.push(n); |
318 | _results = []; | 359 | } |
319 | for (_l = 0, _len3 = _ref4.length; _l < _len3; _l++) { | 360 | attributes = [attribute]; |
320 | ctx = _ref4[_l]; | ||
321 | _results.push(ctx.trim()); | ||
322 | } | 361 | } |
323 | return _results; | ||
324 | })(); | ||
325 | path = context.shift(); | ||
326 | splitPath = path.split(/\.|:/); | ||
327 | options.formatters = pipes; | ||
328 | options.bypass = path.indexOf(':') !== -1; | ||
329 | if (splitPath[0]) { | ||
330 | key = splitPath.shift(); | ||
331 | } else { | ||
332 | key = null; | ||
333 | splitPath.shift(); | ||
334 | } | 362 | } |
335 | keypath = splitPath.join('.'); | 363 | } |
336 | if (!key || (_this.models[key] != null)) { | 364 | _ref3 = attributes || node.attributes; |
337 | if (dependencies = context.shift()) { | 365 | for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { |
338 | options.dependencies = dependencies.split(/\s+/); | 366 | attribute = _ref3[_l]; |
339 | } | 367 | if (bindingRegExp.test(attribute.name)) { |
340 | _this.bindings.push(new Rivets.Binding(_this, node, type, key, keypath, options)); | 368 | type = attribute.name.replace(bindingRegExp, ''); |
369 | buildBinding(node, type, attribute.value); | ||
341 | } | 370 | } |
342 | } | 371 | } |
343 | } | 372 | } |
344 | if (attributes) { | 373 | _ref4 = node.childNodes; |
345 | attributes = null; | 374 | _results = []; |
375 | for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) { | ||
376 | childNode = _ref4[_m]; | ||
377 | _results.push(parse(childNode)); | ||
346 | } | 378 | } |
379 | return _results; | ||
347 | } | 380 | } |
348 | }; | 381 | }; |
349 | _ref = this.els; | 382 | _ref = this.els; |
350 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | 383 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { |
351 | el = _ref[_i]; | 384 | el = _ref[_i]; |
352 | parse(el); | 385 | parse(el); |
353 | _ref1 = el.getElementsByTagName('*'); | ||
354 | for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { | ||
355 | node = _ref1[_j]; | ||
356 | if (node.attributes != null) { | ||
357 | parse(node); | ||
358 | } | ||
359 | } | ||
360 | } | 386 | } |
361 | }; | 387 | }; |
362 | 388 | ||
... | @@ -447,6 +473,66 @@ | ... | @@ -447,6 +473,66 @@ |
447 | 473 | ||
448 | })(); | 474 | })(); |
449 | 475 | ||
476 | Rivets.TextTemplateParser = (function() { | ||
477 | function TextTemplateParser() {} | ||
478 | |||
479 | TextTemplateParser.types = { | ||
480 | text: 0, | ||
481 | binding: 1 | ||
482 | }; | ||
483 | |||
484 | TextTemplateParser.parse = function(template, delimiters) { | ||
485 | var index, lastIndex, lastToken, length, substring, tokens, value; | ||
486 | |||
487 | tokens = []; | ||
488 | length = template.length; | ||
489 | index = 0; | ||
490 | lastIndex = 0; | ||
491 | while (lastIndex < length) { | ||
492 | index = template.indexOf(delimiters[0], lastIndex); | ||
493 | if (index < 0) { | ||
494 | tokens.push({ | ||
495 | type: this.types.text, | ||
496 | value: template.slice(lastIndex) | ||
497 | }); | ||
498 | break; | ||
499 | } else { | ||
500 | if (index > 0 && lastIndex < index) { | ||
501 | tokens.push({ | ||
502 | type: this.types.text, | ||
503 | value: template.slice(lastIndex, index) | ||
504 | }); | ||
505 | } | ||
506 | lastIndex = index + 2; | ||
507 | index = template.indexOf(delimiters[1], lastIndex); | ||
508 | if (index < 0) { | ||
509 | substring = template.slice(lastIndex - 2); | ||
510 | lastToken = tokens[tokens.length - 1]; | ||
511 | if ((lastToken != null ? lastToken.type : void 0) === this.types.text) { | ||
512 | lastToken.value += substring; | ||
513 | } else { | ||
514 | tokens.push({ | ||
515 | type: this.types.text, | ||
516 | value: substring | ||
517 | }); | ||
518 | } | ||
519 | break; | ||
520 | } | ||
521 | value = template.slice(lastIndex, index).trim(); | ||
522 | tokens.push({ | ||
523 | type: this.types.binding, | ||
524 | value: value | ||
525 | }); | ||
526 | lastIndex = index + 2; | ||
527 | } | ||
528 | } | ||
529 | return tokens; | ||
530 | }; | ||
531 | |||
532 | return TextTemplateParser; | ||
533 | |||
534 | })(); | ||
535 | |||
450 | Rivets.Util = { | 536 | Rivets.Util = { |
451 | bindEvent: function(el, event, handler) { | 537 | bindEvent: function(el, event, handler) { |
452 | if (window.jQuery != null) { | 538 | if (window.jQuery != null) { |
... | @@ -623,7 +709,7 @@ | ... | @@ -623,7 +709,7 @@ |
623 | routine: function(el, value) { | 709 | routine: function(el, value) { |
624 | var key, model, models, options, _ref; | 710 | var key, model, models, options, _ref; |
625 | 711 | ||
626 | if (value === (this.nested == null)) { | 712 | if (!!value === (this.nested == null)) { |
627 | if (value) { | 713 | if (value) { |
628 | models = {}; | 714 | models = {}; |
629 | _ref = this.view.models; | 715 | _ref = this.view.models; |
... | @@ -793,6 +879,12 @@ | ... | @@ -793,6 +879,12 @@ |
793 | } | 879 | } |
794 | }; | 880 | }; |
795 | 881 | ||
882 | Rivets.internalBinders = { | ||
883 | textNode: function(node, value) { | ||
884 | return node.data = value != null ? value : ''; | ||
885 | } | ||
886 | }; | ||
887 | |||
796 | Rivets.config = { | 888 | Rivets.config = { |
797 | preloadData: true, | 889 | preloadData: true, |
798 | handler: function(context, ev, binding) { | 890 | handler: function(context, ev, binding) { |
... | @@ -803,6 +895,7 @@ | ... | @@ -803,6 +895,7 @@ |
803 | Rivets.formatters = {}; | 895 | Rivets.formatters = {}; |
804 | 896 | ||
805 | Rivets.factory = function(exports) { | 897 | Rivets.factory = function(exports) { |
898 | exports._ = Rivets; | ||
806 | exports.binders = Rivets.binders; | 899 | exports.binders = Rivets.binders; |
807 | exports.formatters = Rivets.formatters; | 900 | exports.formatters = Rivets.formatters; |
808 | exports.config = Rivets.config; | 901 | exports.config = Rivets.config; | ... | ... |
1 | // Rivets.js | 1 | // Rivets.js |
2 | // version: 0.5.8 | 2 | // version: 0.5.9 |
3 | // author: Michael Richards | 3 | // author: Michael Richards |
4 | // license: MIT | 4 | // license: MIT |
5 | (function(){var t,i=function(t,i){return function(){return t.apply(i,arguments)}},e=[].slice,n=[].indexOf||function(t){for(var i=0,e=this.length;e>i;i++)if(i in this&&this[i]===t)return i;return-1};t={},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),t.Binding=function(){function n(t,e,n,s,r,h){var o,u,l,a;if(this.view=t,this.el=e,this.type=n,this.key=s,this.keypath=r,this.options=null!=h?h:{},this.update=i(this.update,this),this.unbind=i(this.unbind,this),this.bind=i(this.bind,this),this.publish=i(this.publish,this),this.sync=i(this.sync,this),this.set=i(this.set,this),this.eventHandler=i(this.eventHandler,this),this.formattedValue=i(this.formattedValue,this),!(this.binder=this.view.binders[n])){a=this.view.binders;for(o in a)l=a[o],"*"!==o&&-1!==o.indexOf("*")&&(u=RegExp("^"+o.replace("*",".+")+"$"),u.test(n)&&(this.binder=l,this.args=RegExp("^"+o.replace("*","(.+)")+"$").exec(n),this.args.shift()))}this.binder||(this.binder=this.view.binders["*"]),this.binder instanceof Function&&(this.binder={routine:this.binder}),this.formatters=this.options.formatters||[],this.model=this.key?this.view.models[this.key]:this.view.models}return n.prototype.formattedValue=function(t){var i,n,s,r,h,o;for(o=this.formatters,r=0,h=o.length;h>r;r++)n=o[r],i=n.split(/\s+/),s=i.shift(),n=this.model[s]instanceof Function?this.model[s]:this.view.formatters[s],(null!=n?n.read:void 0)instanceof Function?t=n.read.apply(n,[t].concat(e.call(i))):n instanceof Function&&(t=n.apply(null,[t].concat(e.call(i))));return t},n.prototype.eventHandler=function(t){var i,e;return e=(i=this).view.config.handler,function(n){return e.call(t,this,n,i)}},n.prototype.set=function(t){var i;return t=t instanceof Function&&!this.binder["function"]?this.formattedValue(t.call(this.model)):this.formattedValue(t),null!=(i=this.binder.routine)?i.call(this,this.el,t):void 0},n.prototype.sync=function(){return this.set(this.options.bypass?this.model[this.keypath]:this.view.config.adapter.read(this.model,this.keypath))},n.prototype.publish=function(){var i,n,s,r,h,o,u,l,a;for(r=t.Util.getInputValue(this.el),u=this.formatters.slice(0).reverse(),h=0,o=u.length;o>h;h++)n=u[h],i=n.split(/\s+/),s=i.shift(),(null!=(l=this.view.formatters[s])?l.publish:void 0)&&(r=(a=this.view.formatters[s]).publish.apply(a,[r].concat(e.call(i))));return this.view.config.adapter.publish(this.model,this.keypath,r)},n.prototype.bind=function(){var t,i,e,n,s,r,h,o,u;if(null!=(r=this.binder.bind)&&r.call(this,this.el),this.options.bypass?this.sync():(this.view.config.adapter.subscribe(this.model,this.keypath,this.sync),this.view.config.preloadData&&this.sync()),null!=(h=this.options.dependencies)?h.length:void 0){for(o=this.options.dependencies,u=[],n=0,s=o.length;s>n;n++)t=o[n],/^\./.test(t)?(e=this.model,i=t.substr(1)):(t=t.split("."),e=this.view.models[t.shift()],i=t.join(".")),u.push(this.view.config.adapter.subscribe(e,i,this.sync));return u}},n.prototype.unbind=function(){var t,i,e,n,s,r,h,o,u;if(null!=(r=this.binder.unbind)&&r.call(this,this.el),this.options.bypass||this.view.config.adapter.unsubscribe(this.model,this.keypath,this.sync),null!=(h=this.options.dependencies)?h.length:void 0){for(o=this.options.dependencies,u=[],n=0,s=o.length;s>n;n++)t=o[n],/^\./.test(t)?(e=this.model,i=t.substr(1)):(t=t.split("."),e=this.view.models[t.shift()],i=t.join(".")),u.push(this.view.config.adapter.unsubscribe(e,i,this.sync));return u}},n.prototype.update=function(t){var i;return null==t&&(t={}),this.key?t[this.key]&&(this.options.bypass||this.view.config.adapter.unsubscribe(this.model,this.keypath,this.sync),this.model=t[this.key],this.options.bypass?this.sync():(this.view.config.adapter.subscribe(this.model,this.keypath,this.sync),this.view.config.preloadData&&this.sync())):this.sync(),null!=(i=this.binder.update)?i.call(this,t):void 0},n}(),t.View=function(){function e(e,n,s){var r,h,o,u,l,a,d,c,f,p;for(this.els=e,this.models=n,this.options=null!=s?s:{},this.update=i(this.update,this),this.publish=i(this.publish,this),this.sync=i(this.sync,this),this.unbind=i(this.unbind,this),this.bind=i(this.bind,this),this.select=i(this.select,this),this.build=i(this.build,this),this.bindingRegExp=i(this.bindingRegExp,this),this.els.jquery||this.els instanceof Array||(this.els=[this.els]),d=["config","binders","formatters"],l=0,a=d.length;a>l;l++){if(h=d[l],this[h]={},this.options[h]){c=this.options[h];for(r in c)o=c[r],this[h][r]=o}f=t[h];for(r in f)o=f[r],null==(p=(u=this[h])[r])&&(u[r]=o)}this.build()}return e.prototype.bindingRegExp=function(){var t;return t=this.config.prefix,t?RegExp("^data-"+t+"-"):/^data-/},e.prototype.build=function(){var i,e,s,r,h,o,u,l,a,d,c,f=this;for(this.bindings=[],h=[],i=this.bindingRegExp(),r=function(e){var s,r,o,u,l,a,d,c,p,b,v,g,y,m,w,k,x,E,j,N,U,V,B,Q,R,A,C,F;if(0>n.call(h,e)){for(R=e.attributes,j=0,V=R.length;V>j;j++)if(s=R[j],i.test(s.name)){if(x=s.name.replace(i,""),!(o=f.binders[x])){A=f.binders;for(d in A)E=A[d],"*"!==d&&-1!==d.indexOf("*")&&(w=RegExp("^"+d.replace("*",".+")+"$"),w.test(x)&&(o=E))}if(o||(o=f.binders["*"]),o.block){for(C=e.getElementsByTagName("*"),N=0,B=C.length;B>N;N++)b=C[N],h.push(b);r=[s]}}for(F=r||e.attributes,U=0,Q=F.length;Q>U;U++)s=F[U],i.test(s.name)&&(v={},x=s.name.replace(i,""),m=function(){var t,i,e,n;for(e=s.value.split("|"),n=[],t=0,i=e.length;i>t;t++)y=e[t],n.push(y.trim());return n}(),u=function(){var t,i,e,n;for(e=m.shift().split("<"),n=[],t=0,i=e.length;i>t;t++)l=e[t],n.push(l.trim());return n}(),g=u.shift(),k=g.split(/\.|:/),v.formatters=m,v.bypass=-1!==g.indexOf(":"),k[0]?c=k.shift():(c=null,k.shift()),p=k.join("."),c&&null==f.models[c]||((a=u.shift())&&(v.dependencies=a.split(/\s+/)),f.bindings.push(new t.Binding(f,e,x,c,p,v))));r&&(r=null)}},d=this.els,o=0,l=d.length;l>o;o++)for(e=d[o],r(e),c=e.getElementsByTagName("*"),u=0,a=c.length;a>u;u++)s=c[u],null!=s.attributes&&r(s)},e.prototype.select=function(t){var i,e,n,s,r;for(s=this.bindings,r=[],e=0,n=s.length;n>e;e++)i=s[e],t(i)&&r.push(i);return r},e.prototype.bind=function(){var t,i,e,n,s;for(n=this.bindings,s=[],i=0,e=n.length;e>i;i++)t=n[i],s.push(t.bind());return s},e.prototype.unbind=function(){var t,i,e,n,s;for(n=this.bindings,s=[],i=0,e=n.length;e>i;i++)t=n[i],s.push(t.unbind());return s},e.prototype.sync=function(){var t,i,e,n,s;for(n=this.bindings,s=[],i=0,e=n.length;e>i;i++)t=n[i],s.push(t.sync());return s},e.prototype.publish=function(){var t,i,e,n,s;for(n=this.select(function(t){return t.binder.publishes}),s=[],i=0,e=n.length;e>i;i++)t=n[i],s.push(t.publish());return s},e.prototype.update=function(t){var i,e,n,s,r,h,o;null==t&&(t={});for(e in t)n=t[e],this.models[e]=n;for(h=this.bindings,o=[],s=0,r=h.length;r>s;s++)i=h[s],o.push(i.update(t));return o},e}(),t.Util={bindEvent:function(t,i,e){return null!=window.jQuery?(t=jQuery(t),null!=t.on?t.on(i,e):t.bind(i,e)):null!=window.addEventListener?t.addEventListener(i,e,!1):(i="on"+i,t.attachEvent(i,e))},unbindEvent:function(t,i,e){return null!=window.jQuery?(t=jQuery(t),null!=t.off?t.off(i,e):t.unbind(i,e)):null!=window.removeEventListener?t.removeEventListener(i,e,!1):(i="on"+i,t.detachEvent(i,e))},getInputValue:function(t){var i,e,n,s;if(null!=window.jQuery)switch(t=jQuery(t),t[0].type){case"checkbox":return t.is(":checked");default:return t.val()}else switch(t.type){case"checkbox":return t.checked;case"select-multiple":for(s=[],e=0,n=t.length;n>e;e++)i=t[e],i.selected&&s.push(i.value);return s;default:return t.value}}},t.binders={enabled:function(t,i){return t.disabled=!i},disabled:function(t,i){return t.disabled=!!i},checked:{publishes:!0,bind:function(i){return t.Util.bindEvent(i,"change",this.publish)},unbind:function(i){return t.Util.unbindEvent(i,"change",this.publish)},routine:function(t,i){var e;return t.checked="radio"===t.type?(null!=(e=t.value)?""+e:void 0)===(null!=i?""+i:void 0):!!i}},unchecked:{publishes:!0,bind:function(i){return t.Util.bindEvent(i,"change",this.publish)},unbind:function(i){return t.Util.unbindEvent(i,"change",this.publish)},routine:function(t,i){var e;return t.checked="radio"===t.type?(null!=(e=t.value)?""+e:void 0)!==(null!=i?""+i:void 0):!i}},show:function(t,i){return t.style.display=i?"":"none"},hide:function(t,i){return t.style.display=i?"none":""},html:function(t,i){return t.innerHTML=null!=i?i:""},value:{publishes:!0,bind:function(i){return t.Util.bindEvent(i,"change",this.publish)},unbind:function(i){return t.Util.unbindEvent(i,"change",this.publish)},routine:function(t,i){var e,s,r,h,o,u,l;if(null!=window.jQuery){if(t=jQuery(t),(null!=i?""+i:void 0)!==(null!=(h=t.val())?""+h:void 0))return t.val(null!=i?i:"")}else if("select-multiple"===t.type){if(null!=i){for(l=[],s=0,r=t.length;r>s;s++)e=t[s],l.push(e.selected=(o=e.value,n.call(i,o)>=0));return l}}else if((null!=i?""+i:void 0)!==(null!=(u=t.value)?""+u:void 0))return t.value=null!=i?i:""}},text:function(t,i){return null!=t.innerText?t.innerText=null!=i?i:"":t.textContent=null!=i?i:""},"if":{block:!0,bind:function(t){var i,e;return null==this.marker?(i=["data",this.view.config.prefix,this.type].join("-").replace("--","-"),e=t.getAttribute(i),this.marker=document.createComment(" rivets: "+this.type+" "+e+" "),t.removeAttribute(i),t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t)):void 0},unbind:function(){var t;return null!=(t=this.nested)?t.unbind():void 0},routine:function(i,e){var n,s,r,h,o;if(e===(null==this.nested)){if(e){r={},o=this.view.models;for(n in o)s=o[n],r[n]=s;return h={binders:this.view.options.binders,formatters:this.view.options.formatters,config:this.view.options.config},(this.nested=new t.View(i,r,h)).bind(),this.marker.parentNode.insertBefore(i,this.marker.nextSibling)}return i.parentNode.removeChild(i),this.nested.unbind(),delete this.nested}},update:function(t){return this.nested.update(t)}},unless:{block:!0,bind:function(i){return t.binders["if"].bind.call(this,i)},unbind:function(){return t.binders["if"].unbind.call(this)},routine:function(i,e){return t.binders["if"].routine.call(this,i,!e)},update:function(i){return t.binders["if"].update.call(this,i)}},"on-*":{"function":!0,unbind:function(i){return this.handler?t.Util.unbindEvent(i,this.args[0],this.handler):void 0},routine:function(i,e){return this.handler&&t.Util.unbindEvent(i,this.args[0],this.handler),t.Util.bindEvent(i,this.args[0],this.handler=this.eventHandler(e))}},"each-*":{block:!0,bind:function(t){var i;return null==this.marker?(i=["data",this.view.config.prefix,this.type].join("-").replace("--","-"),this.marker=document.createComment(" rivets: "+this.type+" "),this.iterated=[],t.removeAttribute(i),t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t)):void 0},unbind:function(){var t,i,e,n,s;if(null!=this.iterated){for(n=this.iterated,s=[],i=0,e=n.length;e>i;i++)t=n[i],s.push(t.unbind());return s}},routine:function(i,e){var n,s,r,h,o,u,l,a,d,c,f,p,b,v,g,y,m,w,k,x,E;if(l=this.args[0],e=e||[],this.iterated.length>e.length)for(m=Array(this.iterated.length-e.length),b=0,g=m.length;g>b;b++)s=m[b],p=this.iterated.pop(),p.unbind(),this.marker.parentNode.removeChild(p.els[0]);for(E=[],r=v=0,y=e.length;y>v;r=++v)if(u=e[r],n={},n[l]=u,null==this.iterated[r]){w=this.view.models;for(o in w)u=w[o],null==(k=n[o])&&(n[o]=u);d=this.iterated.length?this.iterated[this.iterated.length-1].els[0]:this.marker,a={binders:this.view.options.binders,formatters:this.view.options.formatters,config:{}},x=this.view.options.config;for(h in x)f=x[h],a.config[h]=f;a.config.preloadData=!0,c=i.cloneNode(!0),p=new t.View(c,n,a),p.bind(),this.iterated.push(p),E.push(this.marker.parentNode.insertBefore(c,d.nextSibling))}else this.iterated[r].models[l]!==u?E.push(this.iterated[r].update(n)):E.push(void 0);return E},update:function(t){var i,e,n,s,r,h,o,u;i={};for(e in t)n=t[e],e!==this.args[0]&&(i[e]=n);for(o=this.iterated,u=[],r=0,h=o.length;h>r;r++)s=o[r],u.push(s.update(i));return u}},"class-*":function(t,i){var e;return e=" "+t.className+" ",!i==(-1!==e.indexOf(" "+this.args[0]+" "))?t.className=i?""+t.className+" "+this.args[0]:e.replace(" "+this.args[0]+" "," ").trim():void 0},"*":function(t,i){return i?t.setAttribute(this.type,i):t.removeAttribute(this.type)}},t.config={preloadData:!0,handler:function(t,i,e){return this.call(t,i,e.view.models)}},t.formatters={},t.factory=function(i){return i.binders=t.binders,i.formatters=t.formatters,i.config=t.config,i.configure=function(i){var e,n;null==i&&(i={});for(e in i)n=i[e],t.config[e]=n},i.bind=function(i,e,n){var s;return null==e&&(e={}),null==n&&(n={}),s=new t.View(i,e,n),s.bind(),s}},"object"==typeof exports?t.factory(exports):"function"==typeof define&&define.amd?define(["exports"],function(i){return t.factory(this.rivets=i),i}):t.factory(this.rivets={})}).call(this); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
5 | (function(){var t,e=function(t,e){return function(){return t.apply(e,arguments)}},i=[].slice,n=[].indexOf||function(t){for(var e=0,i=this.length;i>e;e++)if(e in this&&this[e]===t)return e;return-1};t={},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),t.Binding=function(){function n(i,n,s,r,h,o){var u,l,a,d;if(this.view=i,this.el=n,this.type=s,this.key=r,this.keypath=h,this.options=null!=o?o:{},this.update=e(this.update,this),this.unbind=e(this.unbind,this),this.bind=e(this.bind,this),this.publish=e(this.publish,this),this.sync=e(this.sync,this),this.set=e(this.set,this),this.eventHandler=e(this.eventHandler,this),this.formattedValue=e(this.formattedValue,this),!(this.binder=t.internalBinders[this.type]||this.view.binders[s])){d=this.view.binders;for(u in d)a=d[u],"*"!==u&&-1!==u.indexOf("*")&&(l=RegExp("^"+u.replace("*",".+")+"$"),l.test(s)&&(this.binder=a,this.args=RegExp("^"+u.replace("*","(.+)")+"$").exec(s),this.args.shift()))}this.binder||(this.binder=this.view.binders["*"]),this.binder instanceof Function&&(this.binder={routine:this.binder}),this.formatters=this.options.formatters||[],this.model=this.key?this.view.models[this.key]:this.view.models}return n.prototype.formattedValue=function(t){var e,n,s,r,h,o;for(o=this.formatters,r=0,h=o.length;h>r;r++)n=o[r],e=n.split(/\s+/),s=e.shift(),n=this.model[s]instanceof Function?this.model[s]:this.view.formatters[s],(null!=n?n.read:void 0)instanceof Function?t=n.read.apply(n,[t].concat(i.call(e))):n instanceof Function&&(t=n.apply(null,[t].concat(i.call(e))));return t},n.prototype.eventHandler=function(t){var e,i;return i=(e=this).view.config.handler,function(n){return i.call(t,this,n,e)}},n.prototype.set=function(t){var e;return t=t instanceof Function&&!this.binder["function"]?this.formattedValue(t.call(this.model)):this.formattedValue(t),null!=(e=this.binder.routine)?e.call(this,this.el,t):void 0},n.prototype.sync=function(){return this.set(this.options.bypass?this.model[this.keypath]:this.view.config.adapter.read(this.model,this.keypath))},n.prototype.publish=function(){var e,n,s,r,h,o,u,l,a;for(r=t.Util.getInputValue(this.el),u=this.formatters.slice(0).reverse(),h=0,o=u.length;o>h;h++)n=u[h],e=n.split(/\s+/),s=e.shift(),(null!=(l=this.view.formatters[s])?l.publish:void 0)&&(r=(a=this.view.formatters[s]).publish.apply(a,[r].concat(i.call(e))));return this.view.config.adapter.publish(this.model,this.keypath,r)},n.prototype.bind=function(){var t,e,i,n,s,r,h,o,u;if(null!=(r=this.binder.bind)&&r.call(this,this.el),this.options.bypass?this.sync():(this.view.config.adapter.subscribe(this.model,this.keypath,this.sync),this.view.config.preloadData&&this.sync()),null!=(h=this.options.dependencies)?h.length:void 0){for(o=this.options.dependencies,u=[],n=0,s=o.length;s>n;n++)t=o[n],/^\./.test(t)?(i=this.model,e=t.substr(1)):(t=t.split("."),i=this.view.models[t.shift()],e=t.join(".")),u.push(this.view.config.adapter.subscribe(i,e,this.sync));return u}},n.prototype.unbind=function(){var t,e,i,n,s,r,h,o,u;if(null!=(r=this.binder.unbind)&&r.call(this,this.el),this.options.bypass||this.view.config.adapter.unsubscribe(this.model,this.keypath,this.sync),null!=(h=this.options.dependencies)?h.length:void 0){for(o=this.options.dependencies,u=[],n=0,s=o.length;s>n;n++)t=o[n],/^\./.test(t)?(i=this.model,e=t.substr(1)):(t=t.split("."),i=this.view.models[t.shift()],e=t.join(".")),u.push(this.view.config.adapter.unsubscribe(i,e,this.sync));return u}},n.prototype.update=function(t){var e;return null==t&&(t={}),this.key?t[this.key]&&(this.options.bypass||this.view.config.adapter.unsubscribe(this.model,this.keypath,this.sync),this.model=t[this.key],this.options.bypass?this.sync():(this.view.config.adapter.subscribe(this.model,this.keypath,this.sync),this.view.config.preloadData&&this.sync())):this.sync(),null!=(e=this.binder.update)?e.call(this,t):void 0},n}(),t.View=function(){function s(i,n,s){var r,h,o,u,l,a,d,c,p,f;for(this.els=i,this.models=n,this.options=null!=s?s:{},this.update=e(this.update,this),this.publish=e(this.publish,this),this.sync=e(this.sync,this),this.unbind=e(this.unbind,this),this.bind=e(this.bind,this),this.select=e(this.select,this),this.build=e(this.build,this),this.bindingRegExp=e(this.bindingRegExp,this),this.els.jquery||this.els instanceof Array||(this.els=[this.els]),d=["config","binders","formatters"],l=0,a=d.length;a>l;l++){if(h=d[l],this[h]={},this.options[h]){c=this.options[h];for(r in c)o=c[r],this[h][r]=o}p=t[h];for(r in p)o=p[r],null==(f=(u=this[h])[r])&&(u[r]=o)}this.build()}return s.prototype.bindingRegExp=function(){var t;return t=this.config.prefix,t?RegExp("^data-"+t+"-"):/^data-/},s.prototype.build=function(){var e,s,r,h,o,u,l,a,d=this;for(this.bindings=[],o=[],e=this.bindingRegExp(),s=function(e,i,n){var s,r,h,o,u,l,a,c,p,f;return l={},p=function(){var t,e,i,s;for(i=n.split("|"),s=[],t=0,e=i.length;e>t;t++)c=i[t],s.push(c.trim());return s}(),s=function(){var t,e,i,n;for(i=p.shift().split("<"),n=[],t=0,e=i.length;e>t;t++)r=i[t],n.push(r.trim());return n}(),a=s.shift(),f=a.split(/\.|:/),l.formatters=p,l.bypass=-1!==a.indexOf(":"),f[0]?o=f.shift():(o=null,f.shift()),u=f.join("."),(h=s.shift())&&(l.dependencies=h.split(/\s+/)),d.bindings.push(new t.Binding(d,e,i,o,u,l))},h=function(r){var u,l,a,c,p,f,b,v,g,y,m,w,x,k,E,N,j,T,U,V,B,C,O,Q,R,A,D,F,H,L,S,$;if(0>n.call(o,r)){if(r.nodeType===Node.TEXT_NODE){if(v=t.TextTemplateParser,(p=d.config.templateDelimiters)&&(k=v.parse(r.data,p)).length&&(1!==k.length||k[0].type!==v.types.text)){switch(m=k[0],y=k.length>=2?i.call(k,1):[],r.data=m.value,m.type){case 0:r.data=m.value;break;case 1:s(r,"textNode",m.value)}for(j=0,B=y.length;B>j;j++)x=y[j],r.parentNode.appendChild(w=document.createTextNode(x.value)),1===x.type&&s(w,"textNode",x.value)}}else if(null!=r.attributes){for(D=r.attributes,T=0,C=D.length;C>T;T++)if(u=D[T],e.test(u.name)){if(E=u.name.replace(e,""),!(a=d.binders[E])){F=d.binders;for(f in F)N=F[f],"*"!==f&&-1!==f.indexOf("*")&&(g=RegExp("^"+f.replace("*",".+")+"$"),g.test(E)&&(a=N))}if(a||(a=d.binders["*"]),a.block){for(H=r.childNodes,U=0,O=H.length;O>U;U++)b=H[U],o.push(b);l=[u]}}for(L=l||r.attributes,V=0,Q=L.length;Q>V;V++)u=L[V],e.test(u.name)&&(E=u.name.replace(e,""),s(r,E,u.value))}for(S=r.childNodes,$=[],A=0,R=S.length;R>A;A++)c=S[A],$.push(h(c));return $}},a=this.els,u=0,l=a.length;l>u;u++)r=a[u],h(r)},s.prototype.select=function(t){var e,i,n,s,r;for(s=this.bindings,r=[],i=0,n=s.length;n>i;i++)e=s[i],t(e)&&r.push(e);return r},s.prototype.bind=function(){var t,e,i,n,s;for(n=this.bindings,s=[],e=0,i=n.length;i>e;e++)t=n[e],s.push(t.bind());return s},s.prototype.unbind=function(){var t,e,i,n,s;for(n=this.bindings,s=[],e=0,i=n.length;i>e;e++)t=n[e],s.push(t.unbind());return s},s.prototype.sync=function(){var t,e,i,n,s;for(n=this.bindings,s=[],e=0,i=n.length;i>e;e++)t=n[e],s.push(t.sync());return s},s.prototype.publish=function(){var t,e,i,n,s;for(n=this.select(function(t){return t.binder.publishes}),s=[],e=0,i=n.length;i>e;e++)t=n[e],s.push(t.publish());return s},s.prototype.update=function(t){var e,i,n,s,r,h,o;null==t&&(t={});for(i in t)n=t[i],this.models[i]=n;for(h=this.bindings,o=[],s=0,r=h.length;r>s;s++)e=h[s],o.push(e.update(t));return o},s}(),t.TextTemplateParser=function(){function t(){}return t.types={text:0,binding:1},t.parse=function(t,e){var i,n,s,r,h,o,u;for(o=[],r=t.length,i=0,n=0;r>n;){if(i=t.indexOf(e[0],n),0>i){o.push({type:this.types.text,value:t.slice(n)});break}if(i>0&&i>n&&o.push({type:this.types.text,value:t.slice(n,i)}),n=i+2,i=t.indexOf(e[1],n),0>i){h=t.slice(n-2),s=o[o.length-1],(null!=s?s.type:void 0)===this.types.text?s.value+=h:o.push({type:this.types.text,value:h});break}u=t.slice(n,i).trim(),o.push({type:this.types.binding,value:u}),n=i+2}return o},t}(),t.Util={bindEvent:function(t,e,i){return null!=window.jQuery?(t=jQuery(t),null!=t.on?t.on(e,i):t.bind(e,i)):null!=window.addEventListener?t.addEventListener(e,i,!1):(e="on"+e,t.attachEvent(e,i))},unbindEvent:function(t,e,i){return null!=window.jQuery?(t=jQuery(t),null!=t.off?t.off(e,i):t.unbind(e,i)):null!=window.removeEventListener?t.removeEventListener(e,i,!1):(e="on"+e,t.detachEvent(e,i))},getInputValue:function(t){var e,i,n,s;if(null!=window.jQuery)switch(t=jQuery(t),t[0].type){case"checkbox":return t.is(":checked");default:return t.val()}else switch(t.type){case"checkbox":return t.checked;case"select-multiple":for(s=[],i=0,n=t.length;n>i;i++)e=t[i],e.selected&&s.push(e.value);return s;default:return t.value}}},t.binders={enabled:function(t,e){return t.disabled=!e},disabled:function(t,e){return t.disabled=!!e},checked:{publishes:!0,bind:function(e){return t.Util.bindEvent(e,"change",this.publish)},unbind:function(e){return t.Util.unbindEvent(e,"change",this.publish)},routine:function(t,e){var i;return t.checked="radio"===t.type?(null!=(i=t.value)?""+i:void 0)===(null!=e?""+e:void 0):!!e}},unchecked:{publishes:!0,bind:function(e){return t.Util.bindEvent(e,"change",this.publish)},unbind:function(e){return t.Util.unbindEvent(e,"change",this.publish)},routine:function(t,e){var i;return t.checked="radio"===t.type?(null!=(i=t.value)?""+i:void 0)!==(null!=e?""+e:void 0):!e}},show:function(t,e){return t.style.display=e?"":"none"},hide:function(t,e){return t.style.display=e?"none":""},html:function(t,e){return t.innerHTML=null!=e?e:""},value:{publishes:!0,bind:function(e){return t.Util.bindEvent(e,"change",this.publish)},unbind:function(e){return t.Util.unbindEvent(e,"change",this.publish)},routine:function(t,e){var i,s,r,h,o,u,l;if(null!=window.jQuery){if(t=jQuery(t),(null!=e?""+e:void 0)!==(null!=(h=t.val())?""+h:void 0))return t.val(null!=e?e:"")}else if("select-multiple"===t.type){if(null!=e){for(l=[],s=0,r=t.length;r>s;s++)i=t[s],l.push(i.selected=(o=i.value,n.call(e,o)>=0));return l}}else if((null!=e?""+e:void 0)!==(null!=(u=t.value)?""+u:void 0))return t.value=null!=e?e:""}},text:function(t,e){return null!=t.innerText?t.innerText=null!=e?e:"":t.textContent=null!=e?e:""},"if":{block:!0,bind:function(t){var e,i;return null==this.marker?(e=["data",this.view.config.prefix,this.type].join("-").replace("--","-"),i=t.getAttribute(e),this.marker=document.createComment(" rivets: "+this.type+" "+i+" "),t.removeAttribute(e),t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t)):void 0},unbind:function(){var t;return null!=(t=this.nested)?t.unbind():void 0},routine:function(e,i){var n,s,r,h,o;if(!!i==(null==this.nested)){if(i){r={},o=this.view.models;for(n in o)s=o[n],r[n]=s;return h={binders:this.view.options.binders,formatters:this.view.options.formatters,config:this.view.options.config},(this.nested=new t.View(e,r,h)).bind(),this.marker.parentNode.insertBefore(e,this.marker.nextSibling)}return e.parentNode.removeChild(e),this.nested.unbind(),delete this.nested}},update:function(t){return this.nested.update(t)}},unless:{block:!0,bind:function(e){return t.binders["if"].bind.call(this,e)},unbind:function(){return t.binders["if"].unbind.call(this)},routine:function(e,i){return t.binders["if"].routine.call(this,e,!i)},update:function(e){return t.binders["if"].update.call(this,e)}},"on-*":{"function":!0,unbind:function(e){return this.handler?t.Util.unbindEvent(e,this.args[0],this.handler):void 0},routine:function(e,i){return this.handler&&t.Util.unbindEvent(e,this.args[0],this.handler),t.Util.bindEvent(e,this.args[0],this.handler=this.eventHandler(i))}},"each-*":{block:!0,bind:function(t){var e;return null==this.marker?(e=["data",this.view.config.prefix,this.type].join("-").replace("--","-"),this.marker=document.createComment(" rivets: "+this.type+" "),this.iterated=[],t.removeAttribute(e),t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t)):void 0},unbind:function(){var t,e,i,n,s;if(null!=this.iterated){for(n=this.iterated,s=[],e=0,i=n.length;i>e;e++)t=n[e],s.push(t.unbind());return s}},routine:function(e,i){var n,s,r,h,o,u,l,a,d,c,p,f,b,v,g,y,m,w,x,k,E;if(l=this.args[0],i=i||[],this.iterated.length>i.length)for(m=Array(this.iterated.length-i.length),b=0,g=m.length;g>b;b++)s=m[b],f=this.iterated.pop(),f.unbind(),this.marker.parentNode.removeChild(f.els[0]);for(E=[],r=v=0,y=i.length;y>v;r=++v)if(u=i[r],n={},n[l]=u,null==this.iterated[r]){w=this.view.models;for(o in w)u=w[o],null==(x=n[o])&&(n[o]=u);d=this.iterated.length?this.iterated[this.iterated.length-1].els[0]:this.marker,a={binders:this.view.options.binders,formatters:this.view.options.formatters,config:{}},k=this.view.options.config;for(h in k)p=k[h],a.config[h]=p;a.config.preloadData=!0,c=e.cloneNode(!0),f=new t.View(c,n,a),f.bind(),this.iterated.push(f),E.push(this.marker.parentNode.insertBefore(c,d.nextSibling))}else this.iterated[r].models[l]!==u?E.push(this.iterated[r].update(n)):E.push(void 0);return E},update:function(t){var e,i,n,s,r,h,o,u;e={};for(i in t)n=t[i],i!==this.args[0]&&(e[i]=n);for(o=this.iterated,u=[],r=0,h=o.length;h>r;r++)s=o[r],u.push(s.update(e));return u}},"class-*":function(t,e){var i;return i=" "+t.className+" ",!e==(-1!==i.indexOf(" "+this.args[0]+" "))?t.className=e?""+t.className+" "+this.args[0]:i.replace(" "+this.args[0]+" "," ").trim():void 0},"*":function(t,e){return e?t.setAttribute(this.type,e):t.removeAttribute(this.type)}},t.internalBinders={textNode:function(t,e){return t.data=null!=e?e:""}},t.config={preloadData:!0,handler:function(t,e,i){return this.call(t,e,i.view.models)}},t.formatters={},t.factory=function(e){return e._=t,e.binders=t.binders,e.formatters=t.formatters,e.config=t.config,e.configure=function(e){var i,n;null==e&&(e={});for(i in e)n=e[i],t.config[i]=n},e.bind=function(e,i,n){var s;return null==i&&(i={}),null==n&&(n={}),s=new t.View(e,i,n),s.bind(),s}},"object"==typeof exports?t.factory(exports):"function"==typeof define&&define.amd?define(["exports"],function(e){return t.factory(this.rivets=e),e}):t.factory(this.rivets={})}).call(this); | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | { | 1 | { |
2 | "name": "rivets", | 2 | "name": "rivets", |
3 | "description": "Declarative data binding facility.", | 3 | "description": "Declarative data binding facility.", |
4 | "version": "0.5.8", | 4 | "version": "0.5.9", |
5 | "author": "Michael Richards", | 5 | "author": "Michael Richards", |
6 | "url": "http://rivetsjs.com", | 6 | "url": "http://rivetsjs.com", |
7 | "main": "./dist/rivets.js", | 7 | "main": "./dist/rivets.js", | ... | ... |
-
Please register or sign in to post a comment