| 1234 |
- // Seed.js 0.4.1
- // (c) 2013 Evan You
- // https://github.com/yyx990803/seed
- !function(){function a(b,c,d){var e=a.resolve(b);if(null==e){d=d||b,c=c||"root";var f=new Error('Failed to require "'+d+'" from "'+c+'"');throw f.path=d,f.parent=c,f.require=!0,f}var g=a.modules[e];if(!g._resolving&&!g.exports){var h={};h.exports={},h.client=h.component=!0,g._resolving=!0,g.call(this,h.exports,a.relative(e),h),delete g._resolving,g.exports=h.exports}return g.exports}a.modules={},a.aliases={},a.resolve=function(b){"/"===b.charAt(0)&&(b=b.slice(1));for(var c=[b,b+".js",b+".json",b+"/index.js",b+"/index.json"],d=0;d<c.length;d++){var b=c[d];if(a.modules.hasOwnProperty(b))return b;if(a.aliases.hasOwnProperty(b))return a.aliases[b]}},a.normalize=function(a,b){var c=[];if("."!=b.charAt(0))return b;a=a.split("/"),b=b.split("/");for(var d=0;d<b.length;++d)".."==b[d]?a.pop():"."!=b[d]&&""!=b[d]&&c.push(b[d]);return a.concat(c).join("/")},a.register=function(b,c){a.modules[b]=c},a.alias=function(b,c){if(!a.modules.hasOwnProperty(b))throw new Error('Failed to alias "'+b+'", it does not exist');a.aliases[c]=b},a.relative=function(b){function c(a,b){for(var c=a.length;c--;)if(a[c]===b)return c;return-1}function d(c){var e=d.resolve(c);return a(e,b,c)}var e=a.normalize(b,"..");return d.resolve=function(d){var f=d.charAt(0);if("/"==f)return d.slice(1);if("."==f)return a.normalize(e,d);var g=b.split("/"),h=c(g,"deps")+1;return h||(h=0),d=g.slice(0,h+1).join("/")+"/deps/"+d},d.exists=function(b){return a.modules.hasOwnProperty(d.resolve(b))},d},a.register("component-indexof/index.js",function(a,b,c){var d=[].indexOf;c.exports=function(a,b){if(d)return a.indexOf(b);for(var c=0;c<a.length;++c)if(a[c]===b)return c;return-1}}),a.register("component-emitter/index.js",function(a,b,c){function d(a){return a?e(a):void 0}function e(a){for(var b in d.prototype)a[b]=d.prototype[b];return a}var f=b("indexof");c.exports=d,d.prototype.on=function(a,b){return this._callbacks=this._callbacks||{},(this._callbacks[a]=this._callbacks[a]||[]).push(b),this},d.prototype.once=function(a,b){function c(){d.off(a,c),b.apply(this,arguments)}var d=this;return this._callbacks=this._callbacks||{},b._off=c,this.on(a,c),this},d.prototype.off=d.prototype.removeListener=d.prototype.removeAllListeners=function(a,b){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var c=this._callbacks[a];if(!c)return this;if(1==arguments.length)return delete this._callbacks[a],this;var d=f(c,b._off||b);return~d&&c.splice(d,1),this},d.prototype.emit=function(a){this._callbacks=this._callbacks||{};var b=[].slice.call(arguments,1),c=this._callbacks[a];if(c){c=c.slice(0);for(var d=0,e=c.length;e>d;++d)c[d].apply(this,b)}return this},d.prototype.listeners=function(a){return this._callbacks=this._callbacks||{},this._callbacks[a]||[]},d.prototype.hasListeners=function(a){return!!this.listeners(a).length}}),a.register("seed/src/main.js",function(a,b,c){function d(a){var b=this;a=e(a,b.options,!0);var c=function(c){c=e(c,a,!0),b.call(this,c)},f=c.prototype=Object.create(b.prototype);j.defProtected(f,"constructor",c);var h=a.proto;if(h)for(var i in h)i in g.prototype||(f[i]=h[i]);return a.template&&(a.templateFragment=j.templateToFragment(a.template)),c.extend=d,c.super=b,c.options=a,c}function e(a,b,c){if(a=a||j.hash(),!b)return a;for(var d in b)"el"!==d&&"proto"!==d&&(a[d]?c&&"Object"===j.typeOf(a[d])&&e(a[d],b[d],!1):a[d]=b[d]);return a}var f=b("./config"),g=b("./viewmodel"),h=b("./directives"),i=b("./filters"),j=b("./utils");g.config=function(a){return a&&j.extend(f,a),this},g.directive=function(a,b){return b?(h[a]=b,this):h[a]},g.filter=function(a,b){return b?(i[a]=b,this):i[a]},g.viewmodel=function(a,b){return b?(j.viewmodels[a]=b,this):j.viewmodels[a]},g.partial=function(a,b){return b?(j.partials[a]=j.templateToFragment(b),this):j.partials[a]},g.transition=function(a,b){return b?(j.transitions[a]=b,this):j.transitions[a]},g.extend=d,c.exports=g}),a.register("seed/src/emitter.js",function(a,b,c){var d,e="emitter";try{d=b(e)}catch(f){}c.exports=d||b("events").EventEmitter}),a.register("seed/src/config.js",function(a,b,c){c.exports={prefix:"sd",debug:!1}}),a.register("seed/src/utils.js",function(a,b,c){function d(){return Object.create(null)}var e=b("./config"),f=Object.prototype.toString,g=Array.prototype.join,h=window.console,i=c.exports={hash:d,viewmodels:d(),partials:d(),transitions:d(),defProtected:function(a,b,c,d,e){a.hasOwnProperty(b)||Object.defineProperty(a,b,{value:c,enumerable:!!d,configurable:!!e})},typeOf:function(a){return f.call(a).slice(8,-1)},toText:function(a){return"string"==typeof a||"boolean"==typeof a||"number"==typeof a&&a==a?a:""},extend:function(a,b,c){for(var d in b)c&&a[d]||(a[d]=b[d])},convertPartials:function(a){if(a)for(var b in a)"string"==typeof a[b]&&(a[b]=i.templateToFragment(a[b]))},templateToFragment:function(a){if("#"===a.charAt(0)){var b=document.getElementById(a.slice(1));if(!b)return;a=b.innerHTML}var c,d=document.createElement("div"),e=document.createDocumentFragment();for(d.innerHTML=a.trim();c=d.firstChild;)e.appendChild(c);return e},log:function(){e.debug&&h&&h.log(g.call(arguments," "))},warn:function(){e.debug&&h&&h.warn(g.call(arguments," "))}}}),a.register("seed/src/compiler.js",function(a,b,c){function d(a,b){e();var c=this;b=c.options=b||z(),q.extend(c,b.compilerOptions),q.convertPartials(b.partials),c.setupElement(b),x("\nnew VM instance:",c.el.tagName,"\n");var d=b.scope;d&&q.extend(a,d,!0),c.vm=a,y(a,"$",z()),y(a,"$el",c.el),y(a,"$compiler",c),c.dirs=[],c.exps=[],c.childCompilers=[],c.emitter=new n;var f=c.observables=[],i=c.computed=[],j=c.parentCompiler;c.bindings=j?Object.create(j.bindings):z(),c.rootCompiler=j?g(j):c;var k=c.el.getAttribute(h);k&&j&&(c.childId=k,j.vm.$[k]=a),c.setupObserver(),b.init&&b.init.apply(a,b.args||[]);var l,m;for(l in a)m=l.charAt(0),"$"!==m&&"_"!==m&&c.createBinding(l);c.repeat&&y(a[c.repeatPrefix],"$index",c.repeatIndex,!1,!0),c.compile(c.el,!0);for(var p,r=f.length;r--;)p=f[r],o.observe(p.value,p.key,c.observer);i.length&&u.parse(i)}function e(){var a=p.prefix;h=a+"-id",i=a+"-viewmodel",j=a+"-pre",k=a+"-repeat",l=a+"-partial",m=a+"-transition"}function f(a,b){if(a.nesting)for(var c=a.nesting;b.parentCompiler&&c--;)b=b.parentCompiler;else if(a.root)for(;b.parentCompiler;)b=b.parentCompiler;return b}function g(a){return f({root:!0},a)}var h,i,j,k,l,m,n=b("./emitter"),o=b("./observer"),p=b("./config"),q=b("./utils"),r=b("./binding"),s=b("./directive"),t=b("./text-parser"),u=b("./deps-parser"),v=b("./exp-parser"),w=Array.prototype.slice,x=q.log,y=q.defProtected,z=q.hash,A=Object.prototype.hasOwnProperty,B=d.prototype;B.setupElement=function(a){var b=this.el="string"==typeof a.el?document.querySelector(a.el):a.el||document.createElement(a.tagName||"div");a.id&&(b.id=a.id),a.className&&(b.className=a.className);var c=a.attributes;if(c)for(var d in c)b.setAttribute(d,c[d]);var e=a.template;if("string"==typeof e)if("#"===e.charAt(0)){var f=document.querySelector(e);f&&(b.innerHTML=f.innerHTML)}else b.innerHTML=e;else a.templateFragment&&(b.innerHTML="",b.appendChild(a.templateFragment.cloneNode(!0)))},B.setupObserver=function(){var a=this.bindings,b=this.observer=new n,c=u.observer;b.proxies=z(),b.on("get",function(b){a[b]&&c.isObserving&&c.emit("get",a[b])}).on("set",function(c,d){b.emit("change:"+c,d),a[c]&&a[c].update(d)}).on("mutate",function(c,d,e){b.emit("change:"+c,d,e),a[c]&&a[c].pub()})},B.compile=function(a,b){var c=this;if(1===a.nodeType){if(a.hasAttribute(j))return;var d=a.getAttribute(i),e=a.getAttribute(k),f=a.getAttribute(l);if(e){a.removeAttribute(h);var g=s.parse(k,e,c,a);g&&c.bindDirective(g)}else if(d&&!b){a.removeAttribute(i);var m=c.getOption("viewmodels",d);if(m){var n=new m({el:a,child:!0,compilerOptions:{parentCompiler:c}});c.childCompilers.push(n.$compiler)}}else{if(f){a.removeAttribute(l);var o=c.getOption("partials",f);o&&(a.innerHTML="",a.appendChild(o.cloneNode(!0)))}c.compileNode(a)}}else 3===a.nodeType&&c.compileTextNode(a)},B.compileNode=function(a){var b,c;if(a.attributes&&a.attributes.length){var d,e,f,g,h=w.call(a.attributes);for(b=h.length;b--;){for(d=h[b],e=!1,f=d.value.split(","),c=f.length;c--;){g=f[c];var i=s.parse(d.name,g,this,a);i&&(e=!0,this.bindDirective(i))}e&&a.removeAttribute(d.name)}}if(a.childNodes.length){var j=w.call(a.childNodes);for(b=0,c=j.length;c>b;b++)this.compile(j[b])}},B.compileTextNode=function(a){var b=t.parse(a.nodeValue);if(b){for(var c,d,e,f=p.prefix+"-text",g=0,h=b.length;h>g;g++){if(d=b[g],d.key)if(">"===d.key.charAt(0)){var i=d.key.slice(1).trim(),j=this.getOption("partials",i);j&&(c=j.cloneNode(!0),this.compileNode(c))}else c=document.createTextNode(""),e=s.parse(f,d.key,this,c),e&&this.bindDirective(e);else c=document.createTextNode(d);a.parentNode.insertBefore(c,a)}a.parentNode.removeChild(a)}},B.bindDirective=function(a){if(this.dirs.push(a),a.isSimple)return a.bind&&a.bind(),void 0;var b,c=this,d=a.key,e=d.split(".")[0],g=f(a,c);b=a.isExp?c.createBinding(d,!0):g.vm.hasOwnProperty(e)?A.call(g.bindings,d)?g.bindings[d]:g.createBinding(d):g.bindings[d]||c.rootCompiler.createBinding(d),b.instances.push(a),a.binding=b;var h,i,j=b.contextDeps;if(j)for(h=j.length;h--;)i=c.bindings[j[h]],i.subs.push(a);var k=b.value;a.bind&&a.bind(k),b.isComputed?a.refresh(k):a.update(k,!0)},B.createBinding=function(a,b){var c=this,d=c.bindings,e=new r(c,a,b);if(b){var f=v.parse(a);if(f){x(" created anonymous binding: "+a),e.value={get:f.getter},c.markComputed(e),c.exps.push(e);for(var g,h=f.paths.length;h--;)g=f.paths[h],d[g]||c.rootCompiler.createBinding(g)}else q.warn(" invalid expression: "+a)}else if(x(" created binding: "+a),d[a]=e,c.ensurePath(a),e.root)c.define(a,e);else{var i=a.slice(0,a.lastIndexOf("."));A.call(d,i)||c.createBinding(i)}return e},B.ensurePath=function(a){for(var b,c=a.split("."),d=this.vm,e=0,f=c.length-1;f>e;e++)b=c[e],d[b]||(d[b]={}),d=d[b];"Object"===q.typeOf(d)&&(b=c[e],b in d||(d[b]=void 0))},B.define=function(a,b){x(" defined root binding: "+a);var c=this,d=c.vm,e=c.observer,f=b.value=d[a],g=q.typeOf(f);"Object"===g&&f.get?c.markComputed(b):("Object"===g||"Array"===g)&&c.observables.push(b),Object.defineProperty(d,a,{enumerable:!0,get:function(){var c=b.value;return(b.isComputed||c&&c.__observer__)&&!Array.isArray(c)||e.emit("get",a),b.isComputed?c.get():c},set:function(c){var d=b.value;b.isComputed?d.set&&d.set(c):c!==d&&(o.unobserve(d,a,e),b.value=c,e.emit("set",a,c),o.observe(c,a,e))}})},B.markComputed=function(a){var b=a.value,c=this.vm;a.isComputed=!0,b.get=b.get.bind(c),b.set&&(b.set=b.set.bind(c)),this.computed.push(a)},B.bindContexts=function(a){for(var b,c,d,e,f,g,h=a.length;h--;)for(d=a[h],b=d.contextDeps.length;b--;)for(e=d.contextDeps[b],c=d.instances.length;c--;)g=d.instances[c],f=g.compiler.bindings[e],f.subs.push(g)},B.getOption=function(a,b){var c=this.options;return c[a]&&c[a][b]||q[a]&&q[a][b]},B.destroy=function(){var a=this;x("compiler destroyed: ",a.vm.$el),a.observer.off(),a.emitter.off();var b,c,d,e,f,g=a.el,h=a.dirs,i=a.exps,j=a.bindings;for(b=h.length;b--;)d=h[b],d.isSimple||d.binding.compiler===a||(e=d.binding.instances,e&&e.splice(e.indexOf(d),1)),d.unbind();for(b=i.length;b--;)i[b].unbind();for(c in j)A.call(j,c)&&(f=j[c],f.root&&o.unobserve(f.value,f.key,a.observer),f.unbind());var k=a.parentCompiler,l=a.childId;k&&(k.childCompilers.splice(k.childCompilers.indexOf(a),1),l&&delete k.vm.$[l]),g===document.body?g.innerHTML="":g.parentNode&&g.parentNode.removeChild(g)},c.exports=d}),a.register("seed/src/viewmodel.js",function(a,b,c){function d(a){new f(this,a)}function e(a,b){var c=b[0],d=a.$compiler.bindings[c];return d?d.compiler.vm:null}var f=b("./compiler"),g=b("./utils").defProtected,h=d.prototype;g(h,"$set",function(a,b){var c=a.split("."),d=e(this,c);if(d){for(var f=0,g=c.length-1;g>f;f++)d=d[c[f]];d[c[f]]=b}}),g(h,"$get",function(a){var b=a.split("."),c=e(this,b),d=c;if(c){for(var f=0,g=b.length;g>f;f++)c=c[b[f]];return"function"==typeof c&&(c=c.bind(d)),c}}),g(h,"$watch",function(a,b){this.$compiler.observer.on("change:"+a,b)}),g(h,"$unwatch",function(a,b){var c=["change:"+a],d=this.$compiler.observer;b&&c.push(b),d.off.apply(d,c)}),g(h,"$destroy",function(){this.$compiler.destroy()}),g(h,"$broadcast",function(){for(var a,b=this.$compiler.childCompilers,c=b.length;c--;)a=b[c],a.emitter.emit.apply(a.emitter,arguments),a.vm.$broadcast.apply(a.vm,arguments)}),g(h,"$emit",function(){var a=this.$compiler.parentCompiler;a&&(a.emitter.emit.apply(a.emitter,arguments),a.vm.$emit.apply(a.vm,arguments))}),["on","off","once"].forEach(function(a){g(h,"$"+a,function(){var b=this.$compiler.emitter;b[a].apply(b,arguments)})}),c.exports=d}),a.register("seed/src/binding.js",function(a,b,c){function d(a,b,c){this.value=void 0,this.isExp=!!c,this.root=!this.isExp&&-1===b.indexOf("."),this.compiler=a,this.key=b,this.instances=[],this.subs=[],this.deps=[]}var e=d.prototype;e.update=function(a){this.value=a;for(var b=this.instances.length;b--;)this.instances[b].update(a);this.pub()},e.refresh=function(){for(var a=this.instances.length;a--;)this.instances[a].refresh();this.pub()},e.pub=function(){for(var a=this.subs.length;a--;)this.subs[a].refresh()},e.unbind=function(){for(var a=this.instances.length;a--;)this.instances[a].unbind();a=this.deps.length;for(var b;a--;)b=this.deps[a].subs,b.splice(b.indexOf(this),1)},c.exports=d}),a.register("seed/src/observer.js",function(a,b,c){function d(a,b,c){var d=l(a);"Object"===d?e(a,b,c):"Array"===d&&f(a,b,c)}function e(a,b,c){for(var d in a){var e=d.charAt(0);"$"!==e&&"_"!==e&&g(a,d,b,c)}void 0!==a.$index&&g(a,"$index",b,c)}function f(a,b,c){if(m(a,"__observer__",c),c.path=b,p)a.__proto__=q;else for(var d in q)m(a,d,q[d])}function g(a,b,c,e){var f=a[b],g=h(f),i=e.values,j=(c?c+".":"")+b;i[j]=f,e.emit("set",j,f),Object.defineProperty(a,b,{enumerable:!0,get:function(){return g||e.emit("get",j),i[j]},set:function(a){i[j]=a,e.emit("set",j,a),d(a,j,e)}}),d(f,j,e)}function h(a){var b=l(a);return"Object"===b||"Array"===b}function i(a,b){if("Array"===l(a))b.emit("set","length",a.length);else{var c,d,e=b.values;for(c in b.values)d=e[c],b.emit("set",c,d)}}var j=b("./emitter"),k=b("./utils"),l=k.typeOf,m=k.defProtected,n=Array.prototype.slice,o=["push","pop","shift","unshift","splice","sort","reverse"],p={}.__proto__,q=Object.create(Array.prototype);o.forEach(function(a){m(q,a,function(){var b=Array.prototype[a].apply(this,arguments);return this.__observer__.emit("mutate",this.__observer__.path,this,{method:a,args:n.call(arguments),result:b}),b},!p)});var r={remove:function(a){return"number"!=typeof a&&(a=this.indexOf(a)),this.splice(a,1)[0]},replace:function(a,b){return"number"!=typeof a&&(a=this.indexOf(a)),void 0!==this[a]?this.splice(a,1,b)[0]:void 0},mutateFilter:function(a){for(var b=this.length;b--;)a(this[b])||this.splice(b,1);return this}};for(var s in r)m(q,s,r[s],!p);c.exports={watchArray:f,observe:function(a,b,c){if(h(a)){var e,f=b+".",g=!!a.__observer__;g||m(a,"__observer__",new j),e=a.__observer__,e.values=e.values||k.hash();var l=c.proxies[f]={get:function(a){c.emit("get",f+a)},set:function(a,b){c.emit("set",f+a,b)},mutate:function(a,d,e){var g=a?f+a:b;c.emit("mutate",g,d,e);var h=e.method;"sort"!==h&&"reverse"!==h&&c.emit("set",g+".length",d.length)}};e.on("get",l.get).on("set",l.set).on("mutate",l.mutate),g?i(a,e,b):d(a,null,e)}},unobserve:function(a,b,c){if(a&&a.__observer__){b+=".";var d=c.proxies[b];a.__observer__.off("get",d.get).off("set",d.set).off("mutate",d.mutate),c.proxies[b]=null}}}}),a.register("seed/src/directive.js",function(a,b,c){function d(a,b,c,d,g){this.compiler=d,this.vm=d.vm,this.el=g;var h=""===b;if("function"==typeof a)this[h?"bind":"_update"]=a;else for(var i in a)"unbind"===i||"update"===i?this["_"+i]=a[i]:this[i]=a[i];if(h)return this.isSimple=!0,void 0;this.expression=b.trim(),this.rawKey=c,e(this,c),this.isExp=!p.test(this.key);var j=b.match(m);if(j){this.filters=[];for(var k,l=0,n=j.length;n>l;l++)k=f(j[l],this.compiler),k&&this.filters.push(k);this.filters.length||(this.filters=null)}else this.filters=null}function e(a,b){var c=b.match(l),d=c?c[2].trim():b.trim();a.arg=c?c[1].trim():null;var e=d.match(o);a.nesting=e?e[0].length:!1,a.root="$"===d.charAt(0),a.nesting?d=d.replace(o,""):a.root&&(d=d.slice(1)),a.key=d}function f(a,b){var c=a.slice(1).match(n);if(c){c=c.map(function(a){return a.replace(/'/g,"").trim()});var d=c[0],e=b.getOption("filters",d)||j[d];return e?{name:d,apply:e,args:c.length>1?c.slice(1):null}:(h.warn("Unknown filter: "+d),void 0)}}var g=b("./config"),h=b("./utils"),i=b("./directives"),j=b("./filters"),k=/^[^\|]+/,l=/([^:]+):(.+)$/,m=/\|[^\|]+/g,n=/[^\s']+|'[^']+'/g,o=/^\^+/,p=/^[\w\.\$]+$/,q=d.prototype;q.update=function(a,b){(b||a!==this.value)&&(this.value=a,this.apply(a))},q.refresh=function(a){a&&(this.value=a),a=this.value.get({el:this.el,vm:this.vm}),a&&a===this.computedValue||(this.computedValue=a,this.apply(a))},q.apply=function(a){this._update(this.filters?this.applyFilters(a):a)},q.applyFilters=function(a){for(var b,c=a,d=0,e=this.filters.length;e>d;d++)b=this.filters[d],c=b.apply(c,b.args);return c},q.unbind=function(a){this.el&&(this._unbind&&this._unbind(a),a||(this.vm=this.el=this.binding=this.compiler=null))},d.parse=function(a,b,c,e){var f=g.prefix;if(-1!==a.indexOf(f)){a=a.slice(f.length+1);var j=c.getOption("directives",a)||i[a];if(!j)return h.warn("unknown directive: "+a);var l=b.match(k),m=l&&l[0].trim();return m||""===b?new d(j,b,m,c,e):h.warn("invalid directive expression: "+b)}},c.exports=d}),a.register("seed/src/exp-parser.js",function(a,b,c){function d(a){return a=a.replace(h,"").replace(i,",").replace(g,"").replace(j,"").replace(k,""),a?a.split(/,+/):[]}function e(a,b){var c=new RegExp("\\b("+b.join("|")+")[$\\w\\.]*\\b","g");return a.match(c)}var f="break,case,catch,continue,debugger,default,delete,do,else,false,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,void,while,with,abstract,boolean,byte,char,class,const,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchronized,throws,transient,volatile,arguments,let,yield,undefined",g=new RegExp(["\\b"+f.replace(/,/g,"\\b|\\b")+"\\b"].join("|"),"g"),h=/\/\*(?:.|\n)*?\*\/|\/\/[^\n]*\n|\/\/[^\n]*$|'[^']*'|"[^"]*"|[\s\t\n]*\.[\s\t\n]*[$\w\.]+/g,i=/[^\w$]+/g,j=/\b\d[^,]*/g,k=/^,+|,+$/g;c.exports={parse:function(a){var b=d(a);if(!b.length)return null;var c,f,g,h=[],i=b.length,j=Object.create(null);for(f=0;i>f;f++)c=b[f],j[c]||(j[c]=c,g=c.charAt(0),h.push(c+("$"===g||"_"===g?"=this."+c:'=this.$get("'+c+'")')));return h="var "+h.join(",")+";return "+a,{getter:new Function(h),paths:e(a,Object.keys(j))}}}}),a.register("seed/src/text-parser.js",function(a,b,c){var d=/\{\{(.+?)\}\}/;c.exports={parse:function(a){if(!d.test(a))return null;for(var b,c,e=[];b=a.match(d);)c=b.index,c>0&&e.push(a.slice(0,c)),e.push({key:b[1].trim()}),a=a.slice(c+b[0].length);return a.length&&e.push(a),e}}}),a.register("seed/src/deps-parser.js",function(a,b,c){function d(a){f.log("\n─ "+a.key);var b=f.hash();g.on("get",function(c){b[c.key]||(b[c.key]=1,f.log(" └─ "+c.key),a.deps.push(c),c.subs.push(a))}),a.value.get(),g.off("get")}var e=b("./emitter"),f=b("./utils"),g=new e;c.exports={observer:g,parse:function(a){f.log("\nparsing dependencies..."),g.isObserving=!0,a.forEach(d),g.isObserving=!1,f.log("\ndone.")}}}),a.register("seed/src/filters.js",function(a,b,c){var d={enter:13,tab:9,"delete":46,up:38,left:37,right:39,down:40,esc:27};c.exports={capitalize:function(a){return a||0===a?(a=a.toString(),a.charAt(0).toUpperCase()+a.slice(1)):""},uppercase:function(a){return a||0===a?a.toString().toUpperCase():""},lowercase:function(a){return a||0===a?a.toString().toLowerCase():""},currency:function(a,b){if(!a&&0!==a)return"";var c=b&&b[0]||"$",d=Math.floor(a).toString(),e=d.length%3,f=e>0?d.slice(0,e)+(d.length>3?",":""):"",g="."+a.toFixed(2).slice(-2);return c+f+d.slice(e).replace(/(\d{3})(?=\d)/g,"$1,")+g},pluralize:function(a,b){return b.length>1?b[a-1]||b[b.length-1]:b[a-1]||b[0]+"s"},key:function(a,b){if(a){var c=d[b[0]];return c||(c=parseInt(b[0],10)),function(b){b.keyCode===c&&a.call(this,b)}}}}}),a.register("seed/src/directives/index.js",function(a,b,c){function d(a){return"-"===a.charAt(0)&&(a=a.slice(1)),a.replace(f,function(a,b){return b.toUpperCase()})}var e=b("../utils");c.exports={on:b("./on"),repeat:b("./repeat"),model:b("./model"),attr:function(a){this.el.setAttribute(this.arg,a)},text:function(a){this.el.textContent=e.toText(a)},html:function(a){this.el.innerHTML=e.toText(a)},style:{bind:function(){this.arg=d(this.arg)},update:function(a){this.el.style[this.arg]=a}},show:function(a){this.el.style.display=a?"":"none"},visible:function(a){this.el.style.visibility=a?"":"hidden"},"class":function(a){this.arg?this.el.classList[a?"add":"remove"](this.arg):(this.lastVal&&this.el.classList.remove(this.lastVal),this.el.classList.add(a),this.lastVal=a)},"if":{bind:function(){this.parent=this.el.parentNode,this.ref=document.createComment("sd-if-"+this.key)},update:function(a){var b=!!this.el.parentNode;if(!this.parent){if(!b)return;this.parent=this.el.parentNode}if(a)b||(this.parent.insertBefore(this.el,this.ref),this.parent.removeChild(this.ref));else if(b){var c=this.el.nextSibling;c?this.parent.insertBefore(this.ref,c):this.parent.appendChild(this.ref),this.parent.removeChild(this.el)}}}};var f=/-(.)/g}),a.register("seed/src/directives/repeat.js",function(a,b,c){var d,e=b("../config"),f=b("../observer"),g=b("../emitter"),h=b("../utils"),i={push:function(a){var b,c=a.args.length,d=this.collection.length-c;for(b=0;c>b;b++)this.buildItem(a.args[b],d+b)},pop:function(){var a=this.vms.pop();a&&a.$destroy()},unshift:function(a){var b,c=a.args.length;for(b=0;c>b;b++)this.buildItem(a.args[b],b)},shift:function(){var a=this.vms.shift();a&&a.$destroy()},splice:function(a){var b,c,d=a.args[0],e=a.args[1],f=a.args.length-2,g=this.vms.splice(d,e);for(b=0,c=g.length;c>b;b++)g[b].$destroy();for(b=0;f>b;b++)this.buildItem(a.args[b+2],d+b)},sort:function(){var a,b,c,d,e=this.arg,f=this.vms,g=this.collection,h=g.length,i=new Array(h);for(a=0;h>a;a++)for(d=g[a],b=0;h>b;b++)if(c=f[b],c[e]===d){i[a]=c;break}for(a=0;h>a;a++)this.container.insertBefore(i[a].$el,this.ref);this.vms=i},reverse:function(){var a=this.vms;a.reverse();for(var b=0,c=a.length;c>b;b++)this.container.insertBefore(a[b].$el,this.ref)}};c.exports={bind:function(){this.el.removeAttribute(e.prefix+"-repeat");var a=this.container=this.el.parentNode;this.ref=document.createComment("sd-repeat-"+this.arg),a.insertBefore(this.ref,this.el),a.removeChild(this.el),this.collection=null,this.vms=null;var b=this;this.mutationListener=function(a,c,d){b.detach();var e=d.method;i[e].call(b,d),"push"!==e&&"pop"!==e&&b.updateIndexes(),b.retach()}},update:function(a){this.unbind(!0),this.container.sd_dHandlers=h.hash(),this.collection||a.length||this.buildItem(),this.collection=a,this.vms=[],a.__observer__||f.watchArray(a,null,new g),a.__observer__.on("mutate",this.mutationListener),this.detach();for(var b=0,c=a.length;c>b;b++)this.buildItem(a[b],b);this.retach()},buildItem:function(a,c){d=d||b("../viewmodel");var f,g,h=this.el.cloneNode(!0),i=this.container,j=e.prefix+"-viewmodel",k=h.getAttribute(j),l=this.compiler.getOption("viewmodels",k)||d,m={};k&&h.removeAttribute(j),a&&(f=this.vms.length>c?this.vms[c].$el:this.ref,i.insertBefore(h,f)),m[this.arg]=a||{},g=new l({el:h,scope:m,compilerOptions:{repeat:!0,repeatIndex:c,repeatPrefix:this.arg,parentCompiler:this.compiler,delegator:i}}),a?this.vms.splice(c,0,g):g.$destroy()},updateIndexes:function(){for(var a=this.vms.length;a--;)this.vms[a][this.arg].$index=a},detach:function(){var a=this.container,b=this.parent=a.parentNode;this.next=a.nextSibling,b&&b.removeChild(a)},retach:function(){var a=this.next,b=this.parent,c=this.container;b&&(a?b.insertBefore(c,a):b.appendChild(c))},unbind:function(){if(this.collection){this.collection.__observer__.off("mutate",this.mutationListener);for(var a=this.vms.length;a--;)this.vms[a].$destroy()}var b=this.container,c=b.sd_dHandlers;for(var d in c)b.removeEventListener(c[d].event,c[d]);b.sd_dHandlers=null}}}),a.register("seed/src/directives/on.js",function(a,b,c){function d(a,b,c){return a[c]?a:a===b?!1:d(a.parentNode,b,c)}var e=b("../utils");c.exports={bind:function(){this.compiler.repeat&&(this.el[this.expression]=!0,this.el.sd_viewmodel=this.vm)},update:function(a){if(this.unbind(!0),"function"!=typeof a)return e.warn('Directive "on" expects a function value.');var b=this.compiler,c=this.arg,f=this.binding.compiler.vm;if(b.repeat&&!this.vm.constructor.super&&"blur"!==c&&"focus"!==c){var g=b.delegator,h=this.expression,i=g.sd_dHandlers[h];if(i)return;i=g.sd_dHandlers[h]=function(c){var e=d(c.target,g,h);e&&(c.el=e,c.vm=e.sd_viewmodel,c.item=c.vm[b.repeatPrefix],a.call(f,c))},i.event=c,g.addEventListener(c,i)}else{var j=this.vm;this.handler=function(c){c.el=c.currentTarget,c.vm=j,b.repeat&&(c.item=j[b.repeatPrefix]),a.call(f,c)},this.el.addEventListener(c,this.handler)}},unbind:function(a){this.el.removeEventListener(this.arg,this.handler),this.handler=null,a||(this.el.sd_viewmodel=null)}}}),a.register("seed/src/directives/model.js",function(a,b,c){var d=b("../utils"),e=!!document.attachEvent;c.exports={bind:function(){var a=this,b=a.el,c=b.type;a.lock=!1,a.event=a.compiler.options.lazy||"SELECT"===b.tagName||"checkbox"===c||"radio"===c?"change":"input";var d="checkbox"===c?"checked":"value";a.set=function(){a.lock=!0,a.vm.$set(a.key,b[d]),a.lock=!1},b.addEventListener(a.event,a.set),e&&(b.addEventListener("cut",a.set),b.addEventListener("keydown",function(b){(46===b.keyCode||8===b.keyCode)&&a.set()}))},update:function(a){var b=this,c=b.el;if(!b.lock)if("SELECT"===c.tagName){for(var e=c.options,f=e.length,g=-1;f--;)if(e[f].value==a){g=f;break}e.selectedIndex=g}else"radio"===c.type?c.checked=a==c.value:"checkbox"===c.type?c.checked=!!a:c.value=d.toText(a)},unbind:function(){this.el.removeEventListener(this.event,this.set)}}}),a.alias("component-emitter/index.js","seed/deps/emitter/index.js"),a.alias("component-emitter/index.js","emitter/index.js"),a.alias("component-indexof/index.js","component-emitter/deps/indexof/index.js"),a.alias("seed/src/main.js","seed/index.js"),"object"==typeof exports?module.exports=a("seed"):"function"==typeof define&&define.amd?define(function(){return a("seed")}):this.Seed=a("seed")}();
|