vue-router
Advanced tools
Comparing version 0.7.3 to 0.7.4
/*! | ||
* vue-router v0.7.3 | ||
* vue-router v0.7.4 | ||
* (c) 2015 Evan You | ||
* Released under the MIT License. | ||
*/ | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueRouter=e():t.VueRouter=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t,e){var n=e.component;A.util.isPlainObject(n)&&(n=e.component=A.extend(n)),"function"!=typeof n&&(e.component=null,a.warn('invalid component for route "'+t+'".'))}var o=n(1)["default"],i=n(2)["default"];e.__esModule=!0;var a=n(3),s=i(a),u=n(7),c=i(u),h=n(4),l=i(h),f=n(8),p=i(f),d=n(18),v=i(d),g=n(28),y=i(g),m=n(29),_=i(m),w=n(30),b=i(w),x=n(31),C=i(x),R=n(32),P=i(R),E={"abstract":b["default"],hash:C["default"],html5:P["default"]},A=void 0,$=function(){function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.hashbang,r=void 0===n?!0:n,i=e["abstract"],a=void 0===i?!1:i,s=e.history,u=void 0===s?!1:s,c=e.saveScrollPosition,h=void 0===c?!1:c,f=e.transitionOnLoad,p=void 0===f?!1:f,d=e.suppressTransitionError,v=void 0===d?!1:d,g=e.root,y=void 0===g?null:g,m=e.linkActiveClass,_=void 0===m?"v-link-active":m;if(o(this,t),!t.installed)throw new Error("Please install the Router with Vue.use() before creating an instance.");this.app=null,this._views=[],this._children=[],this._recognizer=new l["default"],this._guardRecognizer=new l["default"],this._started=!1,this._startCb=null,this._currentRoute={},this._currentTransition=null,this._previousTransition=null,this._notFoundHandler=null,this._beforeEachHooks=[],this._afterEachHooks=[],this._hasPushState="undefined"!=typeof window&&window.history&&window.history.pushState,this._rendered=!1,this._transitionOnLoad=p,this._abstract=a,this._hashbang=r,this._history=this._hasPushState&&u,this._saveScrollPosition=h,this._linkActiveClass=_,this._suppress=v;var w=A.util.inBrowser;this.mode=!w||this._abstract?"abstract":this._history?"html5":"hash";var b=E[this.mode],x=this;this.history=new b({root:y,hashbang:this._hashbang,onChange:function(t,e,n){x._match(t,e,n)}})}return t.prototype.map=function(t){for(var e in t)this.on(e,t[e])},t.prototype.on=function(t,e){"*"===t?this._notFound(e):this._addRoute(t,e,[])},t.prototype.redirect=function(t){for(var e in t)this._addRedirect(e,t[e])},t.prototype.alias=function(t){for(var e in t)this._addAlias(e,t[e])},t.prototype.beforeEach=function(t){this._beforeEachHooks.push(t)},t.prototype.afterEach=function(t){this._afterEachHooks.push(t)},t.prototype.go=function(t){var e=!1,n=!1;A.util.isObject(t)&&(e=t.replace,n=t.append),t=this._stringifyPath(t),t&&this.history.go(t,e,n)},t.prototype.replace=function(t){this.go({path:t,replace:!0})},t.prototype.start=function(t,e,n){if(this._started)return void a.warn("already started.");if(this._started=!0,this._startCb=n,!this.app){if(!t||!e)throw new Error("Must start vue-router with a component and a root container.");this._appContainer=e,this._appConstructor="function"==typeof t?t:A.extend(t)}this.history.start()},t.prototype.stop=function(){this.history.stop(),this._started=!1},t.prototype._addRoute=function(t,e,n){if(r(t,e),e.path=t,e.fullPath=(n.reduce(function(t,e){return t+e.path},"")+t).replace("//","/"),n.push({path:t,handler:e}),this._recognizer.add(n,{as:e.name}),e.subRoutes)for(var o in e.subRoutes)this._addRoute(o,e.subRoutes[o],n.slice())},t.prototype._notFound=function(t){r("*",t),this._notFoundHandler=[{handler:t}]},t.prototype._addRedirect=function(t,e){this._addGuard(t,e,this.replace)},t.prototype._addAlias=function(t,e){this._addGuard(t,e,this._match)},t.prototype._addGuard=function(t,e,n){var r=this;this._guardRecognizer.add([{path:t,handler:function(t,o){var i=a.mapParams(e,t.params,o);n.call(r,i)}}])},t.prototype._checkGuard=function(t){var e=this._guardRecognizer.recognize(t);return e?(e[0].handler(e[0],e.queryParams),!0):void 0},t.prototype._match=function(t,e,n){var r=this;if(!this._checkGuard(t)){var o=this._currentRoute,i=this._currentTransition;if(i){if(i.to.path===t)return;if(o.path===t)return i.aborted=!0,void(this._currentTransition=this._prevTransition);i.aborted=!0}var a=new p["default"](t,this),s=new v["default"](this,a,o);this._prevTransition=i,this._currentTransition=s,this.app||(this.app=new this._appConstructor({el:this._appContainer,_meta:{$route:a}}));var u=this._beforeEachHooks,c=function(){s.start(function(){r._postTransition(a,e,n)})};u.length?s.runQueue(u,function(t,e,n){s===r._currentTransition&&s.callHook(t,null,n,{expectBoolean:!0})},c):c(),!this._rendered&&this._startCb&&this._startCb.call(null),this._rendered=!0}},t.prototype._onTransitionValidated=function(t){var e=this._currentRoute=t.to;this.app.$route!==e&&(this.app.$route=e,this._children.forEach(function(t){t.$route=e})),this._afterEachHooks.length&&this._afterEachHooks.forEach(function(e){return e.call(null,{to:t.to,from:t.from})}),this._currentTransition.done=!0},t.prototype._postTransition=function(t,e,n){var r=e&&e.pos;r&&this._saveScrollPosition?A.nextTick(function(){window.scrollTo(r.x,r.y)}):n&&A.nextTick(function(){var t=document.getElementById(n.slice(1));t&&window.scrollTo(window.scrollX,t.offsetTop)})},t.prototype._stringifyPath=function(t){if(t&&"object"==typeof t){if(t.name){var e=t.params||{};return t.query&&(e.queryParams=t.query),this._recognizer.generate(t.name,e)}return t.path?t.path:""}return t?t+"":""},t}();$.installed=!1,$.install=function(t){return $.installed?void a.warn("already installed."):(A=t,c["default"](A),y["default"](A),_["default"](A),s["default"].Vue=A,void($.installed=!0))},"undefined"!=typeof window&&window.Vue&&window.Vue.use($),e["default"]=$,t.exports=e["default"]},function(t,e){"use strict";e["default"]=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.__esModule=!0},function(t,e){"use strict";e["default"]=function(t){return t&&t.__esModule?t:{"default":t}},e.__esModule=!0},function(t,e,n){"use strict";function r(t){window.console&&(console.warn("[vue-router] "+t),(!p.Vue||p.Vue.config.debug)&&console.warn(new Error("warning stack trace:").stack))}function o(t,e,n){var r=t.match(/(\?.*)$/);if(r&&(r=r[1],t=t.slice(0,-r.length)),"?"===e.charAt(0))return t+e;var o=t.split("/");n&&o[o.length-1]||o.pop();for(var i=e.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var s=i[a];"."!==s&&(".."===s?o.pop():o.push(s))}return""!==o[0]&&o.unshift(""),o.join("/")}function i(t){return t&&"function"==typeof t.then}function a(t,e){var n=t&&(t.$options||t.options);return n&&n.route&&n.route[e]}function s(t,e){d?d.$options.components._=t.component:d={resolve:p.Vue.prototype._resolveComponent,$options:{components:{_:t.component}}},d.resolve("_",function(n){t.component=n,e(n)})}function u(t,e,n){return void 0===e&&(e={}),t=t.replace(/:([^\/]+)/g,function(n,o){var i=e[o];return i||r('param "'+o+'" not found when generating path for "'+t+'" with params '+JSON.stringify(e)),i||""}),n&&(t+=f(n)),t}var c=n(2)["default"];e.__esModule=!0,e.warn=r,e.resolvePath=o,e.isPromise=i,e.getRouteConfig=a,e.resolveAsyncComponent=s,e.mapParams=u;var h=n(4),l=c(h),f=l["default"].prototype.generateQueryString,p={};e["default"]=p;var d=void 0},function(t,e,n){var r;(function(t){(function(){"use strict";function o(t,e,n){this.path=t,this.matcher=e,this.delegate=n}function i(t){this.routes={},this.children={},this.target=t}function a(t,e,n){return function(r,i){var s=t+r;return i?void i(a(s,e,n)):new o(t+r,e,n)}}function s(t,e,n){for(var r=0,o=0,i=t.length;i>o;o++)r+=t[o].path.length;e=e.substr(r);var a={path:e,handler:n};t.push(a)}function u(t,e,n,r){var o=e.routes;for(var i in o)if(o.hasOwnProperty(i)){var a=t.slice();s(a,i,o[i]),e.children[i]?u(a,e.children[i],n,r):n.call(r,a)}}function c(t){return"[object Array]"===Object.prototype.toString.call(t)}function h(t){this.string=t}function l(t){this.name=t}function f(t){this.name=t}function p(){}function d(t,e,n){"/"===t.charAt(0)&&(t=t.substr(1));var r=t.split("/"),o=[];n.val="";for(var i=0,a=r.length;a>i;i++){var s,u=r[i];(s=u.match(/^:([^\/]+)$/))?(o.push(new l(s[1])),e.push(s[1]),n.val+="3"):(s=u.match(/^\*([^\/]+)$/))?(o.push(new f(s[1])),n.val+="2",e.push(s[1])):""===u?(o.push(new p),n.val+="1"):(o.push(new h(u)),n.val+="4")}return n.val=+n.val,o}function v(t){this.charSpec=t,this.nextStates=[]}function g(t){return t.sort(function(t,e){return e.specificity.val-t.specificity.val})}function y(t,e){for(var n=[],r=0,o=t.length;o>r;r++){var i=t[r];n=n.concat(i.match(e))}return n}function m(t){this.queryParams=t||{}}function _(t,e,n){for(var r=t.handlers,o=t.regex,i=e.match(o),a=1,s=new m(n),u=0,c=r.length;c>u;u++){for(var h=r[u],l=h.names,f={},p=0,d=l.length;d>p;p++)f[l[p]]=i[a++];s.push({handler:h.handler,params:f,isDynamic:!!l.length})}return s}function w(t,e){return e.eachChar(function(e){t=t.put(e)}),t}function b(t){return t=t.replace(/\+/gm,"%20"),decodeURIComponent(t)}o.prototype={to:function(t,e){var n=this.delegate;if(n&&n.willAddRoute&&(t=n.willAddRoute(this.matcher.target,t)),this.matcher.add(this.path,t),e){if(0===e.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,t,e,this.delegate)}return this}},i.prototype={add:function(t,e){this.routes[t]=e},addChild:function(t,e,n,r){var o=new i(e);this.children[t]=o;var s=a(t,o,r);r&&r.contextEntered&&r.contextEntered(e,s),n(s)}};var x=function(t,e){var n=new i;t(a("",n,this.delegate)),u([],n,function(t){e?e(this,t):this.add(t)},this)},C=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],R=new RegExp("(\\"+C.join("|\\")+")","g");h.prototype={eachChar:function(t){for(var e,n=this.string,r=0,o=n.length;o>r;r++)e=n.charAt(r),t({validChars:e})},regex:function(){return this.string.replace(R,"\\$1")},generate:function(){return this.string}},l.prototype={eachChar:function(t){t({invalidChars:"/",repeat:!0})},regex:function(){return"([^/]+)"},generate:function(t){return t[this.name]}},f.prototype={eachChar:function(t){t({invalidChars:"",repeat:!0})},regex:function(){return"(.+)"},generate:function(t){return t[this.name]}},p.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}},v.prototype={get:function(t){for(var e=this.nextStates,n=0,r=e.length;r>n;n++){var o=e[n],i=o.charSpec.validChars===t.validChars;if(i=i&&o.charSpec.invalidChars===t.invalidChars)return o}},put:function(t){var e;return(e=this.get(t))?e:(e=new v(t),this.nextStates.push(e),t.repeat&&e.nextStates.push(e),e)},match:function(t){for(var e,n,r,o=this.nextStates,i=[],a=0,s=o.length;s>a;a++)e=o[a],n=e.charSpec,"undefined"!=typeof(r=n.validChars)?-1!==r.indexOf(t)&&i.push(e):"undefined"!=typeof(r=n.invalidChars)&&-1===r.indexOf(t)&&i.push(e);return i}};var P=Object.create||function(t){function e(){}return e.prototype=t,new e};m.prototype=P({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});var E=function(){this.rootState=new v,this.names={}};E.prototype={add:function(t,e){for(var n,r=this.rootState,o="^",i={},a=[],s=[],u=!0,c=0,h=t.length;h>c;c++){var l=t[c],f=[],v=d(l.path,f,i);s=s.concat(v);for(var g=0,y=v.length;y>g;g++){var m=v[g];m instanceof p||(u=!1,r=r.put({validChars:"/"}),o+="/",r=w(r,m),o+=m.regex())}var _={handler:l.handler,names:f};a.push(_)}u&&(r=r.put({validChars:"/"}),o+="/"),r.handlers=a,r.regex=new RegExp(o+"$"),r.specificity=i,(n=e&&e.as)&&(this.names[n]={segments:s,handlers:a})},handlersFor:function(t){var e=this.names[t],n=[];if(!e)throw new Error("There is no route named "+t);for(var r=0,o=e.handlers.length;o>r;r++)n.push(e.handlers[r]);return n},hasRoute:function(t){return!!this.names[t]},generate:function(t,e){var n=this.names[t],r="";if(!n)throw new Error("There is no route named "+t);for(var o=n.segments,i=0,a=o.length;a>i;i++){var s=o[i];s instanceof p||(r+="/",r+=s.generate(e))}return"/"!==r.charAt(0)&&(r="/"+r),e&&e.queryParams&&(r+=this.generateQueryString(e.queryParams,n.handlers)),r},generateQueryString:function(t,e){var n=[],r=[];for(var o in t)t.hasOwnProperty(o)&&r.push(o);r.sort();for(var i=0,a=r.length;a>i;i++){o=r[i];var s=t[o];if(null!=s){var u=encodeURIComponent(o);if(c(s))for(var h=0,l=s.length;l>h;h++){var f=o+"[]="+encodeURIComponent(s[h]);n.push(f)}else u+="="+encodeURIComponent(s),n.push(u)}}return 0===n.length?"":"?"+n.join("&")},parseQueryString:function(t){for(var e=t.split("&"),n={},r=0;r<e.length;r++){var o,i=e[r].split("="),a=b(i[0]),s=a.length,u=!1;1===i.length?o="true":(s>2&&"[]"===a.slice(s-2)&&(u=!0,a=a.slice(0,s-2),n[a]||(n[a]=[])),o=i[1]?b(i[1]):""),u?n[a].push(o):n[a]=o}return n},recognize:function(t){var e,n,r,o,i=[this.rootState],a={},s=!1;if(o=t.indexOf("?"),-1!==o){var u=t.substr(o+1,t.length);t=t.substr(0,o),a=this.parseQueryString(u)}for(t=decodeURI(t),"/"!==t.charAt(0)&&(t="/"+t),e=t.length,e>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),s=!0),n=0,r=t.length;r>n&&(i=y(i,t.charAt(n)),i.length);n++);var c=[];for(n=0,r=i.length;r>n;n++)i[n].handlers&&c.push(i[n]);i=g(c);var h=c[0];return h&&h.handlers?(s&&"(.+)$"===h.regex.source.slice(-5)&&(t+="/"),_(h,t,a)):void 0}},E.prototype.map=x,E.VERSION="0.1.9";var A=E;n(6).amd?(r=function(){return A}.call(e,n,e,t),!(void 0!==r&&(t.exports=r))):"undefined"!=typeof t&&t.exports?t.exports=A:"undefined"!=typeof this&&(this.RouteRecognizer=A)}).call(this)}).call(e,n(5)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){t.exports=function(){throw new Error("define cannot be used indirect")}},function(t,e){"use strict";e.__esModule=!0,e["default"]=function(t){var e=t.util,n=t.prototype._init;t.prototype._init=function(t){var r=t._parent||t.parent||this,o=r.$route;o&&(o.router._children.push(this),this.$route||(this._defineMeta?this._defineMeta("$route",o):e.defineReactive(this,"$route",o))),n.call(this,t)};var r=t.prototype._destroy;t.prototype._destroy=function(){if(!this._isBeingDestroyed){var t=this.$root.$route;t&&t.router._children.$remove(this),r.apply(this,arguments)}};var o=t.config.optionMergeStrategies,i=/^(data|activate|deactivate)$/;o&&(o.route=function(t,n){if(!n)return t;if(!t)return n;var r={};e.extend(r,t);for(var o in n){var a=r[o],s=n[o];a&&i.test(o)?r[o]=(e.isArray(a)?a:[a]).concat(s):r[o]=s}return r})},t.exports=e["default"]},function(t,e,n){"use strict";var r=n(1)["default"],o=n(9)["default"];e.__esModule=!0;var i=/^(component|subRoutes)$/,a=function s(t,e){var n=this;r(this,s);var a=e._recognizer.recognize(t);a&&([].forEach.call(a,function(t){for(var e in t.handler)i.test(e)||(n[e]=t.handler[e])}),this.query=a.queryParams,this.params=[].reduce.call(a,function(t,e){if(e.params)for(var n in e.params)t[n]=e.params[n];return t},{})),this.path=t,this.router=e,this.matched=a||e._notFoundHandler,o(this)};e["default"]=a,t.exports=e["default"]},function(t,e,n){t.exports={"default":n(10),__esModule:!0}},function(t,e,n){n(11),t.exports=n(16).Object.freeze},function(t,e,n){var r=n(12);n(13)("freeze",function(t){return function(e){return t&&r(e)?t(e):e}})},function(t,e){t.exports=function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}},function(t,e,n){t.exports=function(t,e){var r=n(14),o=(n(16).Object||{})[t]||Object[t],i={};i[t]=e(o),r(r.S+r.F*n(17)(function(){o(1)}),"Object",i)}},function(t,e,n){var r=n(15),o=n(16),i="prototype",a=function(t,e){return function(){return t.apply(e,arguments)}},s=function(t,e,n){var u,c,h,l,f=t&s.G,p=t&s.P,d=f?r:t&s.S?r[e]:(r[e]||{})[i],v=f?o:o[e]||(o[e]={});f&&(n=e);for(u in n)c=!(t&s.F)&&d&&u in d,c&&u in v||(h=c?d[u]:n[u],f&&"function"!=typeof d[u]?l=n[u]:t&s.B&&c?l=a(h,r):t&s.W&&d[u]==h?!function(t){l=function(e){return this instanceof t?new t(e):t(e)},l[i]=t[i]}(h):l=p&&"function"==typeof h?a(Function.call,h):h,v[u]=l,p&&((v[i]||(v[i]={}))[u]=h))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,t.exports=s},function(t,e){var n="undefined",r=t.exports=typeof window!=n&&window.Math==Math?window:typeof self!=n&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,e){var n=t.exports={};"number"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e,n){"use strict";function r(t){return"[object Object]"===Object.prototype.toString.call(t)}var o=n(1)["default"];e.__esModule=!0;var i=n(3),a=n(19),s=function(){function t(e,n,r){o(this,t),this.router=e,this.to=n,this.from=r,this.next=null,this.aborted=!1,this.done=!1,this.deactivateQueue=e._views;var i=n.matched?Array.prototype.slice.call(n.matched):[];this.activateQueue=i.map(function(t){return t.handler})}return t.prototype.abort=function(){if(!this.aborted){this.aborted=!0;var t=!this.from.path&&"/"===this.to.path;t||this.router.replace(this.from.path||"/")}},t.prototype.redirect=function(t){this.aborted||(this.aborted=!0,"string"==typeof t?t=i.mapParams(t,this.to.params,this.to.query):(t.params=this.to.params,t.query=this.to.query),this.router.replace(t))},t.prototype.start=function(t){var e=this,n=this.deactivateQueue,r=this.activateQueue,o=n.slice().reverse(),i=void 0,s=void 0;for(s=0;s<o.length&&a.canReuse(o[s],r[s],e);s++);s>0&&(i=o.slice(0,s),n=o.slice(s).reverse(),r=r.slice(s)),e.runQueue(n,a.canDeactivate,function(){e.runQueue(r,a.canActivate,function(){e.runQueue(n,a.deactivate,function(){if(e.router._onTransitionValidated(e),i&&i.forEach(function(t){a.reuse(t,e)}),n.length){var r=n[n.length-1],o=i?i.length:0;a.activate(r,e,o,t)}else t()})})})},t.prototype.runQueue=function(t,e,n){function r(i){i>=t.length?n():e(t[i],o,function(){r(i+1)})}var o=this;r(0)},t.prototype.callHook=function(t,e,n){var o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],a=o.expectBoolean,s=void 0===a?!1:a,u=o.expectData,c=void 0===u?!1:u,h=o.cleanup,l=this,f=!1,p=function(){h&&h(),l.abort()},d=function(t){if(h?v():p(),t&&!l.router._suppress)throw i.warn("Uncaught error during transition: "),t instanceof Error?t:new Error(t)},v=function(t){return f?void i.warn("transition.next() should be called only once."):(f=!0,l.aborted?void(h&&h()):void(n&&n(t,d)))},g={to:l.to,from:l.from,abort:p,next:v,redirect:function(){l.redirect.apply(l,arguments)}},y=void 0;try{y=t.call(e,g)}catch(m){return d(m)}var _=i.isPromise(y);s?"boolean"==typeof y?y?v():p():_?y.then(function(t){t?v():p()},d):t.length||v(y):_?y.then(v,d):(c&&r(y)||!t.length)&&v(y)},t.prototype.callHooks=function(t,e,n,r){var o=this;Array.isArray(t)?!function(){var i=[];i._needMerge=!0;var a=void 0;o.runQueue(t,function(t,n,a){o.aborted||o.callHook(t,e,function(t,e){t&&i.push(t),e=e,a()},r)},function(){n(i,a)})}():this.callHook(t,e,n,r)},t}();e["default"]=s,t.exports=e["default"]},function(t,e,n){"use strict";function r(t,e,n){var r=t.childVM;if(!r||!e)return!1;if(t.Component!==e.component)return!1;var o=p.getRouteConfig(r,"canReuse");return"boolean"==typeof o?o:o?o.call(r,{to:n.to,from:n.from}):!0}function o(t,e,n){var r=t.childVM,o=p.getRouteConfig(r,"canDeactivate");o?e.callHook(o,r,n,{expectBoolean:!0}):n()}function i(t,e,n){p.resolveAsyncComponent(t,function(t){if(!e.aborted){var r=p.getRouteConfig(t,"canActivate");r?e.callHook(r,null,n,{expectBoolean:!0}):n()}})}function a(t,e,n){var r=t.childVM,o=p.getRouteConfig(r,"deactivate");o?e.callHooks(o,r,n):n()}function s(t,e,n,r,o){var i=e.activateQueue[n];if(!i)return t._bound&&t.setComponent(null),void(r&&r());var a=t.Component=i.component,u=p.getRouteConfig(a,"activate"),h=p.getRouteConfig(a,"data"),l=p.getRouteConfig(a,"waitForData");t.depth=n,t.activated=!1;var f=void 0,d=!(!h||l);if(o=o&&t.childVM&&t.childVM.constructor===a)f=t.childVM,f.$loadingRouteData=d;else{if(t.unbuild(!0),t.keepAlive){var v=e.router._views,g=v.indexOf(t);g>0&&(e.router._views=v.slice(g),t.childVM&&(t.childVM._routerViews=v.slice(0,g)))}if(f=t.build({_meta:{$loadingRouteData:d}}),t.keepAlive){f.$loadingRouteData=d;var y=f._routerViews;y&&(e.router._views=y.concat(e.router._views),t.childView=y[y.length-1],f._routerViews=null)}}var m=function(){f.$destroy()},_=function(){if(o)return void(r&&r());var n=e.router;n._rendered||n._transitionOnLoad?t.transition(f):(t.setCurrent?t.setCurrent(f):t.childVM=f,f.$before(t.anchor,null,!1)),r&&r()},w=function(){t.activated=!0,t.childView&&s(t.childView,e,n+1,null,o||t.keepAlive),h&&l?c(f,e,h,_,m):(h&&c(f,e,h),_())};u?e.callHooks(u,f,w,{cleanup:m}):w()}function u(t,e){var n=t.childVM,r=p.getRouteConfig(n,"data");r&&c(n,e,r)}function c(t,e,n,r,o){t.$loadingRouteData=!0,e.callHooks(n,t,function(e,n){Array.isArray(e)&&e._needMerge&&(e=e.reduce(function(t,e){return h(e)&&l(e).forEach(function(n){t[n]=e[n]}),t},f(null)));var o=[];h(e)&&l(e).forEach(function(n){var r=e[n];p.isPromise(r)?o.push(r.then(function(e){t.$set(n,e)})):t.$set(n,r)}),o.length?o[0].constructor.all(o).then(function(e){t.$loadingRouteData=!1,r&&r()},n):(t.$loadingRouteData=!1,r&&r())},{cleanup:o,expectData:!0})}function h(t){return"[object Object]"===Object.prototype.toString.call(t)}var l=n(20)["default"],f=n(25)["default"];e.__esModule=!0,e.canReuse=r,e.canDeactivate=o,e.canActivate=i,e.deactivate=a,e.activate=s,e.reuse=u;var p=n(3)},function(t,e,n){t.exports={"default":n(21),__esModule:!0}},function(t,e,n){n(22),t.exports=n(16).Object.keys},function(t,e,n){var r=n(23);n(13)("keys",function(t){return function(e){return t(r(e))}})},function(t,e,n){var r=n(24);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){t.exports={"default":n(26),__esModule:!0}},function(t,e,n){var r=n(27);t.exports=function(t,e){return r.create(t,e)}},function(t,e){var n=Object;t.exports={create:n.create,getProto:n.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:n.getOwnPropertyDescriptor,setDesc:n.defineProperty,setDescs:n.defineProperties,getKeys:n.keys,getNames:n.getOwnPropertyNames,getSymbols:n.getOwnPropertySymbols,each:[].forEach}},function(t,e,n){"use strict";e.__esModule=!0;var r=n(3),o=n(19);e["default"]=function(t){var e=t.util,n=t.directive("_component")||t.internalDirectives.component,i=e.extend({},n);e.extend(i,{_isRouterView:!0,bind:function(){var t=this.vm.$route;if(!t)return void r.warn("<router-view> can only be used inside a router-enabled app.");this._isDynamicLiteral=!0,n.bind.call(this);var e=this.router=t.router;e._views.unshift(this);var i=e._views[1];i&&(i.childView=this);var a=t.router._currentTransition;if(!i&&a.done||i&&i.activated){var s=i?i.depth+1:0;o.activate(this,a,s)}},unbind:function(){this.router._views.$remove(this),n.unbind.call(this)}}),t.elementDirective("router-view",i)},t.exports=e["default"]},function(t,e,n){"use strict";e.__esModule=!0;var r=n(3),o=/\/$/,i=/[-.*+?^${}()|[\]\/\\]/g;e["default"]=function(t){function e(t){return t.protocol===location.protocol&&t.hostname===location.hostname&&t.port===location.port}var n=t.util;t.directive("link",{bind:function(){var t=this,o=this.vm;if(!o.$route)return void r.warn("v-link can only be used inside a router-enabled app.");var i=o.$route.router;this.handler=function(n){if(!(n.metaKey||n.ctrlKey||n.shiftKey||n.defaultPrevented||0!==n.button)){var r=t.target;if("A"===t.el.tagName||n.target===t.el)n.preventDefault(),null!=r&&i.go(r);else{for(var o=n.target;o&&"A"!==o.tagName&&o!==t.el;)o=o.parentNode;if(!o||"A"!==o.tagName||!o.href)return;e(o)&&(n.preventDefault(),i.go({path:o.pathname,replace:r&&r.replace,append:r&&r.append}))}}},this.el.addEventListener("click",this.handler),this.unwatch=o.$watch("$route.path",n.bind(this.updateClasses,this))},update:function(t){var e=this.vm.$route.router,r=void 0;this.target=t,n.isObject(t)&&(r=t.append,this.exact=t.exact,this.prevActiveClass=this.activeClass,this.activeClass=t.activeClass),t=this.path=e._stringifyPath(t),this.activeRE=t&&!this.exact?new RegExp("^"+t.replace(/\/$/,"").replace(i,"\\$&")+"(\\/|$)"):null,this.updateClasses(this.vm.$route.path);var o="/"===t.charAt(0),a=t&&("hash"===e.mode||o)?e.history.formatPath(t,r):t;"A"===this.el.tagName&&(a?this.el.href=a:this.el.removeAttribute("href"))},updateClasses:function(t){var e=this.el,r=this.path,i=this.vm.$route.router,a=this.activeClass||i._linkActiveClass;this.prevActiveClass!==a&&n.removeClass(e,this.prevActiveClass),this.exact?r===t||"/"!==r.charAt(r.length-1)&&r===t.replace(o,"")?n.addClass(e,a):n.removeClass(e,a):this.activeRE&&this.activeRE.test(t)?n.addClass(e,a):n.removeClass(e,a)},unbind:function(){this.el.removeEventListener("click",this.handler),this.unwatch&&this.unwatch()}})},t.exports=e["default"]},function(t,e,n){"use strict";var r=n(1)["default"];e.__esModule=!0;var o=n(3),i=function(){function t(e){var n=e.onChange;r(this,t),this.onChange=n,this.currentPath="/"}return t.prototype.start=function(){this.onChange("/")},t.prototype.stop=function(){},t.prototype.go=function(t,e,n){t=this.currentPath=this.formatPath(t,n),this.onChange(t)},t.prototype.formatPath=function(t,e){return"/"===t.charAt(0)?t:o.resolvePath(this.currentPath,t,e)},t}();e["default"]=i,t.exports=e["default"]},function(t,e,n){"use strict";var r=n(1)["default"];e.__esModule=!0;var o=n(3),i=function(){function t(e){var n=e.hashbang,o=e.onChange;r(this,t),this.hashbang=n,this.onChange=o}return t.prototype.start=function(){var t=this;this.listener=function(){var e=location.hash,n=e.replace(/^#!?/,"");"/"!==n.charAt(0)&&(n="/"+n);var r=t.formatPath(n);if(r!==e)return void location.replace(r);var o=decodeURI(e.replace(/^#!?/,"")+location.search);t.onChange(o)},window.addEventListener("hashchange",this.listener),this.listener()},t.prototype.stop=function(){window.removeEventListener("hashchange",this.listener)},t.prototype.go=function(t,e,n){t=this.formatPath(t,n),e?location.replace(t):location.hash=t},t.prototype.formatPath=function(t,e){var n="/"===t.charAt(0),r="#"+(this.hashbang?"!":"");return n?r+t:r+o.resolvePath(location.hash.replace(/^#!?/,""),t,e)},t}();e["default"]=i,t.exports=e["default"]},function(t,e,n){"use strict";var r=n(1)["default"];e.__esModule=!0;var o=n(3),i=/#.*$/,a=function(){function t(e){var n=e.root,o=e.onChange;r(this,t),n?("/"!==n.charAt(0)&&(n="/"+n),this.root=n.replace(/\/$/,""),this.rootRE=new RegExp("^\\"+this.root)):this.root=null,this.onChange=o;var i=document.querySelector("base");this.base=i&&i.getAttribute("href")}return t.prototype.start=function(){var t=this;this.listener=function(e){var n=decodeURI(location.pathname+location.search);t.root&&(n=n.replace(t.rootRE,"")),t.onChange(n,e&&e.state,location.hash)},window.addEventListener("popstate",this.listener),this.listener()},t.prototype.stop=function(){window.removeEventListener("popstate",this.listener)},t.prototype.go=function(t,e,n){var r=this.formatPath(t,n);e?history.replaceState({},"",r):(history.replaceState({pos:{x:window.pageXOffset,y:window.pageYOffset}},""),history.pushState({},"",r));var o=t.match(i),a=o&&o[0];t=r.replace(i,"").replace(this.rootRE,""),this.onChange(t,null,a)},t.prototype.formatPath=function(t,e){return"/"===t.charAt(0)?this.root?this.root+"/"+t.replace(/^\//,""):t:o.resolvePath(this.base||location.pathname,t,e)},t}();e["default"]=a,t.exports=e["default"]}])}); | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueRouter=e():t.VueRouter=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t,e){var n=e.component;A.util.isPlainObject(n)&&(n=e.component=A.extend(n)),"function"!=typeof n&&(e.component=null,a.warn('invalid component for route "'+t+'".'))}var o=n(1)["default"],i=n(2)["default"];e.__esModule=!0;var a=n(3),s=i(a),u=n(7),c=i(u),h=n(4),l=i(h),f=n(8),p=i(f),d=n(18),v=i(d),g=n(28),y=i(g),m=n(29),_=i(m),w=n(30),b=i(w),x=n(31),C=i(x),R=n(32),P=i(R),E={"abstract":b["default"],hash:C["default"],html5:P["default"]},A=void 0,$=function(){function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e.hashbang,r=void 0===n?!0:n,i=e["abstract"],a=void 0===i?!1:i,s=e.history,u=void 0===s?!1:s,c=e.saveScrollPosition,h=void 0===c?!1:c,f=e.transitionOnLoad,p=void 0===f?!1:f,d=e.suppressTransitionError,v=void 0===d?!1:d,g=e.root,y=void 0===g?null:g,m=e.linkActiveClass,_=void 0===m?"v-link-active":m;if(o(this,t),!t.installed)throw new Error("Please install the Router with Vue.use() before creating an instance.");this.app=null,this._views=[],this._children=[],this._recognizer=new l["default"],this._guardRecognizer=new l["default"],this._started=!1,this._startCb=null,this._currentRoute={},this._currentTransition=null,this._previousTransition=null,this._notFoundHandler=null,this._notFoundRedirect=null,this._beforeEachHooks=[],this._afterEachHooks=[],this._hasPushState="undefined"!=typeof window&&window.history&&window.history.pushState,this._rendered=!1,this._transitionOnLoad=p,this._abstract=a,this._hashbang=r,this._history=this._hasPushState&&u,this._saveScrollPosition=h,this._linkActiveClass=_,this._suppress=v;var w=A.util.inBrowser;this.mode=!w||this._abstract?"abstract":this._history?"html5":"hash";var b=E[this.mode],x=this;this.history=new b({root:y,hashbang:this._hashbang,onChange:function(t,e,n){x._match(t,e,n)}})}return t.prototype.map=function(t){for(var e in t)this.on(e,t[e])},t.prototype.on=function(t,e){"*"===t?this._notFound(e):this._addRoute(t,e,[])},t.prototype.redirect=function(t){for(var e in t)this._addRedirect(e,t[e])},t.prototype.alias=function(t){for(var e in t)this._addAlias(e,t[e])},t.prototype.beforeEach=function(t){this._beforeEachHooks.push(t)},t.prototype.afterEach=function(t){this._afterEachHooks.push(t)},t.prototype.go=function(t){var e=!1,n=!1;A.util.isObject(t)&&(e=t.replace,n=t.append),t=this._stringifyPath(t),t&&this.history.go(t,e,n)},t.prototype.replace=function(t){this.go({path:t,replace:!0})},t.prototype.start=function(t,e,n){if(this._started)return void a.warn("already started.");if(this._started=!0,this._startCb=n,!this.app){if(!t||!e)throw new Error("Must start vue-router with a component and a root container.");this._appContainer=e,this._appConstructor="function"==typeof t?t:A.extend(t)}this.history.start()},t.prototype.stop=function(){this.history.stop(),this._started=!1},t.prototype._addRoute=function(t,e,n){if(r(t,e),e.path=t,e.fullPath=(n.reduce(function(t,e){return t+e.path},"")+t).replace("//","/"),n.push({path:t,handler:e}),this._recognizer.add(n,{as:e.name}),e.subRoutes)for(var o in e.subRoutes)this._addRoute(o,e.subRoutes[o],n.slice())},t.prototype._notFound=function(t){r("*",t),this._notFoundHandler=[{handler:t}]},t.prototype._addRedirect=function(t,e){"*"===t?this._notFoundRedirect=e:this._addGuard(t,e,this.replace)},t.prototype._addAlias=function(t,e){this._addGuard(t,e,this._match)},t.prototype._addGuard=function(t,e,n){var r=this;this._guardRecognizer.add([{path:t,handler:function(t,o){var i=a.mapParams(e,t.params,o);n.call(r,i)}}])},t.prototype._checkGuard=function(t){var e=this._guardRecognizer.recognize(t);return e?(e[0].handler(e[0],e.queryParams),!0):this._notFoundRedirect&&(e=this._recognizer.recognize(t),!e)?(this.replace(this._notFoundRedirect),!0):void 0},t.prototype._match=function(t,e,n){var r=this;if(!this._checkGuard(t)){var o=this._currentRoute,i=this._currentTransition;if(i){if(i.to.path===t)return;if(o.path===t)return i.aborted=!0,void(this._currentTransition=this._prevTransition);i.aborted=!0}var a=new p["default"](t,this),s=new v["default"](this,a,o);this._prevTransition=i,this._currentTransition=s,this.app||(this.app=new this._appConstructor({el:this._appContainer,_meta:{$route:a}}));var u=this._beforeEachHooks,c=function(){s.start(function(){r._postTransition(a,e,n)})};u.length?s.runQueue(u,function(t,e,n){s===r._currentTransition&&s.callHook(t,null,n,{expectBoolean:!0})},c):c(),!this._rendered&&this._startCb&&this._startCb.call(null),this._rendered=!0}},t.prototype._onTransitionValidated=function(t){var e=this._currentRoute=t.to;this.app.$route!==e&&(this.app.$route=e,this._children.forEach(function(t){t.$route=e})),this._afterEachHooks.length&&this._afterEachHooks.forEach(function(e){return e.call(null,{to:t.to,from:t.from})}),this._currentTransition.done=!0},t.prototype._postTransition=function(t,e,n){var r=e&&e.pos;r&&this._saveScrollPosition?A.nextTick(function(){window.scrollTo(r.x,r.y)}):n&&A.nextTick(function(){var t=document.getElementById(n.slice(1));t&&window.scrollTo(window.scrollX,t.offsetTop)})},t.prototype._stringifyPath=function(t){if(t&&"object"==typeof t){if(t.name){var e=t.params||{};return t.query&&(e.queryParams=t.query),this._recognizer.generate(t.name,e)}return t.path?t.path:""}return t?t+"":""},t}();$.installed=!1,$.install=function(t){return $.installed?void a.warn("already installed."):(A=t,c["default"](A),y["default"](A),_["default"](A),s["default"].Vue=A,void($.installed=!0))},"undefined"!=typeof window&&window.Vue&&window.Vue.use($),e["default"]=$,t.exports=e["default"]},function(t,e){"use strict";e["default"]=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.__esModule=!0},function(t,e){"use strict";e["default"]=function(t){return t&&t.__esModule?t:{"default":t}},e.__esModule=!0},function(t,e,n){"use strict";function r(t){window.console&&(console.warn("[vue-router] "+t),(!p.Vue||p.Vue.config.debug)&&console.warn(new Error("warning stack trace:").stack))}function o(t,e,n){var r=t.match(/(\?.*)$/);if(r&&(r=r[1],t=t.slice(0,-r.length)),"?"===e.charAt(0))return t+e;var o=t.split("/");n&&o[o.length-1]||o.pop();for(var i=e.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var s=i[a];"."!==s&&(".."===s?o.pop():o.push(s))}return""!==o[0]&&o.unshift(""),o.join("/")}function i(t){return t&&"function"==typeof t.then}function a(t,e){var n=t&&(t.$options||t.options);return n&&n.route&&n.route[e]}function s(t,e){d?d.$options.components._=t.component:d={resolve:p.Vue.prototype._resolveComponent,$options:{components:{_:t.component}}},d.resolve("_",function(n){t.component=n,e(n)})}function u(t,e,n){return void 0===e&&(e={}),t=t.replace(/:([^\/]+)/g,function(n,o){var i=e[o];return i||r('param "'+o+'" not found when generating path for "'+t+'" with params '+JSON.stringify(e)),i||""}),n&&(t+=f(n)),t}var c=n(2)["default"];e.__esModule=!0,e.warn=r,e.resolvePath=o,e.isPromise=i,e.getRouteConfig=a,e.resolveAsyncComponent=s,e.mapParams=u;var h=n(4),l=c(h),f=l["default"].prototype.generateQueryString,p={};e["default"]=p;var d=void 0},function(t,e,n){var r;(function(t){(function(){"use strict";function o(t,e,n){this.path=t,this.matcher=e,this.delegate=n}function i(t){this.routes={},this.children={},this.target=t}function a(t,e,n){return function(r,i){var s=t+r;return i?void i(a(s,e,n)):new o(t+r,e,n)}}function s(t,e,n){for(var r=0,o=0,i=t.length;i>o;o++)r+=t[o].path.length;e=e.substr(r);var a={path:e,handler:n};t.push(a)}function u(t,e,n,r){var o=e.routes;for(var i in o)if(o.hasOwnProperty(i)){var a=t.slice();s(a,i,o[i]),e.children[i]?u(a,e.children[i],n,r):n.call(r,a)}}function c(t){return"[object Array]"===Object.prototype.toString.call(t)}function h(t){this.string=t}function l(t){this.name=t}function f(t){this.name=t}function p(){}function d(t,e,n){"/"===t.charAt(0)&&(t=t.substr(1));var r=t.split("/"),o=[];n.val="";for(var i=0,a=r.length;a>i;i++){var s,u=r[i];(s=u.match(/^:([^\/]+)$/))?(o.push(new l(s[1])),e.push(s[1]),n.val+="3"):(s=u.match(/^\*([^\/]+)$/))?(o.push(new f(s[1])),n.val+="2",e.push(s[1])):""===u?(o.push(new p),n.val+="1"):(o.push(new h(u)),n.val+="4")}return n.val=+n.val,o}function v(t){this.charSpec=t,this.nextStates=[]}function g(t){return t.sort(function(t,e){return e.specificity.val-t.specificity.val})}function y(t,e){for(var n=[],r=0,o=t.length;o>r;r++){var i=t[r];n=n.concat(i.match(e))}return n}function m(t){this.queryParams=t||{}}function _(t,e,n){for(var r=t.handlers,o=t.regex,i=e.match(o),a=1,s=new m(n),u=0,c=r.length;c>u;u++){for(var h=r[u],l=h.names,f={},p=0,d=l.length;d>p;p++)f[l[p]]=i[a++];s.push({handler:h.handler,params:f,isDynamic:!!l.length})}return s}function w(t,e){return e.eachChar(function(e){t=t.put(e)}),t}function b(t){return t=t.replace(/\+/gm,"%20"),decodeURIComponent(t)}o.prototype={to:function(t,e){var n=this.delegate;if(n&&n.willAddRoute&&(t=n.willAddRoute(this.matcher.target,t)),this.matcher.add(this.path,t),e){if(0===e.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,t,e,this.delegate)}return this}},i.prototype={add:function(t,e){this.routes[t]=e},addChild:function(t,e,n,r){var o=new i(e);this.children[t]=o;var s=a(t,o,r);r&&r.contextEntered&&r.contextEntered(e,s),n(s)}};var x=function(t,e){var n=new i;t(a("",n,this.delegate)),u([],n,function(t){e?e(this,t):this.add(t)},this)},C=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],R=new RegExp("(\\"+C.join("|\\")+")","g");h.prototype={eachChar:function(t){for(var e,n=this.string,r=0,o=n.length;o>r;r++)e=n.charAt(r),t({validChars:e})},regex:function(){return this.string.replace(R,"\\$1")},generate:function(){return this.string}},l.prototype={eachChar:function(t){t({invalidChars:"/",repeat:!0})},regex:function(){return"([^/]+)"},generate:function(t){return t[this.name]}},f.prototype={eachChar:function(t){t({invalidChars:"",repeat:!0})},regex:function(){return"(.+)"},generate:function(t){return t[this.name]}},p.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}},v.prototype={get:function(t){for(var e=this.nextStates,n=0,r=e.length;r>n;n++){var o=e[n],i=o.charSpec.validChars===t.validChars;if(i=i&&o.charSpec.invalidChars===t.invalidChars)return o}},put:function(t){var e;return(e=this.get(t))?e:(e=new v(t),this.nextStates.push(e),t.repeat&&e.nextStates.push(e),e)},match:function(t){for(var e,n,r,o=this.nextStates,i=[],a=0,s=o.length;s>a;a++)e=o[a],n=e.charSpec,"undefined"!=typeof(r=n.validChars)?-1!==r.indexOf(t)&&i.push(e):"undefined"!=typeof(r=n.invalidChars)&&-1===r.indexOf(t)&&i.push(e);return i}};var P=Object.create||function(t){function e(){}return e.prototype=t,new e};m.prototype=P({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});var E=function(){this.rootState=new v,this.names={}};E.prototype={add:function(t,e){for(var n,r=this.rootState,o="^",i={},a=[],s=[],u=!0,c=0,h=t.length;h>c;c++){var l=t[c],f=[],v=d(l.path,f,i);s=s.concat(v);for(var g=0,y=v.length;y>g;g++){var m=v[g];m instanceof p||(u=!1,r=r.put({validChars:"/"}),o+="/",r=w(r,m),o+=m.regex())}var _={handler:l.handler,names:f};a.push(_)}u&&(r=r.put({validChars:"/"}),o+="/"),r.handlers=a,r.regex=new RegExp(o+"$"),r.specificity=i,(n=e&&e.as)&&(this.names[n]={segments:s,handlers:a})},handlersFor:function(t){var e=this.names[t],n=[];if(!e)throw new Error("There is no route named "+t);for(var r=0,o=e.handlers.length;o>r;r++)n.push(e.handlers[r]);return n},hasRoute:function(t){return!!this.names[t]},generate:function(t,e){var n=this.names[t],r="";if(!n)throw new Error("There is no route named "+t);for(var o=n.segments,i=0,a=o.length;a>i;i++){var s=o[i];s instanceof p||(r+="/",r+=s.generate(e))}return"/"!==r.charAt(0)&&(r="/"+r),e&&e.queryParams&&(r+=this.generateQueryString(e.queryParams,n.handlers)),r},generateQueryString:function(t,e){var n=[],r=[];for(var o in t)t.hasOwnProperty(o)&&r.push(o);r.sort();for(var i=0,a=r.length;a>i;i++){o=r[i];var s=t[o];if(null!=s){var u=encodeURIComponent(o);if(c(s))for(var h=0,l=s.length;l>h;h++){var f=o+"[]="+encodeURIComponent(s[h]);n.push(f)}else u+="="+encodeURIComponent(s),n.push(u)}}return 0===n.length?"":"?"+n.join("&")},parseQueryString:function(t){for(var e=t.split("&"),n={},r=0;r<e.length;r++){var o,i=e[r].split("="),a=b(i[0]),s=a.length,u=!1;1===i.length?o="true":(s>2&&"[]"===a.slice(s-2)&&(u=!0,a=a.slice(0,s-2),n[a]||(n[a]=[])),o=i[1]?b(i[1]):""),u?n[a].push(o):n[a]=o}return n},recognize:function(t){var e,n,r,o,i=[this.rootState],a={},s=!1;if(o=t.indexOf("?"),-1!==o){var u=t.substr(o+1,t.length);t=t.substr(0,o),a=this.parseQueryString(u)}for(t=decodeURI(t),"/"!==t.charAt(0)&&(t="/"+t),e=t.length,e>1&&"/"===t.charAt(e-1)&&(t=t.substr(0,e-1),s=!0),n=0,r=t.length;r>n&&(i=y(i,t.charAt(n)),i.length);n++);var c=[];for(n=0,r=i.length;r>n;n++)i[n].handlers&&c.push(i[n]);i=g(c);var h=c[0];return h&&h.handlers?(s&&"(.+)$"===h.regex.source.slice(-5)&&(t+="/"),_(h,t,a)):void 0}},E.prototype.map=x,E.VERSION="0.1.9";var A=E;n(6).amd?(r=function(){return A}.call(e,n,e,t),!(void 0!==r&&(t.exports=r))):"undefined"!=typeof t&&t.exports?t.exports=A:"undefined"!=typeof this&&(this.RouteRecognizer=A)}).call(this)}).call(e,n(5)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){t.exports=function(){throw new Error("define cannot be used indirect")}},function(t,e){"use strict";e.__esModule=!0,e["default"]=function(t){var e=t.util,n=t.prototype._init;t.prototype._init=function(t){var r=t._parent||t.parent||this,o=r.$route;o&&(o.router._children.push(this),this.$route||(this._defineMeta?this._defineMeta("$route",o):e.defineReactive(this,"$route",o))),n.call(this,t)};var r=t.prototype._destroy;t.prototype._destroy=function(){if(!this._isBeingDestroyed){var t=this.$root.$route;t&&t.router._children.$remove(this),r.apply(this,arguments)}};var o=t.config.optionMergeStrategies,i=/^(data|activate|deactivate)$/;o&&(o.route=function(t,n){if(!n)return t;if(!t)return n;var r={};e.extend(r,t);for(var o in n){var a=r[o],s=n[o];a&&i.test(o)?r[o]=(e.isArray(a)?a:[a]).concat(s):r[o]=s}return r})},t.exports=e["default"]},function(t,e,n){"use strict";var r=n(1)["default"],o=n(9)["default"];e.__esModule=!0;var i=/^(component|subRoutes)$/,a=function s(t,e){var n=this;r(this,s);var a=e._recognizer.recognize(t);a&&([].forEach.call(a,function(t){for(var e in t.handler)i.test(e)||(n[e]=t.handler[e])}),this.query=a.queryParams,this.params=[].reduce.call(a,function(t,e){if(e.params)for(var n in e.params)t[n]=e.params[n];return t},{})),this.path=t,this.router=e,this.matched=a||e._notFoundHandler,o(this)};e["default"]=a,t.exports=e["default"]},function(t,e,n){t.exports={"default":n(10),__esModule:!0}},function(t,e,n){n(11),t.exports=n(16).Object.freeze},function(t,e,n){var r=n(12);n(13)("freeze",function(t){return function(e){return t&&r(e)?t(e):e}})},function(t,e){t.exports=function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}},function(t,e,n){t.exports=function(t,e){var r=n(14),o=(n(16).Object||{})[t]||Object[t],i={};i[t]=e(o),r(r.S+r.F*n(17)(function(){o(1)}),"Object",i)}},function(t,e,n){var r=n(15),o=n(16),i="prototype",a=function(t,e){return function(){return t.apply(e,arguments)}},s=function(t,e,n){var u,c,h,l,f=t&s.G,p=t&s.P,d=f?r:t&s.S?r[e]:(r[e]||{})[i],v=f?o:o[e]||(o[e]={});f&&(n=e);for(u in n)c=!(t&s.F)&&d&&u in d,c&&u in v||(h=c?d[u]:n[u],f&&"function"!=typeof d[u]?l=n[u]:t&s.B&&c?l=a(h,r):t&s.W&&d[u]==h?!function(t){l=function(e){return this instanceof t?new t(e):t(e)},l[i]=t[i]}(h):l=p&&"function"==typeof h?a(Function.call,h):h,v[u]=l,p&&((v[i]||(v[i]={}))[u]=h))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,t.exports=s},function(t,e){var n="undefined",r=t.exports=typeof window!=n&&window.Math==Math?window:typeof self!=n&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,e){var n=t.exports={};"number"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e,n){"use strict";function r(t){return"[object Object]"===Object.prototype.toString.call(t)}var o=n(1)["default"];e.__esModule=!0;var i=n(3),a=n(19),s=function(){function t(e,n,r){o(this,t),this.router=e,this.to=n,this.from=r,this.next=null,this.aborted=!1,this.done=!1,this.deactivateQueue=e._views;var i=n.matched?Array.prototype.slice.call(n.matched):[];this.activateQueue=i.map(function(t){return t.handler})}return t.prototype.abort=function(){if(!this.aborted){this.aborted=!0;var t=!this.from.path&&"/"===this.to.path;t||this.router.replace(this.from.path||"/")}},t.prototype.redirect=function(t){this.aborted||(this.aborted=!0,"string"==typeof t?t=i.mapParams(t,this.to.params,this.to.query):(t.params=this.to.params,t.query=this.to.query),this.router.replace(t))},t.prototype.start=function(t){var e=this,n=this.deactivateQueue,r=this.activateQueue,o=n.slice().reverse(),i=void 0,s=void 0;for(s=0;s<o.length&&a.canReuse(o[s],r[s],e);s++);s>0&&(i=o.slice(0,s),n=o.slice(s).reverse(),r=r.slice(s)),e.runQueue(n,a.canDeactivate,function(){e.runQueue(r,a.canActivate,function(){e.runQueue(n,a.deactivate,function(){if(e.router._onTransitionValidated(e),i&&i.forEach(function(t){a.reuse(t,e)}),n.length){var r=n[n.length-1],o=i?i.length:0;a.activate(r,e,o,t)}else t()})})})},t.prototype.runQueue=function(t,e,n){function r(i){i>=t.length?n():e(t[i],o,function(){r(i+1)})}var o=this;r(0)},t.prototype.callHook=function(t,e,n){var o=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],a=o.expectBoolean,s=void 0===a?!1:a,u=o.expectData,c=void 0===u?!1:u,h=o.cleanup,l=this,f=!1,p=function(){h&&h(),l.abort()},d=function(t){if(h?v():p(),t&&!l.router._suppress)throw i.warn("Uncaught error during transition: "),t instanceof Error?t:new Error(t)},v=function(t){return f?void i.warn("transition.next() should be called only once."):(f=!0,l.aborted?void(h&&h()):void(n&&n(t,d)))},g={to:l.to,from:l.from,abort:p,next:v,redirect:function(){l.redirect.apply(l,arguments)}},y=void 0;try{y=t.call(e,g)}catch(m){return d(m)}var _=i.isPromise(y);s?"boolean"==typeof y?y?v():p():_?y.then(function(t){t?v():p()},d):t.length||v(y):_?y.then(v,d):(c&&r(y)||!t.length)&&v(y)},t.prototype.callHooks=function(t,e,n,r){var o=this;Array.isArray(t)?!function(){var i=[];i._needMerge=!0;var a=void 0;o.runQueue(t,function(t,n,a){o.aborted||o.callHook(t,e,function(t,e){t&&i.push(t),e=e,a()},r)},function(){n(i,a)})}():this.callHook(t,e,n,r)},t}();e["default"]=s,t.exports=e["default"]},function(t,e,n){"use strict";function r(t,e,n){var r=t.childVM;if(!r||!e)return!1;if(t.Component!==e.component)return!1;var o=p.getRouteConfig(r,"canReuse");return"boolean"==typeof o?o:o?o.call(r,{to:n.to,from:n.from}):!0}function o(t,e,n){var r=t.childVM,o=p.getRouteConfig(r,"canDeactivate");o?e.callHook(o,r,n,{expectBoolean:!0}):n()}function i(t,e,n){p.resolveAsyncComponent(t,function(t){if(!e.aborted){var r=p.getRouteConfig(t,"canActivate");r?e.callHook(r,null,n,{expectBoolean:!0}):n()}})}function a(t,e,n){var r=t.childVM,o=p.getRouteConfig(r,"deactivate");o?e.callHooks(o,r,n):n()}function s(t,e,n,r,o){var i=e.activateQueue[n];if(!i)return t._bound&&t.setComponent(null),void(r&&r());var a=t.Component=i.component,u=p.getRouteConfig(a,"activate"),h=p.getRouteConfig(a,"data"),l=p.getRouteConfig(a,"waitForData");t.depth=n,t.activated=!1;var f=void 0,d=!(!h||l);if(o=o&&t.childVM&&t.childVM.constructor===a)f=t.childVM,f.$loadingRouteData=d;else{if(t.unbuild(!0),t.keepAlive){var v=e.router._views,g=v.indexOf(t);g>0&&(e.router._views=v.slice(g),t.childVM&&(t.childVM._routerViews=v.slice(0,g)))}if(f=t.build({_meta:{$loadingRouteData:d}}),t.keepAlive){f.$loadingRouteData=d;var y=f._routerViews;y&&(e.router._views=y.concat(e.router._views),t.childView=y[y.length-1],f._routerViews=null)}}var m=function(){f.$destroy()},_=function(){if(o)return void(r&&r());var n=e.router;n._rendered||n._transitionOnLoad?t.transition(f):(t.setCurrent?t.setCurrent(f):t.childVM=f,f.$before(t.anchor,null,!1)),r&&r()},w=function(){t.activated=!0,t.childView&&s(t.childView,e,n+1,null,o||t.keepAlive),h&&l?c(f,e,h,_,m):(h&&c(f,e,h),_())};u?e.callHooks(u,f,w,{cleanup:m}):w()}function u(t,e){var n=t.childVM,r=p.getRouteConfig(n,"data");r&&c(n,e,r)}function c(t,e,n,r,o){t.$loadingRouteData=!0,e.callHooks(n,t,function(e,n){Array.isArray(e)&&e._needMerge&&(e=e.reduce(function(t,e){return h(e)&&l(e).forEach(function(n){t[n]=e[n]}),t},f(null)));var o=[];h(e)&&l(e).forEach(function(n){var r=e[n];p.isPromise(r)?o.push(r.then(function(e){t.$set(n,e)})):t.$set(n,r)}),o.length?o[0].constructor.all(o).then(function(e){t.$loadingRouteData=!1,r&&r()},n):(t.$loadingRouteData=!1,r&&r())},{cleanup:o,expectData:!0})}function h(t){return"[object Object]"===Object.prototype.toString.call(t)}var l=n(20)["default"],f=n(25)["default"];e.__esModule=!0,e.canReuse=r,e.canDeactivate=o,e.canActivate=i,e.deactivate=a,e.activate=s,e.reuse=u;var p=n(3)},function(t,e,n){t.exports={"default":n(21),__esModule:!0}},function(t,e,n){n(22),t.exports=n(16).Object.keys},function(t,e,n){var r=n(23);n(13)("keys",function(t){return function(e){return t(r(e))}})},function(t,e,n){var r=n(24);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){t.exports={"default":n(26),__esModule:!0}},function(t,e,n){var r=n(27);t.exports=function(t,e){return r.create(t,e)}},function(t,e){var n=Object;t.exports={create:n.create,getProto:n.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:n.getOwnPropertyDescriptor,setDesc:n.defineProperty,setDescs:n.defineProperties,getKeys:n.keys,getNames:n.getOwnPropertyNames,getSymbols:n.getOwnPropertySymbols,each:[].forEach}},function(t,e,n){"use strict";e.__esModule=!0;var r=n(3),o=n(19);e["default"]=function(t){var e=t.util,n=t.directive("_component")||t.internalDirectives.component,i=e.extend({},n);e.extend(i,{_isRouterView:!0,bind:function(){var t=this.vm.$route;if(!t)return void r.warn("<router-view> can only be used inside a router-enabled app.");this._isDynamicLiteral=!0,n.bind.call(this);var e=this.router=t.router;e._views.unshift(this);var i=e._views[1];i&&(i.childView=this);var a=t.router._currentTransition;if(!i&&a.done||i&&i.activated){var s=i?i.depth+1:0;o.activate(this,a,s)}},unbind:function(){this.router._views.$remove(this),n.unbind.call(this)}}),t.elementDirective("router-view",i)},t.exports=e["default"]},function(t,e,n){"use strict";e.__esModule=!0;var r=n(3),o=/\/$/,i=/[-.*+?^${}()|[\]\/\\]/g;e["default"]=function(t){function e(t){return t.protocol===location.protocol&&t.hostname===location.hostname&&t.port===location.port}var n=t.util;t.directive("link",{bind:function(){var t=this,o=this.vm;if(!o.$route)return void r.warn("v-link can only be used inside a router-enabled app.");var i=o.$route.router;this.handler=function(n){if(!(n.metaKey||n.ctrlKey||n.shiftKey||n.defaultPrevented||0!==n.button)){var r=t.target;if("A"===t.el.tagName||n.target===t.el)n.preventDefault(),null!=r&&i.go(r);else{for(var o=n.target;o&&"A"!==o.tagName&&o!==t.el;)o=o.parentNode;if(!o||"A"!==o.tagName||!o.href)return;e(o)&&(n.preventDefault(),i.go({path:o.pathname,replace:r&&r.replace,append:r&&r.append}))}}},this.el.addEventListener("click",this.handler),this.unwatch=o.$watch("$route.path",n.bind(this.updateClasses,this))},update:function(t){var e=this.vm.$route.router,r=void 0;this.target=t,n.isObject(t)&&(r=t.append,this.exact=t.exact,this.prevActiveClass=this.activeClass,this.activeClass=t.activeClass),t=this.path=e._stringifyPath(t),this.activeRE=t&&!this.exact?new RegExp("^"+t.replace(/\/$/,"").replace(i,"\\$&")+"(\\/|$)"):null,this.updateClasses(this.vm.$route.path);var o="/"===t.charAt(0),a=t&&("hash"===e.mode||o)?e.history.formatPath(t,r):t;"A"===this.el.tagName&&(a?this.el.href=a:this.el.removeAttribute("href"))},updateClasses:function(t){var e=this.el,r=this.path,i=this.vm.$route.router,a=this.activeClass||i._linkActiveClass;this.prevActiveClass!==a&&n.removeClass(e,this.prevActiveClass),this.exact?r===t||"/"!==r.charAt(r.length-1)&&r===t.replace(o,"")?n.addClass(e,a):n.removeClass(e,a):this.activeRE&&this.activeRE.test(t)?n.addClass(e,a):n.removeClass(e,a)},unbind:function(){this.el.removeEventListener("click",this.handler),this.unwatch&&this.unwatch()}})},t.exports=e["default"]},function(t,e,n){"use strict";var r=n(1)["default"];e.__esModule=!0;var o=n(3),i=function(){function t(e){var n=e.onChange;r(this,t),this.onChange=n,this.currentPath="/"}return t.prototype.start=function(){this.onChange("/")},t.prototype.stop=function(){},t.prototype.go=function(t,e,n){t=this.currentPath=this.formatPath(t,n),this.onChange(t)},t.prototype.formatPath=function(t,e){return"/"===t.charAt(0)?t:o.resolvePath(this.currentPath,t,e)},t}();e["default"]=i,t.exports=e["default"]},function(t,e,n){"use strict";var r=n(1)["default"];e.__esModule=!0;var o=n(3),i=function(){function t(e){var n=e.hashbang,o=e.onChange;r(this,t),this.hashbang=n,this.onChange=o}return t.prototype.start=function(){var t=this;this.listener=function(){var e=location.hash,n=e.replace(/^#!?/,"");"/"!==n.charAt(0)&&(n="/"+n);var r=t.formatPath(n);if(r!==e)return void location.replace(r);var o=decodeURI(e.replace(/^#!?/,"")+location.search);t.onChange(o)},window.addEventListener("hashchange",this.listener),this.listener()},t.prototype.stop=function(){window.removeEventListener("hashchange",this.listener)},t.prototype.go=function(t,e,n){t=this.formatPath(t,n),e?location.replace(t):location.hash=t},t.prototype.formatPath=function(t,e){var n="/"===t.charAt(0),r="#"+(this.hashbang?"!":"");return n?r+t:r+o.resolvePath(location.hash.replace(/^#!?/,""),t,e)},t}();e["default"]=i,t.exports=e["default"]},function(t,e,n){"use strict";var r=n(1)["default"];e.__esModule=!0;var o=n(3),i=/#.*$/,a=function(){function t(e){var n=e.root,o=e.onChange;r(this,t),n?("/"!==n.charAt(0)&&(n="/"+n),this.root=n.replace(/\/$/,""),this.rootRE=new RegExp("^\\"+this.root)):this.root=null,this.onChange=o;var i=document.querySelector("base");this.base=i&&i.getAttribute("href")}return t.prototype.start=function(){var t=this;this.listener=function(e){var n=decodeURI(location.pathname+location.search);t.root&&(n=n.replace(t.rootRE,"")),t.onChange(n,e&&e.state,location.hash)},window.addEventListener("popstate",this.listener),this.listener()},t.prototype.stop=function(){window.removeEventListener("popstate",this.listener)},t.prototype.go=function(t,e,n){var r=this.formatPath(t,n);e?history.replaceState({},"",r):(history.replaceState({pos:{x:window.pageXOffset,y:window.pageYOffset}},""),history.pushState({},"",r));var o=t.match(i),a=o&&o[0];t=r.replace(i,"").replace(this.rootRE,""),this.onChange(t,null,a)},t.prototype.formatPath=function(t,e){return"/"===t.charAt(0)?this.root?this.root+"/"+t.replace(/^\//,""):t:o.resolvePath(this.base||location.pathname,t,e)},t}();e["default"]=a,t.exports=e["default"]}])}); |
@@ -108,2 +108,3 @@ 'use strict'; | ||
this._notFoundHandler = null; | ||
this._notFoundRedirect = null; | ||
this._beforeEachHooks = []; | ||
@@ -356,3 +357,7 @@ this._afterEachHooks = []; | ||
Router.prototype._addRedirect = function _addRedirect(path, redirectPath) { | ||
this._addGuard(path, redirectPath, this.replace); | ||
if (path === '*') { | ||
this._notFoundRedirect = redirectPath; | ||
} else { | ||
this._addGuard(path, redirectPath, this.replace); | ||
} | ||
}; | ||
@@ -403,2 +408,8 @@ | ||
return true; | ||
} else if (this._notFoundRedirect) { | ||
matched = this._recognizer.recognize(path); | ||
if (!matched) { | ||
this.replace(this._notFoundRedirect); | ||
return true; | ||
} | ||
} | ||
@@ -405,0 +416,0 @@ }; |
{ | ||
"name": "vue-router", | ||
"version": "0.7.3", | ||
"version": "0.7.4", | ||
"description": "A router for Vue.js", | ||
@@ -53,3 +53,3 @@ "main": "lib/index.js", | ||
"karma-webpack": "^1.7.0", | ||
"nightwatch": "^0.8.4", | ||
"nightwatch": "^0.8.6", | ||
"phantomjs": "^1.9.18", | ||
@@ -56,0 +56,0 @@ "selenium-server": "2.47.1", |
@@ -64,2 +64,3 @@ import util, { warn, mapParams } from './util' | ||
this._notFoundHandler = null | ||
this._notFoundRedirect = null | ||
this._beforeEachHooks = [] | ||
@@ -319,3 +320,7 @@ this._afterEachHooks = [] | ||
_addRedirect (path, redirectPath) { | ||
this._addGuard(path, redirectPath, this.replace) | ||
if (path === '*') { | ||
this._notFoundRedirect = redirectPath | ||
} else { | ||
this._addGuard(path, redirectPath, this.replace) | ||
} | ||
} | ||
@@ -368,2 +373,8 @@ | ||
return true | ||
} else if (this._notFoundRedirect) { | ||
matched = this._recognizer.recognize(path) | ||
if (!matched) { | ||
this.replace(this._notFoundRedirect) | ||
return true | ||
} | ||
} | ||
@@ -370,0 +381,0 @@ } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
350217
6341