vuejs-rails 2.3.2 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Readme.md +3 -3
- data/lib/vuejs-rails.rb +1 -1
- data/lib/vuejs-rails/version.rb +1 -1
- data/vendor/assets/javascripts/dist/vue-resource.js +53 -29
- data/vendor/assets/javascripts/dist/vue-resource.min.js +2 -2
- data/vendor/assets/javascripts/dist/vue-router.js +193 -148
- data/vendor/assets/javascripts/dist/vue-router.min.js +2 -2
- data/vendor/assets/javascripts/dist/vue.js +1059 -605
- data/vendor/assets/javascripts/dist/vue.min.js +2 -4
- metadata +2 -2
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
|
-
* vue-router v2.
|
2
|
+
* vue-router v2.7.0
|
3
3
|
* (c) 2017 Evan You
|
4
4
|
* @license MIT
|
5
5
|
*/
|
6
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.VueRouter=e()}(this,function(){"use strict";function t(t,e){}function e(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0}}function n(t,e,n){void 0===e&&(e={});var o,i=n||r;try{o=i(t||"")}catch(t){o={}}for(var a in e){var u=e[a];o[a]=Array.isArray(u)?u.slice():u}return o}function r(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var n=t.replace(/\+/g," ").split("="),r=$t(n.shift()),o=n.length>0?$t(n.join("=")):null;void 0===e[r]?e[r]=o:Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]}),e):e}function o(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return"";if(null===n)return _t(e);if(Array.isArray(n)){var r=[];return n.slice().forEach(function(t){void 0!==t&&(null===t?r.push(_t(e)):r.push(_t(e)+"="+_t(t)))}),r.join("&")}return _t(e)+"="+_t(n)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}function i(t,e,n,r){var o=r&&r.options.stringifyQuery,i={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:e.query||{},params:e.params||{},fullPath:u(e,o),matched:t?a(t):[]};return n&&(i.redirectedFrom=u(n,o)),Object.freeze(i)}function a(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function u(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;void 0===i&&(i="");var a=e||o;return(n||"/")+a(r)+i}function c(t,e){return e===qt?t===e:!!e&&(t.path&&e.path?t.path.replace(St,"")===e.path.replace(St,"")&&t.hash===e.hash&&s(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&s(t.query,e.query)&&s(t.params,e.params)))}function s(t,e){void 0===t&&(t={}),void 0===e&&(e={});var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){return String(t[n])===String(e[n])})}function p(t,e){return 0===t.path.replace(St,"/").indexOf(e.path.replace(St,"/"))&&(!e.hash||t.hash===e.hash)&&f(t.query,e.query)}function f(t,e){for(var n in e)if(!(n in t))return!1;return!0}function h(t){if(!(t.metaKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function l(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],"a"===e.tag)return e;if(e.children&&(e=l(e.children)))return e}}function d(t){if(!d.installed){d.installed=!0,Rt=t,Object.defineProperty(t.prototype,"$router",{get:function(){return this.$root._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this.$root._route}});var e=function(t){return void 0!==t},n=function(t,n){var r=t.$options._parentVnode;e(r)&&e(r=r.data)&&e(r=r.registerRouteInstance)&&r(t,n)};t.mixin({beforeCreate:function(){e(this.$options.router)&&(this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)),n(this,this)},destroyed:function(){n(this)}}),t.component("router-view",Ct),t.component("router-link",Ut);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.created}}function y(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;var o=e.split("/");n&&o[o.length-1]||o.pop();for(var i=t.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var u=i[a];".."===u?o.pop():"."!==u&&o.push(u)}return""!==o[0]&&o.unshift(""),o.join("/")}function v(t){var e="",n="",r=t.indexOf("#");r>=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}function m(t){return t.replace(/\/\//g,"/")}function g(t,e){for(var n,r=[],o=0,i=0,a="",u=e&&e.delimiter||"/";null!=(n=Kt.exec(t));){var c=n[0],s=n[1],p=n.index;if(a+=t.slice(i,p),i=p+c.length,s)a+=s[1];else{var f=t[i],h=n[2],l=n[3],d=n[4],y=n[5],v=n[6],m=n[7];a&&(r.push(a),a="");var g=null!=h&&null!=f&&f!==h,w="+"===v||"*"===v,b="?"===v||"*"===v,x=n[2]||u,k=d||y;r.push({name:l||o++,prefix:h||"",delimiter:x,optional:b,repeat:w,partial:g,asterisk:!!m,pattern:k?O(k):m?".*":"[^"+E(x)+"]+?"})}}return i<t.length&&(a+=t.substr(i)),a&&r.push(a),r}function w(t,e){return k(g(t,e))}function b(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function x(t){return encodeURI(t).replace(/[?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function k(t){for(var e=new Array(t.length),n=0;n<t.length;n++)"object"==typeof t[n]&&(e[n]=new RegExp("^(?:"+t[n].pattern+")$"));return function(n,r){for(var o="",i=n||{},a=r||{},u=a.pretty?b:encodeURIComponent,c=0;c<t.length;c++){var s=t[c];if("string"!=typeof s){var p,f=i[s.name];if(null==f){if(s.optional){s.partial&&(o+=s.prefix);continue}throw new TypeError('Expected "'+s.name+'" to be defined')}if(Vt(f)){if(!s.repeat)throw new TypeError('Expected "'+s.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(s.optional)continue;throw new TypeError('Expected "'+s.name+'" to not be empty')}for(var h=0;h<f.length;h++){if(p=u(f[h]),!e[c].test(p))throw new TypeError('Expected all "'+s.name+'" to match "'+s.pattern+'", but received `'+JSON.stringify(p)+"`");o+=(0===h?s.prefix:s.delimiter)+p}}else{if(p=s.asterisk?x(f):u(f),!e[c].test(p))throw new TypeError('Expected "'+s.name+'" to match "'+s.pattern+'", but received "'+p+'"');o+=s.prefix+p}}else o+=s}return o}}function E(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function O(t){return t.replace(/([=!:$\/()])/g,"\\$1")}function R(t,e){return t.keys=e,t}function C(t){return t.sensitive?"":"i"}function A(t,e){var n=t.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return R(t,e)}function j(t,e,n){for(var r=[],o=0;o<t.length;o++)r.push($(t[o],e,n).source);var i=new RegExp("(?:"+r.join("|")+")",C(n));return R(i,e)}function T(t,e,n){return _(g(t,n),e,n)}function _(t,e,n){Vt(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,o=n.end!==!1,i="",a=0;a<t.length;a++){var u=t[a];if("string"==typeof u)i+=E(u);else{var c=E(u.prefix),s="(?:"+u.pattern+")";e.push(u),u.repeat&&(s+="(?:"+c+s+")*"),s=u.optional?u.partial?c+"("+s+")?":"(?:"+c+"("+s+"))?":c+"("+s+")",i+=s}}var p=E(n.delimiter||"/"),f=i.slice(-p.length)===p;return r||(i=(f?i.slice(0,-p.length):i)+"(?:"+p+"(?=$))?"),i+=o?"$":r&&f?"":"(?="+p+"|$)",R(new RegExp("^"+i,C(n)),e)}function $(t,e,n){return Vt(e)||(n=e||n,e=[]),n=n||{},t instanceof RegExp?A(t,e):Vt(t)?j(t,e,n):T(t,e,n)}function S(t,e,n){try{var r=Jt[t]||(Jt[t]=zt.compile(t));return r(e||{},{pretty:!0})}catch(t){return""}}function q(t,e,n,r){var o=e||[],i=n||Object.create(null),a=r||Object.create(null);t.forEach(function(t){L(o,i,a,t)});for(var u=0,c=o.length;u<c;u++)"*"===o[u]&&(o.push(o.splice(u,1)[0]),c--,u--);return{pathList:o,pathMap:i,nameMap:a}}function L(t,e,n,r,o,i){var a=r.path,u=r.name,c=U(a,o),s={path:c,regex:P(c),components:r.components||{default:r.component},instances:{},name:u,parent:o,matchAs:i,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach(function(r){var o=i?m(i+"/"+r.path):void 0;L(t,e,n,r,s,o)}),void 0!==r.alias)if(Array.isArray(r.alias))r.alias.forEach(function(i){var a={path:i,children:r.children};L(t,e,n,a,o,s.path)});else{var p={path:r.alias,children:r.children};L(t,e,n,p,o,s.path)}e[s.path]||(t.push(s.path),e[s.path]=s),u&&(n[u]||(n[u]=s))}function P(t){var e=zt(t);return e}function U(t,e){return t=t.replace(/\/$/,""),"/"===t[0]?t:null==e?t:m(e.path+"/"+t)}function H(t,e,r,o){var i="string"==typeof t?{path:t}:t;if(i.name||i._normalized)return i;if(!i.path&&i.params&&e){i=I({},i),i._normalized=!0;var a=I(I({},e.params),i.params);if(e.name)i.name=e.name,i.params=a;else if(e.matched){var u=e.matched[e.matched.length-1].path;i.path=S(u,a,"path "+e.path)}return i}var c=v(i.path||""),s=e&&e.path||"/",p=c.path?y(c.path,s,r||i.append):s,f=n(c.query,i.query,o&&o.options.parseQuery),h=i.hash||c.hash;return h&&"#"!==h.charAt(0)&&(h="#"+h),{_normalized:!0,path:p,query:f,hash:h}}function I(t,e){for(var n in e)t[n]=e[n];return t}function V(t,e){function n(t){q(t,s,p,f)}function r(t,n,r){var o=H(t,n,!1,e),i=o.name;if(i){var a=f[i],c=a.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if("object"!=typeof o.params&&(o.params={}),n&&"object"==typeof n.params)for(var h in n.params)!(h in o.params)&&c.indexOf(h)>-1&&(o.params[h]=n.params[h]);if(a)return o.path=S(a.path,o.params,'named route "'+i+'"'),u(a,o,r)}else if(o.path){o.params={};for(var l=0;l<s.length;l++){var d=s[l],y=p[d];if(z(y.regex,o.path,o.params))return u(y,o,r)}}return u(null,o)}function o(t,n){var o=t.redirect,a="function"==typeof o?o(i(t,n,null,e)):o;if("string"==typeof a&&(a={path:a}),!a||"object"!=typeof a)return u(null,n);var c=a,s=c.name,p=c.path,h=n.query,l=n.hash,d=n.params;if(h=c.hasOwnProperty("query")?c.query:h,l=c.hasOwnProperty("hash")?c.hash:l,d=c.hasOwnProperty("params")?c.params:d,s){f[s];return r({_normalized:!0,name:s,query:h,hash:l,params:d},void 0,n)}if(p){var y=M(p,t),v=S(y,d,'redirect route with path "'+y+'"');return r({_normalized:!0,path:v,query:h,hash:l},void 0,n)}return u(null,n)}function a(t,e,n){var o=S(n,e.params,'aliased route with path "'+n+'"'),i=r({_normalized:!0,path:o});if(i){var a=i.matched,c=a[a.length-1];return e.params=i.params,u(c,e)}return u(null,e)}function u(t,n,r){return t&&t.redirect?o(t,r||n):t&&t.matchAs?a(t,n,t.matchAs):i(t,n,r,e)}var c=q(t),s=c.pathList,p=c.pathMap,f=c.nameMap;return{match:r,addRoutes:n}}function z(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var o=1,i=r.length;o<i;++o){var a=t.keys[o-1],u="string"==typeof r[o]?decodeURIComponent(r[o]):r[o];a&&(n[a.name]=u)}return!0}function M(t,e){return y(t,e.parent?e.parent.path:"/",!0)}function B(){window.addEventListener("popstate",function(t){D(),t.state&&t.state.key&&G(t.state.key)})}function F(t,e,n,r){if(t.app){var o=t.options.scrollBehavior;o&&t.app.$nextTick(function(){var t=K(),i=o(e,n,r?t:null);if(i){var a="object"==typeof i;if(a&&"string"==typeof i.selector){var u=document.querySelector(i.selector);u?t=J(u):N(i)&&(t=Q(i))}else a&&N(i)&&(t=Q(i));t&&window.scrollTo(t.x,t.y)}})}}function D(){var t=W();t&&(Nt[t]={x:window.pageXOffset,y:window.pageYOffset})}function K(){var t=W();if(t)return Nt[t]}function J(t){var e=document.documentElement,n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return{x:r.left-n.left,y:r.top-n.top}}function N(t){return X(t.x)||X(t.y)}function Q(t){return{x:X(t.x)?t.x:window.pageXOffset,y:X(t.y)?t.y:window.pageYOffset}}function X(t){return"number"==typeof t}function Y(){return Xt.now().toFixed(3)}function W(){return Yt}function G(t){Yt=t}function Z(t,e){D();var n=window.history;try{e?n.replaceState({key:Yt},"",t):(Yt=Y(),n.pushState({key:Yt},"",t))}catch(n){window.location[e?"replace":"assign"](t)}}function tt(t){Z(t,!0)}function et(t,e,n){var r=function(o){o>=t.length?n():t[o]?e(t[o],function(){r(o+1)}):r(o+1)};r(0)}function nt(t){if(!t)if(Ht){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/"}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function rt(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r&&t[n]===e[n];n++);return{updated:e.slice(0,n),activated:e.slice(n),deactivated:t.slice(n)}}function ot(t,e,n,r){var o=lt(t,function(t,r,o,i){var a=it(t,e);if(a)return Array.isArray(a)?a.map(function(t){return n(t,r,o,i)}):n(a,r,o,i)});return dt(r?o.reverse():o)}function it(t,e){return"function"!=typeof t&&(t=Rt.extend(t)),t.options[e]}function at(t){return ot(t,"beforeRouteLeave",ct,!0)}function ut(t){return ot(t,"beforeRouteUpdate",ct)}function ct(t,e){if(e)return function(){return t.apply(e,arguments)}}function st(t,e,n){return ot(t,"beforeRouteEnter",function(t,r,o,i){return pt(t,o,i,e,n)})}function pt(t,e,n,r,o){return function(i,a,u){return t(i,a,function(t){u(t),"function"==typeof t&&r.push(function(){ft(t,e.instances,n,o)})})}}function ft(t,e,n,r){e[n]?t(e[n]):r()&&setTimeout(function(){ft(t,e,n,r)},16)}function ht(t){return function(e,n,r){var o=!1,i=0,a=null;lt(t,function(t,e,n,u){if("function"==typeof t&&void 0===t.cid){o=!0,i++;var c,s=yt(function(e){t.resolved="function"==typeof e?e:Rt.extend(e),n.components[u]=e,i--,i<=0&&r()}),p=yt(function(t){var e="Failed to resolve async component "+u+": "+t;a||(a=vt(t)?t:new Error(e),r(a))});try{c=t(s,p)}catch(t){p(t)}if(c)if("function"==typeof c.then)c.then(s,p);else{var f=c.component;f&&"function"==typeof f.then&&f.then(s,p)}}}),o||r()}}function lt(t,e){return dt(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function dt(t){return Array.prototype.concat.apply([],t)}function yt(t){var e=!1;return function(){if(!e)return e=!0,t.apply(this,arguments)}}function vt(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function mt(t){var e=window.location.pathname;return t&&0===e.indexOf(t)&&(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}function gt(t){var e=mt(t);if(!/^\/#/.test(e))return window.location.replace(m(t+"/#"+e)),!0}function wt(){var t=bt();return"/"===t.charAt(0)||(kt("/"+t),!1)}function bt(){var t=window.location.href,e=t.indexOf("#");return e===-1?"":t.slice(e+1)}function xt(t){window.location.hash=t}function kt(t){var e=window.location.href.indexOf("#");window.location.replace(window.location.href.slice(0,e>=0?e:0)+"#"+t)}function Et(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function Ot(t,e,n){var r="hash"===n?"#"+e:e;return t?m(t+"/"+r):r}var Rt,Ct={name:"router-view",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,n){var r=n.props,o=n.children,i=n.parent,a=n.data;a.routerView=!0;for(var u=i.$createElement,c=r.name,s=i.$route,p=i._routerViewCache||(i._routerViewCache={}),f=0,h=!1;i;)i.$vnode&&i.$vnode.data.routerView&&f++,i._inactive&&(h=!0),i=i.$parent;if(a.routerViewDepth=f,h)return u(p[c],a,o);var l=s.matched[f];if(!l)return p[c]=null,u();var d=p[c]=l.components[c];return a.registerRouteInstance=function(t,e){l.instances[c]!==t&&(l.instances[c]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){l.instances[c]=e.componentInstance},a.props=e(s,l.props&&l.props[c]),u(d,a,o)}},At=/[!'()*]/g,jt=function(t){return"%"+t.charCodeAt(0).toString(16)},Tt=/%2C/g,_t=function(t){return encodeURIComponent(t).replace(At,jt).replace(Tt,",")},$t=decodeURIComponent,St=/\/?$/,qt=i(null,{path:"/"}),Lt=[String,Object],Pt=[String,Array],Ut={name:"router-link",props:{to:{type:Lt,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:Pt,default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),a=o.location,u=o.route,s=o.href,f={},d=n.options.linkActiveClass,y=n.options.linkExactActiveClass,v=null==d?"router-link-active":d,m=null==y?"router-link-exact-active":y,g=null==this.activeClass?v:this.activeClass,w=null==this.exactActiveClass?m:this.exactActiveClass,b=a.path?i(null,a,null,n):u;f[w]=c(r,b),f[g]=this.exact?f[w]:p(r,b);var x=function(t){h(t)&&(e.replace?n.replace(a):n.push(a))},k={click:h};Array.isArray(this.event)?this.event.forEach(function(t){k[t]=x}):k[this.event]=x;var E={class:f};if("a"===this.tag)E.on=k,E.attrs={href:s};else{var O=l(this.$slots.default);if(O){O.isStatic=!1;var R=Rt.util.extend,C=O.data=R({},O.data);C.on=k;var A=O.data.attrs=R({},O.data.attrs);A.href=s}else E.on=k}return t(this.tag,E,this.$slots.default)}},Ht="undefined"!=typeof window,It=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},Vt=It,zt=$,Mt=g,Bt=w,Ft=k,Dt=_,Kt=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");zt.parse=Mt,zt.compile=Bt,zt.tokensToFunction=Ft,zt.tokensToRegExp=Dt;var Jt=Object.create(null),Nt=Object.create(null),Qt=Ht&&function(){var t=window.navigator.userAgent;return(t.indexOf("Android 2.")===-1&&t.indexOf("Android 4.0")===-1||t.indexOf("Mobile Safari")===-1||t.indexOf("Chrome")!==-1||t.indexOf("Windows Phone")!==-1)&&(window.history&&"pushState"in window.history)}(),Xt=Ht&&window.performance&&window.performance.now?window.performance:Date,Yt=Y(),Wt=function(t,e){this.router=t,this.base=nt(e),this.current=qt,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};Wt.prototype.listen=function(t){this.cb=t},Wt.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Wt.prototype.onError=function(t){this.errorCbs.push(t)},Wt.prototype.transitionTo=function(t,e,n){var r=this,o=this.router.match(t,this.current);this.confirmTransition(o,function(){r.updateRoute(o),e&&e(o),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(o)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},Wt.prototype.confirmTransition=function(e,n,r){var o=this,i=this.current,a=function(e){vt(e)&&(o.errorCbs.length?o.errorCbs.forEach(function(t){t(e)}):(t(!1,"uncaught error during route navigation:"),console.error(e))),r&&r(e)};if(c(e,i)&&e.matched.length===i.matched.length)return this.ensureURL(),a();var u=rt(this.current.matched,e.matched),s=u.updated,p=u.deactivated,f=u.activated,h=[].concat(at(p),this.router.beforeHooks,ut(s),f.map(function(t){return t.beforeEnter}),ht(f));this.pending=e;var l=function(t,n){if(o.pending!==e)return a();try{t(e,i,function(t){t===!1||vt(t)?(o.ensureURL(!0),a(t)):"string"==typeof t||"object"==typeof t&&("string"==typeof t.path||"string"==typeof t.name)?(a(),"object"==typeof t&&t.replace?o.replace(t):o.push(t)):n(t)})}catch(t){a(t)}};et(h,l,function(){var t=[],r=function(){return o.current===e},i=st(f,t,r),u=i.concat(o.router.resolveHooks);et(u,l,function(){return o.pending!==e?a():(o.pending=null,n(e),void(o.router.app&&o.router.app.$nextTick(function(){t.forEach(function(t){t()})})))})})},Wt.prototype.updateRoute=function(t){var e=this.current;this.current=t,this.cb&&this.cb(t),this.router.afterHooks.forEach(function(n){n&&n(t,e)})};var Gt=function(t){function e(e,n){var r=this;t.call(this,e,n);var o=e.options.scrollBehavior;o&&B(),window.addEventListener("popstate",function(t){r.transitionTo(mt(r.base),function(t){o&&F(e,t,r.current,!0)})})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){Z(m(r.base+t.fullPath)),F(r.router,t,i,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){tt(m(r.base+t.fullPath)),F(r.router,t,i,!1),e&&e(t)},n)},e.prototype.ensureURL=function(t){if(mt(this.base)!==this.current.fullPath){var e=m(this.base+this.current.fullPath);t?Z(e):tt(e)}},e.prototype.getCurrentLocation=function(){return mt(this.base)},e}(Wt),Zt=function(t){function e(e,n,r){t.call(this,e,n),r&>(this.base)||wt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;window.addEventListener("hashchange",function(){wt()&&t.transitionTo(bt(),function(t){kt(t.fullPath)})})},e.prototype.push=function(t,e,n){this.transitionTo(t,function(t){xt(t.fullPath),e&&e(t)},n)},e.prototype.replace=function(t,e,n){this.transitionTo(t,function(t){kt(t.fullPath),e&&e(t)},n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;bt()!==e&&(t?xt(e):kt(e))},e.prototype.getCurrentLocation=function(){return bt()},e}(Wt),te=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Wt),ee=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=V(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Qt,this.fallback&&(e="hash"),Ht||(e="abstract"),this.mode=e,e){case"history":this.history=new Gt(this,t.base);break;case"hash":this.history=new Zt(this,t.base,this.fallback);break;case"abstract":this.history=new te(this,t.base)}},ne={currentRoute:{}};return ee.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},ne.currentRoute.get=function(){return this.history&&this.history.current},ee.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var n=this.history;if(n instanceof Gt)n.transitionTo(n.getCurrentLocation());else if(n instanceof Zt){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},ee.prototype.beforeEach=function(t){return Et(this.beforeHooks,t)},ee.prototype.beforeResolve=function(t){return Et(this.resolveHooks,t)},ee.prototype.afterEach=function(t){return Et(this.afterHooks,t)},ee.prototype.onReady=function(t,e){this.history.onReady(t,e)},ee.prototype.onError=function(t){this.history.onError(t)},ee.prototype.push=function(t,e,n){this.history.push(t,e,n)},ee.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},ee.prototype.go=function(t){this.history.go(t)},ee.prototype.back=function(){this.go(-1)},ee.prototype.forward=function(){this.go(1)},ee.prototype.getMatchedComponents=function(t){var e=t?this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},ee.prototype.resolve=function(t,e,n){var r=H(t,e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath,a=this.history.base,u=Ot(a,i,this.mode);return{location:r,route:o,href:u,normalizedTo:r,resolved:o}},ee.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==qt&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(ee.prototype,ne),ee.install=d,ee.version="2.5.2",Ht&&window.Vue&&window.Vue.use(ee),ee});
|
6
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.VueRouter=e()}(this,function(){"use strict";function t(t,e){}function e(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function r(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0}}function n(t,e,r){void 0===e&&(e={});var n,i=r||o;try{n=i(t||"")}catch(t){n={}}for(var a in e){var u=e[a];n[a]=Array.isArray(u)?u.slice():u}return n}function o(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var r=t.replace(/\+/g," ").split("="),n=$t(r.shift()),o=r.length>0?$t(r.join("=")):null;void 0===e[n]?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]}),e):e}function i(t){var e=t?Object.keys(t).map(function(e){var r=t[e];if(void 0===r)return"";if(null===r)return Tt(e);if(Array.isArray(r)){var n=[];return r.forEach(function(t){void 0!==t&&(null===t?n.push(Tt(e)):n.push(Tt(e)+"="+Tt(t)))}),n.join("&")}return Tt(e)+"="+Tt(r)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}function a(t,e,r,n){var o=n&&n.options.stringifyQuery,i={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:e.query||{},params:e.params||{},fullPath:c(e,o),matched:t?u(t):[]};return r&&(i.redirectedFrom=c(r,o)),Object.freeze(i)}function u(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function c(t,e){var r=t.path,n=t.query;void 0===n&&(n={});var o=t.hash;void 0===o&&(o="");var a=e||i;return(r||"/")+a(n)+o}function s(t,e){return e===qt?t===e:!!e&&(t.path&&e.path?t.path.replace(St,"")===e.path.replace(St,"")&&t.hash===e.hash&&p(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&p(t.query,e.query)&&p(t.params,e.params)))}function p(t,e){void 0===t&&(t={}),void 0===e&&(e={});var r=Object.keys(t),n=Object.keys(e);return r.length===n.length&&r.every(function(r){var n=t[r],o=e[r];return"object"==typeof n&&"object"==typeof o?p(n,o):String(n)===String(o)})}function f(t,e){return 0===t.path.replace(St,"/").indexOf(e.path.replace(St,"/"))&&(!e.hash||t.hash===e.hash)&&h(t.query,e.query)}function h(t,e){for(var r in e)if(!(r in t))return!1;return!0}function l(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function d(t){if(t)for(var e,r=0;r<t.length;r++){if("a"===(e=t[r]).tag)return e;if(e.children&&(e=d(e.children)))return e}}function y(t){if(!y.installed){y.installed=!0,Ot=t;var e=function(t){return void 0!==t},r=function(t,r){var n=t.$options._parentVnode;e(n)&&e(n=n.data)&&e(n=n.registerRouteInstance)&&n(t,r)};t.mixin({beforeCreate:function(){e(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("router-view",Ct),t.component("router-link",Ut);var n=t.config.optionMergeStrategies;n.beforeRouteEnter=n.beforeRouteLeave=n.beforeRouteUpdate=n.created}}function v(t,e,r){var n=t.charAt(0);if("/"===n)return t;if("?"===n||"#"===n)return e+t;var o=e.split("/");r&&o[o.length-1]||o.pop();for(var i=t.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var u=i[a];".."===u?o.pop():"."!==u&&o.push(u)}return""!==o[0]&&o.unshift(""),o.join("/")}function m(t){var e="",r="",n=t.indexOf("#");n>=0&&(e=t.slice(n),t=t.slice(0,n));var o=t.indexOf("?");return o>=0&&(r=t.slice(o+1),t=t.slice(0,o)),{path:t,query:r,hash:e}}function g(t){return t.replace(/\/\//g,"/")}function b(t,e){for(var r,n=[],o=0,i=0,a="",u=e&&e.delimiter||"/";null!=(r=Ft.exec(t));){var c=r[0],s=r[1],p=r.index;if(a+=t.slice(i,p),i=p+c.length,s)a+=s[1];else{var f=t[i],h=r[2],l=r[3],d=r[4],y=r[5],v=r[6],m=r[7];a&&(n.push(a),a="");var g=null!=h&&null!=f&&f!==h,b="+"===v||"*"===v,w="?"===v||"*"===v,x=r[2]||u,k=d||y;n.push({name:l||o++,prefix:h||"",delimiter:x,optional:w,repeat:b,partial:g,asterisk:!!m,pattern:k?E(k):m?".*":"[^"+R(x)+"]+?"})}}return i<t.length&&(a+=t.substr(i)),a&&n.push(a),n}function w(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function x(t){return encodeURI(t).replace(/[?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function k(t){for(var e=new Array(t.length),r=0;r<t.length;r++)"object"==typeof t[r]&&(e[r]=new RegExp("^(?:"+t[r].pattern+")$"));return function(r,n){for(var o="",i=r||{},a=(n||{}).pretty?w:encodeURIComponent,u=0;u<t.length;u++){var c=t[u];if("string"!=typeof c){var s,p=i[c.name];if(null==p){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(It(p)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(s=a(p[f]),!e[u].test(s))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(s)+"`");o+=(0===f?c.prefix:c.delimiter)+s}}else{if(s=c.asterisk?x(p):a(p),!e[u].test(s))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+s+'"');o+=c.prefix+s}}else o+=c}return o}}function R(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function E(t){return t.replace(/([=!:$\/()])/g,"\\$1")}function O(t,e){return t.keys=e,t}function C(t){return t.sensitive?"":"i"}function A(t,e){var r=t.source.match(/\((?!\?)/g);if(r)for(var n=0;n<r.length;n++)e.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return O(t,e)}function j(t,e,r){for(var n=[],o=0;o<t.length;o++)n.push($(t[o],e,r).source);return O(new RegExp("(?:"+n.join("|")+")",C(r)),e)}function _(t,e,r){return T(b(t,r),e,r)}function T(t,e,r){It(e)||(r=e||r,e=[]);for(var n=(r=r||{}).strict,o=!1!==r.end,i="",a=0;a<t.length;a++){var u=t[a];if("string"==typeof u)i+=R(u);else{var c=R(u.prefix),s="(?:"+u.pattern+")";e.push(u),u.repeat&&(s+="(?:"+c+s+")*"),i+=s=u.optional?u.partial?c+"("+s+")?":"(?:"+c+"("+s+"))?":c+"("+s+")"}}var p=R(r.delimiter||"/"),f=i.slice(-p.length)===p;return n||(i=(f?i.slice(0,-p.length):i)+"(?:"+p+"(?=$))?"),i+=o?"$":n&&f?"":"(?="+p+"|$)",O(new RegExp("^"+i,C(r)),e)}function $(t,e,r){return It(e)||(r=e||r,e=[]),r=r||{},t instanceof RegExp?A(t,e):It(t)?j(t,e,r):_(t,e,r)}function S(t,e,r){try{return(Dt[t]||(Dt[t]=Mt.compile(t)))(e||{},{pretty:!0})}catch(t){return""}}function q(t,e,r,n){var o=e||[],i=r||Object.create(null),a=n||Object.create(null);t.forEach(function(t){L(o,i,a,t)});for(var u=0,c=o.length;u<c;u++)"*"===o[u]&&(o.push(o.splice(u,1)[0]),c--,u--);return{pathList:o,pathMap:i,nameMap:a}}function L(t,e,r,n,o,i){var a=n.path,u=n.name,c=U(a,o),s=n.pathToRegexpOptions||{};"boolean"==typeof n.caseSensitive&&(s.sensitive=n.caseSensitive);var p={path:c,regex:P(c,s),components:n.components||{default:n.component},instances:{},name:u,parent:o,matchAs:i,redirect:n.redirect,beforeEnter:n.beforeEnter,meta:n.meta||{},props:null==n.props?{}:n.components?n.props:{default:n.props}};n.children&&n.children.forEach(function(n){var o=i?g(i+"/"+n.path):void 0;L(t,e,r,n,p,o)}),void 0!==n.alias&&(Array.isArray(n.alias)?n.alias:[n.alias]).forEach(function(i){var a={path:i,children:n.children};L(t,e,r,a,o,p.path||"/")}),e[p.path]||(t.push(p.path),e[p.path]=p),u&&(r[u]||(r[u]=p))}function P(t,e){return Mt(t,[],e)}function U(t,e){return t=t.replace(/\/$/,""),"/"===t[0]?t:null==e?t:g(e.path+"/"+t)}function H(t,e,r,o){var i="string"==typeof t?{path:t}:t;if(i.name||i._normalized)return i;if(!i.path&&i.params&&e){(i=I({},i))._normalized=!0;var a=I(I({},e.params),i.params);if(e.name)i.name=e.name,i.params=a;else if(e.matched.length){var u=e.matched[e.matched.length-1].path;i.path=S(u,a,"path "+e.path)}return i}var c=m(i.path||""),s=e&&e.path||"/",p=c.path?v(c.path,s,r||i.append):s,f=n(c.query,i.query,o&&o.options.parseQuery),h=i.hash||c.hash;return h&&"#"!==h.charAt(0)&&(h="#"+h),{_normalized:!0,path:p,query:f,hash:h}}function I(t,e){for(var r in e)t[r]=e[r];return t}function M(t,e){function r(t,r,n){var o=H(t,r,!1,e),a=o.name;if(a){var u=p[a];if(!u)return i(null,o);var f=u.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if("object"!=typeof o.params&&(o.params={}),r&&"object"==typeof r.params)for(var h in r.params)!(h in o.params)&&f.indexOf(h)>-1&&(o.params[h]=r.params[h]);if(u)return o.path=S(u.path,o.params,'named route "'+a+'"'),i(u,o,n)}else if(o.path){o.params={};for(var l=0;l<c.length;l++){var d=c[l],y=s[d];if(V(y.regex,o.path,o.params))return i(y,o,n)}}return i(null,o)}function n(t,n){var o=t.redirect,u="function"==typeof o?o(a(t,n,null,e)):o;if("string"==typeof u&&(u={path:u}),!u||"object"!=typeof u)return i(null,n);var c=u,s=c.name,f=c.path,h=n.query,l=n.hash,d=n.params;if(h=c.hasOwnProperty("query")?c.query:h,l=c.hasOwnProperty("hash")?c.hash:l,d=c.hasOwnProperty("params")?c.params:d,s){p[s];return r({_normalized:!0,name:s,query:h,hash:l,params:d},void 0,n)}if(f){var y=z(f,t);return r({_normalized:!0,path:S(y,d,'redirect route with path "'+y+'"'),query:h,hash:l},void 0,n)}return i(null,n)}function o(t,e,n){var o=r({_normalized:!0,path:S(n,e.params,'aliased route with path "'+n+'"')});if(o){var a=o.matched,u=a[a.length-1];return e.params=o.params,i(u,e)}return i(null,e)}function i(t,r,i){return t&&t.redirect?n(t,i||r):t&&t.matchAs?o(t,r,t.matchAs):a(t,r,i,e)}var u=q(t),c=u.pathList,s=u.pathMap,p=u.nameMap;return{match:r,addRoutes:function(t){q(t,c,s,p)}}}function V(t,e,r){var n=e.match(t);if(!n)return!1;if(!r)return!0;for(var o=1,i=n.length;o<i;++o){var a=t.keys[o-1],u="string"==typeof n[o]?decodeURIComponent(n[o]):n[o];a&&(r[a.name]=u)}return!0}function z(t,e){return v(t,e.parent?e.parent.path:"/",!0)}function B(){window.addEventListener("popstate",function(t){D(),t.state&&t.state.key&&Z(t.state.key)})}function F(t,e,r,n){if(t.app){var o=t.options.scrollBehavior;o&&t.app.$nextTick(function(){var t=K(),i=o(e,r,n?t:null);if(i){var a="object"==typeof i;if(a&&"string"==typeof i.selector){var u=document.querySelector(i.selector);if(u){var c=i.offset&&"object"==typeof i.offset?i.offset:{};t=J(u,c=X(c))}else N(i)&&(t=Q(i))}else a&&N(i)&&(t=Q(i));t&&window.scrollTo(t.x,t.y)}})}}function D(){var t=G();t&&(Kt[t]={x:window.pageXOffset,y:window.pageYOffset})}function K(){var t=G();if(t)return Kt[t]}function J(t,e){var r=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:n.left-r.left-e.x,y:n.top-r.top-e.y}}function N(t){return Y(t.x)||Y(t.y)}function Q(t){return{x:Y(t.x)?t.x:window.pageXOffset,y:Y(t.y)?t.y:window.pageYOffset}}function X(t){return{x:Y(t.x)?t.x:0,y:Y(t.y)?t.y:0}}function Y(t){return"number"==typeof t}function W(){return Nt.now().toFixed(3)}function G(){return Qt}function Z(t){Qt=t}function tt(t,e){D();var r=window.history;try{e?r.replaceState({key:Qt},"",t):(Qt=W(),r.pushState({key:Qt},"",t))}catch(r){window.location[e?"replace":"assign"](t)}}function et(t){tt(t,!0)}function rt(t,e,r){var n=function(o){o>=t.length?r():t[o]?e(t[o],function(){n(o+1)}):n(o+1)};n(0)}function nt(t){return function(r,n,o){var i=!1,a=0,u=null;ot(t,function(t,r,n,c){if("function"==typeof t&&void 0===t.cid){i=!0,a++;var s,p=at(function(e){e.__esModule&&e.default&&(e=e.default),t.resolved="function"==typeof e?e:Ot.extend(e),n.components[c]=e,--a<=0&&o()}),f=at(function(t){var r="Failed to resolve async component "+c+": "+t;u||(u=e(t)?t:new Error(r),o(u))});try{s=t(p,f)}catch(t){f(t)}if(s)if("function"==typeof s.then)s.then(p,f);else{var h=s.component;h&&"function"==typeof h.then&&h.then(p,f)}}}),i||o()}}function ot(t,e){return it(t.map(function(t){return Object.keys(t.components).map(function(r){return e(t.components[r],t.instances[r],t,r)})}))}function it(t){return Array.prototype.concat.apply([],t)}function at(t){var e=!1;return function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];if(!e)return e=!0,t.apply(this,r)}}function ut(t){if(!t)if(Ht){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function ct(t,e){var r,n=Math.max(t.length,e.length);for(r=0;r<n&&t[r]===e[r];r++);return{updated:e.slice(0,r),activated:e.slice(r),deactivated:t.slice(r)}}function st(t,e,r,n){var o=ot(t,function(t,n,o,i){var a=pt(t,e);if(a)return Array.isArray(a)?a.map(function(t){return r(t,n,o,i)}):r(a,n,o,i)});return it(n?o.reverse():o)}function pt(t,e){return"function"!=typeof t&&(t=Ot.extend(t)),t.options[e]}function ft(t){return st(t,"beforeRouteLeave",lt,!0)}function ht(t){return st(t,"beforeRouteUpdate",lt)}function lt(t,e){if(e)return function(){return t.apply(e,arguments)}}function dt(t,e,r){return st(t,"beforeRouteEnter",function(t,n,o,i){return yt(t,o,i,e,r)})}function yt(t,e,r,n,o){return function(i,a,u){return t(i,a,function(t){u(t),"function"==typeof t&&n.push(function(){vt(t,e.instances,r,o)})})}}function vt(t,e,r,n){e[r]?t(e[r]):n()&&setTimeout(function(){vt(t,e,r,n)},16)}function mt(t){var e=window.location.pathname;return t&&0===e.indexOf(t)&&(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}function gt(t){var e=mt(t);if(!/^\/#/.test(e))return window.location.replace(g(t+"/#"+e)),!0}function bt(){var t=wt();return"/"===t.charAt(0)||(kt("/"+t),!1)}function wt(){var t=window.location.href,e=t.indexOf("#");return-1===e?"":t.slice(e+1)}function xt(t){window.location.hash=t}function kt(t){var e=window.location.href,r=e.indexOf("#"),n=r>=0?e.slice(0,r):e;window.location.replace(n+"#"+t)}function Rt(t,e){return t.push(e),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function Et(t,e,r){var n="hash"===r?"#"+e:e;return t?g(t+"/"+n):n}var Ot,Ct={name:"router-view",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,o=e.children,i=e.parent,a=e.data;a.routerView=!0;for(var u=i.$createElement,c=n.name,s=i.$route,p=i._routerViewCache||(i._routerViewCache={}),f=0,h=!1;i&&i._routerRoot!==i;)i.$vnode&&i.$vnode.data.routerView&&f++,i._inactive&&(h=!0),i=i.$parent;if(a.routerViewDepth=f,h)return u(p[c],a,o);var l=s.matched[f];if(!l)return p[c]=null,u();var d=p[c]=l.components[c];return a.registerRouteInstance=function(t,e){var r=l.instances[c];(e&&r!==t||!e&&r===t)&&(l.instances[c]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){l.instances[c]=e.componentInstance},a.props=r(s,l.props&&l.props[c]),u(d,a,o)}},At=/[!'()*]/g,jt=function(t){return"%"+t.charCodeAt(0).toString(16)},_t=/%2C/g,Tt=function(t){return encodeURIComponent(t).replace(At,jt).replace(_t,",")},$t=decodeURIComponent,St=/\/?$/,qt=a(null,{path:"/"}),Lt=[String,Object],Pt=[String,Array],Ut={name:"router-link",props:{to:{type:Lt,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:Pt,default:"click"}},render:function(t){var e=this,r=this.$router,n=this.$route,o=r.resolve(this.to,n,this.append),i=o.location,u=o.route,c=o.href,p={},h=r.options.linkActiveClass,y=r.options.linkExactActiveClass,v=null==h?"router-link-active":h,m=null==y?"router-link-exact-active":y,g=null==this.activeClass?v:this.activeClass,b=null==this.exactActiveClass?m:this.exactActiveClass,w=i.path?a(null,i,null,r):u;p[b]=s(n,w),p[g]=this.exact?p[b]:f(n,w);var x=function(t){l(t)&&(e.replace?r.replace(i):r.push(i))},k={click:l};Array.isArray(this.event)?this.event.forEach(function(t){k[t]=x}):k[this.event]=x;var R={class:p};if("a"===this.tag)R.on=k,R.attrs={href:c};else{var E=d(this.$slots.default);if(E){E.isStatic=!1;var O=Ot.util.extend;(E.data=O({},E.data)).on=k,(E.data.attrs=O({},E.data.attrs)).href=c}else R.on=k}return t(this.tag,R,this.$slots.default)}},Ht="undefined"!=typeof window,It=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},Mt=$,Vt=b,zt=k,Bt=T,Ft=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");Mt.parse=Vt,Mt.compile=function(t,e){return k(b(t,e))},Mt.tokensToFunction=zt,Mt.tokensToRegExp=Bt;var Dt=Object.create(null),Kt=Object.create(null),Jt=Ht&&function(){var t=window.navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)}(),Nt=Ht&&window.performance&&window.performance.now?window.performance:Date,Qt=W(),Xt=function(t,e){this.router=t,this.base=ut(e),this.current=qt,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};Xt.prototype.listen=function(t){this.cb=t},Xt.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Xt.prototype.onError=function(t){this.errorCbs.push(t)},Xt.prototype.transitionTo=function(t,e,r){var n=this,o=this.router.match(t,this.current);this.confirmTransition(o,function(){n.updateRoute(o),e&&e(o),n.ensureURL(),n.ready||(n.ready=!0,n.readyCbs.forEach(function(t){t(o)}))},function(t){r&&r(t),t&&!n.ready&&(n.ready=!0,n.readyErrorCbs.forEach(function(e){e(t)}))})},Xt.prototype.confirmTransition=function(r,n,o){var i=this,a=this.current,u=function(r){e(r)&&(i.errorCbs.length?i.errorCbs.forEach(function(t){t(r)}):(t(!1,"uncaught error during route navigation:"),console.error(r))),o&&o(r)};if(s(r,a)&&r.matched.length===a.matched.length)return this.ensureURL(),u();var c=ct(this.current.matched,r.matched),p=c.updated,f=c.deactivated,h=c.activated,l=[].concat(ft(f),this.router.beforeHooks,ht(p),h.map(function(t){return t.beforeEnter}),nt(h));this.pending=r;var d=function(t,n){if(i.pending!==r)return u();try{t(r,a,function(t){!1===t||e(t)?(i.ensureURL(!0),u(t)):"string"==typeof t||"object"==typeof t&&("string"==typeof t.path||"string"==typeof t.name)?(u(),"object"==typeof t&&t.replace?i.replace(t):i.push(t)):n(t)})}catch(t){u(t)}};rt(l,d,function(){var t=[];rt(dt(h,t,function(){return i.current===r}).concat(i.router.resolveHooks),d,function(){if(i.pending!==r)return u();i.pending=null,n(r),i.router.app&&i.router.app.$nextTick(function(){t.forEach(function(t){t()})})})})},Xt.prototype.updateRoute=function(t){var e=this.current;this.current=t,this.cb&&this.cb(t),this.router.afterHooks.forEach(function(r){r&&r(t,e)})};var Yt=function(t){function e(e,r){var n=this;t.call(this,e,r);var o=e.options.scrollBehavior;o&&B(),window.addEventListener("popstate",function(t){var r=n.current;n.transitionTo(mt(n.base),function(t){o&&F(e,t,r,!0)})})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,function(t){tt(g(n.base+t.fullPath)),F(n.router,t,o,!1),e&&e(t)},r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,function(t){et(g(n.base+t.fullPath)),F(n.router,t,o,!1),e&&e(t)},r)},e.prototype.ensureURL=function(t){if(mt(this.base)!==this.current.fullPath){var e=g(this.base+this.current.fullPath);t?tt(e):et(e)}},e.prototype.getCurrentLocation=function(){return mt(this.base)},e}(Xt),Wt=function(t){function e(e,r,n){t.call(this,e,r),n&>(this.base)||bt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;window.addEventListener("hashchange",function(){bt()&&t.transitionTo(wt(),function(t){kt(t.fullPath)})})},e.prototype.push=function(t,e,r){this.transitionTo(t,function(t){xt(t.fullPath),e&&e(t)},r)},e.prototype.replace=function(t,e,r){this.transitionTo(t,function(t){kt(t.fullPath),e&&e(t)},r)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;wt()!==e&&(t?xt(e):kt(e))},e.prototype.getCurrentLocation=function(){return wt()},e}(Xt),Gt=function(t){function e(e,r){t.call(this,e,r),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,r){var n=this;this.transitionTo(t,function(t){n.stack=n.stack.slice(0,n.index+1).concat(t),n.index++,e&&e(t)},r)},e.prototype.replace=function(t,e,r){var n=this;this.transitionTo(t,function(t){n.stack=n.stack.slice(0,n.index).concat(t),e&&e(t)},r)},e.prototype.go=function(t){var e=this,r=this.index+t;if(!(r<0||r>=this.stack.length)){var n=this.stack[r];this.confirmTransition(n,function(){e.index=r,e.updateRoute(n)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Xt),Zt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=M(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Jt&&!1!==t.fallback,this.fallback&&(e="hash"),Ht||(e="abstract"),this.mode=e,e){case"history":this.history=new Yt(this,t.base);break;case"hash":this.history=new Wt(this,t.base,this.fallback);break;case"abstract":this.history=new Gt(this,t.base)}},te={currentRoute:{}};return Zt.prototype.match=function(t,e,r){return this.matcher.match(t,e,r)},te.currentRoute.get=function(){return this.history&&this.history.current},Zt.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var r=this.history;if(r instanceof Yt)r.transitionTo(r.getCurrentLocation());else if(r instanceof Wt){var n=function(){r.setupListeners()};r.transitionTo(r.getCurrentLocation(),n,n)}r.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},Zt.prototype.beforeEach=function(t){return Rt(this.beforeHooks,t)},Zt.prototype.beforeResolve=function(t){return Rt(this.resolveHooks,t)},Zt.prototype.afterEach=function(t){return Rt(this.afterHooks,t)},Zt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Zt.prototype.onError=function(t){this.history.onError(t)},Zt.prototype.push=function(t,e,r){this.history.push(t,e,r)},Zt.prototype.replace=function(t,e,r){this.history.replace(t,e,r)},Zt.prototype.go=function(t){this.history.go(t)},Zt.prototype.back=function(){this.go(-1)},Zt.prototype.forward=function(){this.go(1)},Zt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},Zt.prototype.resolve=function(t,e,r){var n=H(t,e||this.history.current,r,this),o=this.match(n,e),i=o.redirectedFrom||o.fullPath;return{location:n,route:o,href:Et(this.history.base,i,this.mode),normalizedTo:n,resolved:o}},Zt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==qt&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Zt.prototype,te),Zt.install=y,Zt.version="2.7.0",Ht&&window.Vue&&window.Vue.use(Zt),Zt});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vue.js v2.
|
2
|
+
* Vue.js v2.4.2
|
3
3
|
* (c) 2014-2017 Evan You
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -25,11 +25,19 @@ function isTrue (v) {
|
|
25
25
|
return v === true
|
26
26
|
}
|
27
27
|
|
28
|
+
function isFalse (v) {
|
29
|
+
return v === false
|
30
|
+
}
|
31
|
+
|
28
32
|
/**
|
29
33
|
* Check if value is primitive
|
30
34
|
*/
|
31
35
|
function isPrimitive (value) {
|
32
|
-
return
|
36
|
+
return (
|
37
|
+
typeof value === 'string' ||
|
38
|
+
typeof value === 'number' ||
|
39
|
+
typeof value === 'boolean'
|
40
|
+
)
|
33
41
|
}
|
34
42
|
|
35
43
|
/**
|
@@ -55,6 +63,14 @@ function isRegExp (v) {
|
|
55
63
|
return _toString.call(v) === '[object RegExp]'
|
56
64
|
}
|
57
65
|
|
66
|
+
/**
|
67
|
+
* Check if val is a valid array index.
|
68
|
+
*/
|
69
|
+
function isValidArrayIndex (val) {
|
70
|
+
var n = parseFloat(val);
|
71
|
+
return n >= 0 && Math.floor(n) === n && isFinite(val)
|
72
|
+
}
|
73
|
+
|
58
74
|
/**
|
59
75
|
* Convert a value to a string that is actually rendered.
|
60
76
|
*/
|
@@ -98,6 +114,11 @@ function makeMap (
|
|
98
114
|
*/
|
99
115
|
var isBuiltInTag = makeMap('slot,component', true);
|
100
116
|
|
117
|
+
/**
|
118
|
+
* Check if a attribute is a reserved attribute.
|
119
|
+
*/
|
120
|
+
var isReservedAttribute = makeMap('key,ref,slot,is');
|
121
|
+
|
101
122
|
/**
|
102
123
|
* Remove an item from an array
|
103
124
|
*/
|
@@ -210,13 +231,15 @@ function toObject (arr) {
|
|
210
231
|
|
211
232
|
/**
|
212
233
|
* Perform no operation.
|
234
|
+
* Stubbing args to make Flow happy without leaving useless transpiled code
|
235
|
+
* with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)
|
213
236
|
*/
|
214
|
-
function noop () {}
|
237
|
+
function noop (a, b, c) {}
|
215
238
|
|
216
239
|
/**
|
217
240
|
* Always return false.
|
218
241
|
*/
|
219
|
-
var no = function () { return false; };
|
242
|
+
var no = function (a, b, c) { return false; };
|
220
243
|
|
221
244
|
/**
|
222
245
|
* Return same value
|
@@ -237,14 +260,30 @@ function genStaticKeys (modules) {
|
|
237
260
|
* if they are plain objects, do they have the same shape?
|
238
261
|
*/
|
239
262
|
function looseEqual (a, b) {
|
263
|
+
if (a === b) { return true }
|
240
264
|
var isObjectA = isObject(a);
|
241
265
|
var isObjectB = isObject(b);
|
242
266
|
if (isObjectA && isObjectB) {
|
243
267
|
try {
|
244
|
-
|
268
|
+
var isArrayA = Array.isArray(a);
|
269
|
+
var isArrayB = Array.isArray(b);
|
270
|
+
if (isArrayA && isArrayB) {
|
271
|
+
return a.length === b.length && a.every(function (e, i) {
|
272
|
+
return looseEqual(e, b[i])
|
273
|
+
})
|
274
|
+
} else if (!isArrayA && !isArrayB) {
|
275
|
+
var keysA = Object.keys(a);
|
276
|
+
var keysB = Object.keys(b);
|
277
|
+
return keysA.length === keysB.length && keysA.every(function (key) {
|
278
|
+
return looseEqual(a[key], b[key])
|
279
|
+
})
|
280
|
+
} else {
|
281
|
+
/* istanbul ignore next */
|
282
|
+
return false
|
283
|
+
}
|
245
284
|
} catch (e) {
|
246
|
-
|
247
|
-
return
|
285
|
+
/* istanbul ignore next */
|
286
|
+
return false
|
248
287
|
}
|
249
288
|
} else if (!isObjectA && !isObjectB) {
|
250
289
|
return String(a) === String(b)
|
@@ -327,6 +366,11 @@ var config = ({
|
|
327
366
|
*/
|
328
367
|
errorHandler: null,
|
329
368
|
|
369
|
+
/**
|
370
|
+
* Warn handler for watcher warns
|
371
|
+
*/
|
372
|
+
warnHandler: null,
|
373
|
+
|
330
374
|
/**
|
331
375
|
* Ignore certain custom elements
|
332
376
|
*/
|
@@ -433,10 +477,12 @@ var formatComponentName = (null); // work around flow check
|
|
433
477
|
.replace(/[-_]/g, ''); };
|
434
478
|
|
435
479
|
warn = function (msg, vm) {
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
)
|
480
|
+
var trace = vm ? generateComponentTrace(vm) : '';
|
481
|
+
|
482
|
+
if (config.warnHandler) {
|
483
|
+
config.warnHandler.call(null, msg, vm, trace);
|
484
|
+
} else if (hasConsole && (!config.silent)) {
|
485
|
+
console.error(("[Vue warn]: " + msg + trace));
|
440
486
|
}
|
441
487
|
};
|
442
488
|
|
@@ -546,6 +592,9 @@ var isAndroid = UA && UA.indexOf('android') > 0;
|
|
546
592
|
var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);
|
547
593
|
var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
|
548
594
|
|
595
|
+
// Firefix has a "watch" function on Object.prototype...
|
596
|
+
var nativeWatch = ({}).watch;
|
597
|
+
|
549
598
|
var supportsPassive = false;
|
550
599
|
if (inBrowser) {
|
551
600
|
try {
|
@@ -555,7 +604,7 @@ if (inBrowser) {
|
|
555
604
|
/* istanbul ignore next */
|
556
605
|
supportsPassive = true;
|
557
606
|
}
|
558
|
-
}
|
607
|
+
})); // https://github.com/facebook/flow/issues/285
|
559
608
|
window.addEventListener('test-passive', null, opts);
|
560
609
|
} catch (e) {}
|
561
610
|
}
|
@@ -770,22 +819,14 @@ var arrayMethods = Object.create(arrayProto);[
|
|
770
819
|
// cache original method
|
771
820
|
var original = arrayProto[method];
|
772
821
|
def(arrayMethods, method, function mutator () {
|
773
|
-
var
|
822
|
+
var args = [], len = arguments.length;
|
823
|
+
while ( len-- ) args[ len ] = arguments[ len ];
|
774
824
|
|
775
|
-
// avoid leaking arguments:
|
776
|
-
// http://jsperf.com/closure-with-arguments
|
777
|
-
var i = arguments.length;
|
778
|
-
var args = new Array(i);
|
779
|
-
while (i--) {
|
780
|
-
args[i] = arguments$1[i];
|
781
|
-
}
|
782
825
|
var result = original.apply(this, args);
|
783
826
|
var ob = this.__ob__;
|
784
827
|
var inserted;
|
785
828
|
switch (method) {
|
786
829
|
case 'push':
|
787
|
-
inserted = args;
|
788
|
-
break
|
789
830
|
case 'unshift':
|
790
831
|
inserted = args;
|
791
832
|
break
|
@@ -811,8 +852,7 @@ var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
|
|
811
852
|
* under a frozen data structure. Converting it would defeat the optimization.
|
812
853
|
*/
|
813
854
|
var observerState = {
|
814
|
-
shouldConvert: true
|
815
|
-
isSettingProps: false
|
855
|
+
shouldConvert: true
|
816
856
|
};
|
817
857
|
|
818
858
|
/**
|
@@ -864,7 +904,7 @@ Observer.prototype.observeArray = function observeArray (items) {
|
|
864
904
|
* Augment an target Object or Array by intercepting
|
865
905
|
* the prototype chain using __proto__
|
866
906
|
*/
|
867
|
-
function protoAugment (target, src) {
|
907
|
+
function protoAugment (target, src, keys) {
|
868
908
|
/* eslint-disable no-proto */
|
869
909
|
target.__proto__ = src;
|
870
910
|
/* eslint-enable no-proto */
|
@@ -916,7 +956,8 @@ function defineReactive$$1 (
|
|
916
956
|
obj,
|
917
957
|
key,
|
918
958
|
val,
|
919
|
-
customSetter
|
959
|
+
customSetter,
|
960
|
+
shallow
|
920
961
|
) {
|
921
962
|
var dep = new Dep();
|
922
963
|
|
@@ -929,7 +970,7 @@ function defineReactive$$1 (
|
|
929
970
|
var getter = property && property.get;
|
930
971
|
var setter = property && property.set;
|
931
972
|
|
932
|
-
var childOb = observe(val);
|
973
|
+
var childOb = !shallow && observe(val);
|
933
974
|
Object.defineProperty(obj, key, {
|
934
975
|
enumerable: true,
|
935
976
|
configurable: true,
|
@@ -961,7 +1002,7 @@ function defineReactive$$1 (
|
|
961
1002
|
} else {
|
962
1003
|
val = newVal;
|
963
1004
|
}
|
964
|
-
childOb = observe(newVal);
|
1005
|
+
childOb = !shallow && observe(newVal);
|
965
1006
|
dep.notify();
|
966
1007
|
}
|
967
1008
|
});
|
@@ -973,7 +1014,7 @@ function defineReactive$$1 (
|
|
973
1014
|
* already exist.
|
974
1015
|
*/
|
975
1016
|
function set (target, key, val) {
|
976
|
-
if (Array.isArray(target) &&
|
1017
|
+
if (Array.isArray(target) && isValidArrayIndex(key)) {
|
977
1018
|
target.length = Math.max(target.length, key);
|
978
1019
|
target.splice(key, 1, val);
|
979
1020
|
return val
|
@@ -982,7 +1023,7 @@ function set (target, key, val) {
|
|
982
1023
|
target[key] = val;
|
983
1024
|
return val
|
984
1025
|
}
|
985
|
-
var ob = (target
|
1026
|
+
var ob = (target).__ob__;
|
986
1027
|
if (target._isVue || (ob && ob.vmCount)) {
|
987
1028
|
"development" !== 'production' && warn(
|
988
1029
|
'Avoid adding reactive properties to a Vue instance or its root $data ' +
|
@@ -1003,11 +1044,11 @@ function set (target, key, val) {
|
|
1003
1044
|
* Delete a property and trigger change if necessary.
|
1004
1045
|
*/
|
1005
1046
|
function del (target, key) {
|
1006
|
-
if (Array.isArray(target) &&
|
1047
|
+
if (Array.isArray(target) && isValidArrayIndex(key)) {
|
1007
1048
|
target.splice(key, 1);
|
1008
1049
|
return
|
1009
1050
|
}
|
1010
|
-
var ob = (target
|
1051
|
+
var ob = (target).__ob__;
|
1011
1052
|
if (target._isVue || (ob && ob.vmCount)) {
|
1012
1053
|
"development" !== 'production' && warn(
|
1013
1054
|
'Avoid deleting properties on a Vue instance or its root $data ' +
|
@@ -1086,7 +1127,7 @@ function mergeData (to, from) {
|
|
1086
1127
|
/**
|
1087
1128
|
* Data
|
1088
1129
|
*/
|
1089
|
-
|
1130
|
+
function mergeDataOrFn (
|
1090
1131
|
parentVal,
|
1091
1132
|
childVal,
|
1092
1133
|
vm
|
@@ -1096,15 +1137,6 @@ strats.data = function (
|
|
1096
1137
|
if (!childVal) {
|
1097
1138
|
return parentVal
|
1098
1139
|
}
|
1099
|
-
if (typeof childVal !== 'function') {
|
1100
|
-
"development" !== 'production' && warn(
|
1101
|
-
'The "data" option should be a function ' +
|
1102
|
-
'that returns a per-instance value in component ' +
|
1103
|
-
'definitions.',
|
1104
|
-
vm
|
1105
|
-
);
|
1106
|
-
return parentVal
|
1107
|
-
}
|
1108
1140
|
if (!parentVal) {
|
1109
1141
|
return childVal
|
1110
1142
|
}
|
@@ -1115,8 +1147,8 @@ strats.data = function (
|
|
1115
1147
|
// it has to be a function to pass previous merges.
|
1116
1148
|
return function mergedDataFn () {
|
1117
1149
|
return mergeData(
|
1118
|
-
childVal.call(this),
|
1119
|
-
parentVal.call(this)
|
1150
|
+
typeof childVal === 'function' ? childVal.call(this) : childVal,
|
1151
|
+
typeof parentVal === 'function' ? parentVal.call(this) : parentVal
|
1120
1152
|
)
|
1121
1153
|
}
|
1122
1154
|
} else if (parentVal || childVal) {
|
@@ -1135,6 +1167,28 @@ strats.data = function (
|
|
1135
1167
|
}
|
1136
1168
|
}
|
1137
1169
|
}
|
1170
|
+
}
|
1171
|
+
|
1172
|
+
strats.data = function (
|
1173
|
+
parentVal,
|
1174
|
+
childVal,
|
1175
|
+
vm
|
1176
|
+
) {
|
1177
|
+
if (!vm) {
|
1178
|
+
if (childVal && typeof childVal !== 'function') {
|
1179
|
+
"development" !== 'production' && warn(
|
1180
|
+
'The "data" option should be a function ' +
|
1181
|
+
'that returns a per-instance value in component ' +
|
1182
|
+
'definitions.',
|
1183
|
+
vm
|
1184
|
+
);
|
1185
|
+
|
1186
|
+
return parentVal
|
1187
|
+
}
|
1188
|
+
return mergeDataOrFn.call(this, parentVal, childVal)
|
1189
|
+
}
|
1190
|
+
|
1191
|
+
return mergeDataOrFn(parentVal, childVal, vm)
|
1138
1192
|
};
|
1139
1193
|
|
1140
1194
|
/**
|
@@ -1182,6 +1236,9 @@ ASSET_TYPES.forEach(function (type) {
|
|
1182
1236
|
* another, so we merge them as arrays.
|
1183
1237
|
*/
|
1184
1238
|
strats.watch = function (parentVal, childVal) {
|
1239
|
+
// work around Firefox's Object.prototype.watch...
|
1240
|
+
if (parentVal === nativeWatch) { parentVal = undefined; }
|
1241
|
+
if (childVal === nativeWatch) { childVal = undefined; }
|
1185
1242
|
/* istanbul ignore if */
|
1186
1243
|
if (!childVal) { return Object.create(parentVal || null) }
|
1187
1244
|
if (!parentVal) { return childVal }
|
@@ -1195,7 +1252,7 @@ strats.watch = function (parentVal, childVal) {
|
|
1195
1252
|
}
|
1196
1253
|
ret[key] = parent
|
1197
1254
|
? parent.concat(child)
|
1198
|
-
: [child];
|
1255
|
+
: Array.isArray(child) ? child : [child];
|
1199
1256
|
}
|
1200
1257
|
return ret
|
1201
1258
|
};
|
@@ -1205,14 +1262,15 @@ strats.watch = function (parentVal, childVal) {
|
|
1205
1262
|
*/
|
1206
1263
|
strats.props =
|
1207
1264
|
strats.methods =
|
1265
|
+
strats.inject =
|
1208
1266
|
strats.computed = function (parentVal, childVal) {
|
1209
|
-
if (!childVal) { return Object.create(parentVal || null) }
|
1210
1267
|
if (!parentVal) { return childVal }
|
1211
1268
|
var ret = Object.create(null);
|
1212
1269
|
extend(ret, parentVal);
|
1213
|
-
extend(ret, childVal);
|
1270
|
+
if (childVal) { extend(ret, childVal); }
|
1214
1271
|
return ret
|
1215
1272
|
};
|
1273
|
+
strats.provide = mergeDataOrFn;
|
1216
1274
|
|
1217
1275
|
/**
|
1218
1276
|
* Default strategy.
|
@@ -1270,6 +1328,19 @@ function normalizeProps (options) {
|
|
1270
1328
|
options.props = res;
|
1271
1329
|
}
|
1272
1330
|
|
1331
|
+
/**
|
1332
|
+
* Normalize all injections into Object-based format
|
1333
|
+
*/
|
1334
|
+
function normalizeInject (options) {
|
1335
|
+
var inject = options.inject;
|
1336
|
+
if (Array.isArray(inject)) {
|
1337
|
+
var normalized = options.inject = {};
|
1338
|
+
for (var i = 0; i < inject.length; i++) {
|
1339
|
+
normalized[inject[i]] = inject[i];
|
1340
|
+
}
|
1341
|
+
}
|
1342
|
+
}
|
1343
|
+
|
1273
1344
|
/**
|
1274
1345
|
* Normalize raw function directives into object format.
|
1275
1346
|
*/
|
@@ -1303,6 +1374,7 @@ function mergeOptions (
|
|
1303
1374
|
}
|
1304
1375
|
|
1305
1376
|
normalizeProps(child);
|
1377
|
+
normalizeInject(child);
|
1306
1378
|
normalizeDirectives(child);
|
1307
1379
|
var extendsFrom = child.extends;
|
1308
1380
|
if (extendsFrom) {
|
@@ -1420,7 +1492,8 @@ function getPropDefaultValue (vm, prop, key) {
|
|
1420
1492
|
// return previous default value to avoid unnecessary watcher trigger
|
1421
1493
|
if (vm && vm.$options.propsData &&
|
1422
1494
|
vm.$options.propsData[key] === undefined &&
|
1423
|
-
vm._props[key] !== undefined
|
1495
|
+
vm._props[key] !== undefined
|
1496
|
+
) {
|
1424
1497
|
return vm._props[key]
|
1425
1498
|
}
|
1426
1499
|
// call factory function for non-Function types
|
@@ -1634,7 +1707,8 @@ var VNode = function VNode (
|
|
1634
1707
|
text,
|
1635
1708
|
elm,
|
1636
1709
|
context,
|
1637
|
-
componentOptions
|
1710
|
+
componentOptions,
|
1711
|
+
asyncFactory
|
1638
1712
|
) {
|
1639
1713
|
this.tag = tag;
|
1640
1714
|
this.data = data;
|
@@ -1654,6 +1728,9 @@ var VNode = function VNode (
|
|
1654
1728
|
this.isComment = false;
|
1655
1729
|
this.isCloned = false;
|
1656
1730
|
this.isOnce = false;
|
1731
|
+
this.asyncFactory = asyncFactory;
|
1732
|
+
this.asyncMeta = undefined;
|
1733
|
+
this.isAsyncPlaceholder = false;
|
1657
1734
|
};
|
1658
1735
|
|
1659
1736
|
var prototypeAccessors = { child: {} };
|
@@ -1666,9 +1743,11 @@ prototypeAccessors.child.get = function () {
|
|
1666
1743
|
|
1667
1744
|
Object.defineProperties( VNode.prototype, prototypeAccessors );
|
1668
1745
|
|
1669
|
-
var createEmptyVNode = function () {
|
1746
|
+
var createEmptyVNode = function (text) {
|
1747
|
+
if ( text === void 0 ) text = '';
|
1748
|
+
|
1670
1749
|
var node = new VNode();
|
1671
|
-
node.text =
|
1750
|
+
node.text = text;
|
1672
1751
|
node.isComment = true;
|
1673
1752
|
return node
|
1674
1753
|
};
|
@@ -1689,11 +1768,13 @@ function cloneVNode (vnode) {
|
|
1689
1768
|
vnode.text,
|
1690
1769
|
vnode.elm,
|
1691
1770
|
vnode.context,
|
1692
|
-
vnode.componentOptions
|
1771
|
+
vnode.componentOptions,
|
1772
|
+
vnode.asyncFactory
|
1693
1773
|
);
|
1694
1774
|
cloned.ns = vnode.ns;
|
1695
1775
|
cloned.isStatic = vnode.isStatic;
|
1696
1776
|
cloned.key = vnode.key;
|
1777
|
+
cloned.isComment = vnode.isComment;
|
1697
1778
|
cloned.isCloned = true;
|
1698
1779
|
return cloned
|
1699
1780
|
}
|
@@ -1730,8 +1811,9 @@ function createFnInvoker (fns) {
|
|
1730
1811
|
|
1731
1812
|
var fns = invoker.fns;
|
1732
1813
|
if (Array.isArray(fns)) {
|
1733
|
-
|
1734
|
-
|
1814
|
+
var cloned = fns.slice();
|
1815
|
+
for (var i = 0; i < cloned.length; i++) {
|
1816
|
+
cloned[i].apply(null, arguments$1);
|
1735
1817
|
}
|
1736
1818
|
} else {
|
1737
1819
|
// return handler return value for single handlers
|
@@ -1912,6 +1994,10 @@ function normalizeChildren (children) {
|
|
1912
1994
|
: undefined
|
1913
1995
|
}
|
1914
1996
|
|
1997
|
+
function isTextNode (node) {
|
1998
|
+
return isDef(node) && isDef(node.text) && isFalse(node.isComment)
|
1999
|
+
}
|
2000
|
+
|
1915
2001
|
function normalizeArrayChildren (children, nestedIndex) {
|
1916
2002
|
var res = [];
|
1917
2003
|
var i, c, last;
|
@@ -1923,18 +2009,25 @@ function normalizeArrayChildren (children, nestedIndex) {
|
|
1923
2009
|
if (Array.isArray(c)) {
|
1924
2010
|
res.push.apply(res, normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)));
|
1925
2011
|
} else if (isPrimitive(c)) {
|
1926
|
-
if (
|
1927
|
-
|
2012
|
+
if (isTextNode(last)) {
|
2013
|
+
// merge adjacent text nodes
|
2014
|
+
// this is necessary for SSR hydration because text nodes are
|
2015
|
+
// essentially merged when rendered to HTML strings
|
2016
|
+
(last).text += String(c);
|
1928
2017
|
} else if (c !== '') {
|
1929
2018
|
// convert primitive to vnode
|
1930
2019
|
res.push(createTextVNode(c));
|
1931
2020
|
}
|
1932
2021
|
} else {
|
1933
|
-
if (
|
2022
|
+
if (isTextNode(c) && isTextNode(last)) {
|
2023
|
+
// merge adjacent text nodes
|
1934
2024
|
res[res.length - 1] = createTextVNode(last.text + c.text);
|
1935
2025
|
} else {
|
1936
2026
|
// default key for nested array children (likely generated by v-for)
|
1937
|
-
if (
|
2027
|
+
if (isTrue(children._isVList) &&
|
2028
|
+
isDef(c.tag) &&
|
2029
|
+
isUndef(c.key) &&
|
2030
|
+
isDef(nestedIndex)) {
|
1938
2031
|
c.key = "__vlist" + nestedIndex + "_" + i + "__";
|
1939
2032
|
}
|
1940
2033
|
res.push(c);
|
@@ -1947,11 +2040,27 @@ function normalizeArrayChildren (children, nestedIndex) {
|
|
1947
2040
|
/* */
|
1948
2041
|
|
1949
2042
|
function ensureCtor (comp, base) {
|
2043
|
+
if (comp.__esModule && comp.default) {
|
2044
|
+
comp = comp.default;
|
2045
|
+
}
|
1950
2046
|
return isObject(comp)
|
1951
2047
|
? base.extend(comp)
|
1952
2048
|
: comp
|
1953
2049
|
}
|
1954
2050
|
|
2051
|
+
function createAsyncPlaceholder (
|
2052
|
+
factory,
|
2053
|
+
data,
|
2054
|
+
context,
|
2055
|
+
children,
|
2056
|
+
tag
|
2057
|
+
) {
|
2058
|
+
var node = createEmptyVNode();
|
2059
|
+
node.asyncFactory = factory;
|
2060
|
+
node.asyncMeta = { data: data, context: context, children: children, tag: tag };
|
2061
|
+
return node
|
2062
|
+
}
|
2063
|
+
|
1955
2064
|
function resolveAsyncComponent (
|
1956
2065
|
factory,
|
1957
2066
|
baseCtor,
|
@@ -2034,9 +2143,11 @@ function resolveAsyncComponent (
|
|
2034
2143
|
|
2035
2144
|
if (isDef(res.timeout)) {
|
2036
2145
|
setTimeout(function () {
|
2037
|
-
|
2038
|
-
|
2039
|
-
|
2146
|
+
if (isUndef(factory.resolved)) {
|
2147
|
+
reject(
|
2148
|
+
"timeout (" + (res.timeout) + "ms)"
|
2149
|
+
);
|
2150
|
+
}
|
2040
2151
|
}, res.timeout);
|
2041
2152
|
}
|
2042
2153
|
}
|
@@ -2189,7 +2300,11 @@ function eventsMixin (Vue) {
|
|
2189
2300
|
cbs = cbs.length > 1 ? toArray(cbs) : cbs;
|
2190
2301
|
var args = toArray(arguments, 1);
|
2191
2302
|
for (var i = 0, l = cbs.length; i < l; i++) {
|
2192
|
-
|
2303
|
+
try {
|
2304
|
+
cbs[i].apply(vm, args);
|
2305
|
+
} catch (e) {
|
2306
|
+
handleError(e, vm, ("event handler for \"" + event + "\""));
|
2307
|
+
}
|
2193
2308
|
}
|
2194
2309
|
}
|
2195
2310
|
return vm
|
@@ -2215,7 +2330,8 @@ function resolveSlots (
|
|
2215
2330
|
// named slots should only be respected if the vnode was rendered in the
|
2216
2331
|
// same context.
|
2217
2332
|
if ((child.context === context || child.functionalContext === context) &&
|
2218
|
-
|
2333
|
+
child.data && child.data.slot != null
|
2334
|
+
) {
|
2219
2335
|
var name = child.data.slot;
|
2220
2336
|
var slot = (slots[name] || (slots[name] = []));
|
2221
2337
|
if (child.tag === 'template') {
|
@@ -2239,11 +2355,16 @@ function isWhitespace (node) {
|
|
2239
2355
|
}
|
2240
2356
|
|
2241
2357
|
function resolveScopedSlots (
|
2242
|
-
fns
|
2358
|
+
fns, // see flow/vnode
|
2359
|
+
res
|
2243
2360
|
) {
|
2244
|
-
|
2361
|
+
res = res || {};
|
2245
2362
|
for (var i = 0; i < fns.length; i++) {
|
2246
|
-
|
2363
|
+
if (Array.isArray(fns[i])) {
|
2364
|
+
resolveScopedSlots(fns[i], res);
|
2365
|
+
} else {
|
2366
|
+
res[fns[i].key] = fns[i].fn;
|
2367
|
+
}
|
2247
2368
|
}
|
2248
2369
|
return res
|
2249
2370
|
}
|
@@ -2251,6 +2372,7 @@ function resolveScopedSlots (
|
|
2251
2372
|
/* */
|
2252
2373
|
|
2253
2374
|
var activeInstance = null;
|
2375
|
+
var isUpdatingChildComponent = false;
|
2254
2376
|
|
2255
2377
|
function initLifecycle (vm) {
|
2256
2378
|
var options = vm.$options;
|
@@ -2298,6 +2420,9 @@ function lifecycleMixin (Vue) {
|
|
2298
2420
|
vm.$options._parentElm,
|
2299
2421
|
vm.$options._refElm
|
2300
2422
|
);
|
2423
|
+
// no need for the ref nodes after initial patch
|
2424
|
+
// this prevents keeping a detached DOM tree in memory (#5851)
|
2425
|
+
vm.$options._parentElm = vm.$options._refElm = null;
|
2301
2426
|
} else {
|
2302
2427
|
// updates
|
2303
2428
|
vm.$el = vm.__patch__(prevVnode, vnode);
|
@@ -2362,8 +2487,6 @@ function lifecycleMixin (Vue) {
|
|
2362
2487
|
if (vm.$el) {
|
2363
2488
|
vm.$el.__vue__ = null;
|
2364
2489
|
}
|
2365
|
-
// remove reference to DOM nodes (prevents leak)
|
2366
|
-
vm.$options._parentElm = vm.$options._refElm = null;
|
2367
2490
|
};
|
2368
2491
|
}
|
2369
2492
|
|
@@ -2439,6 +2562,10 @@ function updateChildComponent (
|
|
2439
2562
|
parentVnode,
|
2440
2563
|
renderChildren
|
2441
2564
|
) {
|
2565
|
+
{
|
2566
|
+
isUpdatingChildComponent = true;
|
2567
|
+
}
|
2568
|
+
|
2442
2569
|
// determine whether component has slot children
|
2443
2570
|
// we need to do this before overwriting $options._renderChildren
|
2444
2571
|
var hasChildren = !!(
|
@@ -2450,17 +2577,21 @@ function updateChildComponent (
|
|
2450
2577
|
|
2451
2578
|
vm.$options._parentVnode = parentVnode;
|
2452
2579
|
vm.$vnode = parentVnode; // update vm's placeholder node without re-render
|
2580
|
+
|
2453
2581
|
if (vm._vnode) { // update child tree's parent
|
2454
2582
|
vm._vnode.parent = parentVnode;
|
2455
2583
|
}
|
2456
2584
|
vm.$options._renderChildren = renderChildren;
|
2457
2585
|
|
2586
|
+
// update $attrs and $listensers hash
|
2587
|
+
// these are also reactive so they may trigger child update if the child
|
2588
|
+
// used them during render
|
2589
|
+
vm.$attrs = parentVnode.data && parentVnode.data.attrs;
|
2590
|
+
vm.$listeners = listeners;
|
2591
|
+
|
2458
2592
|
// update props
|
2459
2593
|
if (propsData && vm.$options.props) {
|
2460
2594
|
observerState.shouldConvert = false;
|
2461
|
-
{
|
2462
|
-
observerState.isSettingProps = true;
|
2463
|
-
}
|
2464
2595
|
var props = vm._props;
|
2465
2596
|
var propKeys = vm.$options._propKeys || [];
|
2466
2597
|
for (var i = 0; i < propKeys.length; i++) {
|
@@ -2468,12 +2599,10 @@ function updateChildComponent (
|
|
2468
2599
|
props[key] = validateProp(key, vm.$options.props, propsData, vm);
|
2469
2600
|
}
|
2470
2601
|
observerState.shouldConvert = true;
|
2471
|
-
{
|
2472
|
-
observerState.isSettingProps = false;
|
2473
|
-
}
|
2474
2602
|
// keep a copy of raw propsData
|
2475
2603
|
vm.$options.propsData = propsData;
|
2476
2604
|
}
|
2605
|
+
|
2477
2606
|
// update listeners
|
2478
2607
|
if (listeners) {
|
2479
2608
|
var oldListeners = vm.$options._parentListeners;
|
@@ -2485,6 +2614,10 @@ function updateChildComponent (
|
|
2485
2614
|
vm.$slots = resolveSlots(renderChildren, parentVnode.context);
|
2486
2615
|
vm.$forceUpdate();
|
2487
2616
|
}
|
2617
|
+
|
2618
|
+
{
|
2619
|
+
isUpdatingChildComponent = false;
|
2620
|
+
}
|
2488
2621
|
}
|
2489
2622
|
|
2490
2623
|
function isInInactiveTree (vm) {
|
@@ -2561,7 +2694,7 @@ var index = 0;
|
|
2561
2694
|
* Reset the scheduler's state.
|
2562
2695
|
*/
|
2563
2696
|
function resetSchedulerState () {
|
2564
|
-
queue.length = activatedChildren.length = 0;
|
2697
|
+
index = queue.length = activatedChildren.length = 0;
|
2565
2698
|
has = {};
|
2566
2699
|
{
|
2567
2700
|
circular = {};
|
@@ -2618,7 +2751,7 @@ function flushSchedulerQueue () {
|
|
2618
2751
|
|
2619
2752
|
// call component updated and activated hooks
|
2620
2753
|
callActivatedHooks(activatedQueue);
|
2621
|
-
|
2754
|
+
callUpdatedHooks(updatedQueue);
|
2622
2755
|
|
2623
2756
|
// devtool hook
|
2624
2757
|
/* istanbul ignore if */
|
@@ -2627,7 +2760,7 @@ function flushSchedulerQueue () {
|
|
2627
2760
|
}
|
2628
2761
|
}
|
2629
2762
|
|
2630
|
-
function
|
2763
|
+
function callUpdatedHooks (queue) {
|
2631
2764
|
var i = queue.length;
|
2632
2765
|
while (i--) {
|
2633
2766
|
var watcher = queue[i];
|
@@ -2671,10 +2804,10 @@ function queueWatcher (watcher) {
|
|
2671
2804
|
// if already flushing, splice the watcher based on its id
|
2672
2805
|
// if already past its id, it will be run next immediately.
|
2673
2806
|
var i = queue.length - 1;
|
2674
|
-
while (i
|
2807
|
+
while (i > index && queue[i].id > watcher.id) {
|
2675
2808
|
i--;
|
2676
2809
|
}
|
2677
|
-
queue.splice(
|
2810
|
+
queue.splice(i + 1, 0, watcher);
|
2678
2811
|
}
|
2679
2812
|
// queue the flush
|
2680
2813
|
if (!waiting) {
|
@@ -2746,22 +2879,23 @@ Watcher.prototype.get = function get () {
|
|
2746
2879
|
pushTarget(this);
|
2747
2880
|
var value;
|
2748
2881
|
var vm = this.vm;
|
2749
|
-
|
2750
|
-
|
2751
|
-
|
2752
|
-
|
2882
|
+
try {
|
2883
|
+
value = this.getter.call(vm, vm);
|
2884
|
+
} catch (e) {
|
2885
|
+
if (this.user) {
|
2753
2886
|
handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));
|
2887
|
+
} else {
|
2888
|
+
throw e
|
2754
2889
|
}
|
2755
|
-
}
|
2756
|
-
|
2757
|
-
|
2758
|
-
|
2759
|
-
|
2760
|
-
|
2761
|
-
|
2890
|
+
} finally {
|
2891
|
+
// "touch" every property so they are all tracked as
|
2892
|
+
// dependencies for deep watching
|
2893
|
+
if (this.deep) {
|
2894
|
+
traverse(value);
|
2895
|
+
}
|
2896
|
+
popTarget();
|
2897
|
+
this.cleanupDeps();
|
2762
2898
|
}
|
2763
|
-
popTarget();
|
2764
|
-
this.cleanupDeps();
|
2765
2899
|
return value
|
2766
2900
|
};
|
2767
2901
|
|
@@ -2954,14 +3088,20 @@ function initState (vm) {
|
|
2954
3088
|
observe(vm._data = {}, true /* asRootData */);
|
2955
3089
|
}
|
2956
3090
|
if (opts.computed) { initComputed(vm, opts.computed); }
|
2957
|
-
if (opts.watch
|
3091
|
+
if (opts.watch && opts.watch !== nativeWatch) {
|
3092
|
+
initWatch(vm, opts.watch);
|
3093
|
+
}
|
2958
3094
|
}
|
2959
3095
|
|
2960
|
-
|
2961
|
-
|
2962
|
-
|
2963
|
-
|
2964
|
-
|
3096
|
+
function checkOptionType (vm, name) {
|
3097
|
+
var option = vm.$options[name];
|
3098
|
+
if (!isPlainObject(option)) {
|
3099
|
+
warn(
|
3100
|
+
("component option \"" + name + "\" should be an object."),
|
3101
|
+
vm
|
3102
|
+
);
|
3103
|
+
}
|
3104
|
+
}
|
2965
3105
|
|
2966
3106
|
function initProps (vm, propsOptions) {
|
2967
3107
|
var propsData = vm.$options.propsData || {};
|
@@ -2977,14 +3117,14 @@ function initProps (vm, propsOptions) {
|
|
2977
3117
|
var value = validateProp(key, propsOptions, propsData, vm);
|
2978
3118
|
/* istanbul ignore else */
|
2979
3119
|
{
|
2980
|
-
if (
|
3120
|
+
if (isReservedAttribute(key) || config.isReservedAttr(key)) {
|
2981
3121
|
warn(
|
2982
3122
|
("\"" + key + "\" is a reserved attribute and cannot be used as component prop."),
|
2983
3123
|
vm
|
2984
3124
|
);
|
2985
3125
|
}
|
2986
3126
|
defineReactive$$1(props, key, value, function () {
|
2987
|
-
if (vm.$parent && !
|
3127
|
+
if (vm.$parent && !isUpdatingChildComponent) {
|
2988
3128
|
warn(
|
2989
3129
|
"Avoid mutating a prop directly since the value will be " +
|
2990
3130
|
"overwritten whenever the parent component re-renders. " +
|
@@ -3023,16 +3163,26 @@ function initData (vm) {
|
|
3023
3163
|
// proxy data on instance
|
3024
3164
|
var keys = Object.keys(data);
|
3025
3165
|
var props = vm.$options.props;
|
3166
|
+
var methods = vm.$options.methods;
|
3026
3167
|
var i = keys.length;
|
3027
3168
|
while (i--) {
|
3028
|
-
|
3169
|
+
var key = keys[i];
|
3170
|
+
{
|
3171
|
+
if (methods && hasOwn(methods, key)) {
|
3172
|
+
warn(
|
3173
|
+
("method \"" + key + "\" has already been defined as a data property."),
|
3174
|
+
vm
|
3175
|
+
);
|
3176
|
+
}
|
3177
|
+
}
|
3178
|
+
if (props && hasOwn(props, key)) {
|
3029
3179
|
"development" !== 'production' && warn(
|
3030
|
-
"The data property \"" +
|
3180
|
+
"The data property \"" + key + "\" is already declared as a prop. " +
|
3031
3181
|
"Use prop default value instead.",
|
3032
3182
|
vm
|
3033
3183
|
);
|
3034
|
-
} else if (!isReserved(
|
3035
|
-
proxy(vm, "_data",
|
3184
|
+
} else if (!isReserved(key)) {
|
3185
|
+
proxy(vm, "_data", key);
|
3036
3186
|
}
|
3037
3187
|
}
|
3038
3188
|
// observe data
|
@@ -3051,22 +3201,20 @@ function getData (data, vm) {
|
|
3051
3201
|
var computedWatcherOptions = { lazy: true };
|
3052
3202
|
|
3053
3203
|
function initComputed (vm, computed) {
|
3204
|
+
"development" !== 'production' && checkOptionType(vm, 'computed');
|
3054
3205
|
var watchers = vm._computedWatchers = Object.create(null);
|
3055
3206
|
|
3056
3207
|
for (var key in computed) {
|
3057
3208
|
var userDef = computed[key];
|
3058
3209
|
var getter = typeof userDef === 'function' ? userDef : userDef.get;
|
3059
|
-
{
|
3060
|
-
|
3061
|
-
|
3062
|
-
|
3063
|
-
|
3064
|
-
);
|
3065
|
-
getter = noop;
|
3066
|
-
}
|
3210
|
+
if ("development" !== 'production' && getter == null) {
|
3211
|
+
warn(
|
3212
|
+
("Getter is missing for computed property \"" + key + "\"."),
|
3213
|
+
vm
|
3214
|
+
);
|
3067
3215
|
}
|
3068
3216
|
// create internal watcher for the computed property.
|
3069
|
-
watchers[key] = new Watcher(vm, getter, noop, computedWatcherOptions);
|
3217
|
+
watchers[key] = new Watcher(vm, getter || noop, noop, computedWatcherOptions);
|
3070
3218
|
|
3071
3219
|
// component-defined computed properties are already defined on the
|
3072
3220
|
// component prototype. We only need to define computed properties defined
|
@@ -3097,6 +3245,15 @@ function defineComputed (target, key, userDef) {
|
|
3097
3245
|
? userDef.set
|
3098
3246
|
: noop;
|
3099
3247
|
}
|
3248
|
+
if ("development" !== 'production' &&
|
3249
|
+
sharedPropertyDefinition.set === noop) {
|
3250
|
+
sharedPropertyDefinition.set = function () {
|
3251
|
+
warn(
|
3252
|
+
("Computed property \"" + key + "\" was assigned to but it has no setter."),
|
3253
|
+
this
|
3254
|
+
);
|
3255
|
+
};
|
3256
|
+
}
|
3100
3257
|
Object.defineProperty(target, key, sharedPropertyDefinition);
|
3101
3258
|
}
|
3102
3259
|
|
@@ -3116,6 +3273,7 @@ function createComputedGetter (key) {
|
|
3116
3273
|
}
|
3117
3274
|
|
3118
3275
|
function initMethods (vm, methods) {
|
3276
|
+
"development" !== 'production' && checkOptionType(vm, 'methods');
|
3119
3277
|
var props = vm.$options.props;
|
3120
3278
|
for (var key in methods) {
|
3121
3279
|
vm[key] = methods[key] == null ? noop : bind(methods[key], vm);
|
@@ -3138,6 +3296,7 @@ function initMethods (vm, methods) {
|
|
3138
3296
|
}
|
3139
3297
|
|
3140
3298
|
function initWatch (vm, watch) {
|
3299
|
+
"development" !== 'production' && checkOptionType(vm, 'watch');
|
3141
3300
|
for (var key in watch) {
|
3142
3301
|
var handler = watch[key];
|
3143
3302
|
if (Array.isArray(handler)) {
|
@@ -3150,8 +3309,12 @@ function initWatch (vm, watch) {
|
|
3150
3309
|
}
|
3151
3310
|
}
|
3152
3311
|
|
3153
|
-
function createWatcher (
|
3154
|
-
|
3312
|
+
function createWatcher (
|
3313
|
+
vm,
|
3314
|
+
keyOrFn,
|
3315
|
+
handler,
|
3316
|
+
options
|
3317
|
+
) {
|
3155
3318
|
if (isPlainObject(handler)) {
|
3156
3319
|
options = handler;
|
3157
3320
|
handler = handler.handler;
|
@@ -3159,7 +3322,7 @@ function createWatcher (vm, key, handler) {
|
|
3159
3322
|
if (typeof handler === 'string') {
|
3160
3323
|
handler = vm[handler];
|
3161
3324
|
}
|
3162
|
-
vm.$watch(
|
3325
|
+
return vm.$watch(keyOrFn, handler, options)
|
3163
3326
|
}
|
3164
3327
|
|
3165
3328
|
function stateMixin (Vue) {
|
@@ -3194,6 +3357,9 @@ function stateMixin (Vue) {
|
|
3194
3357
|
options
|
3195
3358
|
) {
|
3196
3359
|
var vm = this;
|
3360
|
+
if (isPlainObject(cb)) {
|
3361
|
+
return createWatcher(vm, expOrFn, cb, options)
|
3362
|
+
}
|
3197
3363
|
options = options || {};
|
3198
3364
|
options.user = true;
|
3199
3365
|
var watcher = new Watcher(vm, expOrFn, cb, options);
|
@@ -3220,6 +3386,7 @@ function initProvide (vm) {
|
|
3220
3386
|
function initInjections (vm) {
|
3221
3387
|
var result = resolveInject(vm.$options.inject, vm);
|
3222
3388
|
if (result) {
|
3389
|
+
observerState.shouldConvert = false;
|
3223
3390
|
Object.keys(result).forEach(function (key) {
|
3224
3391
|
/* istanbul ignore else */
|
3225
3392
|
{
|
@@ -3233,24 +3400,21 @@ function initInjections (vm) {
|
|
3233
3400
|
});
|
3234
3401
|
}
|
3235
3402
|
});
|
3403
|
+
observerState.shouldConvert = true;
|
3236
3404
|
}
|
3237
3405
|
}
|
3238
3406
|
|
3239
3407
|
function resolveInject (inject, vm) {
|
3240
3408
|
if (inject) {
|
3241
3409
|
// inject is :any because flow is not smart enough to figure out cached
|
3242
|
-
// isArray here
|
3243
|
-
var isArray = Array.isArray(inject);
|
3244
3410
|
var result = Object.create(null);
|
3245
|
-
var keys =
|
3246
|
-
? inject
|
3247
|
-
: hasSymbol
|
3411
|
+
var keys = hasSymbol
|
3248
3412
|
? Reflect.ownKeys(inject)
|
3249
3413
|
: Object.keys(inject);
|
3250
3414
|
|
3251
3415
|
for (var i = 0; i < keys.length; i++) {
|
3252
3416
|
var key = keys[i];
|
3253
|
-
var provideKey =
|
3417
|
+
var provideKey = inject[key];
|
3254
3418
|
var source = vm;
|
3255
3419
|
while (source) {
|
3256
3420
|
if (source._provided && provideKey in source._provided) {
|
@@ -3259,6 +3423,9 @@ function resolveInject (inject, vm) {
|
|
3259
3423
|
}
|
3260
3424
|
source = source.$parent;
|
3261
3425
|
}
|
3426
|
+
if ("development" !== 'production' && !source) {
|
3427
|
+
warn(("Injection \"" + key + "\" not found"), vm);
|
3428
|
+
}
|
3262
3429
|
}
|
3263
3430
|
return result
|
3264
3431
|
}
|
@@ -3412,21 +3579,30 @@ function createComponent (
|
|
3412
3579
|
}
|
3413
3580
|
|
3414
3581
|
// async component
|
3582
|
+
var asyncFactory;
|
3415
3583
|
if (isUndef(Ctor.cid)) {
|
3416
|
-
|
3584
|
+
asyncFactory = Ctor;
|
3585
|
+
Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);
|
3417
3586
|
if (Ctor === undefined) {
|
3418
|
-
// return
|
3419
|
-
//
|
3420
|
-
|
3587
|
+
// return a placeholder node for async component, which is rendered
|
3588
|
+
// as a comment node but preserves all the raw information for the node.
|
3589
|
+
// the information will be used for async server-rendering and hydration.
|
3590
|
+
return createAsyncPlaceholder(
|
3591
|
+
asyncFactory,
|
3592
|
+
data,
|
3593
|
+
context,
|
3594
|
+
children,
|
3595
|
+
tag
|
3596
|
+
)
|
3421
3597
|
}
|
3422
3598
|
}
|
3423
3599
|
|
3600
|
+
data = data || {};
|
3601
|
+
|
3424
3602
|
// resolve constructor options in case global mixins are applied after
|
3425
3603
|
// component constructor creation
|
3426
3604
|
resolveConstructorOptions(Ctor);
|
3427
3605
|
|
3428
|
-
data = data || {};
|
3429
|
-
|
3430
3606
|
// transform component v-model data into props & events
|
3431
3607
|
if (isDef(data.model)) {
|
3432
3608
|
transformModel(Ctor.options, data);
|
@@ -3444,12 +3620,19 @@ function createComponent (
|
|
3444
3620
|
// child component listeners instead of DOM listeners
|
3445
3621
|
var listeners = data.on;
|
3446
3622
|
// replace with listeners with .native modifier
|
3623
|
+
// so it gets processed during parent component patch.
|
3447
3624
|
data.on = data.nativeOn;
|
3448
3625
|
|
3449
3626
|
if (isTrue(Ctor.options.abstract)) {
|
3450
3627
|
// abstract components do not keep anything
|
3451
|
-
// other than props & listeners
|
3628
|
+
// other than props & listeners & slot
|
3629
|
+
|
3630
|
+
// work around flow
|
3631
|
+
var slot = data.slot;
|
3452
3632
|
data = {};
|
3633
|
+
if (slot) {
|
3634
|
+
data.slot = slot;
|
3635
|
+
}
|
3453
3636
|
}
|
3454
3637
|
|
3455
3638
|
// merge component management hooks onto the placeholder node
|
@@ -3460,7 +3643,8 @@ function createComponent (
|
|
3460
3643
|
var vnode = new VNode(
|
3461
3644
|
("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
|
3462
3645
|
data, undefined, undefined, undefined, context,
|
3463
|
-
{ Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }
|
3646
|
+
{ Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },
|
3647
|
+
asyncFactory
|
3464
3648
|
);
|
3465
3649
|
return vnode
|
3466
3650
|
}
|
@@ -3565,13 +3749,28 @@ function _createElement (
|
|
3565
3749
|
);
|
3566
3750
|
return createEmptyVNode()
|
3567
3751
|
}
|
3752
|
+
// object syntax in v-bind
|
3753
|
+
if (isDef(data) && isDef(data.is)) {
|
3754
|
+
tag = data.is;
|
3755
|
+
}
|
3568
3756
|
if (!tag) {
|
3569
3757
|
// in case of component :is set to falsy value
|
3570
3758
|
return createEmptyVNode()
|
3571
3759
|
}
|
3760
|
+
// warn against non-primitive key
|
3761
|
+
if ("development" !== 'production' &&
|
3762
|
+
isDef(data) && isDef(data.key) && !isPrimitive(data.key)
|
3763
|
+
) {
|
3764
|
+
warn(
|
3765
|
+
'Avoid using non-primitive value as key, ' +
|
3766
|
+
'use string/number value instead.',
|
3767
|
+
context
|
3768
|
+
);
|
3769
|
+
}
|
3572
3770
|
// support single function children as default scoped slot
|
3573
3771
|
if (Array.isArray(children) &&
|
3574
|
-
|
3772
|
+
typeof children[0] === 'function'
|
3773
|
+
) {
|
3575
3774
|
data = data || {};
|
3576
3775
|
data.scopedSlots = { default: children[0] };
|
3577
3776
|
children.length = 0;
|
@@ -3659,6 +3858,9 @@ function renderList (
|
|
3659
3858
|
ret[i] = render(val[key], key, i);
|
3660
3859
|
}
|
3661
3860
|
}
|
3861
|
+
if (isDef(ret)) {
|
3862
|
+
(ret)._isVList = true;
|
3863
|
+
}
|
3662
3864
|
return ret
|
3663
3865
|
}
|
3664
3866
|
|
@@ -3677,7 +3879,7 @@ function renderSlot (
|
|
3677
3879
|
if (scopedSlotFn) { // scoped slot
|
3678
3880
|
props = props || {};
|
3679
3881
|
if (bindObject) {
|
3680
|
-
extend(
|
3882
|
+
props = extend(extend({}, bindObject), props);
|
3681
3883
|
}
|
3682
3884
|
return scopedSlotFn(props) || fallback
|
3683
3885
|
} else {
|
@@ -3731,7 +3933,8 @@ function bindObjectProps (
|
|
3731
3933
|
data,
|
3732
3934
|
tag,
|
3733
3935
|
value,
|
3734
|
-
asProp
|
3936
|
+
asProp,
|
3937
|
+
isSync
|
3735
3938
|
) {
|
3736
3939
|
if (value) {
|
3737
3940
|
if (!isObject(value)) {
|
@@ -3744,8 +3947,12 @@ function bindObjectProps (
|
|
3744
3947
|
value = toObject(value);
|
3745
3948
|
}
|
3746
3949
|
var hash;
|
3747
|
-
|
3748
|
-
if (
|
3950
|
+
var loop = function ( key ) {
|
3951
|
+
if (
|
3952
|
+
key === 'class' ||
|
3953
|
+
key === 'style' ||
|
3954
|
+
isReservedAttribute(key)
|
3955
|
+
) {
|
3749
3956
|
hash = data;
|
3750
3957
|
} else {
|
3751
3958
|
var type = data.attrs && data.attrs.type;
|
@@ -3755,8 +3962,17 @@ function bindObjectProps (
|
|
3755
3962
|
}
|
3756
3963
|
if (!(key in hash)) {
|
3757
3964
|
hash[key] = value[key];
|
3965
|
+
|
3966
|
+
if (isSync) {
|
3967
|
+
var on = data.on || (data.on = {});
|
3968
|
+
on[("update:" + key)] = function ($event) {
|
3969
|
+
value[key] = $event;
|
3970
|
+
};
|
3971
|
+
}
|
3758
3972
|
}
|
3759
|
-
}
|
3973
|
+
};
|
3974
|
+
|
3975
|
+
for (var key in value) loop( key );
|
3760
3976
|
}
|
3761
3977
|
}
|
3762
3978
|
return data
|
@@ -3823,6 +4039,27 @@ function markStaticNode (node, key, isOnce) {
|
|
3823
4039
|
|
3824
4040
|
/* */
|
3825
4041
|
|
4042
|
+
function bindObjectListeners (data, value) {
|
4043
|
+
if (value) {
|
4044
|
+
if (!isPlainObject(value)) {
|
4045
|
+
"development" !== 'production' && warn(
|
4046
|
+
'v-on without argument expects an Object value',
|
4047
|
+
this
|
4048
|
+
);
|
4049
|
+
} else {
|
4050
|
+
var on = data.on = data.on ? extend({}, data.on) : {};
|
4051
|
+
for (var key in value) {
|
4052
|
+
var existing = on[key];
|
4053
|
+
var ours = value[key];
|
4054
|
+
on[key] = existing ? [].concat(ours, existing) : ours;
|
4055
|
+
}
|
4056
|
+
}
|
4057
|
+
}
|
4058
|
+
return data
|
4059
|
+
}
|
4060
|
+
|
4061
|
+
/* */
|
4062
|
+
|
3826
4063
|
function initRender (vm) {
|
3827
4064
|
vm._vnode = null; // the root of the child tree
|
3828
4065
|
vm._staticTrees = null;
|
@@ -3838,6 +4075,19 @@ function initRender (vm) {
|
|
3838
4075
|
// normalization is always applied for the public version, used in
|
3839
4076
|
// user-written render functions.
|
3840
4077
|
vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
|
4078
|
+
|
4079
|
+
// $attrs & $listeners are exposed for easier HOC creation.
|
4080
|
+
// they need to be reactive so that HOCs using them are always updated
|
4081
|
+
var parentData = parentVnode && parentVnode.data;
|
4082
|
+
/* istanbul ignore else */
|
4083
|
+
{
|
4084
|
+
defineReactive$$1(vm, '$attrs', parentData && parentData.attrs, function () {
|
4085
|
+
!isUpdatingChildComponent && warn("$attrs is readonly.", vm);
|
4086
|
+
}, true);
|
4087
|
+
defineReactive$$1(vm, '$listeners', vm.$options._parentListeners, function () {
|
4088
|
+
!isUpdatingChildComponent && warn("$listeners is readonly.", vm);
|
4089
|
+
}, true);
|
4090
|
+
}
|
3841
4091
|
}
|
3842
4092
|
|
3843
4093
|
function renderMixin (Vue) {
|
@@ -3915,6 +4165,7 @@ function renderMixin (Vue) {
|
|
3915
4165
|
Vue.prototype._v = createTextVNode;
|
3916
4166
|
Vue.prototype._e = createEmptyVNode;
|
3917
4167
|
Vue.prototype._u = resolveScopedSlots;
|
4168
|
+
Vue.prototype._g = bindObjectListeners;
|
3918
4169
|
}
|
3919
4170
|
|
3920
4171
|
/* */
|
@@ -4054,7 +4305,8 @@ function dedupe (latest, extended, sealed) {
|
|
4054
4305
|
|
4055
4306
|
function Vue$3 (options) {
|
4056
4307
|
if ("development" !== 'production' &&
|
4057
|
-
!(this instanceof Vue$3)
|
4308
|
+
!(this instanceof Vue$3)
|
4309
|
+
) {
|
4058
4310
|
warn('Vue is a constructor and should be called with the `new` keyword');
|
4059
4311
|
}
|
4060
4312
|
this._init(options);
|
@@ -4070,10 +4322,11 @@ renderMixin(Vue$3);
|
|
4070
4322
|
|
4071
4323
|
function initUse (Vue) {
|
4072
4324
|
Vue.use = function (plugin) {
|
4073
|
-
|
4074
|
-
if (plugin
|
4075
|
-
return
|
4325
|
+
var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));
|
4326
|
+
if (installedPlugins.indexOf(plugin) > -1) {
|
4327
|
+
return this
|
4076
4328
|
}
|
4329
|
+
|
4077
4330
|
// additional parameters
|
4078
4331
|
var args = toArray(arguments, 1);
|
4079
4332
|
args.unshift(this);
|
@@ -4082,7 +4335,7 @@ function initUse (Vue) {
|
|
4082
4335
|
} else if (typeof plugin === 'function') {
|
4083
4336
|
plugin.apply(null, args);
|
4084
4337
|
}
|
4085
|
-
plugin
|
4338
|
+
installedPlugins.push(plugin);
|
4086
4339
|
return this
|
4087
4340
|
};
|
4088
4341
|
}
|
@@ -4092,6 +4345,7 @@ function initUse (Vue) {
|
|
4092
4345
|
function initMixin$1 (Vue) {
|
4093
4346
|
Vue.mixin = function (mixin) {
|
4094
4347
|
this.options = mergeOptions(this.options, mixin);
|
4348
|
+
return this
|
4095
4349
|
};
|
4096
4350
|
}
|
4097
4351
|
|
@@ -4232,14 +4486,16 @@ function initAssetRegisters (Vue) {
|
|
4232
4486
|
|
4233
4487
|
/* */
|
4234
4488
|
|
4235
|
-
var patternTypes = [String, RegExp];
|
4489
|
+
var patternTypes = [String, RegExp, Array];
|
4236
4490
|
|
4237
4491
|
function getComponentName (opts) {
|
4238
4492
|
return opts && (opts.Ctor.options.name || opts.tag)
|
4239
4493
|
}
|
4240
4494
|
|
4241
4495
|
function matches (pattern, name) {
|
4242
|
-
if (
|
4496
|
+
if (Array.isArray(pattern)) {
|
4497
|
+
return pattern.indexOf(name) > -1
|
4498
|
+
} else if (typeof pattern === 'string') {
|
4243
4499
|
return pattern.split(',').indexOf(name) > -1
|
4244
4500
|
} else if (isRegExp(pattern)) {
|
4245
4501
|
return pattern.test(name)
|
@@ -4385,11 +4641,12 @@ Object.defineProperty(Vue$3.prototype, '$isServer', {
|
|
4385
4641
|
|
4386
4642
|
Object.defineProperty(Vue$3.prototype, '$ssrContext', {
|
4387
4643
|
get: function get () {
|
4388
|
-
|
4644
|
+
/* istanbul ignore next */
|
4645
|
+
return this.$vnode && this.$vnode.ssrContext
|
4389
4646
|
}
|
4390
4647
|
});
|
4391
4648
|
|
4392
|
-
Vue$3.version = '2.
|
4649
|
+
Vue$3.version = '2.4.2';
|
4393
4650
|
|
4394
4651
|
/* */
|
4395
4652
|
|
@@ -4450,7 +4707,7 @@ function genClassForVnode (vnode) {
|
|
4450
4707
|
data = mergeClassData(data, parentNode.data);
|
4451
4708
|
}
|
4452
4709
|
}
|
4453
|
-
return
|
4710
|
+
return renderClass(data.staticClass, data.class)
|
4454
4711
|
}
|
4455
4712
|
|
4456
4713
|
function mergeClassData (child, parent) {
|
@@ -4462,9 +4719,10 @@ function mergeClassData (child, parent) {
|
|
4462
4719
|
}
|
4463
4720
|
}
|
4464
4721
|
|
4465
|
-
function
|
4466
|
-
|
4467
|
-
|
4722
|
+
function renderClass (
|
4723
|
+
staticClass,
|
4724
|
+
dynamicClass
|
4725
|
+
) {
|
4468
4726
|
if (isDef(staticClass) || isDef(dynamicClass)) {
|
4469
4727
|
return concat(staticClass, stringifyClass(dynamicClass))
|
4470
4728
|
}
|
@@ -4477,31 +4735,39 @@ function concat (a, b) {
|
|
4477
4735
|
}
|
4478
4736
|
|
4479
4737
|
function stringifyClass (value) {
|
4480
|
-
if (
|
4481
|
-
return
|
4738
|
+
if (Array.isArray(value)) {
|
4739
|
+
return stringifyArray(value)
|
4740
|
+
}
|
4741
|
+
if (isObject(value)) {
|
4742
|
+
return stringifyObject(value)
|
4482
4743
|
}
|
4483
4744
|
if (typeof value === 'string') {
|
4484
4745
|
return value
|
4485
4746
|
}
|
4747
|
+
/* istanbul ignore next */
|
4748
|
+
return ''
|
4749
|
+
}
|
4750
|
+
|
4751
|
+
function stringifyArray (value) {
|
4486
4752
|
var res = '';
|
4487
|
-
|
4488
|
-
|
4489
|
-
|
4490
|
-
if (
|
4491
|
-
|
4492
|
-
res += stringified + ' ';
|
4493
|
-
}
|
4494
|
-
}
|
4753
|
+
var stringified;
|
4754
|
+
for (var i = 0, l = value.length; i < l; i++) {
|
4755
|
+
if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {
|
4756
|
+
if (res) { res += ' '; }
|
4757
|
+
res += stringified;
|
4495
4758
|
}
|
4496
|
-
return res.slice(0, -1)
|
4497
4759
|
}
|
4498
|
-
|
4499
|
-
|
4500
|
-
|
4760
|
+
return res
|
4761
|
+
}
|
4762
|
+
|
4763
|
+
function stringifyObject (value) {
|
4764
|
+
var res = '';
|
4765
|
+
for (var key in value) {
|
4766
|
+
if (value[key]) {
|
4767
|
+
if (res) { res += ' '; }
|
4768
|
+
res += key;
|
4501
4769
|
}
|
4502
|
-
return res.slice(0, -1)
|
4503
4770
|
}
|
4504
|
-
/* istanbul ignore next */
|
4505
4771
|
return res
|
4506
4772
|
}
|
4507
4773
|
|
@@ -4515,7 +4781,7 @@ var namespaceMap = {
|
|
4515
4781
|
var isHTMLTag = makeMap(
|
4516
4782
|
'html,body,base,head,link,meta,style,title,' +
|
4517
4783
|
'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +
|
4518
|
-
'div,dd,dl,dt,figcaption,figure,hr,img,li,main,ol,p,pre,ul,' +
|
4784
|
+
'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +
|
4519
4785
|
'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +
|
4520
4786
|
's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +
|
4521
4787
|
'embed,object,param,source,canvas,script,noscript,del,ins,' +
|
@@ -4523,7 +4789,7 @@ var isHTMLTag = makeMap(
|
|
4523
4789
|
'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +
|
4524
4790
|
'output,progress,select,textarea,' +
|
4525
4791
|
'details,dialog,menu,menuitem,summary,' +
|
4526
|
-
'content,element,shadow,template'
|
4792
|
+
'content,element,shadow,template,blockquote,iframe,tfoot'
|
4527
4793
|
);
|
4528
4794
|
|
4529
4795
|
// this map is intentionally selective, only covering SVG elements that may
|
@@ -4704,10 +4970,11 @@ function registerRef (vnode, isRemoval) {
|
|
4704
4970
|
}
|
4705
4971
|
} else {
|
4706
4972
|
if (vnode.data.refInFor) {
|
4707
|
-
if (Array.isArray(refs[key])
|
4708
|
-
refs[key].push(ref);
|
4709
|
-
} else {
|
4973
|
+
if (!Array.isArray(refs[key])) {
|
4710
4974
|
refs[key] = [ref];
|
4975
|
+
} else if (refs[key].indexOf(ref) < 0) {
|
4976
|
+
// $flow-disable-line
|
4977
|
+
refs[key].push(ref);
|
4711
4978
|
}
|
4712
4979
|
} else {
|
4713
4980
|
refs[key] = ref;
|
@@ -4735,11 +5002,18 @@ var hooks = ['create', 'activate', 'update', 'remove', 'destroy'];
|
|
4735
5002
|
|
4736
5003
|
function sameVnode (a, b) {
|
4737
5004
|
return (
|
4738
|
-
a.key === b.key &&
|
4739
|
-
|
4740
|
-
|
4741
|
-
|
4742
|
-
|
5005
|
+
a.key === b.key && (
|
5006
|
+
(
|
5007
|
+
a.tag === b.tag &&
|
5008
|
+
a.isComment === b.isComment &&
|
5009
|
+
isDef(a.data) === isDef(b.data) &&
|
5010
|
+
sameInputType(a, b)
|
5011
|
+
) || (
|
5012
|
+
isTrue(a.isAsyncPlaceholder) &&
|
5013
|
+
a.asyncFactory === b.asyncFactory &&
|
5014
|
+
isUndef(b.asyncFactory.error)
|
5015
|
+
)
|
5016
|
+
)
|
4743
5017
|
)
|
4744
5018
|
}
|
4745
5019
|
|
@@ -4880,6 +5154,7 @@ function createPatchFunction (backend) {
|
|
4880
5154
|
function initComponent (vnode, insertedVnodeQueue) {
|
4881
5155
|
if (isDef(vnode.data.pendingInsert)) {
|
4882
5156
|
insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);
|
5157
|
+
vnode.data.pendingInsert = null;
|
4883
5158
|
}
|
4884
5159
|
vnode.elm = vnode.componentInstance.$el;
|
4885
5160
|
if (isPatchable(vnode)) {
|
@@ -4916,11 +5191,11 @@ function createPatchFunction (backend) {
|
|
4916
5191
|
insert(parentElm, vnode.elm, refElm);
|
4917
5192
|
}
|
4918
5193
|
|
4919
|
-
function insert (parent, elm, ref) {
|
5194
|
+
function insert (parent, elm, ref$$1) {
|
4920
5195
|
if (isDef(parent)) {
|
4921
|
-
if (isDef(ref)) {
|
4922
|
-
if (ref.parentNode === parent) {
|
4923
|
-
nodeOps.insertBefore(parent, elm, ref);
|
5196
|
+
if (isDef(ref$$1)) {
|
5197
|
+
if (ref$$1.parentNode === parent) {
|
5198
|
+
nodeOps.insertBefore(parent, elm, ref$$1);
|
4924
5199
|
}
|
4925
5200
|
} else {
|
4926
5201
|
nodeOps.appendChild(parent, elm);
|
@@ -4970,8 +5245,9 @@ function createPatchFunction (backend) {
|
|
4970
5245
|
}
|
4971
5246
|
// for slot content they should also get the scopeId from the host instance.
|
4972
5247
|
if (isDef(i = activeInstance) &&
|
4973
|
-
|
4974
|
-
|
5248
|
+
i !== vnode.context &&
|
5249
|
+
isDef(i = i.$options._scopeId)
|
5250
|
+
) {
|
4975
5251
|
nodeOps.setAttribute(vnode.elm, i, '');
|
4976
5252
|
}
|
4977
5253
|
}
|
@@ -5096,7 +5372,7 @@ function createPatchFunction (backend) {
|
|
5096
5372
|
if (sameVnode(elmToMove, newStartVnode)) {
|
5097
5373
|
patchVnode(elmToMove, newStartVnode, insertedVnodeQueue);
|
5098
5374
|
oldCh[idxInOld] = undefined;
|
5099
|
-
canMove && nodeOps.insertBefore(parentElm,
|
5375
|
+
canMove && nodeOps.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);
|
5100
5376
|
newStartVnode = newCh[++newStartIdx];
|
5101
5377
|
} else {
|
5102
5378
|
// same key but different element. treat as new element
|
@@ -5118,24 +5394,37 @@ function createPatchFunction (backend) {
|
|
5118
5394
|
if (oldVnode === vnode) {
|
5119
5395
|
return
|
5120
5396
|
}
|
5397
|
+
|
5398
|
+
var elm = vnode.elm = oldVnode.elm;
|
5399
|
+
|
5400
|
+
if (isTrue(oldVnode.isAsyncPlaceholder)) {
|
5401
|
+
if (isDef(vnode.asyncFactory.resolved)) {
|
5402
|
+
hydrate(oldVnode.elm, vnode, insertedVnodeQueue);
|
5403
|
+
} else {
|
5404
|
+
vnode.isAsyncPlaceholder = true;
|
5405
|
+
}
|
5406
|
+
return
|
5407
|
+
}
|
5408
|
+
|
5121
5409
|
// reuse element for static trees.
|
5122
5410
|
// note we only do this if the vnode is cloned -
|
5123
5411
|
// if the new node is not cloned it means the render functions have been
|
5124
5412
|
// reset by the hot-reload-api and we need to do a proper re-render.
|
5125
5413
|
if (isTrue(vnode.isStatic) &&
|
5126
|
-
|
5127
|
-
|
5128
|
-
|
5129
|
-
|
5414
|
+
isTrue(oldVnode.isStatic) &&
|
5415
|
+
vnode.key === oldVnode.key &&
|
5416
|
+
(isTrue(vnode.isCloned) || isTrue(vnode.isOnce))
|
5417
|
+
) {
|
5130
5418
|
vnode.componentInstance = oldVnode.componentInstance;
|
5131
5419
|
return
|
5132
5420
|
}
|
5421
|
+
|
5133
5422
|
var i;
|
5134
5423
|
var data = vnode.data;
|
5135
5424
|
if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {
|
5136
5425
|
i(oldVnode, vnode);
|
5137
5426
|
}
|
5138
|
-
|
5427
|
+
|
5139
5428
|
var oldCh = oldVnode.children;
|
5140
5429
|
var ch = vnode.children;
|
5141
5430
|
if (isDef(data) && isPatchable(vnode)) {
|
@@ -5180,6 +5469,11 @@ function createPatchFunction (backend) {
|
|
5180
5469
|
|
5181
5470
|
// Note: this is a browser-only function so we can assume elms are DOM nodes.
|
5182
5471
|
function hydrate (elm, vnode, insertedVnodeQueue) {
|
5472
|
+
if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {
|
5473
|
+
vnode.elm = elm;
|
5474
|
+
vnode.isAsyncPlaceholder = true;
|
5475
|
+
return true
|
5476
|
+
}
|
5183
5477
|
{
|
5184
5478
|
if (!assertNodeMatch(elm, vnode)) {
|
5185
5479
|
return false
|
@@ -5216,8 +5510,9 @@ function createPatchFunction (backend) {
|
|
5216
5510
|
// longer than the virtual children list.
|
5217
5511
|
if (!childrenMatch || childNode) {
|
5218
5512
|
if ("development" !== 'production' &&
|
5219
|
-
|
5220
|
-
|
5513
|
+
typeof console !== 'undefined' &&
|
5514
|
+
!bailed
|
5515
|
+
) {
|
5221
5516
|
bailed = true;
|
5222
5517
|
console.warn('Parent: ', elm);
|
5223
5518
|
console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);
|
@@ -5458,6 +5753,10 @@ var baseModules = [
|
|
5458
5753
|
/* */
|
5459
5754
|
|
5460
5755
|
function updateAttrs (oldVnode, vnode) {
|
5756
|
+
var opts = vnode.componentOptions;
|
5757
|
+
if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {
|
5758
|
+
return
|
5759
|
+
}
|
5461
5760
|
if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {
|
5462
5761
|
return
|
5463
5762
|
}
|
@@ -5823,10 +6122,7 @@ function genAssignmentCode (
|
|
5823
6122
|
if (modelRs.idx === null) {
|
5824
6123
|
return (value + "=" + assignment)
|
5825
6124
|
} else {
|
5826
|
-
return "
|
5827
|
-
"if (!Array.isArray($$exp)){" +
|
5828
|
-
value + "=" + assignment + "}" +
|
5829
|
-
"else{$$exp.splice($$idx, 1, " + assignment + ")}"
|
6125
|
+
return ("$set(" + (modelRs.exp) + ", " + (modelRs.idx) + ", " + assignment + ")")
|
5830
6126
|
}
|
5831
6127
|
}
|
5832
6128
|
|
@@ -5957,7 +6253,11 @@ function model (
|
|
5957
6253
|
}
|
5958
6254
|
}
|
5959
6255
|
|
5960
|
-
if (
|
6256
|
+
if (el.component) {
|
6257
|
+
genComponentModel(el, value, modifiers);
|
6258
|
+
// component v-model doesn't need extra runtime
|
6259
|
+
return false
|
6260
|
+
} else if (tag === 'select') {
|
5961
6261
|
genSelect(el, value, modifiers);
|
5962
6262
|
} else if (tag === 'input' && type === 'checkbox') {
|
5963
6263
|
genCheckboxModel(el, value, modifiers);
|
@@ -6006,7 +6306,7 @@ function genCheckboxModel (
|
|
6006
6306
|
'if(Array.isArray($$a)){' +
|
6007
6307
|
"var $$v=" + (number ? '_n(' + valueBinding + ')' : valueBinding) + "," +
|
6008
6308
|
'$$i=_i($$a,$$v);' +
|
6009
|
-
"if($$
|
6309
|
+
"if($$el.checked){$$i<0&&(" + value + "=$$a.concat($$v))}" +
|
6010
6310
|
"else{$$i>-1&&(" + value + "=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}" +
|
6011
6311
|
"}else{" + (genAssignmentCode(value, '$$c')) + "}",
|
6012
6312
|
null, true
|
@@ -6074,7 +6374,7 @@ function genDefaultModel (
|
|
6074
6374
|
|
6075
6375
|
addProp(el, 'value', ("(" + value + ")"));
|
6076
6376
|
addHandler(el, event, code, null, true);
|
6077
|
-
if (trim || number
|
6377
|
+
if (trim || number) {
|
6078
6378
|
addHandler(el, 'blur', '$forceUpdate()');
|
6079
6379
|
}
|
6080
6380
|
}
|
@@ -6218,14 +6518,19 @@ function shouldUpdateValue (
|
|
6218
6518
|
}
|
6219
6519
|
|
6220
6520
|
function isDirty (elm, checkVal) {
|
6221
|
-
// return true when textbox (.number and .trim) loses focus and its value is
|
6222
|
-
|
6521
|
+
// return true when textbox (.number and .trim) loses focus and its value is
|
6522
|
+
// not equal to the updated value
|
6523
|
+
var notInFocus = true;
|
6524
|
+
// #6157
|
6525
|
+
// work around IE bug when accessing document.activeElement in an iframe
|
6526
|
+
try { notInFocus = document.activeElement !== elm; } catch (e) {}
|
6527
|
+
return notInFocus && elm.value !== checkVal
|
6223
6528
|
}
|
6224
6529
|
|
6225
6530
|
function isInputChanged (elm, newVal) {
|
6226
6531
|
var value = elm.value;
|
6227
6532
|
var modifiers = elm._vModifiers; // injected by v-model runtime
|
6228
|
-
if (
|
6533
|
+
if (isDef(modifiers) && modifiers.number) {
|
6229
6534
|
return toNumber(value) !== toNumber(newVal)
|
6230
6535
|
}
|
6231
6536
|
if (isDef(modifiers) && modifiers.trim) {
|
@@ -6331,20 +6636,20 @@ var setProp = function (el, name, val) {
|
|
6331
6636
|
}
|
6332
6637
|
};
|
6333
6638
|
|
6334
|
-
var
|
6639
|
+
var vendorNames = ['Webkit', 'Moz', 'ms'];
|
6335
6640
|
|
6336
|
-
var
|
6641
|
+
var emptyStyle;
|
6337
6642
|
var normalize = cached(function (prop) {
|
6338
|
-
|
6643
|
+
emptyStyle = emptyStyle || document.createElement('div').style;
|
6339
6644
|
prop = camelize(prop);
|
6340
|
-
if (prop !== 'filter' && (prop in
|
6645
|
+
if (prop !== 'filter' && (prop in emptyStyle)) {
|
6341
6646
|
return prop
|
6342
6647
|
}
|
6343
|
-
var
|
6344
|
-
for (var i = 0; i <
|
6345
|
-
var
|
6346
|
-
if (
|
6347
|
-
return
|
6648
|
+
var capName = prop.charAt(0).toUpperCase() + prop.slice(1);
|
6649
|
+
for (var i = 0; i < vendorNames.length; i++) {
|
6650
|
+
var name = vendorNames[i] + capName;
|
6651
|
+
if (name in emptyStyle) {
|
6652
|
+
return name
|
6348
6653
|
}
|
6349
6654
|
}
|
6350
6655
|
});
|
@@ -6354,7 +6659,8 @@ function updateStyle (oldVnode, vnode) {
|
|
6354
6659
|
var oldData = oldVnode.data;
|
6355
6660
|
|
6356
6661
|
if (isUndef(data.staticStyle) && isUndef(data.style) &&
|
6357
|
-
|
6662
|
+
isUndef(oldData.staticStyle) && isUndef(oldData.style)
|
6663
|
+
) {
|
6358
6664
|
return
|
6359
6665
|
}
|
6360
6666
|
|
@@ -6440,13 +6746,21 @@ function removeClass (el, cls) {
|
|
6440
6746
|
} else {
|
6441
6747
|
el.classList.remove(cls);
|
6442
6748
|
}
|
6749
|
+
if (!el.classList.length) {
|
6750
|
+
el.removeAttribute('class');
|
6751
|
+
}
|
6443
6752
|
} else {
|
6444
6753
|
var cur = " " + (el.getAttribute('class') || '') + " ";
|
6445
6754
|
var tar = ' ' + cls + ' ';
|
6446
6755
|
while (cur.indexOf(tar) >= 0) {
|
6447
6756
|
cur = cur.replace(tar, ' ');
|
6448
6757
|
}
|
6449
|
-
|
6758
|
+
cur = cur.trim();
|
6759
|
+
if (cur) {
|
6760
|
+
el.setAttribute('class', cur);
|
6761
|
+
} else {
|
6762
|
+
el.removeAttribute('class');
|
6763
|
+
}
|
6450
6764
|
}
|
6451
6765
|
}
|
6452
6766
|
|
@@ -6492,12 +6806,14 @@ var animationEndEvent = 'animationend';
|
|
6492
6806
|
if (hasTransition) {
|
6493
6807
|
/* istanbul ignore if */
|
6494
6808
|
if (window.ontransitionend === undefined &&
|
6495
|
-
window.onwebkittransitionend !== undefined
|
6809
|
+
window.onwebkittransitionend !== undefined
|
6810
|
+
) {
|
6496
6811
|
transitionProp = 'WebkitTransition';
|
6497
6812
|
transitionEndEvent = 'webkitTransitionEnd';
|
6498
6813
|
}
|
6499
6814
|
if (window.onanimationend === undefined &&
|
6500
|
-
window.onwebkitanimationend !== undefined
|
6815
|
+
window.onwebkitanimationend !== undefined
|
6816
|
+
) {
|
6501
6817
|
animationProp = 'WebkitAnimation';
|
6502
6818
|
animationEndEvent = 'webkitAnimationEnd';
|
6503
6819
|
}
|
@@ -6515,8 +6831,11 @@ function nextFrame (fn) {
|
|
6515
6831
|
}
|
6516
6832
|
|
6517
6833
|
function addTransitionClass (el, cls) {
|
6518
|
-
|
6519
|
-
|
6834
|
+
var transitionClasses = el._transitionClasses || (el._transitionClasses = []);
|
6835
|
+
if (transitionClasses.indexOf(cls) < 0) {
|
6836
|
+
transitionClasses.push(cls);
|
6837
|
+
addClass(el, cls);
|
6838
|
+
}
|
6520
6839
|
}
|
6521
6840
|
|
6522
6841
|
function removeTransitionClass (el, cls) {
|
@@ -6737,8 +7056,9 @@ function enter (vnode, toggleDisplay) {
|
|
6737
7056
|
var parent = el.parentNode;
|
6738
7057
|
var pendingNode = parent && parent._pending && parent._pending[vnode.key];
|
6739
7058
|
if (pendingNode &&
|
6740
|
-
|
6741
|
-
|
7059
|
+
pendingNode.tag === vnode.tag &&
|
7060
|
+
pendingNode.elm._leaveCb
|
7061
|
+
) {
|
6742
7062
|
pendingNode.elm._leaveCb();
|
6743
7063
|
}
|
6744
7064
|
enterHook && enterHook(el, cb);
|
@@ -6960,6 +7280,8 @@ var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });
|
|
6960
7280
|
* properties to Elements.
|
6961
7281
|
*/
|
6962
7282
|
|
7283
|
+
var isTextInputType = makeMap('text,number,password,search,email,tel,url');
|
7284
|
+
|
6963
7285
|
/* istanbul ignore if */
|
6964
7286
|
if (isIE9) {
|
6965
7287
|
// http://www.matts411.com/post/internet-explorer-9-oninput/
|
@@ -6982,7 +7304,8 @@ var model$1 = {
|
|
6982
7304
|
if (isIE || isEdge) {
|
6983
7305
|
setTimeout(cb, 0);
|
6984
7306
|
}
|
6985
|
-
|
7307
|
+
el._vOptions = [].map.call(el.options, getValue);
|
7308
|
+
} else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {
|
6986
7309
|
el._vModifiers = binding.modifiers;
|
6987
7310
|
if (!binding.modifiers.lazy) {
|
6988
7311
|
// Safari < 10.2 & UIWebView doesn't fire compositionend when
|
@@ -7008,10 +7331,9 @@ var model$1 = {
|
|
7008
7331
|
// it's possible that the value is out-of-sync with the rendered options.
|
7009
7332
|
// detect such cases and filter out values that no longer has a matching
|
7010
7333
|
// option in the DOM.
|
7011
|
-
var
|
7012
|
-
|
7013
|
-
|
7014
|
-
if (needReset) {
|
7334
|
+
var prevOptions = el._vOptions;
|
7335
|
+
var curOptions = el._vOptions = [].map.call(el.options, getValue);
|
7336
|
+
if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {
|
7015
7337
|
trigger(el, 'change');
|
7016
7338
|
}
|
7017
7339
|
}
|
@@ -7051,15 +7373,6 @@ function setSelected (el, binding, vm) {
|
|
7051
7373
|
}
|
7052
7374
|
}
|
7053
7375
|
|
7054
|
-
function hasNoMatchingOption (value, options) {
|
7055
|
-
for (var i = 0, l = options.length; i < l; i++) {
|
7056
|
-
if (looseEqual(getValue(options[i]), value)) {
|
7057
|
-
return false
|
7058
|
-
}
|
7059
|
-
}
|
7060
|
-
return true
|
7061
|
-
}
|
7062
|
-
|
7063
7376
|
function getValue (option) {
|
7064
7377
|
return '_value' in option
|
7065
7378
|
? option._value
|
@@ -7071,6 +7384,8 @@ function onCompositionStart (e) {
|
|
7071
7384
|
}
|
7072
7385
|
|
7073
7386
|
function onCompositionEnd (e) {
|
7387
|
+
// prevent triggering an input event for no reason
|
7388
|
+
if (!e.target.composing) { return }
|
7074
7389
|
e.target.composing = false;
|
7075
7390
|
trigger(e.target, 'input');
|
7076
7391
|
}
|
@@ -7095,10 +7410,10 @@ var show = {
|
|
7095
7410
|
var value = ref.value;
|
7096
7411
|
|
7097
7412
|
vnode = locateNode(vnode);
|
7098
|
-
var transition = vnode.data && vnode.data.transition;
|
7413
|
+
var transition$$1 = vnode.data && vnode.data.transition;
|
7099
7414
|
var originalDisplay = el.__vOriginalDisplay =
|
7100
7415
|
el.style.display === 'none' ? '' : el.style.display;
|
7101
|
-
if (value && transition
|
7416
|
+
if (value && transition$$1) {
|
7102
7417
|
vnode.data.show = true;
|
7103
7418
|
enter(vnode, function () {
|
7104
7419
|
el.style.display = originalDisplay;
|
@@ -7115,8 +7430,8 @@ var show = {
|
|
7115
7430
|
/* istanbul ignore if */
|
7116
7431
|
if (value === oldValue) { return }
|
7117
7432
|
vnode = locateNode(vnode);
|
7118
|
-
var transition = vnode.data && vnode.data.transition;
|
7119
|
-
if (transition
|
7433
|
+
var transition$$1 = vnode.data && vnode.data.transition;
|
7434
|
+
if (transition$$1) {
|
7120
7435
|
vnode.data.show = true;
|
7121
7436
|
if (value) {
|
7122
7437
|
enter(vnode, function () {
|
@@ -7220,7 +7535,11 @@ function isSameChild (child, oldChild) {
|
|
7220
7535
|
return oldChild.key === child.key && oldChild.tag === child.tag
|
7221
7536
|
}
|
7222
7537
|
|
7223
|
-
|
7538
|
+
function isAsyncPlaceholder (node) {
|
7539
|
+
return node.isComment && node.asyncFactory
|
7540
|
+
}
|
7541
|
+
|
7542
|
+
var Transition = {
|
7224
7543
|
name: 'transition',
|
7225
7544
|
props: transitionProps,
|
7226
7545
|
abstract: true,
|
@@ -7228,13 +7547,13 @@ var Transition = {
|
|
7228
7547
|
render: function render (h) {
|
7229
7548
|
var this$1 = this;
|
7230
7549
|
|
7231
|
-
var children = this.$
|
7550
|
+
var children = this.$options._renderChildren;
|
7232
7551
|
if (!children) {
|
7233
7552
|
return
|
7234
7553
|
}
|
7235
7554
|
|
7236
7555
|
// filter out text nodes (possible whitespaces)
|
7237
|
-
children = children.filter(function (c) { return c.tag; });
|
7556
|
+
children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); });
|
7238
7557
|
/* istanbul ignore if */
|
7239
7558
|
if (!children.length) {
|
7240
7559
|
return
|
@@ -7253,7 +7572,8 @@ var Transition = {
|
|
7253
7572
|
|
7254
7573
|
// warn invalid mode
|
7255
7574
|
if ("development" !== 'production' &&
|
7256
|
-
|
7575
|
+
mode && mode !== 'in-out' && mode !== 'out-in'
|
7576
|
+
) {
|
7257
7577
|
warn(
|
7258
7578
|
'invalid <transition> mode: ' + mode,
|
7259
7579
|
this.$parent
|
@@ -7285,7 +7605,9 @@ var Transition = {
|
|
7285
7605
|
// during entering.
|
7286
7606
|
var id = "__transition-" + (this._uid) + "-";
|
7287
7607
|
child.key = child.key == null
|
7288
|
-
?
|
7608
|
+
? child.isComment
|
7609
|
+
? id + 'comment'
|
7610
|
+
: id + child.tag
|
7289
7611
|
: isPrimitive(child.key)
|
7290
7612
|
? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)
|
7291
7613
|
: child.key;
|
@@ -7300,7 +7622,12 @@ var Transition = {
|
|
7300
7622
|
child.data.show = true;
|
7301
7623
|
}
|
7302
7624
|
|
7303
|
-
if (
|
7625
|
+
if (
|
7626
|
+
oldChild &&
|
7627
|
+
oldChild.data &&
|
7628
|
+
!isSameChild(child, oldChild) &&
|
7629
|
+
!isAsyncPlaceholder(oldChild)
|
7630
|
+
) {
|
7304
7631
|
// replace old child transition data with fresh one
|
7305
7632
|
// important for dynamic transitions!
|
7306
7633
|
var oldData = oldChild && (oldChild.data.transition = extend({}, data));
|
@@ -7314,6 +7641,9 @@ var Transition = {
|
|
7314
7641
|
});
|
7315
7642
|
return placeholder(h, rawChild)
|
7316
7643
|
} else if (mode === 'in-out') {
|
7644
|
+
if (isAsyncPlaceholder(child)) {
|
7645
|
+
return oldRawChild
|
7646
|
+
}
|
7317
7647
|
var delayedLeave;
|
7318
7648
|
var performLeave = function () { delayedLeave(); };
|
7319
7649
|
mergeVNodeHook(data, 'afterEnter', performLeave);
|
@@ -7443,7 +7773,8 @@ var TransitionGroup = {
|
|
7443
7773
|
if (!hasTransition) {
|
7444
7774
|
return false
|
7445
7775
|
}
|
7446
|
-
|
7776
|
+
/* istanbul ignore if */
|
7777
|
+
if (this._hasMove) {
|
7447
7778
|
return this._hasMove
|
7448
7779
|
}
|
7449
7780
|
// Detect whether an element with the move class applied has
|
@@ -7537,8 +7868,9 @@ setTimeout(function () {
|
|
7537
7868
|
}
|
7538
7869
|
}
|
7539
7870
|
if ("development" !== 'production' &&
|
7540
|
-
|
7541
|
-
|
7871
|
+
config.productionTip !== false &&
|
7872
|
+
inBrowser && typeof console !== 'undefined'
|
7873
|
+
) {
|
7542
7874
|
console[console.info ? 'info' : 'log'](
|
7543
7875
|
"You are running Vue in development mode.\n" +
|
7544
7876
|
"Make sure to turn on production mode when deploying for production.\n" +
|
@@ -7552,7 +7884,7 @@ setTimeout(function () {
|
|
7552
7884
|
// check whether current browser encodes a char inside attribute values
|
7553
7885
|
function shouldDecode (content, encoded) {
|
7554
7886
|
var div = document.createElement('div');
|
7555
|
-
div.innerHTML = "<div a=\"" + content + "\"
|
7887
|
+
div.innerHTML = "<div a=\"" + content + "\"/>";
|
7556
7888
|
return div.innerHTML.indexOf(encoded) > 0
|
7557
7889
|
}
|
7558
7890
|
|
@@ -7562,6 +7894,158 @@ var shouldDecodeNewlines = inBrowser ? shouldDecode('\n', ' ') : false;
|
|
7562
7894
|
|
7563
7895
|
/* */
|
7564
7896
|
|
7897
|
+
var defaultTagRE = /\{\{((?:.|\n)+?)\}\}/g;
|
7898
|
+
var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g;
|
7899
|
+
|
7900
|
+
var buildRegex = cached(function (delimiters) {
|
7901
|
+
var open = delimiters[0].replace(regexEscapeRE, '\\$&');
|
7902
|
+
var close = delimiters[1].replace(regexEscapeRE, '\\$&');
|
7903
|
+
return new RegExp(open + '((?:.|\\n)+?)' + close, 'g')
|
7904
|
+
});
|
7905
|
+
|
7906
|
+
function parseText (
|
7907
|
+
text,
|
7908
|
+
delimiters
|
7909
|
+
) {
|
7910
|
+
var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;
|
7911
|
+
if (!tagRE.test(text)) {
|
7912
|
+
return
|
7913
|
+
}
|
7914
|
+
var tokens = [];
|
7915
|
+
var lastIndex = tagRE.lastIndex = 0;
|
7916
|
+
var match, index;
|
7917
|
+
while ((match = tagRE.exec(text))) {
|
7918
|
+
index = match.index;
|
7919
|
+
// push text token
|
7920
|
+
if (index > lastIndex) {
|
7921
|
+
tokens.push(JSON.stringify(text.slice(lastIndex, index)));
|
7922
|
+
}
|
7923
|
+
// tag token
|
7924
|
+
var exp = parseFilters(match[1].trim());
|
7925
|
+
tokens.push(("_s(" + exp + ")"));
|
7926
|
+
lastIndex = index + match[0].length;
|
7927
|
+
}
|
7928
|
+
if (lastIndex < text.length) {
|
7929
|
+
tokens.push(JSON.stringify(text.slice(lastIndex)));
|
7930
|
+
}
|
7931
|
+
return tokens.join('+')
|
7932
|
+
}
|
7933
|
+
|
7934
|
+
/* */
|
7935
|
+
|
7936
|
+
function transformNode (el, options) {
|
7937
|
+
var warn = options.warn || baseWarn;
|
7938
|
+
var staticClass = getAndRemoveAttr(el, 'class');
|
7939
|
+
if ("development" !== 'production' && staticClass) {
|
7940
|
+
var expression = parseText(staticClass, options.delimiters);
|
7941
|
+
if (expression) {
|
7942
|
+
warn(
|
7943
|
+
"class=\"" + staticClass + "\": " +
|
7944
|
+
'Interpolation inside attributes has been removed. ' +
|
7945
|
+
'Use v-bind or the colon shorthand instead. For example, ' +
|
7946
|
+
'instead of <div class="{{ val }}">, use <div :class="val">.'
|
7947
|
+
);
|
7948
|
+
}
|
7949
|
+
}
|
7950
|
+
if (staticClass) {
|
7951
|
+
el.staticClass = JSON.stringify(staticClass);
|
7952
|
+
}
|
7953
|
+
var classBinding = getBindingAttr(el, 'class', false /* getStatic */);
|
7954
|
+
if (classBinding) {
|
7955
|
+
el.classBinding = classBinding;
|
7956
|
+
}
|
7957
|
+
}
|
7958
|
+
|
7959
|
+
function genData (el) {
|
7960
|
+
var data = '';
|
7961
|
+
if (el.staticClass) {
|
7962
|
+
data += "staticClass:" + (el.staticClass) + ",";
|
7963
|
+
}
|
7964
|
+
if (el.classBinding) {
|
7965
|
+
data += "class:" + (el.classBinding) + ",";
|
7966
|
+
}
|
7967
|
+
return data
|
7968
|
+
}
|
7969
|
+
|
7970
|
+
var klass$1 = {
|
7971
|
+
staticKeys: ['staticClass'],
|
7972
|
+
transformNode: transformNode,
|
7973
|
+
genData: genData
|
7974
|
+
};
|
7975
|
+
|
7976
|
+
/* */
|
7977
|
+
|
7978
|
+
function transformNode$1 (el, options) {
|
7979
|
+
var warn = options.warn || baseWarn;
|
7980
|
+
var staticStyle = getAndRemoveAttr(el, 'style');
|
7981
|
+
if (staticStyle) {
|
7982
|
+
/* istanbul ignore if */
|
7983
|
+
{
|
7984
|
+
var expression = parseText(staticStyle, options.delimiters);
|
7985
|
+
if (expression) {
|
7986
|
+
warn(
|
7987
|
+
"style=\"" + staticStyle + "\": " +
|
7988
|
+
'Interpolation inside attributes has been removed. ' +
|
7989
|
+
'Use v-bind or the colon shorthand instead. For example, ' +
|
7990
|
+
'instead of <div style="{{ val }}">, use <div :style="val">.'
|
7991
|
+
);
|
7992
|
+
}
|
7993
|
+
}
|
7994
|
+
el.staticStyle = JSON.stringify(parseStyleText(staticStyle));
|
7995
|
+
}
|
7996
|
+
|
7997
|
+
var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);
|
7998
|
+
if (styleBinding) {
|
7999
|
+
el.styleBinding = styleBinding;
|
8000
|
+
}
|
8001
|
+
}
|
8002
|
+
|
8003
|
+
function genData$1 (el) {
|
8004
|
+
var data = '';
|
8005
|
+
if (el.staticStyle) {
|
8006
|
+
data += "staticStyle:" + (el.staticStyle) + ",";
|
8007
|
+
}
|
8008
|
+
if (el.styleBinding) {
|
8009
|
+
data += "style:(" + (el.styleBinding) + "),";
|
8010
|
+
}
|
8011
|
+
return data
|
8012
|
+
}
|
8013
|
+
|
8014
|
+
var style$1 = {
|
8015
|
+
staticKeys: ['staticStyle'],
|
8016
|
+
transformNode: transformNode$1,
|
8017
|
+
genData: genData$1
|
8018
|
+
};
|
8019
|
+
|
8020
|
+
var modules$1 = [
|
8021
|
+
klass$1,
|
8022
|
+
style$1
|
8023
|
+
];
|
8024
|
+
|
8025
|
+
/* */
|
8026
|
+
|
8027
|
+
function text (el, dir) {
|
8028
|
+
if (dir.value) {
|
8029
|
+
addProp(el, 'textContent', ("_s(" + (dir.value) + ")"));
|
8030
|
+
}
|
8031
|
+
}
|
8032
|
+
|
8033
|
+
/* */
|
8034
|
+
|
8035
|
+
function html (el, dir) {
|
8036
|
+
if (dir.value) {
|
8037
|
+
addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")"));
|
8038
|
+
}
|
8039
|
+
}
|
8040
|
+
|
8041
|
+
var directives$1 = {
|
8042
|
+
model: model,
|
8043
|
+
text: text,
|
8044
|
+
html: html
|
8045
|
+
};
|
8046
|
+
|
8047
|
+
/* */
|
8048
|
+
|
7565
8049
|
var isUnaryTag = makeMap(
|
7566
8050
|
'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
|
7567
8051
|
'link,meta,param,source,track,wbr'
|
@@ -7585,13 +8069,30 @@ var isNonPhrasingTag = makeMap(
|
|
7585
8069
|
|
7586
8070
|
/* */
|
7587
8071
|
|
8072
|
+
var baseOptions = {
|
8073
|
+
expectHTML: true,
|
8074
|
+
modules: modules$1,
|
8075
|
+
directives: directives$1,
|
8076
|
+
isPreTag: isPreTag,
|
8077
|
+
isUnaryTag: isUnaryTag,
|
8078
|
+
mustUseProp: mustUseProp,
|
8079
|
+
canBeLeftOpenTag: canBeLeftOpenTag,
|
8080
|
+
isReservedTag: isReservedTag,
|
8081
|
+
getTagNamespace: getTagNamespace,
|
8082
|
+
staticKeys: genStaticKeys(modules$1)
|
8083
|
+
};
|
8084
|
+
|
8085
|
+
/* */
|
8086
|
+
|
7588
8087
|
var decoder;
|
7589
8088
|
|
7590
|
-
|
7591
|
-
|
7592
|
-
|
7593
|
-
|
7594
|
-
|
8089
|
+
var he = {
|
8090
|
+
decode: function decode (html) {
|
8091
|
+
decoder = decoder || document.createElement('div');
|
8092
|
+
decoder.innerHTML = html;
|
8093
|
+
return decoder.textContent
|
8094
|
+
}
|
8095
|
+
};
|
7595
8096
|
|
7596
8097
|
/**
|
7597
8098
|
* Not type-checking this file because it's mostly vendor code.
|
@@ -7651,6 +8152,10 @@ var decodingMap = {
|
|
7651
8152
|
var encodedAttr = /&(?:lt|gt|quot|amp);/g;
|
7652
8153
|
var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10);/g;
|
7653
8154
|
|
8155
|
+
// #5992
|
8156
|
+
var isIgnoreNewlineTag = makeMap('pre,textarea', true);
|
8157
|
+
var shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; };
|
8158
|
+
|
7654
8159
|
function decodeAttr (value, shouldDecodeNewlines) {
|
7655
8160
|
var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;
|
7656
8161
|
return value.replace(re, function (match) { return decodingMap[match]; })
|
@@ -7674,6 +8179,9 @@ function parseHTML (html, options) {
|
|
7674
8179
|
var commentEnd = html.indexOf('-->');
|
7675
8180
|
|
7676
8181
|
if (commentEnd >= 0) {
|
8182
|
+
if (options.shouldKeepComment) {
|
8183
|
+
options.comment(html.substring(4, commentEnd));
|
8184
|
+
}
|
7677
8185
|
advance(commentEnd + 3);
|
7678
8186
|
continue
|
7679
8187
|
}
|
@@ -7709,24 +8217,27 @@ function parseHTML (html, options) {
|
|
7709
8217
|
var startTagMatch = parseStartTag();
|
7710
8218
|
if (startTagMatch) {
|
7711
8219
|
handleStartTag(startTagMatch);
|
8220
|
+
if (shouldIgnoreFirstNewline(lastTag, html)) {
|
8221
|
+
advance(1);
|
8222
|
+
}
|
7712
8223
|
continue
|
7713
8224
|
}
|
7714
8225
|
}
|
7715
8226
|
|
7716
|
-
var text = (void 0), rest
|
8227
|
+
var text = (void 0), rest = (void 0), next = (void 0);
|
7717
8228
|
if (textEnd >= 0) {
|
7718
|
-
rest
|
8229
|
+
rest = html.slice(textEnd);
|
7719
8230
|
while (
|
7720
|
-
!endTag.test(rest
|
7721
|
-
!startTagOpen.test(rest
|
7722
|
-
!comment.test(rest
|
7723
|
-
!conditionalComment.test(rest
|
8231
|
+
!endTag.test(rest) &&
|
8232
|
+
!startTagOpen.test(rest) &&
|
8233
|
+
!comment.test(rest) &&
|
8234
|
+
!conditionalComment.test(rest)
|
7724
8235
|
) {
|
7725
8236
|
// < in plain text, be forgiving and treat it as text
|
7726
|
-
next = rest
|
8237
|
+
next = rest.indexOf('<', 1);
|
7727
8238
|
if (next < 0) { break }
|
7728
8239
|
textEnd += next;
|
7729
|
-
rest
|
8240
|
+
rest = html.slice(textEnd);
|
7730
8241
|
}
|
7731
8242
|
text = html.substring(0, textEnd);
|
7732
8243
|
advance(textEnd);
|
@@ -7741,23 +8252,26 @@ function parseHTML (html, options) {
|
|
7741
8252
|
options.chars(text);
|
7742
8253
|
}
|
7743
8254
|
} else {
|
8255
|
+
var endTagLength = 0;
|
7744
8256
|
var stackedTag = lastTag.toLowerCase();
|
7745
8257
|
var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\s\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));
|
7746
|
-
var
|
7747
|
-
var rest = html.replace(reStackedTag, function (all, text, endTag) {
|
8258
|
+
var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {
|
7748
8259
|
endTagLength = endTag.length;
|
7749
8260
|
if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {
|
7750
8261
|
text = text
|
7751
8262
|
.replace(/<!--([\s\S]*?)-->/g, '$1')
|
7752
8263
|
.replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1');
|
7753
8264
|
}
|
8265
|
+
if (shouldIgnoreFirstNewline(stackedTag, text)) {
|
8266
|
+
text = text.slice(1);
|
8267
|
+
}
|
7754
8268
|
if (options.chars) {
|
7755
8269
|
options.chars(text);
|
7756
8270
|
}
|
7757
8271
|
return ''
|
7758
8272
|
});
|
7759
|
-
index += html.length - rest.length;
|
7760
|
-
html = rest;
|
8273
|
+
index += html.length - rest$1.length;
|
8274
|
+
html = rest$1;
|
7761
8275
|
parseEndTag(stackedTag, index - endTagLength, index);
|
7762
8276
|
}
|
7763
8277
|
|
@@ -7814,7 +8328,7 @@ function parseHTML (html, options) {
|
|
7814
8328
|
}
|
7815
8329
|
}
|
7816
8330
|
|
7817
|
-
var unary = isUnaryTag$$1(tagName) ||
|
8331
|
+
var unary = isUnaryTag$$1(tagName) || !!unarySlash;
|
7818
8332
|
|
7819
8333
|
var l = match.attrs.length;
|
7820
8334
|
var attrs = new Array(l);
|
@@ -7871,8 +8385,9 @@ function parseHTML (html, options) {
|
|
7871
8385
|
// Close all the open elements, up the stack
|
7872
8386
|
for (var i = stack.length - 1; i >= pos; i--) {
|
7873
8387
|
if ("development" !== 'production' &&
|
7874
|
-
|
7875
|
-
|
8388
|
+
(i > pos || !tagName) &&
|
8389
|
+
options.warn
|
8390
|
+
) {
|
7876
8391
|
options.warn(
|
7877
8392
|
("tag <" + (stack[i].tag) + "> has no matching end tag.")
|
7878
8393
|
);
|
@@ -7902,45 +8417,6 @@ function parseHTML (html, options) {
|
|
7902
8417
|
|
7903
8418
|
/* */
|
7904
8419
|
|
7905
|
-
var defaultTagRE = /\{\{((?:.|\n)+?)\}\}/g;
|
7906
|
-
var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g;
|
7907
|
-
|
7908
|
-
var buildRegex = cached(function (delimiters) {
|
7909
|
-
var open = delimiters[0].replace(regexEscapeRE, '\\$&');
|
7910
|
-
var close = delimiters[1].replace(regexEscapeRE, '\\$&');
|
7911
|
-
return new RegExp(open + '((?:.|\\n)+?)' + close, 'g')
|
7912
|
-
});
|
7913
|
-
|
7914
|
-
function parseText (
|
7915
|
-
text,
|
7916
|
-
delimiters
|
7917
|
-
) {
|
7918
|
-
var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;
|
7919
|
-
if (!tagRE.test(text)) {
|
7920
|
-
return
|
7921
|
-
}
|
7922
|
-
var tokens = [];
|
7923
|
-
var lastIndex = tagRE.lastIndex = 0;
|
7924
|
-
var match, index;
|
7925
|
-
while ((match = tagRE.exec(text))) {
|
7926
|
-
index = match.index;
|
7927
|
-
// push text token
|
7928
|
-
if (index > lastIndex) {
|
7929
|
-
tokens.push(JSON.stringify(text.slice(lastIndex, index)));
|
7930
|
-
}
|
7931
|
-
// tag token
|
7932
|
-
var exp = parseFilters(match[1].trim());
|
7933
|
-
tokens.push(("_s(" + exp + ")"));
|
7934
|
-
lastIndex = index + match[0].length;
|
7935
|
-
}
|
7936
|
-
if (lastIndex < text.length) {
|
7937
|
-
tokens.push(JSON.stringify(text.slice(lastIndex)));
|
7938
|
-
}
|
7939
|
-
return tokens.join('+')
|
7940
|
-
}
|
7941
|
-
|
7942
|
-
/* */
|
7943
|
-
|
7944
8420
|
var onRE = /^@|^v-on:/;
|
7945
8421
|
var dirRE = /^v-|^@|^:/;
|
7946
8422
|
var forAliasRE = /(.*?)\s+(?:in|of)\s+(.*)/;
|
@@ -7950,7 +8426,7 @@ var argRE = /:(.*)$/;
|
|
7950
8426
|
var bindRE = /^:|^v-bind:/;
|
7951
8427
|
var modifierRE = /\.[^.]+/g;
|
7952
8428
|
|
7953
|
-
var decodeHTMLCached = cached(decode);
|
8429
|
+
var decodeHTMLCached = cached(he.decode);
|
7954
8430
|
|
7955
8431
|
// configurable state
|
7956
8432
|
var warn$2;
|
@@ -7970,12 +8446,15 @@ function parse (
|
|
7970
8446
|
options
|
7971
8447
|
) {
|
7972
8448
|
warn$2 = options.warn || baseWarn;
|
7973
|
-
|
7974
|
-
platformMustUseProp = options.mustUseProp || no;
|
8449
|
+
|
7975
8450
|
platformIsPreTag = options.isPreTag || no;
|
7976
|
-
|
8451
|
+
platformMustUseProp = options.mustUseProp || no;
|
8452
|
+
platformGetTagNamespace = options.getTagNamespace || no;
|
8453
|
+
|
7977
8454
|
transforms = pluckModuleFunction(options.modules, 'transformNode');
|
8455
|
+
preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');
|
7978
8456
|
postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');
|
8457
|
+
|
7979
8458
|
delimiters = options.delimiters;
|
7980
8459
|
|
7981
8460
|
var stack = [];
|
@@ -8009,6 +8488,7 @@ function parse (
|
|
8009
8488
|
isUnaryTag: options.isUnaryTag,
|
8010
8489
|
canBeLeftOpenTag: options.canBeLeftOpenTag,
|
8011
8490
|
shouldDecodeNewlines: options.shouldDecodeNewlines,
|
8491
|
+
shouldKeepComment: options.comments,
|
8012
8492
|
start: function start (tag, attrs, unary) {
|
8013
8493
|
// check namespace.
|
8014
8494
|
// inherit parent ns if there is one
|
@@ -8167,8 +8647,9 @@ function parse (
|
|
8167
8647
|
// IE textarea placeholder bug
|
8168
8648
|
/* istanbul ignore if */
|
8169
8649
|
if (isIE &&
|
8170
|
-
|
8171
|
-
|
8650
|
+
currentParent.tag === 'textarea' &&
|
8651
|
+
currentParent.attrsMap.placeholder === text
|
8652
|
+
) {
|
8172
8653
|
return
|
8173
8654
|
}
|
8174
8655
|
var children = currentParent.children;
|
@@ -8191,6 +8672,13 @@ function parse (
|
|
8191
8672
|
});
|
8192
8673
|
}
|
8193
8674
|
}
|
8675
|
+
},
|
8676
|
+
comment: function comment (text) {
|
8677
|
+
currentParent.children.push({
|
8678
|
+
type: 3,
|
8679
|
+
text: text,
|
8680
|
+
isComment: true
|
8681
|
+
});
|
8194
8682
|
}
|
8195
8683
|
});
|
8196
8684
|
return root
|
@@ -8392,7 +8880,9 @@ function processAttrs (el) {
|
|
8392
8880
|
);
|
8393
8881
|
}
|
8394
8882
|
}
|
8395
|
-
if (isProp ||
|
8883
|
+
if (isProp || (
|
8884
|
+
!el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)
|
8885
|
+
)) {
|
8396
8886
|
addProp(el, name, value);
|
8397
8887
|
} else {
|
8398
8888
|
addAttr(el, name, value);
|
@@ -8567,6 +9057,15 @@ function markStatic$1 (node) {
|
|
8567
9057
|
node.static = false;
|
8568
9058
|
}
|
8569
9059
|
}
|
9060
|
+
if (node.ifConditions) {
|
9061
|
+
for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {
|
9062
|
+
var block = node.ifConditions[i$1].block;
|
9063
|
+
markStatic$1(block);
|
9064
|
+
if (!block.static) {
|
9065
|
+
node.static = false;
|
9066
|
+
}
|
9067
|
+
}
|
9068
|
+
}
|
8570
9069
|
}
|
8571
9070
|
}
|
8572
9071
|
|
@@ -8593,17 +9092,13 @@ function markStaticRoots (node, isInFor) {
|
|
8593
9092
|
}
|
8594
9093
|
}
|
8595
9094
|
if (node.ifConditions) {
|
8596
|
-
|
9095
|
+
for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {
|
9096
|
+
markStaticRoots(node.ifConditions[i$1].block, isInFor);
|
9097
|
+
}
|
8597
9098
|
}
|
8598
9099
|
}
|
8599
9100
|
}
|
8600
9101
|
|
8601
|
-
function walkThroughConditionsBlocks (conditionBlocks, isInFor) {
|
8602
|
-
for (var i = 1, len = conditionBlocks.length; i < len; i++) {
|
8603
|
-
markStaticRoots(conditionBlocks[i].block, isInFor);
|
8604
|
-
}
|
8605
|
-
}
|
8606
|
-
|
8607
9102
|
function isStatic (node) {
|
8608
9103
|
if (node.type === 2) { // expression
|
8609
9104
|
return false
|
@@ -8672,17 +9167,17 @@ var modifierCode = {
|
|
8672
9167
|
|
8673
9168
|
function genHandlers (
|
8674
9169
|
events,
|
8675
|
-
|
9170
|
+
isNative,
|
8676
9171
|
warn
|
8677
9172
|
) {
|
8678
|
-
var res =
|
9173
|
+
var res = isNative ? 'nativeOn:{' : 'on:{';
|
8679
9174
|
for (var name in events) {
|
8680
9175
|
var handler = events[name];
|
8681
9176
|
// #5330: warn click.right, since right clicks do not actually fire click events.
|
8682
9177
|
if ("development" !== 'production' &&
|
8683
|
-
|
8684
|
-
|
8685
|
-
|
9178
|
+
name === 'click' &&
|
9179
|
+
handler && handler.modifiers && handler.modifiers.right
|
9180
|
+
) {
|
8686
9181
|
warn(
|
8687
9182
|
"Use \"contextmenu\" instead of \"click.right\" since right clicks " +
|
8688
9183
|
"do not actually fire \"click\" events."
|
@@ -8758,99 +9253,101 @@ function genFilterCode (key) {
|
|
8758
9253
|
|
8759
9254
|
/* */
|
8760
9255
|
|
9256
|
+
function on (el, dir) {
|
9257
|
+
if ("development" !== 'production' && dir.modifiers) {
|
9258
|
+
warn("v-on without argument does not support modifiers.");
|
9259
|
+
}
|
9260
|
+
el.wrapListeners = function (code) { return ("_g(" + code + "," + (dir.value) + ")"); };
|
9261
|
+
}
|
9262
|
+
|
9263
|
+
/* */
|
9264
|
+
|
8761
9265
|
function bind$1 (el, dir) {
|
8762
9266
|
el.wrapData = function (code) {
|
8763
|
-
return ("_b(" + code + ",'" + (el.tag) + "'," + (dir.value) + (dir.modifiers && dir.modifiers.prop ? ',true' : '') + ")")
|
9267
|
+
return ("_b(" + code + ",'" + (el.tag) + "'," + (dir.value) + "," + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + ")")
|
8764
9268
|
};
|
8765
9269
|
}
|
8766
9270
|
|
8767
9271
|
/* */
|
8768
9272
|
|
8769
9273
|
var baseDirectives = {
|
9274
|
+
on: on,
|
8770
9275
|
bind: bind$1,
|
8771
9276
|
cloak: noop
|
8772
9277
|
};
|
8773
9278
|
|
8774
9279
|
/* */
|
8775
9280
|
|
8776
|
-
|
8777
|
-
|
8778
|
-
|
8779
|
-
|
8780
|
-
|
8781
|
-
|
8782
|
-
var
|
8783
|
-
|
8784
|
-
|
9281
|
+
var CodegenState = function CodegenState (options) {
|
9282
|
+
this.options = options;
|
9283
|
+
this.warn = options.warn || baseWarn;
|
9284
|
+
this.transforms = pluckModuleFunction(options.modules, 'transformCode');
|
9285
|
+
this.dataGenFns = pluckModuleFunction(options.modules, 'genData');
|
9286
|
+
this.directives = extend(extend({}, baseDirectives), options.directives);
|
9287
|
+
var isReservedTag = options.isReservedTag || no;
|
9288
|
+
this.maybeComponent = function (el) { return !isReservedTag(el.tag); };
|
9289
|
+
this.onceId = 0;
|
9290
|
+
this.staticRenderFns = [];
|
9291
|
+
};
|
9292
|
+
|
9293
|
+
|
8785
9294
|
|
8786
9295
|
function generate (
|
8787
9296
|
ast,
|
8788
9297
|
options
|
8789
9298
|
) {
|
8790
|
-
|
8791
|
-
var
|
8792
|
-
var currentStaticRenderFns = staticRenderFns = [];
|
8793
|
-
var prevOnceCount = onceCount;
|
8794
|
-
onceCount = 0;
|
8795
|
-
currentOptions = options;
|
8796
|
-
warn$3 = options.warn || baseWarn;
|
8797
|
-
transforms$1 = pluckModuleFunction(options.modules, 'transformCode');
|
8798
|
-
dataGenFns = pluckModuleFunction(options.modules, 'genData');
|
8799
|
-
platformDirectives$1 = options.directives || {};
|
8800
|
-
isPlatformReservedTag$1 = options.isReservedTag || no;
|
8801
|
-
var code = ast ? genElement(ast) : '_c("div")';
|
8802
|
-
staticRenderFns = prevStaticRenderFns;
|
8803
|
-
onceCount = prevOnceCount;
|
9299
|
+
var state = new CodegenState(options);
|
9300
|
+
var code = ast ? genElement(ast, state) : '_c("div")';
|
8804
9301
|
return {
|
8805
9302
|
render: ("with(this){return " + code + "}"),
|
8806
|
-
staticRenderFns:
|
9303
|
+
staticRenderFns: state.staticRenderFns
|
8807
9304
|
}
|
8808
9305
|
}
|
8809
9306
|
|
8810
|
-
function genElement (el) {
|
9307
|
+
function genElement (el, state) {
|
8811
9308
|
if (el.staticRoot && !el.staticProcessed) {
|
8812
|
-
return genStatic(el)
|
9309
|
+
return genStatic(el, state)
|
8813
9310
|
} else if (el.once && !el.onceProcessed) {
|
8814
|
-
return genOnce(el)
|
9311
|
+
return genOnce(el, state)
|
8815
9312
|
} else if (el.for && !el.forProcessed) {
|
8816
|
-
return genFor(el)
|
9313
|
+
return genFor(el, state)
|
8817
9314
|
} else if (el.if && !el.ifProcessed) {
|
8818
|
-
return genIf(el)
|
9315
|
+
return genIf(el, state)
|
8819
9316
|
} else if (el.tag === 'template' && !el.slotTarget) {
|
8820
|
-
return genChildren(el) || 'void 0'
|
9317
|
+
return genChildren(el, state) || 'void 0'
|
8821
9318
|
} else if (el.tag === 'slot') {
|
8822
|
-
return genSlot(el)
|
9319
|
+
return genSlot(el, state)
|
8823
9320
|
} else {
|
8824
9321
|
// component or element
|
8825
9322
|
var code;
|
8826
9323
|
if (el.component) {
|
8827
|
-
code = genComponent(el.component, el);
|
9324
|
+
code = genComponent(el.component, el, state);
|
8828
9325
|
} else {
|
8829
|
-
var data = el.plain ? undefined : genData(el);
|
9326
|
+
var data = el.plain ? undefined : genData$2(el, state);
|
8830
9327
|
|
8831
|
-
var children = el.inlineTemplate ? null : genChildren(el, true);
|
9328
|
+
var children = el.inlineTemplate ? null : genChildren(el, state, true);
|
8832
9329
|
code = "_c('" + (el.tag) + "'" + (data ? ("," + data) : '') + (children ? ("," + children) : '') + ")";
|
8833
9330
|
}
|
8834
9331
|
// module transforms
|
8835
|
-
for (var i = 0; i < transforms
|
8836
|
-
code = transforms
|
9332
|
+
for (var i = 0; i < state.transforms.length; i++) {
|
9333
|
+
code = state.transforms[i](el, code);
|
8837
9334
|
}
|
8838
9335
|
return code
|
8839
9336
|
}
|
8840
9337
|
}
|
8841
9338
|
|
8842
9339
|
// hoist static sub-trees out
|
8843
|
-
function genStatic (el) {
|
9340
|
+
function genStatic (el, state) {
|
8844
9341
|
el.staticProcessed = true;
|
8845
|
-
staticRenderFns.push(("with(this){return " + (genElement(el)) + "}"));
|
8846
|
-
return ("_m(" + (staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + ")")
|
9342
|
+
state.staticRenderFns.push(("with(this){return " + (genElement(el, state)) + "}"));
|
9343
|
+
return ("_m(" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + ")")
|
8847
9344
|
}
|
8848
9345
|
|
8849
9346
|
// v-once
|
8850
|
-
function genOnce (el) {
|
9347
|
+
function genOnce (el, state) {
|
8851
9348
|
el.onceProcessed = true;
|
8852
9349
|
if (el.if && !el.ifProcessed) {
|
8853
|
-
return genIf(el)
|
9350
|
+
return genIf(el, state)
|
8854
9351
|
} else if (el.staticInFor) {
|
8855
9352
|
var key = '';
|
8856
9353
|
var parent = el.parent;
|
@@ -8862,51 +9359,72 @@ function genOnce (el) {
|
|
8862
9359
|
parent = parent.parent;
|
8863
9360
|
}
|
8864
9361
|
if (!key) {
|
8865
|
-
"development" !== 'production' && warn
|
9362
|
+
"development" !== 'production' && state.warn(
|
8866
9363
|
"v-once can only be used inside v-for that is keyed. "
|
8867
9364
|
);
|
8868
|
-
return genElement(el)
|
9365
|
+
return genElement(el, state)
|
8869
9366
|
}
|
8870
|
-
return ("_o(" + (genElement(el)) + "," + (
|
9367
|
+
return ("_o(" + (genElement(el, state)) + "," + (state.onceId++) + (key ? ("," + key) : "") + ")")
|
8871
9368
|
} else {
|
8872
|
-
return genStatic(el)
|
9369
|
+
return genStatic(el, state)
|
8873
9370
|
}
|
8874
9371
|
}
|
8875
9372
|
|
8876
|
-
function genIf (
|
9373
|
+
function genIf (
|
9374
|
+
el,
|
9375
|
+
state,
|
9376
|
+
altGen,
|
9377
|
+
altEmpty
|
9378
|
+
) {
|
8877
9379
|
el.ifProcessed = true; // avoid recursion
|
8878
|
-
return genIfConditions(el.ifConditions.slice())
|
9380
|
+
return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)
|
8879
9381
|
}
|
8880
9382
|
|
8881
|
-
function genIfConditions (
|
9383
|
+
function genIfConditions (
|
9384
|
+
conditions,
|
9385
|
+
state,
|
9386
|
+
altGen,
|
9387
|
+
altEmpty
|
9388
|
+
) {
|
8882
9389
|
if (!conditions.length) {
|
8883
|
-
return '_e()'
|
9390
|
+
return altEmpty || '_e()'
|
8884
9391
|
}
|
8885
9392
|
|
8886
9393
|
var condition = conditions.shift();
|
8887
9394
|
if (condition.exp) {
|
8888
|
-
return ("(" + (condition.exp) + ")?" + (genTernaryExp(condition.block)) + ":" + (genIfConditions(conditions)))
|
9395
|
+
return ("(" + (condition.exp) + ")?" + (genTernaryExp(condition.block)) + ":" + (genIfConditions(conditions, state, altGen, altEmpty)))
|
8889
9396
|
} else {
|
8890
9397
|
return ("" + (genTernaryExp(condition.block)))
|
8891
9398
|
}
|
8892
9399
|
|
8893
9400
|
// v-if with v-once should generate code like (a)?_m(0):_m(1)
|
8894
9401
|
function genTernaryExp (el) {
|
8895
|
-
return
|
9402
|
+
return altGen
|
9403
|
+
? altGen(el, state)
|
9404
|
+
: el.once
|
9405
|
+
? genOnce(el, state)
|
9406
|
+
: genElement(el, state)
|
8896
9407
|
}
|
8897
9408
|
}
|
8898
9409
|
|
8899
|
-
function genFor (
|
9410
|
+
function genFor (
|
9411
|
+
el,
|
9412
|
+
state,
|
9413
|
+
altGen,
|
9414
|
+
altHelper
|
9415
|
+
) {
|
8900
9416
|
var exp = el.for;
|
8901
9417
|
var alias = el.alias;
|
8902
9418
|
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
|
8903
9419
|
var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
|
8904
9420
|
|
8905
|
-
if (
|
8906
|
-
|
8907
|
-
|
9421
|
+
if ("development" !== 'production' &&
|
9422
|
+
state.maybeComponent(el) &&
|
9423
|
+
el.tag !== 'slot' &&
|
9424
|
+
el.tag !== 'template' &&
|
9425
|
+
!el.key
|
8908
9426
|
) {
|
8909
|
-
warn
|
9427
|
+
state.warn(
|
8910
9428
|
"<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " +
|
8911
9429
|
"v-for should have explicit keys. " +
|
8912
9430
|
"See https://vuejs.org/guide/list.html#key for more info.",
|
@@ -8915,18 +9433,18 @@ function genFor (el) {
|
|
8915
9433
|
}
|
8916
9434
|
|
8917
9435
|
el.forProcessed = true; // avoid recursion
|
8918
|
-
return "
|
9436
|
+
return (altHelper || '_l') + "((" + exp + ")," +
|
8919
9437
|
"function(" + alias + iterator1 + iterator2 + "){" +
|
8920
|
-
"return " + (genElement(el)) +
|
9438
|
+
"return " + ((altGen || genElement)(el, state)) +
|
8921
9439
|
'})'
|
8922
9440
|
}
|
8923
9441
|
|
8924
|
-
function genData (el) {
|
9442
|
+
function genData$2 (el, state) {
|
8925
9443
|
var data = '{';
|
8926
9444
|
|
8927
9445
|
// directives first.
|
8928
9446
|
// directives may mutate the el's other properties before they are generated.
|
8929
|
-
var dirs = genDirectives(el);
|
9447
|
+
var dirs = genDirectives(el, state);
|
8930
9448
|
if (dirs) { data += dirs + ','; }
|
8931
9449
|
|
8932
9450
|
// key
|
@@ -8949,8 +9467,8 @@ function genData (el) {
|
|
8949
9467
|
data += "tag:\"" + (el.tag) + "\",";
|
8950
9468
|
}
|
8951
9469
|
// module data generation functions
|
8952
|
-
for (var i = 0; i < dataGenFns.length; i++) {
|
8953
|
-
data += dataGenFns[i](el);
|
9470
|
+
for (var i = 0; i < state.dataGenFns.length; i++) {
|
9471
|
+
data += state.dataGenFns[i](el);
|
8954
9472
|
}
|
8955
9473
|
// attributes
|
8956
9474
|
if (el.attrs) {
|
@@ -8962,10 +9480,10 @@ function genData (el) {
|
|
8962
9480
|
}
|
8963
9481
|
// event handlers
|
8964
9482
|
if (el.events) {
|
8965
|
-
data += (genHandlers(el.events, false, warn
|
9483
|
+
data += (genHandlers(el.events, false, state.warn)) + ",";
|
8966
9484
|
}
|
8967
9485
|
if (el.nativeEvents) {
|
8968
|
-
data += (genHandlers(el.nativeEvents, true, warn
|
9486
|
+
data += (genHandlers(el.nativeEvents, true, state.warn)) + ",";
|
8969
9487
|
}
|
8970
9488
|
// slot target
|
8971
9489
|
if (el.slotTarget) {
|
@@ -8973,7 +9491,7 @@ function genData (el) {
|
|
8973
9491
|
}
|
8974
9492
|
// scoped slots
|
8975
9493
|
if (el.scopedSlots) {
|
8976
|
-
data += (genScopedSlots(el.scopedSlots)) + ",";
|
9494
|
+
data += (genScopedSlots(el.scopedSlots, state)) + ",";
|
8977
9495
|
}
|
8978
9496
|
// component v-model
|
8979
9497
|
if (el.model) {
|
@@ -8981,7 +9499,7 @@ function genData (el) {
|
|
8981
9499
|
}
|
8982
9500
|
// inline-template
|
8983
9501
|
if (el.inlineTemplate) {
|
8984
|
-
var inlineTemplate = genInlineTemplate(el);
|
9502
|
+
var inlineTemplate = genInlineTemplate(el, state);
|
8985
9503
|
if (inlineTemplate) {
|
8986
9504
|
data += inlineTemplate + ",";
|
8987
9505
|
}
|
@@ -8991,10 +9509,14 @@ function genData (el) {
|
|
8991
9509
|
if (el.wrapData) {
|
8992
9510
|
data = el.wrapData(data);
|
8993
9511
|
}
|
9512
|
+
// v-on data wrap
|
9513
|
+
if (el.wrapListeners) {
|
9514
|
+
data = el.wrapListeners(data);
|
9515
|
+
}
|
8994
9516
|
return data
|
8995
9517
|
}
|
8996
9518
|
|
8997
|
-
function genDirectives (el) {
|
9519
|
+
function genDirectives (el, state) {
|
8998
9520
|
var dirs = el.directives;
|
8999
9521
|
if (!dirs) { return }
|
9000
9522
|
var res = 'directives:[';
|
@@ -9003,11 +9525,11 @@ function genDirectives (el) {
|
|
9003
9525
|
for (i = 0, l = dirs.length; i < l; i++) {
|
9004
9526
|
dir = dirs[i];
|
9005
9527
|
needRuntime = true;
|
9006
|
-
var gen =
|
9528
|
+
var gen = state.directives[dir.name];
|
9007
9529
|
if (gen) {
|
9008
9530
|
// compile-time directive that manipulates AST.
|
9009
9531
|
// returns true if it also needs a runtime counterpart.
|
9010
|
-
needRuntime = !!gen(el, dir, warn
|
9532
|
+
needRuntime = !!gen(el, dir, state.warn);
|
9011
9533
|
}
|
9012
9534
|
if (needRuntime) {
|
9013
9535
|
hasRuntime = true;
|
@@ -9019,43 +9541,81 @@ function genDirectives (el) {
|
|
9019
9541
|
}
|
9020
9542
|
}
|
9021
9543
|
|
9022
|
-
function genInlineTemplate (el) {
|
9544
|
+
function genInlineTemplate (el, state) {
|
9023
9545
|
var ast = el.children[0];
|
9024
9546
|
if ("development" !== 'production' && (
|
9025
9547
|
el.children.length > 1 || ast.type !== 1
|
9026
9548
|
)) {
|
9027
|
-
warn
|
9549
|
+
state.warn('Inline-template components must have exactly one child element.');
|
9028
9550
|
}
|
9029
9551
|
if (ast.type === 1) {
|
9030
|
-
var inlineRenderFns = generate(ast,
|
9552
|
+
var inlineRenderFns = generate(ast, state.options);
|
9031
9553
|
return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}")
|
9032
9554
|
}
|
9033
9555
|
}
|
9034
9556
|
|
9035
|
-
function genScopedSlots (
|
9036
|
-
|
9557
|
+
function genScopedSlots (
|
9558
|
+
slots,
|
9559
|
+
state
|
9560
|
+
) {
|
9561
|
+
return ("scopedSlots:_u([" + (Object.keys(slots).map(function (key) {
|
9562
|
+
return genScopedSlot(key, slots[key], state)
|
9563
|
+
}).join(',')) + "])")
|
9037
9564
|
}
|
9038
9565
|
|
9039
|
-
function genScopedSlot (
|
9040
|
-
|
9566
|
+
function genScopedSlot (
|
9567
|
+
key,
|
9568
|
+
el,
|
9569
|
+
state
|
9570
|
+
) {
|
9571
|
+
if (el.for && !el.forProcessed) {
|
9572
|
+
return genForScopedSlot(key, el, state)
|
9573
|
+
}
|
9574
|
+
return "{key:" + key + ",fn:function(" + (String(el.attrsMap.scope)) + "){" +
|
9041
9575
|
"return " + (el.tag === 'template'
|
9042
|
-
? genChildren(el) || 'void 0'
|
9043
|
-
: genElement(el)) + "}
|
9576
|
+
? genChildren(el, state) || 'void 0'
|
9577
|
+
: genElement(el, state)) + "}}"
|
9044
9578
|
}
|
9045
9579
|
|
9046
|
-
function
|
9580
|
+
function genForScopedSlot (
|
9581
|
+
key,
|
9582
|
+
el,
|
9583
|
+
state
|
9584
|
+
) {
|
9585
|
+
var exp = el.for;
|
9586
|
+
var alias = el.alias;
|
9587
|
+
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
|
9588
|
+
var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
|
9589
|
+
el.forProcessed = true; // avoid recursion
|
9590
|
+
return "_l((" + exp + ")," +
|
9591
|
+
"function(" + alias + iterator1 + iterator2 + "){" +
|
9592
|
+
"return " + (genScopedSlot(key, el, state)) +
|
9593
|
+
'})'
|
9594
|
+
}
|
9595
|
+
|
9596
|
+
function genChildren (
|
9597
|
+
el,
|
9598
|
+
state,
|
9599
|
+
checkSkip,
|
9600
|
+
altGenElement,
|
9601
|
+
altGenNode
|
9602
|
+
) {
|
9047
9603
|
var children = el.children;
|
9048
9604
|
if (children.length) {
|
9049
9605
|
var el$1 = children[0];
|
9050
9606
|
// optimize single v-for
|
9051
9607
|
if (children.length === 1 &&
|
9052
|
-
|
9053
|
-
|
9054
|
-
|
9055
|
-
|
9608
|
+
el$1.for &&
|
9609
|
+
el$1.tag !== 'template' &&
|
9610
|
+
el$1.tag !== 'slot'
|
9611
|
+
) {
|
9612
|
+
return (altGenElement || genElement)(el$1, state)
|
9056
9613
|
}
|
9057
|
-
var normalizationType = checkSkip
|
9058
|
-
|
9614
|
+
var normalizationType = checkSkip
|
9615
|
+
? getNormalizationType(children, state.maybeComponent)
|
9616
|
+
: 0;
|
9617
|
+
var gen = altGenNode || genNode;
|
9618
|
+
return ("[" + (children.map(function (c) { return gen(c, state); }).join(',')) + "]" + (normalizationType ? ("," + normalizationType) : ''))
|
9059
9619
|
}
|
9060
9620
|
}
|
9061
9621
|
|
@@ -9063,7 +9623,10 @@ function genChildren (el, checkSkip) {
|
|
9063
9623
|
// 0: no normalization needed
|
9064
9624
|
// 1: simple normalization needed (possible 1-level deep nested array)
|
9065
9625
|
// 2: full normalization needed
|
9066
|
-
function getNormalizationType (
|
9626
|
+
function getNormalizationType (
|
9627
|
+
children,
|
9628
|
+
maybeComponent
|
9629
|
+
) {
|
9067
9630
|
var res = 0;
|
9068
9631
|
for (var i = 0; i < children.length; i++) {
|
9069
9632
|
var el = children[i];
|
@@ -9087,13 +9650,11 @@ function needsNormalization (el) {
|
|
9087
9650
|
return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'
|
9088
9651
|
}
|
9089
9652
|
|
9090
|
-
function
|
9091
|
-
return !isPlatformReservedTag$1(el.tag)
|
9092
|
-
}
|
9093
|
-
|
9094
|
-
function genNode (node) {
|
9653
|
+
function genNode (node, state) {
|
9095
9654
|
if (node.type === 1) {
|
9096
|
-
return genElement(node)
|
9655
|
+
return genElement(node, state)
|
9656
|
+
} if (node.type === 3 && node.isComment) {
|
9657
|
+
return genComment(node)
|
9097
9658
|
} else {
|
9098
9659
|
return genText(node)
|
9099
9660
|
}
|
@@ -9105,9 +9666,13 @@ function genText (text) {
|
|
9105
9666
|
: transformSpecialNewlines(JSON.stringify(text.text))) + ")")
|
9106
9667
|
}
|
9107
9668
|
|
9108
|
-
function
|
9669
|
+
function genComment (comment) {
|
9670
|
+
return ("_e(" + (JSON.stringify(comment.text)) + ")")
|
9671
|
+
}
|
9672
|
+
|
9673
|
+
function genSlot (el, state) {
|
9109
9674
|
var slotName = el.slotName || '"default"';
|
9110
|
-
var children = genChildren(el);
|
9675
|
+
var children = genChildren(el, state);
|
9111
9676
|
var res = "_t(" + slotName + (children ? ("," + children) : '');
|
9112
9677
|
var attrs = el.attrs && ("{" + (el.attrs.map(function (a) { return ((camelize(a.name)) + ":" + (a.value)); }).join(',')) + "}");
|
9113
9678
|
var bind$$1 = el.attrsMap['v-bind'];
|
@@ -9124,9 +9689,13 @@ function genSlot (el) {
|
|
9124
9689
|
}
|
9125
9690
|
|
9126
9691
|
// componentName is el.component, take it as argument to shun flow's pessimistic refinement
|
9127
|
-
function genComponent (
|
9128
|
-
|
9129
|
-
|
9692
|
+
function genComponent (
|
9693
|
+
componentName,
|
9694
|
+
el,
|
9695
|
+
state
|
9696
|
+
) {
|
9697
|
+
var children = el.inlineTemplate ? null : genChildren(el, state, true);
|
9698
|
+
return ("_c(" + componentName + "," + (genData$2(el, state)) + (children ? ("," + children) : '') + ")")
|
9130
9699
|
}
|
9131
9700
|
|
9132
9701
|
function genProps (props) {
|
@@ -9244,21 +9813,7 @@ function checkExpression (exp, text, errors) {
|
|
9244
9813
|
|
9245
9814
|
/* */
|
9246
9815
|
|
9247
|
-
function
|
9248
|
-
template,
|
9249
|
-
options
|
9250
|
-
) {
|
9251
|
-
var ast = parse(template.trim(), options);
|
9252
|
-
optimize(ast, options);
|
9253
|
-
var code = generate(ast, options);
|
9254
|
-
return {
|
9255
|
-
ast: ast,
|
9256
|
-
render: code.render,
|
9257
|
-
staticRenderFns: code.staticRenderFns
|
9258
|
-
}
|
9259
|
-
}
|
9260
|
-
|
9261
|
-
function makeFunction (code, errors) {
|
9816
|
+
function createFunction (code, errors) {
|
9262
9817
|
try {
|
9263
9818
|
return new Function(code)
|
9264
9819
|
} catch (err) {
|
@@ -9267,50 +9822,10 @@ function makeFunction (code, errors) {
|
|
9267
9822
|
}
|
9268
9823
|
}
|
9269
9824
|
|
9270
|
-
function
|
9271
|
-
var
|
9272
|
-
|
9273
|
-
function compile (
|
9274
|
-
template,
|
9275
|
-
options
|
9276
|
-
) {
|
9277
|
-
var finalOptions = Object.create(baseOptions);
|
9278
|
-
var errors = [];
|
9279
|
-
var tips = [];
|
9280
|
-
finalOptions.warn = function (msg, tip$$1) {
|
9281
|
-
(tip$$1 ? tips : errors).push(msg);
|
9282
|
-
};
|
9283
|
-
|
9284
|
-
if (options) {
|
9285
|
-
// merge custom modules
|
9286
|
-
if (options.modules) {
|
9287
|
-
finalOptions.modules = (baseOptions.modules || []).concat(options.modules);
|
9288
|
-
}
|
9289
|
-
// merge custom directives
|
9290
|
-
if (options.directives) {
|
9291
|
-
finalOptions.directives = extend(
|
9292
|
-
Object.create(baseOptions.directives),
|
9293
|
-
options.directives
|
9294
|
-
);
|
9295
|
-
}
|
9296
|
-
// copy other options
|
9297
|
-
for (var key in options) {
|
9298
|
-
if (key !== 'modules' && key !== 'directives') {
|
9299
|
-
finalOptions[key] = options[key];
|
9300
|
-
}
|
9301
|
-
}
|
9302
|
-
}
|
9303
|
-
|
9304
|
-
var compiled = baseCompile(template, finalOptions);
|
9305
|
-
{
|
9306
|
-
errors.push.apply(errors, detectErrors(compiled.ast));
|
9307
|
-
}
|
9308
|
-
compiled.errors = errors;
|
9309
|
-
compiled.tips = tips;
|
9310
|
-
return compiled
|
9311
|
-
}
|
9825
|
+
function createCompileToFunctionFn (compile) {
|
9826
|
+
var cache = Object.create(null);
|
9312
9827
|
|
9313
|
-
function compileToFunctions (
|
9828
|
+
return function compileToFunctions (
|
9314
9829
|
template,
|
9315
9830
|
options,
|
9316
9831
|
vm
|
@@ -9339,8 +9854,8 @@ function createCompiler (baseOptions) {
|
|
9339
9854
|
var key = options.delimiters
|
9340
9855
|
? String(options.delimiters) + template
|
9341
9856
|
: template;
|
9342
|
-
if (
|
9343
|
-
return
|
9857
|
+
if (cache[key]) {
|
9858
|
+
return cache[key]
|
9344
9859
|
}
|
9345
9860
|
|
9346
9861
|
// compile
|
@@ -9363,12 +9878,10 @@ function createCompiler (baseOptions) {
|
|
9363
9878
|
// turn code into functions
|
9364
9879
|
var res = {};
|
9365
9880
|
var fnGenErrors = [];
|
9366
|
-
res.render =
|
9367
|
-
|
9368
|
-
|
9369
|
-
|
9370
|
-
res.staticRenderFns[i] = makeFunction(compiled.staticRenderFns[i], fnGenErrors);
|
9371
|
-
}
|
9881
|
+
res.render = createFunction(compiled.render, fnGenErrors);
|
9882
|
+
res.staticRenderFns = compiled.staticRenderFns.map(function (code) {
|
9883
|
+
return createFunction(code, fnGenErrors)
|
9884
|
+
});
|
9372
9885
|
|
9373
9886
|
// check function generation errors.
|
9374
9887
|
// this should only happen if there is a bug in the compiler itself.
|
@@ -9389,143 +9902,83 @@ function createCompiler (baseOptions) {
|
|
9389
9902
|
}
|
9390
9903
|
}
|
9391
9904
|
|
9392
|
-
return (
|
9393
|
-
}
|
9394
|
-
|
9395
|
-
return {
|
9396
|
-
compile: compile,
|
9397
|
-
compileToFunctions: compileToFunctions
|
9905
|
+
return (cache[key] = res)
|
9398
9906
|
}
|
9399
9907
|
}
|
9400
9908
|
|
9401
9909
|
/* */
|
9402
9910
|
|
9403
|
-
function
|
9404
|
-
|
9405
|
-
|
9406
|
-
|
9407
|
-
|
9408
|
-
|
9409
|
-
|
9410
|
-
|
9411
|
-
|
9412
|
-
|
9413
|
-
|
9414
|
-
|
9415
|
-
}
|
9416
|
-
}
|
9417
|
-
if (staticClass) {
|
9418
|
-
el.staticClass = JSON.stringify(staticClass);
|
9419
|
-
}
|
9420
|
-
var classBinding = getBindingAttr(el, 'class', false /* getStatic */);
|
9421
|
-
if (classBinding) {
|
9422
|
-
el.classBinding = classBinding;
|
9423
|
-
}
|
9424
|
-
}
|
9425
|
-
|
9426
|
-
function genData$1 (el) {
|
9427
|
-
var data = '';
|
9428
|
-
if (el.staticClass) {
|
9429
|
-
data += "staticClass:" + (el.staticClass) + ",";
|
9430
|
-
}
|
9431
|
-
if (el.classBinding) {
|
9432
|
-
data += "class:" + (el.classBinding) + ",";
|
9433
|
-
}
|
9434
|
-
return data
|
9435
|
-
}
|
9436
|
-
|
9437
|
-
var klass$1 = {
|
9438
|
-
staticKeys: ['staticClass'],
|
9439
|
-
transformNode: transformNode,
|
9440
|
-
genData: genData$1
|
9441
|
-
};
|
9911
|
+
function createCompilerCreator (baseCompile) {
|
9912
|
+
return function createCompiler (baseOptions) {
|
9913
|
+
function compile (
|
9914
|
+
template,
|
9915
|
+
options
|
9916
|
+
) {
|
9917
|
+
var finalOptions = Object.create(baseOptions);
|
9918
|
+
var errors = [];
|
9919
|
+
var tips = [];
|
9920
|
+
finalOptions.warn = function (msg, tip) {
|
9921
|
+
(tip ? tips : errors).push(msg);
|
9922
|
+
};
|
9442
9923
|
|
9443
|
-
|
9924
|
+
if (options) {
|
9925
|
+
// merge custom modules
|
9926
|
+
if (options.modules) {
|
9927
|
+
finalOptions.modules =
|
9928
|
+
(baseOptions.modules || []).concat(options.modules);
|
9929
|
+
}
|
9930
|
+
// merge custom directives
|
9931
|
+
if (options.directives) {
|
9932
|
+
finalOptions.directives = extend(
|
9933
|
+
Object.create(baseOptions.directives),
|
9934
|
+
options.directives
|
9935
|
+
);
|
9936
|
+
}
|
9937
|
+
// copy other options
|
9938
|
+
for (var key in options) {
|
9939
|
+
if (key !== 'modules' && key !== 'directives') {
|
9940
|
+
finalOptions[key] = options[key];
|
9941
|
+
}
|
9942
|
+
}
|
9943
|
+
}
|
9444
9944
|
|
9445
|
-
|
9446
|
-
|
9447
|
-
|
9448
|
-
if (staticStyle) {
|
9449
|
-
/* istanbul ignore if */
|
9450
|
-
{
|
9451
|
-
var expression = parseText(staticStyle, options.delimiters);
|
9452
|
-
if (expression) {
|
9453
|
-
warn(
|
9454
|
-
"style=\"" + staticStyle + "\": " +
|
9455
|
-
'Interpolation inside attributes has been removed. ' +
|
9456
|
-
'Use v-bind or the colon shorthand instead. For example, ' +
|
9457
|
-
'instead of <div style="{{ val }}">, use <div :style="val">.'
|
9458
|
-
);
|
9945
|
+
var compiled = baseCompile(template, finalOptions);
|
9946
|
+
{
|
9947
|
+
errors.push.apply(errors, detectErrors(compiled.ast));
|
9459
9948
|
}
|
9949
|
+
compiled.errors = errors;
|
9950
|
+
compiled.tips = tips;
|
9951
|
+
return compiled
|
9460
9952
|
}
|
9461
|
-
el.staticStyle = JSON.stringify(parseStyleText(staticStyle));
|
9462
|
-
}
|
9463
|
-
|
9464
|
-
var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);
|
9465
|
-
if (styleBinding) {
|
9466
|
-
el.styleBinding = styleBinding;
|
9467
|
-
}
|
9468
|
-
}
|
9469
|
-
|
9470
|
-
function genData$2 (el) {
|
9471
|
-
var data = '';
|
9472
|
-
if (el.staticStyle) {
|
9473
|
-
data += "staticStyle:" + (el.staticStyle) + ",";
|
9474
|
-
}
|
9475
|
-
if (el.styleBinding) {
|
9476
|
-
data += "style:(" + (el.styleBinding) + "),";
|
9477
|
-
}
|
9478
|
-
return data
|
9479
|
-
}
|
9480
9953
|
|
9481
|
-
|
9482
|
-
|
9483
|
-
|
9484
|
-
|
9485
|
-
};
|
9486
|
-
|
9487
|
-
var modules$1 = [
|
9488
|
-
klass$1,
|
9489
|
-
style$1
|
9490
|
-
];
|
9491
|
-
|
9492
|
-
/* */
|
9493
|
-
|
9494
|
-
function text (el, dir) {
|
9495
|
-
if (dir.value) {
|
9496
|
-
addProp(el, 'textContent', ("_s(" + (dir.value) + ")"));
|
9954
|
+
return {
|
9955
|
+
compile: compile,
|
9956
|
+
compileToFunctions: createCompileToFunctionFn(compile)
|
9957
|
+
}
|
9497
9958
|
}
|
9498
9959
|
}
|
9499
9960
|
|
9500
9961
|
/* */
|
9501
9962
|
|
9502
|
-
|
9503
|
-
|
9504
|
-
|
9963
|
+
// `createCompilerCreator` allows creating compilers that use alternative
|
9964
|
+
// parser/optimizer/codegen, e.g the SSR optimizing compiler.
|
9965
|
+
// Here we just export a default compiler using the default parts.
|
9966
|
+
var createCompiler = createCompilerCreator(function baseCompile (
|
9967
|
+
template,
|
9968
|
+
options
|
9969
|
+
) {
|
9970
|
+
var ast = parse(template.trim(), options);
|
9971
|
+
optimize(ast, options);
|
9972
|
+
var code = generate(ast, options);
|
9973
|
+
return {
|
9974
|
+
ast: ast,
|
9975
|
+
render: code.render,
|
9976
|
+
staticRenderFns: code.staticRenderFns
|
9505
9977
|
}
|
9506
|
-
}
|
9507
|
-
|
9508
|
-
var directives$1 = {
|
9509
|
-
model: model,
|
9510
|
-
text: text,
|
9511
|
-
html: html
|
9512
|
-
};
|
9978
|
+
});
|
9513
9979
|
|
9514
9980
|
/* */
|
9515
9981
|
|
9516
|
-
var baseOptions = {
|
9517
|
-
expectHTML: true,
|
9518
|
-
modules: modules$1,
|
9519
|
-
directives: directives$1,
|
9520
|
-
isPreTag: isPreTag,
|
9521
|
-
isUnaryTag: isUnaryTag,
|
9522
|
-
mustUseProp: mustUseProp,
|
9523
|
-
canBeLeftOpenTag: canBeLeftOpenTag,
|
9524
|
-
isReservedTag: isReservedTag,
|
9525
|
-
getTagNamespace: getTagNamespace,
|
9526
|
-
staticKeys: genStaticKeys(modules$1)
|
9527
|
-
};
|
9528
|
-
|
9529
9982
|
var ref$1 = createCompiler(baseOptions);
|
9530
9983
|
var compileToFunctions = ref$1.compileToFunctions;
|
9531
9984
|
|
@@ -9586,7 +10039,8 @@ Vue$3.prototype.$mount = function (
|
|
9586
10039
|
|
9587
10040
|
var ref = compileToFunctions(template, {
|
9588
10041
|
shouldDecodeNewlines: shouldDecodeNewlines,
|
9589
|
-
delimiters: options.delimiters
|
10042
|
+
delimiters: options.delimiters,
|
10043
|
+
comments: options.comments
|
9590
10044
|
}, this);
|
9591
10045
|
var render = ref.render;
|
9592
10046
|
var staticRenderFns = ref.staticRenderFns;
|