diff --git a/bower.json b/bower.json index aba43c67497..932f211aa97 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "vue", - "version": "0.7.5", + "version": "0.7.6", "main": "dist/vue.js", "description": "Simple, Fast & Composable MVVM for building interative interfaces", "authors": ["Evan You "], diff --git a/component.json b/component.json index da43cb6c314..e7d6d5d3ba0 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "vue", - "version": "0.7.5", + "version": "0.7.6", "main": "src/main.js", "author": "Evan You ", "description": "Simple, Fast & Composable MVVM for building interative interfaces", diff --git a/dist/vue.js b/dist/vue.js index 89155bcc2e1..10e470fe5ed 100644 --- a/dist/vue.js +++ b/dist/vue.js @@ -1,5 +1,5 @@ /* - VueJS v0.7.5 + VueJS v0.7.6 (c) 2014 Evan You License: MIT */ @@ -603,13 +603,10 @@ var config = require('./config'), console = window.console, ViewModel // late def -// PhantomJS doesn't support rAF, yet it has the global -// variable exposed. Use setTimeout so tests can work. -var defer = navigator.userAgent.indexOf('PhantomJS') > -1 - ? window.setTimeout - : (window.webkitRequestAnimationFrame || - window.requestAnimationFrame || - window.setTimeout) +var defer = + window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.setTimeout /** * Create a prototype-less object @@ -1145,20 +1142,24 @@ CompilerProto.compileNode = function (node) { * Compile a text node */ CompilerProto.compileTextNode = function (node) { + var tokens = TextParser.parse(node.nodeValue) if (!tokens) return - var el, token, directive + var el, token, directive, partial, partialId, partialNodes + for (var i = 0, l = tokens.length; i < l; i++) { token = tokens[i] if (token.key) { // a binding if (token.key.charAt(0) === '>') { // a partial - var partialId = token.key.slice(1).trim(), - partial = this.getOption('partials', partialId) + partialId = token.key.slice(1).trim() + partial = this.getOption('partials', partialId) if (partial) { el = partial.cloneNode(true) - this.compileNode(el) + // save an Array reference of the partial's nodes + // so we can compile them AFTER appending the fragment + partialNodes = slice.call(el.childNodes) } - } else { // a binding + } else { // a real binding el = document.createTextNode('') directive = Directive.parse('text', token.key, this, el) if (directive) { @@ -1168,7 +1169,20 @@ CompilerProto.compileTextNode = function (node) { } else { // a plain string el = document.createTextNode(token) } + + // insert node node.parentNode.insertBefore(el, node) + + // compile partial after appending, because its children's parentNode + // will change from the fragment to the correct parentNode. + // This could affect directives that need access to its element's parentNode. + if (partialNodes) { + for (var j = 0, k = partialNodes.length; j < k; j++) { + this.compile(partialNodes[j]) + } + partialNodes = null + } + } node.parentNode.removeChild(node) } @@ -1332,9 +1346,7 @@ CompilerProto.markComputed = function (binding) { vm = this.vm binding.isComputed = true // bind the accessors to the vm - if (binding.isFn) { - binding.value = utils.bind(value, vm) - } else { + if (!binding.isFn) { value.$get = utils.bind(value.$get, vm) if (value.$set) { value.$set = utils.bind(value.$set, vm) @@ -3164,6 +3176,7 @@ module.exports = { var compiler = this.compiler, event = this.arg, + isExp = this.binding.isExp, ownerVM = this.binding.compiler.vm if (compiler.repeat && @@ -3186,7 +3199,7 @@ module.exports = { if (target) { e.el = target e.targetVM = target.vue_viewmodel - handler.call(ownerVM, e) + handler.call(isExp ? e.targetVM : ownerVM, e) } } dHandler.event = event diff --git a/dist/vue.min.js b/dist/vue.min.js index 2ff71a42b61..3e0e201caef 100644 --- a/dist/vue.min.js +++ b/dist/vue.min.js @@ -1,6 +1,6 @@ /* - VueJS v0.7.5 + VueJS v0.7.6 (c) 2014 Evan You License: MIT */ -!function(){function e(t,i,n){var r=e.resolve(t);if(null==r){n=n||t,i=i||"root";var s=new Error('Failed to require "'+n+'" from "'+i+'"');throw s.path=n,s.parent=i,s.require=!0,s}var o=e.modules[r];if(!o._resolving&&!o.exports){var a={};a.exports={},a.client=a.component=!0,o._resolving=!0,o.call(this,a.exports,e.relative(r),a),delete o._resolving,o.exports=a.exports}return o.exports}e.modules={},e.aliases={},e.resolve=function(t){"/"===t.charAt(0)&&(t=t.slice(1));for(var i=[t,t+".js",t+".json",t+"/index.js",t+"/index.json"],n=0;nn;++n)i[n].apply(this,t)}return this},n.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[e]||[]},n.prototype.hasListeners=function(e){return!!this.listeners(e).length}}),e.register("vue/src/main.js",function(e,t,i){function n(e){var t=this;e=r(e,t.options,!0),l.processOptions(e);var i=function(i,n){n||(i=r(i,e,!0)),t.call(this,i,!0)},s=i.prototype=Object.create(t.prototype);l.defProtected(s,"constructor",i);var o=e.methods;if(o)for(var c in o)c in a.prototype||"function"!=typeof o[c]||(s[c]=o[c]);return i.extend=n,i.super=t,i.options=e,i}function r(e,t,i){if(e=e||l.hash(),!t)return e;for(var n in t)if("el"!==n&&"methods"!==n){var o=e[n],a=t[n],c=l.typeOf(o);i&&"Function"===c&&a?e[n]=s(o,a):i&&"Object"===c?r(o,a):void 0===o&&(e[n]=a)}return e}function s(e,t){return function(i){t.call(this,i),e.call(this,i)}}var o=t("./config"),a=t("./viewmodel"),c=t("./directives"),u=t("./filters"),l=t("./utils");a.config=function(e,t){if("string"==typeof e){if(void 0===t)return o[e];o[e]=t}else l.extend(o,e);return this},a.directive=function(e,t){return t?(c[e]=t,this):c[e]},a.filter=function(e,t){return t?(u[e]=t,this):u[e]},a.component=function(e,t){return t?(l.components[e]=l.toConstructor(t),this):l.components[e]},a.partial=function(e,t){return t?(l.partials[e]=l.toFragment(t),this):l.partials[e]},a.transition=function(e,t){return t?(l.transitions[e]=t,this):l.transitions[e]},a.extend=n,a.nextTick=l.nextTick,i.exports=a}),e.register("vue/src/emitter.js",function(e,t,i){var n,r="emitter";try{n=t(r)}catch(s){n=t("events").EventEmitter,n.prototype.off=function(){var e=arguments.length>1?this.removeListener:this.removeAllListeners;return e.apply(this,arguments)}}i.exports=n}),e.register("vue/src/config.js",function(e,t,i){function n(){s.forEach(function(e){o.attrs[e]=r+"-"+e})}var r="v",s=["pre","text","repeat","partial","with","component","component-id","transition"],o=i.exports={async:!0,debug:!1,silent:!1,enterClass:"v-enter",leaveClass:"v-leave",attrs:{},get prefix(){return r},set prefix(e){r=e,n()}};n()}),e.register("vue/src/utils.js",function(e,t,i){function n(){return Object.create(null)}var r,s=t("./config"),o=s.attrs,a=Object.prototype.toString,c=Array.prototype.join,u=window.console,l=navigator.userAgent.indexOf("PhantomJS")>-1?window.setTimeout:window.webkitRequestAnimationFrame||window.requestAnimationFrame||window.setTimeout,f=i.exports={hash:n,components:n(),partials:n(),transitions:n(),attr:function(e,t,i){var n=o[t],r=e.getAttribute(n);return i||null===r||e.removeAttribute(n),r},defProtected:function(e,t,i,n,r){e.hasOwnProperty(t)||Object.defineProperty(e,t,{value:i,enumerable:!!n,configurable:!!r})},typeOf:function(e){return a.call(e).slice(8,-1)},bind:function(e,t){return function(i){return e.call(t,i)}},toText:function(e){return"string"==typeof e||"boolean"==typeof e||"number"==typeof e&&e==e?e:""},extend:function(e,t,i){for(var n in t)i&&e[n]||(e[n]=t[n])},unique:function(e){for(var t,i=f.hash(),n=e.length,r=[];n--;)t=e[n],i[t]||(i[t]=1,r.push(t));return r},toFragment:function(e){if("string"!=typeof e)return e;if("#"===e.charAt(0)){var t=document.getElementById(e.slice(1));if(!t)return;e=t.innerHTML}var i,n=document.createElement("div"),r=document.createDocumentFragment();for(n.innerHTML=e.trim();i=n.firstChild;)r.appendChild(i);return r},toConstructor:function(e){return r=r||t("./viewmodel"),"Object"===f.typeOf(e)?r.extend(e):"function"==typeof e?e:null},processOptions:function(e){var t,i=e.components,n=e.partials,r=e.template;if(i)for(t in i)i[t]=f.toConstructor(i[t]);if(n)for(t in n)n[t]=f.toFragment(n[t]);r&&(e.template=f.toFragment(r))},log:function(){s.debug&&u&&u.log(c.call(arguments," "))},warn:function(){!s.silent&&u&&(u.warn(c.call(arguments," ")),s.debug&&u.trace())},nextTick:function(e){l(e,0)}}}),e.register("vue/src/compiler.js",function(e,t,i){function n(e,t){var i=this;i.init=!0,t=i.options=t||g(),c.processOptions(t);var n=i.data=t.data||{};b(e,n,!0),b(e,t.methods,!0),b(i,t.compilerOptions);var a=i.setupElement(t);m("\nnew VM instance:",a.tagName,"\n"),i.vm=e,i.dirs=[],i.exps=[],i.computed=[],i.childCompilers=[],i.emitter=new s;var u=i.parentCompiler;i.bindings=u?Object.create(u.bindings):g(),i.rootCompiler=u?r(u):i,y(e,"$",g()),y(e,"$el",a),y(e,"$compiler",i),y(e,"$root",i.rootCompiler.vm);var l=c.attr(a,"component-id");u&&(u.childCompilers.push(i),y(e,"$parent",u.vm),l&&(i.childId=l,u.vm.$[l]=e)),i.setupObserver(),i.execHook("beforeCompile","created"),b(n,e),o.observe(n,"",i.observer),i.repeat&&(y(n,"$index",i.repeatIndex,!1,!0),i.createBinding("$index")),Object.defineProperty(e,"$data",{enumerable:!1,get:function(){return i.data},set:function(e){var t=i.data;o.unobserve(t,"",i.observer),i.data=e,o.copyPaths(e,t),o.observe(e,"",i.observer)}}),i.compile(a,!0),i.computed.length&&p.parse(i.computed),i.init=!1,i.execHook("afterCompile","ready")}function r(e){for(;e.parentCompiler;)e=e.parentCompiler;return e}var s=t("./emitter"),o=t("./observer"),a=t("./config"),c=t("./utils"),u=t("./binding"),l=t("./directive"),f=t("./text-parser"),p=t("./deps-parser"),h=t("./exp-parser"),v=p.observer,d=Array.prototype.slice,m=c.log,g=c.hash,b=c.extend,y=c.defProtected,_=Object.prototype.hasOwnProperty,x=n.prototype;x.setupElement=function(e){var t=this.el="string"==typeof e.el?document.querySelector(e.el):e.el||document.createElement(e.tagName||"div"),i=e.template;if(i)if(e.replace&&1===i.childNodes.length){var n=i.childNodes[0].cloneNode(!0);t.parentNode&&(t.parentNode.insertBefore(n,t),t.parentNode.removeChild(t)),t=n}else t.innerHTML="",t.appendChild(i.cloneNode(!0));e.id&&(t.id=e.id),e.className&&(t.className=e.className);var r=e.attributes;if(r)for(var s in r)t.setAttribute(s,r[s]);return t},x.setupObserver=function(){function e(e){_.call(i,e)||t.createBinding(e)}var t=this,i=t.bindings,n=t.observer=new s;n.proxies=g(),n.on("get",function(t){e(t),v.emit("get",i[t])}).on("set",function(t,r){n.emit("change:"+t,r),e(t),i[t].update(r)}).on("mutate",function(t,r,s){n.emit("change:"+t,r,s),e(t),i[t].pub()})},x.compile=function(e,t){var i=this,n=e.nodeType,r=e.tagName;if(1===n&&"SCRIPT"!==r){if(null!==c.attr(e,"pre"))return;var s,o,a,u,f=c.attr(e,"component")||r.toLowerCase(),p=i.getOption("components",f);if(s=c.attr(e,"repeat"))u=l.parse("repeat",s,i,e),u&&(u.Ctor=p,i.bindDirective(u));else if(t||!(o=c.attr(e,"with"))&&!p){if(e.vue_trans=c.attr(e,"transition"),a=c.attr(e,"partial")){var h=i.getOption("partials",a);h&&(e.innerHTML="",e.appendChild(h.cloneNode(!0)))}i.compileNode(e)}else u=l.parse("with",o||"",i,e),u&&(u.Ctor=p,i.bindDirective(u))}else 3===n&&i.compileTextNode(e)},x.compileNode=function(e){var t,i,n=e.attributes,r=a.prefix+"-";if(n&&n.length){var s,o,c,u,p;for(t=n.length;t--;){if(s=n[t],o=!1,0===s.name.indexOf(r))for(o=!0,c=l.split(s.value),i=c.length;i--;)u=c[i],p=l.parse(s.name.slice(r.length),u,this,e),p&&this.bindDirective(p);else u=f.parseAttr(s.value),u&&(p=l.parse("attr",s.name+":"+u,this,e),p&&this.bindDirective(p));o&&e.removeAttribute(s.name)}}if(e.childNodes.length){var h=d.call(e.childNodes);for(t=0,i=h.length;i>t;t++)this.compile(h[t])}},x.compileTextNode=function(e){var t=f.parse(e.nodeValue);if(t){for(var i,n,r,s=0,o=t.length;o>s;s++){if(n=t[s],n.key)if(">"===n.key.charAt(0)){var a=n.key.slice(1).trim(),c=this.getOption("partials",a);c&&(i=c.cloneNode(!0),this.compileNode(i))}else i=document.createTextNode(""),r=l.parse("text",n.key,this,i),r&&this.bindDirective(r);else i=document.createTextNode(n);e.parentNode.insertBefore(i,e)}e.parentNode.removeChild(e)}},x.bindDirective=function(e){if(this.dirs.push(e),e.isSimple)return e.bind&&e.bind(),void 0;var t,i=this,n=e.key,r=n.split(".")[0];t=e.isExp?i.createBinding(n,!0,e.isFn):_.call(i.data,r)||_.call(i.vm,r)?_.call(i.bindings,n)?i.bindings[n]:i.createBinding(n):i.bindings[n]||i.rootCompiler.createBinding(n),t.instances.push(e),e.binding=t,e.bind&&e.bind();var s=t.value;void 0!==s&&(t.isComputed?e.refresh(s):e.update(s,!0))},x.createBinding=function(e,t,i){var n=this,r=n.bindings,s=new u(n,e,t,i);if(t){var a=h.parse(e,n);a&&(m(" created expression binding: "+e),s.value=i?a:{$get:a},n.markComputed(s),n.exps.push(s))}else if(m(" created binding: "+e),r[e]=s,s.root)n.define(e,s);else{o.ensurePath(n.data,e);var c=e.slice(0,e.lastIndexOf("."));_.call(r,c)||n.createBinding(c)}return s},x.define=function(e,t){m(" defined root binding: "+e);var i=this,n=i.data,r=i.vm,s=n.__observer__;e in n||(n[e]=void 0),!s||e in s.values||o.convert(n,e);var a=t.value=n[e];"Object"===c.typeOf(a)&&a.$get&&i.markComputed(t),Object.defineProperty(r,e,{enumerable:!t.isComputed,get:t.isComputed?function(){return i.data[e].$get()}:function(){return i.data[e]},set:t.isComputed?function(t){i.data[e].$set&&i.data[e].$set(t)}:function(t){i.data[e]=t}})},x.markComputed=function(e){var t=e.value,i=this.vm;e.isComputed=!0,e.isFn?e.value=c.bind(t,i):(t.$get=c.bind(t.$get,i),t.$set&&(t.$set=c.bind(t.$set,i))),this.computed.push(e)},x.getOption=function(e,t){var i=this.options,n=this.parentCompiler;return i[e]&&i[e][t]||(n?n.getOption(e,t):c[e]&&c[e][t])},x.execHook=function(e,t){var i=this.options,n=i[e]||i[t];n&&n.call(this.vm,i)},x.destroy=function(){var e,t,i,n,r,s=this,a=s.vm,c=s.el,u=s.dirs,l=s.exps,f=s.bindings;for(s.execHook("beforeDestroy"),s.observer.off(),s.emitter.off(),e=u.length;e--;)i=u[e],i.isSimple||i.binding.compiler===s||(n=i.binding.instances,n&&n.splice(n.indexOf(i),1)),i.unbind();for(e=l.length;e--;)l[e].unbind();for(t in f)_.call(f,t)&&(r=f[t],r.root&&o.unobserve(r.value,r.key,s.observer),r.unbind());var p=s.parentCompiler,h=s.childId;p&&(p.childCompilers.splice(p.childCompilers.indexOf(s),1),h&&delete p.vm.$[h]),c===document.body?c.innerHTML="":a.$remove(),s.execHook("afterDestroy")},i.exports=n}),e.register("vue/src/viewmodel.js",function(e,t,i){function n(e){new o(this,e)}function r(e){return"string"==typeof e?document.querySelector(e):e}function s(e,t){var i=t[0],n=e.$compiler.bindings[i];return n?n.compiler.vm:null}var o=t("./compiler"),a=t("./utils"),c=t("./transition"),u=a.defProtected,l=a.nextTick,f=n.prototype;u(f,"$set",function(e,t){var i=e.split("."),n=s(this,i);if(n){for(var r=0,o=i.length-1;o>r;r++)n=n[i[r]];n[i[r]]=t}}),u(f,"$watch",function(e,t){function i(){var e=arguments;a.nextTick(function(){t.apply(n,e)})}var n=this;t._fn=i,n.$compiler.observer.on("change:"+e,i)}),u(f,"$unwatch",function(e,t){var i=["change:"+e],n=this.$compiler.observer;t&&i.push(t._fn),n.off.apply(n,i)}),u(f,"$destroy",function(){this.$compiler.destroy()}),u(f,"$broadcast",function(){for(var e,t=this.$compiler.childCompilers,i=t.length;i--;)e=t[i],e.emitter.emit.apply(e.emitter,arguments),e.vm.$broadcast.apply(e.vm,arguments)}),u(f,"$dispatch",function(){var e=this.$compiler,t=e.emitter,i=e.parentCompiler;t.emit.apply(t,arguments),i&&i.vm.$dispatch.apply(i.vm,arguments)}),["emit","on","off","once"].forEach(function(e){u(f,"$"+e,function(){var t=this.$compiler.emitter;t[e].apply(t,arguments)})}),u(f,"$appendTo",function(e,t){e=r(e);var i=this.$el;c(i,1,function(){e.appendChild(i),t&&l(t)},this.$compiler)}),u(f,"$remove",function(e){var t=this.$el,i=t.parentNode;i&&c(t,-1,function(){i.removeChild(t),e&&l(e)},this.$compiler)}),u(f,"$before",function(e,t){e=r(e);var i=this.$el,n=e.parentNode;n&&c(i,1,function(){n.insertBefore(i,e),t&&l(t)},this.$compiler)}),u(f,"$after",function(e,t){e=r(e);var i=this.$el,n=e.parentNode,s=e.nextSibling;n&&c(i,1,function(){s?n.insertBefore(i,s):n.appendChild(i),t&&l(t)},this.$compiler)}),i.exports=n}),e.register("vue/src/binding.js",function(e,t,i){function n(e,t,i,n){this.id=s++,this.value=void 0,this.isExp=!!i,this.isFn=n,this.root=!this.isExp&&-1===t.indexOf("."),this.compiler=e,this.key=t,this.instances=[],this.subs=[],this.deps=[],this.unbound=!1}var r=t("./batcher"),s=0,o=n.prototype;o.update=function(e){this.value=e,r.queue(this,"update")},o._update=function(){for(var e=this.instances.length;e--;)this.instances[e].update(this.value);this.pub()},o.refresh=function(){r.queue(this,"refresh")},o._refresh=function(){for(var e=this.instances.length;e--;)this.instances[e].refresh();this.pub()},o.pub=function(){for(var e=this.subs.length;e--;)this.subs[e].refresh()},o.unbind=function(){this.unbound=!0;for(var e=this.instances.length;e--;)this.instances[e].unbind();e=this.deps.length;for(var t;e--;)t=this.deps[e].subs,t.splice(t.indexOf(this),1)},i.exports=n}),e.register("vue/src/observer.js",function(e,t,i){function n(e){for(var t in e)s(e,t)}function r(e,t){var i=e.__observer__;if(i||(i=new h,g(e,"__observer__",i)),i.path=t,k)e.__proto__=w;else for(var n in w)g(e,n,w[n])}function s(e,t){var i=t.charAt(0);if("$"!==i&&"_"!==i||"$index"===t){var n=e.__observer__,r=n.values,s=r[t]=e[t];n.emit("set",t,s),Array.isArray(s)&&n.emit("set",t+".length",s.length),Object.defineProperty(e,t,{get:function(){var e=r[t];return d.active&&m(e)!==y&&n.emit("get",t),e},set:function(e){var i=r[t];f(i,t,n),r[t]=e,c(e,i),n.emit("set",t,e),l(e,t,n)}}),l(s,t,n)}}function o(e){p=p||t("./viewmodel");var i=m(e);return!(i!==y&&i!==_||e instanceof p)}function a(e){var t=m(e),i=e&&e.__observer__;if(t===_)i.emit("set","length",e.length);else if(t===y){var n,r;for(n in e)r=e[n],i.emit("set",n,r),a(r)}}function c(e,t){if(m(t)===y&&m(e)===y){var i,n,r,s;for(i in t)i in e||(r=t[i],n=m(r),n===y?(s=e[i]={},c(s,r)):e[i]=n===_?[]:void 0)}}function u(e,t){for(var i,n=t.split("."),r=0,o=n.length-1;o>r;r++)i=n[r],e[i]||(e[i]={},e.__observer__&&s(e,i)),e=e[i];m(e)===y&&(i=n[r],i in e||(e[i]=void 0,e.__observer__&&s(e,i)))}function l(e,t,i){if(o(e)){var s,c=t?t+".":"",u=!!e.__observer__;u||g(e,"__observer__",new h),s=e.__observer__,s.values=s.values||v.hash(),i.proxies=i.proxies||{};var l=i.proxies[c]={get:function(e){i.emit("get",c+e)},set:function(e,t){i.emit("set",c+e,t)},mutate:function(e,n,r){var s=e?c+e:t;i.emit("mutate",s,n,r);var o=r.method;"sort"!==o&&"reverse"!==o&&i.emit("set",s+".length",n.length)}};if(s.on("get",l.get).on("set",l.set).on("mutate",l.mutate),u)a(e);else{var f=m(e);f===y?n(e):f===_&&r(e)}}}function f(e,t,i){if(e&&e.__observer__){t=t?t+".":"";var n=i.proxies[t];n&&(e.__observer__.off("get",n.get).off("set",n.set).off("mutate",n.mutate),i.proxies[t]=null)}}var p,h=t("./emitter"),v=t("./utils"),d=t("./deps-parser").observer,m=v.typeOf,g=v.defProtected,b=Array.prototype.slice,y="Object",_="Array",x=["push","pop","shift","unshift","splice","sort","reverse"],k={}.__proto__,w=Object.create(Array.prototype);x.forEach(function(e){g(w,e,function(){var t=Array.prototype[e].apply(this,arguments);return this.__observer__.emit("mutate",this.__observer__.path,this,{method:e,args:b.call(arguments),result:t}),t},!k)});var $={remove:function(e){if("function"==typeof e){for(var t=this.length,i=[];t--;)e(this[t])&&i.push(this.splice(t,1)[0]);return i.reverse()}return"number"!=typeof e&&(e=this.indexOf(e)),e>-1?this.splice(e,1)[0]:void 0},replace:function(e,t){if("function"==typeof e){for(var i,n=this.length,r=[];n--;)i=e(this[n]),void 0!==i&&r.push(this.splice(n,1,i)[0]);return r.reverse()}return"number"!=typeof e&&(e=this.indexOf(e)),e>-1?this.splice(e,1,t)[0]:void 0}};for(var C in $)g(w,C,$[C],!k);i.exports={observe:l,unobserve:f,ensurePath:u,convert:s,copyPaths:c,watchArray:r}}),e.register("vue/src/directive.js",function(e,t,i){function n(e,t,i,n,o){this.compiler=n,this.vm=n.vm,this.el=o;var a=""===t;if("function"==typeof e)this[a?"bind":"_update"]=e;else for(var c in e)"unbind"===c||"update"===c?this["_"+c]=e[c]:this[c]=e[c];if(a)return this.isSimple=!0,void 0;this.expression=t.trim(),this.rawKey=i,r(this,i),this.isExp=!d.test(this.key)||v.test(this.key);var u=this.expression.slice(i.length).match(p);if(u){this.filters=[];for(var l,f=0,h=u.length;h>f;f++)l=s(u[f],this.compiler),l&&this.filters.push(l);this.filters.length||(this.filters=null)}else this.filters=null}function r(e,t){var i=t;if(t.indexOf(":")>-1){var n=t.match(f);i=n?n[2].trim():i,e.arg=n?n[1].trim():null}e.key=i}function s(e,t){var i=e.slice(1).match(h);if(i){i=i.map(function(e){return e.replace(/'/g,"").trim()});var n=i[0],r=t.getOption("filters",n)||c[n];return r?{name:n,apply:r,args:i.length>1?i.slice(1):null}:(o.warn("Unknown filter: "+n),void 0)}}var o=t("./utils"),a=t("./directives"),c=t("./filters"),u=/(?:['"](?:\\.|[^'"])*['"]|\((?:\\.|[^\)])*\)|\\.|[^,])+/g,l=/^(?:['"](?:\\.|[^'"])*['"]|\\.|[^\|]|\|\|)+/,f=/^([\w- ]+):(.+)$/,p=/\|[^\|]+/g,h=/[^\s']+|'[^']+'/g,v=/^\$(parent|root)\./,d=/^[\w\.\$]+$/,m=n.prototype;m.update=function(e,t){(t||e!==this.value)&&(this.value=e,this.apply(e))},m.refresh=function(e){if(e&&(this.value=e),this.isFn)e=this.value;else{if(e=this.value.$get(),void 0!==e&&e===this.computedValue)return;this.computedValue=e}this.apply(e)},m.apply=function(e){this._update(this.filters?this.applyFilters(e):e)},m.applyFilters=function(e){for(var t,i=e,n=0,r=this.filters.length;r>n;n++)t=this.filters[n],i=t.apply.call(this.vm,i,t.args);return i},m.unbind=function(e){this.el&&(this._unbind&&this._unbind(e),e||(this.vm=this.el=this.binding=this.compiler=null))},n.split=function(e){return e.indexOf(",")>-1?e.match(u)||[""]:[e]},n.parse=function(e,t,i,r){var s=i.getOption("directives",e)||a[e];if(!s)return o.warn("unknown directive: "+e);var c;if(t.indexOf("|")>-1){var u=t.match(l);u&&(c=u[0].trim())}else c=t.trim();return c||""===t?new n(s,t,c,i,r):o.warn("invalid directive expression: "+t)},i.exports=n}),e.register("vue/src/exp-parser.js",function(e,t,i){function n(e){return e=e.replace(h,"").replace(v,",").replace(p,"").replace(d,"").replace(m,""),e?e.split(/,+/):[]}function r(e,t){for(var i="",n=t.vm,r=e.indexOf("."),s=r>-1?e.slice(0,r):e;;){if(c.call(n.$data,s)||c.call(n,s))break;if(!n.$parent)break;n=n.$parent,i+="$parent."}return t=n.$compiler,c.call(t.bindings,e)||"$"===e.charAt(0)||t.createBinding(e),i}function s(e,t){var i;try{i=new Function(e)}catch(n){a.warn("Invalid expression: "+t)}return i}function o(e){return"$"===e.charAt(0)?"\\"+e:e}var a=t("./utils"),c=Object.prototype.hasOwnProperty,u=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g,l=/"(\d+)"/g,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,undefined,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,Math",p=new RegExp(["\\b"+f.replace(/,/g,"\\b|\\b")+"\\b"].join("|"),"g"),h=/\/\*(?:.|\n)*?\*\/|\/\/[^\n]*\n|\/\/[^\n]*$|'[^']*'|"[^"]*"|[\s\t\n]*\.[\s\t\n]*[$\w\.]+/g,v=/[^\w$]+/g,d=/\b\d[^,]*/g,m=/^,+|,+$/g;i.exports={parse:function(e,t){function i(e){var t=d.length;return d[t]=e,'"'+t+'"'}function c(e){var i=e.charAt(0);e=e.slice(1);var n="this."+r(e,t)+e;return v[e]||(h+=n+";",v[e]=1),i+n}function f(e,t){return d[t]}var p=n(e);if(!p.length)return s("return "+e,e);p=a.unique(p);var h="",v=a.hash(),d=[],m=new RegExp("[^$\\w\\.]("+p.map(o).join("|")+")[$\\w\\.]*\\b","g"),g=("return "+e).replace(u,i).replace(m,c).replace(l,f);return g=h+g,s(g,e)}}}),e.register("vue/src/text-parser.js",function(e){function t(e){if(!n.test(e))return null;for(var t,i,r=[];t=e.match(n);)i=t.index,i>0&&r.push(e.slice(0,i)),r.push({key:t[1].trim()}),e=e.slice(i+t[0].length);return e.length&&r.push(e),r}function i(e){var i=t(e);if(!i)return null;for(var n,r=[],s=0,o=i.length;o>s;s++)n=i[s],r.push(n.key||'"'+n+'"');return r.join("+")}var n=/\{\{(.+?)\}\}/;e.parse=t,e.parseAttr=i}),e.register("vue/src/deps-parser.js",function(e,t,i){function n(e){if(!e.isFn){s.log("\n- "+e.key);var t=s.hash();o.on("get",function(i){var n=t[i.key];n&&n.compiler===i.compiler||(t[i.key]=i,s.log(" - "+i.key),e.deps.push(i),i.subs.push(e))}),e.value.$get(),o.off("get")}}var r=t("./emitter"),s=t("./utils"),o=new r;i.exports={observer:o,parse:function(e){s.log("\nparsing dependencies..."),o.active=!0,e.forEach(n),o.active=!1,s.log("\ndone.")}}}),e.register("vue/src/filters.js",function(e,t,i){var n={enter:13,tab:9,"delete":46,up:38,left:37,right:39,down:40,esc:27};i.exports={capitalize:function(e){return e||0===e?(e=e.toString(),e.charAt(0).toUpperCase()+e.slice(1)):""},uppercase:function(e){return e||0===e?e.toString().toUpperCase():""},lowercase:function(e){return e||0===e?e.toString().toLowerCase():""},currency:function(e,t){if(!e&&0!==e)return"";var i=t&&t[0]||"$",n=Math.floor(e).toString(),r=n.length%3,s=r>0?n.slice(0,r)+(n.length>3?",":""):"",o="."+e.toFixed(2).slice(-2);return i+s+n.slice(r).replace(/(\d{3})(?=\d)/g,"$1,")+o},pluralize:function(e,t){return t.length>1?t[e-1]||t[t.length-1]:t[e-1]||t[0]+"s"},key:function(e,t){if(e){var i=n[t[0]];return i||(i=parseInt(t[0],10)),function(t){t.keyCode===i&&e.call(this,t)}}}}}),e.register("vue/src/transition.js",function(e,t,i){function n(e,t,i){if(!o)return i(),l.CSS_SKIP;var n=e.classList,r=e.vue_trans_cb;if(t>0){r&&(e.removeEventListener(o,r),e.vue_trans_cb=null),n.add(c),i();{e.clientHeight}return n.remove(c),l.CSS_E}n.add(u);var s=function(t){t.target===e&&(e.removeEventListener(o,s),e.vue_trans_cb=null,i(),n.remove(u))};return e.addEventListener(o,s),e.vue_trans_cb=s,l.CSS_L}function r(e,t,i,n,r){var s=r.getOption("transitions",n);if(!s)return i(),l.JS_SKIP;var o=s.enter,a=s.leave;return t>0?"function"!=typeof o?(i(),l.JS_SKIP_E):(o(e,i),l.JS_E):"function"!=typeof a?(i(),l.JS_SKIP_L):(a(e,i),l.JS_L)}function s(){var e=document.createElement("vue"),t="transitionend",i={transition:t,mozTransition:t,webkitTransition:"webkitTransitionEnd"};for(var n in i)if(void 0!==e.style[n])return i[n]}var o=s(),a=t("./config"),c=a.enterClass,u=a.leaveClass,l={CSS_E:1,CSS_L:2,JS_E:3,JS_L:4,CSS_SKIP:-1,JS_SKIP:-2,JS_SKIP_E:-3,JS_SKIP_L:-4,INIT:-5,SKIP:-6},f=i.exports=function(e,t,i,s){var o=function(){i(),s.execHook(t>0?"enteredView":"leftView")};if(s.init)return o(),l.INIT;var a=e.vue_trans;return a?r(e,t,o,a,s):""===a?n(e,t,o):(o(),l.SKIP)};f.codes=l}),e.register("vue/src/batcher.js",function(e,t){function i(){for(var e=0;et;t++)this.buildItem(e.args[t],n+t)},pop:function(){var e=this.vms.pop();e&&e.$destroy()},unshift:function(e){var t,i=e.args.length;for(t=0;i>t;t++)this.buildItem(e.args[t],t)},shift:function(){var e=this.vms.shift();e&&e.$destroy()},splice:function(e){var t,i,n=e.args[0],r=e.args[1],s=e.args.length-2,o=this.vms.splice(n,r);for(t=0,i=o.length;i>t;t++)o[t].$destroy();for(t=0;s>t;t++)this.buildItem(e.args[t+2],n+t)},sort:function(){var e,t,i,n,r=this.vms,s=this.collection,o=s.length,a=new Array(o);for(e=0;o>e;e++)for(n=s[e],t=0;o>t;t++)if(i=r[t],i.$data===n){a[e]=i;break}for(e=0;o>e;e++)this.container.insertBefore(a[e].$el,this.ref);this.vms=a},reverse:function(){var e=this.vms;e.reverse();for(var t=0,i=e.length;i>t;t++)this.container.insertBefore(e[t].$el,this.ref)}};i.exports={bind:function(){var e=this,i=e.el,r=e.container=i.parentNode;n=n||t("../viewmodel"),e.Ctor=e.Ctor||n,e.hasTrans=i.hasAttribute(a.attrs.transition),e.ref=document.createComment(a.prefix+"-repeat-"+e.key),r.insertBefore(e.ref,i),r.removeChild(i),e.initiated=!1,e.collection=null,e.vms=null,e.mutationListener=function(t,i,n){var r=n.method;u[r].call(e,n),"push"!==r&&"pop"!==r&&e.updateIndexes()}},update:function(e){if(this.unbind(!0),this.container.vue_dHandlers=o.hash(),this.initiated||e&&e.length||(this.buildItem(),this.initiated=!0),e=this.collection=e||[],this.vms=[],e.__observer__||r.watchArray(e,null,new s),e.__observer__.on("mutate",this.mutationListener),e.length)for(var t=0,i=e.length;i>t;t++)this.buildItem(e[t],t)},buildItem:function(e,t){var i,n,r=this.el.cloneNode(!0),s=this.container;e&&(i=this.vms.length>t?this.vms[t].$el:this.ref,i.parentNode||(i=i.vue_ref),r.vue_trans=o.attr(r,"transition",!0),c(r,1,function(){s.insertBefore(r,i)},this.compiler)),n=new this.Ctor({el:r,data:e,compilerOptions:{repeat:!0,repeatIndex:t,repeatCollection:this.collection,parentCompiler:this.compiler,delegator:s}}),e?this.vms.splice(t,0,n):n.$destroy()},updateIndexes:function(){for(var e=this.vms.length;e--;)this.vms[e].$data.$index=e},unbind:function(){if(this.collection){this.collection.__observer__.off("mutate",this.mutationListener);for(var e=this.vms.length;e--;)this.vms[e].$destroy()}var t=this.container,i=t.vue_dHandlers;for(var n in i)t.removeEventListener(i[n].event,i[n]);t.vue_dHandlers=null}}}),e.register("vue/src/directives/on.js",function(e,t,i){function n(e,t,i){for(;e&&e!==t;){if(e[i])return e;e=e.parentNode}}var r=t("../utils");i.exports={isFn:!0,bind:function(){this.compiler.repeat&&(this.el[this.expression]=!0,this.el.vue_viewmodel=this.vm)},update:function(e){if(this.unbind(!0),"function"!=typeof e)return r.warn('Directive "on" expects a function value.');var t=this.compiler,i=this.arg,s=this.binding.compiler.vm;if(t.repeat&&!this.vm.constructor.super&&"blur"!==i&&"focus"!==i){var o=t.delegator,a=this.expression,c=o.vue_dHandlers[a];if(c)return;c=o.vue_dHandlers[a]=function(t){var i=n(t.target,o,a);i&&(t.el=i,t.targetVM=i.vue_viewmodel,e.call(s,t))},c.event=i,o.addEventListener(i,c)}else{var u=this.vm;this.handler=function(t){t.el=t.currentTarget,t.targetVM=u,e.call(s,t)},this.el.addEventListener(i,this.handler)}},unbind:function(e){this.el.removeEventListener(this.arg,this.handler),this.handler=null,e||(this.el.vue_viewmodel=null)}}}),e.register("vue/src/directives/model.js",function(e,t,i){var n=t("../utils"),r=navigator.userAgent.indexOf("MSIE 9.0")>0;i.exports={bind:function(){var e=this,t=e.el,i=t.type,s=t.tagName;e.lock=!1,e.event=e.compiler.options.lazy||"SELECT"===s||"checkbox"===i||"radio"===i?"change":"input";var o=e.attr="checkbox"===i?"checked":"INPUT"===s||"SELECT"===s||"TEXTAREA"===s?"value":"innerHTML";if(e.filters){var a=!1;this.cLock=function(){a=!0},this.cUnlock=function(){a=!1},t.addEventListener("compositionstart",this.cLock),t.addEventListener("compositionend",this.cUnlock)}e.set=e.filters?function(){if(!a){var i;try{i=t.selectionStart}catch(r){}e.vm.$set(e.key,t[o]),n.nextTick(function(){void 0!==i&&t.setSelectionRange(i,i)})}}:function(){e.lock=!0,e.vm.$set(e.key,t[o]),n.nextTick(function(){e.lock=!1})},t.addEventListener(e.event,e.set),r&&(e.onCut=function(){n.nextTick(function(){e.set()})},e.onDel=function(t){(46===t.keyCode||8===t.keyCode)&&e.set()},t.addEventListener("cut",e.onCut),t.addEventListener("keyup",e.onDel))},update:function(e){if(!this.lock){var t=this,i=t.el;if("SELECT"===i.tagName){for(var r=i.options,s=r.length,o=-1;s--;)if(r[s].value==e){o=s;break}r.selectedIndex=o}else"radio"===i.type?i.checked=e==i.value:"checkbox"===i.type?i.checked=!!e:i[t.attr]=n.toText(e)}},unbind:function(){var e=this.el;e.removeEventListener(this.event,this.set),this.filters&&(e.removeEventListener("compositionstart",this.cLock),e.removeEventListener("compositionend",this.cUnlock)),r&&(e.removeEventListener("cut",this.onCut),e.removeEventListener("keyup",this.onDel))}}}),e.register("vue/src/directives/with.js",function(e,t,i){var n;i.exports={bind:function(){this.isSimple&&this.build()},update:function(e){this.component?this.component.$data=e:this.build(e)},build:function(e){n=n||t("../viewmodel");var i=this.Ctor||n;this.component=new i({el:this.el,data:e,compilerOptions:{parentCompiler:this.compiler}})},unbind:function(){this.component.$destroy()}}}),e.alias("component-emitter/index.js","vue/deps/emitter/index.js"),e.alias("component-emitter/index.js","emitter/index.js"),e.alias("vue/src/main.js","vue/index.js"),"object"==typeof exports?module.exports=e("vue"):"function"==typeof define&&define.amd?define(function(){return e("vue")}):this.Vue=e("vue")}(); \ No newline at end of file +!function(){function e(t,i,n){var r=e.resolve(t);if(null==r){n=n||t,i=i||"root";var s=new Error('Failed to require "'+n+'" from "'+i+'"');throw s.path=n,s.parent=i,s.require=!0,s}var o=e.modules[r];if(!o._resolving&&!o.exports){var a={};a.exports={},a.client=a.component=!0,o._resolving=!0,o.call(this,a.exports,e.relative(r),a),delete o._resolving,o.exports=a.exports}return o.exports}e.modules={},e.aliases={},e.resolve=function(t){"/"===t.charAt(0)&&(t=t.slice(1));for(var i=[t,t+".js",t+".json",t+"/index.js",t+"/index.json"],n=0;nn;++n)i[n].apply(this,t)}return this},n.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[e]||[]},n.prototype.hasListeners=function(e){return!!this.listeners(e).length}}),e.register("vue/src/main.js",function(e,t,i){function n(e){var t=this;e=r(e,t.options,!0),u.processOptions(e);var i=function(i,n){n||(i=r(i,e,!0)),t.call(this,i,!0)},s=i.prototype=Object.create(t.prototype);u.defProtected(s,"constructor",i);var o=e.methods;if(o)for(var c in o)c in a.prototype||"function"!=typeof o[c]||(s[c]=o[c]);return i.extend=n,i.super=t,i.options=e,i}function r(e,t,i){if(e=e||u.hash(),!t)return e;for(var n in t)if("el"!==n&&"methods"!==n){var o=e[n],a=t[n],c=u.typeOf(o);i&&"Function"===c&&a?e[n]=s(o,a):i&&"Object"===c?r(o,a):void 0===o&&(e[n]=a)}return e}function s(e,t){return function(i){t.call(this,i),e.call(this,i)}}var o=t("./config"),a=t("./viewmodel"),c=t("./directives"),l=t("./filters"),u=t("./utils");a.config=function(e,t){if("string"==typeof e){if(void 0===t)return o[e];o[e]=t}else u.extend(o,e);return this},a.directive=function(e,t){return t?(c[e]=t,this):c[e]},a.filter=function(e,t){return t?(l[e]=t,this):l[e]},a.component=function(e,t){return t?(u.components[e]=u.toConstructor(t),this):u.components[e]},a.partial=function(e,t){return t?(u.partials[e]=u.toFragment(t),this):u.partials[e]},a.transition=function(e,t){return t?(u.transitions[e]=t,this):u.transitions[e]},a.extend=n,a.nextTick=u.nextTick,i.exports=a}),e.register("vue/src/emitter.js",function(e,t,i){var n,r="emitter";try{n=t(r)}catch(s){n=t("events").EventEmitter,n.prototype.off=function(){var e=arguments.length>1?this.removeListener:this.removeAllListeners;return e.apply(this,arguments)}}i.exports=n}),e.register("vue/src/config.js",function(e,t,i){function n(){s.forEach(function(e){o.attrs[e]=r+"-"+e})}var r="v",s=["pre","text","repeat","partial","with","component","component-id","transition"],o=i.exports={async:!0,debug:!1,silent:!1,enterClass:"v-enter",leaveClass:"v-leave",attrs:{},get prefix(){return r},set prefix(e){r=e,n()}};n()}),e.register("vue/src/utils.js",function(e,t,i){function n(){return Object.create(null)}var r,s=t("./config"),o=s.attrs,a=Object.prototype.toString,c=Array.prototype.join,l=window.console,u=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.setTimeout,f=i.exports={hash:n,components:n(),partials:n(),transitions:n(),attr:function(e,t,i){var n=o[t],r=e.getAttribute(n);return i||null===r||e.removeAttribute(n),r},defProtected:function(e,t,i,n,r){e.hasOwnProperty(t)||Object.defineProperty(e,t,{value:i,enumerable:!!n,configurable:!!r})},typeOf:function(e){return a.call(e).slice(8,-1)},bind:function(e,t){return function(i){return e.call(t,i)}},toText:function(e){return"string"==typeof e||"boolean"==typeof e||"number"==typeof e&&e==e?e:""},extend:function(e,t,i){for(var n in t)i&&e[n]||(e[n]=t[n])},unique:function(e){for(var t,i=f.hash(),n=e.length,r=[];n--;)t=e[n],i[t]||(i[t]=1,r.push(t));return r},toFragment:function(e){if("string"!=typeof e)return e;if("#"===e.charAt(0)){var t=document.getElementById(e.slice(1));if(!t)return;e=t.innerHTML}var i,n=document.createElement("div"),r=document.createDocumentFragment();for(n.innerHTML=e.trim();i=n.firstChild;)r.appendChild(i);return r},toConstructor:function(e){return r=r||t("./viewmodel"),"Object"===f.typeOf(e)?r.extend(e):"function"==typeof e?e:null},processOptions:function(e){var t,i=e.components,n=e.partials,r=e.template;if(i)for(t in i)i[t]=f.toConstructor(i[t]);if(n)for(t in n)n[t]=f.toFragment(n[t]);r&&(e.template=f.toFragment(r))},log:function(){s.debug&&l&&l.log(c.call(arguments," "))},warn:function(){!s.silent&&l&&(l.warn(c.call(arguments," ")),s.debug&&l.trace())},nextTick:function(e){u(e,0)}}}),e.register("vue/src/compiler.js",function(e,t,i){function n(e,t){var i=this;i.init=!0,t=i.options=t||g(),c.processOptions(t);var n=i.data=t.data||{};b(e,n,!0),b(e,t.methods,!0),b(i,t.compilerOptions);var a=i.setupElement(t);m("\nnew VM instance:",a.tagName,"\n"),i.vm=e,i.dirs=[],i.exps=[],i.computed=[],i.childCompilers=[],i.emitter=new s;var l=i.parentCompiler;i.bindings=l?Object.create(l.bindings):g(),i.rootCompiler=l?r(l):i,y(e,"$",g()),y(e,"$el",a),y(e,"$compiler",i),y(e,"$root",i.rootCompiler.vm);var u=c.attr(a,"component-id");l&&(l.childCompilers.push(i),y(e,"$parent",l.vm),u&&(i.childId=u,l.vm.$[u]=e)),i.setupObserver(),i.execHook("beforeCompile","created"),b(n,e),o.observe(n,"",i.observer),i.repeat&&(y(n,"$index",i.repeatIndex,!1,!0),i.createBinding("$index")),Object.defineProperty(e,"$data",{enumerable:!1,get:function(){return i.data},set:function(e){var t=i.data;o.unobserve(t,"",i.observer),i.data=e,o.copyPaths(e,t),o.observe(e,"",i.observer)}}),i.compile(a,!0),i.computed.length&&p.parse(i.computed),i.init=!1,i.execHook("afterCompile","ready")}function r(e){for(;e.parentCompiler;)e=e.parentCompiler;return e}var s=t("./emitter"),o=t("./observer"),a=t("./config"),c=t("./utils"),l=t("./binding"),u=t("./directive"),f=t("./text-parser"),p=t("./deps-parser"),h=t("./exp-parser"),v=p.observer,d=Array.prototype.slice,m=c.log,g=c.hash,b=c.extend,y=c.defProtected,_=Object.prototype.hasOwnProperty,x=n.prototype;x.setupElement=function(e){var t=this.el="string"==typeof e.el?document.querySelector(e.el):e.el||document.createElement(e.tagName||"div"),i=e.template;if(i)if(e.replace&&1===i.childNodes.length){var n=i.childNodes[0].cloneNode(!0);t.parentNode&&(t.parentNode.insertBefore(n,t),t.parentNode.removeChild(t)),t=n}else t.innerHTML="",t.appendChild(i.cloneNode(!0));e.id&&(t.id=e.id),e.className&&(t.className=e.className);var r=e.attributes;if(r)for(var s in r)t.setAttribute(s,r[s]);return t},x.setupObserver=function(){function e(e){_.call(i,e)||t.createBinding(e)}var t=this,i=t.bindings,n=t.observer=new s;n.proxies=g(),n.on("get",function(t){e(t),v.emit("get",i[t])}).on("set",function(t,r){n.emit("change:"+t,r),e(t),i[t].update(r)}).on("mutate",function(t,r,s){n.emit("change:"+t,r,s),e(t),i[t].pub()})},x.compile=function(e,t){var i=this,n=e.nodeType,r=e.tagName;if(1===n&&"SCRIPT"!==r){if(null!==c.attr(e,"pre"))return;var s,o,a,l,f=c.attr(e,"component")||r.toLowerCase(),p=i.getOption("components",f);if(s=c.attr(e,"repeat"))l=u.parse("repeat",s,i,e),l&&(l.Ctor=p,i.bindDirective(l));else if(t||!(o=c.attr(e,"with"))&&!p){if(e.vue_trans=c.attr(e,"transition"),a=c.attr(e,"partial")){var h=i.getOption("partials",a);h&&(e.innerHTML="",e.appendChild(h.cloneNode(!0)))}i.compileNode(e)}else l=u.parse("with",o||"",i,e),l&&(l.Ctor=p,i.bindDirective(l))}else 3===n&&i.compileTextNode(e)},x.compileNode=function(e){var t,i,n=e.attributes,r=a.prefix+"-";if(n&&n.length){var s,o,c,l,p;for(t=n.length;t--;){if(s=n[t],o=!1,0===s.name.indexOf(r))for(o=!0,c=u.split(s.value),i=c.length;i--;)l=c[i],p=u.parse(s.name.slice(r.length),l,this,e),p&&this.bindDirective(p);else l=f.parseAttr(s.value),l&&(p=u.parse("attr",s.name+":"+l,this,e),p&&this.bindDirective(p));o&&e.removeAttribute(s.name)}}if(e.childNodes.length){var h=d.call(e.childNodes);for(t=0,i=h.length;i>t;t++)this.compile(h[t])}},x.compileTextNode=function(e){var t=f.parse(e.nodeValue);if(t){for(var i,n,r,s,o,a,c=0,l=t.length;l>c;c++)if(n=t[c],n.key?">"===n.key.charAt(0)?(o=n.key.slice(1).trim(),s=this.getOption("partials",o),s&&(i=s.cloneNode(!0),a=d.call(i.childNodes))):(i=document.createTextNode(""),r=u.parse("text",n.key,this,i),r&&this.bindDirective(r)):i=document.createTextNode(n),e.parentNode.insertBefore(i,e),a){for(var p=0,h=a.length;h>p;p++)this.compile(a[p]);a=null}e.parentNode.removeChild(e)}},x.bindDirective=function(e){if(this.dirs.push(e),e.isSimple)return e.bind&&e.bind(),void 0;var t,i=this,n=e.key,r=n.split(".")[0];t=e.isExp?i.createBinding(n,!0,e.isFn):_.call(i.data,r)||_.call(i.vm,r)?_.call(i.bindings,n)?i.bindings[n]:i.createBinding(n):i.bindings[n]||i.rootCompiler.createBinding(n),t.instances.push(e),e.binding=t,e.bind&&e.bind();var s=t.value;void 0!==s&&(t.isComputed?e.refresh(s):e.update(s,!0))},x.createBinding=function(e,t,i){var n=this,r=n.bindings,s=new l(n,e,t,i);if(t){var a=h.parse(e,n);a&&(m(" created expression binding: "+e),s.value=i?a:{$get:a},n.markComputed(s),n.exps.push(s))}else if(m(" created binding: "+e),r[e]=s,s.root)n.define(e,s);else{o.ensurePath(n.data,e);var c=e.slice(0,e.lastIndexOf("."));_.call(r,c)||n.createBinding(c)}return s},x.define=function(e,t){m(" defined root binding: "+e);var i=this,n=i.data,r=i.vm,s=n.__observer__;e in n||(n[e]=void 0),!s||e in s.values||o.convert(n,e);var a=t.value=n[e];"Object"===c.typeOf(a)&&a.$get&&i.markComputed(t),Object.defineProperty(r,e,{enumerable:!t.isComputed,get:t.isComputed?function(){return i.data[e].$get()}:function(){return i.data[e]},set:t.isComputed?function(t){i.data[e].$set&&i.data[e].$set(t)}:function(t){i.data[e]=t}})},x.markComputed=function(e){var t=e.value,i=this.vm;e.isComputed=!0,e.isFn||(t.$get=c.bind(t.$get,i),t.$set&&(t.$set=c.bind(t.$set,i))),this.computed.push(e)},x.getOption=function(e,t){var i=this.options,n=this.parentCompiler;return i[e]&&i[e][t]||(n?n.getOption(e,t):c[e]&&c[e][t])},x.execHook=function(e,t){var i=this.options,n=i[e]||i[t];n&&n.call(this.vm,i)},x.destroy=function(){var e,t,i,n,r,s=this,a=s.vm,c=s.el,l=s.dirs,u=s.exps,f=s.bindings;for(s.execHook("beforeDestroy"),s.observer.off(),s.emitter.off(),e=l.length;e--;)i=l[e],i.isSimple||i.binding.compiler===s||(n=i.binding.instances,n&&n.splice(n.indexOf(i),1)),i.unbind();for(e=u.length;e--;)u[e].unbind();for(t in f)_.call(f,t)&&(r=f[t],r.root&&o.unobserve(r.value,r.key,s.observer),r.unbind());var p=s.parentCompiler,h=s.childId;p&&(p.childCompilers.splice(p.childCompilers.indexOf(s),1),h&&delete p.vm.$[h]),c===document.body?c.innerHTML="":a.$remove(),s.execHook("afterDestroy")},i.exports=n}),e.register("vue/src/viewmodel.js",function(e,t,i){function n(e){new o(this,e)}function r(e){return"string"==typeof e?document.querySelector(e):e}function s(e,t){var i=t[0],n=e.$compiler.bindings[i];return n?n.compiler.vm:null}var o=t("./compiler"),a=t("./utils"),c=t("./transition"),l=a.defProtected,u=a.nextTick,f=n.prototype;l(f,"$set",function(e,t){var i=e.split("."),n=s(this,i);if(n){for(var r=0,o=i.length-1;o>r;r++)n=n[i[r]];n[i[r]]=t}}),l(f,"$watch",function(e,t){function i(){var e=arguments;a.nextTick(function(){t.apply(n,e)})}var n=this;t._fn=i,n.$compiler.observer.on("change:"+e,i)}),l(f,"$unwatch",function(e,t){var i=["change:"+e],n=this.$compiler.observer;t&&i.push(t._fn),n.off.apply(n,i)}),l(f,"$destroy",function(){this.$compiler.destroy()}),l(f,"$broadcast",function(){for(var e,t=this.$compiler.childCompilers,i=t.length;i--;)e=t[i],e.emitter.emit.apply(e.emitter,arguments),e.vm.$broadcast.apply(e.vm,arguments)}),l(f,"$dispatch",function(){var e=this.$compiler,t=e.emitter,i=e.parentCompiler;t.emit.apply(t,arguments),i&&i.vm.$dispatch.apply(i.vm,arguments)}),["emit","on","off","once"].forEach(function(e){l(f,"$"+e,function(){var t=this.$compiler.emitter;t[e].apply(t,arguments)})}),l(f,"$appendTo",function(e,t){e=r(e);var i=this.$el;c(i,1,function(){e.appendChild(i),t&&u(t)},this.$compiler)}),l(f,"$remove",function(e){var t=this.$el,i=t.parentNode;i&&c(t,-1,function(){i.removeChild(t),e&&u(e)},this.$compiler)}),l(f,"$before",function(e,t){e=r(e);var i=this.$el,n=e.parentNode;n&&c(i,1,function(){n.insertBefore(i,e),t&&u(t)},this.$compiler)}),l(f,"$after",function(e,t){e=r(e);var i=this.$el,n=e.parentNode,s=e.nextSibling;n&&c(i,1,function(){s?n.insertBefore(i,s):n.appendChild(i),t&&u(t)},this.$compiler)}),i.exports=n}),e.register("vue/src/binding.js",function(e,t,i){function n(e,t,i,n){this.id=s++,this.value=void 0,this.isExp=!!i,this.isFn=n,this.root=!this.isExp&&-1===t.indexOf("."),this.compiler=e,this.key=t,this.instances=[],this.subs=[],this.deps=[],this.unbound=!1}var r=t("./batcher"),s=0,o=n.prototype;o.update=function(e){this.value=e,r.queue(this,"update")},o._update=function(){for(var e=this.instances.length;e--;)this.instances[e].update(this.value);this.pub()},o.refresh=function(){r.queue(this,"refresh")},o._refresh=function(){for(var e=this.instances.length;e--;)this.instances[e].refresh();this.pub()},o.pub=function(){for(var e=this.subs.length;e--;)this.subs[e].refresh()},o.unbind=function(){this.unbound=!0;for(var e=this.instances.length;e--;)this.instances[e].unbind();e=this.deps.length;for(var t;e--;)t=this.deps[e].subs,t.splice(t.indexOf(this),1)},i.exports=n}),e.register("vue/src/observer.js",function(e,t,i){function n(e){for(var t in e)s(e,t)}function r(e,t){var i=e.__observer__;if(i||(i=new h,g(e,"__observer__",i)),i.path=t,k)e.__proto__=$;else for(var n in $)g(e,n,$[n])}function s(e,t){var i=t.charAt(0);if("$"!==i&&"_"!==i||"$index"===t){var n=e.__observer__,r=n.values,s=r[t]=e[t];n.emit("set",t,s),Array.isArray(s)&&n.emit("set",t+".length",s.length),Object.defineProperty(e,t,{get:function(){var e=r[t];return d.active&&m(e)!==y&&n.emit("get",t),e},set:function(e){var i=r[t];f(i,t,n),r[t]=e,c(e,i),n.emit("set",t,e),u(e,t,n)}}),u(s,t,n)}}function o(e){p=p||t("./viewmodel");var i=m(e);return!(i!==y&&i!==_||e instanceof p)}function a(e){var t=m(e),i=e&&e.__observer__;if(t===_)i.emit("set","length",e.length);else if(t===y){var n,r;for(n in e)r=e[n],i.emit("set",n,r),a(r)}}function c(e,t){if(m(t)===y&&m(e)===y){var i,n,r,s;for(i in t)i in e||(r=t[i],n=m(r),n===y?(s=e[i]={},c(s,r)):e[i]=n===_?[]:void 0)}}function l(e,t){for(var i,n=t.split("."),r=0,o=n.length-1;o>r;r++)i=n[r],e[i]||(e[i]={},e.__observer__&&s(e,i)),e=e[i];m(e)===y&&(i=n[r],i in e||(e[i]=void 0,e.__observer__&&s(e,i)))}function u(e,t,i){if(o(e)){var s,c=t?t+".":"",l=!!e.__observer__;l||g(e,"__observer__",new h),s=e.__observer__,s.values=s.values||v.hash(),i.proxies=i.proxies||{};var u=i.proxies[c]={get:function(e){i.emit("get",c+e)},set:function(e,t){i.emit("set",c+e,t)},mutate:function(e,n,r){var s=e?c+e:t;i.emit("mutate",s,n,r);var o=r.method;"sort"!==o&&"reverse"!==o&&i.emit("set",s+".length",n.length)}};if(s.on("get",u.get).on("set",u.set).on("mutate",u.mutate),l)a(e);else{var f=m(e);f===y?n(e):f===_&&r(e)}}}function f(e,t,i){if(e&&e.__observer__){t=t?t+".":"";var n=i.proxies[t];n&&(e.__observer__.off("get",n.get).off("set",n.set).off("mutate",n.mutate),i.proxies[t]=null)}}var p,h=t("./emitter"),v=t("./utils"),d=t("./deps-parser").observer,m=v.typeOf,g=v.defProtected,b=Array.prototype.slice,y="Object",_="Array",x=["push","pop","shift","unshift","splice","sort","reverse"],k={}.__proto__,$=Object.create(Array.prototype);x.forEach(function(e){g($,e,function(){var t=Array.prototype[e].apply(this,arguments);return this.__observer__.emit("mutate",this.__observer__.path,this,{method:e,args:b.call(arguments),result:t}),t},!k)});var w={remove:function(e){if("function"==typeof e){for(var t=this.length,i=[];t--;)e(this[t])&&i.push(this.splice(t,1)[0]);return i.reverse()}return"number"!=typeof e&&(e=this.indexOf(e)),e>-1?this.splice(e,1)[0]:void 0},replace:function(e,t){if("function"==typeof e){for(var i,n=this.length,r=[];n--;)i=e(this[n]),void 0!==i&&r.push(this.splice(n,1,i)[0]);return r.reverse()}return"number"!=typeof e&&(e=this.indexOf(e)),e>-1?this.splice(e,1,t)[0]:void 0}};for(var C in w)g($,C,w[C],!k);i.exports={observe:u,unobserve:f,ensurePath:l,convert:s,copyPaths:c,watchArray:r}}),e.register("vue/src/directive.js",function(e,t,i){function n(e,t,i,n,o){this.compiler=n,this.vm=n.vm,this.el=o;var a=""===t;if("function"==typeof e)this[a?"bind":"_update"]=e;else for(var c in e)"unbind"===c||"update"===c?this["_"+c]=e[c]:this[c]=e[c];if(a)return this.isSimple=!0,void 0;this.expression=t.trim(),this.rawKey=i,r(this,i),this.isExp=!d.test(this.key)||v.test(this.key);var l=this.expression.slice(i.length).match(p);if(l){this.filters=[];for(var u,f=0,h=l.length;h>f;f++)u=s(l[f],this.compiler),u&&this.filters.push(u);this.filters.length||(this.filters=null)}else this.filters=null}function r(e,t){var i=t;if(t.indexOf(":")>-1){var n=t.match(f);i=n?n[2].trim():i,e.arg=n?n[1].trim():null}e.key=i}function s(e,t){var i=e.slice(1).match(h);if(i){i=i.map(function(e){return e.replace(/'/g,"").trim()});var n=i[0],r=t.getOption("filters",n)||c[n];return r?{name:n,apply:r,args:i.length>1?i.slice(1):null}:(o.warn("Unknown filter: "+n),void 0)}}var o=t("./utils"),a=t("./directives"),c=t("./filters"),l=/(?:['"](?:\\.|[^'"])*['"]|\((?:\\.|[^\)])*\)|\\.|[^,])+/g,u=/^(?:['"](?:\\.|[^'"])*['"]|\\.|[^\|]|\|\|)+/,f=/^([\w- ]+):(.+)$/,p=/\|[^\|]+/g,h=/[^\s']+|'[^']+'/g,v=/^\$(parent|root)\./,d=/^[\w\.\$]+$/,m=n.prototype;m.update=function(e,t){(t||e!==this.value)&&(this.value=e,this.apply(e))},m.refresh=function(e){if(e&&(this.value=e),this.isFn)e=this.value;else{if(e=this.value.$get(),void 0!==e&&e===this.computedValue)return;this.computedValue=e}this.apply(e)},m.apply=function(e){this._update(this.filters?this.applyFilters(e):e)},m.applyFilters=function(e){for(var t,i=e,n=0,r=this.filters.length;r>n;n++)t=this.filters[n],i=t.apply.call(this.vm,i,t.args);return i},m.unbind=function(e){this.el&&(this._unbind&&this._unbind(e),e||(this.vm=this.el=this.binding=this.compiler=null))},n.split=function(e){return e.indexOf(",")>-1?e.match(l)||[""]:[e]},n.parse=function(e,t,i,r){var s=i.getOption("directives",e)||a[e];if(!s)return o.warn("unknown directive: "+e);var c;if(t.indexOf("|")>-1){var l=t.match(u);l&&(c=l[0].trim())}else c=t.trim();return c||""===t?new n(s,t,c,i,r):o.warn("invalid directive expression: "+t)},i.exports=n}),e.register("vue/src/exp-parser.js",function(e,t,i){function n(e){return e=e.replace(h,"").replace(v,",").replace(p,"").replace(d,"").replace(m,""),e?e.split(/,+/):[]}function r(e,t){for(var i="",n=t.vm,r=e.indexOf("."),s=r>-1?e.slice(0,r):e;;){if(c.call(n.$data,s)||c.call(n,s))break;if(!n.$parent)break;n=n.$parent,i+="$parent."}return t=n.$compiler,c.call(t.bindings,e)||"$"===e.charAt(0)||t.createBinding(e),i}function s(e,t){var i;try{i=new Function(e)}catch(n){a.warn("Invalid expression: "+t)}return i}function o(e){return"$"===e.charAt(0)?"\\"+e:e}var a=t("./utils"),c=Object.prototype.hasOwnProperty,l=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g,u=/"(\d+)"/g,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,undefined,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,Math",p=new RegExp(["\\b"+f.replace(/,/g,"\\b|\\b")+"\\b"].join("|"),"g"),h=/\/\*(?:.|\n)*?\*\/|\/\/[^\n]*\n|\/\/[^\n]*$|'[^']*'|"[^"]*"|[\s\t\n]*\.[\s\t\n]*[$\w\.]+/g,v=/[^\w$]+/g,d=/\b\d[^,]*/g,m=/^,+|,+$/g;i.exports={parse:function(e,t){function i(e){var t=d.length;return d[t]=e,'"'+t+'"'}function c(e){var i=e.charAt(0);e=e.slice(1);var n="this."+r(e,t)+e;return v[e]||(h+=n+";",v[e]=1),i+n}function f(e,t){return d[t]}var p=n(e);if(!p.length)return s("return "+e,e);p=a.unique(p);var h="",v=a.hash(),d=[],m=new RegExp("[^$\\w\\.]("+p.map(o).join("|")+")[$\\w\\.]*\\b","g"),g=("return "+e).replace(l,i).replace(m,c).replace(u,f);return g=h+g,s(g,e)}}}),e.register("vue/src/text-parser.js",function(e){function t(e){if(!n.test(e))return null;for(var t,i,r=[];t=e.match(n);)i=t.index,i>0&&r.push(e.slice(0,i)),r.push({key:t[1].trim()}),e=e.slice(i+t[0].length);return e.length&&r.push(e),r}function i(e){var i=t(e);if(!i)return null;for(var n,r=[],s=0,o=i.length;o>s;s++)n=i[s],r.push(n.key||'"'+n+'"');return r.join("+")}var n=/\{\{(.+?)\}\}/;e.parse=t,e.parseAttr=i}),e.register("vue/src/deps-parser.js",function(e,t,i){function n(e){if(!e.isFn){s.log("\n- "+e.key);var t=s.hash();o.on("get",function(i){var n=t[i.key];n&&n.compiler===i.compiler||(t[i.key]=i,s.log(" - "+i.key),e.deps.push(i),i.subs.push(e))}),e.value.$get(),o.off("get")}}var r=t("./emitter"),s=t("./utils"),o=new r;i.exports={observer:o,parse:function(e){s.log("\nparsing dependencies..."),o.active=!0,e.forEach(n),o.active=!1,s.log("\ndone.")}}}),e.register("vue/src/filters.js",function(e,t,i){var n={enter:13,tab:9,"delete":46,up:38,left:37,right:39,down:40,esc:27};i.exports={capitalize:function(e){return e||0===e?(e=e.toString(),e.charAt(0).toUpperCase()+e.slice(1)):""},uppercase:function(e){return e||0===e?e.toString().toUpperCase():""},lowercase:function(e){return e||0===e?e.toString().toLowerCase():""},currency:function(e,t){if(!e&&0!==e)return"";var i=t&&t[0]||"$",n=Math.floor(e).toString(),r=n.length%3,s=r>0?n.slice(0,r)+(n.length>3?",":""):"",o="."+e.toFixed(2).slice(-2);return i+s+n.slice(r).replace(/(\d{3})(?=\d)/g,"$1,")+o},pluralize:function(e,t){return t.length>1?t[e-1]||t[t.length-1]:t[e-1]||t[0]+"s"},key:function(e,t){if(e){var i=n[t[0]];return i||(i=parseInt(t[0],10)),function(t){t.keyCode===i&&e.call(this,t)}}}}}),e.register("vue/src/transition.js",function(e,t,i){function n(e,t,i){if(!o)return i(),u.CSS_SKIP;var n=e.classList,r=e.vue_trans_cb;if(t>0){r&&(e.removeEventListener(o,r),e.vue_trans_cb=null),n.add(c),i();{e.clientHeight}return n.remove(c),u.CSS_E}n.add(l);var s=function(t){t.target===e&&(e.removeEventListener(o,s),e.vue_trans_cb=null,i(),n.remove(l))};return e.addEventListener(o,s),e.vue_trans_cb=s,u.CSS_L}function r(e,t,i,n,r){var s=r.getOption("transitions",n);if(!s)return i(),u.JS_SKIP;var o=s.enter,a=s.leave;return t>0?"function"!=typeof o?(i(),u.JS_SKIP_E):(o(e,i),u.JS_E):"function"!=typeof a?(i(),u.JS_SKIP_L):(a(e,i),u.JS_L)}function s(){var e=document.createElement("vue"),t="transitionend",i={transition:t,mozTransition:t,webkitTransition:"webkitTransitionEnd"};for(var n in i)if(void 0!==e.style[n])return i[n]}var o=s(),a=t("./config"),c=a.enterClass,l=a.leaveClass,u={CSS_E:1,CSS_L:2,JS_E:3,JS_L:4,CSS_SKIP:-1,JS_SKIP:-2,JS_SKIP_E:-3,JS_SKIP_L:-4,INIT:-5,SKIP:-6},f=i.exports=function(e,t,i,s){var o=function(){i(),s.execHook(t>0?"enteredView":"leftView")};if(s.init)return o(),u.INIT;var a=e.vue_trans;return a?r(e,t,o,a,s):""===a?n(e,t,o):(o(),u.SKIP)};f.codes=u}),e.register("vue/src/batcher.js",function(e,t){function i(){for(var e=0;et;t++)this.buildItem(e.args[t],n+t)},pop:function(){var e=this.vms.pop();e&&e.$destroy()},unshift:function(e){var t,i=e.args.length;for(t=0;i>t;t++)this.buildItem(e.args[t],t)},shift:function(){var e=this.vms.shift();e&&e.$destroy()},splice:function(e){var t,i,n=e.args[0],r=e.args[1],s=e.args.length-2,o=this.vms.splice(n,r);for(t=0,i=o.length;i>t;t++)o[t].$destroy();for(t=0;s>t;t++)this.buildItem(e.args[t+2],n+t)},sort:function(){var e,t,i,n,r=this.vms,s=this.collection,o=s.length,a=new Array(o);for(e=0;o>e;e++)for(n=s[e],t=0;o>t;t++)if(i=r[t],i.$data===n){a[e]=i;break}for(e=0;o>e;e++)this.container.insertBefore(a[e].$el,this.ref);this.vms=a},reverse:function(){var e=this.vms;e.reverse();for(var t=0,i=e.length;i>t;t++)this.container.insertBefore(e[t].$el,this.ref)}};i.exports={bind:function(){var e=this,i=e.el,r=e.container=i.parentNode;n=n||t("../viewmodel"),e.Ctor=e.Ctor||n,e.hasTrans=i.hasAttribute(a.attrs.transition),e.ref=document.createComment(a.prefix+"-repeat-"+e.key),r.insertBefore(e.ref,i),r.removeChild(i),e.initiated=!1,e.collection=null,e.vms=null,e.mutationListener=function(t,i,n){var r=n.method;l[r].call(e,n),"push"!==r&&"pop"!==r&&e.updateIndexes()}},update:function(e){if(this.unbind(!0),this.container.vue_dHandlers=o.hash(),this.initiated||e&&e.length||(this.buildItem(),this.initiated=!0),e=this.collection=e||[],this.vms=[],e.__observer__||r.watchArray(e,null,new s),e.__observer__.on("mutate",this.mutationListener),e.length)for(var t=0,i=e.length;i>t;t++)this.buildItem(e[t],t)},buildItem:function(e,t){var i,n,r=this.el.cloneNode(!0),s=this.container;e&&(i=this.vms.length>t?this.vms[t].$el:this.ref,i.parentNode||(i=i.vue_ref),r.vue_trans=o.attr(r,"transition",!0),c(r,1,function(){s.insertBefore(r,i)},this.compiler)),n=new this.Ctor({el:r,data:e,compilerOptions:{repeat:!0,repeatIndex:t,repeatCollection:this.collection,parentCompiler:this.compiler,delegator:s}}),e?this.vms.splice(t,0,n):n.$destroy()},updateIndexes:function(){for(var e=this.vms.length;e--;)this.vms[e].$data.$index=e},unbind:function(){if(this.collection){this.collection.__observer__.off("mutate",this.mutationListener);for(var e=this.vms.length;e--;)this.vms[e].$destroy()}var t=this.container,i=t.vue_dHandlers;for(var n in i)t.removeEventListener(i[n].event,i[n]);t.vue_dHandlers=null}}}),e.register("vue/src/directives/on.js",function(e,t,i){function n(e,t,i){for(;e&&e!==t;){if(e[i])return e;e=e.parentNode}}var r=t("../utils");i.exports={isFn:!0,bind:function(){this.compiler.repeat&&(this.el[this.expression]=!0,this.el.vue_viewmodel=this.vm)},update:function(e){if(this.unbind(!0),"function"!=typeof e)return r.warn('Directive "on" expects a function value.');var t=this.compiler,i=this.arg,s=this.binding.isExp,o=this.binding.compiler.vm;if(t.repeat&&!this.vm.constructor.super&&"blur"!==i&&"focus"!==i){var a=t.delegator,c=this.expression,l=a.vue_dHandlers[c];if(l)return;l=a.vue_dHandlers[c]=function(t){var i=n(t.target,a,c);i&&(t.el=i,t.targetVM=i.vue_viewmodel,e.call(s?t.targetVM:o,t))},l.event=i,a.addEventListener(i,l)}else{var u=this.vm;this.handler=function(t){t.el=t.currentTarget,t.targetVM=u,e.call(o,t)},this.el.addEventListener(i,this.handler)}},unbind:function(e){this.el.removeEventListener(this.arg,this.handler),this.handler=null,e||(this.el.vue_viewmodel=null)}}}),e.register("vue/src/directives/model.js",function(e,t,i){var n=t("../utils"),r=navigator.userAgent.indexOf("MSIE 9.0")>0;i.exports={bind:function(){var e=this,t=e.el,i=t.type,s=t.tagName;e.lock=!1,e.event=e.compiler.options.lazy||"SELECT"===s||"checkbox"===i||"radio"===i?"change":"input";var o=e.attr="checkbox"===i?"checked":"INPUT"===s||"SELECT"===s||"TEXTAREA"===s?"value":"innerHTML";if(e.filters){var a=!1;this.cLock=function(){a=!0},this.cUnlock=function(){a=!1},t.addEventListener("compositionstart",this.cLock),t.addEventListener("compositionend",this.cUnlock)}e.set=e.filters?function(){if(!a){var i;try{i=t.selectionStart}catch(r){}e.vm.$set(e.key,t[o]),n.nextTick(function(){void 0!==i&&t.setSelectionRange(i,i)})}}:function(){e.lock=!0,e.vm.$set(e.key,t[o]),n.nextTick(function(){e.lock=!1})},t.addEventListener(e.event,e.set),r&&(e.onCut=function(){n.nextTick(function(){e.set()})},e.onDel=function(t){(46===t.keyCode||8===t.keyCode)&&e.set()},t.addEventListener("cut",e.onCut),t.addEventListener("keyup",e.onDel))},update:function(e){if(!this.lock){var t=this,i=t.el;if("SELECT"===i.tagName){for(var r=i.options,s=r.length,o=-1;s--;)if(r[s].value==e){o=s;break}r.selectedIndex=o}else"radio"===i.type?i.checked=e==i.value:"checkbox"===i.type?i.checked=!!e:i[t.attr]=n.toText(e)}},unbind:function(){var e=this.el;e.removeEventListener(this.event,this.set),this.filters&&(e.removeEventListener("compositionstart",this.cLock),e.removeEventListener("compositionend",this.cUnlock)),r&&(e.removeEventListener("cut",this.onCut),e.removeEventListener("keyup",this.onDel))}}}),e.register("vue/src/directives/with.js",function(e,t,i){var n;i.exports={bind:function(){this.isSimple&&this.build()},update:function(e){this.component?this.component.$data=e:this.build(e)},build:function(e){n=n||t("../viewmodel");var i=this.Ctor||n;this.component=new i({el:this.el,data:e,compilerOptions:{parentCompiler:this.compiler}})},unbind:function(){this.component.$destroy()}}}),e.alias("component-emitter/index.js","vue/deps/emitter/index.js"),e.alias("component-emitter/index.js","emitter/index.js"),e.alias("vue/src/main.js","vue/index.js"),"object"==typeof exports?module.exports=e("vue"):"function"==typeof define&&define.amd?define(function(){return e("vue")}):this.Vue=e("vue")}(); \ No newline at end of file diff --git a/examples/todomvc/index.html b/examples/todomvc/index.html index 83fbbcfdbe7..2a246f707a5 100644 --- a/examples/todomvc/index.html +++ b/examples/todomvc/index.html @@ -28,7 +28,7 @@

todos

  • - - + + todos v-model="title" v-todo-focus="this == editedTodo" v-on=" - blur : doneEdit, - keyup : doneEdit | key enter, - keyup : cancelEdit | key esc + blur : doneEdit(this), + keyup : doneEdit(this) | key enter, + keyup : cancelEdit(this) | key esc " >
  • diff --git a/examples/todomvc/js/app.js b/examples/todomvc/js/app.js index f9274cb0546..e64f238cbc8 100644 --- a/examples/todomvc/js/app.js +++ b/examples/todomvc/js/app.js @@ -1,31 +1,33 @@ -var filters = { - all: function () { return true }, - active: function (completed) { return !completed }, - completed: function (completed) { return completed } -} - -Vue.directive('todo-focus', function (value) { - var el = this.el - if (value) { - setTimeout(function () { el.focus() }, 0) - } -}) - var app = new Vue({ el: '#todoapp', + directives: { + 'todo-focus': function (value) { + if (value) { + var el = this.el + setTimeout(function () { el.focus() }, 0) + } + } + }, + created: function () { + this.filters = { + all: function (todo) { todo.completed; return true }, + active: function (todo) { return !todo.completed }, + completed: function (todo) { return todo.completed } + } this.updateFilter() + window.addEventListener('hashchange', function () { + app.updateFilter() + }) this.remaining = this.todos.filter(function (todo) { return !todo.completed }).length }, data: { - todos: todoStorage.fetch(), - allDone: { $get: function () { return this.remaining === 0 @@ -41,10 +43,11 @@ var app = new Vue({ }, methods: { + updateFilter: function () { var filter = location.hash.slice(2) - this.filter = (filter in filters) ? filter : 'all' - this.todoFilter = filters[this.filter] + this.filter = (filter in this.filters) ? filter : 'all' + this.filterTodo = this.filters[this.filter] }, addTodo: function () { @@ -57,35 +60,35 @@ var app = new Vue({ } }, - removeTodo: function (e) { - this.todos.remove(e.targetVM.$data) - this.remaining -= e.targetVM.completed ? 0 : 1 + removeTodo: function (todo) { + this.todos.remove(todo.$data) + this.remaining -= todo.completed ? 0 : 1 todoStorage.save() }, - toggleTodo: function (e) { - this.remaining += e.targetVM.completed ? -1 : 1 + toggleTodo: function (todo) { + this.remaining += todo.completed ? -1 : 1 todoStorage.save() }, - editTodo: function (e) { - this.beforeEditCache = e.targetVM.title - this.editedTodo = e.targetVM + editTodo: function (todo) { + this.beforeEditCache = todo.title + this.editedTodo = todo }, - doneEdit: function (e) { + doneEdit: function (todo) { if (!this.editedTodo) return this.editedTodo = null - e.targetVM.title = e.targetVM.title.trim() - if (!e.targetVM.title) this.removeTodo(e) + todo.title = todo.title.trim() + if (!todo.title) this.removeTodo(todo) todoStorage.save() }, - cancelEdit: function (e) { + cancelEdit: function (todo) { this.editedTodo = null - e.targetVM.title = this.beforeEditCache + todo.title = this.beforeEditCache }, - + removeCompleted: function () { this.todos.remove(function (todo) { return todo.completed @@ -93,8 +96,4 @@ var app = new Vue({ todoStorage.save() } } -}) - -window.addEventListener('hashchange', function () { - app.updateFilter() }) \ No newline at end of file diff --git a/package.json b/package.json index b5aaeca9b79..70af1a53679 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue", - "version": "0.7.5", + "version": "0.7.6", "author": { "name": "Evan You", "email": "yyx990803@gmail.com",