You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by cx...@apache.org on 2018/06/19 09:40:48 UTC
[01/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.11
Repository: incubator-weex
Updated Branches:
refs/heads/release b3be56d1c -> 9ea6ac79e
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/185d3932/pre-build/weex-main-jsfm.js
----------------------------------------------------------------------
diff --git a/pre-build/weex-main-jsfm.js b/pre-build/weex-main-jsfm.js
index 8abdbd6..4a0b428 100644
--- a/pre-build/weex-main-jsfm.js
+++ b/pre-build/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.10, Build 2018-06-07 14:55. (Vue: 2.5.11-weex.1, Rax: 0.4.20)");var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";var t,c,r,l;function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0<t?1:-1)*Math.floor(Math.abs(t)):t);return Math.min(Math.max(n,0),r)},function(e){var t=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var n,r=1<arguments.length?arguments[1]:void 0;if(void 0!==r){if(
!c(r))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(n=arguments[2])}for(var o,i=l(t.length),a=c(this)?Object(new this(i)):new Array(i),s=0;s<i;)o=t[s],a[s]=r?void 0===n?r(o,s):r.call(n,o,s):o,s+=1;return a.length=i,a}));var v=n(function(e){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)}),m=n(function(e){var t=e.exports={version:"2.5.5"};"number"==typeof __e&&(__e=t)}),o=(m.version,function(e){return"object"==typeof e?null!==e:"function"==typeof e}),y=function(e){if(!o(e))throw TypeError(e+" is not an object!");return e},i=function(e){try{return!!e()}catch(e){return!0}},a=!i(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),s=v.document,u=o(s)&&o(s.createElement),f=function(e){return u?s.createElement(e):{}},p=!a&&!i(function(){return 7!=Object.defineProperty(f("div"
),"a",{get:function(){return 7}}).a}),d=Object.defineProperty,h={f:a?Object.defineProperty:function(e,t,n){if(y(e),t=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}(t,!0),y(n),p)try{return d(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},k=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},S=a?function(e,t,n){return h.f(e,t,k(1,n))}:function(e,t,n){return e[t]=n,e},g={}.hasOwnProperty,_=function(e,t){return g.call(e,t)},b=0,w=Math.random(),O=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++b+w).toString(36))},C=n(function(e){var i=O("src"),t="toString",n=Function[t],a=(""+n).split(t);m.inspectSource=function(e){return n.call(
e)},(e.exports=function(e,t,n,r){var o="function"==typeof n;o&&(_(n,"name")||S(n,"name",t)),e[t]!==n&&(o&&(_(n,i)||S(n,i,e[t]?""+e[t]:a.join(String(t)))),e===v?e[t]=n:r?e[t]?e[t]=n:S(e,t,n):(delete e[t],S(e,t,n)))})(Function.prototype,t,function(){return"function"==typeof this&&this[i]||n.call(this)})}),x=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e},E=function(r,o,e){if(x(r),void 0===o)return r;switch(e){case 1:return function(e){return r.call(o,e)};case 2:return function(e,t){return r.call(o,e,t)};case 3:return function(e,t,n){return r.call(o,e,t,n)}}return function(){return r.apply(o,arguments)}},$="prototype",A=function(e,t,n){var r,o,i,a,s=e&A.F,c=e&A.G,l=e&A.S,u=e&A.P,f=e&A.B,p=c?v:l?v[t]||(v[t]={}):(v[t]||{})[$],d=c?m:m[t]||(m[t]={}),h=d[$]||(d[$]={});for(r in c&&(n=t),n)i=((o=!s&&p&&void 0!==p[r])?p:n)[r],a=f&&o?E(i,v):u&&"function"==typeof i?E(Function.call,i):i,p&&C(p,r,i,e&A.U),d[r]!=i&&S(d,r,a),u&&h[r]!=i&&(h[r]=i)};v.core=m,A.F=1
,A.G=2,A.S=4,A.P=8,A.B=16,A.W=32,A.U=64,A.R=128;var j,I=A,M={}.toString,T=function(e){return M.call(e).slice(8,-1)},F=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==T(e)?e.split(""):Object(e)},P=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},N=function(e){return F(P(e))},R=Math.ceil,D=Math.floor,V=function(e){return isNaN(e=+e)?0:(0<e?D:R)(e)},J=Math.min,L=function(e){return 0<e?J(V(e),9007199254740991):0},W=Math.max,q=Math.min,U="__core-js_shared__",B=v[U]||(v[U]={}),z=function(e){return B[e]||(B[e]={})},H=z("keys"),X=function(e){return H[e]||(H[e]=O(e))},G=(j=!1,function(e,t,n){var r,o,i,a=N(e),s=L(a.length),c=(o=s,(r=V(r=n))<0?W(r+o,0):q(r,o));if(j&&t!=t){for(;c<s;)if((i=a[c++])!=i)return!0}else for(;c<s;c++)if((j||c in a)&&a[c]===t)return j||c||0;return!j&&-1}),K=X("IE_PROTO"),Z="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),Y=Object.keys||function(e){return function
(e,t){var n,r=N(e),o=0,i=[];for(n in r)n!=K&&_(r,n)&&i.push(n);for(;t.length>o;)_(r,n=t[o++])&&(~G(i,n)||i.push(n));return i}(e,Z)},Q={f:Object.getOwnPropertySymbols},ee={f:{}.propertyIsEnumerable},te=function(e){return Object(P(e))},ne=Object.assign,re=!ne||i(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ne({},e)[n]||Object.keys(ne({},t)).join("")!=r})?function(e,t){for(var n=arguments,r=te(e),o=arguments.length,i=1,a=Q.f,s=ee.f;i<o;)for(var c,l=F(n[i++]),u=a?Y(l).concat(a(l)):Y(l),f=u.length,p=0;p<f;)s.call(l,c=u[p++])&&(r[c]=l[c]);return r}:ne;I(I.S+I.F,"Object",{assign:re});m.Object.assign;Object.setPrototypeOf||(Object.setPrototypeOf=function(t,n){var r;function o(e,t){return r.call(e,t),e}try{(r=t.getOwnPropertyDescriptor(t.prototype,n).set).call({},null)}catch(e){if(t.prototype!=={}[n])return;r=function(e){this[n]=e},o.polyfill=o(o({},null),t.prototype)instanceof t}return o}(Object,"__proto__"));var oe=g
lobal.WXEnvironment;oe&&"iOS"===oe.platform&&(global.Promise=void 0);var ie=n(function(e){var t=z("wks"),n=v.Symbol,r="function"==typeof n;(e.exports=function(e){return t[e]||(t[e]=r&&n[e]||(r?n:O)("Symbol."+e))}).store=t}),ae=ie("toStringTag"),se="Arguments"==T(function(){return arguments}()),ce=function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),ae))?n:se?T(t):"Object"==(r=T(t))&&"function"==typeof t.callee?"Arguments":r},le={};le[ie("toStringTag")]="z",le+""!="[object z]"&&C(Object.prototype,"toString",function(){return"[object "+ce(this)+"]"},!0);var ue={},fe=a?Object.defineProperties:function(e,t){y(e);for(var n,r=Y(t),o=r.length,i=0;i<o;)h.f(e,n=r[i++],t[n]);return e},pe=v.document,de=pe&&pe.documentElement,he=X("IE_PROTO"),ve=function(){},me="prototype",ye=function(){var e,t=f("iframe"),n=Z.length;for(t.style.display="none",de.appendChild(t),t.src="javascript:",(e=t.contentWindow.document
).open(),e.write("<script>document.F=Object<\/script>"),e.close(),ye=e.F;n--;)delete ye[me][Z[n]];return ye()},ge=Object.create||function(e,t){var n;return null!==e?(ve[me]=y(e),n=new ve,ve[me]=null,n[he]=e):n=ye(),void 0===t?n:fe(n,t)},_e=h.f,be=ie("toStringTag"),we=function(e,t,n){e&&!_(e=n?e:e.prototype,be)&&_e(e,be,{configurable:!0,value:t})},ke={};S(ke,ie("iterator"),function(){return this});var Se,Oe=X("IE_PROTO"),Ce=Object.prototype,xe=Object.getPrototypeOf||function(e){return e=te(e),_(e,Oe)?e[Oe]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Ce:null},Ee=ie("iterator"),$e=!([].keys&&"next"in[].keys()),Ae="values",je=function(){return this},Ie=function(e,t,n,r,o,i,a){var s,c,l;c=t,l=r,(s=n).prototype=ge(ke,{next:k(1,l)}),we(s,c+" Iterator");var u,f,p,d=function(e){if(!$e&&e in y)return y[e];switch(e){case"keys":case Ae:return function(){return new n(this,e)}}return function(){return new n(this,e)}},h=t+" Iterator",v=o
==Ae,m=!1,y=e.prototype,g=y[Ee]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void 0,w="Array"==t&&y.entries||g;if(w&&(p=xe(w.call(new e)))!==Object.prototype&&p.next&&(we(p,h,!0),"function"!=typeof p[Ee]&&S(p,Ee,je)),v&&g&&g.name!==Ae&&(m=!0,_=function(){return g.call(this)}),($e||m||!y[Ee])&&S(y,Ee,_),ue[t]=_,ue[h]=je,o)if(u={values:v?_:d(Ae),keys:i?_:d("keys"),entries:b},a)for(f in u)f in y||C(y,f,u[f]);else I(I.P+I.F*($e||m),t,u);return u},Me=(Se=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return i<0||a<=i?Se?"":void 0:(n=o.charCodeAt(i))<55296||56319<n||i+1===a||(r=o.charCodeAt(i+1))<56320||57343<r?Se?o.charAt(i):n:Se?o.slice(i,i+2):r-56320+(n-55296<<10)+65536});Ie(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=Me(t,n),this._i+=e.length,{value:e,done:!1})});var Te=ie("unscopables"),Fe=Array.prototype;null==Fe[Te]&&S(Fe,Te,{});var Pe=function(e){Fe[Te][e]=!0},Ne=f
unction(e,t){return{value:t,done:!!e}},Re=Ie(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,Ne(1)):Ne(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ue.Arguments=ue.Array,Pe("keys"),Pe("values"),Pe("entries");for(var De=ie("iterator"),Ve=ie("toStringTag"),Je=ue.Array,Le={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},We=Y(Le),qe=0;qe<We.length;qe++){var Ue,Be=We[qe],ze=Le[Be],He=v[Be],Xe=He&&He.prototype
;if(Xe&&(Xe[De]||S(Xe,De,Je),Xe[Ve]||S(Xe,Ve,Be),ue[Be]=Je,ze))for(Ue in Re)Xe[Ue]||C(Xe,Ue,Re[Ue],!0)}var Ge,Ke,Ze,Ye=function(t,e,n,r){try{return r?e(y(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&y(o.call(t)),e}},Qe=ie("iterator"),et=Array.prototype,tt=ie("iterator"),nt=m.getIteratorMethod=function(e){if(null!=e)return e[tt]||e["@@iterator"]||ue[ce(e)]},rt=n(function(e){var d={},h={},t=e.exports=function(e,t,n,r,o){var i,a,s,c,l,u=o?function(){return e}:nt(e),f=E(n,r,t?2:1),p=0;if("function"!=typeof u)throw TypeError(e+" is not iterable!");if(void 0===(l=u)||ue.Array!==l&&et[Qe]!==l){for(s=u.call(e);!(a=s.next()).done;)if((c=Ye(s,f,a.value,t))===d||c===h)return c}else for(i=L(e.length);p<i;p++)if((c=t?f(y(a=e[p])[0],a[1]):f(e[p]))===d||c===h)return c};t.BREAK=d,t.RETURN=h}),ot=ie("species"),it=v.process,at=v.setImmediate,st=v.clearImmediate,ct=v.MessageChannel,lt=v.Dispatch,ut=0,ft={},pt="onreadystatechange",dt=function(){var e=+this;if(ft.hasOwnProperty(e)){var t=f
t[e];delete ft[e],t()}},ht=function(e){dt.call(e.data)};at&&st||(at=function(e){for(var t=arguments,n=[],r=1;arguments.length>r;)n.push(t[r++]);return ft[++ut]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof e?e:Function(e),n)},Ge(ut),ut},st=function(e){delete ft[e]},"process"==T(it)?Ge=function(e){it.nextTick(E(dt,e,1))}:lt&<.now?Ge=function(e){lt.now(E(dt,e,1))}:ct?(Ze=(Ke=new ct).port2,Ke.port1.onmessage=ht,Ge=E(Ze.postMessage,Ze,1)):v.addEventListener&&"function"==typeof postMessage&&!v.importScripts?(Ge=function(e){v.postMessage(e+"","*")},v.addEventListener("message",ht,!1)):Ge=pt in f("script")?function(e){de.appendChild(f("script"))[pt]=function(){de.removeChild(this),dt.call(e)}}:func
tion(e){setTimeout(E(dt,e,1),0)});var vt={set:at,clear:st},mt=vt.set,yt=v.MutationObserver||v.WebKitMutationObserver,gt=v.process,_t=v.Promise,bt="process"==T(gt);var wt={f:function(e){return new function(e){var n,r;this.promise=new e(function(e,t){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=e,r=t}),this.resolve=x(n),this.reject=x(r)}(e)}},kt=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}},St=ie("species"),Ot=ie("iterator"),Ct=!1;try{[7][Ot]().return=function(){Ct=!0}}catch(e){}var xt,Et,$t,At,jt,It=vt.set,Mt=function(){var n,r,o,e=function(){var e,t;for(bt&&(e=gt.domain)&&e.exit();n;){t=n.fn,n=n.next;try{t()}catch(e){throw n?o():r=void 0,e}}r=void 0,e&&e.enter()};if(bt)o=function(){gt.nextTick(e)};else if(!yt||v.navigator&&v.navigator.standalone)if(_t&&_t.resolve){var t=_t.resolve();o=function(){t.then(e)}}else o=function(){mt.call(v,e)};else{var i=!0,a=document.createTextNode("");new yt(e).observe(a,{characterData:!0}),o=function(){a.data=
i=!i}}return function(e){var t={fn:e,next:void 0};r&&(r.next=t),n||(n=t,o()),r=t}}(),Tt="Promise",Ft=v.TypeError,Pt=v.process,Nt=v[Tt],Rt="process"==ce(Pt),Dt=function(){},Vt=Et=wt.f,Jt=!!function(){try{var e=Nt.resolve(1),t=(e.constructor={})[ie("species")]=function(e){e(Dt,Dt)};return(Rt||"function"==typeof PromiseRejectionEvent)&&e.then(Dt)instanceof t}catch(e){}}(),Lt=function(e){var t;return!(!o(e)||"function"!=typeof(t=e.then))&&t},Wt=function(u,n){if(!u._n){u._n=!0;var r=u._c;Mt(function(){for(var c=u._v,l=1==u._s,e=0,t=function(e){var t,n,r,o=l?e.ok:e.fail,i=e.resolve,a=e.reject,s=e.domain;try{o?(l||(2==u._h&&Bt(u),u._h=1),!0===o?t=c:(s&&s.enter(),t=o(c),s&&(s.exit(),r=!0)),t===e.promise?a(Ft("Promise-chain cycle")):(n=Lt(t))?n.call(t,i,a):i(t)):a(c)}catch(e){s&&!r&&s.exit(),a(e)}};r.length>e;)t(r[e++]);u._c=[],u._n=!1,n&&!u._h&&qt(u)})}},qt=function(i){It.call(v,function(){var e,t,n,r=i._v,o=Ut(i);if(o&&(e=kt(function(){Rt?Pt.emit("unhandledRejection",r,i):(t=v.onunhandledr
ejection)?t({promise:i,reason:r}):(n=v.console)&&n.error&&n.error("Unhandled promise rejection",r)}),i._h=Rt||Ut(i)?2:1),i._a=void 0,o&&e.e)throw e.v})},Ut=function(e){return 1!==e._h&&0===(e._a||e._c).length},Bt=function(t){It.call(v,function(){var e;Rt?Pt.emit("rejectionHandled",t):(e=v.onrejectionhandled)&&e({promise:t,reason:t._v})})},zt=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),Wt(t,!0))},Ht=function(e){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===e)throw Ft("Promise can't be resolved itself");(n=Lt(e))?Mt(function(){var t={_w:r,_d:!1};try{n.call(e,E(Ht,t,1),E(zt,t,1))}catch(e){zt.call(t,e)}}):(r._v=e,r._s=1,Wt(r,!1))}catch(e){zt.call({_w:r,_d:!1},e)}}};Jt||(Nt=function(e){!function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!")}(this,Nt,Tt,"_h"),x(e),xt.call(this);try{e(E(Ht,this,1),E(zt,this,1))}catch(e){zt.call(this,e)}},(xt=function(e){this._c=[],this._a=void 0,this._s=0,thi
s._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(e,t,n){for(var r in t)C(e,r,t[r],n);return e}(Nt.prototype,{then:function(e,t){var n,r,o,i=Vt((n=Nt,void 0===(o=y(this).constructor)||null==(r=y(o)[ot])?n:x(r)));return i.ok="function"!=typeof e||e,i.fail="function"==typeof t&&t,i.domain=Rt?Pt.domain:void 0,this._c.push(i),this._a&&this._a.push(i),this._s&&Wt(this,!1),i.promise},catch:function(e){return this.then(void 0,e)}}),$t=function(){var e=new xt;this.promise=e,this.resolve=E(Ht,e,1),this.reject=E(zt,e,1)},wt.f=Vt=function(e){return e===Nt||e===At?new $t(e):Et(e)}),I(I.G+I.W+I.F*!Jt,{Promise:Nt}),we(Nt,Tt),jt=v[Tt],a&&jt&&!jt[St]&&h.f(jt,St,{configurable:!0,get:function(){return this}}),At=m[Tt],I(I.S+I.F*!Jt,Tt,{reject:function(e){var t=Vt(this);return(0,t.reject)(e),t.promise}}),I(I.S+I.F*!Jt,Tt,{resolve:function(e){return function(e,t){if(y(e),o(t)&&t.constructor===e)return t;var n=wt.f(e);return(0,n.resolve)(t),n.promise}(this,e)}}),I(I.S+I.F*!(Jt&&function(e
,t){if(!t&&!Ct)return!1;var n=!1;try{var r=[7],o=r[Ot]();o.next=function(){return{done:n=!0}},r[Ot]=function(){return o},e(r)}catch(e){}return n}(function(e){Nt.all(e).catch(Dt)})),Tt,{all:function(e){var a=this,t=Vt(a),s=t.resolve,c=t.reject,n=kt(function(){var r=[],o=0,i=1;rt(e,!1,function(e){var t=o++,n=!1;r.push(void 0),i++,a.resolve(e).then(function(e){n||(n=!0,r[t]=e,--i||s(r))},c)}),--i||s(r)});return n.e&&c(n.v),t.promise},race:function(e){var t=this,n=Vt(t),r=n.reject,o=kt(function(){rt(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}});var Xt=["off","error","warn","info","log","debug"],Gt={};global.console;function Kt(e){var t=global.WXEnvironment&&global.WXEnvironment.logLevel||"log";return Gt[t]&&Gt[t][e]}function Zt(e){return e.map(function(e){return e="[object object]"===Object.prototype.toString.call(e).toLowerCase()?JSON.stringify(e):String(e)})}global.setTimeout;var Yt=global.setTimeoutNative;function Qt(t,n,r){if(t.hasOwnProperty(n)
){var e=t[n];Object.defineProperty(t,n,{get:function(){return e},set:function(e){if(this===t)throw Error("Cannot assign to read only property "+n+" of "+r);return Object.defineProperty(this,n,{value:e,writable:!0}),e}})}}!function(){if(void 0===setTimeout&&"function"==typeof Yt){var n={},r=0;global.setTimeout=function(e,t){n[++r]=e,Yt(r.toString(),t)},global.setTimeoutCallback=function(e){"function"==typeof n[e]&&(n[e](),delete n[e])}}}(),function(){if(Xt.forEach(function(n){var r=Xt.indexOf(n);Gt[n]={},Xt.forEach(function(e){var t=Xt.indexOf(e);t<=r&&(Gt[n][e]=!0)})}),global.WXEnvironment&&"Web"!==global.WXEnvironment.platform)global.console={debug:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("debug")&&global.nativeLog.apply(global,Zt(e).concat(["__DEBUG"]))},log:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("log")&&global.nativeLog.apply(global,Zt(e).concat(["__LOG"]))},info:function(){for(var e=[],t=arguments.length;t--;)e[t]=argumen
ts[t];Kt("info")&&global.nativeLog.apply(global,Zt(e).concat(["__INFO"]))},warn:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("warn")&&global.nativeLog.apply(global,Zt(e).concat(["__WARN"]))},error:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("error")&&global.nativeLog.apply(global,Zt(e).concat(["__ERROR"]))}};else{var e=console.debug,t=console.log,n=console.info,r=console.warn,o=console.error;console.__ori__={debug:e,log:t,info:n,warn:r,error:o},console.debug=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("debug")&&console.__ori__.debug.apply(console,e)},console.log=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("log")&&console.__ori__.log.apply(console,e)},console.info=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("info")&&console.__ori__.info.apply(console,e)},console.warn=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("warn")&&console.__ori__.wa
rn.apply(console,e)},console.error=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("error")&&console.__ori__.error.apply(console,e)}}}();var en={framework:"0.26.10",transformer:">=0.1.5 <0.5"};function tn(e,t,n){return t+"@"+n+"#"+e}var nn=function(e){this.instanceId=String(e),this.lastCallbackId=0,this.callbacks={},this.hooks={}};nn.prototype.add=function(e){return this.lastCallbackId++,this.callbacks[this.lastCallbackId]=e,this.lastCallbackId},nn.prototype.remove=function(e){var t=this.callbacks[e];return delete this.callbacks[e],t},nn.prototype.registerHook=function(e,t,n,r){var o=tn(e,t,n);this.hooks[o]&&console.warn('[JS Framework] Override an existing component hook "'+o+'".'),this.hooks[o]=r},nn.prototype.triggerHook=function(e,t,n,r){var o=tn(e,t,n),i=this.hooks[o];if("function"!=typeof i)return console.error("[JS Framework] Invalid hook function type ("+typeof i+') on "'+o+'".'),null;var a=null;try{a=i.apply(null,r||[])}catch(e){console.error('[JS Frame
work] Failed to execute the hook function on "'+o+'".')}return a},nn.prototype.consume=function(e,t,n){var r=this.callbacks[e];return void 0!==n&&!1!==n||delete this.callbacks[e],"function"==typeof r?r(t):new Error('invalid callback id "'+e+'"')},nn.prototype.close=function(){this.callbacks={},this.hooks={}};var rn=1;function on(){return(rn++).toString()}function an(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1)}function sn(e){if("function"!=typeof btoa)return"";var t=Array.prototype.map.call(new Uint8Array(e),function(e){return String.fromCharCode(e)}).join("");return btoa(t)}function cn(e){if(!e||"object"!=typeof e)return!0;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}var ln={};function un(e){return ln[e]}function fn(e){var t=ln[e];return t&&t.taskCenter?t.taskCenter:null}function pn(e,t,n){var r=e.documentElement;if(!(0<r.pureChildren.length||t.parentNode)){var o,i,a=r.children,s=a.indexOf(n);s<0?a.push(t):a.splice(s,0
,t),1===t.nodeType?("body"===t.role?(t.docId=e.id,t.ownerDocument=e,t.parentNode=r,hn(t,r)):(t.children.forEach(function(e){e.parentNode=t}),dn(e,t),t.docId=e.id,t.ownerDocument=e,hn(t,r),delete e.nodeMap[t.nodeId]),r.pureChildren.push(t),o=e,i=t.toJSON(),o&&o.taskCenter&&"function"==typeof o.taskCenter.send&&o.taskCenter.send("dom",{action:"createBody"},[i])):(t.parentNode=r,e.nodeMap[t.ref]=t)}}function dn(e,t){t.role="body",t.depth=1,delete e.nodeMap[t.nodeId],t.ref="_root",e.nodeMap._root=t,e.body=t}function hn(t,e){(t.parentNode=e).docId&&(t.docId=e.docId,t.ownerDocument=e.ownerDocument,(t.ownerDocument.nodeMap[t.nodeId]=t).depth=e.depth+1),t.children.forEach(function(e){hn(e,t)})}function vn(e){for(;e;){if(1===e.nodeType)return e;e=e.nextSibling}}function mn(e){for(;e;){if(1===e.nodeType)return e;e=e.previousSibling}}function yn(e,t,n,r){n<0&&(n=0);var o=t[n-1],i=t[n];return t.splice(n,0,e),r&&(o&&(o.nextSibling=e),e.previousSibling=o,(e.nextSibling=i)&&(i.previousSibling=e)),
n}function gn(e,t,n,r){var o=t.indexOf(e);if(o<0)return-1;if(r){var i=t[o-1],a=t[o+1];i&&(i.nextSibling=a),a&&(a.previousSibling=i)}t.splice(o,1);var s=n;o<=n&&(s=n-1);var c=t[s-1],l=t[s];return t.splice(s,0,e),r&&(c&&(c.nextSibling=e),e.previousSibling=c,(e.nextSibling=l)&&(l.previousSibling=e)),o===s?-1:n}function _n(e,t,n){var r=t.indexOf(e);if(!(r<0)){if(n){var o=t[r-1],i=t[r+1];o&&(o.nextSibling=i),i&&(i.previousSibling=o)}t.splice(r,1)}}var bn,wn=function(){this.nodeId=on(),this.ref=this.nodeId,this.children=[],this.pureChildren=[],this.parentNode=null,this.nextSibling=null,this.previousSibling=null};wn.prototype.destroy=function(){var e=un(this.docId);e&&(delete this.docId,delete e.nodeMap[this.nodeId]),this.children.forEach(function(e){e.destroy()})};var kn={};var Sn="div",On=["click","longpress","touchstart","touchmove","touchend","panstart","panmove","panend","horizontalpan","verticalpan","swipe"];function Cn(e,t){un(e).nodeMap[t.nodeId]=t}var xn=function(o){function e(e,t
,n){void 0===e&&(e=Sn),o.call(this);var r=kn[e];if(r&&!n)return new r(e,t,!0);t=t||{},this.nodeType=1,this.nodeId=on(),this.ref=this.nodeId,this.type=e,this.attr=t.attr||{},this.style=t.style||{},this.classStyle=t.classStyle||{},this.event={},this.children=[],this.pureChildren=[]}return o&&(e.__proto__=o),((e.prototype=Object.create(o&&o.prototype)).constructor=e).prototype.appendChild=function(e){if(!e.parentNode||e.parentNode===this)if(e.parentNode){if(gn(e,this.children,this.children.length,!0),1===e.nodeType){var t=gn(e,this.pureChildren,this.pureChildren.length),n=fn(this.docId);if(n&&0<=t)return n.send("dom",{action:"moveElement"},[e.ref,this.ref,t])}}else if(hn(e,this),yn(e,this.children,this.children.length,!0),this.docId&&Cn(this.docId,e),1===e.nodeType){yn(e,this.pureChildren,this.pureChildren.length);var r=fn(this.docId);if(r)return r.send("dom",{action:"addElement"},[this.ref,e.toJSON(),-1])}},e.prototype.insertBefore=function(e,t){if(!(e.parentNode&&e.parentNode!==this|
|e===t||e.nextSibling&&e.nextSibling===t))if(e.parentNode){if(gn(e,this.children,this.children.indexOf(t),!0),1===e.nodeType){var n=vn(t),r=gn(e,this.pureChildren,n?this.pureChildren.indexOf(n):this.pureChildren.length),o=fn(this.docId);if(o&&0<=r)return o.send("dom",{action:"moveElement"},[e.ref,this.ref,r])}}else if(hn(e,this),yn(e,this.children,this.children.indexOf(t),!0),this.docId&&Cn(this.docId,e),1===e.nodeType){var i=vn(t),a=yn(e,this.pureChildren,i?this.pureChildren.indexOf(i):this.pureChildren.length),s=fn(this.docId);if(s)return s.send("dom",{action:"addElement"},[this.ref,e.toJSON(),a])}},e.prototype.insertAfter=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.previousSibling&&e.previousSibling===t))if(e.parentNode){if(gn(e,this.children,this.children.indexOf(t)+1,!0),1===e.nodeType){var n=gn(e,this.pureChildren,this.pureChildren.indexOf(mn(t))+1),r=fn(this.docId);if(r&&0<=n)return r.send("dom",{action:"moveElement"},[e.ref,this.ref,n])}}else if(hn(e,this)
,yn(e,this.children,this.children.indexOf(t)+1,!0),this.docId&&Cn(this.docId,e),1===e.nodeType){var o=yn(e,this.pureChildren,this.pureChildren.indexOf(mn(t))+1),i=fn(this.docId);if(i)return i.send("dom",{action:"addElement"},[this.ref,e.toJSON(),o])}},e.prototype.removeChild=function(e,t){if(e.parentNode&&(_n(e,this.children,!0),1===e.nodeType)){_n(e,this.pureChildren);var n=fn(this.docId);n&&n.send("dom",{action:"removeElement"},[e.ref])}t||e.destroy()},e.prototype.clear=function(){var t=fn(this.docId);t&&this.pureChildren.forEach(function(e){t.send("dom",{action:"removeElement"},[e.ref])}),this.children.forEach(function(e){e.destroy()}),this.children.length=0,this.pureChildren.length=0},e.prototype.setAttr=function(e,t,n){if(this.attr[e]!==t||!1===n){this.attr[e]=t;var r=fn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateAttrs"},[this.ref,o])}}},e.prototype.setAttrs=function(e,t){if(!cn(e)){var n={};for(var r in e)this.attr[r]!==e[r]&&(this.attr[r]=e[r],n[r]=e[r]
);if(!cn(n)){var o=fn(this.docId);!t&&o&&o.send("dom",{action:"updateAttrs"},[this.ref,n])}}},e.prototype.setStyle=function(e,t,n){if(this.style[e]!==t||!1===n){this.style[e]=t;var r=fn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateStyle"},[this.ref,o])}}},e.prototype.setStyles=function(e,t){if(!cn(e)){var n={};for(var r in e)this.style[r]!==e[r]&&(this.style[r]=e[r],n[r]=e[r]);if(!cn(n)){var o=fn(this.docId);!t&&o&&o.send("dom",{action:"updateStyle"},[this.ref,n])}}},e.prototype.setClassStyle=function(e){for(var t in this.classStyle)this.classStyle[t]="";Object.assign(this.classStyle,e);var n=fn(this.docId);n&&n.send("dom",{action:"updateStyle"},[this.ref,this.toStyle()])},e.prototype.addEvent=function(e,t,n){if(this.event||(this.event={}),!this.event[e]){this.event[e]={handler:t,params:n};var r=fn(this.docId);r&&r.send("dom",{action:"addEvent"},[this.ref,e])}},e.prototype.removeEvent=function(e){if(this.event&&this.event[e]){delete this.event[e];var t=fn(this.d
ocId);t&&t.send("dom",{action:"removeEvent"},[this.ref,e])}},e.prototype.fireEvent=function(e,t,n,r){var o=null,i=!1,a=this.event[e];if(a&&t){var s=a.handler;t.stopPropagation=function(){i=!0},o=r&&r.params?s.call.apply(s,[this].concat(r.params,[t])):s.call(this,t)}return!i&&n&&-1!==On.indexOf(e)&&this.parentNode&&this.parentNode.fireEvent&&(t.currentTarget=this.parentNode,this.parentNode.fireEvent(e,t,n)),o},e.prototype.toStyle=function(){return Object.assign({},this.classStyle,this.style)},e.prototype.toJSON=function(){var e={ref:this.ref.toString(),type:this.type,attr:this.attr,style:this.toStyle()},t=[];for(var n in this.event){var r=this.event[n].params;r?t.push({type:n,params:r}):t.push(n)}return t.length&&(e.event=t),this.pureChildren.length&&(e.children=this.pureChildren.map(function(e){return e.toJSON()})),e},e.prototype.toString=function(){return"<"+this.type+" attr="+JSON.stringify(this.attr)+" style="+JSON.stringify(this.toStyle())+">"+this.pureChildren.map(function(e){r
eturn e.toString()}).join("")+"</"+this.type+">"},e}(wn);bn=xn;var En=function(){},$n=function(e,t){Object.defineProperty(this,"instanceId",{enumerable:!0,value:String(e)}),Object.defineProperty(this,"callbackManager",{enumerable:!0,value:new nn(e)}),En=t||function(){}};function An(e,t){var n=un(e);return n?Array.isArray(t)?t.map(function(e){switch(e.method){case"callback":return function(e,t,n,r){return e.taskCenter.callback(t,n,r)}.apply(void 0,[n].concat(e.args));case"fireEventSync":case"fireEvent":return function(e,t,n,r,o,i){var a=e.getRef(t);return a?e.fireEvent(a,n,r,o,i):new Error('invalid element reference "'+t+'"')}.apply(void 0,[n].concat(e.args));case"componentHook":return function(e,t,n,r,o){if(!e||!e.taskCenter)return console.error('[JS Framework] Can\'t find "document" or "taskCenter".'),null;var i=null;try{i=e.taskCenter.triggerHook(t,n,r,o)}catch(e){console.error('[JS Framework] Failed to trigger the "'+n+"@"+r+'" hook on '+t+".")}return i}.apply(void 0,[n].concat(e
.args))}}):void 0:new Error("[JS Framework] Failed to receiveTasks, instance ("+e+") is not available.")}$n.prototype.callback=function(e,t,n){return this.callbackManager.consume(e,t,n)},$n.prototype.registerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).registerHook.apply(e,t)},$n.prototype.triggerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).triggerHook.apply(e,t)},$n.prototype.updateData=function(e,t,n){this.send("module",{module:"dom",method:"updateComponentData"},[e,t,n])},$n.prototype.destroyCallback=function(){return this.callbackManager.close()},$n.prototype.normalize=function(e,t){var n=this;void 0===t&&(t=!1);var r=an(e);if(e&&e instanceof xn)return e.ref;if(e&&e._isVue&&e.$el instanceof xn)return e.$el.ref;if("Function"===r)return this.callbackManager.add(e).toString();if(t){if("Object"===r){var o={};for(var i in e)o[i]=n.normalize(e[i],!0);return o}if("Array
"===r)return e.map(function(e){return n.normalize(e,!0)})}return function(e){var t=an(e);switch(t){case"Undefined":case"Null":return"";case"RegExp":return e.toString();case"Date":return e.toISOString();case"Number":case"String":case"Boolean":case"Array":case"Object":return e;case"ArrayBuffer":return{"@type":"binary",dataType:t,base64:sn(e)};case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":return{"@type":"binary",dataType:t,base64:sn(e.buffer)};default:return JSON.stringify(e)}}(e)},$n.prototype.send=function(e,t,n,r){var o=this,i=t.action,a=t.component,s=t.ref,c=t.module,l=t.method;switch(n=n.map(function(e){return o.normalize(e)}),"Object"===an(r)&&(r=this.normalize(r,!0)),e){case"dom":return this[i](this.instanceId,n);case"component":return this.componentHandler(this.instanceId,s,l,n,Object.assign({component:a},r));default:return this.moduleHandler(this.instanceId,c,
l,n,r)}},$n.prototype.callDOM=function(e,t){return this[e](this.instanceId,t)},$n.prototype.callComponent=function(e,t,n,r){return this.componentHandler(this.instanceId,e,t,n,r)},$n.prototype.callModule=function(e,t,n,r){return this.moduleHandler(this.instanceId,e,t,n,r)};var jn={};function In(e){var t=function(t){jn[t]||(jn[t]={}),e[t].forEach(function(e){"string"==typeof e?jn[t][e]=!0:jn[t][e.name]=e.args})};for(var n in e)t(n)}function Mn(e,t){return"string"==typeof t?!(!jn[e]||!jn[e][t]):!!jn[e]}var Tn={};function Fn(e){Array.isArray(e)&&e.forEach(function(e){e&&("string"==typeof e?Tn[e]=!0:"object"==typeof e&&"string"==typeof e.type&&function(o,e){if(e&&e.length){var t=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t}(bn);e.forEach(function(r){t.prototype[r]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=fn(this.docId);if(n)return n.send("component",{ref:this.ref,compone
nt:o,method:r},e)}}),kn[o]=t}}((Tn[e.type]=e).type,e.methods))})}function Pn(e){return!!Tn[e]}var Nn=[];function Rn(e,t){Vn(e)?console.warn('Service "'+e+'" has been registered already!'):(t=Object.assign({},t),Nn.push({name:e,options:t}))}function Dn(n){Nn.some(function(e,t){if(e.name===n)return Nn.splice(t,1),!0})}function Vn(e){return t=e,0<=Nn.map(function(e){return e.name}).indexOf(t);var t}var Jn=function(t){function e(e){t.call(this),this.nodeType=8,this.nodeId=on(),this.ref=this.nodeId,this.type="comment",this.value=e,this.children=[],this.pureChildren=[]}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.toString=function(){return"\x3c!-- "+this.value+" --\x3e"},e}(wn);function Ln(e,t){return void 0===t&&(t=[]),{module:"dom",method:e,args:t}}var Wn=function(e,t){this.id=e,this.batched=!1,this.updates=[],"function"==typeof t?Object.defineProperty(this,"handler",{configurable:!0,enumerable:!0,writable:!0,value:t}):console.error("[J
S Runtime] invalid parameter, handler must be a function")};Wn.prototype.createFinish=function(e){return(0,this.handler)([Ln("createFinish")],e)},Wn.prototype.updateFinish=function(e){return(0,this.handler)([Ln("updateFinish")],e)},Wn.prototype.refreshFinish=function(e){return(0,this.handler)([Ln("refreshFinish")],e)},Wn.prototype.createBody=function(e){var t=e.toJSON(),n=t.children;delete t.children;var r=[Ln("createBody",[t])];return n&&r.push.apply(r,n.map(function(e){return Ln("addElement",[t.ref,e,-1])})),this.addActions(r)},Wn.prototype.addElement=function(e,t,n){return 0<=n||(n=-1),this.addActions(Ln("addElement",[t,e.toJSON(),n]))},Wn.prototype.removeElement=function(e){if(Array.isArray(e)){var t=e.map(function(e){return Ln("removeElement",[e])});return this.addActions(t)}return this.addActions(Ln("removeElement",[e]))},Wn.prototype.moveElement=function(e,t,n){return this.addActions(Ln("moveElement",[e,t,n]))},Wn.prototype.setAttr=function(e,t,n){var r={};return r[t]=n,this.
addActions(Ln("updateAttrs",[e,r]))},Wn.prototype.setStyle=function(e,t,n){var r={};return r[t]=n,this.addActions(Ln("updateStyle",[e,r]))},Wn.prototype.setStyles=function(e,t){return this.addActions(Ln("updateStyle",[e,t]))},Wn.prototype.addEvent=function(e,t){return this.addActions(Ln("addEvent",[e,t]))},Wn.prototype.removeEvent=function(e,t){return this.addActions(Ln("removeEvent",[e,t]))},Wn.prototype.handler=function(e,t){return t&&t()},Wn.prototype.addActions=function(e){var t=this.updates,n=this.handler;if(Array.isArray(e)||(e=[e]),!this.batched)return n(e);t.push.apply(t,e)};var qn={createBody:"callCreateBody",addElement:"callAddElement",removeElement:"callRemoveElement",moveElement:"callMoveElement",updateAttrs:"callUpdateAttrs",updateStyle:"callUpdateStyle",addEvent:"callAddEvent",removeEvent:"callRemoveEvent"};function Un(e,t,n){var r,o=t.module,i=t.method,a=t.args;return r=i,"dom"===o&&qn[r]&&"function"==typeof global[qn[r]]?global[qn[i]].apply(global,[e].concat(a,["-1"]
)):n(e,[t],"-1")}var Bn=function e(t,n,r){var o,i;t=t?t.toString():"",this.id=t,this.URL=n,i=this,(o=t)&&(ln[o]=i),this.nodeMap={};var a,s,c=e.Listener||Wn;this.listener=new c(t,r||(a=t,"function"!=typeof(s=e.handler||global.callNative)&&console.error("[JS Runtime] no default handler"),function(e){Array.isArray(e)||(e=[e]);for(var t=0;t<e.length;t++){var n=Un(a,e[t],s);if(-1===n)return n}})),this.taskCenter=new $n(t,r?function(e){for(var t=[],n=arguments.length-1;0<n--;)t[n]=arguments[n+1];return r.apply(void 0,t)}:e.handler),this.createDocumentElement()};Bn.prototype.getRef=function(e){return this.nodeMap[e]},Bn.prototype.open=function(){this.listener.batched=!1},Bn.prototype.close=function(){this.listener.batched=!0},Bn.prototype.createDocumentElement=function(){var n=this;if(!this.documentElement){var e=new xn("document");e.docId=this.id,e.ownerDocument=this,e.role="documentElement",e.depth=0,e.ref="_documentElement",this.nodeMap._documentElement=e,this.documentElement=e,Object.d
efineProperty(e,"appendChild",{configurable:!0,enumerable:!0,writable:!0,value:function(e){pn(n,e)}}),Object.defineProperty(e,"insertBefore",{configurable:!0,enumerable:!0,writable:!0,value:function(e,t){pn(n,e,t)}})}return this.documentElement},Bn.prototype.createBody=function(e,t){this.body||dn(this,new xn(e,t));return this.body},Bn.prototype.createElement=function(e,t){return new xn(e,t)},Bn.prototype.createComment=function(e){return new Jn(e)},Bn.prototype.fireEvent=function(e,t,n,r,o){if(e){(n=n||{}).type=n.type||t,n.target=e,n.currentTarget=e,n.timestamp=Date.now(),r&&function(e,t){var n=t.attrs||{};for(var r in n)e.setAttr(r,n[r],!0);var o=t.style||{};for(var i in o)e.setStyle(i,o[i],!0)}(e,r);var i="true"===this.getRef("_root").attr.bubble;return e.fireEvent(t,n,i,o)}},Bn.prototype.destroy=function(){var e;this.taskCenter.destroyCallback(),delete this.listener,delete this.nodeMap,delete this.taskCenter,e=this.id,delete ln[e]},Bn.handler=null;var zn={};function Hn(e){return e
["[[CurrentInstanceId]]"]}var Xn,Gn,Kn=function(e,t){var n,r;n=this,r=String(e),Object.defineProperty(n,"[[CurrentInstanceId]]",{value:r}),this.config=t||{},this.document=new Bn(e,this.config.bundleUrl),this.requireModule=this.requireModule.bind(this),this.importScript=this.importScript.bind(this),this.isRegisteredModule=Mn,this.isRegisteredComponent=Pn};Kn.prototype.requireModule=function(s){var c=Hn(this);if(c&&this.document&&this.document.taskCenter){if(Mn(s)){var e=s+"#"+c;if(!zn[e]){var t=jn[s],n={},r=function(a){Object.defineProperty(n,a,{enumerable:!0,configurable:!0,get:function(){return n=s,r=a,(o=fn(e=c))&&"function"==typeof o.send?function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return o.send("module",{module:n,method:r},e)}:(console.error("[JS Framework] Failed to find taskCenter ("+e+")."),null);var e,n,r,o},set:function(e){return n=s,r=a,o=e,(i=fn(t=c))&&"function"==typeof i.send?"function"!=typeof o?(console.error("[JS Framework] "+n+"."+r+" must be a
ssigned as a function."),null):function(e){return i.send("module",{module:n,method:r},[e])}:(console.error("[JS Framework] Failed to find taskCenter ("+t+")."),null);var t,n,r,o,i}})};for(var o in t)r(o);zn[e]=n}return zn[e]}console.warn('[JS Framework] using unregistered weex module "'+s+'"')}else console.error('[JS Framework] Failed to requireModule("'+s+'"), instance ('+c+") doesn't exist anymore.")},Kn.prototype.supports=function(e){if("string"!=typeof e)return null;var t=e.match(/^@(\w+)\/([\w-]+)(\.(\w+))?$/i);if(t){var n=t[1],r=t[2],o=t[4];switch(n){case"module":return Mn(r,o);case"component":return Pn(r)}}return null},Kn.prototype.importScript=function(e,r){void 0===r&&(r={});var o=Hn(this),i=fn(o);return new Promise(function(t,n){i&&"function"==typeof i.send||n(new Error('[JS Framework] Failed to import script "'+e+'", no taskCenter ('+o+") matched."));try{i.send("module",{module:"script",method:"importScript"},[e,r],{callback:[function(e){return t(e)},function(e){return n(
e)}]})}catch(e){n(e)}})};var Zn=/^\s*\/\/ *(\{[^}]*\}) *\r?\n/;function Yn(){return"0.26.10"}var Qn={};function er(e){return Qn[e]}function tr(e,t,n){void 0===t&&(t={});var r=new Kn(e,t),o=t.bundleType||"Vue";Qn[e]=o;var i=Gn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');!function(e,t,n){var r=fn(e);if(r&&"function"==typeof r.send)if(t&&n){var o="jsfm."+t+"."+n;try{if(Mn("userTrack","addPerfPoint")){var i=Object.create(null);i[o]="4",r.send("module",{module:"userTrack",method:"addPerfPoint"},[i])}}catch(e){console.error('[JS Framework] Failed to trace "'+o+'"!')}}else console.warn("[JS Framework] Invalid track type ("+t+") or value ("+n+")");else console.error("[JS Framework] Failed to create tracker!")}(e,"bundleType",o);var a,s,c,l,u=(a=e,s={weex:r,config:t,created:Date.now(),framework:o,bundleType:o},c=Gn,(l=Object.create(null)).service=Object.create(null),Nn.forEach(function(e){var t=e.name,n=e.options.create;if(n)try{var r=n(a,s,c);Object.a
ssign(l.service,r),Object.assign(l,r.instance)}catch(e){console.error("[JS Runtime] Failed to create service "+t+".")}}),delete l.service.instance,Object.freeze(l.service),l);Object.freeze(u);var f=Object.create(null);Object.assign(f,u,{weex:r,getJSFMVersion:Yn,__WEEX_CALL_JAVASCRIPT__:An,services:u}),Object.freeze(f);var p=Object.assign({},f);return"function"==typeof i.createInstanceContext&&Object.assign(p,i.createInstanceContext(e,f,n)),Object.freeze(p),p}var nr={createInstance:function(e,t,n,r){if(Qn[e])return new Error('The instance id "'+e+'" has already been used!');var o=function(e){var t=Zn.exec(e);if(t)try{return JSON.parse(t[1]).framework}catch(e){}return"Weex"}(t);Qn[e]=o,(n=JSON.parse(JSON.stringify(n||{}))).env=JSON.parse(JSON.stringify(global.WXEnvironment||{})),n.bundleType=o;var i=Gn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');"Weex"===o&&console.error('[JS Framework] COMPATIBILITY WARNING: Weex DSL 1.0 (.we) framework is no l
onger supported! It will be removed in the next version of WeexSDK, your page would be crash if you still using the ".we" framework. Please upgrade it to Vue.js or Rax.');var a=tr(e,n,r);if("function"==typeof i.createInstance){if("Rax"===o||"Weex"===o){var s=Object.assign({config:n,created:Date.now(),framework:o},a);return i.createInstance(e,t,n,r,s)}return i.createInstance(e,t,n,r,a)}!function(e,t){var n=[],r=[];for(var o in t)n.push(o),r.push(t[o]);var i="\n (function (global) {\n "+e+"\n })(Object.create(this))\n ";(new(Function.prototype.bind.apply(Function,[null].concat(n,[i])))).apply(void 0,r)}(t,a)},createInstanceContext:tr,getRoot:function(e){var t=un(e);try{if(t&&t.body)return t.body.toJSON()}catch(e){return void console.error("[JS Framework] Failed to get the virtual dom tree.")}},getJSFMVersion:Yn,getDocument:un,registerService:Rn,unregisterService:Dn,callJS:function(e,t){var n=Xn[er(e)];return n&&"function"==typeof n.receiveTasks?n.receiveTasks(e,t):An(e,t)}
};function rr(s){nr[s]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n,r=e[0],o=er(r);if(o&&Xn[o]){var i=(n=Xn[o])[s].apply(n,e),a={framework:o};return"refreshInstance"===s?Nn.forEach(function(e){var t=e.options.refresh;t&&t(r,{info:a,runtime:Gn})}):"destroyInstance"===s&&(Nn.forEach(function(e){var t=e.options.destroy;t&&t(r,{info:a,runtime:Gn})}),delete Qn[r]),i}return new Error('[JS Framework] Using invalid instance id "'+r+'" when calling '+s+".")}}function or(o,i){nr[o]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n in"function"==typeof i&&i.apply(void 0,e),Gn.frameworks){var r=Gn.frameworks[n];r&&r[o]&&r[o].apply(r,e)}}}var ir={Document:Bn,Element:xn,Comment:Jn,Listener:Wn,TaskCenter:$n,sendTasks:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return"function"==typeof callNative?callNative.apply(void 0,e):(global.callNative||function(){}).apply(void 0,e)}};Bn.handler=ir.sendTasks;var ar={service:{register:R
n,unregister:Dn,has:Vn},freezePrototype:function(){Object.freeze(ir.Comment),Object.freeze(ir.Listener),Object.freeze(ir.Document.prototype),Object.freeze(ir.Comment.prototype),Object.freeze(ir.Listener.prototype)},init:function(e){for(var t in Xn=(Gn=e||{}).frameworks||{},function(){var e={createFinish:global.callCreateFinish,updateFinish:global.callUpdateFinish,refreshFinish:global.callRefreshFinish,createBody:global.callCreateBody,addElement:global.callAddElement,removeElement:global.callRemoveElement,moveElement:global.callMoveElement,updateAttrs:global.callUpdateAttrs,updateStyle:global.callUpdateStyle,addEvent:global.callAddEvent,removeEvent:global.callRemoveEvent},t=$n.prototype,n=function(n){var r=e[n];t[n]=r?function(e,t){return r.apply(void 0,[e].concat(t))}:function(e,t){return En(e,[{module:"dom",method:n,args:t}],"-1")}};for(var r in e)n(r);t.componentHandler=global.callNativeComponent||function(e,t,n,r,o){return En(e,[{component:o.component,ref:t,method:n,args:r}])},t.
moduleHandler=global.callNativeModule||function(e,t,n,r){return En(e,[{module:t,method:n,args:r}])}}(),Xn){var n=Xn[t];if("function"==typeof n.init)try{n.init(e)}catch(e){}}return or("registerComponents",Fn),or("registerModules",In),or("registerMethods"),["destroyInstance","refreshInstance"].forEach(rr),nr},config:ir};function sr(e,t){void 0===t&&(t={}),this.type=e||"message",this.data=t.data||null,this.origin=t.origin||"",this.source=t.source||null,this.ports=t.ports||[],this.target=null,this.timeStamp=Date.now()}var cr={},lr={};function ur(){}ur.prototype.postMessage=function(e){if(this._closed)throw new Error('BroadcastChannel "'+this.name+'" is closed.');var t=cr[this.name];if(t&&t.length)for(var n=0;n<t.length;++n){var r=t[n];r._closed||r===this||"function"==typeof r.onmessage&&r.onmessage(new sr("message",{data:e}))}},ur.prototype.close=function(){var t=this;if(!this._closed&&(this._closed=!0,cr[this.name])){var e=cr[this.name].filter(function(e){return e!==t});e.length?cr[thi
s.name]=e:delete cr[this.name]}};var fr={BroadcastChannel:{create:function(t,e,n){if(lr[t]=[],"function"==typeof global.BroadcastChannel)return{};var r={BroadcastChannel:function(e){Object.defineProperty(this,"name",{configurable:!1,enumerable:!0,writable:!1,value:String(e)}),this._closed=!1,this.onmessage=null,cr[this.name]||(cr[this.name]=[]),cr[this.name].push(this),lr[t].push(this)}};return r.BroadcastChannel.prototype=ur.prototype,{instance:r}},destroy:function(e,t){lr[e].forEach(function(e){return e.close()}),delete lr[e]}}};var pr={},dr={};var hr=Object.freeze({init:function(e){pr.Document=e.Document,pr.Element=e.Element,pr.Comment=e.Comment,pr.sendTasks=e.sendTasks},createInstance:function(t,e,n,r,o){void 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new pr.Document(t,n.bundleUrl),a={},s={id:t,data:r,document:i,callbacks:a},c=0;i.addCallback=function(e){return a[++c]=e,c},i.handleCallback=function(e,t,n){var r=a[e];return n&&delete a[e],r(t)},dr[t]=s;var l=Object
.assign({Document:pr.Document,Element:pr.Element,Comment:pr.Comment,sendTasks:function(e){return pr.sendTasks(t,e,-1)},options:n,document:i},o),u=[],f=[];for(var p in l)u.push(p),f.push(l[p]);return u.push(e),(new(Function.prototype.bind.apply(Function,[null].concat(u)))).apply(void 0,f),pr.sendTasks(t,[{module:"dom",method:"createFinish",args:[]}],-1),s},destroyInstance:function(e){delete dr[e]},getRoot:function(e){return dr[e].document.body.toJSON()},receiveTasks:function(r,e){var o={fireEvent:function(e,t,n,r,o){var i=dr[e].document,a=i.getRef(t);return i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return dr[e].document.handleCallback(t,n,r)}};if((dr[r]||{}).document&&Array.isArray(e)){var i=[];return e.forEach(function(e){var t=o[e.method],n=[].concat(e.args);"function"==typeof t&&(n.unshift(r),i.push(t.apply(void 0,n)))}),i}}}),vr=n(function(e){e.exports=function(e,o){var _=Object.freeze({});function j(e){return null==e}function I(e){return null!=e}function M(e){return!0===e
}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function b(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString;function u(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function n(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}s("slot,component",!0);var c=s("key,ref,slot,slot-scope,is");function l(e,t){if(e.length){var n=e.indexOf(t);if(-1<n)return e.splice(n,1)}}var a=Object.prototype.hasOwnProperty;function f(e,t){return a.call(e,t)}function p(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var d=/-(\w)/g,h=p(function(e){return e.replace(d,function(e,t){return t?t.to
UpperCase():""})}),v=p(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),m=/\B([A-Z])/g,w=p(function(e){return e.replace(m,"-$1").toLowerCase()});function y(n,r){function e(e){var t=arguments.length;return t?1<t?n.apply(r,arguments):n.call(r,e):n.call(r)}return e._length=n.length,e}function g(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function N(e,t){for(var n in t)e[n]=t[n];return e}function R(e,t,n){}var k=function(e,t,n){return!1},S=function(e){return e};function O(t,n){if(t===n)return!0;var e=b(t),r=b(n);if(!e||!r)return!e&&!r&&String(t)===String(n);try{var o=Array.isArray(t),i=Array.isArray(n);if(o&&i)return t.length===n.length&&t.every(function(e,t){return O(e,n[t])});if(o||i)return!1;var a=Object.keys(t),s=Object.keys(n);return a.length===s.length&&a.every(function(e){return O(t[e],n[e])})}catch(e){return!1}}function C(e,t){for(var n=0;n<e.length;n++)if(O(e[n],t))return n;return-1}function D(e){var t=!1;return function(){t||(t=!0,e.apply
(this,arguments))}}var F="data-server-rendered",x=["component","directive","filter"],E=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],$={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:k,isReservedAttr:k,isUnknownElement:k,getTagNamespace:R,parsePlatformTagName:S,mustUseProp:k,_lifecycleHooks:E};function A(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var P=/[^\w.$]/;var V,J="__proto__"in{},L="undefined"!=typeof window,W="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,q=W&&WXEnvironment.platform.toLowerCase(),U=L&&window.navigator.userAgent.toLowerCase(),B=(U&&/msie|trident/.test(U),U&&0<U.indexOf("msie 9.0")),z=U&&0<U.indexOf("edge/"),H=(U&&U.indexOf("android"),U&&/iphone|ipad|ipod|ios/.t
est(U)||"ios"===q),X=(U&&/chrome\/\d+/.test(U),{}.watch);if(L)try{var G={};Object.defineProperty(G,"passive",{get:function(){}}),window.addEventListener("test-passive",null,G)}catch(e){}var K=function(){return void 0===V&&(V=!L&&!W&&void 0!==global&&"server"===global.process.env.VUE_ENV),V},Z=L&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Y(e){return"function"==typeof e&&/native code/.test(e.toString())}var Q,ee="undefined"!=typeof Symbol&&Y(Symbol)&&"undefined"!=typeof Reflect&&Y(Reflect.ownKeys);Q="undefined"!=typeof Set&&Y(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var te=R,ne=0,re=function(){this.id=ne++,this.subs=[]};re.prototype.addSub=function(e){this.subs.push(e)},re.prototype.removeSub=function(e){l(this.subs,e)},re.prototype.depend=function(){re.target&&re.target.addDep(this)},re.prototype
.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},re.target=null;var oe=[];var ie=function(e,t,n,r,o,i,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ae={child:{configurable:!0}};ae.child.get=function(){return this.componentInstance},Object.defineProperties(ie.prototype,ae);var se=function(e){void 0===e&&(e="");var t=new ie;return t.text=e,t.isComment=!0,t};function ce(e){return new ie(void 0,void 0,void 0,String(e))}var le=Array.prototype,ue=Object.create(le);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(a){var s=le[a];A(ue,a,function(){for(var e=a
rguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r,o=s.apply(this,t),i=this.__ob__;switch(a){case"push":case"unshift":r=t;break;case"splice":r=t.slice(2)}return r&&i.observeArray(r),i.dep.notify(),o})});var fe=Object.getOwnPropertyNames(ue),pe={shouldConvert:!0},de=function(e){(this.value=e,this.dep=new re,this.vmCount=0,A(e,"__ob__",this),Array.isArray(e))?((J?he:ve)(e,ue,fe),this.observeArray(e)):this.walk(e)};function he(e,t,n){e.__proto__=t}function ve(e,t,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];A(e,i,t[i])}}function me(e,t){var n;if(b(e)&&!(e instanceof ie))return f(e,"__ob__")&&e.__ob__ instanceof de?n=e.__ob__:pe.shouldConvert&&!K()&&(Array.isArray(e)||u(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new de(e)),t&&n&&n.vmCount++,n}function ye(n,e,r,t,o){var i=new re,a=Object.getOwnPropertyDescriptor(n,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set,l=!o&&me(r);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(n):r;return re.t
arget&&(i.depend(),l&&(l.dep.depend(),Array.isArray(e)&&function e(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(e))),e},set:function(e){var t=s?s.call(n):r;e===t||e!=e&&t!=t||(c?c.call(n,e):r=e,l=!o&&me(e),i.notify())}})}}function ge(e,t,n){if(Array.isArray(e)&&i(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(ye(r.value,t,n),r.dep.notify(),n):e[t]=n}function _e(e,t){if(Array.isArray(e)&&i(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||f(e,t)&&(delete e[t],n&&n.dep.notify())}}de.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)ye(e,t[n],e[t[n]])},de.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)me(e[t])};var be=$.optionMergeStrategies;function we(e,t){if(!t)return e;for(var n,r,o,i=Object.keys(t),a=0;a<i.length;a++)r=e[n=i[a]],o=t[n],f(e,n)?u(r)&&u(o)&&we(r
,o):ge(e,n,o);return e}function ke(n,r,o){return o?function(){var e="function"==typeof r?r.call(o,o):r,t="function"==typeof n?n.call(o,o):n;return e?we(e,t):t}:r?n?function(){return we("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Se(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Oe(e,t,n,r){var o=Object.create(e||null);return t?N(o,t):o}be.data=function(e,t,n){return n?ke(e,t,n):t&&"function"!=typeof t?e:ke(e,t)},E.forEach(function(e){be[e]=Se}),x.forEach(function(e){be[e+"s"]=Oe}),be.watch=function(e,t,n,r){if(e===X&&(e=void 0),t===X&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var o={};for(var i in N(o,e),t){var a=o[i],s=t[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},be.props=be.methods=be.inject=be.computed=function(e,t,n,r){if(!e)return t;var o=Object.create(null);return N(o,e),t&&N(o,t),o},be.provide=ke;var Ce=function(e,t){return void 0===t?e:t};function xe
(n,r,o){"function"==typeof r&&(r=r.options),function(e,t){var n=e.props;if(n){var r,o,i={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(o=n[r])&&(i[h(o)]={type:null});else if(u(n))for(var a in n)o=n[a],i[h(a)]=u(o)?o:{type:o};e.props=i}}(r),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(u(n))for(var i in n){var a=n[i];r[i]=u(a)?N({from:i},a):{from:a}}}}(r),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(r);var e=r.extends;if(e&&(n=xe(n,e,o)),r.mixins)for(var t=0,i=r.mixins.length;t<i;t++)n=xe(n,r.mixins[t],o);var a,s={};for(a in n)c(a);for(a in r)f(n,a)||c(a);function c(e){var t=be[e]||Ce;s[e]=t(n[e],r[e],o,e)}return s}function Ee(e,t,n,r){if("string"==typeof n){var o=e[t];if(f(o,n))return o[n];var i=h(n);if(f(o,i))return o[i];var a=v(i);return f(o,a)?o[a]:o[n]||o[i]||o[a]}}function $e(e,t,n,r){var o=t[e],i=!f(n,e),a=n[e];if(je(
Boolean,o.type)&&(i&&!f(o,"default")?a=!1:je(String,o.type)||""!==a&&a!==w(e)||(a=!0)),void 0===a){a=function(e,t,n){if(!f(t,"default"))return;var r=t.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Ae(t.type)?r.call(e):r}(r,o,e);var s=pe.shouldConvert;pe.shouldConvert=!0,me(a),pe.shouldConvert=s}return a}function Ae(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function je(e,t){if(!Array.isArray(t))return Ae(t)===Ae(e);for(var n=0,r=t.length;n<r;n++)if(Ae(t[n])===Ae(e))return!0;return!1}function Ie(e,t,n){if(t)for(var r=t;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,e,t,n))return}catch(e){Me(e,r,"errorCaptured hook")}}Me(e,t,n)}function Me(e,t,n){if($.errorHandler)try{return $.errorHandler.call(null,e,t,n)}catch(e){Te(e,null,"config.errorHandler")}Te(e,t,n)}function Te(e,t,n){if(!L&&!W||"undefined"==ty
peof console)throw e;console.error(e)}var Fe,Pe,Ne=[],Re=!1;function De(){Re=!1;for(var e=Ne.slice(0),t=Ne.length=0;t<e.length;t++)e[t]()}var Ve=!1;if("undefined"!=typeof setImmediate&&Y(setImmediate))Pe=function(){setImmediate(De)};else if("undefined"==typeof MessageChannel||!Y(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Pe=function(){setTimeout(De,0)};else{var Je=new MessageChannel,Le=Je.port2;Je.port1.onmessage=De,Pe=function(){Le.postMessage(1)}}if("undefined"!=typeof Promise&&Y(Promise)){var We=Promise.resolve();Fe=function(){We.then(De),H&&setTimeout(R)}}else Fe=Pe;function qe(e,t){var n;if(Ne.push(function(){if(e)try{e.call(t)}catch(e){Ie(e,t,"nextTick")}else n&&n(t)}),Re||(Re=!0,Ve?Pe():Fe()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Ue=new Q;function Be(e){!function e(t,n){var r,o;var i=Array.isArray(t);if(!i&&!b(t)||Object.isFrozen(t))return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}i
f(i)for(r=t.length;r--;)e(t[r],n);else for(o=Object.keys(t),r=o.length;r--;)e(t[o[r]],n)}(e,Ue),Ue.clear()}var ze,He=p(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function Xe(e){function o(){var e=arguments,t=o.fns;if(!Array.isArray(t))return t.apply(null,arguments);for(var n=t.slice(),r=0;r<n.length;r++)n[r].apply(null,e)}return o.fns=e,o}function Ge(e,t,n,r,o){var i,a,s,c,l;for(i in e)a=s=e[i],c=t[i],l=He(i),u(a)&&(s=a.handler,l.params=a.params),j(s)||(j(c)?(j(s.fns)&&(s=e[i]=Xe(s)),n(l.name,s,l.once,l.capture,l.passive,l.params)):s!==c&&(c.fns=s,e[i]=c));for(i in t)j(e[i])&&r((l=He(i)).name,t[i],l.capture)}function Ke(e,t,n){var r;e instanceof ie&&(e=e.data.hook||(e.data.hook={}));var o=e[t];function i(){n.apply(this,arguments),l(r.fns,i)}j(o)?r=Xe([i]):I(o.fns)&&M(o.merged)?(r=o).fns.push(i):r=Xe([o,i]),r.merged=!0,e[t]=r}function Ze(e,t,n,r,o){if(I(t)){if
(f(t,n))return e[n]=t[n],o||delete t[n],!0;if(f(t,r))return e[n]=t[r],o||delete t[r],!0}return!1}function Ye(e){return T(e)?[ce(e)]:Array.isArray(e)?function e(t,n){var r=[];var o,i,a,s;for(o=0;o<t.length;o++)j(i=t[o])||"boolean"==typeof i||(a=r.length-1,s=r[a],Array.isArray(i)?0<i.length&&(Qe((i=e(i,(n||"")+"_"+o))[0])&&Qe(s)&&(r[a]=ce(s.text+i[0].text),i.shift()),r.push.apply(r,i)):T(i)?Qe(s)?r[a]=ce(s.text+i):""!==i&&r.push(ce(i)):Qe(i)&&Qe(s)?r[a]=ce(s.text+i.text):(M(t._isVList)&&I(i.tag)&&j(i.key)&&I(n)&&(i.key="__vlist"+n+"_"+o+"__"),r.push(i)));return r}(e):void 0}function Qe(e){return I(e)&&I(e.text)&&!1===e.isComment}function et(e,t){return(e.__esModule||ee&&"Module"===e[Symbol.toStringTag])&&(e=e.default),b(e)?t.extend(e):e}function tt(e){return e.isComment&&e.asyncFactory}function nt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(I(n)&&(I(n.componentOptions)||tt(n)))return n}}function rt(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$optio
ns._parentListeners;t&&at(e,t)}function ot(e,t,n){n?ze.$once(e,t):ze.$on(e,t)}function it(e,t){ze.$off(e,t)}function at(e,t,n){ze=e,Ge(t,n||{},ot,it),ze=void 0}function st(e,t){var n={};if(!e)return n;for(var r=0,o=e.length;r<o;r++){var i=e[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==t&&i.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var l in n)n[l].every(ct)&&delete n[l];return n}function ct(e){return e.isComment&&!e.asyncFactory||" "===e.text}function lt(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?lt(e[n],t):t[e[n].key]=e[n].fn;return t}var ut=null;function ft(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroye
d=!1,e._isBeingDestroyed=!1}function pt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function dt(e,t){if(t){if(e._directInactive=!1,pt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)dt(e.$children[n]);ht(e,"activated")}}function ht(t,n){var e=t.$options[n];if(e)for(var r=0,o=e.length;r<o;r++)try{e[r].call(t)}catch(e){Ie(e,t,n+" hook")}t._hasHookEvent&&t.$emit("hook:"+n)}var vt=[],mt=[],yt={},gt=!1,_t=!1,bt=0;function wt(){var e,t;for(_t=!0,vt.sort(function(e,t){return e.id-t.id}),bt=0;bt<vt.length;bt++)t=(e=vt[bt]).id,yt[t]=null,e.run();var n=mt.slice(),r=vt.slice();bt=vt.length=mt.length=0,yt={},gt=_t=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,dt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&ht(r,"updated")}}(r),Z&&$.devtools&&Z.emit("flush")}var kt=0,St=function(e,t,n,r,o){this.vm=e,o&&(e._watcher=this),e._watchers.
push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++kt,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Q,this.newDepIds=new Q,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!P.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};St.prototype.get=function(){var e,t;e=this,re.target&&oe.push(re.target),re.target=e;var n=this.vm;try{t=this.getter.call(n,n)}catch(e){if(!this.user)throw e;Ie(e,n,'getter for watcher "'+this.expression+'"')}finally{this.deep&&Be(t),re.target=oe.pop(),this.cleanupDeps()}return t},St.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},St.prototype.cleanupDeps=fun
ction(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},St.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==yt[t]){if(yt[t]=!0,_t){for(var n=vt.length-1;bt<n&&vt[n].id>e.id;)n--;vt.splice(n+1,0,e)}else vt.push(e);gt||(gt=!0,qe(wt))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||b(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Ie(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingD
estroyed||l(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Ot={enumerable:!0,configurable:!0,get:R,set:R};function Ct(e,t,n){Ot.get=function(){return this[t][n]},Ot.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Ot)}function xt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var o=n.$options.propsData||{},i=n._props={},a=n.$options._propKeys=[],e=!n.$parent;pe.shouldConvert=e;var t=function(e){a.push(e);var t=$e(e,r,o,n);ye(i,e,t),e in n||Ct(n,"_props",e)};for(var s in r)t(s);pe.shouldConvert=!0}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?R:y(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;u(t=e._data="function"==typeof t?Et(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,o=(e.$options.methods,n.length);for(;o--;){var i=n[o];r&&f(r,i)||(void 0,36!==(a=(i+"").charCodeAt(0))&&95!==a&&Ct(e,"_data",i))}var a;me(t,!0)}(e):me(e._data={},!0),t.co
mputed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=K();for(var o in t){var i=t[o],a="function"==typeof i?i:i.get;r||(n[o]=new St(e,a||R,R,$t)),o in e||At(e,o,i)}}(e,t.computed),t.watch&&t.watch!==X&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)It(e,n,r[o]);else It(e,n,r)}}(e,t.watch)}function Et(e,t){try{return e.call(t,t)}catch(e){return Ie(e,t,"data()"),{}}}var $t={lazy:!0};function At(e,t,n){var r=!K();"function"==typeof n?(Ot.get=r?jt(t):n,Ot.set=R):(Ot.get=n.get?r&&!1!==n.cache?jt(t):n.get:R,Ot.set=n.set?n.set:R),Object.defineProperty(e,t,Ot)}function jt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),re.target&&e.depend(),e.value}}function It(e,t,n,r){return u(n)&&(n=(r=n).handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Mt(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}function Tt(t){var n=Ft(t.$options.injec
t,t);n&&(pe.shouldConvert=!1,Object.keys(n).forEach(function(e){ye(t,e,n[e])}),pe.shouldConvert=!0)}function Ft(t,e){if(t){for(var n=Object.create(null),r=ee?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){for(var i=r[o],a=t[i].from,s=e;s;){if(s._provided&&a in s._provided){n[i]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[i]){var c=t[i].default;n[i]="function"==typeof c?c.call(e):c}}return n}}function Pt(e,t){var n,r,o,i,a;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,o=e.length;r<o;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(b(e))for(i=Object.keys(e),n=new Array(i.length),r=0,o=i.length;r<o;r++)a=i[r],n[r]=t(e[a],a,r);return I(n)&&(n._isVList=!0),n}function Nt(e,t,n,r){var o,i=this.$scopedSlots[e];if(i)n=n||{},r&&(n=N(N({},r),n)),o=i(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),o=a||t}var s=n&&n.slot;return
s?this.$createElement("template",{slot:s},o):o}function Rt(e){return Ee(this.$options,"filters",e)||S}function Dt(e,t,n,r){var o=$.keyCodes[t]||n;return o?Array.isArray(o)?-1===o.indexOf(e):o!==e:r?w(r)!==t:void 0}function Vt(n,r,o,i,a){if(o)if(b(o)){var s;Array.isArray(o)&&(o=function(e){for(var t={},n=0;n<e.length;n++)e[n]&&N(t,e[n]);return t}(o));var e=function(t){if("class"===t||"style"===t||c(t))s=n;else{var e=n.attrs&&n.attrs.type;s=i||$.mustUseProp(r,e,t)?n.domProps||(n.domProps={}):n.attrs||(n.attrs={})}t in s||(s[t]=o[t],a&&((n.on||(n.on={}))["update:"+t]=function(e){o[t]=e}))};for(var t in o)e(t)}else;return n}function Jt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||Wt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function Lt(e,t,n){return Wt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Wt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&qt(e[r],t+"_"+r,n);else qt
(e,t,n)}function qt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function Ut(e,t){if(t)if(u(t)){var n=e.on=e.on?N({},e.on):{};for(var r in t){var o=n[r],i=t[r];n[r]=o?[].concat(o,i):i}}else;return e}function Bt(e){e._o=Lt,e._n=n,e._s=t,e._l=Pt,e._t=Nt,e._q=O,e._i=C,e._m=Jt,e._f=Rt,e._k=Dt,e._b=Vt,e._v=ce,e._e=se,e._u=lt,e._g=Ut}function zt(e,t,n,i,r){var a=r.options;this.data=e,this.props=t,this.children=n,this.parent=i,this.listeners=e.on||_,this.injections=Ft(a.inject,i),this.slots=function(){return st(n,i)};var s=Object.create(i),o=M(a._compiled),c=!o;o&&(this.$options=a,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||_),a._scopeId?this._c=function(e,t,n,r){var o=fn(s,e,t,n,r,c);return o&&!Array.isArray(o)&&(o.fnScopeId=a._scopeId,o.fnContext=i),o}:this._c=function(e,t,n,r){return fn(s,e,t,n,r,c)}}function Ht(e,t,n,r){e.fnContext=n,e.fnOptions=r,t.slot&&((e.data||(e.data={})).slot=t.slot)}function Xt(e,t){for(var n in t)e[h(n)]=t[n]}Bt(zt.prototype);var Gt="@inRecycleList";f
unction Kt(e,t,n,r){if(o&&o.taskCenter)return"function"==typeof o.taskCenter.registerHook?o.taskCenter.registerHook(e,t,n,r):void 0}var Zt=0;function Yt(e){var t=e.$options.data,n=e.$options.computed||{},r=e._data?Object.assign({},e._data):"function"==typeof t?Et(t,e):t||{},o={};for(var i in n)o[i]=e[i];return Object.assign({},r,o)}function Qt(e){void 0===e&&(e={});var r=this,t=e.componentId;A(r,"_vmTemplate",e.vmTemplate),r._uid=t||"virtual-component-"+Zt++,r._isVue=!0,e&&e._isComponent?wn(r,e):r.$options=xe(kn(r.constructor),e||{},r),ft((r._renderProxy=r)._self=r),rt(r),pn(r),ht(r,"beforeCreate"),Tt(r),xt(r),Mt(r),ht(r,"created"),Kt(t,"lifecycle","attach",function(){ht(r,"beforeMount"),new St(r,function(){return Yt(r)},function(){return r._update(r._vnode,!1)}),r._isMounted=!0,ht(r,"mounted")}),Kt(t,"lifecycle","update",function(){r._update(r._vnode,!1)}),Kt(t,"lifecycle","syncState",function(e,t){if(u(t))for(var n in t)r[n]=t[n];return Yt(r)}),Kt(t,"lifecycle","detach",function()
{r.$destroy(),r._vmTemplate&&(r._vmTemplate.removeVirtualComponent(r._uid),delete r._vmTemplate)})}function en(e){var t=this,n=t.$options.componentId;(t._isMounted&&ht(t,"beforeUpdate"),t._vnode=e,t._isMounted&&n)&&function(e,t,n){if(o&&o.taskCenter)"function"==typeof o.taskCenter.updateData&&o.taskCenter.updateData(e,t,n)}(n,Yt(t),function(){ht(t,"updated")})}function tn(e){void 0===e&&(e={});var t=this;t._uid="virtual-component-template-"+Zt++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),rt(t._self=t),pn(t),xt(t),this.registerVirtualComponent()}function nn(e){var t,n,o,i;delete e.data.attrs[Gt],n=(t=e).componentOptions.Ctor,o=n.extend({}),i=o.prototype.$emit,o.prototype._init=Qt,o.prototype._update=en,o.prototype.$emit=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=this._uid,o=this._vmTemplate;return r&&o&&(t.push(r),i.apply(o,t)),i.apply(this,t)},t.componentOptions.Ctor=n.extend({methods:{registerVirtualComponent:func
tion(){var r=this;A(r,"_virtualComponents",{}),Kt(String(r._uid),"lifecycle","create",function(e,t){var n=new o({vmTemplate:r,componentId:e,propsData:t});return n._uid=e,r._virtualComponents&&(r._virtualComponents[e]=n),Yt(n)})},removeVirtualComponent:function(e){delete this._virtualComponents[e]}},destroyed:function(){delete this._virtualComponents}}),t.componentOptions.Ctor.prototype._init=tn,t.componentOptions.Ctor.prototype._update=R;var r=sn(e),a=r.$options["@render"];if(a)try{return a.call(r)}catch(e){Ie(e,r,"@render")}}var rn={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var o=e;rn.prepatch(o,o)}else{(e.componentInstance=sn(e,ut,n,r)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,o){var i=!!(o||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==_);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=o,e.$attrs=r.data.a
ttrs||_,e.$listeners=n||_,t&&e.$options.props){pe.shouldConvert=!1;for(var a=e._props,s=e.$options._propKeys||[],c=0;c<s.length;c++){var l=s[c];a[l]=$e(l,e.$options.props,t,e)}pe.shouldConvert=!0,e.$options.propsData=t}n=n||_;var u=e.$options._parentListeners;e.$options._parentListeners=n,at(e,n,u),i&&(e.$slots=st(o,r.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,ht(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,mt.push(t)):dt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._directInactive=!0,pt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);ht(t,"deactivated")}}(t,!0):t.$destroy())}},on=Object.keys(rn);function an(e,t,n,r,o){if(!j(e)){var i=n.$options._base;if(b(e)&&(e=i.extend(e)),"function"==typeof e){var
a,s,c,l,u,f,p;if(j(e.cid)&&void 0===(e=function(t,n,e){if(M(t.error)&&I(t.errorComp))return t.errorComp;if(I(t.resolved))return t.resolved;if(M(t.loading)&&I(t.loadingComp))return t.loadingComp;if(!I(t.contexts)){var r=t.contexts=[e],o=!0,i=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},a=D(function(e){t.resolved=et(e,n),o||i()}),s=D(function(e){I(t.errorComp)&&(t.error=!0,i())}),c=t(a,s);return b(c)&&("function"==typeof c.then?j(t.resolved)&&c.then(a,s):I(c.component)&&"function"==typeof c.component.then&&(c.component.then(a,s),I(c.error)&&(t.errorComp=et(c.error,n)),I(c.loading)&&(t.loadingComp=et(c.loading,n),0===c.delay?t.loading=!0:setTimeout(function(){j(t.resolved)&&j(t.error)&&(t.loading=!0,i())},c.delay||200)),I(c.timeout)&&setTimeout(function(){j(t.resolved)&&s(null)},c.timeout))),o=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(e)}(a=e,i,n)))return s=a,c=t,l=n,u=r,f=o,(p=se()).asyncFactory=s,p.asyncMeta={data:c,context:l,children:u,tag:f},p;t=t||{},
kn(e),I(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var o=t.on||(t.on={});I(o[r])?o[r]=[t.model.callback].concat(o[r]):o[r]=t.model.callback}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!j(r)){var o={},i=e.attrs,a=e.props;if(I(i)||I(a))for(var s in r){var c=w(s);Ze(o,a,s,c,!0)||Ze(o,i,s,c,!1)}return o}}(t,e);if(M(e.options.functional))return function(e,t,n,r,o){var i=e.options,a={},s=i.props;if(I(s))for(var c in s)a[c]=$e(c,s,t||_);else I(n.attrs)&&Xt(a,n.attrs),I(n.props)&&Xt(a,n.props);var l=new zt(n,a,o,r,e),u=i.render.call(null,l._c,l);if(u instanceof ie)return Ht(u,n,r,i),u;if(Array.isArray(u)){for(var f=Ye(u)||[],p=0;p<f.length;p++)Ht(f[p],n,r,i);return f}}(e,d,t,n,r);var h=t.on;if(t.on=t.nativeOn,M(e.options.abstract)){var v=t.slot;t={},v&&(t.slot=v)}!function(e){e.hook||(e.hook={});for(var t=0;t<on.length;t++){var n=on[t],r=e.hook[n],o=rn[n];e.hook[n]=r?cn(o,r):o}}(t);
var m,y=e.options.name||o,g=new ie("vue-component-"+e.cid+(y?"-"+y:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:h,tag:o,children:r},a);return(m=g).data.attrs&&Gt in m.data.attrs?nn(g):g}}}function sn(e,t,n,r){var o={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},i=e.data.inlineTemplate;return I(i)&&(o.render=i.render,o.staticRenderFns=i.staticRenderFns),new e.componentOptions.Ctor(o)}function cn(o,i){return function(e,t,n,r){o(e,t,n,r),i(e,t,n,r)}}var ln=1,un=2;function fn(e,t,n,r,o,i){return(Array.isArray(n)||T(n))&&(o=r,r=n,n=void 0),M(i)&&(o=un),function(e,t,n,r,o){if(I(n)&&I(n.__ob__))return se();I(n)&&I(n.is)&&(t=n.is);if(!t)return se();Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);o===un?r=Ye(r):o===ln&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var i,a;if("string"==typeof t){var s;a=e.$vnode&&e.$vnode.ns||$.get
TagNamespace(t),i=$.isReservedTag(t)?new ie($.parsePlatformTagName(t),n,r,void 0,void 0,e):I(s=Ee(e.$options,"components",t))?an(s,n,e,r,t):new ie(t,n,r,void 0,void 0,e)}else i=an(t,n,e,r);return Array.isArray(i)?i:I(i)?(I(a)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(I(t.children))for(var o=0,i=t.children.length;o<i;o++){var a=t.children[o];I(a.tag)&&(j(a.ns)||M(r)&&"svg"!==a.tag)&&e(a,n,r)}}(i,a),I(n)&&function(e){b(e.style)&&Be(e.style);b(e.class)&&Be(e.class)}(n),i):se()}(e,t,n,r,o)}function pn(o){o._vnode=null,o._staticTrees=null;var e=o.$options,t=o.$vnode=e._parentVnode,n=t&&t.context;o.$slots=st(e._renderChildren,n),o.$scopedSlots=_,o._c=function(e,t,n,r){return fn(o,e,t,n,r,!1)},o.$createElement=function(e,t,n,r){return fn(o,e,t,n,r,!0)};var r=t&&t.data;ye(o,"$attrs",r&&r.attrs||_,0,!0),ye(o,"$listeners",e._parentListeners||_,0,!0)}var dn,hn,vn,mn,yn,gn,_n,bn=0;function wn(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode
;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}function kn(e){var t=e.options;if(e.super){var n=kn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,o=e.sealedOptions;for(var i in n)n[i]!==o[i]&&(t||(t={}),t[i]=Sn(n[i],r[i],o[i]));return t}(e);r&&N(e.extendOptions,r),(t=e.options=xe(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Sn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray(t)?t:[t];for(var o=0;o<e.length;o++)(0<=t.indexOf(e[o])||n.indexOf(e[o])<0)&&r.push(e[o]);return r}return e}function On(e){this._init(e)}function Cn(e){e.cid=0;var a=1;e.extend=function(e){e=e||{};var t=this,n=t.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var o=e.name||t.o
ptions.name,i=function(e){this._init(e)};return((i.prototype=Object.create(t.prototype)).constructor=i).cid=a++,i.options=xe(t.options,e),i.super=t,i.options.props&&function(e){var t=e.options.props;for(var n in t)Ct(e.prototype,"_props",n)}(i),i.options.computed&&function(e){var t=e.options.computed;for(var n in t)At(e.prototype,n,t[n])}(i),i.extend=t.extend,i.mixin=t.mixin,i.use=t.use,x.forEach(function(e){i[e]=t[e]}),o&&(i.options.components[o]=i),i.superOptions=t.options,i.extendOptions=e,i.sealedOptions=N({},i.options),r[n]=i}}function xn(e){return e&&(e.Ctor.options.name||e.tag)}function En(e,t){return Array.isArray(e)?-1<e.indexOf(t):"string"==typeof e?-1<e.split(",").indexOf(t):(n=e,"[object RegExp]"===r.call(n)&&e.test(t));var n}function $n(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=xn(a.componentOptions);s&&!t(s)&&An(n,i,r,o)}}}function An(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,l(n,t)}On.prototy
pe._init=function(e){var t=this;t._uid=bn++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),ft((t._renderProxy=t)._self=t),rt(t),pn(t),ht(t,"beforeCreate"),Tt(t),xt(t),Mt(t),ht(t,"created"),t.$options.el&&t.$mount(t.$options.el)},dn=On,hn={get:function(){return this._data}},vn={get:function(){return this._props}},Object.defineProperty(dn.prototype,"$data",hn),Object.defineProperty(dn.prototype,"$props",vn),dn.prototype.$set=ge,dn.prototype.$delete=_e,dn.prototype.$watch=function(e,t,n){if(u(t))return It(this,e,t,n);(n=n||{}).user=!0;var r=new St(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}},yn=/^hook:/,(mn=On).prototype.$on=function(e,t){if(Array.isArray(e))for(var n=0,r=e.length;n<r;n++)this.$on(e[n],t);else(this._events[e]||(this._events[e]=[])).push(t),yn.test(e)&&(this._hasHookEvent=!0);return this},mn.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},
mn.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,o=e.length;r<o;r++)this.$off(e[r],t);return n}var i=n._events[e];if(!i)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,s=i.length;s--;)if((a=i[s])===t||a.fn===t){i.splice(s,1);break}return n},mn.prototype.$emit=function(t){var n=this,e=n._events[t];if(e){e=1<e.length?g(e):e;for(var r=g(arguments,1),o=0,i=e.length;o<i;o++)try{e[o].apply(n,r)}catch(e){Ie(e,n,'event handler for "'+t+'"')}}return n},(gn=On).prototype._update=function(e,t){var n=this;n._isMounted&&ht(n,"beforeUpdate");var r=n.$el,o=n._vnode,i=ut;(ut=n)._vnode=e,o?n.$el=n.__patch__(o,e):(n.$el=n.__patch__(n.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ut=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},gn.prototype.$forceUpdate=function(){this._watcher&&th
is._watcher.update()},gn.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){ht(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||l(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),ht(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}},Bt((_n=On).prototype),_n.prototype.$nextTick=function(e){return qe(e,this)},_n.prototype._render=function(){var t,n=this,e=n.$options,r=e.render,o=e._parentVnode;o&&(n.$scopedSlots=o.data.scopedSlots||_),n.$vnode=o;try{t=r.call(n._renderProxy,n.$createElement)}catch(e){Ie(e,n,"render"),t=n._vnode}return t instanceof ie||(t=se()),t.parent=o,t};var jn,In,Mn,Tn=[String,RegExp,Array],Fn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},created:function(){this.cache=Obje
ct.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)An(this.cache,e,this.keys)},watch:{include:function(t){$n(this,function(e){return En(t,e)})},exclude:function(t){$n(this,function(e){return!En(t,e)})}},render:function(){var e=this.$slots.default,t=nt(e),n=t&&t.componentOptions;if(n){var r=xn(n),o=this.include,i=this.exclude;if(o&&(!r||!En(o,r))||i&&r&&En(i,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,l(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&An(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};jn=On,Mn={get:function(){return $}},Object.defineProperty(jn,"config",Mn),jn.util={warn:te,extend:N,mergeOptions:xe,defineReactive:ye},jn.set=ge,jn.delete=_e,jn.nextTick=qe,jn.options=Object.create(null),x.forEach(function(e){jn.options[e+"s"]=Object.create(null)}),N((jn.options._base=jn).options.components,Fn),jn.use=function
(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1<t.indexOf(e))return this;var n=g(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},jn.mixin=function(e){return this.options=xe(this.options,e),this},Cn(jn),In=jn,x.forEach(function(n){In[n]=function(e,t){return t?("component"===n&&u(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t):this.options[n+"s"][e]}}),Object.defineProperty(On.prototype,"$isServer",{get:K}),Object.defineProperty(On.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),On.version="2.5.13";var Pn=1;function Nn(e){return o.createElement(e)}var Rn=Object.freeze({namespaceMap:{},createElement:Nn,createElementNS:function(e,t){return o.createElement(e+":"+t)},createTextNode:function(e){return new function(e){this.instanceId="",this.nodeId=Pn+
+,this.parentNode=null,this.nodeType=3,this.text=e}(e)},createComment:function(e){return o.createComment(e)},insertBefore:function(e,t,n){if(3!==t.nodeType)e.insertBefore(t,n);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var r=Nn("text");r.setAttr("value",t.text),e.insertBefore(r,n)}},removeChild:function(e,t){3!==t.nodeType?e.removeChild(t):e.setAttr("value","")},appendChild:function(e,t){if(3!==t.nodeType)e.appendChild(t);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var n=Nn("text");n.setAttr("value",t.text),e.appendChild(n)}},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.type},setTextContent:function(e,t){e.parentNode&&e.parentNode.setAttr("value",t)},setAttribute:function(e,t,n){e.setAttr(t,n)},setStyleScope:function(e,t){e.setAttr("@styleScope",t)}}),Dn={create:function(e,t){Vn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Vn(e,!0),Vn(t))},destroy:func
tion(e){Vn(e,!0)}};function Vn(e,t){var n=e.data.ref;if(n){var r=e.context,o=e.componentInstance||e.elm,i=r.$refs;t?Array.isArray(i[n])?l(i[n],o):i[n]===o&&(i[n]=void 0):e.data.refInFor?Array.isArray(i[n])?i[n].indexOf(o)<0&&i[n].push(o):i[n]=[o]:i[n]=o}}s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,mark
er,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0);var Jn=s("text,number,password,search,email,tel,url"),Ln=new ie("",{},[]),Wn=["create","activate","update","remove","destroy"];function qn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&I(e.data)===I(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=I(n=e.data)&&I(n=n.attrs)&&n.type,o=I(n=t.data)&&I(n=n.attrs)&&n.type;return r===o||Jn(r)&&Jn(o)}(e,t)||M(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&j(t.asyncFactory.error))}function Un(e,t,n){var r,o,i={};for(r=t;r<=n;++r)I(o=e[r].key)&&(i[o]=r);return i}var Bn={create:zn,update:zn,destroy:function(e){zn(e,Ln)}};function zn(e,t){(e.data.directives||t.data.directives)&&function(t,n){var e,r,o,i=t===Ln,a=n===Ln,s=Xn(t.data.directives,t.context),c=Xn(n.data.directives,n.context),l=[],u=[];for(e in c)r=s[e],o=c[e],r?(o.oldValue=r.value,Gn(o,"update",n,t),o.def&&o.def.componentUpdated&&u.push(o
)):(Gn(o,"bind",n,t),o.def&&o.def.inserted&&l.push(o));if(l.length){var f=function(){for(var e=0;e<l.length;e++)Gn(l[e],"inserted",n,t)};i?Ke(n,"insert",f):f()}u.length&&Ke(n,"postpatch",function(){for(var e=0;e<u.length;e++)Gn(u[e],"componentUpdated",n,t)});if(!i)for(e in s)c[e]||Gn(s[e],"unbind",t,t,a)}(e,t)}var Hn=Object.create(null);function Xn(e,t){var n,r,o,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=Hn),(i[(o=r,o.rawName||o.name+"."+Object.keys(o.modifiers||{}).join("."))]=r).def=Ee(t.$options,"directives",r.name);return i}function Gn(t,n,r,e,o){var i=t.def&&t.def[n];if(i)try{i(r.elm,t,r,e,o)}catch(e){Ie(e,r.context,"directive "+t.name+" "+n+" hook")}}var Kn=[Dn,Bn];function Zn(e,t){if(e.data.attrs||t.data.attrs){var n,r,o=t.elm,i=e.data.attrs||{},a=t.data.attrs||{};a.__ob__&&(a=t.data.attrs=N({},a));var s="function"==typeof o.setAttrs,c={};for(n in a)r=a[n],i[n]!==r&&(s?c[n]=r:o.setAttr(n,r));for(n in i)null==a[n]&&(s?c[n]=voi
d 0:o.setAttr(n));s&&o.setAttrs(c)}}var Yn={create:Zn,update:Zn};function Qn(e,t){var n=t.elm,r=t.context,o=t.data,i=e.data;if(o.staticClass||o.class||i&&(i.staticClass||i.class)){var a=[],s=i.staticClass;s&&a.push.apply(a,s),i.class&&a.push.apply(a,i.class);var c,l,u,f,p=[],d=o.staticClass;if(d&&p.push.apply(p,d),o.class&&p.push.apply(p,o.class),"function"==typeof n.setClassList)n.setClassList(p);else{var h=(c=a,l=p,u=r.$options.style||{},f={},l.forEach(function(e){var t=u[e];N(f,t)}),c.forEach(function(e){var t=u[e];for(var n in t)f.hasOwnProperty(n)||(f[n]="")}),f);if("function"==typeof n.setStyles)n.setStyles(h);else for(var v in h)n.setStyle(v,h[v])}}}var er,tr,nr={create:Qn,update:Qn};function rr(t,e,n,r,o,i){if(r)console.log("Weex do not support event in bubble phase.");else{if(n){var a=e,s=er;e=function(e){null!==(1===arguments.length?a(e):a.apply(null,arguments))&&or(t,null,null,s)}}if(tr&&tr._virtualComponents){er._context=tr;var c=e;e=function(){for(var e=arguments,t=[],n
=arguments.length;n--;)t[n]=e[n];var r=(t[0]||{}).componentId,o=this._context;r&&this._context&&(o=(this._context._virtualComponents||{})[r]||o);try{!function(e,t,n){void 0===n&&(n=null);var r=e.fns;if(!Array.isArray(r))return"function"==typeof r?r.apply(n,t):e.apply(n,t);for(var o=r.slice(),i=0;i<o.length;i++)o[i].apply(n,t)}(c,t,o)}catch(e){Ie(e,o,"Failed to invoke virtual component handler ("+r+"
<TRUNCATED>
[24/50] [abbrv] incubator-weex git commit: [WEEX-443][iOS] Fix picker
issue on iOS 11.0.x update
Posted by cx...@apache.org.
[WEEX-443][iOS] Fix picker issue on iOS 11.0.x update
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/482f144d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/482f144d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/482f144d
Branch: refs/heads/release
Commit: 482f144d628fe614baad14ab6c820a0e069503a4
Parents: fc93b10
Author: Xiaomin <ca...@yahoo.com>
Authored: Mon Jun 11 16:40:18 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Wed Jun 13 17:08:06 2018 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m | 2 +-
ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/482f144d/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m b/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
index 857ca82..7439b6b 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
@@ -46,7 +46,7 @@
{
self.backgroudView = [self createBackgroundView];
UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hide)];
- if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+ if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0") && WX_SYS_VERSION_LESS_THAN(@"11.1")) {
tapGesture.delegate = self;
}
[self.backgroudView addGestureRecognizer:tapGesture];
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/482f144d/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
index b894113..7538c41 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
@@ -269,7 +269,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
{
self.backgroundView = [self createbackgroundView];
UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hide)];
- if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+ if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0") && WX_SYS_VERSION_LESS_THAN(@"11.1")) {
tapGesture.delegate = self;
}
[self.backgroundView addGestureRecognizer:tapGesture];
@@ -471,7 +471,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
{
self.backgroundView = [self createbackgroundView];
UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hide)];
- if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+ if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0") && WX_SYS_VERSION_LESS_THAN(@"11.1")) {
tapGesture.delegate = self;
}
[self.backgroundView addGestureRecognizer:tapGesture];
[42/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Fix
compile error
Posted by cx...@apache.org.
[WEEX-442][Core] Fix compile error
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/97967ae6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/97967ae6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/97967ae6
Branch: refs/heads/release
Commit: 97967ae61bb63a9dd10e4ae9447fdb26ece4285b
Parents: 578c357
Author: miomin <mi...@foxmail.com>
Authored: Thu Jun 14 20:11:30 2018 +0800
Committer: miomin <mi...@foxmail.com>
Committed: Thu Jun 14 20:11:30 2018 +0800
----------------------------------------------------------------------
weex_core/Source/core/bridge/bridge.cpp | 7 -------
weex_core/Source/core/bridge/bridge.h | 2 --
2 files changed, 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/97967ae6/weex_core/Source/core/bridge/bridge.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/bridge/bridge.cpp b/weex_core/Source/core/bridge/bridge.cpp
index 22d9139..7668754 100644
--- a/weex_core/Source/core/bridge/bridge.cpp
+++ b/weex_core/Source/core/bridge/bridge.cpp
@@ -132,13 +132,6 @@ namespace WeexCore {
}
}
- void Bridge::setViewPortWidth(const char *instanceId, float value) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
- if (page == nullptr)
- return;
- page->set_viewport_width(value);
- }
-
void Bridge::setDefaultHeightAndWidthIntoRootDom(const char *instanceId, const float defaultWidth,
const float defaultHeight,
const bool isWidthWrapContent, const bool isHeightWrapContent) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/97967ae6/weex_core/Source/core/bridge/bridge.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/bridge/bridge.h b/weex_core/Source/core/bridge/bridge.h
index 8da0fdc..5aed446 100644
--- a/weex_core/Source/core/bridge/bridge.h
+++ b/weex_core/Source/core/bridge/bridge.h
@@ -114,8 +114,6 @@ namespace WeexCore {
void markDirty(const char *instanceId,const char *ref, bool dirty);
- void setViewPortWidth(const char *instanceId, float value);
-
void setDefaultHeightAndWidthIntoRootDom(const char *instanceId, const float defaultWidth, const float defaultHeight,
const bool isWidthWrapContent, const bool isHeightWrapContent);
void setRenderContainerWrapContent(const char* instanceId,bool wrap);
[08/50] [abbrv] incubator-weex git commit: * [Script] release
preparing:
Posted by cx...@apache.org.
* [Script] release preparing:
1. add missing modules in package.json
2. move html5 folder to runtime folder in release_file.rules
3. modify js-framework path in build_from_source.sh
4. add NDK environment setup to HOW-TO-BUILD.md
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e110f0a3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e110f0a3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e110f0a3
Branch: refs/heads/release
Commit: e110f0a32b6cfe6d0adb006a931f6d7fd9de7c01
Parents: 65688e7
Author: Adam Feng <cx...@gmail.com>
Authored: Mon Jun 11 18:34:26 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Mon Jun 11 18:34:26 2018 +0800
----------------------------------------------------------------------
HOW-TO-BUILD.md | 1 +
package.json | 2 +-
scripts/build_from_source.sh | 4 ++--
scripts/release_files.rules | 15 +++++----------
4 files changed, 9 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e110f0a3/HOW-TO-BUILD.md
----------------------------------------------------------------------
diff --git a/HOW-TO-BUILD.md b/HOW-TO-BUILD.md
index eb5ae65..416c2bc 100644
--- a/HOW-TO-BUILD.md
+++ b/HOW-TO-BUILD.md
@@ -15,6 +15,7 @@ The environment required to build weex as follow:
* NodeJS 4.0+
* JDK 1.6+
* Android SDK(`$ANDROID_HOME` must be set properly)
+ * Android NDK(`$ANDROID_NDK` must be set properly)
* Gradle 2.0+
* iOS SDK:
* NodeJS 4.0+
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e110f0a3/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 0b90fb8..200f2f9 100644
--- a/package.json
+++ b/package.json
@@ -44,7 +44,7 @@
"build:runtime": "node build/build.js runtime",
"build:legacy": "node build/build.js legacy",
"build:vanilla": "node build/build.js vanilla",
- "install:buildtools": "npm i webpack@^1.0 rollup rollup-watch rollup-plugin-buble rollup-plugin-json rollup-plugin-eslint rollup-plugin-commonjs rollup-plugin-postcss rollup-plugin-replace rollup-plugin-uglify rollup-plugin-node-resolve babel-core babel-eslint babel-istanbul babel-loader babel-plugin-coverage babel-preset-es2015 babel-runtime",
+ "install:buildtools": "npm i webpack@^1.0 rollup rollup-watch rollup-plugin-buble rollup-plugin-json rollup-plugin-eslint rollup-plugin-commonjs rollup-plugin-postcss rollup-plugin-replace rollup-plugin-uglify rollup-plugin-node-resolve babel-core babel-eslint babel-istanbul babel-loader babel-plugin-coverage babel-preset-es2015 babel-runtime uglify-es eslint-plugin-flowtype eslint",
"build:source": "npm run build:native",
"build:examples": "npm run build:examples:native && npm run build:examples:web",
"build:examples:native": "webpack --config build/webpack.examples.config.js",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e110f0a3/scripts/build_from_source.sh
----------------------------------------------------------------------
diff --git a/scripts/build_from_source.sh b/scripts/build_from_source.sh
index 132efb0..060f5a2 100644
--- a/scripts/build_from_source.sh
+++ b/scripts/build_from_source.sh
@@ -31,8 +31,8 @@ npm run build:source
echo "Javascript Framework and HTML5 SDK build completed."
sleep 2
-cp packages/weex-js-framework/index.min.js ios_sdk/WeexSDK/Resources/main.js
-cp packages/weex-js-framework/index.min.js android_sdk/assets/main.js
+cp pre-build/weex-js-framework.min.js ios_sdk/WeexSDK/Resources/main.js
+cp pre-build/weex-js-framework.min.js android_sdk/assets/main.js
gradle wrapper --gradle-version 3.3
echo 'include ":android_sdk"'>settings.gradle
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e110f0a3/scripts/release_files.rules
----------------------------------------------------------------------
diff --git a/scripts/release_files.rules b/scripts/release_files.rules
index 01ba712..9d37139 100644
--- a/scripts/release_files.rules
+++ b/scripts/release_files.rules
@@ -33,17 +33,12 @@
- /src/h5-render/node_modules
- /src/js-framework/node_modules
+ /src/**
-+ /html5
-- /html5/**.output.js
-- /html5/render/browser/extend/packer.js
-- /html5/test/render/**
-+ /html5/**
++ /runtime
+- /runtime/**.output.js
+- /runtime/render/browser/extend/packer.js
+- /runtime/test/render/**
++ /runtime/**
+ /packages
-+ /packages/weex-html5
-+ /packages/weex-html5/package.json
-+ /packages/weex-vue-render
-+ /packages/weex-vue-render/src/**
-+ /packages/weex-vue-render/package.json
+ /build
+ /build/**
[16/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Use
explicit
Posted by cx...@apache.org.
[WEEX-442][Core] Use explicit
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3dcab42c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3dcab42c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3dcab42c
Branch: refs/heads/release
Commit: 3dcab42c21d83136debbc77a6833a51641c1a4da
Parents: e110f0a
Author: miomin <mi...@foxmail.com>
Authored: Thu Jun 7 17:35:04 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Tue Jun 12 12:44:03 2018 +0800
----------------------------------------------------------------------
weex_core/Source/core/render/action/render_action_add_element.h | 2 +-
weex_core/Source/core/render/action/render_action_add_event.h | 2 +-
.../core/render/action/render_action_appendtree_createfinish.h | 2 +-
weex_core/Source/core/render/action/render_action_createbody.h | 2 +-
weex_core/Source/core/render/action/render_action_createfinish.h | 2 +-
weex_core/Source/core/render/action/render_action_layout.h | 2 +-
weex_core/Source/core/render/action/render_action_move_element.h | 2 +-
.../Source/core/render/action/render_action_remove_element.h | 2 +-
weex_core/Source/core/render/action/render_action_remove_event.h | 2 +-
weex_core/Source/core/render/action/render_action_update_attr.h | 2 +-
weex_core/Source/core/render/action/render_action_update_style.h | 2 +-
weex_core/Source/core/render/manager/render_manager.h | 2 +-
weex_core/Source/core/render/node/factory/render_creator.h | 2 +-
weex_core/Source/core/render/node/render_object.h | 2 +-
weex_core/Source/core/render/page/render_page.h | 3 ++-
15 files changed, 16 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_add_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.h b/weex_core/Source/core/render/action/render_action_add_element.h
index 25cc8ea..07968fc 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.h
+++ b/weex_core/Source/core/render/action/render_action_add_element.h
@@ -26,7 +26,7 @@ namespace WeexCore {
class RenderActionAddElement : public render_action {
public:
- RenderActionAddElement(const std::string &pageId, const RenderObject *render, const RenderObject *parent,
+ explicit RenderActionAddElement(const std::string &pageId, const RenderObject *render, const RenderObject *parent,
int index, bool willLayout= true);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_add_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.h b/weex_core/Source/core/render/action/render_action_add_event.h
index 12006d4..0de206b 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.h
+++ b/weex_core/Source/core/render/action/render_action_add_event.h
@@ -26,7 +26,7 @@ namespace WeexCore {
class RenderActionAddEvent : public render_action {
public:
- RenderActionAddEvent(const std::string &pageId, const std::string &ref, const std::string &event);
+ explicit RenderActionAddEvent(const std::string &pageId, const std::string &ref, const std::string &event);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
index 0f871e3..cdc968c 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
@@ -26,7 +26,7 @@ namespace WeexCore {
class RenderActionAppendTreeCreateFinish : public render_action {
public:
- RenderActionAppendTreeCreateFinish(const std::string &pageId, const std::string &ref);
+ explicit RenderActionAppendTreeCreateFinish(const std::string &pageId, const std::string &ref);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_createbody.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.h b/weex_core/Source/core/render/action/render_action_createbody.h
index 9655734..90b9827 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.h
+++ b/weex_core/Source/core/render/action/render_action_createbody.h
@@ -25,7 +25,7 @@ namespace WeexCore {
class RenderActionCreateBody : public render_action {
public:
- RenderActionCreateBody(const std::string &pageId, const RenderObject *render);
+ explicit RenderActionCreateBody(const std::string &pageId, const RenderObject *render);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.h b/weex_core/Source/core/render/action/render_action_createfinish.h
index 19d5974..0b3407e 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_createfinish.h
@@ -26,7 +26,7 @@ namespace WeexCore {
class RenderActionCreateFinish : public render_action {
public:
- RenderActionCreateFinish(const std::string &pageId);
+ explicit RenderActionCreateFinish(const std::string &pageId);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_layout.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.h b/weex_core/Source/core/render/action/render_action_layout.h
index f9e1c90..868e476 100644
--- a/weex_core/Source/core/render/action/render_action_layout.h
+++ b/weex_core/Source/core/render/action/render_action_layout.h
@@ -26,7 +26,7 @@ namespace WeexCore {
class RenderActionLayout : public render_action {
public:
- RenderActionLayout(const std::string &pageId, const RenderObject *render, const int index);
+ explicit RenderActionLayout(const std::string &pageId, const RenderObject *render, const int index);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_move_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.h b/weex_core/Source/core/render/action/render_action_move_element.h
index aae2633..56db80b 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.h
+++ b/weex_core/Source/core/render/action/render_action_move_element.h
@@ -26,7 +26,7 @@ namespace WeexCore {
class RenderActionMoveElement : public render_action {
public:
- RenderActionMoveElement(const std::string &pageId, const std::string &ref,
+ explicit RenderActionMoveElement(const std::string &pageId, const std::string &ref,
const std::string &parentRef, int index);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_remove_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.h b/weex_core/Source/core/render/action/render_action_remove_element.h
index 1e3ad59..d4342f1 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.h
+++ b/weex_core/Source/core/render/action/render_action_remove_element.h
@@ -25,7 +25,7 @@ namespace WeexCore {
class RenderActionRemoveElement : public render_action {
public:
- RenderActionRemoveElement(const std::string &pageId, const std::string &ref);
+ explicit RenderActionRemoveElement(const std::string &pageId, const std::string &ref);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_remove_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.h b/weex_core/Source/core/render/action/render_action_remove_event.h
index 846f3c0..47ffe78 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.h
+++ b/weex_core/Source/core/render/action/render_action_remove_event.h
@@ -26,7 +26,7 @@ namespace WeexCore {
class RenderActionRemoveEvent : public render_action {
public:
- RenderActionRemoveEvent(const std::string &pageId, const std::string &ref, const std::string &event);
+ explicit RenderActionRemoveEvent(const std::string &pageId, const std::string &ref, const std::string &event);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_update_attr.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.h b/weex_core/Source/core/render/action/render_action_update_attr.h
index 3131632..c9eeec1 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.h
+++ b/weex_core/Source/core/render/action/render_action_update_attr.h
@@ -26,7 +26,7 @@ namespace WeexCore {
class RenderActionUpdateAttr : public render_action {
public:
- RenderActionUpdateAttr(const std::string &pageId, const std::string &ref,
+ explicit RenderActionUpdateAttr(const std::string &pageId, const std::string &ref,
std::vector<std::pair<std::string, std::string>> *mAttrs);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_update_style.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.h b/weex_core/Source/core/render/action/render_action_update_style.h
index 85c73d2..e9d9f53 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.h
+++ b/weex_core/Source/core/render/action/render_action_update_style.h
@@ -27,7 +27,7 @@ namespace WeexCore {
public:
- RenderActionUpdateStyle(const std::string &pageId, const std::string &ref,
+ explicit RenderActionUpdateStyle(const std::string &pageId, const std::string &ref,
std::vector<std::pair<std::string, std::string>> *style,
std::vector<std::pair<std::string, std::string>> *margin,
std::vector<std::pair<std::string, std::string>> *padding,
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/manager/render_manager.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.h b/weex_core/Source/core/render/manager/render_manager.h
index 78206e9..446001b 100644
--- a/weex_core/Source/core/render/manager/render_manager.h
+++ b/weex_core/Source/core/render/manager/render_manager.h
@@ -31,7 +31,7 @@ namespace WeexCore {
class RenderManager {
private:
- RenderManager() {}
+ explicit RenderManager() {}
~RenderManager() {}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/node/factory/render_creator.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_creator.h b/weex_core/Source/core/render/node/factory/render_creator.h
index a10b5f4..593eb57 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.h
+++ b/weex_core/Source/core/render/node/factory/render_creator.h
@@ -28,7 +28,7 @@ namespace WeexCore {
class RenderCreator {
private:
- RenderCreator() {}
+ explicit RenderCreator() {}
~RenderCreator() {}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/node/render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.h b/weex_core/Source/core/render/node/render_object.h
index 758c3f1..062a4c3 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -136,7 +136,7 @@ namespace WeexCore {
public:
- RenderObject();
+ explicit RenderObject();
~RenderObject();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/page/render_page.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.h b/weex_core/Source/core/render/page/render_page.h
index fce095f..369d057 100644
--- a/weex_core/Source/core/render/page/render_page.h
+++ b/weex_core/Source/core/render/page/render_page.h
@@ -74,7 +74,8 @@ namespace WeexCore {
static constexpr bool useVSync = true;
std::atomic_bool needLayout{false};
std::atomic_bool hasForeLayoutAction{false};
- RenderPage(std::string pageId);
+
+ explicit RenderPage(std::string pageId);
~RenderPage();
[39/50] [abbrv] incubator-weex git commit: [WEEX-441][core] mv core
logic from core_android_impl to bridge.cpp
Posted by cx...@apache.org.
[WEEX-441][core] mv core logic from core_android_impl to bridge.cpp
* [core] merge fix
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/676d0eb4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/676d0eb4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/676d0eb4
Branch: refs/heads/release
Commit: 676d0eb4d29f70dce447d916becf841ddb03198c
Parents: ece3827
Author: zhongcang <qh...@gmail.com>
Authored: Thu Jun 7 16:32:18 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Jun 14 16:26:31 2018 +0800
----------------------------------------------------------------------
weex_core/Source/CMakeLists.txt | 1 +
.../bridge/impl/weexcore_impl_android.cpp | 194 ++++++------------
weex_core/Source/core/bridge/bridge.cpp | 197 +++++++++++++++++++
weex_core/Source/core/bridge/bridge.h | 28 +++
weex_core/Source/core/bridge/js_bridge.h | 3 -
5 files changed, 284 insertions(+), 139 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/676d0eb4/weex_core/Source/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/weex_core/Source/CMakeLists.txt b/weex_core/Source/CMakeLists.txt
index 6cb9c18..a63d430 100644
--- a/weex_core/Source/CMakeLists.txt
+++ b/weex_core/Source/CMakeLists.txt
@@ -51,6 +51,7 @@ set(COMMON_SRCS
./core/manager/weex_core_manager.cpp
./core/bridge/js_bridge.cpp
./core/parser/dom_wson.cpp
+ ./core/bridge/bridge.cpp
)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/wson)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/wson)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/676d0eb4/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
index 3febd5b..e731026 100644
--- a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
@@ -26,6 +26,7 @@
#include <core/render/node/render_object.h>
#include <core/config/core_environment.h>
#include <map>
+#include <core/manager/weex_core_manager.h>
using namespace WeexCore;
@@ -119,30 +120,28 @@ static void BindMeasurementToRenderObject(JNIEnv* env, jobject jcaller,
}
static void OnInstanceClose(JNIEnv *env, jobject jcaller, jstring instanceId) {
- RenderManager::GetInstance()->ClosePage(jString2StrFast(env, instanceId));
+ WeexCoreManager::getInstance()->getPlatformBridge()->onInstanceClose(
+ env->GetStringUTFChars(instanceId, JNI_FALSE)
+ );
}
static void SetDefaultHeightAndWidthIntoRootDom(JNIEnv *env, jobject jcaller,
jstring instanceId, jfloat defaultWidth, jfloat defaultHeight,
jboolean isWidthWrapContent, jboolean isHeightWrapContent) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
-#if RENDER_LOG
- LOGD("[JNI] SetDefaultHeightAndWidthIntoRootDom >>>> pageId: %s, defaultWidth: %f, defaultHeight: %f",
- page->PageId().c_str(), defaultWidth,defaultHeight);
-#endif
-
- page->SetDefaultHeightAndWidthIntoRootRender(defaultWidth, defaultHeight, isWidthWrapContent, isHeightWrapContent);
+ WeexCoreManager::getInstance()->getPlatformBridge()->setDefaultHeightAndWidthIntoRootDom(
+ env->GetStringUTFChars(instanceId, JNI_FALSE),
+ defaultWidth,
+ defaultHeight,
+ isWidthWrapContent,
+ isHeightWrapContent
+ );
}
static void SetRenderContainerWrapContent(JNIEnv* env, jobject jcaller, jboolean wrap, jstring instanceId) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
- page->set_is_render_container_width_wrap_content(wrap);
+ const char *cInstanceId = env->GetStringUTFChars(instanceId, JNI_FALSE);
+ WeexCoreManager::getInstance()->getPlatformBridge()->setRenderContainerWrapContent(
+ cInstanceId,wrap
+ );
}
static jlongArray GetFirstScreenRenderTime(JNIEnv *env, jobject jcaller, jstring instanceId) {
@@ -211,153 +210,77 @@ static jlongArray GetRenderFinishTime(JNIEnv *env, jobject jcaller, jstring inst
//Notice that this method is invoked from main thread.
static jboolean NotifyLayout(JNIEnv* env, jobject jcaller, jstring instanceId) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page != nullptr) {
-
- if (!page->need_layout_.load()) {
- page->need_layout_.store(true);
- }
-
- bool ret = !page->has_fore_layout_action_.load() && page->is_dirty();
- if (ret) {
- page->has_fore_layout_action_.store(true);
- }
+ bool ret = WeexCoreManager::getInstance()->getPlatformBridge()->notifyLayout(
+ env->GetStringUTFChars(instanceId, JNI_FALSE)
+ );
return ret ? JNI_TRUE : JNI_FALSE;
- }
}
//Notice that this method is invoked from JS thread.
static void ForceLayout(JNIEnv *env, jobject jcaller, jstring instanceId) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page != nullptr) {
-
-#if RENDER_LOG
- LOGD("[JNI] ForceLayout >>>> pageId: %s, needForceLayout: %s", jString2StrFast(env, instanceId).c_str(), page->hasForeLayoutAction.load()?"true":"false");
-#endif
-
- page->LayoutImmediately();
- page->has_fore_layout_action_.store(false);
- }
+ WeexCoreManager::getInstance()->getPlatformBridge()->forceLayout(
+ env->GetStringUTFChars(instanceId, JNI_FALSE)
+ );
}
static void SetStyleWidth(JNIEnv *env, jobject jcaller,
jstring instanceId, jstring ref, jfloat value) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
- RenderObject *render = page->GetRenderObject(jString2StrFast(env, ref));
- if (render == nullptr)
- return;
- render->setStyleWidthLevel(CSS_STYLE);
- render->setStyleWidth(value, true);
- page->set_is_dirty(true);
+ WeexCoreManager::getInstance()->getPlatformBridge()->setStyleWidth(
+ env->GetStringUTFChars(instanceId, JNI_FALSE),
+ env->GetStringUTFChars(ref, JNI_FALSE),
+ value
+ );
}
static void SetStyleHeight(JNIEnv *env, jobject jcaller,
jstring instanceId, jstring ref, jfloat value) {
-
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
- RenderObject *render = page->GetRenderObject(jString2StrFast(env, ref));
- if (render == nullptr)
- return;
-
- render->setStyleHeightLevel(CSS_STYLE);
- render->setStyleHeight(value);
- page->set_is_dirty(true);
+ WeexCoreManager::getInstance()->getPlatformBridge()->setStyleHeight(
+ env->GetStringUTFChars(instanceId, JNI_FALSE),
+ env->GetStringUTFChars(ref, JNI_FALSE),
+ value
+ );
}
static void SetMargin(JNIEnv *env, jobject jcaller,
jstring instanceId, jstring ref, jint edge, jfloat value) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
- RenderObject *render = page->GetRenderObject(jString2StrFast(env, ref));
- if (render == nullptr)
- return;
-
- if (edge == 0) {
- render->setMargin(kMarginTop, value);
- } else if (edge == 1) {
- render->setMargin(kMarginBottom, value);
- } else if (edge == 2) {
- render->setMargin(kMarginLeft, value);
- } else if (edge == 3) {
- render->setMargin(kMarginRight, value);
- } else if (edge == 4) {
- render->setMargin(kMarginALL, value);
- }
- page->set_is_dirty(true);
+ WeexCoreManager::getInstance()->getPlatformBridge()->setMargin(
+ env->GetStringUTFChars(instanceId, JNI_FALSE),
+ env->GetStringUTFChars(ref, JNI_FALSE),
+ edge,
+ value
+ );
}
static void SetPadding(JNIEnv *env, jobject jcaller,
jstring instanceId, jstring ref, jint edge, jfloat value) {
-
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
- RenderObject *render = page->GetRenderObject(jString2StrFast(env, ref));
- if (render == nullptr)
- return;
-
- if (edge == 0) {
- render->setPadding(kPaddingTop, value);
- } else if (edge == 1) {
- render->setPadding(kPaddingBottom, value);
- } else if (edge == 2) {
- render->setPadding(kPaddingLeft, value);
- } else if (edge == 3) {
- render->setPadding(kPaddingRight, value);
- } else if (edge == 4) {
- render->setPadding(kPaddingALL, value);
- }
- page->set_is_dirty(true);
+ WeexCoreManager::getInstance()->getPlatformBridge()->setPadding(
+ env->GetStringUTFChars(instanceId, JNI_FALSE),
+ env->GetStringUTFChars(ref, JNI_FALSE),
+ edge,
+ value
+ );
}
static void SetPosition(JNIEnv *env, jobject jcaller,
jstring instanceId, jstring ref, jint edge, jfloat value) {
-
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
- RenderObject *render = page->GetRenderObject(jString2StrFast(env, ref));
- if (render == nullptr)
- return;
-
- if (edge == 0) {
- render->setStylePosition(kPositionEdgeTop, value);
- } else if (edge == 1) {
- render->setStylePosition(kPositionEdgeBottom, value);
- } else if (edge == 2) {
- render->setStylePosition(kPositionEdgeLeft, value);
- } else if (edge == 3) {
- render->setStylePosition(kPositionEdgeRight, value);
- }
- page->set_is_dirty(true);
+ WeexCoreManager::getInstance()->getPlatformBridge()->setPosition(
+ env->GetStringUTFChars(instanceId, JNI_FALSE),
+ env->GetStringUTFChars(ref, JNI_FALSE),
+ edge,
+ value
+ );
}
static void MarkDirty(JNIEnv *env, jobject jcaller,
jstring instanceId, jstring ref, jboolean dirty) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
- if (dirty) {
-
- RenderObject *render = page->GetRenderObject(jString2StrFast(env, ref));
- if (render == nullptr)
- return;
- render->markDirty();
- }
+ WeexCoreManager::getInstance()->getPlatformBridge()->markDirty(
+ env->GetStringUTFChars(instanceId, JNI_FALSE),
+ env->GetStringUTFChars(ref, JNI_FALSE),
+ dirty
+ );
}
static void RegisterCoreEnv(JNIEnv *env, jobject jcaller, jstring key, jstring value) {
@@ -367,11 +290,10 @@ static void RegisterCoreEnv(JNIEnv *env, jobject jcaller, jstring key, jstring v
}
static void SetViewPortWidth(JNIEnv *env, jobject jcaller, jstring instanceId, jfloat value) {
- RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
- if (page == nullptr)
- return;
-
- page->set_viewport_width(value);
+ const char *cInstanceId = env->GetStringUTFChars(instanceId, JNI_FALSE);
+ WeexCoreManager::getInstance()->getPlatformBridge()->setViewPortWidth(
+ cInstanceId,value
+ );
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/676d0eb4/weex_core/Source/core/bridge/bridge.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/bridge/bridge.cpp b/weex_core/Source/core/bridge/bridge.cpp
new file mode 100644
index 0000000..22d9139
--- /dev/null
+++ b/weex_core/Source/core/bridge/bridge.cpp
@@ -0,0 +1,197 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include "bridge.h"
+#include <core/render/manager/render_manager.h>
+#include <core/render/page/render_page.h>
+#include <core/render/node/render_object.h>
+
+namespace WeexCore {
+ void Bridge::setStyleWidth(const char *instanceId, const char *ref, float value) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr)
+ return;
+
+ RenderObject *render = page->GetRenderObject(std::string(ref));
+ if (render == nullptr)
+ return;
+
+ render->setStyleWidthLevel(CSS_STYLE);
+ render->setStyleWidth(value, true);
+ page->set_is_dirty(true);
+ }
+
+ void Bridge::setStyleHeight(const char *instanceId, const char *ref, float value) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr)
+ return;
+
+ RenderObject *render = page->GetRenderObject(std::string(ref));
+ if (render == nullptr)
+ return;
+
+ render->setStyleHeightLevel(CSS_STYLE);
+ render->setStyleHeight(value);
+ page->set_is_dirty(true);
+ }
+
+
+ void Bridge::setMargin(const char *instanceId, const char *ref, int32_t edge, float value) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr)
+ return;
+
+ RenderObject *render = page->GetRenderObject(std::string(ref));
+ if (render == nullptr)
+ return;
+
+ if (edge == 0) {
+ render->setMargin(kMarginTop, value);
+ } else if (edge == 1) {
+ render->setMargin(kMarginBottom, value);
+ } else if (edge == 2) {
+ render->setMargin(kMarginLeft, value);
+ } else if (edge == 3) {
+ render->setMargin(kMarginRight, value);
+ } else if (edge == 4) {
+ render->setMargin(kMarginALL, value);
+ }
+ page->set_is_dirty(true);
+ }
+
+ void Bridge::setPadding(const char *instanceId, const char *ref, int32_t edge, float value) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr)
+ return;
+
+ RenderObject *render = page->GetRenderObject(std::string(ref));
+ if (render == nullptr)
+ return;
+
+ if (edge == 0) {
+ render->setPadding(kPaddingTop, value);
+ } else if (edge == 1) {
+ render->setPadding(kPaddingBottom, value);
+ } else if (edge == 2) {
+ render->setPadding(kPaddingLeft, value);
+ } else if (edge == 3) {
+ render->setPadding(kPaddingRight, value);
+ } else if (edge == 4) {
+ render->setPadding(kPaddingALL, value);
+ }
+ page->set_is_dirty(true);
+ }
+
+ void Bridge::setPosition(const char *instanceId, const char *ref, int32_t edge, float value) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr)
+ return;
+
+ RenderObject *render = page->GetRenderObject(std::string(ref));
+ if (render == nullptr)
+ return;
+
+ if (edge == 0) {
+ render->setStylePosition(kPositionEdgeTop, value);
+ } else if (edge == 1) {
+ render->setStylePosition(kPositionEdgeBottom, value);
+ } else if (edge == 2) {
+ render->setStylePosition(kPositionEdgeLeft, value);
+ } else if (edge == 3) {
+ render->setStylePosition(kPositionEdgeRight, value);
+ }
+ page->set_is_dirty(true);
+ }
+
+ void Bridge::markDirty(const char *instanceId, const char *ref, bool dirty) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr)
+ return;
+
+ if (dirty) {
+ RenderObject *render = page->GetRenderObject(std::string(ref));
+ if (render == nullptr)
+ return;
+ render->markDirty();
+ }
+ }
+
+ void Bridge::setViewPortWidth(const char *instanceId, float value) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr)
+ return;
+ page->set_viewport_width(value);
+ }
+
+ void Bridge::setDefaultHeightAndWidthIntoRootDom(const char *instanceId, const float defaultWidth,
+ const float defaultHeight,
+ const bool isWidthWrapContent, const bool isHeightWrapContent) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr) {
+ return;
+ }
+
+#if RENDER_LOG
+ LOGD("[JNI] SetDefaultHeightAndWidthIntoRootDom >>>> pageId: %s, defaultWidth: %f, defaultHeight: %f",
+ page->PageId().c_str(), defaultWidth,defaultHeight);
+#endif
+ page->SetDefaultHeightAndWidthIntoRootRender(defaultWidth, defaultHeight, isWidthWrapContent,
+ isHeightWrapContent);
+ }
+
+ void Bridge::setRenderContainerWrapContent(const char *instanceId, bool wrap) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page == nullptr)
+ return;
+
+ page->set_is_render_container_width_wrap_content(wrap);
+
+ }
+
+ void Bridge::forceLayout(const char *instanceId) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page != nullptr) {
+
+#if RENDER_LOG
+ LOGD("[JNI] ForceLayout >>>> pageId: %s, needForceLayout: %s", jString2StrFast(env, instanceId).c_str(), page->hasForeLayoutAction.load()?"true":"false");
+#endif
+ page->LayoutImmediately();
+ page->has_fore_layout_action_.store(false);
+ }
+ }
+
+ bool Bridge::notifyLayout(const char *instanceId) {
+ RenderPage *page = RenderManager::GetInstance()->GetPage(std::string(instanceId));
+ if (page != nullptr) {
+
+ if (!page->need_layout_.load()) {
+ page->need_layout_.store(true);
+ }
+
+ bool ret = !page->has_fore_layout_action_.load() && page->is_dirty();
+ if (ret) {
+ page->has_fore_layout_action_.store(true);
+ }
+ }
+ }
+
+ void Bridge::onInstanceClose(const char *instanceId) {
+ RenderManager::GetInstance()->ClosePage(std::string(instanceId));
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/676d0eb4/weex_core/Source/core/bridge/bridge.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/bridge/bridge.h b/weex_core/Source/core/bridge/bridge.h
index 5660e4c..8da0fdc 100644
--- a/weex_core/Source/core/bridge/bridge.h
+++ b/weex_core/Source/core/bridge/bridge.h
@@ -35,6 +35,7 @@ namespace WeexCore {
class Bridge {
public:
+ /** platform impl **/
virtual void setJSVersion(const char* version) = 0;
virtual void reportException(const char* pageId, const char *func, const char *exception_string) = 0;
@@ -100,6 +101,33 @@ namespace WeexCore {
virtual int callHasTransitionPros(const char* pageId, const char* ref,
std::vector<std::pair<std::string, std::string>> *style)=0;
+
+ /** core api **/
+ void setStyleWidth(const char *instanceId, const char *ref, float value);
+ void setStyleHeight(const char *instanceId, const char *ref, float value);
+
+ void setMargin(const char *instanceId,const char *ref, int32_t edge, float value);
+
+ void setPadding(const char *instanceId, const char *ref, int32_t edge, float value);
+
+ void setPosition(const char *instanceId, const char *ref, int32_t edge, float value);
+
+ void markDirty(const char *instanceId,const char *ref, bool dirty);
+
+ void setViewPortWidth(const char *instanceId, float value);
+
+ void setDefaultHeightAndWidthIntoRootDom(const char *instanceId, const float defaultWidth, const float defaultHeight,
+ const bool isWidthWrapContent, const bool isHeightWrapContent);
+ void setRenderContainerWrapContent(const char* instanceId,bool wrap);
+
+ /**Notice that this method is invoked from JS thread.**/
+ void forceLayout(const char *instanceId);
+
+ /**Notice that this method is invoked from JS thread.**/
+ bool notifyLayout(const char *instanceId);
+
+
+ void onInstanceClose(const char *instanceId) ;
};
} //end WeexCore
#endif //Bridge_h
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/676d0eb4/weex_core/Source/core/bridge/js_bridge.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/bridge/js_bridge.h b/weex_core/Source/core/bridge/js_bridge.h
index ee9a771..f208164 100644
--- a/weex_core/Source/core/bridge/js_bridge.h
+++ b/weex_core/Source/core/bridge/js_bridge.h
@@ -16,9 +16,6 @@
* specific language governing permissions and limitations
* under the License.
*/
-//
-// Created by 陈佩翰 on 2018/6/1.
-//
#ifndef WEEXCORE_JS_BRIDGE_H
#define WEEXCORE_JS_BRIDGE_H
[32/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.13
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/38f43ecc/android/sdk/assets/weex-main-jsfm.js
----------------------------------------------------------------------
diff --git a/android/sdk/assets/weex-main-jsfm.js b/android/sdk/assets/weex-main-jsfm.js
index 4a0b428..af0084d 100644
--- a/android/sdk/assets/weex-main-jsfm.js
+++ b/android/sdk/assets/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.11, Build 2018-06-07 17:20. (Vue: 2.5.13-weex.5, Rax: 0.4.20)");var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";var t,c,r,l;function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0<t?1:-1)*Math.floor(Math.abs(t)):t);return Math.min(Math.max(n,0),r)},function(e){var t=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var n,r=1<arguments.length?arguments[1]:void 0;if(void 0!==r){if(
!c(r))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(n=arguments[2])}for(var o,i=l(t.length),a=c(this)?Object(new this(i)):new Array(i),s=0;s<i;)o=t[s],a[s]=r?void 0===n?r(o,s):r.call(n,o,s):o,s+=1;return a.length=i,a}));var v=n(function(e){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)}),m=n(function(e){var t=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=t)}),o=(m.version,function(e){return"object"==typeof e?null!==e:"function"==typeof e}),y=function(e){if(!o(e))throw TypeError(e+" is not an object!");return e},i=function(e){try{return!!e()}catch(e){return!0}},a=!i(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),s=v.document,u=o(s)&&o(s.createElement),f=function(e){return u?s.createElement(e):{}},p=!a&&!i(function(){return 7!=Object.defineProperty(f("div"
),"a",{get:function(){return 7}}).a}),d=Object.defineProperty,h={f:a?Object.defineProperty:function(e,t,n){if(y(e),t=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}(t,!0),y(n),p)try{return d(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},k=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},S=a?function(e,t,n){return h.f(e,t,k(1,n))}:function(e,t,n){return e[t]=n,e},g={}.hasOwnProperty,_=function(e,t){return g.call(e,t)},b=0,w=Math.random(),O=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++b+w).toString(36))},C=n(function(e){var i=O("src"),t="toString",n=Function[t],a=(""+n).split(t);m.inspectSource=function(e){return n.call(
e)},(e.exports=function(e,t,n,r){var o="function"==typeof n;o&&(_(n,"name")||S(n,"name",t)),e[t]!==n&&(o&&(_(n,i)||S(n,i,e[t]?""+e[t]:a.join(String(t)))),e===v?e[t]=n:r?e[t]?e[t]=n:S(e,t,n):(delete e[t],S(e,t,n)))})(Function.prototype,t,function(){return"function"==typeof this&&this[i]||n.call(this)})}),x=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e},E=function(r,o,e){if(x(r),void 0===o)return r;switch(e){case 1:return function(e){return r.call(o,e)};case 2:return function(e,t){return r.call(o,e,t)};case 3:return function(e,t,n){return r.call(o,e,t,n)}}return function(){return r.apply(o,arguments)}},$="prototype",A=function(e,t,n){var r,o,i,a,s=e&A.F,c=e&A.G,l=e&A.S,u=e&A.P,f=e&A.B,p=c?v:l?v[t]||(v[t]={}):(v[t]||{})[$],d=c?m:m[t]||(m[t]={}),h=d[$]||(d[$]={});for(r in c&&(n=t),n)i=((o=!s&&p&&void 0!==p[r])?p:n)[r],a=f&&o?E(i,v):u&&"function"==typeof i?E(Function.call,i):i,p&&C(p,r,i,e&A.U),d[r]!=i&&S(d,r,a),u&&h[r]!=i&&(h[r]=i)};v.core=m,A.F=1
,A.G=2,A.S=4,A.P=8,A.B=16,A.W=32,A.U=64,A.R=128;var j,I=A,M={}.toString,T=function(e){return M.call(e).slice(8,-1)},F=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==T(e)?e.split(""):Object(e)},P=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},N=function(e){return F(P(e))},R=Math.ceil,D=Math.floor,V=function(e){return isNaN(e=+e)?0:(0<e?D:R)(e)},J=Math.min,L=function(e){return 0<e?J(V(e),9007199254740991):0},W=Math.max,q=Math.min,U=n(function(e){var t="__core-js_shared__",n=v[t]||(v[t]={});(e.exports=function(e,t){return n[e]||(n[e]=void 0!==t?t:{})})("versions",[]).push({version:m.version,mode:"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})}),B=U("keys"),z=function(e){return B[e]||(B[e]=O(e))},H=(j=!1,function(e,t,n){var r,o,i,a=N(e),s=L(a.length),c=(o=s,(r=V(r=n))<0?W(r+o,0):q(r,o));if(j&&t!=t){for(;c<s;)if((i=a[c++])!=i)return!0}else for(;c<s;c++)if((j||c in a)&&a[c]===t)return j||c||0;return!j&&-1}),X=z("IE_PROTO")
,G="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),K=Object.keys||function(e){return function(e,t){var n,r=N(e),o=0,i=[];for(n in r)n!=X&&_(r,n)&&i.push(n);for(;t.length>o;)_(r,n=t[o++])&&(~H(i,n)||i.push(n));return i}(e,G)},Z={f:Object.getOwnPropertySymbols},Y={f:{}.propertyIsEnumerable},Q=function(e){return Object(P(e))},ee=Object.assign,te=!ee||i(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ee({},e)[n]||Object.keys(ee({},t)).join("")!=r})?function(e,t){for(var n=arguments,r=Q(e),o=arguments.length,i=1,a=Z.f,s=Y.f;i<o;)for(var c,l=F(n[i++]),u=a?K(l).concat(a(l)):K(l),f=u.length,p=0;p<f;)s.call(l,c=u[p++])&&(r[c]=l[c]);return r}:ee;I(I.S+I.F,"Object",{assign:te});m.Object.assign;Object.setPrototypeOf||(Object.setPrototypeOf=function(t,n){var r;function o(e,t){return r.call(e,t),e}try{(r=t.getOwnPropertyDescriptor(t.prototype,n).set).call({},null)}catc
h(e){if(t.prototype!=={}[n])return;r=function(e){this[n]=e},o.polyfill=o(o({},null),t.prototype)instanceof t}return o}(Object,"__proto__"));var ne=global.WXEnvironment;ne&&"iOS"===ne.platform&&(global.Promise=void 0);var re=n(function(e){var t=U("wks"),n=v.Symbol,r="function"==typeof n;(e.exports=function(e){return t[e]||(t[e]=r&&n[e]||(r?n:O)("Symbol."+e))}).store=t}),oe=re("toStringTag"),ie="Arguments"==T(function(){return arguments}()),ae=function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),oe))?n:ie?T(t):"Object"==(r=T(t))&&"function"==typeof t.callee?"Arguments":r},se={};se[re("toStringTag")]="z",se+""!="[object z]"&&C(Object.prototype,"toString",function(){return"[object "+ae(this)+"]"},!0);var ce={},le=a?Object.defineProperties:function(e,t){y(e);for(var n,r=K(t),o=r.length,i=0;i<o;)h.f(e,n=r[i++],t[n]);return e},ue=v.document,fe=ue&&ue.documentElement,pe=z("IE_PROTO"),de=function(){},he="
prototype",ve=function(){var e,t=f("iframe"),n=G.length;for(t.style.display="none",fe.appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),ve=e.F;n--;)delete ve[he][G[n]];return ve()},me=Object.create||function(e,t){var n;return null!==e?(de[he]=y(e),n=new de,de[he]=null,n[pe]=e):n=ve(),void 0===t?n:le(n,t)},ye=h.f,ge=re("toStringTag"),_e=function(e,t,n){e&&!_(e=n?e:e.prototype,ge)&&ye(e,ge,{configurable:!0,value:t})},be={};S(be,re("iterator"),function(){return this});var we,ke=z("IE_PROTO"),Se=Object.prototype,Oe=Object.getPrototypeOf||function(e){return e=Q(e),_(e,ke)?e[ke]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Se:null},Ce=re("iterator"),xe=!([].keys&&"next"in[].keys()),Ee="values",$e=function(){return this},Ae=function(e,t,n,r,o,i,a){var s,c,l;c=t,l=r,(s=n).prototype=me(be,{next:k(1,l)}),_e(s,c+" Iterator");var u,f,p,d=function(e){if(!xe&&e
in y)return y[e];switch(e){case"keys":case Ee:return function(){return new n(this,e)}}return function(){return new n(this,e)}},h=t+" Iterator",v=o==Ee,m=!1,y=e.prototype,g=y[Ce]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void 0,w="Array"==t&&y.entries||g;if(w&&(p=Oe(w.call(new e)))!==Object.prototype&&p.next&&(_e(p,h,!0),"function"!=typeof p[Ce]&&S(p,Ce,$e)),v&&g&&g.name!==Ee&&(m=!0,_=function(){return g.call(this)}),(xe||m||!y[Ce])&&S(y,Ce,_),ce[t]=_,ce[h]=$e,o)if(u={values:v?_:d(Ee),keys:i?_:d("keys"),entries:b},a)for(f in u)f in y||C(y,f,u[f]);else I(I.P+I.F*(xe||m),t,u);return u},je=(we=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return i<0||a<=i?we?"":void 0:(n=o.charCodeAt(i))<55296||56319<n||i+1===a||(r=o.charCodeAt(i+1))<56320||57343<r?we?o.charAt(i):n:we?o.slice(i,i+2):r-56320+(n-55296<<10)+65536});Ae(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=je(t,n)
,this._i+=e.length,{value:e,done:!1})});var Ie=re("unscopables"),Me=Array.prototype;null==Me[Ie]&&S(Me,Ie,{});var Te=function(e){Me[Ie][e]=!0},Fe=function(e,t){return{value:t,done:!!e}},Pe=Ae(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,Fe(1)):Fe(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ce.Arguments=ce.Array,Te("keys"),Te("values"),Te("entries");for(var Ne=re("iterator"),Re=re("toStringTag"),De=ce.Array,Ve={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheet
List:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},Je=K(Ve),Le=0;Le<Je.length;Le++){var We,qe=Je[Le],Ue=Ve[qe],Be=v[qe],ze=Be&&Be.prototype;if(ze&&(ze[Ne]||S(ze,Ne,De),ze[Re]||S(ze,Re,qe),ce[qe]=De,Ue))for(We in Pe)ze[We]||C(ze,We,Pe[We],!0)}var He,Xe,Ge,Ke=function(t,e,n,r){try{return r?e(y(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&y(o.call(t)),e}},Ze=re("iterator"),Ye=Array.prototype,Qe=re("iterator"),et=m.getIteratorMethod=function(e){if(null!=e)return e[Qe]||e["@@iterator"]||ce[ae(e)]},tt=n(function(e){var d={},h={},t=e.exports=function(e,t,n,r,o){var i,a,s,c,l,u=o?function(){return e}:et(e),f=E(n,r,t?2:1),p=0;if("function"!=typeof u)throw TypeError(e+" is not iterable!");if(void 0===(l=u)||ce.Array!==l&&Ye[Ze]!==l){for(s=u.call(e);!(a=s.next()).done;)if((c=Ke(s,f,a.value,t))===d||c===h)return c}else for(i=L(e.length);p<i;p++)if((c=t?f(y(a=e[p])[0],a[1]):f(e[p]))===d||c===h)return c};t.BREAK=d,t.RETURN=h}),nt=re("species"),rt=v.process,ot=v.setImmediate,
it=v.clearImmediate,at=v.MessageChannel,st=v.Dispatch,ct=0,lt={},ut="onreadystatechange",ft=function(){var e=+this;if(lt.hasOwnProperty(e)){var t=lt[e];delete lt[e],t()}},pt=function(e){ft.call(e.data)};ot&&it||(ot=function(e){for(var t=arguments,n=[],r=1;arguments.length>r;)n.push(t[r++]);return lt[++ct]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof e?e:Function(e),n)},He(ct),ct},it=function(e){delete lt[e]},"process"==T(rt)?He=function(e){rt.nextTick(E(ft,e,1))}:st&&st.now?He=function(e){st.now(E(ft,e,1))}:at?(Ge=(Xe=new at).port2,Xe.port1.onmessage=pt,He=E(Ge.postMessage,Ge,1)):v.addEventListener&&"function"==typeof postMessage&&!v.importScripts?(He=function(e){v.postMessage(e+"","*")},v.ad
dEventListener("message",pt,!1)):He=ut in f("script")?function(e){fe.appendChild(f("script"))[ut]=function(){fe.removeChild(this),ft.call(e)}}:function(e){setTimeout(E(ft,e,1),0)});var dt={set:ot,clear:it},ht=dt.set,vt=v.MutationObserver||v.WebKitMutationObserver,mt=v.process,yt=v.Promise,gt="process"==T(mt);var _t={f:function(e){return new function(e){var n,r;this.promise=new e(function(e,t){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=e,r=t}),this.resolve=x(n),this.reject=x(r)}(e)}},bt=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}},wt=v.navigator,kt=wt&&wt.userAgent||"",St=re("species"),Ot=re("iterator"),Ct=!1;try{[7][Ot]().return=function(){Ct=!0}}catch(e){}var xt,Et,$t,At,jt,It=dt.set,Mt=function(){var n,r,o,e=function(){var e,t;for(gt&&(e=mt.domain)&&e.exit();n;){t=n.fn,n=n.next;try{t()}catch(e){throw n?o():r=void 0,e}}r=void 0,e&&e.enter()};if(gt)o=function(){mt.nextTick(e)};else if(!vt||v.navigator&&v.navigator.standalone)if(yt&&yt.re
solve){var t=yt.resolve(void 0);o=function(){t.then(e)}}else o=function(){ht.call(v,e)};else{var i=!0,a=document.createTextNode("");new vt(e).observe(a,{characterData:!0}),o=function(){a.data=i=!i}}return function(e){var t={fn:e,next:void 0};r&&(r.next=t),n||(n=t,o()),r=t}}(),Tt="Promise",Ft=v.TypeError,Pt=v.process,Nt=Pt&&Pt.versions,Rt=Nt&&Nt.v8||"",Dt=v[Tt],Vt="process"==ae(Pt),Jt=function(){},Lt=Et=_t.f,Wt=!!function(){try{var e=Dt.resolve(1),t=(e.constructor={})[re("species")]=function(e){e(Jt,Jt)};return(Vt||"function"==typeof PromiseRejectionEvent)&&e.then(Jt)instanceof t&&0!==Rt.indexOf("6.6")&&-1===kt.indexOf("Chrome/66")}catch(e){}}(),qt=function(e){var t;return!(!o(e)||"function"!=typeof(t=e.then))&&t},Ut=function(u,n){if(!u._n){u._n=!0;var r=u._c;Mt(function(){for(var c=u._v,l=1==u._s,e=0,t=function(e){var t,n,r,o=l?e.ok:e.fail,i=e.resolve,a=e.reject,s=e.domain;try{o?(l||(2==u._h&&Ht(u),u._h=1),!0===o?t=c:(s&&s.enter(),t=o(c),s&&(s.exit(),r=!0)),t===e.promise?a(Ft("Promi
se-chain cycle")):(n=qt(t))?n.call(t,i,a):i(t)):a(c)}catch(e){s&&!r&&s.exit(),a(e)}};r.length>e;)t(r[e++]);u._c=[],u._n=!1,n&&!u._h&&Bt(u)})}},Bt=function(i){It.call(v,function(){var e,t,n,r=i._v,o=zt(i);if(o&&(e=bt(function(){Vt?Pt.emit("unhandledRejection",r,i):(t=v.onunhandledrejection)?t({promise:i,reason:r}):(n=v.console)&&n.error&&n.error("Unhandled promise rejection",r)}),i._h=Vt||zt(i)?2:1),i._a=void 0,o&&e.e)throw e.v})},zt=function(e){return 1!==e._h&&0===(e._a||e._c).length},Ht=function(t){It.call(v,function(){var e;Vt?Pt.emit("rejectionHandled",t):(e=v.onrejectionhandled)&&e({promise:t,reason:t._v})})},Xt=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),Ut(t,!0))},Gt=function(e){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===e)throw Ft("Promise can't be resolved itself");(n=qt(e))?Mt(function(){var t={_w:r,_d:!1};try{n.call(e,E(Gt,t,1),E(Xt,t,1))}catch(e){Xt.call(t,e)}}):(r._v=e,r._s=1,Ut(r,!1))}catch(e){Xt.call({_w:r,_d:!1},e)
}}};Wt||(Dt=function(e){!function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!")}(this,Dt,Tt,"_h"),x(e),xt.call(this);try{e(E(Gt,this,1),E(Xt,this,1))}catch(e){Xt.call(this,e)}},(xt=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(e,t,n){for(var r in t)C(e,r,t[r],n);return e}(Dt.prototype,{then:function(e,t){var n,r,o,i=Lt((n=Dt,void 0===(o=y(this).constructor)||null==(r=y(o)[nt])?n:x(r)));return i.ok="function"!=typeof e||e,i.fail="function"==typeof t&&t,i.domain=Vt?Pt.domain:void 0,this._c.push(i),this._a&&this._a.push(i),this._s&&Ut(this,!1),i.promise},catch:function(e){return this.then(void 0,e)}}),$t=function(){var e=new xt;this.promise=e,this.resolve=E(Gt,e,1),this.reject=E(Xt,e,1)},_t.f=Lt=function(e){return e===Dt||e===At?new $t(e):Et(e)}),I(I.G+I.W+I.F*!Wt,{Promise:Dt}),_e(Dt,Tt),jt=v[Tt],a&&jt&&!jt[St]&&h.f(jt,St,{configurable:!0,get:function(){return this}}),
At=m[Tt],I(I.S+I.F*!Wt,Tt,{reject:function(e){var t=Lt(this);return(0,t.reject)(e),t.promise}}),I(I.S+I.F*!Wt,Tt,{resolve:function(e){return function(e,t){if(y(e),o(t)&&t.constructor===e)return t;var n=_t.f(e);return(0,n.resolve)(t),n.promise}(this,e)}}),I(I.S+I.F*!(Wt&&function(e,t){if(!t&&!Ct)return!1;var n=!1;try{var r=[7],o=r[Ot]();o.next=function(){return{done:n=!0}},r[Ot]=function(){return o},e(r)}catch(e){}return n}(function(e){Dt.all(e).catch(Jt)})),Tt,{all:function(e){var a=this,t=Lt(a),s=t.resolve,c=t.reject,n=bt(function(){var r=[],o=0,i=1;tt(e,!1,function(e){var t=o++,n=!1;r.push(void 0),i++,a.resolve(e).then(function(e){n||(n=!0,r[t]=e,--i||s(r))},c)}),--i||s(r)});return n.e&&c(n.v),t.promise},race:function(e){var t=this,n=Lt(t),r=n.reject,o=bt(function(){tt(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}});var Kt=["off","error","warn","info","log","debug"],Zt={};global.console;function Yt(e){var t=global.WXEnvironment&&global.WXEnviron
ment.logLevel||"log";return Zt[t]&&Zt[t][e]}function Qt(e){return e.map(function(e){return e="[object object]"===Object.prototype.toString.call(e).toLowerCase()?JSON.stringify(e):String(e)})}global.setTimeout;var en=global.setTimeoutNative;function tn(t,n,r){if(t.hasOwnProperty(n)){var e=t[n];Object.defineProperty(t,n,{get:function(){return e},set:function(e){if(this===t)throw Error("Cannot assign to read only property "+n+" of "+r);return Object.defineProperty(this,n,{value:e,writable:!0}),e}})}}!function(){if(void 0===setTimeout&&"function"==typeof en){var n={},r=0;global.setTimeout=function(e,t){n[++r]=e,en(r.toString(),t)},global.setTimeoutCallback=function(e){"function"==typeof n[e]&&(n[e](),delete n[e])}}}(),function(){if(Kt.forEach(function(n){var r=Kt.indexOf(n);Zt[n]={},Kt.forEach(function(e){var t=Kt.indexOf(e);t<=r&&(Zt[n][e]=!0)})}),global.WXEnvironment&&"Web"!==global.WXEnvironment.platform)global.console={debug:function(){for(var e=[],t=arguments.length;t--;)e[t]=argum
ents[t];Yt("debug")&&global.nativeLog.apply(global,Qt(e).concat(["__DEBUG"]))},log:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("log")&&global.nativeLog.apply(global,Qt(e).concat(["__LOG"]))},info:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("info")&&global.nativeLog.apply(global,Qt(e).concat(["__INFO"]))},warn:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("warn")&&global.nativeLog.apply(global,Qt(e).concat(["__WARN"]))},error:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("error")&&global.nativeLog.apply(global,Qt(e).concat(["__ERROR"]))}};else{var e=console.debug,t=console.log,n=console.info,r=console.warn,o=console.error;console.__ori__={debug:e,log:t,info:n,warn:r,error:o},console.debug=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("debug")&&console.__ori__.debug.apply(console,e)},console.log=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("log
")&&console.__ori__.log.apply(console,e)},console.info=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("info")&&console.__ori__.info.apply(console,e)},console.warn=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("warn")&&console.__ori__.warn.apply(console,e)},console.error=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("error")&&console.__ori__.error.apply(console,e)}}}();var nn={framework:"0.26.11",transformer:">=0.1.5 <0.5"};function rn(e,t,n){return t+"@"+n+"#"+e}var on=function(e){this.instanceId=String(e),this.lastCallbackId=0,this.callbacks={},this.hooks={}};on.prototype.add=function(e){return this.lastCallbackId++,this.callbacks[this.lastCallbackId]=e,this.lastCallbackId},on.prototype.remove=function(e){var t=this.callbacks[e];return delete this.callbacks[e],t},on.prototype.registerHook=function(e,t,n,r){var o=rn(e,t,n);this.hooks[o]&&console.warn('[JS Framework] Override an existing component hook "'+o+'".'),thi
s.hooks[o]=r},on.prototype.triggerHook=function(e,t,n,r){var o=rn(e,t,n),i=this.hooks[o];if("function"!=typeof i)return console.error("[JS Framework] Invalid hook function type ("+typeof i+') on "'+o+'".'),null;var a=null;try{a=i.apply(null,r||[])}catch(e){console.error('[JS Framework] Failed to execute the hook function on "'+o+'".')}return a},on.prototype.consume=function(e,t,n){var r=this.callbacks[e];return void 0!==n&&!1!==n||delete this.callbacks[e],"function"==typeof r?r(t):new Error('invalid callback id "'+e+'"')},on.prototype.close=function(){this.callbacks={},this.hooks={}};var an=1;function sn(){return(an++).toString()}function cn(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1)}function ln(e){if("function"!=typeof btoa)return"";var t=Array.prototype.map.call(new Uint8Array(e),function(e){return String.fromCharCode(e)}).join("");return btoa(t)}function un(e){if(!e||"object"!=typeof e)return!0;for(var t in e)if(Object.prototype.hasOwnProperty.cal
l(e,t))return!1;return!0}var fn={};function pn(e){return fn[e]}function dn(e){var t=fn[e];return t&&t.taskCenter?t.taskCenter:null}function hn(e,t,n){var r=e.documentElement;if(!(0<r.pureChildren.length||t.parentNode)){var o,i,a=r.children,s=a.indexOf(n);s<0?a.push(t):a.splice(s,0,t),1===t.nodeType?("body"===t.role?(t.docId=e.id,t.ownerDocument=e,t.parentNode=r,mn(t,r)):(t.children.forEach(function(e){e.parentNode=t}),vn(e,t),t.docId=e.id,t.ownerDocument=e,mn(t,r),delete e.nodeMap[t.nodeId]),r.pureChildren.push(t),o=e,i=t.toJSON(),o&&o.taskCenter&&"function"==typeof o.taskCenter.send&&o.taskCenter.send("dom",{action:"createBody"},[i])):(t.parentNode=r,e.nodeMap[t.ref]=t)}}function vn(e,t){t.role="body",t.depth=1,delete e.nodeMap[t.nodeId],t.ref="_root",e.nodeMap._root=t,e.body=t}function mn(t,e){(t.parentNode=e).docId&&(t.docId=e.docId,t.ownerDocument=e.ownerDocument,(t.ownerDocument.nodeMap[t.nodeId]=t).depth=e.depth+1),t.children.forEach(function(e){mn(e,t)})}function yn(e){for(;e
;){if(1===e.nodeType)return e;e=e.nextSibling}}function gn(e){for(;e;){if(1===e.nodeType)return e;e=e.previousSibling}}function _n(e,t,n,r){n<0&&(n=0);var o=t[n-1],i=t[n];return t.splice(n,0,e),r&&(o&&(o.nextSibling=e),e.previousSibling=o,(e.nextSibling=i)&&(i.previousSibling=e)),n}function bn(e,t,n,r){var o=t.indexOf(e);if(o<0)return-1;if(r){var i=t[o-1],a=t[o+1];i&&(i.nextSibling=a),a&&(a.previousSibling=i)}t.splice(o,1);var s=n;o<=n&&(s=n-1);var c=t[s-1],l=t[s];return t.splice(s,0,e),r&&(c&&(c.nextSibling=e),e.previousSibling=c,(e.nextSibling=l)&&(l.previousSibling=e)),o===s?-1:n}function wn(e,t,n){var r=t.indexOf(e);if(!(r<0)){if(n){var o=t[r-1],i=t[r+1];o&&(o.nextSibling=i),i&&(i.previousSibling=o)}t.splice(r,1)}}var kn,Sn=function(){this.nodeId=sn(),this.ref=this.nodeId,this.children=[],this.pureChildren=[],this.parentNode=null,this.nextSibling=null,this.previousSibling=null};Sn.prototype.destroy=function(){var e=pn(this.docId);e&&(delete this.docId,delete e.nodeMap[this.nodeI
d]),this.children.forEach(function(e){e.destroy()})};var On={};var Cn="div",xn=["click","longpress","touchstart","touchmove","touchend","panstart","panmove","panend","horizontalpan","verticalpan","swipe"];function En(e,t){pn(e).nodeMap[t.nodeId]=t}var $n=function(o){function e(e,t,n){void 0===e&&(e=Cn),o.call(this);var r=On[e];if(r&&!n)return new r(e,t,!0);t=t||{},this.nodeType=1,this.nodeId=sn(),this.ref=this.nodeId,this.type=e,this.attr=t.attr||{},this.style=t.style||{},this.classStyle=t.classStyle||{},this.event={},this.children=[],this.pureChildren=[]}return o&&(e.__proto__=o),((e.prototype=Object.create(o&&o.prototype)).constructor=e).prototype.appendChild=function(e){if(!e.parentNode||e.parentNode===this)if(e.parentNode){if(bn(e,this.children,this.children.length,!0),1===e.nodeType){var t=bn(e,this.pureChildren,this.pureChildren.length),n=dn(this.docId);if(n&&0<=t)return n.send("dom",{action:"moveElement"},[e.ref,this.ref,t])}}else if(mn(e,this),_n(e,this.children,this.childre
n.length,!0),this.docId&&En(this.docId,e),1===e.nodeType){_n(e,this.pureChildren,this.pureChildren.length);var r=dn(this.docId);if(r)return r.send("dom",{action:"addElement"},[this.ref,e.toJSON(),-1])}},e.prototype.insertBefore=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.nextSibling&&e.nextSibling===t))if(e.parentNode){if(bn(e,this.children,this.children.indexOf(t),!0),1===e.nodeType){var n=yn(t),r=bn(e,this.pureChildren,n?this.pureChildren.indexOf(n):this.pureChildren.length),o=dn(this.docId);if(o&&0<=r)return o.send("dom",{action:"moveElement"},[e.ref,this.ref,r])}}else if(mn(e,this),_n(e,this.children,this.children.indexOf(t),!0),this.docId&&En(this.docId,e),1===e.nodeType){var i=yn(t),a=_n(e,this.pureChildren,i?this.pureChildren.indexOf(i):this.pureChildren.length),s=dn(this.docId);if(s)return s.send("dom",{action:"addElement"},[this.ref,e.toJSON(),a])}},e.prototype.insertAfter=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.previousSibling&&e.p
reviousSibling===t))if(e.parentNode){if(bn(e,this.children,this.children.indexOf(t)+1,!0),1===e.nodeType){var n=bn(e,this.pureChildren,this.pureChildren.indexOf(gn(t))+1),r=dn(this.docId);if(r&&0<=n)return r.send("dom",{action:"moveElement"},[e.ref,this.ref,n])}}else if(mn(e,this),_n(e,this.children,this.children.indexOf(t)+1,!0),this.docId&&En(this.docId,e),1===e.nodeType){var o=_n(e,this.pureChildren,this.pureChildren.indexOf(gn(t))+1),i=dn(this.docId);if(i)return i.send("dom",{action:"addElement"},[this.ref,e.toJSON(),o])}},e.prototype.removeChild=function(e,t){if(e.parentNode&&(wn(e,this.children,!0),1===e.nodeType)){wn(e,this.pureChildren);var n=dn(this.docId);n&&n.send("dom",{action:"removeElement"},[e.ref])}t||e.destroy()},e.prototype.clear=function(){var t=dn(this.docId);t&&this.pureChildren.forEach(function(e){t.send("dom",{action:"removeElement"},[e.ref])}),this.children.forEach(function(e){e.destroy()}),this.children.length=0,this.pureChildren.length=0},e.prototype.setAtt
r=function(e,t,n){if(this.attr[e]!==t||!1===n){this.attr[e]=t;var r=dn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateAttrs"},[this.ref,o])}}},e.prototype.setAttrs=function(e,t){if(!un(e)){var n={};for(var r in e)this.attr[r]!==e[r]&&(this.attr[r]=e[r],n[r]=e[r]);if(!un(n)){var o=dn(this.docId);!t&&o&&o.send("dom",{action:"updateAttrs"},[this.ref,n])}}},e.prototype.setStyle=function(e,t,n){if(this.style[e]!==t||!1===n){this.style[e]=t;var r=dn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateStyle"},[this.ref,o])}}},e.prototype.setStyles=function(e,t){if(!un(e)){var n={};for(var r in e)this.style[r]!==e[r]&&(this.style[r]=e[r],n[r]=e[r]);if(!un(n)){var o=dn(this.docId);!t&&o&&o.send("dom",{action:"updateStyle"},[this.ref,n])}}},e.prototype.setClassStyle=function(e){for(var t in this.classStyle)this.classStyle[t]="";Object.assign(this.classStyle,e);var n=dn(this.docId);n&&n.send("dom",{action:"updateStyle"},[this.ref,this.toStyle()])},e.prototype.a
ddEvent=function(e,t,n){if(this.event||(this.event={}),!this.event[e]){this.event[e]={handler:t,params:n};var r=dn(this.docId);r&&r.send("dom",{action:"addEvent"},[this.ref,e])}},e.prototype.removeEvent=function(e){if(this.event&&this.event[e]){delete this.event[e];var t=dn(this.docId);t&&t.send("dom",{action:"removeEvent"},[this.ref,e])}},e.prototype.fireEvent=function(e,t,n,r){var o=null,i=!1,a=this.event[e];if(a&&t){var s=a.handler;t.stopPropagation=function(){i=!0},o=r&&r.params?s.call.apply(s,[this].concat(r.params,[t])):s.call(this,t)}return!i&&n&&-1!==xn.indexOf(e)&&this.parentNode&&this.parentNode.fireEvent&&(t.currentTarget=this.parentNode,this.parentNode.fireEvent(e,t,n)),o},e.prototype.toStyle=function(){return Object.assign({},this.classStyle,this.style)},e.prototype.toJSON=function(){var e={ref:this.ref.toString(),type:this.type,attr:this.attr,style:this.toStyle()},t=[];for(var n in this.event){var r=this.event[n].params;r?t.push({type:n,params:r}):t.push(n)}return t.le
ngth&&(e.event=t),this.pureChildren.length&&(e.children=this.pureChildren.map(function(e){return e.toJSON()})),e},e.prototype.toString=function(){return"<"+this.type+" attr="+JSON.stringify(this.attr)+" style="+JSON.stringify(this.toStyle())+">"+this.pureChildren.map(function(e){return e.toString()}).join("")+"</"+this.type+">"},e}(Sn);kn=$n;var An=function(){},jn=function(e,t){Object.defineProperty(this,"instanceId",{enumerable:!0,value:String(e)}),Object.defineProperty(this,"callbackManager",{enumerable:!0,value:new on(e)}),An=t||function(){}};function In(e,t){var n=pn(e);return n?Array.isArray(t)?t.map(function(e){switch(e.method){case"callback":return function(e,t,n,r){return e.taskCenter.callback(t,n,r)}.apply(void 0,[n].concat(e.args));case"fireEventSync":case"fireEvent":return function(e,t,n,r,o,i){var a=e.getRef(t);return a?e.fireEvent(a,n,r,o,i):new Error('invalid element reference "'+t+'"')}.apply(void 0,[n].concat(e.args));case"componentHook":return function(e,t,n,r,o){if
(!e||!e.taskCenter)return console.error('[JS Framework] Can\'t find "document" or "taskCenter".'),null;var i=null;try{i=e.taskCenter.triggerHook(t,n,r,o)}catch(e){console.error('[JS Framework] Failed to trigger the "'+n+"@"+r+'" hook on '+t+".")}return i}.apply(void 0,[n].concat(e.args))}}):void 0:new Error("[JS Framework] Failed to receiveTasks, instance ("+e+") is not available.")}jn.prototype.callback=function(e,t,n){return this.callbackManager.consume(e,t,n)},jn.prototype.registerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).registerHook.apply(e,t)},jn.prototype.triggerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).triggerHook.apply(e,t)},jn.prototype.updateData=function(e,t,n){this.send("module",{module:"dom",method:"updateComponentData"},[e,t,n])},jn.prototype.destroyCallback=function(){return this.callbackManager.close()},jn.prototype.normalize=function(e,t){var
n=this;void 0===t&&(t=!1);var r=cn(e);if(e&&e instanceof $n)return e.ref;if(e&&e._isVue&&e.$el instanceof $n)return e.$el.ref;if("Function"===r)return this.callbackManager.add(e).toString();if(t){if("Object"===r){var o={};for(var i in e)o[i]=n.normalize(e[i],!0);return o}if("Array"===r)return e.map(function(e){return n.normalize(e,!0)})}return function(e){var t=cn(e);switch(t){case"Undefined":case"Null":return"";case"RegExp":return e.toString();case"Date":return e.toISOString();case"Number":case"String":case"Boolean":case"Array":case"Object":return e;case"ArrayBuffer":return{"@type":"binary",dataType:t,base64:ln(e)};case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":return{"@type":"binary",dataType:t,base64:ln(e.buffer)};default:return JSON.stringify(e)}}(e)},jn.prototype.send=function(e,t,n,r){var o=this,i=t.action,a=t.component,s=t.ref,c=t.module,l=t.method;switch(n=n.
map(function(e){return o.normalize(e)}),"Object"===cn(r)&&(r=this.normalize(r,!0)),e){case"dom":return this[i](this.instanceId,n);case"component":return this.componentHandler(this.instanceId,s,l,n,Object.assign({component:a},r));default:return this.moduleHandler(this.instanceId,c,l,n,r)}},jn.prototype.callDOM=function(e,t){return this[e](this.instanceId,t)},jn.prototype.callComponent=function(e,t,n,r){return this.componentHandler(this.instanceId,e,t,n,r)},jn.prototype.callModule=function(e,t,n,r){return this.moduleHandler(this.instanceId,e,t,n,r)};var Mn={};function Tn(e){var t=function(t){Mn[t]||(Mn[t]={}),e[t].forEach(function(e){"string"==typeof e?Mn[t][e]=!0:Mn[t][e.name]=e.args})};for(var n in e)t(n)}function Fn(e,t){return"string"==typeof t?!(!Mn[e]||!Mn[e][t]):!!Mn[e]}var Pn={};function Nn(e){Array.isArray(e)&&e.forEach(function(e){e&&("string"==typeof e?Pn[e]=!0:"object"==typeof e&&"string"==typeof e.type&&function(o,e){if(e&&e.length){var t=function(e){function t(){e.apply(
this,arguments)}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t}(kn);e.forEach(function(r){t.prototype[r]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=dn(this.docId);if(n)return n.send("component",{ref:this.ref,component:o,method:r},e)}}),On[o]=t}}((Pn[e.type]=e).type,e.methods))})}function Rn(e){return!!Pn[e]}var Dn=[];function Vn(e,t){Ln(e)?console.warn('Service "'+e+'" has been registered already!'):(t=Object.assign({},t),Dn.push({name:e,options:t}))}function Jn(n){Dn.some(function(e,t){if(e.name===n)return Dn.splice(t,1),!0})}function Ln(e){return t=e,0<=Dn.map(function(e){return e.name}).indexOf(t);var t}var Wn=function(t){function e(e){t.call(this),this.nodeType=8,this.nodeId=sn(),this.ref=this.nodeId,this.type="comment",this.value=e,this.children=[],this.pureChildren=[]}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.toString=function(){return"\x3c!-- "+this.value+"
--\x3e"},e}(Sn);function qn(e,t){return void 0===t&&(t=[]),{module:"dom",method:e,args:t}}var Un=function(e,t){this.id=e,this.batched=!1,this.updates=[],"function"==typeof t?Object.defineProperty(this,"handler",{configurable:!0,enumerable:!0,writable:!0,value:t}):console.error("[JS Runtime] invalid parameter, handler must be a function")};Un.prototype.createFinish=function(e){return(0,this.handler)([qn("createFinish")],e)},Un.prototype.updateFinish=function(e){return(0,this.handler)([qn("updateFinish")],e)},Un.prototype.refreshFinish=function(e){return(0,this.handler)([qn("refreshFinish")],e)},Un.prototype.createBody=function(e){var t=e.toJSON(),n=t.children;delete t.children;var r=[qn("createBody",[t])];return n&&r.push.apply(r,n.map(function(e){return qn("addElement",[t.ref,e,-1])})),this.addActions(r)},Un.prototype.addElement=function(e,t,n){return 0<=n||(n=-1),this.addActions(qn("addElement",[t,e.toJSON(),n]))},Un.prototype.removeElement=function(e){if(Array.isArray(e)){var t=e.
map(function(e){return qn("removeElement",[e])});return this.addActions(t)}return this.addActions(qn("removeElement",[e]))},Un.prototype.moveElement=function(e,t,n){return this.addActions(qn("moveElement",[e,t,n]))},Un.prototype.setAttr=function(e,t,n){var r={};return r[t]=n,this.addActions(qn("updateAttrs",[e,r]))},Un.prototype.setStyle=function(e,t,n){var r={};return r[t]=n,this.addActions(qn("updateStyle",[e,r]))},Un.prototype.setStyles=function(e,t){return this.addActions(qn("updateStyle",[e,t]))},Un.prototype.addEvent=function(e,t){return this.addActions(qn("addEvent",[e,t]))},Un.prototype.removeEvent=function(e,t){return this.addActions(qn("removeEvent",[e,t]))},Un.prototype.handler=function(e,t){return t&&t()},Un.prototype.addActions=function(e){var t=this.updates,n=this.handler;if(Array.isArray(e)||(e=[e]),!this.batched)return n(e);t.push.apply(t,e)};var Bn={createBody:"callCreateBody",addElement:"callAddElement",removeElement:"callRemoveElement",moveElement:"callMoveElement
",updateAttrs:"callUpdateAttrs",updateStyle:"callUpdateStyle",addEvent:"callAddEvent",removeEvent:"callRemoveEvent"};function zn(e,t,n){var r,o=t.module,i=t.method,a=t.args;return r=i,"dom"===o&&Bn[r]&&"function"==typeof global[Bn[r]]?global[Bn[i]].apply(global,[e].concat(a,["-1"])):n(e,[t],"-1")}var Hn=function e(t,n,r){var o,i;t=t?t.toString():"",this.id=t,this.URL=n,i=this,(o=t)&&(fn[o]=i),this.nodeMap={};var a,s,c=e.Listener||Un;this.listener=new c(t,r||(a=t,"function"!=typeof(s=e.handler||global.callNative)&&console.error("[JS Runtime] no default handler"),function(e){Array.isArray(e)||(e=[e]);for(var t=0;t<e.length;t++){var n=zn(a,e[t],s);if(-1===n)return n}})),this.taskCenter=new jn(t,r?function(e){for(var t=[],n=arguments.length-1;0<n--;)t[n]=arguments[n+1];return r.apply(void 0,t)}:e.handler),this.createDocumentElement()};Hn.prototype.getRef=function(e){return this.nodeMap[e]},Hn.prototype.open=function(){this.listener.batched=!1},Hn.prototype.close=function(){this.listener
.batched=!0},Hn.prototype.createDocumentElement=function(){var n=this;if(!this.documentElement){var e=new $n("document");e.docId=this.id,e.ownerDocument=this,e.role="documentElement",e.depth=0,e.ref="_documentElement",this.nodeMap._documentElement=e,this.documentElement=e,Object.defineProperty(e,"appendChild",{configurable:!0,enumerable:!0,writable:!0,value:function(e){hn(n,e)}}),Object.defineProperty(e,"insertBefore",{configurable:!0,enumerable:!0,writable:!0,value:function(e,t){hn(n,e,t)}})}return this.documentElement},Hn.prototype.createBody=function(e,t){this.body||vn(this,new $n(e,t));return this.body},Hn.prototype.createElement=function(e,t){return new $n(e,t)},Hn.prototype.createComment=function(e){return new Wn(e)},Hn.prototype.fireEvent=function(e,t,n,r,o){if(e){(n=n||{}).type=n.type||t,n.target=e,n.currentTarget=e,n.timestamp=Date.now(),r&&function(e,t){var n=t.attrs||{};for(var r in n)e.setAttr(r,n[r],!0);var o=t.style||{};for(var i in o)e.setStyle(i,o[i],!0)}(e,r);var i=
"true"===this.getRef("_root").attr.bubble;return e.fireEvent(t,n,i,o)}},Hn.prototype.destroy=function(){var e;this.taskCenter.destroyCallback(),delete this.listener,delete this.nodeMap,delete this.taskCenter,e=this.id,delete fn[e]},Hn.handler=null;var Xn={};function Gn(e){return e["[[CurrentInstanceId]]"]}var Kn,Zn,Yn=function(e,t){var n,r;n=this,r=String(e),Object.defineProperty(n,"[[CurrentInstanceId]]",{value:r}),this.config=t||{},this.document=new Hn(e,this.config.bundleUrl),this.requireModule=this.requireModule.bind(this),this.importScript=this.importScript.bind(this),this.isRegisteredModule=Fn,this.isRegisteredComponent=Rn};Yn.prototype.requireModule=function(s){var c=Gn(this);if(c&&this.document&&this.document.taskCenter){if(Fn(s)){var e=s+"#"+c;if(!Xn[e]){var t=Mn[s],n={},r=function(a){Object.defineProperty(n,a,{enumerable:!0,configurable:!0,get:function(){return n=s,r=a,(o=dn(e=c))&&"function"==typeof o.send?function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];
return o.send("module",{module:n,method:r},e)}:(console.error("[JS Framework] Failed to find taskCenter ("+e+")."),null);var e,n,r,o},set:function(e){return n=s,r=a,o=e,(i=dn(t=c))&&"function"==typeof i.send?"function"!=typeof o?(console.error("[JS Framework] "+n+"."+r+" must be assigned as a function."),null):function(e){return i.send("module",{module:n,method:r},[e])}:(console.error("[JS Framework] Failed to find taskCenter ("+t+")."),null);var t,n,r,o,i}})};for(var o in t)r(o);Xn[e]=n}return Xn[e]}console.warn('[JS Framework] using unregistered weex module "'+s+'"')}else console.error('[JS Framework] Failed to requireModule("'+s+'"), instance ('+c+") doesn't exist anymore.")},Yn.prototype.supports=function(e){if("string"!=typeof e)return null;var t=e.match(/^@(\w+)\/(\w+)(\.(\w+))?$/i);if(t){var n=t[1],r=t[2],o=t[4];switch(n){case"module":return Fn(r,o);case"component":return Rn(r)}}return null},Yn.prototype.importScript=function(e,r){void 0===r&&(r={});var o=Gn(this),i=dn(o);ret
urn new Promise(function(t,n){i&&"function"==typeof i.send||n(new Error('[JS Framework] Failed to import script "'+e+'", no taskCenter ('+o+") matched."));try{i.send("module",{module:"script",method:"importScript"},[e,r],{callback:[function(e){return t(e)},function(e){return n(e)}]})}catch(e){n(e)}})};var Qn=/^\s*\/\/ *(\{[^}]*\}) *\r?\n/;function er(){return"0.26.11"}var tr={};function nr(e){return tr[e]}function rr(e,t,n){void 0===t&&(t={});var r=new Yn(e,t),o=t.bundleType||"Vue";tr[e]=o;var i=Zn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');!function(e,t,n){var r=dn(e);if(r&&"function"==typeof r.send)if(t&&n){var o="jsfm."+t+"."+n;try{if(Fn("userTrack","addPerfPoint")){var i=Object.create(null);i[o]="4",r.send("module",{module:"userTrack",method:"addPerfPoint"},[i])}}catch(e){console.error('[JS Framework] Failed to trace "'+o+'"!')}}else console.warn("[JS Framework] Invalid track type ("+t+") or value ("+n+")");else console.error("[JS Framewo
rk] Failed to create tracker!")}(e,"bundleType",o);var a,s,c,l,u=(a=e,s={weex:r,config:t,created:Date.now(),framework:o,bundleType:o},c=Zn,(l=Object.create(null)).service=Object.create(null),Dn.forEach(function(e){var t=e.name,n=e.options.create;if(n)try{var r=n(a,s,c);Object.assign(l.service,r),Object.assign(l,r.instance)}catch(e){console.error("[JS Runtime] Failed to create service "+t+".")}}),delete l.service.instance,Object.freeze(l.service),l);Object.freeze(u);var f=Object.create(null);Object.assign(f,u,{weex:r,getJSFMVersion:er,__WEEX_CALL_JAVASCRIPT__:In,services:u}),Object.freeze(f);var p=Object.assign({},f);return"function"==typeof i.createInstanceContext&&Object.assign(p,i.createInstanceContext(e,f,n)),Object.freeze(p),p}var or={createInstance:function(e,t,n,r){if(tr[e])return new Error('The instance id "'+e+'" has already been used!');var o=function(e){var t=Qn.exec(e);if(t)try{return JSON.parse(t[1]).framework}catch(e){}return"Weex"}(t);tr[e]=o,(n=JSON.parse(JSON.stringi
fy(n||{}))).env=JSON.parse(JSON.stringify(global.WXEnvironment||{})),n.bundleType=o;var i=Zn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');"Weex"===o&&console.error('[JS Framework] COMPATIBILITY WARNING: Weex DSL 1.0 (.we) framework is no longer supported! It will be removed in the next version of WeexSDK, your page would be crash if you still using the ".we" framework. Please upgrade it to Vue.js or Rax.');var a=rr(e,n,r);if("function"==typeof i.createInstance){if("Rax"===o||"Weex"===o){var s=Object.assign({config:n,created:Date.now(),framework:o},a);return i.createInstance(e,t,n,r,s)}return i.createInstance(e,t,n,r,a)}!function(e,t){var n=[],r=[];for(var o in t)n.push(o),r.push(t[o]);var i="\n (function (global) {\n "+e+"\n })(Object.create(this))\n ";(new(Function.prototype.bind.apply(Function,[null].concat(n,[i])))).apply(void 0,r)}(t,a)},createInstanceContext:rr,getRoot:function(e){var t=pn(e);try{if(t&&t.body)return t.body.toJS
ON()}catch(e){return void console.error("[JS Framework] Failed to get the virtual dom tree.")}},getJSFMVersion:er,getDocument:pn,registerService:Vn,unregisterService:Jn,callJS:function(e,t){var n=Kn[nr(e)];return n&&"function"==typeof n.receiveTasks?n.receiveTasks(e,t):In(e,t)}};function ir(s){or[s]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n,r=e[0],o=nr(r);if(o&&Kn[o]){var i=(n=Kn[o])[s].apply(n,e),a={framework:o};return"refreshInstance"===s?Dn.forEach(function(e){var t=e.options.refresh;t&&t(r,{info:a,runtime:Zn})}):"destroyInstance"===s&&(Dn.forEach(function(e){var t=e.options.destroy;t&&t(r,{info:a,runtime:Zn})}),delete tr[r]),i}return new Error('[JS Framework] Using invalid instance id "'+r+'" when calling '+s+".")}}function ar(o,i){or[o]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n in"function"==typeof i&&i.apply(void 0,e),Zn.frameworks){var r=Zn.frameworks[n];r&&r[o]&&r[o].apply(r,e)}}}var sr={Document:Hn,Element:$n,C
omment:Wn,Listener:Un,TaskCenter:jn,sendTasks:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return"function"==typeof callNative?callNative.apply(void 0,e):(global.callNative||function(){}).apply(void 0,e)}};Hn.handler=sr.sendTasks;var cr={service:{register:Vn,unregister:Jn,has:Ln},freezePrototype:function(){Object.freeze(sr.Comment),Object.freeze(sr.Listener),Object.freeze(sr.Document.prototype),Object.freeze(sr.Comment.prototype),Object.freeze(sr.Listener.prototype)},init:function(e){for(var t in Kn=(Zn=e||{}).frameworks||{},function(){var e={createFinish:global.callCreateFinish,updateFinish:global.callUpdateFinish,refreshFinish:global.callRefreshFinish,createBody:global.callCreateBody,addElement:global.callAddElement,removeElement:global.callRemoveElement,moveElement:global.callMoveElement,updateAttrs:global.callUpdateAttrs,updateStyle:global.callUpdateStyle,addEvent:global.callAddEvent,removeEvent:global.callRemoveEvent},t=jn.prototype,n=function(n){var r=e[n]
;t[n]=r?function(e,t){return r.apply(void 0,[e].concat(t))}:function(e,t){return An(e,[{module:"dom",method:n,args:t}],"-1")}};for(var r in e)n(r);t.componentHandler=global.callNativeComponent||function(e,t,n,r,o){return An(e,[{component:o.component,ref:t,method:n,args:r}])},t.moduleHandler=global.callNativeModule||function(e,t,n,r){return An(e,[{module:t,method:n,args:r}])}}(),Kn){var n=Kn[t];if("function"==typeof n.init)try{n.init(e)}catch(e){}}return ar("registerComponents",Nn),ar("registerModules",Tn),ar("registerMethods"),["destroyInstance","refreshInstance"].forEach(ir),or},config:sr};function lr(e,t){void 0===t&&(t={}),this.type=e||"message",this.data=t.data||null,this.origin=t.origin||"",this.source=t.source||null,this.ports=t.ports||[],this.target=null,this.timeStamp=Date.now()}var ur={},fr={};function pr(){}pr.prototype.postMessage=function(e){if(this._closed)throw new Error('BroadcastChannel "'+this.name+'" is closed.');var t=ur[this.name];if(t&&t.length)for(var n=0;n<t.l
ength;++n){var r=t[n];r._closed||r===this||"function"==typeof r.onmessage&&r.onmessage(new lr("message",{data:e}))}},pr.prototype.close=function(){var t=this;if(!this._closed&&(this._closed=!0,ur[this.name])){var e=ur[this.name].filter(function(e){return e!==t});e.length?ur[this.name]=e:delete ur[this.name]}};var dr={BroadcastChannel:{create:function(t,e,n){if(fr[t]=[],"function"==typeof global.BroadcastChannel)return{};var r={BroadcastChannel:function(e){Object.defineProperty(this,"name",{configurable:!1,enumerable:!0,writable:!1,value:String(e)}),this._closed=!1,this.onmessage=null,ur[this.name]||(ur[this.name]=[]),ur[this.name].push(this),fr[t].push(this)}};return r.BroadcastChannel.prototype=pr.prototype,{instance:r}},destroy:function(e,t){fr[e].forEach(function(e){return e.close()}),delete fr[e]}}};var hr={},vr={};var mr=Object.freeze({init:function(e){hr.Document=e.Document,hr.Element=e.Element,hr.Comment=e.Comment,hr.sendTasks=e.sendTasks},createInstance:function(t,e,n,r,o){v
oid 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new hr.Document(t,n.bundleUrl),a={},s={id:t,data:r,document:i,callbacks:a},c=0;i.addCallback=function(e){return a[++c]=e,c},i.handleCallback=function(e,t,n){var r=a[e];return n&&delete a[e],r(t)},vr[t]=s;var l=Object.assign({Document:hr.Document,Element:hr.Element,Comment:hr.Comment,sendTasks:function(e){return hr.sendTasks(t,e,-1)},options:n,document:i},o),u=[],f=[];for(var p in l)u.push(p),f.push(l[p]);return u.push(e),(new(Function.prototype.bind.apply(Function,[null].concat(u)))).apply(void 0,f),hr.sendTasks(t,[{module:"dom",method:"createFinish",args:[]}],-1),s},destroyInstance:function(e){delete vr[e]},getRoot:function(e){return vr[e].document.body.toJSON()},receiveTasks:function(r,e){var o={fireEvent:function(e,t,n,r,o){var i=vr[e].document,a=i.getRef(t);return i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return vr[e].document.handleCallback(t,n,r)}};if((vr[r]||{}).document&&Array.isArray(e)){var i=[];return e.
forEach(function(e){var t=o[e.method],n=[].concat(e.args);"function"==typeof t&&(n.unshift(r),i.push(t.apply(void 0,n)))}),i}}}),yr=n(function(e){e.exports=function(e,o){var _=Object.freeze({});function j(e){return null==e}function I(e){return null!=e}function M(e){return!0===e}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function b(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString;function u(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function n(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}s("slot,component",!0);var c=s("key,ref,slot,slot-scope,is");function l(e,t){if(e.length){var n=
e.indexOf(t);if(-1<n)return e.splice(n,1)}}var a=Object.prototype.hasOwnProperty;function f(e,t){return a.call(e,t)}function p(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var d=/-(\w)/g,h=p(function(e){return e.replace(d,function(e,t){return t?t.toUpperCase():""})}),v=p(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),m=/\B([A-Z])/g,w=p(function(e){return e.replace(m,"-$1").toLowerCase()});function y(n,r){function e(e){var t=arguments.length;return t?1<t?n.apply(r,arguments):n.call(r,e):n.call(r)}return e._length=n.length,e}function g(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function N(e,t){for(var n in t)e[n]=t[n];return e}function R(e,t,n){}var k=function(e,t,n){return!1},S=function(e){return e};function O(t,n){if(t===n)return!0;var e=b(t),r=b(n);if(!e||!r)return!e&&!r&&String(t)===String(n);try{var o=Array.isArray(t),i=Array.isArray(n);if(o&&i)return t.length===n.length&&t.every(function(e,t){return O(e,n[t])
});if(o||i)return!1;var a=Object.keys(t),s=Object.keys(n);return a.length===s.length&&a.every(function(e){return O(t[e],n[e])})}catch(e){return!1}}function C(e,t){for(var n=0;n<e.length;n++)if(O(e[n],t))return n;return-1}function D(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var F="data-server-rendered",x=["component","directive","filter"],E=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],$={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:k,isReservedAttr:k,isUnknownElement:k,getTagNamespace:R,parsePlatformTagName:S,mustUseProp:k,_lifecycleHooks:E};function A(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var P=/[^\w.$]/;var V,J="__proto__"in{},L="undefined"!=typeof window,W="undefi
ned"!=typeof WXEnvironment&&!!WXEnvironment.platform,q=W&&WXEnvironment.platform.toLowerCase(),U=L&&window.navigator.userAgent.toLowerCase(),B=(U&&/msie|trident/.test(U),U&&0<U.indexOf("msie 9.0")),z=U&&0<U.indexOf("edge/"),H=(U&&U.indexOf("android"),U&&/iphone|ipad|ipod|ios/.test(U)||"ios"===q),X=(U&&/chrome\/\d+/.test(U),{}.watch);if(L)try{var G={};Object.defineProperty(G,"passive",{get:function(){}}),window.addEventListener("test-passive",null,G)}catch(e){}var K=function(){return void 0===V&&(V=!L&&!W&&void 0!==global&&"server"===global.process.env.VUE_ENV),V},Z=L&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Y(e){return"function"==typeof e&&/native code/.test(e.toString())}var Q,ee="undefined"!=typeof Symbol&&Y(Symbol)&&"undefined"!=typeof Reflect&&Y(Reflect.ownKeys);Q="undefined"!=typeof Set&&Y(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=fun
ction(){this.set=Object.create(null)},e}();var te=R,ne=0,re=function(){this.id=ne++,this.subs=[]};re.prototype.addSub=function(e){this.subs.push(e)},re.prototype.removeSub=function(e){l(this.subs,e)},re.prototype.depend=function(){re.target&&re.target.addDep(this)},re.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},re.target=null;var oe=[];var ie=function(e,t,n,r,o,i,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ae={child:{configurable:!0}};ae.child.get=function(){return this.componentInstance},Object.defineProperties(ie.prototype,ae);var se=function(e){void 0===e&&(
e="");var t=new ie;return t.text=e,t.isComment=!0,t};function ce(e){return new ie(void 0,void 0,void 0,String(e))}var le=Array.prototype,ue=Object.create(le);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(a){var s=le[a];A(ue,a,function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r,o=s.apply(this,t),i=this.__ob__;switch(a){case"push":case"unshift":r=t;break;case"splice":r=t.slice(2)}return r&&i.observeArray(r),i.dep.notify(),o})});var fe=Object.getOwnPropertyNames(ue),pe={shouldConvert:!0},de=function(e){(this.value=e,this.dep=new re,this.vmCount=0,A(e,"__ob__",this),Array.isArray(e))?((J?he:ve)(e,ue,fe),this.observeArray(e)):this.walk(e)};function he(e,t,n){e.__proto__=t}function ve(e,t,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];A(e,i,t[i])}}function me(e,t){var n;if(b(e)&&!(e instanceof ie))return f(e,"__ob__")&&e.__ob__ instanceof de?n=e.__ob__:pe.shouldConvert&&!K()&&(Array.isArray(e)||u(e))&&Object.isExtensible(e)&&!e._isVue&&
(n=new de(e)),t&&n&&n.vmCount++,n}function ye(n,e,r,t,o){var i=new re,a=Object.getOwnPropertyDescriptor(n,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set,l=!o&&me(r);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(n):r;return re.target&&(i.depend(),l&&(l.dep.depend(),Array.isArray(e)&&function e(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(e))),e},set:function(e){var t=s?s.call(n):r;e===t||e!=e&&t!=t||(c?c.call(n,e):r=e,l=!o&&me(e),i.notify())}})}}function ge(e,t,n){if(Array.isArray(e)&&i(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(ye(r.value,t,n),r.dep.notify(),n):e[t]=n}function _e(e,t){if(Array.isArray(e)&&i(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||f(e,t)&&(delete e[t],n&&n.dep.notify())}}de.prototype.walk=function(e){for(var t=Object.key
s(e),n=0;n<t.length;n++)ye(e,t[n],e[t[n]])},de.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)me(e[t])};var be=$.optionMergeStrategies;function we(e,t){if(!t)return e;for(var n,r,o,i=Object.keys(t),a=0;a<i.length;a++)r=e[n=i[a]],o=t[n],f(e,n)?u(r)&&u(o)&&we(r,o):ge(e,n,o);return e}function ke(n,r,o){return o?function(){var e="function"==typeof r?r.call(o,o):r,t="function"==typeof n?n.call(o,o):n;return e?we(e,t):t}:r?n?function(){return we("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Se(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Oe(e,t,n,r){var o=Object.create(e||null);return t?N(o,t):o}be.data=function(e,t,n){return n?ke(e,t,n):t&&"function"!=typeof t?e:ke(e,t)},E.forEach(function(e){be[e]=Se}),x.forEach(function(e){be[e+"s"]=Oe}),be.watch=function(e,t,n,r){if(e===X&&(e=void 0),t===X&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var o={};for(var i in N(o,e),t){var a=o[i],s=t[i];a
&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},be.props=be.methods=be.inject=be.computed=function(e,t,n,r){if(!e)return t;var o=Object.create(null);return N(o,e),t&&N(o,t),o},be.provide=ke;var Ce=function(e,t){return void 0===t?e:t};function xe(n,r,o){"function"==typeof r&&(r=r.options),function(e,t){var n=e.props;if(n){var r,o,i={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(o=n[r])&&(i[h(o)]={type:null});else if(u(n))for(var a in n)o=n[a],i[h(a)]=u(o)?o:{type:o};e.props=i}}(r),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(u(n))for(var i in n){var a=n[i];r[i]=u(a)?N({from:i},a):{from:a}}}}(r),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(r);var e=r.extends;if(e&&(n=xe(n,e,o)),r.mixins)for(var t=0,i=r.mixins.length;t<i;t++)n=xe(n,r.mixins[t],o);var a,s={};for(a in n)c(a);for(a in r)f(n,a)||c
(a);function c(e){var t=be[e]||Ce;s[e]=t(n[e],r[e],o,e)}return s}function Ee(e,t,n,r){if("string"==typeof n){var o=e[t];if(f(o,n))return o[n];var i=h(n);if(f(o,i))return o[i];var a=v(i);return f(o,a)?o[a]:o[n]||o[i]||o[a]}}function $e(e,t,n,r){var o=t[e],i=!f(n,e),a=n[e];if(je(Boolean,o.type)&&(i&&!f(o,"default")?a=!1:je(String,o.type)||""!==a&&a!==w(e)||(a=!0)),void 0===a){a=function(e,t,n){if(!f(t,"default"))return;var r=t.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Ae(t.type)?r.call(e):r}(r,o,e);var s=pe.shouldConvert;pe.shouldConvert=!0,me(a),pe.shouldConvert=s}return a}function Ae(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function je(e,t){if(!Array.isArray(t))return Ae(t)===Ae(e);for(var n=0,r=t.length;n<r;n++)if(Ae(t[n])===Ae(e))return!0;return!1}function Ie(e,t,n){if(t)for(var r=t;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i
<o.length;i++)try{if(!1===o[i].call(r,e,t,n))return}catch(e){Me(e,r,"errorCaptured hook")}}Me(e,t,n)}function Me(e,t,n){if($.errorHandler)try{return $.errorHandler.call(null,e,t,n)}catch(e){Te(e,null,"config.errorHandler")}Te(e,t,n)}function Te(e,t,n){if(!L&&!W||"undefined"==typeof console)throw e;console.error(e)}var Fe,Pe,Ne=[],Re=!1;function De(){Re=!1;for(var e=Ne.slice(0),t=Ne.length=0;t<e.length;t++)e[t]()}var Ve=!1;if("undefined"!=typeof setImmediate&&Y(setImmediate))Pe=function(){setImmediate(De)};else if("undefined"==typeof MessageChannel||!Y(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Pe=function(){setTimeout(De,0)};else{var Je=new MessageChannel,Le=Je.port2;Je.port1.onmessage=De,Pe=function(){Le.postMessage(1)}}if("undefined"!=typeof Promise&&Y(Promise)){var We=Promise.resolve();Fe=function(){We.then(De),H&&setTimeout(R)}}else Fe=Pe;function qe(e,t){var n;if(Ne.push(function(){if(e)try{e.call(t)}catch(e){Ie(e,t,"nextTick")}else n&&n(t
)}),Re||(Re=!0,Ve?Pe():Fe()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Ue=new Q;function Be(e){!function e(t,n){var r,o;var i=Array.isArray(t);if(!i&&!b(t)||Object.isFrozen(t))return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(r=t.length;r--;)e(t[r],n);else for(o=Object.keys(t),r=o.length;r--;)e(t[o[r]],n)}(e,Ue),Ue.clear()}var ze,He=p(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function Xe(e){function o(){var e=arguments,t=o.fns;if(!Array.isArray(t))return t.apply(null,arguments);for(var n=t.slice(),r=0;r<n.length;r++)n[r].apply(null,e)}return o.fns=e,o}function Ge(e,t,n,r,o){var i,a,s,c,l;for(i in e)a=s=e[i],c=t[i],l=He(i),u(a)&&(s=a.handler,l.params=a.params),j(s)||(j(c)?(j(s.fns)&&(s=e[i]=Xe(s)),n(l.name,s,l.once,l.capture,l.passive,l.params)):s!==c&&(c.fns=s,e[i]=c));for(i in t)j(e[i])&&r((l=He(i)
).name,t[i],l.capture)}function Ke(e,t,n){var r;e instanceof ie&&(e=e.data.hook||(e.data.hook={}));var o=e[t];function i(){n.apply(this,arguments),l(r.fns,i)}j(o)?r=Xe([i]):I(o.fns)&&M(o.merged)?(r=o).fns.push(i):r=Xe([o,i]),r.merged=!0,e[t]=r}function Ze(e,t,n,r,o){if(I(t)){if(f(t,n))return e[n]=t[n],o||delete t[n],!0;if(f(t,r))return e[n]=t[r],o||delete t[r],!0}return!1}function Ye(e){return T(e)?[ce(e)]:Array.isArray(e)?function e(t,n){var r=[];var o,i,a,s;for(o=0;o<t.length;o++)j(i=t[o])||"boolean"==typeof i||(a=r.length-1,s=r[a],Array.isArray(i)?0<i.length&&(Qe((i=e(i,(n||"")+"_"+o))[0])&&Qe(s)&&(r[a]=ce(s.text+i[0].text),i.shift()),r.push.apply(r,i)):T(i)?Qe(s)?r[a]=ce(s.text+i):""!==i&&r.push(ce(i)):Qe(i)&&Qe(s)?r[a]=ce(s.text+i.text):(M(t._isVList)&&I(i.tag)&&j(i.key)&&I(n)&&(i.key="__vlist"+n+"_"+o+"__"),r.push(i)));return r}(e):void 0}function Qe(e){return I(e)&&I(e.text)&&!1===e.isComment}function et(e,t){return(e.__esModule||ee&&"Module"===e[Symbol.toStringTag])&&(e=e.de
fault),b(e)?t.extend(e):e}function tt(e){return e.isComment&&e.asyncFactory}function nt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(I(n)&&(I(n.componentOptions)||tt(n)))return n}}function rt(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&at(e,t)}function ot(e,t,n){n?ze.$once(e,t):ze.$on(e,t)}function it(e,t){ze.$off(e,t)}function at(e,t,n){ze=e,Ge(t,n||{},ot,it),ze=void 0}function st(e,t){var n={};if(!e)return n;for(var r=0,o=e.length;r<o;r++){var i=e[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==t&&i.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var l in n)n[l].every(ct)&&delete n[l];return n}function ct(e){return e.isComment&&!e.asyncFactory||" "===e.text}function lt(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?lt(e[n],t):t[e[n].key]=e[n].fn;return t}var ut
=null;function ft(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}function pt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function dt(e,t){if(t){if(e._directInactive=!1,pt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)dt(e.$children[n]);ht(e,"activated")}}function ht(t,n){var e=t.$options[n];if(e)for(var r=0,o=e.length;r<o;r++)try{e[r].call(t)}catch(e){Ie(e,t,n+" hook")}t._hasHookEvent&&t.$emit("hook:"+n)}var vt=[],mt=[],yt={},gt=!1,_t=!1,bt=0;function wt(){var e,t;for(_t=!0,vt.sort(function(e,t){return e.id-t.id}),bt=0;bt<vt.length;bt++)t=(e=vt[bt]).id,yt[t]=null,e.run();var n=mt.slice(),r=vt.slice();bt=vt.length=mt.length=0,yt={},gt=_t=!1,function
(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,dt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&ht(r,"updated")}}(r),Z&&$.devtools&&Z.emit("flush")}var kt=0,St=function(e,t,n,r,o){this.vm=e,o&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++kt,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Q,this.newDepIds=new Q,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!P.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};St.prototype.get=function(){var e,t;e=this,re.target&&oe.push(re.target),re.target=e;var n=this.vm;try{t=this.getter.call(n,n)}catch(e){if(!this.user)throw e;Ie(e,n,'getter for wa
tcher "'+this.expression+'"')}finally{this.deep&&Be(t),re.target=oe.pop(),this.cleanupDeps()}return t},St.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},St.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},St.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==yt[t]){if(yt[t]=!0,_t){for(var n=vt.length-1;bt<n&&vt[n].id>e.id;)n--;vt.splice(n+1,0,e)}else vt.push(e);gt||(gt=!0,qe(wt))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||b(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Ie(e,this.vm,'callback for watcher "'
+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Ot={enumerable:!0,configurable:!0,get:R,set:R};function Ct(e,t,n){Ot.get=function(){return this[t][n]},Ot.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Ot)}function xt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var o=n.$options.propsData||{},i=n._props={},a=n.$options._propKeys=[],e=!n.$parent;pe.shouldConvert=e;var t=function(e){a.push(e);var t=$e(e,r,o,n);ye(i,e,t),e in n||Ct(n,"_props",e)};for(var s in r)t(s);pe.shouldConvert=!0}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?R:y(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$o
ptions.data;u(t=e._data="function"==typeof t?Et(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,o=(e.$options.methods,n.length);for(;o--;){var i=n[o];r&&f(r,i)||(void 0,36!==(a=(i+"").charCodeAt(0))&&95!==a&&Ct(e,"_data",i))}var a;me(t,!0)}(e):me(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=K();for(var o in t){var i=t[o],a="function"==typeof i?i:i.get;r||(n[o]=new St(e,a||R,R,$t)),o in e||At(e,o,i)}}(e,t.computed),t.watch&&t.watch!==X&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)It(e,n,r[o]);else It(e,n,r)}}(e,t.watch)}function Et(e,t){try{return e.call(t,t)}catch(e){return Ie(e,t,"data()"),{}}}var $t={lazy:!0};function At(e,t,n){var r=!K();"function"==typeof n?(Ot.get=r?jt(t):n,Ot.set=R):(Ot.get=n.get?r&&!1!==n.cache?jt(t):n.get:R,Ot.set=n.set?n.set:R),Object.defineProperty(e,t,Ot)}function jt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.
dirty&&e.evaluate(),re.target&&e.depend(),e.value}}function It(e,t,n,r){return u(n)&&(n=(r=n).handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Mt(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}function Tt(t){var n=Ft(t.$options.inject,t);n&&(pe.shouldConvert=!1,Object.keys(n).forEach(function(e){ye(t,e,n[e])}),pe.shouldConvert=!0)}function Ft(t,e){if(t){for(var n=Object.create(null),r=ee?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){for(var i=r[o],a=t[i].from,s=e;s;){if(s._provided&&a in s._provided){n[i]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[i]){var c=t[i].default;n[i]="function"==typeof c?c.call(e):c}}return n}}function Pt(e,t){var n,r,o,i,a;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,o=e.length;r<o;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(b(e))for(i=Objec
t.keys(e),n=new Array(i.length),r=0,o=i.length;r<o;r++)a=i[r],n[r]=t(e[a],a,r);return I(n)&&(n._isVList=!0),n}function Nt(e,t,n,r){var o,i=this.$scopedSlots[e];if(i)n=n||{},r&&(n=N(N({},r),n)),o=i(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),o=a||t}var s=n&&n.slot;return s?this.$createElement("template",{slot:s},o):o}function Rt(e){return Ee(this.$options,"filters",e)||S}function Dt(e,t,n,r){var o=$.keyCodes[t]||n;return o?Array.isArray(o)?-1===o.indexOf(e):o!==e:r?w(r)!==t:void 0}function Vt(n,r,o,i,a){if(o)if(b(o)){var s;Array.isArray(o)&&(o=function(e){for(var t={},n=0;n<e.length;n++)e[n]&&N(t,e[n]);return t}(o));var e=function(t){if("class"===t||"style"===t||c(t))s=n;else{var e=n.attrs&&n.attrs.type;s=i||$.mustUseProp(r,e,t)?n.domProps||(n.domProps={}):n.attrs||(n.attrs={})}t in s||(s[t]=o[t],a&&((n.on||(n.on={}))["update:"+t]=function(e){o[t]=e}))};for(var t in o)e(t)}else;return n}function Jt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||Wt(r
=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function Lt(e,t,n){return Wt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Wt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&qt(e[r],t+"_"+r,n);else qt(e,t,n)}function qt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function Ut(e,t){if(t)if(u(t)){var n=e.on=e.on?N({},e.on):{};for(var r in t){var o=n[r],i=t[r];n[r]=o?[].concat(o,i):i}}else;return e}function Bt(e){e._o=Lt,e._n=n,e._s=t,e._l=Pt,e._t=Nt,e._q=O,e._i=C,e._m=Jt,e._f=Rt,e._k=Dt,e._b=Vt,e._v=ce,e._e=se,e._u=lt,e._g=Ut}function zt(e,t,n,i,r){var a=r.options;this.data=e,this.props=t,this.children=n,this.parent=i,this.listeners=e.on||_,this.injections=Ft(a.inject,i),this.slots=function(){return st(n,i)};var s=Object.create(i),o=M(a._compiled),c=!o;o&&(this.$options=a,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||_),a._scopeId?this._c=function(e,t,n,r){var o=fn(s,e,t,n,r,c);return o&&!Array.isArra
y(o)&&(o.fnScopeId=a._scopeId,o.fnContext=i),o}:this._c=function(e,t,n,r){return fn(s,e,t,n,r,c)}}function Ht(e,t,n,r){e.fnContext=n,e.fnOptions=r,t.slot&&((e.data||(e.data={})).slot=t.slot)}function Xt(e,t){for(var n in t)e[h(n)]=t[n]}Bt(zt.prototype);var Gt="@inRecycleList";function Kt(e,t,n,r){if(o&&o.taskCenter)return"function"==typeof o.taskCenter.registerHook?o.taskCenter.registerHook(e,t,n,r):void 0}var Zt=0;function Yt(e){var t=e.$options.data,n=e.$options.computed||{},r=e._data?Object.assign({},e._data):"function"==typeof t?Et(t,e):t||{},o={};for(var i in n)o[i]=e[i];return Object.assign({},r,o)}function Qt(e){void 0===e&&(e={});var r=this,t=e.componentId;A(r,"_vmTemplate",e.vmTemplate),r._uid=t||"virtual-component-"+Zt++,r._isVue=!0,e&&e._isComponent?wn(r,e):r.$options=xe(kn(r.constructor),e||{},r),ft((r._renderProxy=r)._self=r),rt(r),pn(r),ht(r,"beforeCreate"),Tt(r),xt(r),Mt(r),ht(r,"created"),Kt(t,"lifecycle","attach",function(){ht(r,"beforeMount"),new St(r,function(){re
turn Yt(r)},function(){return r._update(r._vnode,!1)}),r._isMounted=!0,ht(r,"mounted")}),Kt(t,"lifecycle","update",function(){r._update(r._vnode,!1)}),Kt(t,"lifecycle","syncState",function(e,t){if(u(t))for(var n in t)r[n]=t[n];return Yt(r)}),Kt(t,"lifecycle","detach",function(){r.$destroy(),r._vmTemplate&&(r._vmTemplate.removeVirtualComponent(r._uid),delete r._vmTemplate)})}function en(e){var t=this,n=t.$options.componentId;(t._isMounted&&ht(t,"beforeUpdate"),t._vnode=e,t._isMounted&&n)&&function(e,t,n){if(o&&o.taskCenter)"function"==typeof o.taskCenter.updateData&&o.taskCenter.updateData(e,t,n)}(n,Yt(t),function(){ht(t,"updated")})}function tn(e){void 0===e&&(e={});var t=this;t._uid="virtual-component-template-"+Zt++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),rt(t._self=t),pn(t),xt(t),this.registerVirtualComponent()}function nn(e){var t,n,o,i;delete e.data.attrs[Gt],n=(t=e).componentOptions.Ctor,o=n.extend({}),i=o.prototype.$emit,o.prototype._ini
t=Qt,o.prototype._update=en,o.prototype.$emit=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=this._uid,o=this._vmTemplate;return r&&o&&(t.push(r),i.apply(o,t)),i.apply(this,t)},t.componentOptions.Ctor=n.extend({methods:{registerVirtualComponent:function(){var r=this;A(r,"_virtualComponents",{}),Kt(String(r._uid),"lifecycle","create",function(e,t){var n=new o({vmTemplate:r,componentId:e,propsData:t});return n._uid=e,r._virtualComponents&&(r._virtualComponents[e]=n),Yt(n)})},removeVirtualComponent:function(e){delete this._virtualComponents[e]}},destroyed:function(){delete this._virtualComponents}}),t.componentOptions.Ctor.prototype._init=tn,t.componentOptions.Ctor.prototype._update=R;var r=sn(e),a=r.$options["@render"];if(a)try{return a.call(r)}catch(e){Ie(e,r,"@render")}}var rn={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var o=e;rn.prepatch(o,o)}else{(e.componentInstance=sn(e,ut,n,r)).$mount(t?e.elm
:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,o){var i=!!(o||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==_);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=o,e.$attrs=r.data.attrs||_,e.$listeners=n||_,t&&e.$options.props){pe.shouldConvert=!1;for(var a=e._props,s=e.$options._propKeys||[],c=0;c<s.length;c++){var l=s[c];a[l]=$e(l,e.$options.props,t,e)}pe.shouldConvert=!0,e.$options.propsData=t}n=n||_;var u=e.$options._parentListeners;e.$options._parentListeners=n,at(e,n,u),i&&(e.$slots=st(o,r.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,ht(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,mt.push(t)):dt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._di
rectInactive=!0,pt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);ht(t,"deactivated")}}(t,!0):t.$destroy())}},on=Object.keys(rn);function an(e,t,n,r,o){if(!j(e)){var i=n.$options._base;if(b(e)&&(e=i.extend(e)),"function"==typeof e){var a,s,c,l,u,f,p;if(j(e.cid)&&void 0===(e=function(t,n,e){if(M(t.error)&&I(t.errorComp))return t.errorComp;if(I(t.resolved))return t.resolved;if(M(t.loading)&&I(t.loadingComp))return t.loadingComp;if(!I(t.contexts)){var r=t.contexts=[e],o=!0,i=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},a=D(function(e){t.resolved=et(e,n),o||i()}),s=D(function(e){I(t.errorComp)&&(t.error=!0,i())}),c=t(a,s);return b(c)&&("function"==typeof c.then?j(t.resolved)&&c.then(a,s):I(c.component)&&"function"==typeof c.component.then&&(c.component.then(a,s),I(c.error)&&(t.errorComp=et(c.error,n)),I(c.loading)&&(t.loadingComp=et(c.loading,n),0===c.delay?t.loading=!0:setTimeout(function(){j(t.resolved)&&j(t.error)&&(t.loadin
g=!0,i())},c.delay||200)),I(c.timeout)&&setTimeout(function(){j(t.resolved)&&s(null)},c.timeout))),o=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(e)}(a=e,i,n)))return s=a,c=t,l=n,u=r,f=o,(p=se()).asyncFactory=s,p.asyncMeta={data:c,context:l,children:u,tag:f},p;t=t||{},kn(e),I(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var o=t.on||(t.on={});I(o[r])?o[r]=[t.model.callback].concat(o[r]):o[r]=t.model.callback}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!j(r)){var o={},i=e.attrs,a=e.props;if(I(i)||I(a))for(var s in r){var c=w(s);Ze(o,a,s,c,!0)||Ze(o,i,s,c,!1)}return o}}(t,e);if(M(e.options.functional))return function(e,t,n,r,o){var i=e.options,a={},s=i.props;if(I(s))for(var c in s)a[c]=$e(c,s,t||_);else I(n.attrs)&&Xt(a,n.attrs),I(n.props)&&Xt(a,n.props);var l=new zt(n,a,o,r,e),u=i.render.call(null,l._c,l);if(u instanceof ie)return Ht(u,n,r,i),u;if(Array.isArray(u)){for(
var f=Ye(u)||[],p=0;p<f.length;p++)Ht(f[p],n,r,i);return f}}(e,d,t,n,r);var h=t.on;if(t.on=t.nativeOn,M(e.options.abstract)){var v=t.slot;t={},v&&(t.slot=v)}!function(e){e.hook||(e.hook={});for(var t=0;t<on.length;t++){var n=on[t],r=e.hook[n],o=rn[n];e.hook[n]=r?cn(o,r):o}}(t);var m,y=e.options.name||o,g=new ie("vue-component-"+e.cid+(y?"-"+y:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:h,tag:o,children:r},a);return(m=g).data.attrs&&Gt in m.data.attrs?nn(g):g}}}function sn(e,t,n,r){var o={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},i=e.data.inlineTemplate;return I(i)&&(o.render=i.render,o.staticRenderFns=i.staticRenderFns),new e.componentOptions.Ctor(o)}function cn(o,i){return function(e,t,n,r){o(e,t,n,r),i(e,t,n,r)}}var ln=1,un=2;function fn(e,t,n,r,o,i){return(Array.isArray(n)||T(n))&&(o=r,r=n,n=void 0),M(i)&&(o=un),function(e,t,n,r,o){if(I(n)&&I(n.__ob__))return se();I(n)&&I(n.is)&&(t=n.is);if(!t)return se();Array.isArray(r)&&"functio
n"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);o===un?r=Ye(r):o===ln&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var i,a;if("string"==typeof t){var s;a=e.$vnode&&e.$vnode.ns||$.getTagNamespace(t),i=$.isReservedTag(t)?new ie($.parsePlatformTagName(t),n,r,void 0,void 0,e):I(s=Ee(e.$options,"components",t))?an(s,n,e,r,t):new ie(t,n,r,void 0,void 0,e)}else i=an(t,n,e,r);return Array.isArray(i)?i:I(i)?(I(a)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(I(t.children))for(var o=0,i=t.children.length;o<i;o++){var a=t.children[o];I(a.tag)&&(j(a.ns)||M(r)&&"svg"!==a.tag)&&e(a,n,r)}}(i,a),I(n)&&function(e){b(e.style)&&Be(e.style);b(e.class)&&Be(e.class)}(n),i):se()}(e,t,n,r,o)}function pn(o){o._vnode=null,o._staticTrees=null;var e=o.$options,t=o.$vnode=e._parentVnode,n=t&&t.context;o.$slots=st(e._renderChildren,n),o.$scopedSlots=_,o._c=function(e,t,n,r){return fn(o,e,t,n,r,
!1)},o.$createElement=function(e,t,n,r){return fn(o,e,t,n,r,!0)};var r=t&&t.data;ye(o,"$attrs",r&&r.attrs||_,0,!0),ye(o,"$listeners",e._parentListeners||_,0,!0)}var dn,hn,vn,mn,yn,gn,_n,bn=0;function wn(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}function kn(e){var t=e.options;if(e.super){var n=kn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,o=e.sealedOptions;for(var i in n)n[i]!==o[i]&&(t||(t={}),t[i]=Sn(n[i],r[i],o[i]));return t}(e);r&&N(e.extendOptions,r),(t=e.options=xe(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Sn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray
(t)?t:[t];for(var o=0;o<e.length;o++)(0<=t.indexOf(e[o])||n.indexOf(e[o])<0)&&r.push(e[o]);return r}return e}function On(e){this._init(e)}function Cn(e){e.cid=0;var a=1;e.extend=function(e){e=e||{};var t=this,n=t.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var o=e.name||t.options.name,i=function(e){this._init(e)};return((i.prototype=Object.create(t.prototype)).constructor=i).cid=a++,i.options=xe(t.options,e),i.super=t,i.options.props&&function(e){var t=e.options.props;for(var n in t)Ct(e.prototype,"_props",n)}(i),i.options.computed&&function(e){var t=e.options.computed;for(var n in t)At(e.prototype,n,t[n])}(i),i.extend=t.extend,i.mixin=t.mixin,i.use=t.use,x.forEach(function(e){i[e]=t[e]}),o&&(i.options.components[o]=i),i.superOptions=t.options,i.extendOptions=e,i.sealedOptions=N({},i.options),r[n]=i}}function xn(e){return e&&(e.Ctor.options.name||e.tag)}function En(e,t){return Array.isArray(e)?-1<e.indexOf(t):"string"==typeof e?-1<e.split(",").indexOf(t):(n=e,"[object RegExp]"==
=r.call(n)&&e.test(t));var n}function $n(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=xn(a.componentOptions);s&&!t(s)&&An(n,i,r,o)}}}function An(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,l(n,t)}On.prototype._init=function(e){var t=this;t._uid=bn++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),ft((t._renderProxy=t)._self=t),rt(t),pn(t),ht(t,"beforeCreate"),Tt(t),xt(t),Mt(t),ht(t,"created"),t.$options.el&&t.$mount(t.$options.el)},dn=On,hn={get:function(){return this._data}},vn={get:function(){return this._props}},Object.defineProperty(dn.prototype,"$data",hn),Object.defineProperty(dn.prototype,"$props",vn),dn.prototype.$set=ge,dn.prototype.$delete=_e,dn.prototype.$watch=function(e,t,n){if(u(t))return It(this,e,t,n);(n=n||{}).user=!0;var r=new St(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}},yn=/^hook:/,(mn=On).prototype.$on=function(e,t){if(Array.
isArray(e))for(var n=0,r=e.length;n<r;n++)this.$on(e[n],t);else(this._events[e]||(this._events[e]=[])).push(t),yn.test(e)&&(this._hasHookEvent=!0);return this},mn.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},mn.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,o=e.length;r<o;r++)this.$off(e[r],t);return n}var i=n._events[e];if(!i)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,s=i.length;s--;)if((a=i[s])===t||a.fn===t){i.splice(s,1);break}return n},mn.prototype.$emit=function(t){var n=this,e=n._events[t];if(e){e=1<e.length?g(e):e;for(var r=g(arguments,1),o=0,i=e.length;o<i;o++)try{e[o].apply(n,r)}catch(e){Ie(e,n,'event handler for "'+t+'"')}}return n},(gn=On).prototype._update=function(e,t){var n=this;n._isMounted&&ht(n,"beforeUpdate");var r=n.$el,o=n._vnode,i=ut;(ut=n)._vnode=e,o?n.$el=n.__patch__(o,e):(n.$el=n.__patch__(n
.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ut=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},gn.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},gn.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){ht(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||l(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),ht(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}},Bt((_n=On).prototype),_n.prototype.$nextTick=function(e){return qe(e,this)},_n.prototype._render=function(){var t,n=this,e=n.$options,r=e.render,o=e._parentVnode;o&&(n.$scopedSlots=o.data.scopedSlots||_),n.$vnode=o;try{t=r.call(n._ren
derProxy,n.$createElement)}catch(e){Ie(e,n,"render"),t=n._vnode}return t instanceof ie||(t=se()),t.parent=o,t};var jn,In,Mn,Tn=[String,RegExp,Array],Fn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)An(this.cache,e,this.keys)},watch:{include:function(t){$n(this,function(e){return En(t,e)})},exclude:function(t){$n(this,function(e){return!En(t,e)})}},render:function(){var e=this.$slots.default,t=nt(e),n=t&&t.componentOptions;if(n){var r=xn(n),o=this.include,i=this.exclude;if(o&&(!r||!En(o,r))||i&&r&&En(i,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,l(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&An(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};jn=On,Mn={get:function(){return $}},Object.defineP
roperty(jn,"config",Mn),jn.util={warn:te,extend:N,mergeOptions:xe,defineReactive:ye},jn.set=ge,jn.delete=_e,jn.nextTick=qe,jn.options=Object.create(null),x.forEach(function(e){jn.options[e+"s"]=Object.create(null)}),N((jn.options._base=jn).options.components,Fn),jn.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1<t.indexOf(e))return this;var n=g(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},jn.mixin=function(e){return this.options=xe(this.options,e),this},Cn(jn),In=jn,x.forEach(function(n){In[n]=function(e,t){return t?("component"===n&&u(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t):this.options[n+"s"][e]}}),Object.defineProperty(On.prototype,"$isServer",{get:K}),Object.defineProperty(On.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrConte
xt}}),On.version="2.5.13";var Pn=1;function Nn(e){return o.createElement(e)}var Rn=Object.freeze({namespaceMap:{},createElement:Nn,createElementNS:function(e,t){return o.createElement(e+":"+t)},createTextNode:function(e){return new function(e){this.instanceId="",this.nodeId=Pn++,this.parentNode=null,this.nodeType=3,this.text=e}(e)},createComment:function(e){return o.createComment(e)},insertBefore:function(e,t,n){if(3!==t.nodeType)e.insertBefore(t,n);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var r=Nn("text");r.setAttr("value",t.text),e.insertBefore(r,n)}},removeChild:function(e,t){3!==t.nodeType?e.removeChild(t):e.setAttr("value","")},appendChild:function(e,t){if(3!==t.nodeType)e.appendChild(t);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var n=Nn("text");n.setAttr("value",t.text),e.appendChild(n)}},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.type},setTextCo
ntent:function(e,t){e.parentNode&&e.parentNode.setAttr("value",t)},setAttribute:function(e,t,n){e.setAttr(t,n)},setStyleScope:function(e,t){e.setAttr("@styleScope",t)}}),Dn={create:function(e,t){Vn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Vn(e,!0),Vn(t))},destroy:function(e){Vn(e,!0)}};function Vn(e,t){var n=e.data.ref;if(n){var r=e.context,o=e.componentInstance||e.elm,i=r.$refs;t?Array.isArray(i[n])?l(i[n],o):i[n]===o&&(i[n]=void 0):e.data.refInFor?Array.isArray(i[n])?i[n].indexOf(o)<0&&i[n].push(o):i[n]=[o]:i[n]=o}}s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,
input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0);var Jn=s("text,number,password,search,email,tel,url"),Ln=new ie("",{},[]),Wn=["create","activate","update","remove","destroy"];function qn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&I(e.data)===I(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=I(n=e.data)&&I(n=n.attrs)&&n.type,o=I(n=t.data)&&I(n=n.attrs)&&n.type;return r===o||Jn(r)&&Jn(o)}(e,t)||M(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&j(t.asyncFactory.error))}function Un(e,t,n){var r,o,i={};for(r=t;r<=n;++r)I(o=e[r].key)&&(i[o]=r);return i}var Bn={create:zn,update:zn,destroy:function(e){zn(e,Ln)}};func
tion zn(e,t){(e.data.directives||t.data.directives)&&function(t,n){var e,r,o,i=t===Ln,a=n===Ln,s=Xn(t.data.directives,t.context),c=Xn(n.data.directives,n.context),l=[],u=[];for(e in c)r=s[e],o=c[e],r?(o.oldValue=r.value,Gn(o,"update",n,t),o.def&&o.def.componentUpdated&&u.push(o)):(Gn(o,"bind",n,t),o.def&&o.def.inserted&&l.push(o));if(l.length){var f=function(){for(var e=0;e<l.length;e++)Gn(l[e],"inserted",n,t)};i?Ke(n,"insert",f):f()}u.length&&Ke(n,"postpatch",function(){for(var e=0;e<u.length;e++)Gn(u[e],"componentUpdated",n,t)});if(!i)for(e in s)c[e]||Gn(s[e],"unbind",t,t,a)}(e,t)}var Hn=Object.create(null);function Xn(e,t){var n,r,o,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=Hn),(i[(o=r,o.rawName||o.name+"."+Object.keys(o.modifiers||{}).join("."))]=r).def=Ee(t.$options,"directives",r.name);return i}function Gn(t,n,r,e,o){var i=t.def&&t.def[n];if(i)try{i(r.elm,t,r,e,o)}catch(e){Ie(e,r.context,"directive "+t.name+" "+n+" hook")}}var
Kn=[Dn,Bn];function Zn(e,t){if(e.data.attrs||t.data.attrs){var n,r,o=t.elm,i=e.data.attrs||{},a=t.data.attrs||{};a.__ob__&&(a=t.data.attrs=N({},a));var s="function"==typeof o.setAttrs,c={};for(n in a)r=a[n],i[n]!==r&&(s?c[n]=r:o.setAttr(n,r));for(n in i)null==a[n]&&(s?c[n]=void 0:o.setAttr(n));s&&o.setAttrs(c)}}var Yn={create:Zn,update:Zn};function Qn(e,t){var n=t.elm,r=t.context,o=t.data,i=e.data;if(o.staticClass||o.class||i&&(i.staticClass||i.class)){var a=[],s=i.staticClass;s&&a.push.apply(a,s),i.class&&a.push.apply(a,i.class);var c,l,u,f,p=[],d=o.staticClass;if(d&&p.push.apply(p,d),o.class&&p.push.apply(p,o.class),"function"==typeof n.setClassList)n.setClassList(p);else{var h=(c=a,l=p,u=r.$options.style||{},f={},l.forEach(function(e){var t=u[e];N(f,t)}),c.forEach(function(e){var t=u[e];for(var n in t)f.hasOwnProperty(n)||(f[n]="")}),f);if("function"==typeof n.setStyles)n.setStyles(h);else for(var v in h)n.setStyle(v,h[v])}}}var er,tr,nr={create:Qn,update:Qn};function rr(t,e,n,r
,o,i){if(r)console.log("Weex do not support event in bubble phase.");else{if(n){var a=e,s=er;e=function(e){null!==(1===arguments.length?a(e):a.apply(null,arguments))&&or(t,null,null,s)}}if(tr&&tr._virtualComponents){er._context=tr;var c=e;e=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=(t[0]||{}).componentId,o=this._context;r&
<TRUNCATED>
[27/50] [abbrv] incubator-weex git commit: [WEEX-458][core] remove
coremanager setxxx returntype
Posted by cx...@apache.org.
[WEEX-458][core] remove coremanager setxxx returntype
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/eeb91706
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/eeb91706
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/eeb91706
Branch: refs/heads/release
Commit: eeb91706d709316493f330906d92c151d88d9371
Parents: 5cb82d5
Author: zhongcang <qh...@gmail.com>
Authored: Wed Jun 13 17:48:39 2018 +0800
Committer: zhongcang <qh...@gmail.com>
Committed: Wed Jun 13 17:48:39 2018 +0800
----------------------------------------------------------------------
weex_core/Source/core/manager/weex_core_manager.cpp | 4 ++--
weex_core/Source/core/manager/weex_core_manager.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/eeb91706/weex_core/Source/core/manager/weex_core_manager.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/manager/weex_core_manager.cpp b/weex_core/Source/core/manager/weex_core_manager.cpp
index 9038ea1..fb2151c 100644
--- a/weex_core/Source/core/manager/weex_core_manager.cpp
+++ b/weex_core/Source/core/manager/weex_core_manager.cpp
@@ -23,7 +23,7 @@ namespace WeexCore {
WeexCoreManager *WeexCoreManager::m_pInstance = nullptr;
- WeexCoreManager *WeexCoreManager::setPlatformBridge(Bridge *pBridge) {
+ void WeexCoreManager::setPlatformBridge(Bridge *pBridge) {
this->platformBridge = pBridge;
}
@@ -31,7 +31,7 @@ namespace WeexCore {
return this->platformBridge;
}
- WeexCoreManager *WeexCoreManager::setJSBridge(JSBridge *jsBridge) {
+ void WeexCoreManager::setJSBridge(JSBridge *jsBridge) {
this->jsBridge = jsBridge;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/eeb91706/weex_core/Source/core/manager/weex_core_manager.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/manager/weex_core_manager.h b/weex_core/Source/core/manager/weex_core_manager.h
index 57f7edc..d207e30 100644
--- a/weex_core/Source/core/manager/weex_core_manager.h
+++ b/weex_core/Source/core/manager/weex_core_manager.h
@@ -64,11 +64,11 @@ namespace WeexCore {
Bridge *getPlatformBridge();
- WeexCoreManager *setPlatformBridge(Bridge *pBridge);
+ void setPlatformBridge(Bridge *pBridge);
JSBridge* getJSBridge();
- WeexCoreManager *setJSBridge(JSBridge *jsBridge);
+ void setJSBridge(JSBridge *jsBridge);
void SetMeasureFunctionAdapter(MeasureFunctionAdapter *measureFunctionAdapter);
[40/50] [abbrv] incubator-weex git commit: [WEEX-459][iOS] fix
transform/transformOrigin conflict when updateStyles
Posted by cx...@apache.org.
[WEEX-459][iOS] fix transform/transformOrigin conflict when updateStyles
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/44fd78c2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/44fd78c2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/44fd78c2
Branch: refs/heads/release
Commit: 44fd78c27cccc83980d3a4525b6fa884f049479d
Parents: 676d0eb
Author: hjhcn <38...@qq.com>
Authored: Tue Jun 12 17:36:00 2018 +0800
Committer: hjhcn <38...@qq.com>
Committed: Thu Jun 14 17:38:26 2018 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/44fd78c2/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
index 29d5d87..740e168 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
@@ -251,14 +251,13 @@ do {\
}
}
if (styles[@"transform"]) {
- _transform = [[WXTransform alloc] initWithCSSValue:[WXConvert NSString:styles[@"transform"]] origin:[WXConvert NSString:self.styles[@"transformOrigin"]] instance:self.weexInstance];
+ id transformOrigin = styles[@"transformOrigin"] ?: self.styles[@"transformOrigin"];
+ _transform = [[WXTransform alloc] initWithCSSValue:[WXConvert NSString:styles[@"transform"]] origin:[WXConvert NSString:transformOrigin] instance:self.weexInstance];
if (!CGRectEqualToRect(self.calculatedFrame, CGRectZero)) {
[_transform applyTransformForView:_view];
[_layer setNeedsDisplay];
}
- }
-
- if (styles[@"transformOrigin"]) {
+ }else if (styles[@"transformOrigin"]) {
[_transform setTransformOrigin:[WXConvert NSString:styles[@"transformOrigin"]]];
if (!CGRectEqualToRect(self.calculatedFrame, CGRectZero)) {
[_transform applyTransformForView:_view];
[18/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] C++ style
format : variable declaration
Posted by cx...@apache.org.
[WEEX-442][Core] C++ style format : variable declaration
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2504c923
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2504c923
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2504c923
Branch: refs/heads/release
Commit: 2504c9239946b778ecc1a83407163bcfbef217cd
Parents: 9e8a3c1
Author: miomin <mi...@foxmail.com>
Authored: Mon Jun 11 15:45:00 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Tue Jun 12 12:44:03 2018 +0800
----------------------------------------------------------------------
android/playground/app/build.gradle | 2 +-
.../java/com/alibaba/weex/WXApplication.java | 4 +-
.../bridge/impl/weexcore_impl_android.cpp | 10 +-
.../render/action/render_action_add_element.cpp | 48 ++---
.../render/action/render_action_add_element.h | 28 +--
.../render/action/render_action_add_event.cpp | 13 +-
.../render/action/render_action_add_event.h | 8 +-
.../render_action_appendtree_createfinish.cpp | 11 +-
.../render_action_appendtree_createfinish.h | 6 +-
.../render/action/render_action_createbody.cpp | 36 ++--
.../render/action/render_action_createbody.h | 20 +-
.../action/render_action_createfinish.cpp | 6 +-
.../render/action/render_action_createfinish.h | 4 +-
.../core/render/action/render_action_layout.cpp | 27 +--
.../core/render/action/render_action_layout.h | 19 +-
.../action/render_action_move_element.cpp | 20 +-
.../render/action/render_action_move_element.h | 12 +-
.../action/render_action_remove_element.cpp | 10 +-
.../action/render_action_remove_element.h | 6 +-
.../action/render_action_remove_event.cpp | 14 +-
.../render/action/render_action_remove_event.h | 8 +-
.../render/action/render_action_update_attr.cpp | 15 +-
.../render/action/render_action_update_attr.h | 10 +-
.../action/render_action_update_style.cpp | 24 +--
.../render/action/render_action_update_style.h | 14 +-
.../core/render/manager/render_manager.cpp | 66 +++----
.../Source/core/render/manager/render_manager.h | 40 ++--
.../core/render/node/factory/render_creator.cpp | 2 +-
.../core/render/node/factory/render_creator.h | 12 +-
.../node/factory/render_object_interface.h | 20 +-
.../Source/core/render/node/render_appbar.cpp | 12 +-
.../Source/core/render/node/render_appbar.h | 4 +-
.../Source/core/render/node/render_list.cpp | 131 +++++++------
weex_core/Source/core/render/node/render_list.h | 22 +--
.../Source/core/render/node/render_object.cpp | 60 +++---
.../Source/core/render/node/render_object.h | 40 ++--
.../Source/core/render/node/render_scroller.cpp | 6 +-
.../Source/core/render/node/render_scroller.h | 4 +-
.../Source/core/render/page/render_page.cpp | 186 ++++++++-----------
weex_core/Source/core/render/page/render_page.h | 76 ++++----
40 files changed, 527 insertions(+), 529 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/android/playground/app/build.gradle
----------------------------------------------------------------------
diff --git a/android/playground/app/build.gradle b/android/playground/app/build.gradle
index 5b93f0c..3e4954d 100755
--- a/android/playground/app/build.gradle
+++ b/android/playground/app/build.gradle
@@ -117,7 +117,7 @@ dependencies {
compile 'com.jakewharton.scalpel:scalpel:1.1.2'
compile 'com.taobao.android.weex_inspection:urlconnection_interceptor:1.0.0'
compile 'com.android.support.test.espresso:espresso-idling-resource:2.2.2'
- compile 'com.taobao.android:weex_inspector:0.11.0'
+ compile 'com.taobao.android:weex_inspector:0.16.7'
//compile project(":weex_inspector")
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java b/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
index e7499f2..35fd36a 100644
--- a/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
+++ b/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
@@ -63,8 +63,8 @@ public class WXApplication extends Application {
**/
// initDebugEnvironment(true, false, "DEBUG_SERVER_HOST");
WXBridgeManager.updateGlobalConfig("wson_on");
- WXEnvironment.setOpenDebugLog(false);
- WXEnvironment.setApkDebugable(false);
+ WXEnvironment.setOpenDebugLog(true);
+ WXEnvironment.setApkDebugable(true);
WXSDKEngine.addCustomOptions("appName", "WXSample");
WXSDKEngine.addCustomOptions("appGroup", "WXApp");
WXSDKEngine.initialize(this,
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
index 0e5b44e..4138530 100644
--- a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
@@ -214,13 +214,13 @@ static jboolean NotifyLayout(JNIEnv* env, jobject jcaller, jstring instanceId) {
RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
if (page != nullptr) {
- if (!page->needLayout.load()) {
- page->needLayout.store(true);
+ if (!page->need_layout.load()) {
+ page->need_layout.store(true);
}
- bool ret = !page->hasForeLayoutAction.load() && page->isDirty();
+ bool ret = !page->has_fore_layout_action.load() && page->isDirty();
if (ret) {
- page->hasForeLayoutAction.store(true);
+ page->has_fore_layout_action.store(true);
}
return ret ? JNI_TRUE : JNI_FALSE;
}
@@ -236,7 +236,7 @@ static void ForceLayout(JNIEnv *env, jobject jcaller, jstring instanceId) {
#endif
page->LayoutImmediately();
- page->hasForeLayoutAction.store(false);
+ page->has_fore_layout_action.store(false);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_add_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.cpp b/weex_core/Source/core/render/action/render_action_add_element.cpp
index 66dcbfb..46cff05 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_add_element.cpp
@@ -23,33 +23,35 @@
namespace WeexCore {
- RenderActionAddElement::RenderActionAddElement(const std::string &pageId,
+ RenderActionAddElement::RenderActionAddElement(const std::string &page_id,
const RenderObject *render,
const RenderObject *parent, int index,
- bool willLayout) {
- this->mAttributes = render->Attributes();
- this->mStyles = render->Styles();
- this->mEvents = render->Events();
- this->mMargins = render->GetMargins();
- this->mPaddings = render->GetPaddings();
- this->mBorders = render->GetBorders();
- this->mPageId = pageId;
- this->mComponentType = render->Type();
- this->mRef = render->Ref();
- this->mParentRef = parent->Ref();
- this->mIndex = index;
- this->mWillLayout = willLayout;
+ bool will_layout) {
+ this->attributes = render->Attributes();
+ this->styles = render->Styles();
+ this->events = render->Events();
+ this->margins = render->GetMargins();
+ this->paddings = render->GetPaddings();
+ this->borders = render->GetBorders();
+ this->page_id = page_id;
+ this->component_type = render->Type();
+ this->ref = render->Ref();
+ this->parent_ref = parent->Ref();
+ this->index = index;
+ this->will_layout = will_layout;
}
void RenderActionAddElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAddElement(mPageId.c_str(),
- mComponentType.c_str(),
- mRef.c_str(),
- mIndex, mParentRef.c_str(),
- mStyles,
- mAttributes,
- mEvents, mMargins,
- mPaddings, mBorders,
- mWillLayout);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAddElement(this->page_id.c_str(),
+ this->component_type.c_str(),
+ this->ref.c_str(),
+ this->index,
+ this->parent_ref.c_str(),
+ this->styles,
+ this->attributes,
+ this->events, this->margins,
+ this->paddings,
+ this->borders,
+ this->will_layout);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_add_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.h b/weex_core/Source/core/render/action/render_action_add_element.h
index 3c91754..69b9d06 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.h
+++ b/weex_core/Source/core/render/action/render_action_add_element.h
@@ -33,25 +33,25 @@ namespace WeexCore {
class RenderActionAddElement : public RenderAction {
public:
- explicit RenderActionAddElement(const std::string &pageId, const RenderObject *render,
+ explicit RenderActionAddElement(const std::string &page_id, const RenderObject *render,
const RenderObject *parent,
- int index, bool willLayout = true);
+ int index, bool will_layout = true);
void ExecuteAction();
public:
- std::map<std::string, std::string> *mStyles;
- std::map<std::string, std::string> *mAttributes;
- std::set<std::string> *mEvents;
- WXCoreMargin mMargins;
- WXCorePadding mPaddings;
- WXCoreBorderWidth mBorders;
- std::string mPageId;
- std::string mComponentType;
- std::string mParentRef;
- std::string mRef;
- int mIndex;
- bool mWillLayout;
+ std::map<std::string, std::string> *styles;
+ std::map<std::string, std::string> *attributes;
+ std::set<std::string> *events;
+ WXCoreMargin margins;
+ WXCorePadding paddings;
+ WXCoreBorderWidth borders;
+ std::string page_id;
+ std::string component_type;
+ std::string parent_ref;
+ std::string ref;
+ int index;
+ bool will_layout;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_add_event.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.cpp b/weex_core/Source/core/render/action/render_action_add_event.cpp
index 8005daa..98bb6c8 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.cpp
+++ b/weex_core/Source/core/render/action/render_action_add_event.cpp
@@ -22,16 +22,17 @@
namespace WeexCore {
- RenderActionAddEvent::RenderActionAddEvent(const std::string &pageId, const std::string &ref,
+ RenderActionAddEvent::RenderActionAddEvent(const std::string &page_id, const std::string &ref,
const std::string &event) {
- this->mPageId = pageId;
- this->mRef = ref;
- this->mEvent = event;
+ this->page_id = page_id;
+ this->ref = ref;
+ this->event = event;
}
void RenderActionAddEvent::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAddEvent(mPageId.c_str(), mRef.c_str(),
- mEvent.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAddEvent(this->page_id.c_str(),
+ this->ref.c_str(),
+ this->event.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_add_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.h b/weex_core/Source/core/render/action/render_action_add_event.h
index 680f87e..852549c 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.h
+++ b/weex_core/Source/core/render/action/render_action_add_event.h
@@ -28,15 +28,15 @@ namespace WeexCore {
class RenderActionAddEvent : public RenderAction {
public:
- explicit RenderActionAddEvent(const std::string &pageId, const std::string &ref,
+ explicit RenderActionAddEvent(const std::string &page_id, const std::string &ref,
const std::string &event);
void ExecuteAction();
public:
- std::string mPageId;
- std::string mRef;
- std::string mEvent;
+ std::string page_id;
+ std::string ref;
+ std::string event;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
index 045f0b6..25cdb12 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
@@ -22,14 +22,15 @@
namespace WeexCore {
- RenderActionAppendTreeCreateFinish::RenderActionAppendTreeCreateFinish(const std::string &pageId,
+ RenderActionAppendTreeCreateFinish::RenderActionAppendTreeCreateFinish(const std::string &page_id,
const std::string &ref) {
- this->mPageId = pageId;
- this->mRef = ref;
+ this->page_id = page_id;
+ this->ref = ref;
}
void RenderActionAppendTreeCreateFinish::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAppendTreeCreateFinish(mPageId.c_str(),
- mRef.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAppendTreeCreateFinish(
+ this->page_id.c_str(),
+ this->ref.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
index 321073d..beb601c 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
@@ -28,13 +28,13 @@ namespace WeexCore {
class RenderActionAppendTreeCreateFinish : public RenderAction {
public:
- explicit RenderActionAppendTreeCreateFinish(const std::string &pageId, const std::string &ref);
+ explicit RenderActionAppendTreeCreateFinish(const std::string &page_id, const std::string &ref);
void ExecuteAction();
public:
- std::string mPageId;
- std::string mRef;
+ std::string page_id;
+ std::string ref;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_createbody.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.cpp b/weex_core/Source/core/render/action/render_action_createbody.cpp
index 2efd6f0..9247a48 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.cpp
+++ b/weex_core/Source/core/render/action/render_action_createbody.cpp
@@ -23,26 +23,28 @@
namespace WeexCore {
- RenderActionCreateBody::RenderActionCreateBody(const std::string &pageId,
+ RenderActionCreateBody::RenderActionCreateBody(const std::string &page_id,
const RenderObject *render) {
- this->mAttributes = render->Attributes();
- this->mStyles = render->Styles();
- this->mEvents = render->Events();
- this->mMargins = render->GetMargins();
- this->mPaddings = render->GetPaddings();
- this->mBorders = render->GetBorders();
- this->mPageId = pageId;
- this->mComponentType = render->Type();
- this->mRef = render->Ref();
+ this->attributes = render->Attributes();
+ this->styles = render->Styles();
+ this->events = render->Events();
+ this->margins = render->GetMargins();
+ this->paddings = render->GetPaddings();
+ this->borders = render->GetBorders();
+ this->page_id = page_id;
+ this->component_type = render->Type();
+ this->ref = render->Ref();
}
void RenderActionCreateBody::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callCreateBody(mPageId.c_str(),
- mComponentType.c_str(),
- mRef.c_str(),
- mStyles, mAttributes,
- mEvents,
- mMargins, mPaddings,
- mBorders);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callCreateBody(this->page_id.c_str(),
+ this->component_type.c_str(),
+ this->ref.c_str(),
+ this->styles,
+ this->attributes,
+ this->events,
+ this->margins,
+ this->paddings,
+ this->borders);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_createbody.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.h b/weex_core/Source/core/render/action/render_action_createbody.h
index 5d4c25f..8929138 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.h
+++ b/weex_core/Source/core/render/action/render_action_createbody.h
@@ -32,20 +32,20 @@ namespace WeexCore {
class RenderActionCreateBody : public RenderAction {
public:
- explicit RenderActionCreateBody(const std::string &pageId, const RenderObject *render);
+ explicit RenderActionCreateBody(const std::string &page_id, const RenderObject *render);
void ExecuteAction();
public:
- std::map<std::string, std::string> *mStyles;
- std::map<std::string, std::string> *mAttributes;
- std::set<std::string> *mEvents;
- WXCoreMargin mMargins;
- WXCorePadding mPaddings;
- WXCoreBorderWidth mBorders;
- std::string mPageId;
- std::string mComponentType;
- std::string mRef;
+ std::map<std::string, std::string> *styles;
+ std::map<std::string, std::string> *attributes;
+ std::set<std::string> *events;
+ WXCoreMargin margins;
+ WXCorePadding paddings;
+ WXCoreBorderWidth borders;
+ std::string page_id;
+ std::string component_type;
+ std::string ref;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_createfinish.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.cpp b/weex_core/Source/core/render/action/render_action_createfinish.cpp
index 13559c1..cb1b15a 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.cpp
+++ b/weex_core/Source/core/render/action/render_action_createfinish.cpp
@@ -22,11 +22,11 @@
namespace WeexCore {
- RenderActionCreateFinish::RenderActionCreateFinish(const std::string &pageId) {
- this->mPageId = pageId;
+ RenderActionCreateFinish::RenderActionCreateFinish(const std::string &page_id) {
+ this->page_id = page_id;
}
void RenderActionCreateFinish::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callCreateFinish(mPageId.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callCreateFinish(this->page_id.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.h b/weex_core/Source/core/render/action/render_action_createfinish.h
index 1ab0c0e..8590edb 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_createfinish.h
@@ -28,12 +28,12 @@ namespace WeexCore {
class RenderActionCreateFinish : public RenderAction {
public:
- explicit RenderActionCreateFinish(const std::string &pageId);
+ explicit RenderActionCreateFinish(const std::string &page_id);
void ExecuteAction();
public:
- std::string mPageId;
+ std::string page_id;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_layout.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.cpp b/weex_core/Source/core/render/action/render_action_layout.cpp
index 366c6ba..b37a2ef 100644
--- a/weex_core/Source/core/render/action/render_action_layout.cpp
+++ b/weex_core/Source/core/render/action/render_action_layout.cpp
@@ -23,26 +23,29 @@
namespace WeexCore {
- RenderActionLayout::RenderActionLayout(const std::string &pageId, const RenderObject *render,
+ RenderActionLayout::RenderActionLayout(const std::string &page_id, const RenderObject *render,
int index) {
- this->mPageId = pageId;
- this->mRef = render->Ref();
+ this->page_id = page_id;
+ this->ref = render->Ref();
this->index = index;
GetLayoutInfo(render);
}
void RenderActionLayout::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callLayout(mPageId.c_str(), mRef.c_str(),
- mTop, mBottom, mLeft, mRight,
- mHeight, mWidth, index);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callLayout(this->page_id.c_str(),
+ this->ref.c_str(),
+ this->top, this->bottom,
+ this->left, this->right,
+ this->height, this->width,
+ this->index);
}
void RenderActionLayout::GetLayoutInfo(const WXCoreLayoutNode *node) {
- mTop = node->getLayoutPositionTop();
- mBottom = node->getLayoutPositionBottom();
- mRight = node->getLayoutPositionRight();
- mLeft = node->getLayoutPositionLeft();
- mHeight = node->getLayoutHeight();
- mWidth = node->getLayoutWidth();
+ this->top = node->getLayoutPositionTop();
+ this->bottom = node->getLayoutPositionBottom();
+ this->right = node->getLayoutPositionRight();
+ this->left = node->getLayoutPositionLeft();
+ this->height = node->getLayoutHeight();
+ this->width = node->getLayoutWidth();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_layout.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.h b/weex_core/Source/core/render/action/render_action_layout.h
index 231b3f9..5a21f08 100644
--- a/weex_core/Source/core/render/action/render_action_layout.h
+++ b/weex_core/Source/core/render/action/render_action_layout.h
@@ -33,7 +33,7 @@ namespace WeexCore {
class RenderActionLayout : public RenderAction {
public:
- explicit RenderActionLayout(const std::string &pageId, const RenderObject *render,
+ explicit RenderActionLayout(const std::string &page_id, const RenderObject *render,
const int index);
void ExecuteAction();
@@ -41,15 +41,14 @@ namespace WeexCore {
void GetLayoutInfo(const WXCoreLayoutNode *node);
public:
- std::set<std::string> *mEvents;
- std::string mPageId;
- std::string mRef;
- float mWidth;
- float mHeight;
- float mTop;
- float mLeft;
- float mBottom;
- float mRight;
+ std::string page_id;
+ std::string ref;
+ float width;
+ float height;
+ float top;
+ float left;
+ float bottom;
+ float right;
int index;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_move_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.cpp b/weex_core/Source/core/render/action/render_action_move_element.cpp
index ca2b88e..356c0df 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_move_element.cpp
@@ -22,19 +22,19 @@
namespace WeexCore {
- RenderActionMoveElement::RenderActionMoveElement(const std::string &pageId,
+ RenderActionMoveElement::RenderActionMoveElement(const std::string &page_id,
const std::string &ref,
- const std::string &parentRef, int index) {
- this->mPageId = pageId;
- this->mRef = ref;
- this->mParentRef = parentRef;
- this->mIndex = index;
+ const std::string &parent_ref, int index) {
+ this->page_id = page_id;
+ this->ref = ref;
+ this->parent_ref = parent_ref;
+ this->index = index;
}
void RenderActionMoveElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callMoveElement(mPageId.c_str(),
- mRef.c_str(),
- mParentRef.c_str(),
- mIndex);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callMoveElement(this->page_id.c_str(),
+ this->ref.c_str(),
+ this->parent_ref.c_str(),
+ this->index);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_move_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.h b/weex_core/Source/core/render/action/render_action_move_element.h
index 6735903..2644066 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.h
+++ b/weex_core/Source/core/render/action/render_action_move_element.h
@@ -28,16 +28,16 @@ namespace WeexCore {
class RenderActionMoveElement : public RenderAction {
public:
- explicit RenderActionMoveElement(const std::string &pageId, const std::string &ref,
- const std::string &parentRef, int index);
+ explicit RenderActionMoveElement(const std::string &page_id, const std::string &ref,
+ const std::string &parent_ref, int index);
void ExecuteAction();
public:
- std::string mPageId;
- std::string mRef;
- std::string mParentRef;
- int mIndex;
+ std::string page_id;
+ std::string ref;
+ std::string parent_ref;
+ int index;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_remove_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.cpp b/weex_core/Source/core/render/action/render_action_remove_element.cpp
index ba17af5..b5f1206 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_remove_element.cpp
@@ -22,14 +22,14 @@
namespace WeexCore {
- RenderActionRemoveElement::RenderActionRemoveElement(const std::string &pageId,
+ RenderActionRemoveElement::RenderActionRemoveElement(const std::string &page_id,
const std::string &ref) {
- this->mPageId = pageId;
- this->mRef = ref;
+ this->page_id = page_id;
+ this->ref = ref;
}
void RenderActionRemoveElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveElement(mPageId.c_str(),
- mRef.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveElement(this->page_id.c_str(),
+ this->ref.c_str());
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_remove_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.h b/weex_core/Source/core/render/action/render_action_remove_element.h
index 58ebbe9..425c3e4 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.h
+++ b/weex_core/Source/core/render/action/render_action_remove_element.h
@@ -27,13 +27,13 @@ namespace WeexCore {
class RenderActionRemoveElement : public RenderAction {
public:
- explicit RenderActionRemoveElement(const std::string &pageId, const std::string &ref);
+ explicit RenderActionRemoveElement(const std::string &page_id, const std::string &ref);
void ExecuteAction();
public:
- std::string mPageId;
- std::string mRef;
+ std::string page_id;
+ std::string ref;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_remove_event.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.cpp b/weex_core/Source/core/render/action/render_action_remove_event.cpp
index 06e21d4..fc4e953 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.cpp
+++ b/weex_core/Source/core/render/action/render_action_remove_event.cpp
@@ -22,17 +22,17 @@
namespace WeexCore {
- RenderActionRemoveEvent::RenderActionRemoveEvent(const std::string &pageId,
+ RenderActionRemoveEvent::RenderActionRemoveEvent(const std::string &page_id,
const std::string &ref,
const std::string &event) {
- this->mPageId = pageId;
- this->mRef = ref;
- this->mEvent = event;
+ this->page_id = page_id;
+ this->ref = ref;
+ this->event = event;
}
void RenderActionRemoveEvent::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveEvent(mPageId.c_str(),
- mRef.c_str(),
- mEvent.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveEvent(this->page_id.c_str(),
+ this->ref.c_str(),
+ this->event.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_remove_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.h b/weex_core/Source/core/render/action/render_action_remove_event.h
index d72f31f..e331dd0 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.h
+++ b/weex_core/Source/core/render/action/render_action_remove_event.h
@@ -28,15 +28,15 @@ namespace WeexCore {
class RenderActionRemoveEvent : public RenderAction {
public:
- explicit RenderActionRemoveEvent(const std::string &pageId, const std::string &ref,
+ explicit RenderActionRemoveEvent(const std::string &page_id, const std::string &ref,
const std::string &event);
void ExecuteAction();
public:
- std::string mPageId;
- std::string mRef;
- std::string mEvent;
+ std::string page_id;
+ std::string ref;
+ std::string event;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_update_attr.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.cpp b/weex_core/Source/core/render/action/render_action_update_attr.cpp
index 7aa6d3f..91e75dd 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.cpp
+++ b/weex_core/Source/core/render/action/render_action_update_attr.cpp
@@ -22,15 +22,16 @@
namespace WeexCore {
- RenderActionUpdateAttr::RenderActionUpdateAttr(const std::string &pageId, const std::string &ref,
- std::vector<std::pair<std::string, std::string>> *mAttrs) {
- this->mPageId = pageId;
- this->mRef = ref;
- this->mAttrs = mAttrs;
+ RenderActionUpdateAttr::RenderActionUpdateAttr(const std::string &page_id, const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *attrs) {
+ this->page_id = page_id;
+ this->ref = ref;
+ this->attrs = attrs;
}
void RenderActionUpdateAttr::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateAttr(mPageId.c_str(),
- mRef.c_str(), mAttrs);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateAttr(this->page_id.c_str(),
+ this->ref.c_str(),
+ this->attrs);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_update_attr.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.h b/weex_core/Source/core/render/action/render_action_update_attr.h
index bb0e49c..b666f41 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.h
+++ b/weex_core/Source/core/render/action/render_action_update_attr.h
@@ -29,15 +29,15 @@ namespace WeexCore {
class RenderActionUpdateAttr : public RenderAction {
public:
- explicit RenderActionUpdateAttr(const std::string &pageId, const std::string &ref,
- std::vector<std::pair<std::string, std::string>> *mAttrs);
+ explicit RenderActionUpdateAttr(const std::string &page_id, const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *attrs);
void ExecuteAction();
public:
- std::string mPageId;
- std::string mRef;
- std::vector<std::pair<std::string, std::string>> *mAttrs;
+ std::string page_id;
+ std::string ref;
+ std::vector<std::pair<std::string, std::string>> *attrs;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_update_style.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.cpp b/weex_core/Source/core/render/action/render_action_update_style.cpp
index 9b2f6a2..21df427 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.cpp
+++ b/weex_core/Source/core/render/action/render_action_update_style.cpp
@@ -22,24 +22,26 @@
namespace WeexCore {
- RenderActionUpdateStyle::RenderActionUpdateStyle(const std::string &pageId,
+ RenderActionUpdateStyle::RenderActionUpdateStyle(const std::string &page_id,
const std::string &ref,
std::vector<std::pair<std::string, std::string>> *style,
std::vector<std::pair<std::string, std::string>> *margin,
std::vector<std::pair<std::string, std::string>> *padding,
std::vector<std::pair<std::string, std::string>> *border) {
- this->mPageId = pageId;
- this->mRef = ref;
- this->mStyle = style;
- this->mMargin = margin;
- this->mPadding = padding;
- this->mBorder = border;
+ this->page_id = page_id;
+ this->ref = ref;
+ this->style = style;
+ this->margin = margin;
+ this->padding = padding;
+ this->border = border;
}
void RenderActionUpdateStyle::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateStyle(mPageId.c_str(),
- mRef.c_str(), mStyle,
- mMargin,
- mPadding, mBorder);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateStyle(this->page_id.c_str(),
+ this->ref.c_str(),
+ this->style,
+ this->margin,
+ this->padding,
+ this->border);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/action/render_action_update_style.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.h b/weex_core/Source/core/render/action/render_action_update_style.h
index 65a31a0..bef6806 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.h
+++ b/weex_core/Source/core/render/action/render_action_update_style.h
@@ -30,7 +30,7 @@ namespace WeexCore {
public:
- explicit RenderActionUpdateStyle(const std::string &pageId, const std::string &ref,
+ explicit RenderActionUpdateStyle(const std::string &page_id, const std::string &ref,
std::vector<std::pair<std::string, std::string>> *style,
std::vector<std::pair<std::string, std::string>> *margin,
std::vector<std::pair<std::string, std::string>> *padding,
@@ -39,12 +39,12 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string mPageId;
- std::string mRef;
- std::vector<std::pair<std::string, std::string>> *mStyle;
- std::vector<std::pair<std::string, std::string>> *mMargin;
- std::vector<std::pair<std::string, std::string>> *mPadding;
- std::vector<std::pair<std::string, std::string>> *mBorder;
+ std::string page_id;
+ std::string ref;
+ std::vector<std::pair<std::string, std::string>> *style;
+ std::vector<std::pair<std::string, std::string>> *margin;
+ std::vector<std::pair<std::string, std::string>> *padding;
+ std::vector<std::pair<std::string, std::string>> *border;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/manager/render_manager.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.cpp b/weex_core/Source/core/render/manager/render_manager.cpp
index c25987d..8b299a9 100644
--- a/weex_core/Source/core/render/manager/render_manager.cpp
+++ b/weex_core/Source/core/render/manager/render_manager.cpp
@@ -25,30 +25,30 @@
namespace WeexCore {
- RenderManager *RenderManager::m_pInstance = nullptr;
+ RenderManager *RenderManager::g_pInstance = nullptr;
- bool RenderManager::CreatePage(std::string pageId, const char *data) {
+ bool RenderManager::CreatePage(std::string page_id, const char *data) {
#if RENDER_LOG
wson_parser parser(data);
LOGD("[RenderManager] CreatePage >>>> pageId: %s, dom data: %s", pageId.c_str(), parser.toStringUTF8().c_str());
#endif
- RenderPage *page = new RenderPage(pageId);
- mPages.insert(std::pair<std::string, RenderPage *>(pageId, page));
+ RenderPage *page = new RenderPage(page_id);
+ this->pages.insert(std::pair<std::string, RenderPage *>(page_id, page));
long long startTime = getCurrentTime();
- RenderObject *root = Wson2RenderObject(data, pageId);
+ RenderObject *root = Wson2RenderObject(data, page_id);
page->ParseJsonTime(getCurrentTime() - startTime);
page->updateDirty(true);
return page->CreateRootRender(root);
}
- bool RenderManager::AddRenderObject(const std::string &pageId, const std::string &parentRef,
+ bool RenderManager::AddRenderObject(const std::string &page_id, const std::string &parent_ref,
int index, const char *data) {
- RenderPage *page = GetPage(pageId);
+ RenderPage *page = GetPage(page_id);
if (page == nullptr)
return false;
@@ -59,19 +59,19 @@ namespace WeexCore {
#endif
long long startTime = getCurrentTime();
- RenderObject *child = Wson2RenderObject(data, pageId);
+ RenderObject *child = Wson2RenderObject(data, page_id);
page->ParseJsonTime(getCurrentTime() - startTime);
if (child == nullptr)
return false;
page->updateDirty(true);
- return page->AddRenderObject(parentRef, index, child);
+ return page->AddRenderObject(parent_ref, index, child);
}
- bool RenderManager::RemoveRenderObject(const std::string &pageId, const std::string &ref) {
+ bool RenderManager::RemoveRenderObject(const std::string &page_id, const std::string &ref) {
- RenderPage *page = this->GetPage(pageId);
+ RenderPage *page = this->GetPage(page_id);
if (page == nullptr)
return false;
@@ -84,9 +84,9 @@ namespace WeexCore {
return page->RemoveRenderObject(ref);
}
- bool RenderManager::MoveRenderObject(const std::string &pageId, const std::string &ref,
- const std::string &parentRef, int index) {
- RenderPage *page = this->GetPage(pageId);
+ bool RenderManager::MoveRenderObject(const std::string &page_id, const std::string &ref,
+ const std::string &parent_ref, int index) {
+ RenderPage *page = this->GetPage(page_id);
if (page == nullptr)
return false;
@@ -96,12 +96,12 @@ namespace WeexCore {
#endif
page->updateDirty(true);
- return page->MoveRenderObject(ref, parentRef, index);
+ return page->MoveRenderObject(ref, parent_ref, index);
}
- bool RenderManager::UpdateAttr(const std::string &pageId, const std::string &ref,
+ bool RenderManager::UpdateAttr(const std::string &page_id, const std::string &ref,
const char *data) {
- RenderPage *page = this->GetPage(pageId);
+ RenderPage *page = this->GetPage(page_id);
if (page == nullptr)
return false;
@@ -119,9 +119,9 @@ namespace WeexCore {
return page->UpdateAttr(ref, attrs);
}
- bool RenderManager::UpdateStyle(const std::string &pageId, const std::string &ref,
+ bool RenderManager::UpdateStyle(const std::string &page_id, const std::string &ref,
const char *data) {
- RenderPage *page = this->GetPage(pageId);
+ RenderPage *page = this->GetPage(page_id);
if (page == nullptr)
return false;
@@ -139,9 +139,9 @@ namespace WeexCore {
return page->UpdateStyle(ref, styles);
}
- bool RenderManager::AddEvent(const std::string &pageId, const std::string &ref,
+ bool RenderManager::AddEvent(const std::string &page_id, const std::string &ref,
const std::string &event) {
- RenderPage *page = this->GetPage(pageId);
+ RenderPage *page = this->GetPage(page_id);
if (page == nullptr)
return false;
@@ -154,9 +154,9 @@ namespace WeexCore {
return page->AddEvent(ref, event);
}
- bool RenderManager::RemoveEvent(const std::string &pageId, const std::string &ref,
+ bool RenderManager::RemoveEvent(const std::string &page_id, const std::string &ref,
const std::string &event) {
- RenderPage *page = this->GetPage(pageId);
+ RenderPage *page = this->GetPage(page_id);
if (page == nullptr)
return false;
@@ -169,8 +169,8 @@ namespace WeexCore {
return page->RemoveEvent(ref, event);
}
- bool RenderManager::CreateFinish(const std::string &pageId) {
- RenderPage *page = GetPage(pageId);
+ bool RenderManager::CreateFinish(const std::string &page_id) {
+ RenderPage *page = GetPage(page_id);
if (page == nullptr)
return false;
@@ -182,17 +182,17 @@ namespace WeexCore {
return page->CreateFinish();
}
- RenderPage *RenderManager::GetPage(const std::string &id) {
- std::map<std::string, RenderPage *>::iterator iter = mPages.find(id);
- if (iter != mPages.end()) {
+ RenderPage *RenderManager::GetPage(const std::string &page_id) {
+ std::map<std::string, RenderPage *>::iterator iter = this->pages.find(page_id);
+ if (iter != this->pages.end()) {
return iter->second;
} else {
return nullptr;
}
}
- bool RenderManager::ClosePage(const std::string &pageId) {
- RenderPage *page = GetPage(pageId);
+ bool RenderManager::ClosePage(const std::string &page_id) {
+ RenderPage *page = GetPage(page_id);
if (page == nullptr)
return false;
@@ -200,13 +200,13 @@ namespace WeexCore {
LOGD("[RenderManager] ClosePage >>>> pageId: %s", pageId.c_str());
#endif
page->OnRenderPageClose();
- mPages.erase(pageId);
+ this->pages.erase(page_id);
delete page;
page = nullptr;
}
- void RenderManager::Batch(const std::string &pageId) {
- RenderPage *page = this->GetPage(pageId);
+ void RenderManager::Batch(const std::string &page_id) {
+ RenderPage *page = this->GetPage(page_id);
if (page == nullptr)
return;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/manager/render_manager.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.h b/weex_core/Source/core/render/manager/render_manager.h
index 3ff9463..33573ff 100644
--- a/weex_core/Source/core/render/manager/render_manager.h
+++ b/weex_core/Source/core/render/manager/render_manager.h
@@ -37,8 +37,8 @@ namespace WeexCore {
class Garbo {
public:
~Garbo() {
- if (RenderManager::m_pInstance) {
- delete RenderManager::m_pInstance;
+ if (RenderManager::g_pInstance) {
+ delete RenderManager::g_pInstance;
}
}
};
@@ -47,44 +47,44 @@ namespace WeexCore {
public:
- void Batch(const std::string &pageId);
+ void Batch(const std::string &page_id);
// create root node
- bool CreatePage(std::string pageId, const char *data);
+ bool CreatePage(std::string page_id, const char *data);
/** use auto constructor is bad idea, it cann't transfer binary, use char* is better */
- bool AddRenderObject(const std::string &pageId, const std::string &parentRef, int index,
+ bool AddRenderObject(const std::string &page_id, const std::string &parent_ref, int index,
const char *data);
- bool RemoveRenderObject(const std::string &pageId, const std::string &ref);
+ bool RemoveRenderObject(const std::string &page_id, const std::string &ref);
- bool MoveRenderObject(const std::string &pageId, const std::string &ref,
- const std::string &parentRef, int index);
+ bool MoveRenderObject(const std::string &page_id, const std::string &ref,
+ const std::string &parent_ref, int index);
- bool UpdateAttr(const std::string &pageId, const std::string &ref, const char *data);
+ bool UpdateAttr(const std::string &page_id, const std::string &ref, const char *data);
- bool UpdateStyle(const std::string &pageId, const std::string &ref, const char *data);
+ bool UpdateStyle(const std::string &page_id, const std::string &ref, const char *data);
- bool AddEvent(const std::string &pageId, const std::string &ref, const std::string &event);
+ bool AddEvent(const std::string &page_id, const std::string &ref, const std::string &event);
- bool RemoveEvent(const std::string &pageId, const std::string &ref, const std::string &event);
+ bool RemoveEvent(const std::string &page_id, const std::string &ref, const std::string &event);
- bool CreateFinish(const std::string &pageId);
+ bool CreateFinish(const std::string &page_id);
- RenderPage *GetPage(const std::string &id);
+ RenderPage *GetPage(const std::string &page_id);
- bool ClosePage(const std::string &pageId);
+ bool ClosePage(const std::string &page_id);
static RenderManager *GetInstance() {
- if (!m_pInstance) {
- m_pInstance = new RenderManager();
+ if (!g_pInstance) {
+ g_pInstance = new RenderManager();
}
- return m_pInstance;
+ return g_pInstance;
}
private:
- static RenderManager *m_pInstance;
- std::map<std::string, RenderPage *> mPages;
+ static RenderManager *g_pInstance;
+ std::map<std::string, RenderPage *> pages;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/factory/render_creator.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_creator.cpp b/weex_core/Source/core/render/node/factory/render_creator.cpp
index 471e312..f3ecdad 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.cpp
+++ b/weex_core/Source/core/render/node/factory/render_creator.cpp
@@ -29,7 +29,7 @@
namespace WeexCore {
- RenderCreator *RenderCreator::m_pInstance = nullptr;
+ RenderCreator *RenderCreator::g_pInstance = nullptr;
IRenderObject *RenderCreator::CreateRender(const std::string &type, const std::string &ref) {
IRenderFactory *factory;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/factory/render_creator.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_creator.h b/weex_core/Source/core/render/node/factory/render_creator.h
index 593eb57..b78a487 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.h
+++ b/weex_core/Source/core/render/node/factory/render_creator.h
@@ -36,8 +36,8 @@ namespace WeexCore {
class Garbo {
public:
~Garbo() {
- if (RenderCreator::m_pInstance) {
- delete RenderCreator::m_pInstance;
+ if (RenderCreator::g_pInstance) {
+ delete RenderCreator::g_pInstance;
}
}
};
@@ -47,16 +47,16 @@ namespace WeexCore {
public:
static RenderCreator *GetInstance() {
- if (!m_pInstance) {
- m_pInstance = new RenderCreator();
+ if (!g_pInstance) {
+ g_pInstance = new RenderCreator();
}
- return m_pInstance;
+ return g_pInstance;
}
IRenderObject *CreateRender(const std::string &type, const std::string &ref);
private:
- static RenderCreator *m_pInstance;
+ static RenderCreator *g_pInstance;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/factory/render_object_interface.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_object_interface.h b/weex_core/Source/core/render/node/factory/render_object_interface.h
index 79e6e47..13d2aaf 100644
--- a/weex_core/Source/core/render/node/factory/render_object_interface.h
+++ b/weex_core/Source/core/render/node/factory/render_object_interface.h
@@ -30,27 +30,27 @@ namespace WeexCore {
public:
inline void SetRef(std::string ref) {
- mRef = ref;
+ this->ref = ref;
}
inline const std::string &Ref() const {
- return mRef;
+ return this->ref;
}
- inline void SetPageId(std::string pageId) {
- this->mPageId = pageId;
+ inline void SetPageId(std::string page_id) {
+ this->page_id = page_id;
}
inline const std::string &PageId() const {
- return mPageId;
+ return this->page_id;
}
inline void SetType(std::string type) {
- mType = type;
+ this->tyle = type;
}
inline const std::string &Type() const {
- return mType;
+ return this->tyle;
}
inline void copyFrom(IRenderObject *src) {
@@ -62,9 +62,9 @@ namespace WeexCore {
private:
- std::string mPageId = "";
- std::string mRef = "";
- std::string mType = "";
+ std::string page_id = "";
+ std::string ref = "";
+ std::string tyle = "";
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/render_appbar.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_appbar.cpp b/weex_core/Source/core/render/node/render_appbar.cpp
index 9a6a766..d97c0d4 100644
--- a/weex_core/Source/core/render/node/render_appbar.cpp
+++ b/weex_core/Source/core/render/node/render_appbar.cpp
@@ -24,10 +24,10 @@
namespace WeexCore {
std::map<std::string, std::string> *RenderAppBar::GetDefaultStyle() {
- defaultNavWidth = getFloat(
+ this->default_nav_width = getFloat(
WXCoreEnvironment::getInstance()->GetOption("defaultNavWidth").c_str());
- defaultOverflowWidth = getFloat(
+ this->default_overflow_width = getFloat(
WXCoreEnvironment::getInstance()->GetOption("defaultOverflowWidth").c_str());
std::string appbar_color = WXCoreEnvironment::getInstance()->GetOption("appbar_color");
@@ -58,8 +58,8 @@ namespace WeexCore {
value,
0,
[=](float foo) {
- setPadding(kPaddingLeft, foo + defaultNavWidth),
- setPadding(kPaddingRight, foo + defaultOverflowWidth),
+ setPadding(kPaddingLeft, foo + this->default_nav_width),
+ setPadding(kPaddingRight, foo + this->default_overflow_width),
setPadding(kPaddingTop, foo),
setPadding(kPaddingBottom, foo);
});
@@ -68,14 +68,14 @@ namespace WeexCore {
UpdateStyleInternal(key,
value,
0,
- [=](float foo) { setPadding(kPaddingLeft, foo + defaultNavWidth); });
+ [=](float foo) { setPadding(kPaddingLeft, foo + this->default_nav_width); });
return kTypePadding;
} else if (key == PADDING_RIGHT) {
UpdateStyleInternal(key,
value,
0,
[=](float foo) {
- setPadding(kPaddingRight, foo + defaultOverflowWidth);
+ setPadding(kPaddingRight, foo + this->default_overflow_width);
});
return kTypePadding;
} else {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/render_appbar.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_appbar.h b/weex_core/Source/core/render/node/render_appbar.h
index 7259bbb..4772b10 100644
--- a/weex_core/Source/core/render/node/render_appbar.h
+++ b/weex_core/Source/core/render/node/render_appbar.h
@@ -38,8 +38,8 @@ namespace WeexCore {
private:
- float defaultNavWidth;
- float defaultOverflowWidth;
+ float default_nav_width;
+ float default_overflow_width;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/render_list.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.cpp b/weex_core/Source/core/render/node/render_list.cpp
index 8c5042c..89ac63c 100644
--- a/weex_core/Source/core/render/node/render_list.cpp
+++ b/weex_core/Source/core/render/node/render_list.cpp
@@ -28,32 +28,32 @@
namespace WeexCore {
RenderList::~RenderList() {
- if (cellSlotsCopys.size() > 0) {
- for (auto it = cellSlotsCopys.begin(); it != cellSlotsCopys.end(); ++it) {
+ if (this->cell_slots_copys.size() > 0) {
+ for (auto it = this->cell_slots_copys.begin(); it != this->cell_slots_copys.end(); ++it) {
RenderObject *child = *it;
if (child) {
delete child;
child = nullptr;
}
}
- cellSlotsCopys.clear();
+ this->cell_slots_copys.clear();
}
- if (cellSlots.size() > 0) {
- for (auto it = cellSlots.begin(); it != cellSlots.end(); ++it) {
+ if (this->cell_slots.size() > 0) {
+ for (auto it = this->cell_slots.begin(); it != this->cell_slots.end(); ++it) {
RenderObject *child = *it;
if (child) {
delete child;
child = nullptr;
}
}
- cellSlots.clear();
+ this->cell_slots.clear();
}
}
void RenderList::addCellSlotCopyTrack(RenderObject *cellSlot) {
cellSlot->setParent(this, cellSlot);
- cellSlotsCopys.push_back(cellSlot);
+ this->cell_slots_copys.push_back(cellSlot);
}
std::map<std::string, std::string> *RenderList::GetDefaultStyle() {
@@ -72,11 +72,11 @@ namespace WeexCore {
std::string prop = isVertical ? HEIGHT : WIDTH;
- if (prop == HEIGHT && isnan(getStyleHeight()) && !mIsSetFlex) {
- mIsSetFlex = true;
+ if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex) {
+ this->is_set_flex = true;
style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- } else if (prop == WIDTH && isnan(getStyleWidth()) && !mIsSetFlex) {
- mIsSetFlex = true;
+ } else if (prop == WIDTH && isnan(getStyleWidth()) && !this->is_set_flex) {
+ this->is_set_flex = true;
style->insert(std::pair<std::string, std::string>(FLEX, "1"));
}
@@ -84,12 +84,12 @@ namespace WeexCore {
}
void RenderList::setFlex(const float flex) {
- mIsSetFlex = true;
+ this->is_set_flex = true;
WXCoreLayoutNode::setFlex(flex);
}
std::map<std::string, std::string> *RenderList::GetDefaultAttr() {
- if (!mIsPreCalculateCellWidth) {
+ if (!this->is_pre_calculate_cell_width) {
preCalculateCellWidth();
}
return nullptr;
@@ -98,55 +98,65 @@ namespace WeexCore {
void RenderList::preCalculateCellWidth() {
std::map<std::string, std::string> *attrs = new std::map<std::string, std::string>();
if (Attributes() != nullptr) {
- mColumnCount = getColumnCount();
- mColumnWidth = getColumnWidth();
- mColumnGap = getColumnGap();
+ this->column_count = getColumnCount();
+ this->column_width = getColumnWidth();
+ this->column_gap = getColumnGap();
- mLeftGap = getLeftGap();
- mRightGap = getRightGap();
+ this->left_gap = getLeftGap();
+ this->right_gap = getRightGap();
- mAvailableWidth =
+ this->available_width =
getStyleWidth() - getWebPxByWidth(getPaddingLeft(), GetRenderPage()->ViewPortWidth()) -
getWebPxByWidth(getPaddingRight(), GetRenderPage()->ViewPortWidth());
- if (AUTO_VALUE == mColumnCount && AUTO_VALUE == mColumnWidth) {
- mColumnCount = COLUMN_COUNT_NORMAL;
- mColumnWidth = (mAvailableWidth - ((mColumnCount - 1) * mColumnGap)) / mColumnCount;
- mColumnWidth = mColumnWidth > 0 ? mColumnWidth : 0;
- } else if (AUTO_VALUE == mColumnWidth && AUTO_VALUE != mColumnCount) {
- mColumnWidth =
- (mAvailableWidth - mLeftGap - mRightGap - ((mColumnCount - 1) * mColumnGap)) /
- mColumnCount;
- mColumnWidth = mColumnWidth > 0 ? mColumnWidth : 0;
- } else if (AUTO_VALUE != mColumnWidth && AUTO_VALUE == mColumnCount) {
- mColumnCount = (int) round(
- (mAvailableWidth + mColumnGap) / (mColumnWidth + mColumnGap) - 0.5f);
- mColumnCount = mColumnCount > 0 ? mColumnCount : 1;
- if (mColumnCount <= 0) {
- mColumnCount = COLUMN_COUNT_NORMAL;
+ if (AUTO_VALUE == this->column_count && AUTO_VALUE == this->column_width) {
+ this->column_count = COLUMN_COUNT_NORMAL;
+ this->column_width =
+ (this->available_width - ((this->column_count - 1) * this->column_gap)) /
+ this->column_count;
+ this->column_width = this->column_width > 0 ? this->column_width : 0;
+ } else if (AUTO_VALUE == this->column_width && AUTO_VALUE != this->column_count) {
+ this->column_width =
+ (this->available_width - this->left_gap - this->right_gap -
+ ((this->column_count - 1) * this->column_gap)) /
+ this->column_count;
+ this->column_width = this->column_width > 0 ? this->column_width : 0;
+ } else if (AUTO_VALUE != this->column_width && AUTO_VALUE == this->column_count) {
+ this->column_count = (int) round(
+ (this->available_width + this->column_gap) / (this->column_width + this->column_gap) -
+ 0.5f);
+ this->column_count = this->column_count > 0 ? this->column_count : 1;
+ if (this->column_count <= 0) {
+ this->column_count = COLUMN_COUNT_NORMAL;
}
- mColumnWidth =
- ((mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / mColumnCount) - mColumnGap;
+ this->column_width =
+ ((this->available_width + this->column_gap - this->left_gap - this->right_gap) /
+ this->column_count) - this->column_gap;
- } else if (AUTO_VALUE != mColumnWidth && AUTO_VALUE != mColumnCount) {
+ } else if (AUTO_VALUE != this->column_width && AUTO_VALUE != this->column_count) {
int columnCount = (int) round(
- (mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / (mColumnWidth + mColumnGap) -
+ (this->available_width + this->column_gap - this->left_gap - this->right_gap) /
+ (this->column_width + this->column_gap) -
0.5f);
- mColumnCount = columnCount > mColumnCount ? mColumnCount : columnCount;
- if (mColumnCount <= 0) {
- mColumnCount = COLUMN_COUNT_NORMAL;
+ this->column_count = columnCount > this->column_count ? this->column_count : columnCount;
+ if (this->column_count <= 0) {
+ this->column_count = COLUMN_COUNT_NORMAL;
}
- mColumnWidth =
- ((mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / mColumnCount) - mColumnGap;
+ this->column_width =
+ ((this->available_width + this->column_gap - this->left_gap - this->right_gap) /
+ this->column_count) - this->column_gap;
}
std::string spanOffsets = calcSpanOffset();
- mIsPreCalculateCellWidth = true;
- if (getColumnCount() > 0 || getColumnWidth() > 0 || mColumnCount > COLUMN_COUNT_NORMAL) {
- attrs->insert(std::pair<std::string, std::string>(COLUMN_COUNT, to_string(mColumnCount)));
- attrs->insert(std::pair<std::string, std::string>(COLUMN_GAP, to_string(mColumnGap)));
- attrs->insert(std::pair<std::string, std::string>(COLUMN_WIDTH, to_string(mColumnWidth)));
+ this->is_pre_calculate_cell_width = true;
+ if (getColumnCount() > 0 || getColumnWidth() > 0 ||
+ this->column_count > COLUMN_COUNT_NORMAL) {
+ attrs->insert(
+ std::pair<std::string, std::string>(COLUMN_COUNT, to_string(this->column_count)));
+ attrs->insert(std::pair<std::string, std::string>(COLUMN_GAP, to_string(this->column_gap)));
+ attrs->insert(
+ std::pair<std::string, std::string>(COLUMN_WIDTH, to_string(this->column_width)));
}
if (spanOffsets.length() > 0) {
attrs->insert(std::pair<std::string, std::string>(SPAN_OFFSETS, to_string(spanOffsets)));
@@ -171,13 +181,14 @@ namespace WeexCore {
std::string RenderList::calcSpanOffset() {
std::string spanOffsets;
- if (mLeftGap > 0 || mRightGap > 0) {
+ if (this->left_gap > 0 || this->right_gap > 0) {
spanOffsets.append("[");
- for (int i = 0; i < mColumnCount; i++) {
- float spanOffset = mLeftGap + i * ((mColumnWidth + mColumnGap) -
- (mAvailableWidth + mColumnGap) / mColumnCount);
+ for (int i = 0; i < this->column_count; i++) {
+ float spanOffset = this->left_gap + i * ((this->column_width + this->column_gap) -
+ (this->available_width + this->column_gap) /
+ this->column_count);
spanOffsets.append(to_string(spanOffset));
- if (i != mColumnCount - 1) {
+ if (i != this->column_count - 1) {
spanOffsets.append(",");
}
}
@@ -207,17 +218,17 @@ namespace WeexCore {
&& (child->Type() == kRenderCellSlot || child->Type() == kRenderCell ||
child->Type() == kRenderHeader)) {
child->setParent(this, child);
- cellSlots.insert(cellSlots.end(), child);
+ this->cell_slots.insert(this->cell_slots.end(), child);
index = -1;
} else {
index = RenderObject::AddRenderObject(index, child);
}
- if (!mIsPreCalculateCellWidth) {
+ if (!this->is_pre_calculate_cell_width) {
preCalculateCellWidth();
}
- if (mColumnWidth != 0 && !isnan(mColumnWidth)) {
+ if (this->column_width != 0 && !isnan(this->column_width)) {
AddRenderObjectWidth(child, false);
}
return index;
@@ -226,11 +237,11 @@ namespace WeexCore {
void RenderList::AddRenderObjectWidth(RenderObject *child, const bool updating) {
if (Type() == kRenderWaterfall || Type() == kRenderRecycleList) {
if (child->Type() == kRenderHeader || child->Type() == kRenderFooter) {
- child->ApplyStyle(WIDTH, to_string(mAvailableWidth), updating);
+ child->ApplyStyle(WIDTH, to_string(this->available_width), updating);
} else if (child->IsSticky()) {
- child->ApplyStyle(WIDTH, to_string(mAvailableWidth), updating);
+ child->ApplyStyle(WIDTH, to_string(this->available_width), updating);
} else if (child->Type() == kRenderCell || child->Type() == kRenderCellSlot) {
- child->ApplyStyle(WIDTH, to_string(mColumnWidth), updating);
+ child->ApplyStyle(WIDTH, to_string(this->column_width), updating);
}
}
}
@@ -242,7 +253,7 @@ namespace WeexCore {
!GetAttr(COLUMN_WIDTH).empty()) {
preCalculateCellWidth();
- if (mColumnWidth == 0 && isnan(mColumnWidth)) {
+ if (this->column_width == 0 && isnan(this->column_width)) {
return;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/render_list.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.h b/weex_core/Source/core/render/node/render_list.h
index 16d09dc..ad0417c 100644
--- a/weex_core/Source/core/render/node/render_list.h
+++ b/weex_core/Source/core/render/node/render_list.h
@@ -67,21 +67,21 @@ namespace WeexCore {
}
inline std::vector<RenderObject *> &CellSlots() {
- return cellSlots;
+ return cell_slots;
}
private:
- bool mIsPreCalculateCellWidth = false;
- int mColumnCount = COLUMN_COUNT_NORMAL;
- float mColumnWidth = AUTO_VALUE;
- float mAvailableWidth = 0;
- float mColumnGap = COLUMN_GAP_NORMAL;
- bool mIsSetFlex = false;
- std::vector<RenderObject *> cellSlots;
- std::vector<RenderObject *> cellSlotsCopys;
- float mLeftGap = 0;
- float mRightGap = 0;
+ bool is_pre_calculate_cell_width = false;
+ int column_count = COLUMN_COUNT_NORMAL;
+ float column_width = AUTO_VALUE;
+ float available_width = 0;
+ float column_gap = COLUMN_GAP_NORMAL;
+ bool is_set_flex = false;
+ std::vector<RenderObject *> cell_slots;
+ std::vector<RenderObject *> cell_slots_copys;
+ float left_gap = 0;
+ float right_gap = 0;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/render_object.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.cpp b/weex_core/Source/core/render/node/render_object.cpp
index 04cc24a..a13d6d1 100644
--- a/weex_core/Source/core/render/node/render_object.cpp
+++ b/weex_core/Source/core/render/node/render_object.cpp
@@ -29,29 +29,29 @@
namespace WeexCore {
RenderObject::RenderObject() {
- mStyles = new std::map<std::string, std::string>();
- mAttributes = new std::map<std::string, std::string>();
- mEvents = new std::set<std::string>();
- mIsRootRender = false;
+ this->styles = new std::map<std::string, std::string>();
+ this->attributes = new std::map<std::string, std::string>();
+ this->events = new std::set<std::string>();
+ this->is_root_render = false;
}
RenderObject::~RenderObject() {
- mParentRender = nullptr;
+ this->parent_render = nullptr;
- if (mStyles != nullptr) {
- delete mStyles;
- mStyles = nullptr;
+ if (this->styles != nullptr) {
+ delete this->styles;
+ this->styles = nullptr;
}
- if (mAttributes != nullptr) {
- delete mAttributes;
- mAttributes = nullptr;
+ if (this->attributes != nullptr) {
+ delete this->attributes;
+ this->attributes = nullptr;
}
- if (mEvents != nullptr) {
- delete mEvents;
- mEvents = nullptr;
+ if (this->events != nullptr) {
+ delete this->events;
+ this->events = nullptr;
}
for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
@@ -130,7 +130,7 @@ namespace WeexCore {
bool insert = false;
if (value.length() > 0 &&
(value.at(0) == JSON_OBJECT_MARK_CHAR || value.at(0) == JSON_ARRAY_MARK_CHAR)) {
- mapInsertOrAssign(mStyles, key, value);
+ mapInsertOrAssign(this->styles, key, value);
insert = true;
}
@@ -184,9 +184,9 @@ namespace WeexCore {
} else if (key == POSITION) {
setStylePositionType(GetWXCorePositionType(value));
if (value == STICKY) {
- mIsSticky = true;
+ this->is_sticky = true;
}
- mapInsertOrAssign(mStyles, key, value);
+ mapInsertOrAssign(this->styles, key, value);
return kTypeStyle;
} else if (key == LEFT) {
UpdateStyleInternal(key, value, NAN,
@@ -253,18 +253,18 @@ namespace WeexCore {
return kTypePadding;
} else {
if (!insert) {
- mapInsertOrAssign(mStyles, key, value);
+ mapInsertOrAssign(this->styles, key, value);
}
return kTypeStyle;
}
}
const std::string RenderObject::GetStyle(const std::string &key) {
- if (mStyles == nullptr)
+ if (this->styles == nullptr)
return "";
- std::map<std::string, std::string>::iterator iter = mStyles->find(key);
- if (iter != mStyles->end()) {
+ std::map<std::string, std::string>::iterator iter = this->styles->find(key);
+ if (iter != this->styles->end()) {
return iter->second;
} else {
return "";
@@ -272,11 +272,11 @@ namespace WeexCore {
}
const std::string RenderObject::GetAttr(const std::string &key) {
- if (mAttributes == nullptr)
+ if (this->attributes == nullptr)
return "";
- std::map<std::string, std::string>::iterator iter = mAttributes->find(key);
- if (iter != mAttributes->end()) {
+ std::map<std::string, std::string>::iterator iter = this->attributes->find(key);
+ if (iter != this->attributes->end()) {
return iter->second;
} else {
return "";
@@ -284,8 +284,8 @@ namespace WeexCore {
}
float RenderObject::GetViewPortWidth() {
- if (mViewPortWidth >= 0)
- return mViewPortWidth;
+ if (this->viewport_width >= 0)
+ return this->viewport_width;
RenderPage *page = GetRenderPage();
if (page == nullptr)
@@ -374,9 +374,9 @@ namespace WeexCore {
void RenderObject::copyFrom(RenderObject *src) {
IRenderObject::copyFrom(src);
- this->mStyles->insert(src->mStyles->begin(), src->mStyles->end());
- this->mAttributes->insert(src->mAttributes->begin(), src->mAttributes->end());
- this->mEvents->insert(src->mEvents->begin(), src->mEvents->end());
+ this->styles->insert(src->styles->begin(), src->styles->end());
+ this->attributes->insert(src->attributes->begin(), src->attributes->end());
+ this->events->insert(src->events->begin(), src->events->end());
}
void RenderObject::mapInsertOrAssign(std::map<std::string, std::string> *targetMap,
@@ -408,7 +408,7 @@ namespace WeexCore {
}
void RenderObject::UpdateAttr(std::string key, std::string value) {
- mapInsertOrAssign(mAttributes, key, value);
+ mapInsertOrAssign(this->attributes, key, value);
}
StyleType RenderObject::UpdateStyle(std::string key, std::string value) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.h b/weex_core/Source/core/render/node/render_object.h
index 9445243..1e519af 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -117,7 +117,7 @@ namespace WeexCore {
}
inline void AddAttr(std::string key, std::string value) {
- mapInsertOrAssign(mAttributes, key, value);
+ mapInsertOrAssign(this->attributes, key, value);
}
inline StyleType AddStyle(std::string key, std::string value) {
@@ -125,57 +125,57 @@ namespace WeexCore {
}
inline void AddEvent(std::string event) {
- if (mEvents == nullptr || mEvents->empty()) {
- mEvents = new std::set<std::string>();
+ if (this->events == nullptr || this->events->empty()) {
+ this->events = new std::set<std::string>();
}
- mEvents->insert(event);
+ this->events->insert(event);
}
inline void RemoveEvent(const std::string &event) {
- mEvents->erase(event);
+ this->events->erase(event);
}
inline void SetParentRender(RenderObject *render) {
- mParentRender = render;
+ this->parent_render = render;
}
inline RenderObject *GetParentRender() {
- return mParentRender;
+ return this->parent_render;
}
inline std::map<std::string, std::string> *Styles() const {
- return mStyles;
+ return this->styles;
}
inline std::map<std::string, std::string> * Attributes() const {
- return mAttributes;
+ return this->attributes;
}
inline std::set<std::string> *Events() const {
- return mEvents;
+ return this->events;
}
inline void MarkRootRender() {
- mIsRootRender = true;
+ this->is_root_render = true;
}
inline bool IsRootRender() {
- return mIsRootRender;
+ return this->is_root_render;
}
inline bool IsSticky() {
- return mIsSticky;
+ return this->is_sticky;
}
private:
- RenderObject *mParentRender;
- std::map<std::string, std::string> *mStyles;
- std::map<std::string, std::string> *mAttributes;
- std::set<std::string> *mEvents;
- float mViewPortWidth = -1;
- bool mIsRootRender;
- bool mIsSticky = false;
+ RenderObject *parent_render;
+ std::map<std::string, std::string> *styles;
+ std::map<std::string, std::string> *attributes;
+ std::set<std::string> *events;
+ float viewport_width = -1;
+ bool is_root_render;
+ bool is_sticky = false;
};
} //end WeexCore
#endif //RenderObject_h
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/render_scroller.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_scroller.cpp b/weex_core/Source/core/render/node/render_scroller.cpp
index 563f7db..4844383 100644
--- a/weex_core/Source/core/render/node/render_scroller.cpp
+++ b/weex_core/Source/core/render/node/render_scroller.cpp
@@ -35,9 +35,9 @@ namespace WeexCore {
std::string prop = isVertical ? HEIGHT : WIDTH;
- if (prop == HEIGHT && isnan(getStyleHeight()) && !mIsSetFlex) {
+ if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex) {
style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- } else if (prop == WIDTH && isnan(getStyleWidth()) && !mIsSetFlex) {
+ } else if (prop == WIDTH && isnan(getStyleWidth()) && !this->is_set_flex) {
style->insert(std::pair<std::string, std::string>(FLEX, "1"));
}
@@ -45,7 +45,7 @@ namespace WeexCore {
}
void RenderScroller::setFlex(const float flex) {
- mIsSetFlex = true;
+ this->is_set_flex = true;
WXCoreLayoutNode::setFlex(flex);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/node/render_scroller.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_scroller.h b/weex_core/Source/core/render/node/render_scroller.h
index cb4e1f0..2868d8b 100644
--- a/weex_core/Source/core/render/node/render_scroller.h
+++ b/weex_core/Source/core/render/node/render_scroller.h
@@ -24,14 +24,14 @@
namespace WeexCore {
class RenderScroller : public RenderObject {
- bool mIsSetFlex = false;
+ bool is_set_flex = false;
std::map<std::string, std::string> *GetDefaultStyle();
void setFlex(const float flex);
inline float calcFreeSpaceAlongMainAxis(const float &width, const float &height,
- const float ¤tLength) const override {
+ const float ¤t_length) const override {
return NAN;
}
[05/50] [abbrv] incubator-weex git commit: * [iOS] fix history issue
: delete rootNode in mainThread
Posted by cx...@apache.org.
* [iOS] fix history issue : delete rootNode in mainThread
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/69679b03
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/69679b03
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/69679b03
Branch: refs/heads/release
Commit: 69679b034eccaf1312799e2f8597dda857b91a2f
Parents: 185d393
Author: zhongcang <qh...@gmail.com>
Authored: Tue Jun 5 11:17:48 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Thu Jun 7 17:58:56 2018 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/69679b03/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
index 0bda28a..ed3e9f0 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
@@ -94,9 +94,11 @@ static NSThread *WXComponentThread;
- (void)dealloc
{
if(_rootFlexCSSNode){
- delete _rootFlexCSSNode;
-
- // WeexCore::WXCoreLayoutNode::freeNodeTree(_rootFlexCSSNode);
+ if ([[NSThread currentThread].name isEqualToString:WX_COMPONENT_THREAD_NAME]) {
+ delete _rootFlexCSSNode;
+ }else{
+ [WXComponent recycleNodeOnComponentThread:_rootFlexCSSNode gabRef:@"_root_p"];
+ }
_rootFlexCSSNode=nullptr;
}
[NSMutableArray wx_releaseArray:_fixedComponents];
[09/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Using
clang-format
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.h b/weex_core/Source/core/render/node/render_object.h
index 91c9a16..8f50bff 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -16,154 +16,144 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef RenderObject_h
-#define RenderObject_h
+#ifndef CORE_RENDER_NODE_RENDER_OBJECT_H_
+#define CORE_RENDER_NODE_RENDER_OBJECT_H_
-#include <string>
+#include <functional>
#include <map>
#include <set>
-#include <functional>
+#include <string>
#include "core/render/node/factory/render_object_interface.h"
-#define JSON_OBJECT_MARK_CHAR '{'
-#define JSON_ARRAY_MARK_CHAR '['
+#define JSON_OBJECT_MARK_CHAR '{'
+#define JSON_ARRAY_MARK_CHAR '['
-#define convert_render_object_to_long(render) ((jlong)((intptr_t)render))
+#define convert_render_object_to_long(render) ((jlong)((intptr_t)render))
-#define convert_long_to_render_object(ptr) ((RenderObject *)((intptr_t)ptr))
+#define convert_long_to_render_object(ptr) \
+ (static_cast<RenderObject *>((intptr_t)ptr))
namespace WeexCore {
- class RenderObject;
-
- class RenderPage;
-
- typedef enum StyleType {
- kTypeStyle, kTypeLayout, kTypeMargin, kTypePadding, kTypeBorder
- } StyleType;
-
- class RenderObject : public IRenderObject {
-
- friend class RenderPage;
-
- public:
-
- void LayoutBeforeImpl();
+class RenderObject;
- void LayoutAfterImpl();
+class RenderPage;
- void CopyFrom(RenderObject *src);
+typedef enum StyleType {
+ kTypeStyle,
+ kTypeLayout,
+ kTypeMargin,
+ kTypePadding,
+ kTypeBorder
+} StyleType;
- void MapInsertOrAssign(std::map<std::string, std::string> *targetMap, const std::string &key,
- const std::string &value);
+class RenderObject : public IRenderObject {
+ friend class RenderPage;
- bool ViewInit();
+ public:
+ void LayoutBeforeImpl();
- virtual std::map<std::string, std::string> *GetDefaultStyle() {
- return nullptr;
- }
+ void LayoutAfterImpl();
- virtual std::map<std::string, std::string> *GetDefaultAttr() {
- return nullptr;
- }
+ void CopyFrom(RenderObject *src);
- protected:
+ void MapInsertOrAssign(std::map<std::string, std::string> *targetMap,
+ const std::string &key, const std::string &value);
- bool UpdateStyleInternal(const std::string key, const std::string value, float fallback,
- std::function<void(float)> functor);
+ bool ViewInit();
- public:
+ virtual std::map<std::string, std::string> *GetDefaultStyle() {
+ return nullptr;
+ }
- explicit RenderObject();
+ virtual std::map<std::string, std::string> *GetDefaultAttr() {
+ return nullptr;
+ }
- ~RenderObject();
+ protected:
+ bool UpdateStyleInternal(const std::string key, const std::string value,
+ float fallback, std::function<void(float)> functor);
- void BindMeasureFunc();
+ public:
+ RenderObject();
- void OnLayoutBefore();
+ ~RenderObject();
- void OnLayoutAfter(float width, float height);
+ void BindMeasureFunc();
- virtual StyleType ApplyStyle(const std::string &key, const std::string &value, const bool updating);
+ void OnLayoutBefore();
- void ApplyDefaultStyle();
+ void OnLayoutAfter(float width, float height);
- void ApplyDefaultAttr();
+ virtual StyleType ApplyStyle(const std::string &key, const std::string &value,
+ const bool updating);
- Index IndexOf(const RenderObject *render);
+ void ApplyDefaultStyle();
- virtual int AddRenderObject(int index, RenderObject *child);
+ void ApplyDefaultAttr();
- float GetViewPortWidth();
+ Index IndexOf(const RenderObject *render);
- const std::string GetAttr(const std::string &key);
+ virtual int AddRenderObject(int index, RenderObject *child);
- const std::string GetStyle(const std::string &key);
+ float GetViewPortWidth();
- RenderPage *GetRenderPage();
+ const std::string GetAttr(const std::string &key);
- virtual void UpdateAttr(std::string key, std::string value);
+ const std::string GetStyle(const std::string &key);
- virtual StyleType UpdateStyle(std::string key, std::string value);
+ RenderPage *GetRenderPage();
- bool IsAppendTree();
+ virtual void UpdateAttr(std::string key, std::string value);
- RenderObject *GetChild(const Index &index);
+ virtual StyleType UpdateStyle(std::string key, std::string value);
- void RemoveRenderObject(RenderObject *child);
+ bool IsAppendTree();
- void AddAttr(std::string key, std::string value);
+ RenderObject *GetChild(const Index &index);
- StyleType AddStyle(std::string key, std::string value);
+ void RemoveRenderObject(RenderObject *child);
- void AddEvent(std::string event);
+ void AddAttr(std::string key, std::string value);
- void RemoveEvent(const std::string &event);
+ StyleType AddStyle(std::string key, std::string value);
- public:
+ void AddEvent(std::string event);
- inline void set_parent_render(RenderObject *render) {
- this->parent_render_ = render;
- }
+ void RemoveEvent(const std::string &event);
- inline RenderObject *parent_render() {
- return this->parent_render_;
- }
+ public:
+ inline void set_parent_render(RenderObject *render) {
+ this->parent_render_ = render;
+ }
- inline std::map<std::string, std::string> *styles() const {
- return this->styles_;
- }
+ inline RenderObject *parent_render() { return this->parent_render_; }
- inline std::map<std::string, std::string> * attributes() const {
- return this->attributes_;
- }
+ inline std::map<std::string, std::string> *styles() const {
+ return this->styles_;
+ }
- inline std::set<std::string> *events() const {
- return this->events_;
- }
+ inline std::map<std::string, std::string> *attributes() const {
+ return this->attributes_;
+ }
- inline void set_is_root_render() {
- this->is_root_render_ = true;
- }
+ inline std::set<std::string> *events() const { return this->events_; }
- inline bool is_root_render() {
- return this->is_root_render_;
- }
+ inline void set_is_root_render() { this->is_root_render_ = true; }
- inline bool is_sticky() {
- return this->is_sticky_;
- }
+ inline bool is_root_render() { return this->is_root_render_; }
- private:
+ inline bool is_sticky() { return this->is_sticky_; }
- RenderObject *parent_render_;
- std::map<std::string, std::string> *styles_;
- std::map<std::string, std::string> *attributes_;
- std::set<std::string> *events_;
- float viewport_width_ = -1;
- bool is_root_render_;
- bool is_sticky_ = false;
- };
-} //end WeexCore
-#endif //RenderObject_h
+ private:
+ RenderObject *parent_render_;
+ std::map<std::string, std::string> *styles_;
+ std::map<std::string, std::string> *attributes_;
+ std::set<std::string> *events_;
+ float viewport_width_ = -1;
+ bool is_root_render_;
+ bool is_sticky_ = false;
+};
+} // namespace WeexCore
+#endif // CORE_RENDER_NODE_RENDER_OBJECT_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_scroller.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_scroller.cpp b/weex_core/Source/core/render/node/render_scroller.cpp
index 139af5e..7fcdfc6 100644
--- a/weex_core/Source/core/render/node/render_scroller.cpp
+++ b/weex_core/Source/core/render/node/render_scroller.cpp
@@ -16,36 +16,40 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include "core/render/node/render_scroller.h"
+
+#include <utility>
+
#include "core/css/constants_name.h"
+#include "core/render/node/render_scroller.h"
namespace WeexCore {
- std::map<std::string, std::string> *RenderScroller::GetDefaultStyle() {
- std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
+std::map<std::string, std::string> *RenderScroller::GetDefaultStyle() {
+ std::map<std::string, std::string> *style =
+ new std::map<std::string, std::string>();
- bool isVertical = true;
- RenderObject *parent = (RenderObject *) getParent();
+ bool is_vertical = true;
+ RenderObject *parent = dynamic_cast<RenderObject *>(getParent());
- if (parent != nullptr) {
- if (parent->GetAttr(SCROLL_DIRECTION) == HORIZONTAL) {
- isVertical = false;
- }
+ if (parent != nullptr) {
+ if (parent->GetAttr(SCROLL_DIRECTION) == HORIZONTAL) {
+ is_vertical = false;
}
+ }
- std::string prop = isVertical ? HEIGHT : WIDTH;
-
- if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex_) {
- style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- } else if (prop == WIDTH && isnan(getStyleWidth()) && !this->is_set_flex_) {
- style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- }
+ std::string prop = is_vertical ? HEIGHT : WIDTH;
- return style;
+ if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex_) {
+ style->insert(std::pair<std::string, std::string>(FLEX, "1"));
+ } else if (prop == WIDTH && isnan(getStyleWidth()) && !this->is_set_flex_) {
+ style->insert(std::pair<std::string, std::string>(FLEX, "1"));
}
- void RenderScroller::set_flex(const float flex) {
- this->is_set_flex_ = true;
- WXCoreLayoutNode::set_flex(flex);
- }
+ return style;
+}
+
+void RenderScroller::set_flex(const float flex) {
+ this->is_set_flex_ = true;
+ WXCoreLayoutNode::set_flex(flex);
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_scroller.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_scroller.h b/weex_core/Source/core/render/node/render_scroller.h
index fed8f0b..65e4f01 100644
--- a/weex_core/Source/core/render/node/render_scroller.h
+++ b/weex_core/Source/core/render/node/render_scroller.h
@@ -16,25 +16,27 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERSCROLLER_H
-#define WEEX_PROJECT_RENDERSCROLLER_H
+#ifndef CORE_RENDER_NODE_RENDER_SCROLLER_H_
+#define CORE_RENDER_NODE_RENDER_SCROLLER_H_
+
+#include <map>
+#include <string>
#include "core/render/node/render_object.h"
namespace WeexCore {
- class RenderScroller : public RenderObject {
-
- bool is_set_flex_ = false;
-
- std::map<std::string, std::string> *GetDefaultStyle();
+class RenderScroller : public RenderObject {
+ bool is_set_flex_ = false;
- void set_flex(const float flex);
+ std::map<std::string, std::string> *GetDefaultStyle();
- inline float CalculateFreeSpaceAlongMainAxis(const float &width, const float &height,
- const float ¤t_length) const override {
- return NAN;
- }
+ void set_flex(const float flex);
- };
-}
-#endif //WEEX_PROJECT_RENDERSCROLLER_H
+ inline float CalculateFreeSpaceAlongMainAxis(
+ const float &width, const float &height,
+ const float ¤t_length) const override {
+ return NAN;
+ }
+};
+} // namespace WeexCore
+#endif // CORE_RENDER_NODE_RENDER_SCROLLER_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_text.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_text.cpp b/weex_core/Source/core/render/node/render_text.cpp
index 4aa3490..eda23e9 100644
--- a/weex_core/Source/core/render/node/render_text.cpp
+++ b/weex_core/Source/core/render/node/render_text.cpp
@@ -16,19 +16,21 @@
* specific language governing permissions and limitations
* under the License.
*/
+#include <string>
+
#include "core/render/node/render_text.h"
#include "core/render/page/render_page.h"
namespace WeexCore {
- void RenderText::UpdateAttr(std::string key, std::string value) {
- RenderObject::UpdateAttr(key, value);
- markDirty();
- }
+void RenderText::UpdateAttr(std::string key, std::string value) {
+ RenderObject::UpdateAttr(key, value);
+ markDirty();
+}
- StyleType RenderText::UpdateStyle(std::string key, std::string value) {
- StyleType resultType = RenderObject::ApplyStyle(key, value, true);
- markDirty();
- return resultType;
- }
+StyleType RenderText::UpdateStyle(std::string key, std::string value) {
+ StyleType result_type = RenderObject::ApplyStyle(key, value, true);
+ markDirty();
+ return result_type;
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_text.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_text.h b/weex_core/Source/core/render/node/render_text.h
index 804b298..86e3733 100644
--- a/weex_core/Source/core/render/node/render_text.h
+++ b/weex_core/Source/core/render/node/render_text.h
@@ -16,20 +16,20 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERTEXT_H
-#define WEEX_PROJECT_RENDERTEXT_H
+#ifndef CORE_RENDER_NODE_RENDER_TEXT_H_
+#define CORE_RENDER_NODE_RENDER_TEXT_H_
+
+#include <string>
#include "core/render/node/render_object.h"
namespace WeexCore {
- class RenderText : public RenderObject {
-
- private:
-
- void UpdateAttr(std::string key, std::string value);
+class RenderText : public RenderObject {
+ private:
+ void UpdateAttr(std::string key, std::string value);
- StyleType UpdateStyle(std::string key, std::string value);
- };
-}
+ StyleType UpdateStyle(std::string key, std::string value);
+};
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERTEXT_H
+#endif // CORE_RENDER_NODE_RENDER_TEXT_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/page/render_page.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.cpp b/weex_core/Source/core/render/page/render_page.cpp
index 78ad8cd..7e9bee5 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -16,610 +16,605 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include "core/render/action/render_action_add_element.h"
-#include "core/render/action/render_action_remove_element.h"
-#include "core/render/action/render_action_move_element.h"
-#include "core/render/action/render_action_createbody.h"
-#include "core/render/action/render_action_update_style.h"
-#include "core/render/action/render_action_update_attr.h"
-#include "core/render/action/render_action_layout.h"
-#include "core/render/action/render_action_createfinish.h"
-#include "core/render/action/render_action_appendtree_createfinish.h"
+#include "core/render/page/render_page.h"
+#include "base/TimeUtils.h"
+#include "base/ViewUtils.h"
+#include "core/config/core_environment.h"
+#include "core/css/constants_value.h"
#include "core/layout/layout.h"
+#include "core/manager/weex_core_manager.h"
#include "core/moniter/render_performance.h"
-#include "core/config/core_environment.h"
-#include "base/ViewUtils.h"
+#include "core/render/action/render_action_add_element.h"
#include "core/render/action/render_action_add_event.h"
+#include "core/render/action/render_action_appendtree_createfinish.h"
+#include "core/render/action/render_action_createbody.h"
+#include "core/render/action/render_action_createfinish.h"
+#include "core/render/action/render_action_layout.h"
+#include "core/render/action/render_action_move_element.h"
+#include "core/render/action/render_action_remove_element.h"
#include "core/render/action/render_action_remove_event.h"
-#include "core/css/constants_value.h"
+#include "core/render/action/render_action_update_attr.h"
+#include "core/render/action/render_action_update_style.h"
+#include "core/render/manager/render_manager.h"
#include "core/render/node/factory/render_type.h"
#include "core/render/node/render_list.h"
-#include "core/manager/weex_core_manager.h"
-#include "base/TimeUtils.h"
-#include "core/render/page/render_page.h"
-#include "core/render/manager/render_manager.h"
#include "core/render/node/render_object.h"
namespace WeexCore {
- RenderPage::RenderPage(std::string page_id) {
-
+RenderPage::RenderPage(std::string page_id) {
#if RENDER_LOG
- LOGD("[RenderPage] new RenderPage >>>> pageId: %s", pageId.c_str());
+ LOGD("[RenderPage] new RenderPage >>>> pageId: %s", pageId.c_str());
#endif
- this->page_id = page_id;
- this->render_performance = new RenderPerformance();
- this->viewport_width = kDefaultViewPortWidth;
- this->render_page_size.first = WXCoreEnvironment::getInstance()->DeviceWidth();
- this->render_page_size.second = NAN;
- }
-
- RenderPage::~RenderPage() {
+ this->page_id_ = page_id;
+ this->render_performance_ = new RenderPerformance();
+ this->viewport_width_ = kDefaultViewPortWidth;
+ this->render_page_size_.first =
+ WXCoreEnvironment::getInstance()->DeviceWidth();
+ this->render_page_size_.second = NAN;
+}
+RenderPage::~RenderPage() {
#if RENDER_LOG
- LOGD("[RenderPage] Delete RenderPage >>>> pageId: %s", mPageId.c_str());
+ LOGD("[RenderPage] Delete RenderPage >>>> pageId: %s", mPageId.c_str());
#endif
- this->render_object_registers.clear();
+ this->render_object_registers_.clear();
- if (this->render_root != nullptr) {
- delete this->render_root;
- this->render_root = nullptr;
- }
+ if (this->render_root_ != nullptr) {
+ delete this->render_root_;
+ this->render_root_ = nullptr;
+ }
- if (this->render_performance != nullptr) {
- delete this->render_performance;
- this->render_performance = nullptr;
- }
+ if (this->render_performance_ != nullptr) {
+ delete this->render_performance_;
+ this->render_performance_ = nullptr;
}
+}
- void RenderPage::CalculateLayout() {
- if (this->render_root == nullptr || !this->render_root->ViewInit())
- return;
+void RenderPage::CalculateLayout() {
+ if (this->render_root_ == nullptr || !this->render_root_->ViewInit()) return;
#if RENDER_LOG
- LOGD("[RenderPage] CalculateLayout >>>> pageId: %s", mPageId.c_str());
+ LOGD("[RenderPage] CalculateLayout >>>> pageId: %s", mPageId.c_str());
#endif
- long long startTime = getCurrentTime();
- this->render_root->LayoutBeforeImpl();
- this->render_root->calculateLayout(this->render_page_size);
- this->render_root->LayoutAfterImpl();
- CssLayoutTime(getCurrentTime() - startTime);
- TraverseTree(this->render_root, 0);
- }
-
- void RenderPage::TraverseTree(RenderObject *render,int index) {
+ int64_t start_time = getCurrentTime();
+ this->render_root_->LayoutBeforeImpl();
+ this->render_root_->calculateLayout(this->render_page_size_);
+ this->render_root_->LayoutAfterImpl();
+ CssLayoutTime(getCurrentTime() - start_time);
+ TraverseTree(this->render_root_, 0);
+}
- if (render == nullptr)
- return;
+void RenderPage::TraverseTree(RenderObject *render, int index) {
+ if (render == nullptr) return;
- if (render->hasNewLayout()) {
- SendLayoutAction(render, index);
- render->setHasNewLayout(false);
- }
-
- for(auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd(); it++) {
- RenderObject* child = static_cast<RenderObject*>(*it);
- if (child != nullptr) {
- TraverseTree(child, it-render->ChildListIterBegin());
- }
- }
+ if (render->hasNewLayout()) {
+ SendLayoutAction(render, index);
+ render->setHasNewLayout(false);
}
- bool RenderPage::CreateRootRender(RenderObject *root) {
-
- if (root == nullptr)
- return false;
-
- SetRootRenderObject(root);
-
- if (isnan(this->render_root->getStyleWidth())) {
- this->render_root->setStyleWidthLevel(FALLBACK_STYLE);
- if (GetRenderContainerWidthWrapContent())
- this->render_root->setStyleWidthToNAN();
- else
- this->render_root->setStyleWidth(WXCoreEnvironment::getInstance()->DeviceWidth(), false);
- } else {
- this->render_root->setStyleWidthLevel(CSS_STYLE);
- }
- PushRenderToRegisterMap(root);
-
- SendCreateBodyAction(root);
- return true;
- }
-
- void RenderPage::SetRootRenderObject(RenderObject *root) {
- if (root != nullptr) {
- this->render_root = root;
- this->render_root->set_is_root_render();
+ for (auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd();
+ it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ TraverseTree(child, it - render->ChildListIterBegin());
}
}
+}
- bool RenderPage::AddRenderObject(const std::string &parent_ref, int insert_posiotn, RenderObject *child) {
- RenderObject *parent = GetRenderObject(parent_ref);
- if (parent == nullptr || child == nullptr) {
- return false;
- }
-
- // add child to Render Tree
- insert_posiotn = parent->AddRenderObject(insert_posiotn, child);
- if (insert_posiotn < -1) {
- return false;
- }
+bool RenderPage::CreateRootRender(RenderObject *root) {
+ if (root == nullptr) return false;
- PushRenderToRegisterMap(child);
- SendAddElementAction(child, parent, insert_posiotn, false);
+ SetRootRenderObject(root);
- Batch();
- return true;
+ if (isnan(this->render_root_->getStyleWidth())) {
+ this->render_root_->setStyleWidthLevel(FALLBACK_STYLE);
+ if (is_render_container_width_wrap_content())
+ this->render_root_->setStyleWidthToNAN();
+ else
+ this->render_root_->setStyleWidth(
+ WXCoreEnvironment::getInstance()->DeviceWidth(), false);
+ } else {
+ this->render_root_->setStyleWidthLevel(CSS_STYLE);
}
+ PushRenderToRegisterMap(root);
- bool RenderPage::RemoveRenderObject(const std::string &ref) {
- RenderObject *child = GetRenderObject(ref);
- if (child == nullptr)
- return false;
-
- RenderObject *parent = child->parent_render();
- if (parent == nullptr)
- return false;
-
- parent->RemoveRenderObject(child);
+ SendCreateBodyAction(root);
+ return true;
+}
- RemoveRenderFromRegisterMap(child);
- delete child;
-
- SendRemoveElementAction(ref);
- return true;
+void RenderPage::SetRootRenderObject(RenderObject *root) {
+ if (root != nullptr) {
+ this->render_root_ = root;
+ this->render_root_->set_is_root_render();
}
+}
- bool RenderPage::MoveRenderObject(const std::string &ref, const std::string &parent_ref, int index) {
- RenderObject *child = GetRenderObject(ref);
- if (child == nullptr)
- return false;
-
- RenderObject *oldParent = child->parent_render();
- RenderObject *newParent = GetRenderObject(parent_ref);
- if (oldParent == nullptr || newParent == nullptr)
- return false;
-
- if (oldParent->ref() == newParent->ref()) {
- if (oldParent->IndexOf(child) < 0) {
- return false;
- } else if (oldParent->IndexOf(child) == index) {
- return false;
- } else if (oldParent->IndexOf(child) < index) {
- index = index - 1;
- }
- }
-
- child->getParent()->removeChild(child);
- newParent->addChildAt(child, index);
+bool RenderPage::AddRenderObject(const std::string &parent_ref,
+ int insert_posiotn, RenderObject *child) {
+ RenderObject *parent = GetRenderObject(parent_ref);
+ if (parent == nullptr || child == nullptr) {
+ return false;
+ }
- SendMoveElementAction(ref, parent_ref, index);
- return true;
+ // add child to Render Tree
+ insert_posiotn = parent->AddRenderObject(insert_posiotn, child);
+ if (insert_posiotn < -1) {
+ return false;
}
- bool RenderPage::UpdateStyle(const std::string &ref, std::vector<std::pair<std::string, std::string>> *src) {
- RenderObject *render = GetRenderObject(ref);
- if (render == nullptr || src == nullptr || src->empty())
- return false;
+ PushRenderToRegisterMap(child);
+ SendAddElementAction(child, parent, insert_posiotn, false);
- std::vector<std::pair<std::string, std::string>> *style = nullptr;
- std::vector<std::pair<std::string, std::string>> *margin = nullptr;
- std::vector<std::pair<std::string, std::string>> *padding = nullptr;
- std::vector<std::pair<std::string, std::string>> *border = nullptr;
+ Batch();
+ return true;
+}
- bool flag = false;
- int result = WeexCoreManager::getInstance()->getPlatformBridge()->callHasTransitionPros(this->page_id.c_str(), ref.c_str(), src);
- //int result = Bridge_Impl_Android::getInstance()->callHasTransitionPros(mPageId.c_str(), ref.c_str(), src);
+bool RenderPage::RemoveRenderObject(const std::string &ref) {
+ RenderObject *child = GetRenderObject(ref);
+ if (child == nullptr) return false;
- if (result == 1) {
- SendUpdateStyleAction(render, src, margin, padding, border);
- } else {
- for (auto iter = src->begin(); iter != src->end(); iter++) {
- switch (render->UpdateStyle((*iter).first, (*iter).second)) {
- case kTypeStyle:
- if (style == nullptr) {
- style = new std::vector<std::pair<std::string, std::string>>();
- }
- style->insert(style->end(), (*iter));
- flag = true;
- break;
- case kTypeMargin:
- if (margin == nullptr) {
- margin = new std::vector<std::pair<std::string, std::string>>();
- }
- render->UpdateStyleInternal((*iter).first,
- (*iter).second,
- 0,
- [=, &flag](float foo) {
- (*iter).second = to_string(foo),
- margin->insert(margin->end(), (*iter)),
- flag = true;
- });
- break;
- case kTypePadding:
- if (padding == nullptr) {
- padding = new std::vector<std::pair<std::string, std::string>>();
- }
- render->UpdateStyleInternal((*iter).first,
- (*iter).second,
- 0,
- [=, &flag](float foo) {
- (*iter).second = to_string(foo),
- padding->insert(padding->end(), (*iter)),
- flag = true;
- });
- break;
- case kTypeBorder:
- if (border == nullptr) {
- border = new std::vector<std::pair<std::string, std::string>>();
- }
- render->UpdateStyleInternal((*iter).first,
- (*iter).second,
- 0,
- [=, &flag](float foo) {
- (*iter).second = to_string(foo),
- border->insert(border->end(), (*iter)),
- flag = true;
- });
- break;
- }
- }
- }
+ RenderObject *parent = child->parent_render();
+ if (parent == nullptr) return false;
- if (style != nullptr || margin != nullptr || padding != nullptr || border != nullptr)
- SendUpdateStyleAction(render, style, margin, padding, border);
+ parent->RemoveRenderObject(child);
- Batch();
+ RemoveRenderFromRegisterMap(child);
+ delete child;
- if (src != nullptr) {
- src->clear();
- src->shrink_to_fit();
- delete src;
- src = nullptr;
- }
+ SendRemoveElementAction(ref);
+ return true;
+}
- if (style != nullptr) {
- style->clear();
- style->shrink_to_fit();
- delete style;
- style = nullptr;
- }
-
- if (margin != nullptr) {
- margin->clear();
- margin->shrink_to_fit();
- delete margin;
- margin = nullptr;
- }
-
- if (padding != nullptr) {
- padding->clear();
- padding->shrink_to_fit();
- delete padding;
- padding = nullptr;
- }
+bool RenderPage::MoveRenderObject(const std::string &ref,
+ const std::string &parent_ref, int index) {
+ RenderObject *child = GetRenderObject(ref);
+ if (child == nullptr) return false;
- if (border != nullptr) {
- border->clear();
- border->shrink_to_fit();
- delete border;
- border = nullptr;
- }
-
- return flag;
- }
+ RenderObject *old_parent = child->parent_render();
+ RenderObject *new_parent = GetRenderObject(parent_ref);
+ if (old_parent == nullptr || new_parent == nullptr) return false;
- bool RenderPage::UpdateAttr(const std::string &ref, std::vector<std::pair<std::string, std::string>> *attrs) {
- RenderObject *render = GetRenderObject(ref);
- if (render == nullptr || attrs == nullptr || attrs->empty())
+ if (old_parent->ref() == new_parent->ref()) {
+ if (old_parent->IndexOf(child) < 0) {
return false;
-
- SendUpdateAttrAction(render, attrs);
-
- for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
- render->UpdateAttr((*iter).first, (*iter).second);
- }
- Batch();
- if (attrs != nullptr) {
- attrs->clear();
- attrs->shrink_to_fit();
- delete attrs;
- attrs = nullptr;
- }
-
- return true;
- }
-
- void RenderPage::SetDefaultHeightAndWidthIntoRootRender(const float default_width,
- const float default_height,
- const bool is_width_wrap_content, const bool is_height_wrap_content) {
- this->render_page_size.first = default_width;
- this->render_page_size.second = default_height;
- if (this->render_root->getStyleWidthLevel() >= INSTANCE_STYLE) {
- this->render_root->setStyleWidthLevel(INSTANCE_STYLE);
- if (is_width_wrap_content) {
- SetRenderContainerWidthWrapContent(true);
- this->render_root->setStyleWidthToNAN();
- this->render_page_size.first = NAN;
- } else {
- this->render_root->setStyleWidth(default_width, true);
- }
- updateDirty(true);
- }
-
- if (this->render_root->getStyleHeightLevel() >= INSTANCE_STYLE) {
- if(!is_height_wrap_content) {
- this->render_root->setStyleHeightLevel(INSTANCE_STYLE);
- this->render_root->setStyleHeight(default_height);
- updateDirty(true);
+ } else if (old_parent->IndexOf(child) == index) {
+ return false;
+ } else if (old_parent->IndexOf(child) < index) {
+ index = index - 1;
+ }
+ }
+
+ child->getParent()->removeChild(child);
+ new_parent->addChildAt(child, index);
+
+ SendMoveElementAction(ref, parent_ref, index);
+ return true;
+}
+
+bool RenderPage::UpdateStyle(
+ const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *src) {
+ RenderObject *render = GetRenderObject(ref);
+ if (render == nullptr || src == nullptr || src->empty()) return false;
+
+ std::vector<std::pair<std::string, std::string>> *style = nullptr;
+ std::vector<std::pair<std::string, std::string>> *margin = nullptr;
+ std::vector<std::pair<std::string, std::string>> *padding = nullptr;
+ std::vector<std::pair<std::string, std::string>> *border = nullptr;
+
+ bool flag = false;
+ int result =
+ WeexCoreManager::getInstance()
+ ->getPlatformBridge()
+ ->callHasTransitionPros(this->page_id_.c_str(), ref.c_str(), src);
+ // int result =
+ // Bridge_Impl_Android::getInstance()->callHasTransitionPros(mPageId.c_str(),
+ // ref.c_str(), src);
+
+ if (result == 1) {
+ SendUpdateStyleAction(render, src, margin, padding, border);
+ } else {
+ for (auto iter = src->begin(); iter != src->end(); iter++) {
+ switch (render->UpdateStyle((*iter).first, (*iter).second)) {
+ case kTypeStyle:
+ if (style == nullptr) {
+ style = new std::vector<std::pair<std::string, std::string>>();
+ }
+ style->insert(style->end(), (*iter));
+ flag = true;
+ break;
+ case kTypeMargin:
+ if (margin == nullptr) {
+ margin = new std::vector<std::pair<std::string, std::string>>();
+ }
+ render->UpdateStyleInternal(
+ (*iter).first, (*iter).second, 0, [=, &flag](float foo) {
+ (*iter).second = to_string(foo),
+ margin->insert(margin->end(), (*iter)), flag = true;
+ });
+ break;
+ case kTypePadding:
+ if (padding == nullptr) {
+ padding = new std::vector<std::pair<std::string, std::string>>();
+ }
+ render->UpdateStyleInternal(
+ (*iter).first, (*iter).second, 0, [=, &flag](float foo) {
+ (*iter).second = to_string(foo),
+ padding->insert(padding->end(), (*iter)), flag = true;
+ });
+ break;
+ case kTypeBorder:
+ if (border == nullptr) {
+ border = new std::vector<std::pair<std::string, std::string>>();
+ }
+ render->UpdateStyleInternal(
+ (*iter).first, (*iter).second, 0, [=, &flag](float foo) {
+ (*iter).second = to_string(foo),
+ border->insert(border->end(), (*iter)), flag = true;
+ });
+ break;
}
}
-
- Batch();
}
- bool RenderPage::AddEvent(const std::string &ref, const std::string &event) {
- RenderObject *render = GetRenderObject(ref);
- if (render == nullptr)
- return false;
+ if (style != nullptr || margin != nullptr || padding != nullptr ||
+ border != nullptr)
+ SendUpdateStyleAction(render, style, margin, padding, border);
- render->AddEvent(event);
+ Batch();
- RenderAction *action = new RenderActionAddEvent(this->page_id, ref, event);
- PostRenderAction(action);
- return true;
+ if (src != nullptr) {
+ src->clear();
+ src->shrink_to_fit();
+ delete src;
+ src = nullptr;
}
- bool RenderPage::RemoveEvent(const std::string &ref, const std::string &event) {
- RenderObject *render = GetRenderObject(ref);
- if (render == nullptr)
- return false;
-
- render->RemoveEvent(event);
-
- RenderAction *action = new RenderActionRemoveEvent(this->page_id, ref, event);
- PostRenderAction(action);
- return true;
+ if (style != nullptr) {
+ style->clear();
+ style->shrink_to_fit();
+ delete style;
+ style = nullptr;
}
- bool RenderPage::CreateFinish() {
- if (this->render_root == nullptr) {
- return false;
- }
- Batch();
- SendCreateFinishAction();
- return true;
+ if (margin != nullptr) {
+ margin->clear();
+ margin->shrink_to_fit();
+ delete margin;
+ margin = nullptr;
}
- void RenderPage::LayoutImmediately() {
- if(isDirty() && kUseVSync){
- CalculateLayout();
- this->need_layout.store(false);
- updateDirty(false);
- }
+ if (padding != nullptr) {
+ padding->clear();
+ padding->shrink_to_fit();
+ delete padding;
+ padding = nullptr;
}
- void RenderPage::PostRenderAction(RenderAction *action) {
- if (action != nullptr) {
- action->ExecuteAction();
- delete action;
- action = nullptr;
- }
+ if (border != nullptr) {
+ border->clear();
+ border->shrink_to_fit();
+ delete border;
+ border = nullptr;
}
- void RenderPage::PushRenderToRegisterMap(RenderObject *render) {
- if (render == nullptr)
- return;
+ return flag;
+}
- std::string ref = render->ref();
- this->render_object_registers.insert(std::pair<std::string, RenderObject *>(ref, render));
+bool RenderPage::UpdateAttr(
+ const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *attrs) {
+ RenderObject *render = GetRenderObject(ref);
+ if (render == nullptr || attrs == nullptr || attrs->empty()) return false;
- for(auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd(); it++) {
- RenderObject* child = static_cast<RenderObject*>(*it);
- if (child != nullptr) {
- PushRenderToRegisterMap(child);
- }
- }
- }
+ SendUpdateAttrAction(render, attrs);
- void RenderPage::RemoveRenderFromRegisterMap(RenderObject *render) {
- if (render == nullptr)
- return;
-
- this->render_object_registers.erase(render->ref());
-
- for(auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd(); it++) {
- RenderObject* child = static_cast<RenderObject*>(*it);
- if (child != nullptr) {
- RemoveRenderFromRegisterMap(child);
- }
- }
+ for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
+ render->UpdateAttr((*iter).first, (*iter).second);
+ }
+ Batch();
+ if (attrs != nullptr) {
+ attrs->clear();
+ attrs->shrink_to_fit();
+ delete attrs;
+ attrs = nullptr;
}
- void RenderPage::SendCreateBodyAction(RenderObject *render) {
- if (render == nullptr)
- return;
-
- RenderAction *action = new RenderActionCreateBody(PageId(), render);
- PostRenderAction(action);
+ return true;
+}
- Index i = 0;
- for(auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd(); it++) {
- RenderObject* child = static_cast<RenderObject*>(*it);
- if (child != nullptr) {
- SendAddElementAction(child, render, i, true);
- }
- ++i;
- }
-
- if (i > 0 && render->IsAppendTree()) {
- SendAppendTreeCreateFinish(render->ref());
+void RenderPage::SetDefaultHeightAndWidthIntoRootRender(
+ const float default_width, const float default_height,
+ const bool is_width_wrap_content, const bool is_height_wrap_content) {
+ this->render_page_size_.first = default_width;
+ this->render_page_size_.second = default_height;
+ if (this->render_root_->getStyleWidthLevel() >= INSTANCE_STYLE) {
+ this->render_root_->setStyleWidthLevel(INSTANCE_STYLE);
+ if (is_width_wrap_content) {
+ set_is_render_container_width_wrap_content(true);
+ this->render_root_->setStyleWidthToNAN();
+ this->render_page_size_.first = NAN;
+ } else {
+ this->render_root_->setStyleWidth(default_width, true);
}
+ set_is_dirty(true);
}
- void RenderPage::SendAddElementAction(RenderObject *child, RenderObject *parent, int index, bool is_recursion, bool will_layout) {
- if (child == nullptr || parent == nullptr)
- return;
- if(parent != nullptr && parent->type() == WeexCore::kRenderRecycleList){
- will_layout = false;
+ if (this->render_root_->getStyleHeightLevel() >= INSTANCE_STYLE) {
+ if (!is_height_wrap_content) {
+ this->render_root_->setStyleHeightLevel(INSTANCE_STYLE);
+ this->render_root_->setStyleHeight(default_height);
+ set_is_dirty(true);
}
+ }
- RenderAction *action = new RenderActionAddElement(PageId(), child, parent, index, will_layout);
- PostRenderAction(action);
+ Batch();
+}
- Index i = 0;
- for(auto it = child->ChildListIterBegin(); it != child->ChildListIterEnd(); it++) {
- RenderObject* grandson = static_cast<RenderObject*>(*it);
- if (grandson != nullptr) {
- SendAddElementAction(grandson, child, i, true, will_layout);
- }
- ++i;
- }
+bool RenderPage::AddEvent(const std::string &ref, const std::string &event) {
+ RenderObject *render = GetRenderObject(ref);
+ if (render == nullptr) return false;
- if(child->type() == WeexCore::kRenderRecycleList){
- RenderList* renderList = (RenderList*)child;
- std::vector<RenderObject*>& cellSlots = renderList->CellSlots();
- for(auto it = cellSlots.begin(); it != cellSlots.end(); it++) {
- RenderObject* grandson = static_cast<RenderObject*>(*it);
- if (grandson != nullptr) {
- SendAddElementAction(grandson, child, -1, true, will_layout);
- }
- ++i;
- }
- }
+ render->AddEvent(event);
- if (!is_recursion && i > 0 && child->IsAppendTree()) {
- SendAppendTreeCreateFinish(child->ref());
- }
- }
+ RenderAction *action = new RenderActionAddEvent(this->page_id_, ref, event);
+ PostRenderAction(action);
+ return true;
+}
- void RenderPage::SendRemoveElementAction(const std::string &ref) {
- RenderAction *action = new RenderActionRemoveElement(PageId(), ref);
- PostRenderAction(action);
- }
+bool RenderPage::RemoveEvent(const std::string &ref, const std::string &event) {
+ RenderObject *render = GetRenderObject(ref);
+ if (render == nullptr) return false;
- void RenderPage::SendMoveElementAction(const std::string &ref, const std::string &parent_ref, int index) {
- RenderAction *action = new RenderActionMoveElement(PageId(), ref, parent_ref, index);
- PostRenderAction(action);
- }
+ render->RemoveEvent(event);
- void RenderPage::SendLayoutAction(RenderObject *render, int index) {
- if (render == nullptr)
- return;
+ RenderAction *action = new RenderActionRemoveEvent(this->page_id_, ref, event);
+ PostRenderAction(action);
+ return true;
+}
- RenderAction *action = new RenderActionLayout(PageId(), render, index);
- PostRenderAction(action);
+bool RenderPage::CreateFinish() {
+ if (this->render_root_ == nullptr) {
+ return false;
}
+ Batch();
+ SendCreateFinishAction();
+ return true;
+}
- void RenderPage::SendUpdateStyleAction(RenderObject *render,
- std::vector<std::pair<std::string, std::string>> *style,
- std::vector<std::pair<std::string, std::string>> *margin,
- std::vector<std::pair<std::string, std::string>> *padding,
- std::vector<std::pair<std::string, std::string>> *border) {
- RenderAction *action = new RenderActionUpdateStyle(PageId(), render->ref(), style, margin, padding, border);
- PostRenderAction(action);
+void RenderPage::LayoutImmediately() {
+ if (is_dirty() && kUseVSync) {
+ CalculateLayout();
+ this->need_layout_.store(false);
+ set_is_dirty(false);
}
+}
- void RenderPage::SendUpdateAttrAction(RenderObject *render,
- std::vector<std::pair<std::string, std::string>> *attrs) {
- RenderAction *action = new RenderActionUpdateAttr(PageId(), render->ref(), attrs);
- PostRenderAction(action);
+void RenderPage::PostRenderAction(RenderAction *action) {
+ if (action != nullptr) {
+ action->ExecuteAction();
+ delete action;
+ action = nullptr;
}
+}
- void RenderPage::SendUpdateAttrAction(RenderObject *render,
- std::map<std::string, std::string> *attrs) {
- std::vector<std::pair<std::string, std::string>> *vAttrs = new std::vector<std::pair<std::string, std::string>>();
- for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
- vAttrs->insert(vAttrs->begin(), std::pair<std::string, std::string>(iter->first, iter->second));
- }
+void RenderPage::PushRenderToRegisterMap(RenderObject *render) {
+ if (render == nullptr) return;
- RenderAction *action = new RenderActionUpdateAttr(PageId(), render->ref(), vAttrs);
- PostRenderAction(action);
+ std::string ref = render->ref();
+ this->render_object_registers_.insert(
+ std::pair<std::string, RenderObject *>(ref, render));
- if (vAttrs != nullptr) {
- vAttrs->clear();
- delete vAttrs;
- vAttrs = nullptr;
+ for (auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd();
+ it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ PushRenderToRegisterMap(child);
}
}
+}
- void RenderPage::SendCreateFinishAction() {
- RenderAction *action = new RenderActionCreateFinish(PageId());
- PostRenderAction(action);
- }
+void RenderPage::RemoveRenderFromRegisterMap(RenderObject *render) {
+ if (render == nullptr) return;
- void RenderPage::SendAppendTreeCreateFinish(const std::string &ref) {
- RenderAction *action = new RenderActionAppendTreeCreateFinish(PageId(), ref);
- PostRenderAction(action);
- }
-
- void RenderPage::CssLayoutTime(const long long &time) {
- if (this->render_performance != nullptr)
- this->render_performance->cssLayoutTime += time;
- }
+ this->render_object_registers_.erase(render->ref());
- void RenderPage::ParseJsonTime(const long long &time) {
- if (this->render_performance != nullptr)
- this->render_performance->parseJsonTime += time;
- }
-
- void RenderPage::CallBridgeTime(const long long &time) {
- if (this->render_performance != nullptr)
- this->render_performance->callBridgeTime += time;
+ for (auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd();
+ it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ RemoveRenderFromRegisterMap(child);
+ }
}
+}
- std::vector<long> RenderPage::PrintFirstScreenLog() {
- std::vector<long> ret;
- if (this->render_performance != nullptr)
- ret = this->render_performance->PrintPerformanceLog(onFirstScreen);
- return ret;
- }
+void RenderPage::SendCreateBodyAction(RenderObject *render) {
+ if (render == nullptr) return;
- std::vector<long> RenderPage::PrintRenderSuccessLog() {
- std::vector<long> ret;
- if (this->render_performance != nullptr)
- ret = this->render_performance->PrintPerformanceLog(onRenderSuccess);
- return ret;
- }
+ RenderAction *action = new RenderActionCreateBody(page_id(), render);
+ PostRenderAction(action);
- void RenderPage::Batch() {
- if ((kUseVSync && this->need_layout.load()) || !kUseVSync) {
- CalculateLayout();
- this->need_layout.store(false);
- updateDirty(false);
+ Index i = 0;
+ for (auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd();
+ it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ SendAddElementAction(child, render, i, true);
}
+ ++i;
}
- RenderObject* RenderPage::GetRenderObject(const std::string &ref) {
- std::map<std::string, RenderObject *>::iterator iter = this->render_object_registers.find(ref);
- if (iter != this->render_object_registers.end()) {
- return iter->second;
- } else {
- return nullptr;
- }
- }
-
- void RenderPage::OnRenderPageInit() {
-
+ if (i > 0 && render->IsAppendTree()) {
+ SendAppendTreeCreateFinish(render->ref());
}
+}
- void RenderPage::OnRenderProcessStart() {
-
+void RenderPage::SendAddElementAction(RenderObject *child, RenderObject *parent,
+ int index, bool is_recursion,
+ bool will_layout) {
+ if (child == nullptr || parent == nullptr) return;
+ if (parent != nullptr && parent->type() == WeexCore::kRenderRecycleList) {
+ will_layout = false;
}
- void RenderPage::OnRenderProcessExited() {
+ RenderAction *action =
+ new RenderActionAddElement(page_id(), child, parent, index, will_layout);
+ PostRenderAction(action);
+ Index i = 0;
+ for (auto it = child->ChildListIterBegin(); it != child->ChildListIterEnd();
+ it++) {
+ RenderObject *grandson = static_cast<RenderObject *>(*it);
+ if (grandson != nullptr) {
+ SendAddElementAction(grandson, child, i, true, will_layout);
+ }
+ ++i;
}
- void RenderPage::OnRenderProcessGone() {
-
+ if (child->type() == WeexCore::kRenderRecycleList) {
+ RenderList *render_list = static_cast<RenderList *>(child);
+ std::vector<RenderObject *> &cell_slots = render_list->CellSlots();
+ for (auto it = cell_slots.begin(); it != cell_slots.end(); it++) {
+ RenderObject *grandson = static_cast<RenderObject *>(*it);
+ if (grandson != nullptr) {
+ SendAddElementAction(grandson, child, -1, true, will_layout);
+ }
+ ++i;
+ }
}
- void RenderPage::OnRenderPageClose() {
-
- }
-} //namespace WeexCore
+ if (!is_recursion && i > 0 && child->IsAppendTree()) {
+ SendAppendTreeCreateFinish(child->ref());
+ }
+}
+
+void RenderPage::SendRemoveElementAction(const std::string &ref) {
+ RenderAction *action = new RenderActionRemoveElement(page_id(), ref);
+ PostRenderAction(action);
+}
+
+void RenderPage::SendMoveElementAction(const std::string &ref,
+ const std::string &parent_ref,
+ int index) {
+ RenderAction *action =
+ new RenderActionMoveElement(page_id(), ref, parent_ref, index);
+ PostRenderAction(action);
+}
+
+void RenderPage::SendLayoutAction(RenderObject *render, int index) {
+ if (render == nullptr) return;
+
+ RenderAction *action = new RenderActionLayout(page_id(), render, index);
+ PostRenderAction(action);
+}
+
+void RenderPage::SendUpdateStyleAction(
+ RenderObject *render,
+ std::vector<std::pair<std::string, std::string>> *style,
+ std::vector<std::pair<std::string, std::string>> *margin,
+ std::vector<std::pair<std::string, std::string>> *padding,
+ std::vector<std::pair<std::string, std::string>> *border) {
+ RenderAction *action = new RenderActionUpdateStyle(
+ page_id(), render->ref(), style, margin, padding, border);
+ PostRenderAction(action);
+}
+
+void RenderPage::SendUpdateAttrAction(
+ RenderObject *render,
+ std::vector<std::pair<std::string, std::string>> *attrs) {
+ RenderAction *action =
+ new RenderActionUpdateAttr(page_id(), render->ref(), attrs);
+ PostRenderAction(action);
+}
+
+void RenderPage::SendUpdateAttrAction(
+ RenderObject *render, std::map<std::string, std::string> *attrs) {
+ std::vector<std::pair<std::string, std::string>> *vAttrs =
+ new std::vector<std::pair<std::string, std::string>>();
+ for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
+ vAttrs->insert(vAttrs->begin(), std::pair<std::string, std::string>(
+ iter->first, iter->second));
+ }
+
+ RenderAction *action =
+ new RenderActionUpdateAttr(page_id(), render->ref(), vAttrs);
+ PostRenderAction(action);
+
+ if (vAttrs != nullptr) {
+ vAttrs->clear();
+ delete vAttrs;
+ vAttrs = nullptr;
+ }
+}
+
+void RenderPage::SendCreateFinishAction() {
+ RenderAction *action = new RenderActionCreateFinish(page_id());
+ PostRenderAction(action);
+}
+
+void RenderPage::SendAppendTreeCreateFinish(const std::string &ref) {
+ RenderAction *action = new RenderActionAppendTreeCreateFinish(page_id(), ref);
+ PostRenderAction(action);
+}
+
+void RenderPage::CssLayoutTime(const int64_t &time) {
+ if (this->render_performance_ != nullptr)
+ this->render_performance_->cssLayoutTime += time;
+}
+
+void RenderPage::ParseJsonTime(const int64_t &time) {
+ if (this->render_performance_ != nullptr)
+ this->render_performance_->parseJsonTime += time;
+}
+
+void RenderPage::CallBridgeTime(const int64_t &time) {
+ if (this->render_performance_ != nullptr)
+ this->render_performance_->callBridgeTime += time;
+}
+
+std::vector<int64_t> RenderPage::PrintFirstScreenLog() {
+ std::vector<int64_t> ret;
+ if (this->render_performance_ != nullptr)
+ ret = this->render_performance_->PrintPerformanceLog(onFirstScreen);
+ return ret;
+}
+
+std::vector<int64_t> RenderPage::PrintRenderSuccessLog() {
+ std::vector<int64_t> ret;
+ if (this->render_performance_ != nullptr)
+ ret = this->render_performance_->PrintPerformanceLog(onRenderSuccess);
+ return ret;
+}
+
+void RenderPage::Batch() {
+ if ((kUseVSync && this->need_layout_.load()) || !kUseVSync) {
+ CalculateLayout();
+ this->need_layout_.store(false);
+ set_is_dirty(false);
+ }
+}
+
+RenderObject *RenderPage::GetRenderObject(const std::string &ref) {
+ std::map<std::string, RenderObject *>::iterator iter =
+ this->render_object_registers_.find(ref);
+ if (iter != this->render_object_registers_.end()) {
+ return iter->second;
+ } else {
+ return nullptr;
+ }
+}
+
+void RenderPage::OnRenderPageInit() {}
+
+void RenderPage::OnRenderProcessStart() {}
+
+void RenderPage::OnRenderProcessExited() {}
+
+void RenderPage::OnRenderProcessGone() {}
+
+void RenderPage::OnRenderPageClose() {}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/page/render_page.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.h b/weex_core/Source/core/render/page/render_page.h
index f179bdc..9310e16 100644
--- a/weex_core/Source/core/render/page/render_page.h
+++ b/weex_core/Source/core/render/page/render_page.h
@@ -16,172 +16,167 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef RenderPage_H
-#define RenderPage_H
+#ifndef CORE_RENDER_PAGE_RENDER_PAGE_H_
+#define CORE_RENDER_PAGE_RENDER_PAGE_H_
-#include <vector>
-#include <string>
-#include <map>
-#include <cmath>
#include <atomic>
+#include <cmath>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
namespace WeexCore {
- class RenderAction;
-
- class RenderObject;
-
- class RenderPerformance;
-
- class RenderPage {
-
- private:
+class RenderAction;
- void TraverseTree(RenderObject *render, int index);
+class RenderObject;
- void PushRenderToRegisterMap(RenderObject *render);
+class RenderPerformance;
- void RemoveRenderFromRegisterMap(RenderObject *render);
+class RenderPage {
+ private:
+ void TraverseTree(RenderObject *render, int index);
- void SendCreateBodyAction(RenderObject *render);
+ void PushRenderToRegisterMap(RenderObject *render);
- void
- SendAddElementAction(RenderObject *child, RenderObject *parent, int index, bool is_recursion,
- bool will_layout = true);
+ void RemoveRenderFromRegisterMap(RenderObject *render);
- void SendRemoveElementAction(const std::string &ref);
+ void SendCreateBodyAction(RenderObject *render);
- void SendMoveElementAction(const std::string &ref, const std::string &parent_ref, int index);
+ void SendAddElementAction(RenderObject *child, RenderObject *parent,
+ int index, bool is_recursion,
+ bool will_layout = true);
- void SendLayoutAction(RenderObject *render, int index);
+ void SendRemoveElementAction(const std::string &ref);
- void SendUpdateStyleAction(RenderObject *render,
- std::vector<std::pair<std::string, std::string>> *style,
- std::vector<std::pair<std::string, std::string>> *margin,
- std::vector<std::pair<std::string, std::string>> *padding,
- std::vector<std::pair<std::string, std::string>> *border);
+ void SendMoveElementAction(const std::string &ref,
+ const std::string &parent_ref, int index);
- void SendUpdateAttrAction(RenderObject *render,
- std::vector<std::pair<std::string, std::string>> *attrs);
+ void SendLayoutAction(RenderObject *render, int index);
- void SendCreateFinishAction();
+ void SendUpdateStyleAction(
+ RenderObject *render,
+ std::vector<std::pair<std::string, std::string>> *style,
+ std::vector<std::pair<std::string, std::string>> *margin,
+ std::vector<std::pair<std::string, std::string>> *padding,
+ std::vector<std::pair<std::string, std::string>> *border);
- void SendAppendTreeCreateFinish(const std::string &ref);
+ void SendUpdateAttrAction(
+ RenderObject *render,
+ std::vector<std::pair<std::string, std::string>> *attrs);
- void PostRenderAction(RenderAction *action);
+ void SendCreateFinishAction();
- public:
+ void SendAppendTreeCreateFinish(const std::string &ref);
- explicit RenderPage(std::string page_id);
+ void PostRenderAction(RenderAction *action);
- ~RenderPage();
+ public:
- void CalculateLayout();
+ explicit RenderPage(std::string page_id);
- bool CreateRootRender(RenderObject *root);
+ ~RenderPage();
- bool AddRenderObject(const std::string &parent_ref, int insert_posiotn, RenderObject *child);
+ void CalculateLayout();
- bool RemoveRenderObject(const std::string &ref);
+ bool CreateRootRender(RenderObject *root);
- bool MoveRenderObject(const std::string &ref, const std::string &parent_ref, int index);
+ bool AddRenderObject(const std::string &parent_ref, int insert_posiotn,
+ RenderObject *child);
- bool
- UpdateStyle(const std::string &ref, std::vector<std::pair<std::string, std::string>> *styles);
+ bool RemoveRenderObject(const std::string &ref);
- bool
- UpdateAttr(const std::string &ref, std::vector<std::pair<std::string, std::string>> *attrs);
+ bool MoveRenderObject(const std::string &ref, const std::string &parent_ref,
+ int index);
- void
- SetDefaultHeightAndWidthIntoRootRender(const float default_width, const float default_height,
- const bool is_width_wrap_content,
- const bool is_height_wrap_content);
+ bool UpdateStyle(const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *styles);
- bool AddEvent(const std::string &ref, const std::string &event);
+ bool UpdateAttr(const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *attrs);
- bool RemoveEvent(const std::string &ref, const std::string &event);
+ void SetDefaultHeightAndWidthIntoRootRender(
+ const float default_width, const float default_height,
+ const bool is_width_wrap_content, const bool is_height_wrap_content);
- bool CreateFinish();
+ bool AddEvent(const std::string &ref, const std::string &event);
- void Batch();
+ bool RemoveEvent(const std::string &ref, const std::string &event);
- void CssLayoutTime(const long long &time);
+ bool CreateFinish();
- void ParseJsonTime(const long long &time);
+ void Batch();
- void CallBridgeTime(const long long &time);
+ void CssLayoutTime(const int64_t &time);
- std::vector<long> PrintFirstScreenLog();
+ void ParseJsonTime(const int64_t &time);
- std::vector<long> PrintRenderSuccessLog();
+ void CallBridgeTime(const int64_t &time);
- void LayoutImmediately();
+ std::vector<int64_t> PrintFirstScreenLog();
- void SendUpdateAttrAction(RenderObject *render, std::map<std::string, std::string> *attrs);
+ std::vector<int64_t> PrintRenderSuccessLog();
- RenderObject *GetRenderObject(const std::string &ref);
+ void LayoutImmediately();
- void SetRootRenderObject(RenderObject *root);
+ void SendUpdateAttrAction(RenderObject *render,
+ std::map<std::string, std::string> *attrs);
- // ****** Life Cycle ****** //
+ RenderObject *GetRenderObject(const std::string &ref);
- void OnRenderPageInit();
+ void SetRootRenderObject(RenderObject *root);
- void OnRenderProcessStart();
+ // ****** Life Cycle ****** //
- void OnRenderProcessExited();
+ void OnRenderPageInit();
- void OnRenderProcessGone();
+ void OnRenderProcessStart();
- void OnRenderPageClose();
+ void OnRenderProcessExited();
+ void OnRenderProcessGone();
- inline std::string PageId() {
- return this->page_id;
- }
+ void OnRenderPageClose();
- inline float ViewPortWidth() const {
- return this->viewport_width;
- }
+public:
- inline void SetViewPortWidth(float viewport_width) {
- this->viewport_width = viewport_width;
- }
+ inline std::string page_id() { return this->page_id_; }
- inline bool isDirty() {
- return this->dirty.load();
- }
+ inline float viewport_width() const { return this->viewport_width_; }
- inline void updateDirty(bool dirty) {
- this->dirty.store(dirty);
- }
+ inline void set_viewport_width(float viewport_width) {
+ this->viewport_width_ = viewport_width;
+ }
- inline void SetRenderContainerWidthWrapContent(bool wrap) {
- this->is_render_container_width_wrap_content.store(wrap);
- }
+ inline bool is_dirty() { return this->is_dirty_.load(); }
- inline bool GetRenderContainerWidthWrapContent() {
- return this->is_render_container_width_wrap_content.load();
- }
+ inline void set_is_dirty(bool dirty) { this->is_dirty_.store(dirty); }
- public:
+ inline void set_is_render_container_width_wrap_content(bool wrap) {
+ this->is_render_container_width_wrap_content_.store(wrap);
+ }
- static constexpr bool kUseVSync = true;
- std::atomic_bool need_layout{false};
- std::atomic_bool has_fore_layout_action{false};
+ inline bool is_render_container_width_wrap_content() {
+ return this->is_render_container_width_wrap_content_.load();
+ }
- private:
+ public:
+ static constexpr bool kUseVSync = true;
+ std::atomic_bool need_layout_{false};
+ std::atomic_bool has_fore_layout_action_{false};
- float viewport_width;
- RenderObject *render_root = nullptr;
- std::string page_id;
- std::pair<float, float> render_page_size;
- std::map<std::string, RenderObject *> render_object_registers;
- RenderPerformance *render_performance;
- std::atomic_bool dirty{true};
- std::atomic_bool is_render_container_width_wrap_content{false};
- std::atomic_bool is_render_container_height_wrap_content{false};
- };
-}
+ private:
+ float viewport_width_;
+ RenderObject *render_root_ = nullptr;
+ std::string page_id_;
+ std::pair<float, float> render_page_size_;
+ std::map<std::string, RenderObject *> render_object_registers_;
+ RenderPerformance *render_performance_;
+ std::atomic_bool is_dirty_{true};
+ std::atomic_bool is_render_container_width_wrap_content_{false};
+ std::atomic_bool is_render_container_height_wrap_content_{false};
+};
+} // namespace WeexCore
-#endif //RenderManager_h
\ No newline at end of file
+#endif // CORE_RENDER_PAGE_RENDER_PAGE_H_
[30/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.13
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/38f43ecc/pre-build/weex-main-jsfm.js
----------------------------------------------------------------------
diff --git a/pre-build/weex-main-jsfm.js b/pre-build/weex-main-jsfm.js
index 4a0b428..af0084d 100644
--- a/pre-build/weex-main-jsfm.js
+++ b/pre-build/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.11, Build 2018-06-07 17:20. (Vue: 2.5.13-weex.5, Rax: 0.4.20)");var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";var t,c,r,l;function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0<t?1:-1)*Math.floor(Math.abs(t)):t);return Math.min(Math.max(n,0),r)},function(e){var t=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var n,r=1<arguments.length?arguments[1]:void 0;if(void 0!==r){if(
!c(r))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(n=arguments[2])}for(var o,i=l(t.length),a=c(this)?Object(new this(i)):new Array(i),s=0;s<i;)o=t[s],a[s]=r?void 0===n?r(o,s):r.call(n,o,s):o,s+=1;return a.length=i,a}));var v=n(function(e){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)}),m=n(function(e){var t=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=t)}),o=(m.version,function(e){return"object"==typeof e?null!==e:"function"==typeof e}),y=function(e){if(!o(e))throw TypeError(e+" is not an object!");return e},i=function(e){try{return!!e()}catch(e){return!0}},a=!i(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),s=v.document,u=o(s)&&o(s.createElement),f=function(e){return u?s.createElement(e):{}},p=!a&&!i(function(){return 7!=Object.defineProperty(f("div"
),"a",{get:function(){return 7}}).a}),d=Object.defineProperty,h={f:a?Object.defineProperty:function(e,t,n){if(y(e),t=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}(t,!0),y(n),p)try{return d(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},k=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},S=a?function(e,t,n){return h.f(e,t,k(1,n))}:function(e,t,n){return e[t]=n,e},g={}.hasOwnProperty,_=function(e,t){return g.call(e,t)},b=0,w=Math.random(),O=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++b+w).toString(36))},C=n(function(e){var i=O("src"),t="toString",n=Function[t],a=(""+n).split(t);m.inspectSource=function(e){return n.call(
e)},(e.exports=function(e,t,n,r){var o="function"==typeof n;o&&(_(n,"name")||S(n,"name",t)),e[t]!==n&&(o&&(_(n,i)||S(n,i,e[t]?""+e[t]:a.join(String(t)))),e===v?e[t]=n:r?e[t]?e[t]=n:S(e,t,n):(delete e[t],S(e,t,n)))})(Function.prototype,t,function(){return"function"==typeof this&&this[i]||n.call(this)})}),x=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e},E=function(r,o,e){if(x(r),void 0===o)return r;switch(e){case 1:return function(e){return r.call(o,e)};case 2:return function(e,t){return r.call(o,e,t)};case 3:return function(e,t,n){return r.call(o,e,t,n)}}return function(){return r.apply(o,arguments)}},$="prototype",A=function(e,t,n){var r,o,i,a,s=e&A.F,c=e&A.G,l=e&A.S,u=e&A.P,f=e&A.B,p=c?v:l?v[t]||(v[t]={}):(v[t]||{})[$],d=c?m:m[t]||(m[t]={}),h=d[$]||(d[$]={});for(r in c&&(n=t),n)i=((o=!s&&p&&void 0!==p[r])?p:n)[r],a=f&&o?E(i,v):u&&"function"==typeof i?E(Function.call,i):i,p&&C(p,r,i,e&A.U),d[r]!=i&&S(d,r,a),u&&h[r]!=i&&(h[r]=i)};v.core=m,A.F=1
,A.G=2,A.S=4,A.P=8,A.B=16,A.W=32,A.U=64,A.R=128;var j,I=A,M={}.toString,T=function(e){return M.call(e).slice(8,-1)},F=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==T(e)?e.split(""):Object(e)},P=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},N=function(e){return F(P(e))},R=Math.ceil,D=Math.floor,V=function(e){return isNaN(e=+e)?0:(0<e?D:R)(e)},J=Math.min,L=function(e){return 0<e?J(V(e),9007199254740991):0},W=Math.max,q=Math.min,U=n(function(e){var t="__core-js_shared__",n=v[t]||(v[t]={});(e.exports=function(e,t){return n[e]||(n[e]=void 0!==t?t:{})})("versions",[]).push({version:m.version,mode:"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})}),B=U("keys"),z=function(e){return B[e]||(B[e]=O(e))},H=(j=!1,function(e,t,n){var r,o,i,a=N(e),s=L(a.length),c=(o=s,(r=V(r=n))<0?W(r+o,0):q(r,o));if(j&&t!=t){for(;c<s;)if((i=a[c++])!=i)return!0}else for(;c<s;c++)if((j||c in a)&&a[c]===t)return j||c||0;return!j&&-1}),X=z("IE_PROTO")
,G="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),K=Object.keys||function(e){return function(e,t){var n,r=N(e),o=0,i=[];for(n in r)n!=X&&_(r,n)&&i.push(n);for(;t.length>o;)_(r,n=t[o++])&&(~H(i,n)||i.push(n));return i}(e,G)},Z={f:Object.getOwnPropertySymbols},Y={f:{}.propertyIsEnumerable},Q=function(e){return Object(P(e))},ee=Object.assign,te=!ee||i(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ee({},e)[n]||Object.keys(ee({},t)).join("")!=r})?function(e,t){for(var n=arguments,r=Q(e),o=arguments.length,i=1,a=Z.f,s=Y.f;i<o;)for(var c,l=F(n[i++]),u=a?K(l).concat(a(l)):K(l),f=u.length,p=0;p<f;)s.call(l,c=u[p++])&&(r[c]=l[c]);return r}:ee;I(I.S+I.F,"Object",{assign:te});m.Object.assign;Object.setPrototypeOf||(Object.setPrototypeOf=function(t,n){var r;function o(e,t){return r.call(e,t),e}try{(r=t.getOwnPropertyDescriptor(t.prototype,n).set).call({},null)}catc
h(e){if(t.prototype!=={}[n])return;r=function(e){this[n]=e},o.polyfill=o(o({},null),t.prototype)instanceof t}return o}(Object,"__proto__"));var ne=global.WXEnvironment;ne&&"iOS"===ne.platform&&(global.Promise=void 0);var re=n(function(e){var t=U("wks"),n=v.Symbol,r="function"==typeof n;(e.exports=function(e){return t[e]||(t[e]=r&&n[e]||(r?n:O)("Symbol."+e))}).store=t}),oe=re("toStringTag"),ie="Arguments"==T(function(){return arguments}()),ae=function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),oe))?n:ie?T(t):"Object"==(r=T(t))&&"function"==typeof t.callee?"Arguments":r},se={};se[re("toStringTag")]="z",se+""!="[object z]"&&C(Object.prototype,"toString",function(){return"[object "+ae(this)+"]"},!0);var ce={},le=a?Object.defineProperties:function(e,t){y(e);for(var n,r=K(t),o=r.length,i=0;i<o;)h.f(e,n=r[i++],t[n]);return e},ue=v.document,fe=ue&&ue.documentElement,pe=z("IE_PROTO"),de=function(){},he="
prototype",ve=function(){var e,t=f("iframe"),n=G.length;for(t.style.display="none",fe.appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),ve=e.F;n--;)delete ve[he][G[n]];return ve()},me=Object.create||function(e,t){var n;return null!==e?(de[he]=y(e),n=new de,de[he]=null,n[pe]=e):n=ve(),void 0===t?n:le(n,t)},ye=h.f,ge=re("toStringTag"),_e=function(e,t,n){e&&!_(e=n?e:e.prototype,ge)&&ye(e,ge,{configurable:!0,value:t})},be={};S(be,re("iterator"),function(){return this});var we,ke=z("IE_PROTO"),Se=Object.prototype,Oe=Object.getPrototypeOf||function(e){return e=Q(e),_(e,ke)?e[ke]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Se:null},Ce=re("iterator"),xe=!([].keys&&"next"in[].keys()),Ee="values",$e=function(){return this},Ae=function(e,t,n,r,o,i,a){var s,c,l;c=t,l=r,(s=n).prototype=me(be,{next:k(1,l)}),_e(s,c+" Iterator");var u,f,p,d=function(e){if(!xe&&e
in y)return y[e];switch(e){case"keys":case Ee:return function(){return new n(this,e)}}return function(){return new n(this,e)}},h=t+" Iterator",v=o==Ee,m=!1,y=e.prototype,g=y[Ce]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void 0,w="Array"==t&&y.entries||g;if(w&&(p=Oe(w.call(new e)))!==Object.prototype&&p.next&&(_e(p,h,!0),"function"!=typeof p[Ce]&&S(p,Ce,$e)),v&&g&&g.name!==Ee&&(m=!0,_=function(){return g.call(this)}),(xe||m||!y[Ce])&&S(y,Ce,_),ce[t]=_,ce[h]=$e,o)if(u={values:v?_:d(Ee),keys:i?_:d("keys"),entries:b},a)for(f in u)f in y||C(y,f,u[f]);else I(I.P+I.F*(xe||m),t,u);return u},je=(we=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return i<0||a<=i?we?"":void 0:(n=o.charCodeAt(i))<55296||56319<n||i+1===a||(r=o.charCodeAt(i+1))<56320||57343<r?we?o.charAt(i):n:we?o.slice(i,i+2):r-56320+(n-55296<<10)+65536});Ae(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=je(t,n)
,this._i+=e.length,{value:e,done:!1})});var Ie=re("unscopables"),Me=Array.prototype;null==Me[Ie]&&S(Me,Ie,{});var Te=function(e){Me[Ie][e]=!0},Fe=function(e,t){return{value:t,done:!!e}},Pe=Ae(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,Fe(1)):Fe(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ce.Arguments=ce.Array,Te("keys"),Te("values"),Te("entries");for(var Ne=re("iterator"),Re=re("toStringTag"),De=ce.Array,Ve={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheet
List:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},Je=K(Ve),Le=0;Le<Je.length;Le++){var We,qe=Je[Le],Ue=Ve[qe],Be=v[qe],ze=Be&&Be.prototype;if(ze&&(ze[Ne]||S(ze,Ne,De),ze[Re]||S(ze,Re,qe),ce[qe]=De,Ue))for(We in Pe)ze[We]||C(ze,We,Pe[We],!0)}var He,Xe,Ge,Ke=function(t,e,n,r){try{return r?e(y(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&y(o.call(t)),e}},Ze=re("iterator"),Ye=Array.prototype,Qe=re("iterator"),et=m.getIteratorMethod=function(e){if(null!=e)return e[Qe]||e["@@iterator"]||ce[ae(e)]},tt=n(function(e){var d={},h={},t=e.exports=function(e,t,n,r,o){var i,a,s,c,l,u=o?function(){return e}:et(e),f=E(n,r,t?2:1),p=0;if("function"!=typeof u)throw TypeError(e+" is not iterable!");if(void 0===(l=u)||ce.Array!==l&&Ye[Ze]!==l){for(s=u.call(e);!(a=s.next()).done;)if((c=Ke(s,f,a.value,t))===d||c===h)return c}else for(i=L(e.length);p<i;p++)if((c=t?f(y(a=e[p])[0],a[1]):f(e[p]))===d||c===h)return c};t.BREAK=d,t.RETURN=h}),nt=re("species"),rt=v.process,ot=v.setImmediate,
it=v.clearImmediate,at=v.MessageChannel,st=v.Dispatch,ct=0,lt={},ut="onreadystatechange",ft=function(){var e=+this;if(lt.hasOwnProperty(e)){var t=lt[e];delete lt[e],t()}},pt=function(e){ft.call(e.data)};ot&&it||(ot=function(e){for(var t=arguments,n=[],r=1;arguments.length>r;)n.push(t[r++]);return lt[++ct]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof e?e:Function(e),n)},He(ct),ct},it=function(e){delete lt[e]},"process"==T(rt)?He=function(e){rt.nextTick(E(ft,e,1))}:st&&st.now?He=function(e){st.now(E(ft,e,1))}:at?(Ge=(Xe=new at).port2,Xe.port1.onmessage=pt,He=E(Ge.postMessage,Ge,1)):v.addEventListener&&"function"==typeof postMessage&&!v.importScripts?(He=function(e){v.postMessage(e+"","*")},v.ad
dEventListener("message",pt,!1)):He=ut in f("script")?function(e){fe.appendChild(f("script"))[ut]=function(){fe.removeChild(this),ft.call(e)}}:function(e){setTimeout(E(ft,e,1),0)});var dt={set:ot,clear:it},ht=dt.set,vt=v.MutationObserver||v.WebKitMutationObserver,mt=v.process,yt=v.Promise,gt="process"==T(mt);var _t={f:function(e){return new function(e){var n,r;this.promise=new e(function(e,t){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=e,r=t}),this.resolve=x(n),this.reject=x(r)}(e)}},bt=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}},wt=v.navigator,kt=wt&&wt.userAgent||"",St=re("species"),Ot=re("iterator"),Ct=!1;try{[7][Ot]().return=function(){Ct=!0}}catch(e){}var xt,Et,$t,At,jt,It=dt.set,Mt=function(){var n,r,o,e=function(){var e,t;for(gt&&(e=mt.domain)&&e.exit();n;){t=n.fn,n=n.next;try{t()}catch(e){throw n?o():r=void 0,e}}r=void 0,e&&e.enter()};if(gt)o=function(){mt.nextTick(e)};else if(!vt||v.navigator&&v.navigator.standalone)if(yt&&yt.re
solve){var t=yt.resolve(void 0);o=function(){t.then(e)}}else o=function(){ht.call(v,e)};else{var i=!0,a=document.createTextNode("");new vt(e).observe(a,{characterData:!0}),o=function(){a.data=i=!i}}return function(e){var t={fn:e,next:void 0};r&&(r.next=t),n||(n=t,o()),r=t}}(),Tt="Promise",Ft=v.TypeError,Pt=v.process,Nt=Pt&&Pt.versions,Rt=Nt&&Nt.v8||"",Dt=v[Tt],Vt="process"==ae(Pt),Jt=function(){},Lt=Et=_t.f,Wt=!!function(){try{var e=Dt.resolve(1),t=(e.constructor={})[re("species")]=function(e){e(Jt,Jt)};return(Vt||"function"==typeof PromiseRejectionEvent)&&e.then(Jt)instanceof t&&0!==Rt.indexOf("6.6")&&-1===kt.indexOf("Chrome/66")}catch(e){}}(),qt=function(e){var t;return!(!o(e)||"function"!=typeof(t=e.then))&&t},Ut=function(u,n){if(!u._n){u._n=!0;var r=u._c;Mt(function(){for(var c=u._v,l=1==u._s,e=0,t=function(e){var t,n,r,o=l?e.ok:e.fail,i=e.resolve,a=e.reject,s=e.domain;try{o?(l||(2==u._h&&Ht(u),u._h=1),!0===o?t=c:(s&&s.enter(),t=o(c),s&&(s.exit(),r=!0)),t===e.promise?a(Ft("Promi
se-chain cycle")):(n=qt(t))?n.call(t,i,a):i(t)):a(c)}catch(e){s&&!r&&s.exit(),a(e)}};r.length>e;)t(r[e++]);u._c=[],u._n=!1,n&&!u._h&&Bt(u)})}},Bt=function(i){It.call(v,function(){var e,t,n,r=i._v,o=zt(i);if(o&&(e=bt(function(){Vt?Pt.emit("unhandledRejection",r,i):(t=v.onunhandledrejection)?t({promise:i,reason:r}):(n=v.console)&&n.error&&n.error("Unhandled promise rejection",r)}),i._h=Vt||zt(i)?2:1),i._a=void 0,o&&e.e)throw e.v})},zt=function(e){return 1!==e._h&&0===(e._a||e._c).length},Ht=function(t){It.call(v,function(){var e;Vt?Pt.emit("rejectionHandled",t):(e=v.onrejectionhandled)&&e({promise:t,reason:t._v})})},Xt=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),Ut(t,!0))},Gt=function(e){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===e)throw Ft("Promise can't be resolved itself");(n=qt(e))?Mt(function(){var t={_w:r,_d:!1};try{n.call(e,E(Gt,t,1),E(Xt,t,1))}catch(e){Xt.call(t,e)}}):(r._v=e,r._s=1,Ut(r,!1))}catch(e){Xt.call({_w:r,_d:!1},e)
}}};Wt||(Dt=function(e){!function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!")}(this,Dt,Tt,"_h"),x(e),xt.call(this);try{e(E(Gt,this,1),E(Xt,this,1))}catch(e){Xt.call(this,e)}},(xt=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(e,t,n){for(var r in t)C(e,r,t[r],n);return e}(Dt.prototype,{then:function(e,t){var n,r,o,i=Lt((n=Dt,void 0===(o=y(this).constructor)||null==(r=y(o)[nt])?n:x(r)));return i.ok="function"!=typeof e||e,i.fail="function"==typeof t&&t,i.domain=Vt?Pt.domain:void 0,this._c.push(i),this._a&&this._a.push(i),this._s&&Ut(this,!1),i.promise},catch:function(e){return this.then(void 0,e)}}),$t=function(){var e=new xt;this.promise=e,this.resolve=E(Gt,e,1),this.reject=E(Xt,e,1)},_t.f=Lt=function(e){return e===Dt||e===At?new $t(e):Et(e)}),I(I.G+I.W+I.F*!Wt,{Promise:Dt}),_e(Dt,Tt),jt=v[Tt],a&&jt&&!jt[St]&&h.f(jt,St,{configurable:!0,get:function(){return this}}),
At=m[Tt],I(I.S+I.F*!Wt,Tt,{reject:function(e){var t=Lt(this);return(0,t.reject)(e),t.promise}}),I(I.S+I.F*!Wt,Tt,{resolve:function(e){return function(e,t){if(y(e),o(t)&&t.constructor===e)return t;var n=_t.f(e);return(0,n.resolve)(t),n.promise}(this,e)}}),I(I.S+I.F*!(Wt&&function(e,t){if(!t&&!Ct)return!1;var n=!1;try{var r=[7],o=r[Ot]();o.next=function(){return{done:n=!0}},r[Ot]=function(){return o},e(r)}catch(e){}return n}(function(e){Dt.all(e).catch(Jt)})),Tt,{all:function(e){var a=this,t=Lt(a),s=t.resolve,c=t.reject,n=bt(function(){var r=[],o=0,i=1;tt(e,!1,function(e){var t=o++,n=!1;r.push(void 0),i++,a.resolve(e).then(function(e){n||(n=!0,r[t]=e,--i||s(r))},c)}),--i||s(r)});return n.e&&c(n.v),t.promise},race:function(e){var t=this,n=Lt(t),r=n.reject,o=bt(function(){tt(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}});var Kt=["off","error","warn","info","log","debug"],Zt={};global.console;function Yt(e){var t=global.WXEnvironment&&global.WXEnviron
ment.logLevel||"log";return Zt[t]&&Zt[t][e]}function Qt(e){return e.map(function(e){return e="[object object]"===Object.prototype.toString.call(e).toLowerCase()?JSON.stringify(e):String(e)})}global.setTimeout;var en=global.setTimeoutNative;function tn(t,n,r){if(t.hasOwnProperty(n)){var e=t[n];Object.defineProperty(t,n,{get:function(){return e},set:function(e){if(this===t)throw Error("Cannot assign to read only property "+n+" of "+r);return Object.defineProperty(this,n,{value:e,writable:!0}),e}})}}!function(){if(void 0===setTimeout&&"function"==typeof en){var n={},r=0;global.setTimeout=function(e,t){n[++r]=e,en(r.toString(),t)},global.setTimeoutCallback=function(e){"function"==typeof n[e]&&(n[e](),delete n[e])}}}(),function(){if(Kt.forEach(function(n){var r=Kt.indexOf(n);Zt[n]={},Kt.forEach(function(e){var t=Kt.indexOf(e);t<=r&&(Zt[n][e]=!0)})}),global.WXEnvironment&&"Web"!==global.WXEnvironment.platform)global.console={debug:function(){for(var e=[],t=arguments.length;t--;)e[t]=argum
ents[t];Yt("debug")&&global.nativeLog.apply(global,Qt(e).concat(["__DEBUG"]))},log:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("log")&&global.nativeLog.apply(global,Qt(e).concat(["__LOG"]))},info:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("info")&&global.nativeLog.apply(global,Qt(e).concat(["__INFO"]))},warn:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("warn")&&global.nativeLog.apply(global,Qt(e).concat(["__WARN"]))},error:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("error")&&global.nativeLog.apply(global,Qt(e).concat(["__ERROR"]))}};else{var e=console.debug,t=console.log,n=console.info,r=console.warn,o=console.error;console.__ori__={debug:e,log:t,info:n,warn:r,error:o},console.debug=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("debug")&&console.__ori__.debug.apply(console,e)},console.log=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("log
")&&console.__ori__.log.apply(console,e)},console.info=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("info")&&console.__ori__.info.apply(console,e)},console.warn=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("warn")&&console.__ori__.warn.apply(console,e)},console.error=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("error")&&console.__ori__.error.apply(console,e)}}}();var nn={framework:"0.26.11",transformer:">=0.1.5 <0.5"};function rn(e,t,n){return t+"@"+n+"#"+e}var on=function(e){this.instanceId=String(e),this.lastCallbackId=0,this.callbacks={},this.hooks={}};on.prototype.add=function(e){return this.lastCallbackId++,this.callbacks[this.lastCallbackId]=e,this.lastCallbackId},on.prototype.remove=function(e){var t=this.callbacks[e];return delete this.callbacks[e],t},on.prototype.registerHook=function(e,t,n,r){var o=rn(e,t,n);this.hooks[o]&&console.warn('[JS Framework] Override an existing component hook "'+o+'".'),thi
s.hooks[o]=r},on.prototype.triggerHook=function(e,t,n,r){var o=rn(e,t,n),i=this.hooks[o];if("function"!=typeof i)return console.error("[JS Framework] Invalid hook function type ("+typeof i+') on "'+o+'".'),null;var a=null;try{a=i.apply(null,r||[])}catch(e){console.error('[JS Framework] Failed to execute the hook function on "'+o+'".')}return a},on.prototype.consume=function(e,t,n){var r=this.callbacks[e];return void 0!==n&&!1!==n||delete this.callbacks[e],"function"==typeof r?r(t):new Error('invalid callback id "'+e+'"')},on.prototype.close=function(){this.callbacks={},this.hooks={}};var an=1;function sn(){return(an++).toString()}function cn(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1)}function ln(e){if("function"!=typeof btoa)return"";var t=Array.prototype.map.call(new Uint8Array(e),function(e){return String.fromCharCode(e)}).join("");return btoa(t)}function un(e){if(!e||"object"!=typeof e)return!0;for(var t in e)if(Object.prototype.hasOwnProperty.cal
l(e,t))return!1;return!0}var fn={};function pn(e){return fn[e]}function dn(e){var t=fn[e];return t&&t.taskCenter?t.taskCenter:null}function hn(e,t,n){var r=e.documentElement;if(!(0<r.pureChildren.length||t.parentNode)){var o,i,a=r.children,s=a.indexOf(n);s<0?a.push(t):a.splice(s,0,t),1===t.nodeType?("body"===t.role?(t.docId=e.id,t.ownerDocument=e,t.parentNode=r,mn(t,r)):(t.children.forEach(function(e){e.parentNode=t}),vn(e,t),t.docId=e.id,t.ownerDocument=e,mn(t,r),delete e.nodeMap[t.nodeId]),r.pureChildren.push(t),o=e,i=t.toJSON(),o&&o.taskCenter&&"function"==typeof o.taskCenter.send&&o.taskCenter.send("dom",{action:"createBody"},[i])):(t.parentNode=r,e.nodeMap[t.ref]=t)}}function vn(e,t){t.role="body",t.depth=1,delete e.nodeMap[t.nodeId],t.ref="_root",e.nodeMap._root=t,e.body=t}function mn(t,e){(t.parentNode=e).docId&&(t.docId=e.docId,t.ownerDocument=e.ownerDocument,(t.ownerDocument.nodeMap[t.nodeId]=t).depth=e.depth+1),t.children.forEach(function(e){mn(e,t)})}function yn(e){for(;e
;){if(1===e.nodeType)return e;e=e.nextSibling}}function gn(e){for(;e;){if(1===e.nodeType)return e;e=e.previousSibling}}function _n(e,t,n,r){n<0&&(n=0);var o=t[n-1],i=t[n];return t.splice(n,0,e),r&&(o&&(o.nextSibling=e),e.previousSibling=o,(e.nextSibling=i)&&(i.previousSibling=e)),n}function bn(e,t,n,r){var o=t.indexOf(e);if(o<0)return-1;if(r){var i=t[o-1],a=t[o+1];i&&(i.nextSibling=a),a&&(a.previousSibling=i)}t.splice(o,1);var s=n;o<=n&&(s=n-1);var c=t[s-1],l=t[s];return t.splice(s,0,e),r&&(c&&(c.nextSibling=e),e.previousSibling=c,(e.nextSibling=l)&&(l.previousSibling=e)),o===s?-1:n}function wn(e,t,n){var r=t.indexOf(e);if(!(r<0)){if(n){var o=t[r-1],i=t[r+1];o&&(o.nextSibling=i),i&&(i.previousSibling=o)}t.splice(r,1)}}var kn,Sn=function(){this.nodeId=sn(),this.ref=this.nodeId,this.children=[],this.pureChildren=[],this.parentNode=null,this.nextSibling=null,this.previousSibling=null};Sn.prototype.destroy=function(){var e=pn(this.docId);e&&(delete this.docId,delete e.nodeMap[this.nodeI
d]),this.children.forEach(function(e){e.destroy()})};var On={};var Cn="div",xn=["click","longpress","touchstart","touchmove","touchend","panstart","panmove","panend","horizontalpan","verticalpan","swipe"];function En(e,t){pn(e).nodeMap[t.nodeId]=t}var $n=function(o){function e(e,t,n){void 0===e&&(e=Cn),o.call(this);var r=On[e];if(r&&!n)return new r(e,t,!0);t=t||{},this.nodeType=1,this.nodeId=sn(),this.ref=this.nodeId,this.type=e,this.attr=t.attr||{},this.style=t.style||{},this.classStyle=t.classStyle||{},this.event={},this.children=[],this.pureChildren=[]}return o&&(e.__proto__=o),((e.prototype=Object.create(o&&o.prototype)).constructor=e).prototype.appendChild=function(e){if(!e.parentNode||e.parentNode===this)if(e.parentNode){if(bn(e,this.children,this.children.length,!0),1===e.nodeType){var t=bn(e,this.pureChildren,this.pureChildren.length),n=dn(this.docId);if(n&&0<=t)return n.send("dom",{action:"moveElement"},[e.ref,this.ref,t])}}else if(mn(e,this),_n(e,this.children,this.childre
n.length,!0),this.docId&&En(this.docId,e),1===e.nodeType){_n(e,this.pureChildren,this.pureChildren.length);var r=dn(this.docId);if(r)return r.send("dom",{action:"addElement"},[this.ref,e.toJSON(),-1])}},e.prototype.insertBefore=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.nextSibling&&e.nextSibling===t))if(e.parentNode){if(bn(e,this.children,this.children.indexOf(t),!0),1===e.nodeType){var n=yn(t),r=bn(e,this.pureChildren,n?this.pureChildren.indexOf(n):this.pureChildren.length),o=dn(this.docId);if(o&&0<=r)return o.send("dom",{action:"moveElement"},[e.ref,this.ref,r])}}else if(mn(e,this),_n(e,this.children,this.children.indexOf(t),!0),this.docId&&En(this.docId,e),1===e.nodeType){var i=yn(t),a=_n(e,this.pureChildren,i?this.pureChildren.indexOf(i):this.pureChildren.length),s=dn(this.docId);if(s)return s.send("dom",{action:"addElement"},[this.ref,e.toJSON(),a])}},e.prototype.insertAfter=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.previousSibling&&e.p
reviousSibling===t))if(e.parentNode){if(bn(e,this.children,this.children.indexOf(t)+1,!0),1===e.nodeType){var n=bn(e,this.pureChildren,this.pureChildren.indexOf(gn(t))+1),r=dn(this.docId);if(r&&0<=n)return r.send("dom",{action:"moveElement"},[e.ref,this.ref,n])}}else if(mn(e,this),_n(e,this.children,this.children.indexOf(t)+1,!0),this.docId&&En(this.docId,e),1===e.nodeType){var o=_n(e,this.pureChildren,this.pureChildren.indexOf(gn(t))+1),i=dn(this.docId);if(i)return i.send("dom",{action:"addElement"},[this.ref,e.toJSON(),o])}},e.prototype.removeChild=function(e,t){if(e.parentNode&&(wn(e,this.children,!0),1===e.nodeType)){wn(e,this.pureChildren);var n=dn(this.docId);n&&n.send("dom",{action:"removeElement"},[e.ref])}t||e.destroy()},e.prototype.clear=function(){var t=dn(this.docId);t&&this.pureChildren.forEach(function(e){t.send("dom",{action:"removeElement"},[e.ref])}),this.children.forEach(function(e){e.destroy()}),this.children.length=0,this.pureChildren.length=0},e.prototype.setAtt
r=function(e,t,n){if(this.attr[e]!==t||!1===n){this.attr[e]=t;var r=dn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateAttrs"},[this.ref,o])}}},e.prototype.setAttrs=function(e,t){if(!un(e)){var n={};for(var r in e)this.attr[r]!==e[r]&&(this.attr[r]=e[r],n[r]=e[r]);if(!un(n)){var o=dn(this.docId);!t&&o&&o.send("dom",{action:"updateAttrs"},[this.ref,n])}}},e.prototype.setStyle=function(e,t,n){if(this.style[e]!==t||!1===n){this.style[e]=t;var r=dn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateStyle"},[this.ref,o])}}},e.prototype.setStyles=function(e,t){if(!un(e)){var n={};for(var r in e)this.style[r]!==e[r]&&(this.style[r]=e[r],n[r]=e[r]);if(!un(n)){var o=dn(this.docId);!t&&o&&o.send("dom",{action:"updateStyle"},[this.ref,n])}}},e.prototype.setClassStyle=function(e){for(var t in this.classStyle)this.classStyle[t]="";Object.assign(this.classStyle,e);var n=dn(this.docId);n&&n.send("dom",{action:"updateStyle"},[this.ref,this.toStyle()])},e.prototype.a
ddEvent=function(e,t,n){if(this.event||(this.event={}),!this.event[e]){this.event[e]={handler:t,params:n};var r=dn(this.docId);r&&r.send("dom",{action:"addEvent"},[this.ref,e])}},e.prototype.removeEvent=function(e){if(this.event&&this.event[e]){delete this.event[e];var t=dn(this.docId);t&&t.send("dom",{action:"removeEvent"},[this.ref,e])}},e.prototype.fireEvent=function(e,t,n,r){var o=null,i=!1,a=this.event[e];if(a&&t){var s=a.handler;t.stopPropagation=function(){i=!0},o=r&&r.params?s.call.apply(s,[this].concat(r.params,[t])):s.call(this,t)}return!i&&n&&-1!==xn.indexOf(e)&&this.parentNode&&this.parentNode.fireEvent&&(t.currentTarget=this.parentNode,this.parentNode.fireEvent(e,t,n)),o},e.prototype.toStyle=function(){return Object.assign({},this.classStyle,this.style)},e.prototype.toJSON=function(){var e={ref:this.ref.toString(),type:this.type,attr:this.attr,style:this.toStyle()},t=[];for(var n in this.event){var r=this.event[n].params;r?t.push({type:n,params:r}):t.push(n)}return t.le
ngth&&(e.event=t),this.pureChildren.length&&(e.children=this.pureChildren.map(function(e){return e.toJSON()})),e},e.prototype.toString=function(){return"<"+this.type+" attr="+JSON.stringify(this.attr)+" style="+JSON.stringify(this.toStyle())+">"+this.pureChildren.map(function(e){return e.toString()}).join("")+"</"+this.type+">"},e}(Sn);kn=$n;var An=function(){},jn=function(e,t){Object.defineProperty(this,"instanceId",{enumerable:!0,value:String(e)}),Object.defineProperty(this,"callbackManager",{enumerable:!0,value:new on(e)}),An=t||function(){}};function In(e,t){var n=pn(e);return n?Array.isArray(t)?t.map(function(e){switch(e.method){case"callback":return function(e,t,n,r){return e.taskCenter.callback(t,n,r)}.apply(void 0,[n].concat(e.args));case"fireEventSync":case"fireEvent":return function(e,t,n,r,o,i){var a=e.getRef(t);return a?e.fireEvent(a,n,r,o,i):new Error('invalid element reference "'+t+'"')}.apply(void 0,[n].concat(e.args));case"componentHook":return function(e,t,n,r,o){if
(!e||!e.taskCenter)return console.error('[JS Framework] Can\'t find "document" or "taskCenter".'),null;var i=null;try{i=e.taskCenter.triggerHook(t,n,r,o)}catch(e){console.error('[JS Framework] Failed to trigger the "'+n+"@"+r+'" hook on '+t+".")}return i}.apply(void 0,[n].concat(e.args))}}):void 0:new Error("[JS Framework] Failed to receiveTasks, instance ("+e+") is not available.")}jn.prototype.callback=function(e,t,n){return this.callbackManager.consume(e,t,n)},jn.prototype.registerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).registerHook.apply(e,t)},jn.prototype.triggerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).triggerHook.apply(e,t)},jn.prototype.updateData=function(e,t,n){this.send("module",{module:"dom",method:"updateComponentData"},[e,t,n])},jn.prototype.destroyCallback=function(){return this.callbackManager.close()},jn.prototype.normalize=function(e,t){var
n=this;void 0===t&&(t=!1);var r=cn(e);if(e&&e instanceof $n)return e.ref;if(e&&e._isVue&&e.$el instanceof $n)return e.$el.ref;if("Function"===r)return this.callbackManager.add(e).toString();if(t){if("Object"===r){var o={};for(var i in e)o[i]=n.normalize(e[i],!0);return o}if("Array"===r)return e.map(function(e){return n.normalize(e,!0)})}return function(e){var t=cn(e);switch(t){case"Undefined":case"Null":return"";case"RegExp":return e.toString();case"Date":return e.toISOString();case"Number":case"String":case"Boolean":case"Array":case"Object":return e;case"ArrayBuffer":return{"@type":"binary",dataType:t,base64:ln(e)};case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":return{"@type":"binary",dataType:t,base64:ln(e.buffer)};default:return JSON.stringify(e)}}(e)},jn.prototype.send=function(e,t,n,r){var o=this,i=t.action,a=t.component,s=t.ref,c=t.module,l=t.method;switch(n=n.
map(function(e){return o.normalize(e)}),"Object"===cn(r)&&(r=this.normalize(r,!0)),e){case"dom":return this[i](this.instanceId,n);case"component":return this.componentHandler(this.instanceId,s,l,n,Object.assign({component:a},r));default:return this.moduleHandler(this.instanceId,c,l,n,r)}},jn.prototype.callDOM=function(e,t){return this[e](this.instanceId,t)},jn.prototype.callComponent=function(e,t,n,r){return this.componentHandler(this.instanceId,e,t,n,r)},jn.prototype.callModule=function(e,t,n,r){return this.moduleHandler(this.instanceId,e,t,n,r)};var Mn={};function Tn(e){var t=function(t){Mn[t]||(Mn[t]={}),e[t].forEach(function(e){"string"==typeof e?Mn[t][e]=!0:Mn[t][e.name]=e.args})};for(var n in e)t(n)}function Fn(e,t){return"string"==typeof t?!(!Mn[e]||!Mn[e][t]):!!Mn[e]}var Pn={};function Nn(e){Array.isArray(e)&&e.forEach(function(e){e&&("string"==typeof e?Pn[e]=!0:"object"==typeof e&&"string"==typeof e.type&&function(o,e){if(e&&e.length){var t=function(e){function t(){e.apply(
this,arguments)}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t}(kn);e.forEach(function(r){t.prototype[r]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=dn(this.docId);if(n)return n.send("component",{ref:this.ref,component:o,method:r},e)}}),On[o]=t}}((Pn[e.type]=e).type,e.methods))})}function Rn(e){return!!Pn[e]}var Dn=[];function Vn(e,t){Ln(e)?console.warn('Service "'+e+'" has been registered already!'):(t=Object.assign({},t),Dn.push({name:e,options:t}))}function Jn(n){Dn.some(function(e,t){if(e.name===n)return Dn.splice(t,1),!0})}function Ln(e){return t=e,0<=Dn.map(function(e){return e.name}).indexOf(t);var t}var Wn=function(t){function e(e){t.call(this),this.nodeType=8,this.nodeId=sn(),this.ref=this.nodeId,this.type="comment",this.value=e,this.children=[],this.pureChildren=[]}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.toString=function(){return"\x3c!-- "+this.value+"
--\x3e"},e}(Sn);function qn(e,t){return void 0===t&&(t=[]),{module:"dom",method:e,args:t}}var Un=function(e,t){this.id=e,this.batched=!1,this.updates=[],"function"==typeof t?Object.defineProperty(this,"handler",{configurable:!0,enumerable:!0,writable:!0,value:t}):console.error("[JS Runtime] invalid parameter, handler must be a function")};Un.prototype.createFinish=function(e){return(0,this.handler)([qn("createFinish")],e)},Un.prototype.updateFinish=function(e){return(0,this.handler)([qn("updateFinish")],e)},Un.prototype.refreshFinish=function(e){return(0,this.handler)([qn("refreshFinish")],e)},Un.prototype.createBody=function(e){var t=e.toJSON(),n=t.children;delete t.children;var r=[qn("createBody",[t])];return n&&r.push.apply(r,n.map(function(e){return qn("addElement",[t.ref,e,-1])})),this.addActions(r)},Un.prototype.addElement=function(e,t,n){return 0<=n||(n=-1),this.addActions(qn("addElement",[t,e.toJSON(),n]))},Un.prototype.removeElement=function(e){if(Array.isArray(e)){var t=e.
map(function(e){return qn("removeElement",[e])});return this.addActions(t)}return this.addActions(qn("removeElement",[e]))},Un.prototype.moveElement=function(e,t,n){return this.addActions(qn("moveElement",[e,t,n]))},Un.prototype.setAttr=function(e,t,n){var r={};return r[t]=n,this.addActions(qn("updateAttrs",[e,r]))},Un.prototype.setStyle=function(e,t,n){var r={};return r[t]=n,this.addActions(qn("updateStyle",[e,r]))},Un.prototype.setStyles=function(e,t){return this.addActions(qn("updateStyle",[e,t]))},Un.prototype.addEvent=function(e,t){return this.addActions(qn("addEvent",[e,t]))},Un.prototype.removeEvent=function(e,t){return this.addActions(qn("removeEvent",[e,t]))},Un.prototype.handler=function(e,t){return t&&t()},Un.prototype.addActions=function(e){var t=this.updates,n=this.handler;if(Array.isArray(e)||(e=[e]),!this.batched)return n(e);t.push.apply(t,e)};var Bn={createBody:"callCreateBody",addElement:"callAddElement",removeElement:"callRemoveElement",moveElement:"callMoveElement
",updateAttrs:"callUpdateAttrs",updateStyle:"callUpdateStyle",addEvent:"callAddEvent",removeEvent:"callRemoveEvent"};function zn(e,t,n){var r,o=t.module,i=t.method,a=t.args;return r=i,"dom"===o&&Bn[r]&&"function"==typeof global[Bn[r]]?global[Bn[i]].apply(global,[e].concat(a,["-1"])):n(e,[t],"-1")}var Hn=function e(t,n,r){var o,i;t=t?t.toString():"",this.id=t,this.URL=n,i=this,(o=t)&&(fn[o]=i),this.nodeMap={};var a,s,c=e.Listener||Un;this.listener=new c(t,r||(a=t,"function"!=typeof(s=e.handler||global.callNative)&&console.error("[JS Runtime] no default handler"),function(e){Array.isArray(e)||(e=[e]);for(var t=0;t<e.length;t++){var n=zn(a,e[t],s);if(-1===n)return n}})),this.taskCenter=new jn(t,r?function(e){for(var t=[],n=arguments.length-1;0<n--;)t[n]=arguments[n+1];return r.apply(void 0,t)}:e.handler),this.createDocumentElement()};Hn.prototype.getRef=function(e){return this.nodeMap[e]},Hn.prototype.open=function(){this.listener.batched=!1},Hn.prototype.close=function(){this.listener
.batched=!0},Hn.prototype.createDocumentElement=function(){var n=this;if(!this.documentElement){var e=new $n("document");e.docId=this.id,e.ownerDocument=this,e.role="documentElement",e.depth=0,e.ref="_documentElement",this.nodeMap._documentElement=e,this.documentElement=e,Object.defineProperty(e,"appendChild",{configurable:!0,enumerable:!0,writable:!0,value:function(e){hn(n,e)}}),Object.defineProperty(e,"insertBefore",{configurable:!0,enumerable:!0,writable:!0,value:function(e,t){hn(n,e,t)}})}return this.documentElement},Hn.prototype.createBody=function(e,t){this.body||vn(this,new $n(e,t));return this.body},Hn.prototype.createElement=function(e,t){return new $n(e,t)},Hn.prototype.createComment=function(e){return new Wn(e)},Hn.prototype.fireEvent=function(e,t,n,r,o){if(e){(n=n||{}).type=n.type||t,n.target=e,n.currentTarget=e,n.timestamp=Date.now(),r&&function(e,t){var n=t.attrs||{};for(var r in n)e.setAttr(r,n[r],!0);var o=t.style||{};for(var i in o)e.setStyle(i,o[i],!0)}(e,r);var i=
"true"===this.getRef("_root").attr.bubble;return e.fireEvent(t,n,i,o)}},Hn.prototype.destroy=function(){var e;this.taskCenter.destroyCallback(),delete this.listener,delete this.nodeMap,delete this.taskCenter,e=this.id,delete fn[e]},Hn.handler=null;var Xn={};function Gn(e){return e["[[CurrentInstanceId]]"]}var Kn,Zn,Yn=function(e,t){var n,r;n=this,r=String(e),Object.defineProperty(n,"[[CurrentInstanceId]]",{value:r}),this.config=t||{},this.document=new Hn(e,this.config.bundleUrl),this.requireModule=this.requireModule.bind(this),this.importScript=this.importScript.bind(this),this.isRegisteredModule=Fn,this.isRegisteredComponent=Rn};Yn.prototype.requireModule=function(s){var c=Gn(this);if(c&&this.document&&this.document.taskCenter){if(Fn(s)){var e=s+"#"+c;if(!Xn[e]){var t=Mn[s],n={},r=function(a){Object.defineProperty(n,a,{enumerable:!0,configurable:!0,get:function(){return n=s,r=a,(o=dn(e=c))&&"function"==typeof o.send?function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];
return o.send("module",{module:n,method:r},e)}:(console.error("[JS Framework] Failed to find taskCenter ("+e+")."),null);var e,n,r,o},set:function(e){return n=s,r=a,o=e,(i=dn(t=c))&&"function"==typeof i.send?"function"!=typeof o?(console.error("[JS Framework] "+n+"."+r+" must be assigned as a function."),null):function(e){return i.send("module",{module:n,method:r},[e])}:(console.error("[JS Framework] Failed to find taskCenter ("+t+")."),null);var t,n,r,o,i}})};for(var o in t)r(o);Xn[e]=n}return Xn[e]}console.warn('[JS Framework] using unregistered weex module "'+s+'"')}else console.error('[JS Framework] Failed to requireModule("'+s+'"), instance ('+c+") doesn't exist anymore.")},Yn.prototype.supports=function(e){if("string"!=typeof e)return null;var t=e.match(/^@(\w+)\/(\w+)(\.(\w+))?$/i);if(t){var n=t[1],r=t[2],o=t[4];switch(n){case"module":return Fn(r,o);case"component":return Rn(r)}}return null},Yn.prototype.importScript=function(e,r){void 0===r&&(r={});var o=Gn(this),i=dn(o);ret
urn new Promise(function(t,n){i&&"function"==typeof i.send||n(new Error('[JS Framework] Failed to import script "'+e+'", no taskCenter ('+o+") matched."));try{i.send("module",{module:"script",method:"importScript"},[e,r],{callback:[function(e){return t(e)},function(e){return n(e)}]})}catch(e){n(e)}})};var Qn=/^\s*\/\/ *(\{[^}]*\}) *\r?\n/;function er(){return"0.26.11"}var tr={};function nr(e){return tr[e]}function rr(e,t,n){void 0===t&&(t={});var r=new Yn(e,t),o=t.bundleType||"Vue";tr[e]=o;var i=Zn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');!function(e,t,n){var r=dn(e);if(r&&"function"==typeof r.send)if(t&&n){var o="jsfm."+t+"."+n;try{if(Fn("userTrack","addPerfPoint")){var i=Object.create(null);i[o]="4",r.send("module",{module:"userTrack",method:"addPerfPoint"},[i])}}catch(e){console.error('[JS Framework] Failed to trace "'+o+'"!')}}else console.warn("[JS Framework] Invalid track type ("+t+") or value ("+n+")");else console.error("[JS Framewo
rk] Failed to create tracker!")}(e,"bundleType",o);var a,s,c,l,u=(a=e,s={weex:r,config:t,created:Date.now(),framework:o,bundleType:o},c=Zn,(l=Object.create(null)).service=Object.create(null),Dn.forEach(function(e){var t=e.name,n=e.options.create;if(n)try{var r=n(a,s,c);Object.assign(l.service,r),Object.assign(l,r.instance)}catch(e){console.error("[JS Runtime] Failed to create service "+t+".")}}),delete l.service.instance,Object.freeze(l.service),l);Object.freeze(u);var f=Object.create(null);Object.assign(f,u,{weex:r,getJSFMVersion:er,__WEEX_CALL_JAVASCRIPT__:In,services:u}),Object.freeze(f);var p=Object.assign({},f);return"function"==typeof i.createInstanceContext&&Object.assign(p,i.createInstanceContext(e,f,n)),Object.freeze(p),p}var or={createInstance:function(e,t,n,r){if(tr[e])return new Error('The instance id "'+e+'" has already been used!');var o=function(e){var t=Qn.exec(e);if(t)try{return JSON.parse(t[1]).framework}catch(e){}return"Weex"}(t);tr[e]=o,(n=JSON.parse(JSON.stringi
fy(n||{}))).env=JSON.parse(JSON.stringify(global.WXEnvironment||{})),n.bundleType=o;var i=Zn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');"Weex"===o&&console.error('[JS Framework] COMPATIBILITY WARNING: Weex DSL 1.0 (.we) framework is no longer supported! It will be removed in the next version of WeexSDK, your page would be crash if you still using the ".we" framework. Please upgrade it to Vue.js or Rax.');var a=rr(e,n,r);if("function"==typeof i.createInstance){if("Rax"===o||"Weex"===o){var s=Object.assign({config:n,created:Date.now(),framework:o},a);return i.createInstance(e,t,n,r,s)}return i.createInstance(e,t,n,r,a)}!function(e,t){var n=[],r=[];for(var o in t)n.push(o),r.push(t[o]);var i="\n (function (global) {\n "+e+"\n })(Object.create(this))\n ";(new(Function.prototype.bind.apply(Function,[null].concat(n,[i])))).apply(void 0,r)}(t,a)},createInstanceContext:rr,getRoot:function(e){var t=pn(e);try{if(t&&t.body)return t.body.toJS
ON()}catch(e){return void console.error("[JS Framework] Failed to get the virtual dom tree.")}},getJSFMVersion:er,getDocument:pn,registerService:Vn,unregisterService:Jn,callJS:function(e,t){var n=Kn[nr(e)];return n&&"function"==typeof n.receiveTasks?n.receiveTasks(e,t):In(e,t)}};function ir(s){or[s]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n,r=e[0],o=nr(r);if(o&&Kn[o]){var i=(n=Kn[o])[s].apply(n,e),a={framework:o};return"refreshInstance"===s?Dn.forEach(function(e){var t=e.options.refresh;t&&t(r,{info:a,runtime:Zn})}):"destroyInstance"===s&&(Dn.forEach(function(e){var t=e.options.destroy;t&&t(r,{info:a,runtime:Zn})}),delete tr[r]),i}return new Error('[JS Framework] Using invalid instance id "'+r+'" when calling '+s+".")}}function ar(o,i){or[o]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n in"function"==typeof i&&i.apply(void 0,e),Zn.frameworks){var r=Zn.frameworks[n];r&&r[o]&&r[o].apply(r,e)}}}var sr={Document:Hn,Element:$n,C
omment:Wn,Listener:Un,TaskCenter:jn,sendTasks:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return"function"==typeof callNative?callNative.apply(void 0,e):(global.callNative||function(){}).apply(void 0,e)}};Hn.handler=sr.sendTasks;var cr={service:{register:Vn,unregister:Jn,has:Ln},freezePrototype:function(){Object.freeze(sr.Comment),Object.freeze(sr.Listener),Object.freeze(sr.Document.prototype),Object.freeze(sr.Comment.prototype),Object.freeze(sr.Listener.prototype)},init:function(e){for(var t in Kn=(Zn=e||{}).frameworks||{},function(){var e={createFinish:global.callCreateFinish,updateFinish:global.callUpdateFinish,refreshFinish:global.callRefreshFinish,createBody:global.callCreateBody,addElement:global.callAddElement,removeElement:global.callRemoveElement,moveElement:global.callMoveElement,updateAttrs:global.callUpdateAttrs,updateStyle:global.callUpdateStyle,addEvent:global.callAddEvent,removeEvent:global.callRemoveEvent},t=jn.prototype,n=function(n){var r=e[n]
;t[n]=r?function(e,t){return r.apply(void 0,[e].concat(t))}:function(e,t){return An(e,[{module:"dom",method:n,args:t}],"-1")}};for(var r in e)n(r);t.componentHandler=global.callNativeComponent||function(e,t,n,r,o){return An(e,[{component:o.component,ref:t,method:n,args:r}])},t.moduleHandler=global.callNativeModule||function(e,t,n,r){return An(e,[{module:t,method:n,args:r}])}}(),Kn){var n=Kn[t];if("function"==typeof n.init)try{n.init(e)}catch(e){}}return ar("registerComponents",Nn),ar("registerModules",Tn),ar("registerMethods"),["destroyInstance","refreshInstance"].forEach(ir),or},config:sr};function lr(e,t){void 0===t&&(t={}),this.type=e||"message",this.data=t.data||null,this.origin=t.origin||"",this.source=t.source||null,this.ports=t.ports||[],this.target=null,this.timeStamp=Date.now()}var ur={},fr={};function pr(){}pr.prototype.postMessage=function(e){if(this._closed)throw new Error('BroadcastChannel "'+this.name+'" is closed.');var t=ur[this.name];if(t&&t.length)for(var n=0;n<t.l
ength;++n){var r=t[n];r._closed||r===this||"function"==typeof r.onmessage&&r.onmessage(new lr("message",{data:e}))}},pr.prototype.close=function(){var t=this;if(!this._closed&&(this._closed=!0,ur[this.name])){var e=ur[this.name].filter(function(e){return e!==t});e.length?ur[this.name]=e:delete ur[this.name]}};var dr={BroadcastChannel:{create:function(t,e,n){if(fr[t]=[],"function"==typeof global.BroadcastChannel)return{};var r={BroadcastChannel:function(e){Object.defineProperty(this,"name",{configurable:!1,enumerable:!0,writable:!1,value:String(e)}),this._closed=!1,this.onmessage=null,ur[this.name]||(ur[this.name]=[]),ur[this.name].push(this),fr[t].push(this)}};return r.BroadcastChannel.prototype=pr.prototype,{instance:r}},destroy:function(e,t){fr[e].forEach(function(e){return e.close()}),delete fr[e]}}};var hr={},vr={};var mr=Object.freeze({init:function(e){hr.Document=e.Document,hr.Element=e.Element,hr.Comment=e.Comment,hr.sendTasks=e.sendTasks},createInstance:function(t,e,n,r,o){v
oid 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new hr.Document(t,n.bundleUrl),a={},s={id:t,data:r,document:i,callbacks:a},c=0;i.addCallback=function(e){return a[++c]=e,c},i.handleCallback=function(e,t,n){var r=a[e];return n&&delete a[e],r(t)},vr[t]=s;var l=Object.assign({Document:hr.Document,Element:hr.Element,Comment:hr.Comment,sendTasks:function(e){return hr.sendTasks(t,e,-1)},options:n,document:i},o),u=[],f=[];for(var p in l)u.push(p),f.push(l[p]);return u.push(e),(new(Function.prototype.bind.apply(Function,[null].concat(u)))).apply(void 0,f),hr.sendTasks(t,[{module:"dom",method:"createFinish",args:[]}],-1),s},destroyInstance:function(e){delete vr[e]},getRoot:function(e){return vr[e].document.body.toJSON()},receiveTasks:function(r,e){var o={fireEvent:function(e,t,n,r,o){var i=vr[e].document,a=i.getRef(t);return i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return vr[e].document.handleCallback(t,n,r)}};if((vr[r]||{}).document&&Array.isArray(e)){var i=[];return e.
forEach(function(e){var t=o[e.method],n=[].concat(e.args);"function"==typeof t&&(n.unshift(r),i.push(t.apply(void 0,n)))}),i}}}),yr=n(function(e){e.exports=function(e,o){var _=Object.freeze({});function j(e){return null==e}function I(e){return null!=e}function M(e){return!0===e}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function b(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString;function u(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function n(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}s("slot,component",!0);var c=s("key,ref,slot,slot-scope,is");function l(e,t){if(e.length){var n=
e.indexOf(t);if(-1<n)return e.splice(n,1)}}var a=Object.prototype.hasOwnProperty;function f(e,t){return a.call(e,t)}function p(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var d=/-(\w)/g,h=p(function(e){return e.replace(d,function(e,t){return t?t.toUpperCase():""})}),v=p(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),m=/\B([A-Z])/g,w=p(function(e){return e.replace(m,"-$1").toLowerCase()});function y(n,r){function e(e){var t=arguments.length;return t?1<t?n.apply(r,arguments):n.call(r,e):n.call(r)}return e._length=n.length,e}function g(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function N(e,t){for(var n in t)e[n]=t[n];return e}function R(e,t,n){}var k=function(e,t,n){return!1},S=function(e){return e};function O(t,n){if(t===n)return!0;var e=b(t),r=b(n);if(!e||!r)return!e&&!r&&String(t)===String(n);try{var o=Array.isArray(t),i=Array.isArray(n);if(o&&i)return t.length===n.length&&t.every(function(e,t){return O(e,n[t])
});if(o||i)return!1;var a=Object.keys(t),s=Object.keys(n);return a.length===s.length&&a.every(function(e){return O(t[e],n[e])})}catch(e){return!1}}function C(e,t){for(var n=0;n<e.length;n++)if(O(e[n],t))return n;return-1}function D(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var F="data-server-rendered",x=["component","directive","filter"],E=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],$={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:k,isReservedAttr:k,isUnknownElement:k,getTagNamespace:R,parsePlatformTagName:S,mustUseProp:k,_lifecycleHooks:E};function A(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var P=/[^\w.$]/;var V,J="__proto__"in{},L="undefined"!=typeof window,W="undefi
ned"!=typeof WXEnvironment&&!!WXEnvironment.platform,q=W&&WXEnvironment.platform.toLowerCase(),U=L&&window.navigator.userAgent.toLowerCase(),B=(U&&/msie|trident/.test(U),U&&0<U.indexOf("msie 9.0")),z=U&&0<U.indexOf("edge/"),H=(U&&U.indexOf("android"),U&&/iphone|ipad|ipod|ios/.test(U)||"ios"===q),X=(U&&/chrome\/\d+/.test(U),{}.watch);if(L)try{var G={};Object.defineProperty(G,"passive",{get:function(){}}),window.addEventListener("test-passive",null,G)}catch(e){}var K=function(){return void 0===V&&(V=!L&&!W&&void 0!==global&&"server"===global.process.env.VUE_ENV),V},Z=L&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Y(e){return"function"==typeof e&&/native code/.test(e.toString())}var Q,ee="undefined"!=typeof Symbol&&Y(Symbol)&&"undefined"!=typeof Reflect&&Y(Reflect.ownKeys);Q="undefined"!=typeof Set&&Y(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=fun
ction(){this.set=Object.create(null)},e}();var te=R,ne=0,re=function(){this.id=ne++,this.subs=[]};re.prototype.addSub=function(e){this.subs.push(e)},re.prototype.removeSub=function(e){l(this.subs,e)},re.prototype.depend=function(){re.target&&re.target.addDep(this)},re.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},re.target=null;var oe=[];var ie=function(e,t,n,r,o,i,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ae={child:{configurable:!0}};ae.child.get=function(){return this.componentInstance},Object.defineProperties(ie.prototype,ae);var se=function(e){void 0===e&&(
e="");var t=new ie;return t.text=e,t.isComment=!0,t};function ce(e){return new ie(void 0,void 0,void 0,String(e))}var le=Array.prototype,ue=Object.create(le);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(a){var s=le[a];A(ue,a,function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r,o=s.apply(this,t),i=this.__ob__;switch(a){case"push":case"unshift":r=t;break;case"splice":r=t.slice(2)}return r&&i.observeArray(r),i.dep.notify(),o})});var fe=Object.getOwnPropertyNames(ue),pe={shouldConvert:!0},de=function(e){(this.value=e,this.dep=new re,this.vmCount=0,A(e,"__ob__",this),Array.isArray(e))?((J?he:ve)(e,ue,fe),this.observeArray(e)):this.walk(e)};function he(e,t,n){e.__proto__=t}function ve(e,t,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];A(e,i,t[i])}}function me(e,t){var n;if(b(e)&&!(e instanceof ie))return f(e,"__ob__")&&e.__ob__ instanceof de?n=e.__ob__:pe.shouldConvert&&!K()&&(Array.isArray(e)||u(e))&&Object.isExtensible(e)&&!e._isVue&&
(n=new de(e)),t&&n&&n.vmCount++,n}function ye(n,e,r,t,o){var i=new re,a=Object.getOwnPropertyDescriptor(n,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set,l=!o&&me(r);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(n):r;return re.target&&(i.depend(),l&&(l.dep.depend(),Array.isArray(e)&&function e(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(e))),e},set:function(e){var t=s?s.call(n):r;e===t||e!=e&&t!=t||(c?c.call(n,e):r=e,l=!o&&me(e),i.notify())}})}}function ge(e,t,n){if(Array.isArray(e)&&i(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(ye(r.value,t,n),r.dep.notify(),n):e[t]=n}function _e(e,t){if(Array.isArray(e)&&i(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||f(e,t)&&(delete e[t],n&&n.dep.notify())}}de.prototype.walk=function(e){for(var t=Object.key
s(e),n=0;n<t.length;n++)ye(e,t[n],e[t[n]])},de.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)me(e[t])};var be=$.optionMergeStrategies;function we(e,t){if(!t)return e;for(var n,r,o,i=Object.keys(t),a=0;a<i.length;a++)r=e[n=i[a]],o=t[n],f(e,n)?u(r)&&u(o)&&we(r,o):ge(e,n,o);return e}function ke(n,r,o){return o?function(){var e="function"==typeof r?r.call(o,o):r,t="function"==typeof n?n.call(o,o):n;return e?we(e,t):t}:r?n?function(){return we("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Se(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Oe(e,t,n,r){var o=Object.create(e||null);return t?N(o,t):o}be.data=function(e,t,n){return n?ke(e,t,n):t&&"function"!=typeof t?e:ke(e,t)},E.forEach(function(e){be[e]=Se}),x.forEach(function(e){be[e+"s"]=Oe}),be.watch=function(e,t,n,r){if(e===X&&(e=void 0),t===X&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var o={};for(var i in N(o,e),t){var a=o[i],s=t[i];a
&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},be.props=be.methods=be.inject=be.computed=function(e,t,n,r){if(!e)return t;var o=Object.create(null);return N(o,e),t&&N(o,t),o},be.provide=ke;var Ce=function(e,t){return void 0===t?e:t};function xe(n,r,o){"function"==typeof r&&(r=r.options),function(e,t){var n=e.props;if(n){var r,o,i={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(o=n[r])&&(i[h(o)]={type:null});else if(u(n))for(var a in n)o=n[a],i[h(a)]=u(o)?o:{type:o};e.props=i}}(r),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(u(n))for(var i in n){var a=n[i];r[i]=u(a)?N({from:i},a):{from:a}}}}(r),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(r);var e=r.extends;if(e&&(n=xe(n,e,o)),r.mixins)for(var t=0,i=r.mixins.length;t<i;t++)n=xe(n,r.mixins[t],o);var a,s={};for(a in n)c(a);for(a in r)f(n,a)||c
(a);function c(e){var t=be[e]||Ce;s[e]=t(n[e],r[e],o,e)}return s}function Ee(e,t,n,r){if("string"==typeof n){var o=e[t];if(f(o,n))return o[n];var i=h(n);if(f(o,i))return o[i];var a=v(i);return f(o,a)?o[a]:o[n]||o[i]||o[a]}}function $e(e,t,n,r){var o=t[e],i=!f(n,e),a=n[e];if(je(Boolean,o.type)&&(i&&!f(o,"default")?a=!1:je(String,o.type)||""!==a&&a!==w(e)||(a=!0)),void 0===a){a=function(e,t,n){if(!f(t,"default"))return;var r=t.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Ae(t.type)?r.call(e):r}(r,o,e);var s=pe.shouldConvert;pe.shouldConvert=!0,me(a),pe.shouldConvert=s}return a}function Ae(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function je(e,t){if(!Array.isArray(t))return Ae(t)===Ae(e);for(var n=0,r=t.length;n<r;n++)if(Ae(t[n])===Ae(e))return!0;return!1}function Ie(e,t,n){if(t)for(var r=t;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i
<o.length;i++)try{if(!1===o[i].call(r,e,t,n))return}catch(e){Me(e,r,"errorCaptured hook")}}Me(e,t,n)}function Me(e,t,n){if($.errorHandler)try{return $.errorHandler.call(null,e,t,n)}catch(e){Te(e,null,"config.errorHandler")}Te(e,t,n)}function Te(e,t,n){if(!L&&!W||"undefined"==typeof console)throw e;console.error(e)}var Fe,Pe,Ne=[],Re=!1;function De(){Re=!1;for(var e=Ne.slice(0),t=Ne.length=0;t<e.length;t++)e[t]()}var Ve=!1;if("undefined"!=typeof setImmediate&&Y(setImmediate))Pe=function(){setImmediate(De)};else if("undefined"==typeof MessageChannel||!Y(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Pe=function(){setTimeout(De,0)};else{var Je=new MessageChannel,Le=Je.port2;Je.port1.onmessage=De,Pe=function(){Le.postMessage(1)}}if("undefined"!=typeof Promise&&Y(Promise)){var We=Promise.resolve();Fe=function(){We.then(De),H&&setTimeout(R)}}else Fe=Pe;function qe(e,t){var n;if(Ne.push(function(){if(e)try{e.call(t)}catch(e){Ie(e,t,"nextTick")}else n&&n(t
)}),Re||(Re=!0,Ve?Pe():Fe()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Ue=new Q;function Be(e){!function e(t,n){var r,o;var i=Array.isArray(t);if(!i&&!b(t)||Object.isFrozen(t))return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(r=t.length;r--;)e(t[r],n);else for(o=Object.keys(t),r=o.length;r--;)e(t[o[r]],n)}(e,Ue),Ue.clear()}var ze,He=p(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function Xe(e){function o(){var e=arguments,t=o.fns;if(!Array.isArray(t))return t.apply(null,arguments);for(var n=t.slice(),r=0;r<n.length;r++)n[r].apply(null,e)}return o.fns=e,o}function Ge(e,t,n,r,o){var i,a,s,c,l;for(i in e)a=s=e[i],c=t[i],l=He(i),u(a)&&(s=a.handler,l.params=a.params),j(s)||(j(c)?(j(s.fns)&&(s=e[i]=Xe(s)),n(l.name,s,l.once,l.capture,l.passive,l.params)):s!==c&&(c.fns=s,e[i]=c));for(i in t)j(e[i])&&r((l=He(i)
).name,t[i],l.capture)}function Ke(e,t,n){var r;e instanceof ie&&(e=e.data.hook||(e.data.hook={}));var o=e[t];function i(){n.apply(this,arguments),l(r.fns,i)}j(o)?r=Xe([i]):I(o.fns)&&M(o.merged)?(r=o).fns.push(i):r=Xe([o,i]),r.merged=!0,e[t]=r}function Ze(e,t,n,r,o){if(I(t)){if(f(t,n))return e[n]=t[n],o||delete t[n],!0;if(f(t,r))return e[n]=t[r],o||delete t[r],!0}return!1}function Ye(e){return T(e)?[ce(e)]:Array.isArray(e)?function e(t,n){var r=[];var o,i,a,s;for(o=0;o<t.length;o++)j(i=t[o])||"boolean"==typeof i||(a=r.length-1,s=r[a],Array.isArray(i)?0<i.length&&(Qe((i=e(i,(n||"")+"_"+o))[0])&&Qe(s)&&(r[a]=ce(s.text+i[0].text),i.shift()),r.push.apply(r,i)):T(i)?Qe(s)?r[a]=ce(s.text+i):""!==i&&r.push(ce(i)):Qe(i)&&Qe(s)?r[a]=ce(s.text+i.text):(M(t._isVList)&&I(i.tag)&&j(i.key)&&I(n)&&(i.key="__vlist"+n+"_"+o+"__"),r.push(i)));return r}(e):void 0}function Qe(e){return I(e)&&I(e.text)&&!1===e.isComment}function et(e,t){return(e.__esModule||ee&&"Module"===e[Symbol.toStringTag])&&(e=e.de
fault),b(e)?t.extend(e):e}function tt(e){return e.isComment&&e.asyncFactory}function nt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(I(n)&&(I(n.componentOptions)||tt(n)))return n}}function rt(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&at(e,t)}function ot(e,t,n){n?ze.$once(e,t):ze.$on(e,t)}function it(e,t){ze.$off(e,t)}function at(e,t,n){ze=e,Ge(t,n||{},ot,it),ze=void 0}function st(e,t){var n={};if(!e)return n;for(var r=0,o=e.length;r<o;r++){var i=e[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==t&&i.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var l in n)n[l].every(ct)&&delete n[l];return n}function ct(e){return e.isComment&&!e.asyncFactory||" "===e.text}function lt(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?lt(e[n],t):t[e[n].key]=e[n].fn;return t}var ut
=null;function ft(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}function pt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function dt(e,t){if(t){if(e._directInactive=!1,pt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)dt(e.$children[n]);ht(e,"activated")}}function ht(t,n){var e=t.$options[n];if(e)for(var r=0,o=e.length;r<o;r++)try{e[r].call(t)}catch(e){Ie(e,t,n+" hook")}t._hasHookEvent&&t.$emit("hook:"+n)}var vt=[],mt=[],yt={},gt=!1,_t=!1,bt=0;function wt(){var e,t;for(_t=!0,vt.sort(function(e,t){return e.id-t.id}),bt=0;bt<vt.length;bt++)t=(e=vt[bt]).id,yt[t]=null,e.run();var n=mt.slice(),r=vt.slice();bt=vt.length=mt.length=0,yt={},gt=_t=!1,function
(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,dt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&ht(r,"updated")}}(r),Z&&$.devtools&&Z.emit("flush")}var kt=0,St=function(e,t,n,r,o){this.vm=e,o&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++kt,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Q,this.newDepIds=new Q,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!P.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};St.prototype.get=function(){var e,t;e=this,re.target&&oe.push(re.target),re.target=e;var n=this.vm;try{t=this.getter.call(n,n)}catch(e){if(!this.user)throw e;Ie(e,n,'getter for wa
tcher "'+this.expression+'"')}finally{this.deep&&Be(t),re.target=oe.pop(),this.cleanupDeps()}return t},St.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},St.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},St.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==yt[t]){if(yt[t]=!0,_t){for(var n=vt.length-1;bt<n&&vt[n].id>e.id;)n--;vt.splice(n+1,0,e)}else vt.push(e);gt||(gt=!0,qe(wt))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||b(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Ie(e,this.vm,'callback for watcher "'
+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Ot={enumerable:!0,configurable:!0,get:R,set:R};function Ct(e,t,n){Ot.get=function(){return this[t][n]},Ot.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Ot)}function xt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var o=n.$options.propsData||{},i=n._props={},a=n.$options._propKeys=[],e=!n.$parent;pe.shouldConvert=e;var t=function(e){a.push(e);var t=$e(e,r,o,n);ye(i,e,t),e in n||Ct(n,"_props",e)};for(var s in r)t(s);pe.shouldConvert=!0}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?R:y(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$o
ptions.data;u(t=e._data="function"==typeof t?Et(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,o=(e.$options.methods,n.length);for(;o--;){var i=n[o];r&&f(r,i)||(void 0,36!==(a=(i+"").charCodeAt(0))&&95!==a&&Ct(e,"_data",i))}var a;me(t,!0)}(e):me(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=K();for(var o in t){var i=t[o],a="function"==typeof i?i:i.get;r||(n[o]=new St(e,a||R,R,$t)),o in e||At(e,o,i)}}(e,t.computed),t.watch&&t.watch!==X&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)It(e,n,r[o]);else It(e,n,r)}}(e,t.watch)}function Et(e,t){try{return e.call(t,t)}catch(e){return Ie(e,t,"data()"),{}}}var $t={lazy:!0};function At(e,t,n){var r=!K();"function"==typeof n?(Ot.get=r?jt(t):n,Ot.set=R):(Ot.get=n.get?r&&!1!==n.cache?jt(t):n.get:R,Ot.set=n.set?n.set:R),Object.defineProperty(e,t,Ot)}function jt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.
dirty&&e.evaluate(),re.target&&e.depend(),e.value}}function It(e,t,n,r){return u(n)&&(n=(r=n).handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Mt(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}function Tt(t){var n=Ft(t.$options.inject,t);n&&(pe.shouldConvert=!1,Object.keys(n).forEach(function(e){ye(t,e,n[e])}),pe.shouldConvert=!0)}function Ft(t,e){if(t){for(var n=Object.create(null),r=ee?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){for(var i=r[o],a=t[i].from,s=e;s;){if(s._provided&&a in s._provided){n[i]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[i]){var c=t[i].default;n[i]="function"==typeof c?c.call(e):c}}return n}}function Pt(e,t){var n,r,o,i,a;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,o=e.length;r<o;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(b(e))for(i=Objec
t.keys(e),n=new Array(i.length),r=0,o=i.length;r<o;r++)a=i[r],n[r]=t(e[a],a,r);return I(n)&&(n._isVList=!0),n}function Nt(e,t,n,r){var o,i=this.$scopedSlots[e];if(i)n=n||{},r&&(n=N(N({},r),n)),o=i(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),o=a||t}var s=n&&n.slot;return s?this.$createElement("template",{slot:s},o):o}function Rt(e){return Ee(this.$options,"filters",e)||S}function Dt(e,t,n,r){var o=$.keyCodes[t]||n;return o?Array.isArray(o)?-1===o.indexOf(e):o!==e:r?w(r)!==t:void 0}function Vt(n,r,o,i,a){if(o)if(b(o)){var s;Array.isArray(o)&&(o=function(e){for(var t={},n=0;n<e.length;n++)e[n]&&N(t,e[n]);return t}(o));var e=function(t){if("class"===t||"style"===t||c(t))s=n;else{var e=n.attrs&&n.attrs.type;s=i||$.mustUseProp(r,e,t)?n.domProps||(n.domProps={}):n.attrs||(n.attrs={})}t in s||(s[t]=o[t],a&&((n.on||(n.on={}))["update:"+t]=function(e){o[t]=e}))};for(var t in o)e(t)}else;return n}function Jt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||Wt(r
=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function Lt(e,t,n){return Wt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Wt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&qt(e[r],t+"_"+r,n);else qt(e,t,n)}function qt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function Ut(e,t){if(t)if(u(t)){var n=e.on=e.on?N({},e.on):{};for(var r in t){var o=n[r],i=t[r];n[r]=o?[].concat(o,i):i}}else;return e}function Bt(e){e._o=Lt,e._n=n,e._s=t,e._l=Pt,e._t=Nt,e._q=O,e._i=C,e._m=Jt,e._f=Rt,e._k=Dt,e._b=Vt,e._v=ce,e._e=se,e._u=lt,e._g=Ut}function zt(e,t,n,i,r){var a=r.options;this.data=e,this.props=t,this.children=n,this.parent=i,this.listeners=e.on||_,this.injections=Ft(a.inject,i),this.slots=function(){return st(n,i)};var s=Object.create(i),o=M(a._compiled),c=!o;o&&(this.$options=a,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||_),a._scopeId?this._c=function(e,t,n,r){var o=fn(s,e,t,n,r,c);return o&&!Array.isArra
y(o)&&(o.fnScopeId=a._scopeId,o.fnContext=i),o}:this._c=function(e,t,n,r){return fn(s,e,t,n,r,c)}}function Ht(e,t,n,r){e.fnContext=n,e.fnOptions=r,t.slot&&((e.data||(e.data={})).slot=t.slot)}function Xt(e,t){for(var n in t)e[h(n)]=t[n]}Bt(zt.prototype);var Gt="@inRecycleList";function Kt(e,t,n,r){if(o&&o.taskCenter)return"function"==typeof o.taskCenter.registerHook?o.taskCenter.registerHook(e,t,n,r):void 0}var Zt=0;function Yt(e){var t=e.$options.data,n=e.$options.computed||{},r=e._data?Object.assign({},e._data):"function"==typeof t?Et(t,e):t||{},o={};for(var i in n)o[i]=e[i];return Object.assign({},r,o)}function Qt(e){void 0===e&&(e={});var r=this,t=e.componentId;A(r,"_vmTemplate",e.vmTemplate),r._uid=t||"virtual-component-"+Zt++,r._isVue=!0,e&&e._isComponent?wn(r,e):r.$options=xe(kn(r.constructor),e||{},r),ft((r._renderProxy=r)._self=r),rt(r),pn(r),ht(r,"beforeCreate"),Tt(r),xt(r),Mt(r),ht(r,"created"),Kt(t,"lifecycle","attach",function(){ht(r,"beforeMount"),new St(r,function(){re
turn Yt(r)},function(){return r._update(r._vnode,!1)}),r._isMounted=!0,ht(r,"mounted")}),Kt(t,"lifecycle","update",function(){r._update(r._vnode,!1)}),Kt(t,"lifecycle","syncState",function(e,t){if(u(t))for(var n in t)r[n]=t[n];return Yt(r)}),Kt(t,"lifecycle","detach",function(){r.$destroy(),r._vmTemplate&&(r._vmTemplate.removeVirtualComponent(r._uid),delete r._vmTemplate)})}function en(e){var t=this,n=t.$options.componentId;(t._isMounted&&ht(t,"beforeUpdate"),t._vnode=e,t._isMounted&&n)&&function(e,t,n){if(o&&o.taskCenter)"function"==typeof o.taskCenter.updateData&&o.taskCenter.updateData(e,t,n)}(n,Yt(t),function(){ht(t,"updated")})}function tn(e){void 0===e&&(e={});var t=this;t._uid="virtual-component-template-"+Zt++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),rt(t._self=t),pn(t),xt(t),this.registerVirtualComponent()}function nn(e){var t,n,o,i;delete e.data.attrs[Gt],n=(t=e).componentOptions.Ctor,o=n.extend({}),i=o.prototype.$emit,o.prototype._ini
t=Qt,o.prototype._update=en,o.prototype.$emit=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=this._uid,o=this._vmTemplate;return r&&o&&(t.push(r),i.apply(o,t)),i.apply(this,t)},t.componentOptions.Ctor=n.extend({methods:{registerVirtualComponent:function(){var r=this;A(r,"_virtualComponents",{}),Kt(String(r._uid),"lifecycle","create",function(e,t){var n=new o({vmTemplate:r,componentId:e,propsData:t});return n._uid=e,r._virtualComponents&&(r._virtualComponents[e]=n),Yt(n)})},removeVirtualComponent:function(e){delete this._virtualComponents[e]}},destroyed:function(){delete this._virtualComponents}}),t.componentOptions.Ctor.prototype._init=tn,t.componentOptions.Ctor.prototype._update=R;var r=sn(e),a=r.$options["@render"];if(a)try{return a.call(r)}catch(e){Ie(e,r,"@render")}}var rn={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var o=e;rn.prepatch(o,o)}else{(e.componentInstance=sn(e,ut,n,r)).$mount(t?e.elm
:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,o){var i=!!(o||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==_);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=o,e.$attrs=r.data.attrs||_,e.$listeners=n||_,t&&e.$options.props){pe.shouldConvert=!1;for(var a=e._props,s=e.$options._propKeys||[],c=0;c<s.length;c++){var l=s[c];a[l]=$e(l,e.$options.props,t,e)}pe.shouldConvert=!0,e.$options.propsData=t}n=n||_;var u=e.$options._parentListeners;e.$options._parentListeners=n,at(e,n,u),i&&(e.$slots=st(o,r.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,ht(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,mt.push(t)):dt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._di
rectInactive=!0,pt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);ht(t,"deactivated")}}(t,!0):t.$destroy())}},on=Object.keys(rn);function an(e,t,n,r,o){if(!j(e)){var i=n.$options._base;if(b(e)&&(e=i.extend(e)),"function"==typeof e){var a,s,c,l,u,f,p;if(j(e.cid)&&void 0===(e=function(t,n,e){if(M(t.error)&&I(t.errorComp))return t.errorComp;if(I(t.resolved))return t.resolved;if(M(t.loading)&&I(t.loadingComp))return t.loadingComp;if(!I(t.contexts)){var r=t.contexts=[e],o=!0,i=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},a=D(function(e){t.resolved=et(e,n),o||i()}),s=D(function(e){I(t.errorComp)&&(t.error=!0,i())}),c=t(a,s);return b(c)&&("function"==typeof c.then?j(t.resolved)&&c.then(a,s):I(c.component)&&"function"==typeof c.component.then&&(c.component.then(a,s),I(c.error)&&(t.errorComp=et(c.error,n)),I(c.loading)&&(t.loadingComp=et(c.loading,n),0===c.delay?t.loading=!0:setTimeout(function(){j(t.resolved)&&j(t.error)&&(t.loadin
g=!0,i())},c.delay||200)),I(c.timeout)&&setTimeout(function(){j(t.resolved)&&s(null)},c.timeout))),o=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(e)}(a=e,i,n)))return s=a,c=t,l=n,u=r,f=o,(p=se()).asyncFactory=s,p.asyncMeta={data:c,context:l,children:u,tag:f},p;t=t||{},kn(e),I(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var o=t.on||(t.on={});I(o[r])?o[r]=[t.model.callback].concat(o[r]):o[r]=t.model.callback}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!j(r)){var o={},i=e.attrs,a=e.props;if(I(i)||I(a))for(var s in r){var c=w(s);Ze(o,a,s,c,!0)||Ze(o,i,s,c,!1)}return o}}(t,e);if(M(e.options.functional))return function(e,t,n,r,o){var i=e.options,a={},s=i.props;if(I(s))for(var c in s)a[c]=$e(c,s,t||_);else I(n.attrs)&&Xt(a,n.attrs),I(n.props)&&Xt(a,n.props);var l=new zt(n,a,o,r,e),u=i.render.call(null,l._c,l);if(u instanceof ie)return Ht(u,n,r,i),u;if(Array.isArray(u)){for(
var f=Ye(u)||[],p=0;p<f.length;p++)Ht(f[p],n,r,i);return f}}(e,d,t,n,r);var h=t.on;if(t.on=t.nativeOn,M(e.options.abstract)){var v=t.slot;t={},v&&(t.slot=v)}!function(e){e.hook||(e.hook={});for(var t=0;t<on.length;t++){var n=on[t],r=e.hook[n],o=rn[n];e.hook[n]=r?cn(o,r):o}}(t);var m,y=e.options.name||o,g=new ie("vue-component-"+e.cid+(y?"-"+y:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:h,tag:o,children:r},a);return(m=g).data.attrs&&Gt in m.data.attrs?nn(g):g}}}function sn(e,t,n,r){var o={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},i=e.data.inlineTemplate;return I(i)&&(o.render=i.render,o.staticRenderFns=i.staticRenderFns),new e.componentOptions.Ctor(o)}function cn(o,i){return function(e,t,n,r){o(e,t,n,r),i(e,t,n,r)}}var ln=1,un=2;function fn(e,t,n,r,o,i){return(Array.isArray(n)||T(n))&&(o=r,r=n,n=void 0),M(i)&&(o=un),function(e,t,n,r,o){if(I(n)&&I(n.__ob__))return se();I(n)&&I(n.is)&&(t=n.is);if(!t)return se();Array.isArray(r)&&"functio
n"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);o===un?r=Ye(r):o===ln&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var i,a;if("string"==typeof t){var s;a=e.$vnode&&e.$vnode.ns||$.getTagNamespace(t),i=$.isReservedTag(t)?new ie($.parsePlatformTagName(t),n,r,void 0,void 0,e):I(s=Ee(e.$options,"components",t))?an(s,n,e,r,t):new ie(t,n,r,void 0,void 0,e)}else i=an(t,n,e,r);return Array.isArray(i)?i:I(i)?(I(a)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(I(t.children))for(var o=0,i=t.children.length;o<i;o++){var a=t.children[o];I(a.tag)&&(j(a.ns)||M(r)&&"svg"!==a.tag)&&e(a,n,r)}}(i,a),I(n)&&function(e){b(e.style)&&Be(e.style);b(e.class)&&Be(e.class)}(n),i):se()}(e,t,n,r,o)}function pn(o){o._vnode=null,o._staticTrees=null;var e=o.$options,t=o.$vnode=e._parentVnode,n=t&&t.context;o.$slots=st(e._renderChildren,n),o.$scopedSlots=_,o._c=function(e,t,n,r){return fn(o,e,t,n,r,
!1)},o.$createElement=function(e,t,n,r){return fn(o,e,t,n,r,!0)};var r=t&&t.data;ye(o,"$attrs",r&&r.attrs||_,0,!0),ye(o,"$listeners",e._parentListeners||_,0,!0)}var dn,hn,vn,mn,yn,gn,_n,bn=0;function wn(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}function kn(e){var t=e.options;if(e.super){var n=kn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,o=e.sealedOptions;for(var i in n)n[i]!==o[i]&&(t||(t={}),t[i]=Sn(n[i],r[i],o[i]));return t}(e);r&&N(e.extendOptions,r),(t=e.options=xe(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Sn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray
(t)?t:[t];for(var o=0;o<e.length;o++)(0<=t.indexOf(e[o])||n.indexOf(e[o])<0)&&r.push(e[o]);return r}return e}function On(e){this._init(e)}function Cn(e){e.cid=0;var a=1;e.extend=function(e){e=e||{};var t=this,n=t.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var o=e.name||t.options.name,i=function(e){this._init(e)};return((i.prototype=Object.create(t.prototype)).constructor=i).cid=a++,i.options=xe(t.options,e),i.super=t,i.options.props&&function(e){var t=e.options.props;for(var n in t)Ct(e.prototype,"_props",n)}(i),i.options.computed&&function(e){var t=e.options.computed;for(var n in t)At(e.prototype,n,t[n])}(i),i.extend=t.extend,i.mixin=t.mixin,i.use=t.use,x.forEach(function(e){i[e]=t[e]}),o&&(i.options.components[o]=i),i.superOptions=t.options,i.extendOptions=e,i.sealedOptions=N({},i.options),r[n]=i}}function xn(e){return e&&(e.Ctor.options.name||e.tag)}function En(e,t){return Array.isArray(e)?-1<e.indexOf(t):"string"==typeof e?-1<e.split(",").indexOf(t):(n=e,"[object RegExp]"==
=r.call(n)&&e.test(t));var n}function $n(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=xn(a.componentOptions);s&&!t(s)&&An(n,i,r,o)}}}function An(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,l(n,t)}On.prototype._init=function(e){var t=this;t._uid=bn++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),ft((t._renderProxy=t)._self=t),rt(t),pn(t),ht(t,"beforeCreate"),Tt(t),xt(t),Mt(t),ht(t,"created"),t.$options.el&&t.$mount(t.$options.el)},dn=On,hn={get:function(){return this._data}},vn={get:function(){return this._props}},Object.defineProperty(dn.prototype,"$data",hn),Object.defineProperty(dn.prototype,"$props",vn),dn.prototype.$set=ge,dn.prototype.$delete=_e,dn.prototype.$watch=function(e,t,n){if(u(t))return It(this,e,t,n);(n=n||{}).user=!0;var r=new St(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}},yn=/^hook:/,(mn=On).prototype.$on=function(e,t){if(Array.
isArray(e))for(var n=0,r=e.length;n<r;n++)this.$on(e[n],t);else(this._events[e]||(this._events[e]=[])).push(t),yn.test(e)&&(this._hasHookEvent=!0);return this},mn.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},mn.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,o=e.length;r<o;r++)this.$off(e[r],t);return n}var i=n._events[e];if(!i)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,s=i.length;s--;)if((a=i[s])===t||a.fn===t){i.splice(s,1);break}return n},mn.prototype.$emit=function(t){var n=this,e=n._events[t];if(e){e=1<e.length?g(e):e;for(var r=g(arguments,1),o=0,i=e.length;o<i;o++)try{e[o].apply(n,r)}catch(e){Ie(e,n,'event handler for "'+t+'"')}}return n},(gn=On).prototype._update=function(e,t){var n=this;n._isMounted&&ht(n,"beforeUpdate");var r=n.$el,o=n._vnode,i=ut;(ut=n)._vnode=e,o?n.$el=n.__patch__(o,e):(n.$el=n.__patch__(n
.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ut=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},gn.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},gn.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){ht(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||l(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),ht(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}},Bt((_n=On).prototype),_n.prototype.$nextTick=function(e){return qe(e,this)},_n.prototype._render=function(){var t,n=this,e=n.$options,r=e.render,o=e._parentVnode;o&&(n.$scopedSlots=o.data.scopedSlots||_),n.$vnode=o;try{t=r.call(n._ren
derProxy,n.$createElement)}catch(e){Ie(e,n,"render"),t=n._vnode}return t instanceof ie||(t=se()),t.parent=o,t};var jn,In,Mn,Tn=[String,RegExp,Array],Fn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)An(this.cache,e,this.keys)},watch:{include:function(t){$n(this,function(e){return En(t,e)})},exclude:function(t){$n(this,function(e){return!En(t,e)})}},render:function(){var e=this.$slots.default,t=nt(e),n=t&&t.componentOptions;if(n){var r=xn(n),o=this.include,i=this.exclude;if(o&&(!r||!En(o,r))||i&&r&&En(i,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,l(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&An(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};jn=On,Mn={get:function(){return $}},Object.defineP
roperty(jn,"config",Mn),jn.util={warn:te,extend:N,mergeOptions:xe,defineReactive:ye},jn.set=ge,jn.delete=_e,jn.nextTick=qe,jn.options=Object.create(null),x.forEach(function(e){jn.options[e+"s"]=Object.create(null)}),N((jn.options._base=jn).options.components,Fn),jn.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1<t.indexOf(e))return this;var n=g(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},jn.mixin=function(e){return this.options=xe(this.options,e),this},Cn(jn),In=jn,x.forEach(function(n){In[n]=function(e,t){return t?("component"===n&&u(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t):this.options[n+"s"][e]}}),Object.defineProperty(On.prototype,"$isServer",{get:K}),Object.defineProperty(On.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrConte
xt}}),On.version="2.5.13";var Pn=1;function Nn(e){return o.createElement(e)}var Rn=Object.freeze({namespaceMap:{},createElement:Nn,createElementNS:function(e,t){return o.createElement(e+":"+t)},createTextNode:function(e){return new function(e){this.instanceId="",this.nodeId=Pn++,this.parentNode=null,this.nodeType=3,this.text=e}(e)},createComment:function(e){return o.createComment(e)},insertBefore:function(e,t,n){if(3!==t.nodeType)e.insertBefore(t,n);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var r=Nn("text");r.setAttr("value",t.text),e.insertBefore(r,n)}},removeChild:function(e,t){3!==t.nodeType?e.removeChild(t):e.setAttr("value","")},appendChild:function(e,t){if(3!==t.nodeType)e.appendChild(t);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var n=Nn("text");n.setAttr("value",t.text),e.appendChild(n)}},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.type},setTextCo
ntent:function(e,t){e.parentNode&&e.parentNode.setAttr("value",t)},setAttribute:function(e,t,n){e.setAttr(t,n)},setStyleScope:function(e,t){e.setAttr("@styleScope",t)}}),Dn={create:function(e,t){Vn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Vn(e,!0),Vn(t))},destroy:function(e){Vn(e,!0)}};function Vn(e,t){var n=e.data.ref;if(n){var r=e.context,o=e.componentInstance||e.elm,i=r.$refs;t?Array.isArray(i[n])?l(i[n],o):i[n]===o&&(i[n]=void 0):e.data.refInFor?Array.isArray(i[n])?i[n].indexOf(o)<0&&i[n].push(o):i[n]=[o]:i[n]=o}}s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,
input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0);var Jn=s("text,number,password,search,email,tel,url"),Ln=new ie("",{},[]),Wn=["create","activate","update","remove","destroy"];function qn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&I(e.data)===I(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=I(n=e.data)&&I(n=n.attrs)&&n.type,o=I(n=t.data)&&I(n=n.attrs)&&n.type;return r===o||Jn(r)&&Jn(o)}(e,t)||M(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&j(t.asyncFactory.error))}function Un(e,t,n){var r,o,i={};for(r=t;r<=n;++r)I(o=e[r].key)&&(i[o]=r);return i}var Bn={create:zn,update:zn,destroy:function(e){zn(e,Ln)}};func
tion zn(e,t){(e.data.directives||t.data.directives)&&function(t,n){var e,r,o,i=t===Ln,a=n===Ln,s=Xn(t.data.directives,t.context),c=Xn(n.data.directives,n.context),l=[],u=[];for(e in c)r=s[e],o=c[e],r?(o.oldValue=r.value,Gn(o,"update",n,t),o.def&&o.def.componentUpdated&&u.push(o)):(Gn(o,"bind",n,t),o.def&&o.def.inserted&&l.push(o));if(l.length){var f=function(){for(var e=0;e<l.length;e++)Gn(l[e],"inserted",n,t)};i?Ke(n,"insert",f):f()}u.length&&Ke(n,"postpatch",function(){for(var e=0;e<u.length;e++)Gn(u[e],"componentUpdated",n,t)});if(!i)for(e in s)c[e]||Gn(s[e],"unbind",t,t,a)}(e,t)}var Hn=Object.create(null);function Xn(e,t){var n,r,o,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=Hn),(i[(o=r,o.rawName||o.name+"."+Object.keys(o.modifiers||{}).join("."))]=r).def=Ee(t.$options,"directives",r.name);return i}function Gn(t,n,r,e,o){var i=t.def&&t.def[n];if(i)try{i(r.elm,t,r,e,o)}catch(e){Ie(e,r.context,"directive "+t.name+" "+n+" hook")}}var
Kn=[Dn,Bn];function Zn(e,t){if(e.data.attrs||t.data.attrs){var n,r,o=t.elm,i=e.data.attrs||{},a=t.data.attrs||{};a.__ob__&&(a=t.data.attrs=N({},a));var s="function"==typeof o.setAttrs,c={};for(n in a)r=a[n],i[n]!==r&&(s?c[n]=r:o.setAttr(n,r));for(n in i)null==a[n]&&(s?c[n]=void 0:o.setAttr(n));s&&o.setAttrs(c)}}var Yn={create:Zn,update:Zn};function Qn(e,t){var n=t.elm,r=t.context,o=t.data,i=e.data;if(o.staticClass||o.class||i&&(i.staticClass||i.class)){var a=[],s=i.staticClass;s&&a.push.apply(a,s),i.class&&a.push.apply(a,i.class);var c,l,u,f,p=[],d=o.staticClass;if(d&&p.push.apply(p,d),o.class&&p.push.apply(p,o.class),"function"==typeof n.setClassList)n.setClassList(p);else{var h=(c=a,l=p,u=r.$options.style||{},f={},l.forEach(function(e){var t=u[e];N(f,t)}),c.forEach(function(e){var t=u[e];for(var n in t)f.hasOwnProperty(n)||(f[n]="")}),f);if("function"==typeof n.setStyles)n.setStyles(h);else for(var v in h)n.setStyle(v,h[v])}}}var er,tr,nr={create:Qn,update:Qn};function rr(t,e,n,r
,o,i){if(r)console.log("Weex do not support event in bubble phase.");else{if(n){var a=e,s=er;e=function(e){null!==(1===arguments.length?a(e):a.apply(null,arguments))&&or(t,null,null,s)}}if(tr&&tr._virtualComponents){er._context=tr;var c=e;e=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=(t[0]||{}).componentId,o=this._context;r&&this._context&&(o=(this._context._virtualCom
<TRUNCATED>
[33/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.13
Posted by cx...@apache.org.
* [jsfm] upgrade js framework to v0.26.13
+ add debounce function for data sync
+ consider that the timer does not exist
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/38f43ecc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/38f43ecc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/38f43ecc
Branch: refs/heads/release
Commit: 38f43eccd4e36df990753c3a081c40dfcabe7e96
Parents: a13225f
Author: Hanks <zh...@gmail.com>
Authored: Thu Jun 14 11:15:18 2018 +0800
Committer: Hanks <zh...@gmail.com>
Committed: Thu Jun 14 11:15:18 2018 +0800
----------------------------------------------------------------------
android/sdk/assets/weex-main-jsfm.js | 2 +-
package.json | 2 +-
pre-build/weex-main-jsfm.js | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
[11/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Using
clang-format
Posted by cx...@apache.org.
[WEEX-442][Core] Using clang-format
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ad255b3a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ad255b3a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ad255b3a
Branch: refs/heads/release
Commit: ad255b3a43e4b246060c1b2b7a71c92b19296a25
Parents: 8f8b214
Author: miomin <mi...@foxmail.com>
Authored: Tue Jun 12 11:45:19 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Tue Jun 12 12:44:03 2018 +0800
----------------------------------------------------------------------
.../android/bridge/impl/bridge_impl_android.cpp | 34 +-
.../bridge/impl/weexcore_impl_android.cpp | 28 +-
.../Source/core/moniter/render_performance.cpp | 5 +-
.../Source/core/moniter/render_performance.h | 20 +-
.../render/action/render_action_add_element.cpp | 58 +-
.../render/action/render_action_add_element.h | 64 +-
.../render/action/render_action_add_event.cpp | 26 +-
.../render/action/render_action_add_event.h | 30 +-
.../render_action_appendtree_createfinish.cpp | 22 +-
.../render_action_appendtree_createfinish.h | 26 +-
.../render/action/render_action_createbody.cpp | 45 +-
.../render/action/render_action_createbody.h | 53 +-
.../action/render_action_createfinish.cpp | 15 +-
.../render/action/render_action_createfinish.h | 23 +-
.../render/action/render_action_interface.h | 16 +-
.../core/render/action/render_action_layout.cpp | 47 +-
.../core/render/action/render_action_layout.h | 49 +-
.../action/render_action_move_element.cpp | 32 +-
.../render/action/render_action_move_element.h | 32 +-
.../action/render_action_remove_element.cpp | 22 +-
.../action/render_action_remove_element.h | 25 +-
.../action/render_action_remove_event.cpp | 25 +-
.../render/action/render_action_remove_event.h | 30 +-
.../render/action/render_action_update_attr.cpp | 24 +-
.../render/action/render_action_update_attr.h | 31 +-
.../action/render_action_update_style.cpp | 41 +-
.../render/action/render_action_update_style.h | 50 +-
.../core/render/manager/render_manager.cpp | 270 ++---
.../Source/core/render/manager/render_manager.h | 96 +-
.../render/node/factory/render_appbar_factory.h | 20 +-
.../render/node/factory/render_cell_factory.h | 20 +-
.../core/render/node/factory/render_creator.cpp | 54 +-
.../core/render/node/factory/render_creator.h | 58 +-
.../node/factory/render_factory_interface.h | 16 +-
.../render/node/factory/render_list_factory.h | 20 +-
.../render/node/factory/render_mask_factory.h | 20 +-
.../node/factory/render_object_interface.h | 61 +-
.../node/factory/render_scroller_factory.h | 20 +-
.../render/node/factory/render_text_factory.h | 20 +-
.../core/render/node/factory/render_type.h | 32 +-
.../render/node/factory/simple_render_factory.h | 21 +-
.../Source/core/render/node/render_appbar.cpp | 106 +-
.../Source/core/render/node/render_appbar.h | 35 +-
weex_core/Source/core/render/node/render_cell.h | 12 +-
.../Source/core/render/node/render_list.cpp | 487 ++++-----
weex_core/Source/core/render/node/render_list.h | 92 +-
.../Source/core/render/node/render_mask.cpp | 57 +-
weex_core/Source/core/render/node/render_mask.h | 22 +-
.../Source/core/render/node/render_object.cpp | 712 +++++++-------
.../Source/core/render/node/render_object.h | 184 ++--
.../Source/core/render/node/render_scroller.cpp | 46 +-
.../Source/core/render/node/render_scroller.h | 32 +-
.../Source/core/render/node/render_text.cpp | 20 +-
weex_core/Source/core/render/node/render_text.h | 22 +-
.../Source/core/render/page/render_page.cpp | 979 +++++++++----------
weex_core/Source/core/render/page/render_page.h | 211 ++--
56 files changed, 2307 insertions(+), 2311 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp b/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp
index 439d5b1..4d2c1f5 100644
--- a/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp
@@ -152,7 +152,7 @@ namespace WeexCore {
void Bridge_Impl_Android::reportException(const char* pageId, const char *func, const char *exception_string) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
jstring jFunc = env->NewStringUTF(func);
@@ -178,7 +178,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callNative(const char* pageId, const char *task, const char *callback) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
jbyteArray jTask = newJByteArray(env, task);
@@ -214,7 +214,7 @@ namespace WeexCore {
void* Bridge_Impl_Android::callNativeModule(const char* pageId, const char *module, const char *method,
const char *arguments, int argumentsLen, const char *options, int optionsLen) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
jstring jModule = env->NewStringUTF(module);
@@ -251,7 +251,7 @@ namespace WeexCore {
void Bridge_Impl_Android::callNativeComponent(const char* pageId, const char* ref, const char *method,
const char *arguments, int argumentsLength, const char *options, int optionsLength) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
jstring jMethod = env->NewStringUTF(method);
@@ -322,7 +322,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callUpdateFinish(const char* pageId, const char *task, const char *callback) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
jbyteArray jTask = newJByteArray(env, task);
@@ -354,7 +354,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callRefreshFinish(const char* pageId, const char *task, const char *callback) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
jbyteArray jTask = newJByteArray(env, task);
@@ -390,7 +390,7 @@ namespace WeexCore {
const WXCorePadding &paddings,
const WXCoreBorderWidth &borders) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -536,7 +536,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callRemoveElement(const char* pageId, const char* ref) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -562,7 +562,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callMoveElement(const char* pageId, const char* ref, const char* parentRef, int index) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -589,7 +589,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callAddEvent(const char* pageId, const char* ref, const char *event) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
jstring jPageId = getKeyFromCache(env, pageId);
@@ -616,7 +616,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callRemoveEvent(const char* pageId, const char* ref, const char *event) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -647,7 +647,7 @@ namespace WeexCore {
std::vector<std::pair<std::string, std::string>> *padding,
std::vector<std::pair<std::string, std::string>> *border) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -700,7 +700,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callUpdateAttr(const char* pageId, const char* ref, std::vector<std::pair<std::string, std::string>> *attrs) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -738,7 +738,7 @@ namespace WeexCore {
int height, int width, int index) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -766,7 +766,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callCreateFinish(const char* pageId) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -791,7 +791,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callAppendTreeCreateFinish(const char *pageId, const char *ref) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
@@ -818,7 +818,7 @@ namespace WeexCore {
int Bridge_Impl_Android::callHasTransitionPros(const char* pageId, const char* ref, std::vector<std::pair<std::string, std::string>> *style) {
RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
- long long startTime = getCurrentTime();
+ int64_t startTime = getCurrentTime();
JNIEnv *env = getJNIEnv();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
index 4138530..3febd5b 100644
--- a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
@@ -142,7 +142,7 @@ static void SetRenderContainerWrapContent(JNIEnv* env, jobject jcaller, jboolean
if (page == nullptr)
return;
- page->SetRenderContainerWidthWrapContent(wrap);
+ page->set_is_render_container_width_wrap_content(wrap);
}
static jlongArray GetFirstScreenRenderTime(JNIEnv *env, jobject jcaller, jstring instanceId) {
@@ -158,7 +158,7 @@ static jlongArray GetFirstScreenRenderTime(JNIEnv *env, jobject jcaller, jstring
return jFirstScreenRenderTime;
}
- std::vector<long> temp = page->PrintFirstScreenLog();
+ std::vector<int64_t> temp = page->PrintFirstScreenLog();
jlong ret[3];
@@ -190,7 +190,7 @@ static jlongArray GetRenderFinishTime(JNIEnv *env, jobject jcaller, jstring inst
return jRenderFinishTime;
}
- std::vector<long> temp = page->PrintRenderSuccessLog();
+ std::vector<int64_t> temp = page->PrintRenderSuccessLog();
jlong ret[3];
@@ -214,13 +214,13 @@ static jboolean NotifyLayout(JNIEnv* env, jobject jcaller, jstring instanceId) {
RenderPage *page = RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
if (page != nullptr) {
- if (!page->need_layout.load()) {
- page->need_layout.store(true);
+ if (!page->need_layout_.load()) {
+ page->need_layout_.store(true);
}
- bool ret = !page->has_fore_layout_action.load() && page->isDirty();
+ bool ret = !page->has_fore_layout_action_.load() && page->is_dirty();
if (ret) {
- page->has_fore_layout_action.store(true);
+ page->has_fore_layout_action_.store(true);
}
return ret ? JNI_TRUE : JNI_FALSE;
}
@@ -236,7 +236,7 @@ static void ForceLayout(JNIEnv *env, jobject jcaller, jstring instanceId) {
#endif
page->LayoutImmediately();
- page->has_fore_layout_action.store(false);
+ page->has_fore_layout_action_.store(false);
}
}
@@ -253,7 +253,7 @@ static void SetStyleWidth(JNIEnv *env, jobject jcaller,
render->setStyleWidthLevel(CSS_STYLE);
render->setStyleWidth(value, true);
- page->updateDirty(true);
+ page->set_is_dirty(true);
}
static void SetStyleHeight(JNIEnv *env, jobject jcaller,
@@ -269,7 +269,7 @@ static void SetStyleHeight(JNIEnv *env, jobject jcaller,
render->setStyleHeightLevel(CSS_STYLE);
render->setStyleHeight(value);
- page->updateDirty(true);
+ page->set_is_dirty(true);
}
static void SetMargin(JNIEnv *env, jobject jcaller,
@@ -293,7 +293,7 @@ static void SetMargin(JNIEnv *env, jobject jcaller,
} else if (edge == 4) {
render->setMargin(kMarginALL, value);
}
- page->updateDirty(true);
+ page->set_is_dirty(true);
}
static void SetPadding(JNIEnv *env, jobject jcaller,
@@ -318,7 +318,7 @@ static void SetPadding(JNIEnv *env, jobject jcaller,
} else if (edge == 4) {
render->setPadding(kPaddingALL, value);
}
- page->updateDirty(true);
+ page->set_is_dirty(true);
}
@@ -342,7 +342,7 @@ static void SetPosition(JNIEnv *env, jobject jcaller,
} else if (edge == 3) {
render->setStylePosition(kPositionEdgeRight, value);
}
- page->updateDirty(true);
+ page->set_is_dirty(true);
}
static void MarkDirty(JNIEnv *env, jobject jcaller,
@@ -371,7 +371,7 @@ static void SetViewPortWidth(JNIEnv *env, jobject jcaller, jstring instanceId, j
if (page == nullptr)
return;
- page->SetViewPortWidth(value);
+ page->set_viewport_width(value);
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/moniter/render_performance.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/moniter/render_performance.cpp b/weex_core/Source/core/moniter/render_performance.cpp
index 4fe594b..a35eeb4 100644
--- a/weex_core/Source/core/moniter/render_performance.cpp
+++ b/weex_core/Source/core/moniter/render_performance.cpp
@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
+#include <cstdint>
#include "render_performance.h"
namespace WeexCore {
- std::vector<long> RenderPerformance::PrintPerformanceLog(PerformanceStage performanceStage) {
+ std::vector<int64_t> RenderPerformance::PrintPerformanceLog(PerformanceStage performanceStage) {
- std::vector<long> ret(3);
+ std::vector<int64_t> ret(3);
if (performanceStage == onFirstScreen) {
firstScreenCallBridgeTime = callBridgeTime;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/moniter/render_performance.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/moniter/render_performance.h b/weex_core/Source/core/moniter/render_performance.h
index f6c24ee..1eff88f 100644
--- a/weex_core/Source/core/moniter/render_performance.h
+++ b/weex_core/Source/core/moniter/render_performance.h
@@ -31,30 +31,30 @@ namespace WeexCore {
public:
- long long callBridgeTime;
+ int64_t callBridgeTime;
- long long cssLayoutTime;
+ int64_t cssLayoutTime;
- long long parseJsonTime;
+ int64_t parseJsonTime;
- long long firstScreenCallBridgeTime;
+ int64_t firstScreenCallBridgeTime;
- long long firstScreenCssLayoutTime;
+ int64_t firstScreenCssLayoutTime;
- long long firstScreenParseJsonTime;
+ int64_t firstScreenParseJsonTime;
- long long onRenderSuccessCallBridgeTime;
+ int64_t onRenderSuccessCallBridgeTime;
- long long onRenderSuccessCssLayoutTime;
+ int64_t onRenderSuccessCssLayoutTime;
- long long onRenderSuccessParseJsonTime;
+ int64_t onRenderSuccessParseJsonTime;
RenderPerformance() : callBridgeTime(0), cssLayoutTime(0), parseJsonTime(0),
firstScreenCallBridgeTime(0), firstScreenCssLayoutTime(0),
firstScreenParseJsonTime(0), onRenderSuccessCallBridgeTime(0),
onRenderSuccessCssLayoutTime(0), onRenderSuccessParseJsonTime(0) {}
- std::vector<long> PrintPerformanceLog(PerformanceStage performanceStage);
+ std::vector<int64_t> PrintPerformanceLog(PerformanceStage performanceStage);
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_add_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.cpp b/weex_core/Source/core/render/action/render_action_add_element.cpp
index aa4fa67..564d7b6 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_add_element.cpp
@@ -17,41 +17,35 @@
* under the License.
*/
-#include "core/render/node/render_object.h"
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_add_element.h"
+#include "core/manager/weex_core_manager.h"
+#include "core/render/node/render_object.h"
namespace WeexCore {
- RenderActionAddElement::RenderActionAddElement(const std::string &page_id,
- const RenderObject *render,
- const RenderObject *parent, int index,
- bool will_layout) {
- this->attributes_ = render->attributes();
- this->styles_ = render->styles();
- this->events_ = render->events();
- this->margins_ = render->GetMargins();
- this->paddings_ = render->GetPaddings();
- this->borders_ = render->GetBorders();
- this->page_id_ = page_id;
- this->component_type_ = render->type();
- this->ref_ = render->ref();
- this->parent_ref_ = parent->ref();
- this->index_ = index;
- this->will_layout_ = will_layout;
- }
+RenderActionAddElement::RenderActionAddElement(const std::string &page_id,
+ const RenderObject *render,
+ const RenderObject *parent,
+ int index, bool will_layout) {
+ this->attributes_ = render->attributes();
+ this->styles_ = render->styles();
+ this->events_ = render->events();
+ this->margins_ = render->GetMargins();
+ this->paddings_ = render->GetPaddings();
+ this->borders_ = render->GetBorders();
+ this->page_id_ = page_id;
+ this->component_type_ = render->type();
+ this->ref_ = render->ref();
+ this->parent_ref_ = parent->ref();
+ this->index_ = index;
+ this->will_layout_ = will_layout;
+}
- void RenderActionAddElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAddElement(this->page_id_.c_str(),
- this->component_type_.c_str(),
- this->ref_.c_str(),
- this->index_,
- this->parent_ref_.c_str(),
- this->styles_,
- this->attributes_,
- this->events_, this->margins_,
- this->paddings_,
- this->borders_,
- this->will_layout_);
- }
+void RenderActionAddElement::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAddElement(
+ this->page_id_.c_str(), this->component_type_.c_str(), this->ref_.c_str(),
+ this->index_, this->parent_ref_.c_str(), this->styles_, this->attributes_,
+ this->events_, this->margins_, this->paddings_, this->borders_,
+ this->will_layout_);
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_add_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.h b/weex_core/Source/core/render/action/render_action_add_element.h
index be7c6d7..ed828b0 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.h
+++ b/weex_core/Source/core/render/action/render_action_add_element.h
@@ -16,43 +16,43 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_ADDELEMENTACTION_H
-#define WEEX_PROJECT_ADDELEMENTACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_ADD_ELEMENT_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_ADD_ELEMENT_H_
-#include <string>
#include <map>
#include <set>
+#include <string>
-#include "core/render/action/render_action_interface.h"
#include "core/layout/style.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
- class RenderObject;
-
- class RenderActionAddElement : public RenderAction {
-
- public:
- explicit RenderActionAddElement(const std::string &page_id, const RenderObject *render,
- const RenderObject *parent,
- int index, bool will_layout = true);
-
- void ExecuteAction();
-
- public:
- std::map<std::string, std::string> *styles_;
- std::map<std::string, std::string> *attributes_;
- std::set<std::string> *events_;
- WXCoreMargin margins_;
- WXCorePadding paddings_;
- WXCoreBorderWidth borders_;
- std::string page_id_;
- std::string component_type_;
- std::string parent_ref_;
- std::string ref_;
- int index_;
- bool will_layout_;
- };
-}
-
-#endif //WEEX_PROJECT_ADDELEMENTACTION_H
+class RenderObject;
+
+class RenderActionAddElement : public RenderAction {
+ public:
+ explicit RenderActionAddElement(const std::string &page_id,
+ const RenderObject *render,
+ const RenderObject *parent, int index,
+ bool will_layout = true);
+
+ void ExecuteAction();
+
+ public:
+ std::map<std::string, std::string> *styles_;
+ std::map<std::string, std::string> *attributes_;
+ std::set<std::string> *events_;
+ WXCoreMargin margins_;
+ WXCorePadding paddings_;
+ WXCoreBorderWidth borders_;
+ std::string page_id_;
+ std::string component_type_;
+ std::string parent_ref_;
+ std::string ref_;
+ int index_;
+ bool will_layout_;
+};
+} // namespace WeexCore
+
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_ADD_ELEMENT_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_add_event.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.cpp b/weex_core/Source/core/render/action/render_action_add_event.cpp
index bcd4aa5..c64ba19 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.cpp
+++ b/weex_core/Source/core/render/action/render_action_add_event.cpp
@@ -17,22 +17,22 @@
* under the License.
*/
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_add_event.h"
+#include "core/manager/weex_core_manager.h"
namespace WeexCore {
- RenderActionAddEvent::RenderActionAddEvent(const std::string &page_id, const std::string &ref,
- const std::string &event) {
- this->page_id_ = page_id;
- this->ref_ = ref;
- this->event_ = event;
- }
-
- void RenderActionAddEvent::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAddEvent(this->page_id_.c_str(),
- this->ref_.c_str(),
- this->event_.c_str());
- }
+RenderActionAddEvent::RenderActionAddEvent(const std::string &page_id,
+ const std::string &ref,
+ const std::string &event) {
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->event_ = event;
+}
+void RenderActionAddEvent::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAddEvent(
+ this->page_id_.c_str(), this->ref_.c_str(), this->event_.c_str());
}
+
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_add_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.h b/weex_core/Source/core/render/action/render_action_add_event.h
index 6347177..b27f981 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.h
+++ b/weex_core/Source/core/render/action/render_action_add_event.h
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_ADDEVENTACTION_H
-#define WEEX_PROJECT_ADDEVENTACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_ADD_EVENT_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_ADD_EVENT_H_
#include <string>
@@ -25,19 +25,19 @@
namespace WeexCore {
- class RenderActionAddEvent : public RenderAction {
+class RenderActionAddEvent : public RenderAction {
+ public:
+ explicit RenderActionAddEvent(const std::string &page_id,
+ const std::string &ref,
+ const std::string &event);
- public:
- explicit RenderActionAddEvent(const std::string &page_id, const std::string &ref,
- const std::string &event);
+ void ExecuteAction();
- void ExecuteAction();
+ public:
+ std::string page_id_;
+ std::string ref_;
+ std::string event_;
+};
+} // namespace WeexCore
- public:
- std::string page_id_;
- std::string ref_;
- std::string event_;
- };
-}
-
-#endif //WEEX_PROJECT_ADDEVENTACTION_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_ADD_EVENT_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
index 7f8b620..cafe48c 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
@@ -17,20 +17,20 @@
* under the License.
*/
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_appendtree_createfinish.h"
+#include "core/manager/weex_core_manager.h"
namespace WeexCore {
- RenderActionAppendTreeCreateFinish::RenderActionAppendTreeCreateFinish(const std::string &page_id,
- const std::string &ref) {
- this->page_id_ = page_id;
- this->ref_ = ref;
- }
+RenderActionAppendTreeCreateFinish::RenderActionAppendTreeCreateFinish(
+ const std::string &page_id, const std::string &ref) {
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+}
- void RenderActionAppendTreeCreateFinish::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAppendTreeCreateFinish(
- this->page_id_.c_str(),
- this->ref_.c_str());
- }
+void RenderActionAppendTreeCreateFinish::ExecuteAction() {
+ WeexCoreManager::getInstance()
+ ->getPlatformBridge()
+ ->callAppendTreeCreateFinish(this->page_id_.c_str(), this->ref_.c_str());
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
index 32700fc..4ea40e8 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_CORE_RENDER_ACTION_APPENDTREE_CREATEFINISH_H
-#define WEEX_CORE_RENDER_ACTION_APPENDTREE_CREATEFINISH_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_APPENDTREE_CREATEFINISH_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_APPENDTREE_CREATEFINISH_H_
#include <string>
@@ -25,17 +25,17 @@
namespace WeexCore {
- class RenderActionAppendTreeCreateFinish : public RenderAction {
+class RenderActionAppendTreeCreateFinish : public RenderAction {
+ public:
+ explicit RenderActionAppendTreeCreateFinish(const std::string &page_id,
+ const std::string &ref);
- public:
- explicit RenderActionAppendTreeCreateFinish(const std::string &page_id, const std::string &ref);
+ void ExecuteAction();
- void ExecuteAction();
+ public:
+ std::string page_id_;
+ std::string ref_;
+};
+} // namespace WeexCore
- public:
- std::string page_id_;
- std::string ref_;
- };
-}
-
-#endif //WEEX_CORE_RENDER_ACTION_APPENDTREE_CREATEFINISH_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_APPENDTREE_CREATEFINISH_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_createbody.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.cpp b/weex_core/Source/core/render/action/render_action_createbody.cpp
index 75c5bdf..9f91ce6 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.cpp
+++ b/weex_core/Source/core/render/action/render_action_createbody.cpp
@@ -17,34 +17,29 @@
* under the License.
*/
-#include "core/render/node/render_object.h"
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_createbody.h"
+#include "core/manager/weex_core_manager.h"
+#include "core/render/node/render_object.h"
namespace WeexCore {
- RenderActionCreateBody::RenderActionCreateBody(const std::string &page_id,
- const RenderObject *render) {
- this->attributes_ = render->attributes();
- this->styles_ = render->styles();
- this->events_ = render->events();
- this->margins_ = render->GetMargins();
- this->paddings_ = render->GetPaddings();
- this->borders_ = render->GetBorders();
- this->page_id_ = page_id;
- this->component_type_ = render->type();
- this->ref_ = render->ref();
- }
+RenderActionCreateBody::RenderActionCreateBody(const std::string &page_id,
+ const RenderObject *render) {
+ this->attributes_ = render->attributes();
+ this->styles_ = render->styles();
+ this->events_ = render->events();
+ this->margins_ = render->GetMargins();
+ this->paddings_ = render->GetPaddings();
+ this->borders_ = render->GetBorders();
+ this->page_id_ = page_id;
+ this->component_type_ = render->type();
+ this->ref_ = render->ref();
+}
- void RenderActionCreateBody::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callCreateBody(this->page_id_.c_str(),
- this->component_type_.c_str(),
- this->ref_.c_str(),
- this->styles_,
- this->attributes_,
- this->events_,
- this->margins_,
- this->paddings_,
- this->borders_);
- }
+void RenderActionCreateBody::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callCreateBody(
+ this->page_id_.c_str(), this->component_type_.c_str(), this->ref_.c_str(),
+ this->styles_, this->attributes_, this->events_, this->margins_,
+ this->paddings_, this->borders_);
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_createbody.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.h b/weex_core/Source/core/render/action/render_action_createbody.h
index 9de047d..23d713c 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.h
+++ b/weex_core/Source/core/render/action/render_action_createbody.h
@@ -16,37 +16,38 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_CREATEBODYACTION_H
-#define WEEX_PROJECT_CREATEBODYACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_CREATEBODY_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_CREATEBODY_H_
-#include <string>
#include <map>
#include <set>
+#include <string>
+#include "core/layout/style.h"
#include "core/render/action/render_action_interface.h"
namespace WeexCore {
- class RenderObject;
-
- class RenderActionCreateBody : public RenderAction {
-
- public:
- explicit RenderActionCreateBody(const std::string &page_id, const RenderObject *render);
-
- void ExecuteAction();
-
- public:
- std::map<std::string, std::string> *styles_;
- std::map<std::string, std::string> *attributes_;
- std::set<std::string> *events_;
- WXCoreMargin margins_;
- WXCorePadding paddings_;
- WXCoreBorderWidth borders_;
- std::string page_id_;
- std::string component_type_;
- std::string ref_;
- };
-}
-
-#endif //WEEX_PROJECT_CREATEBODYACTION_H
+class RenderObject;
+
+class RenderActionCreateBody : public RenderAction {
+ public:
+ explicit RenderActionCreateBody(const std::string &page_id,
+ const RenderObject *render);
+
+ void ExecuteAction();
+
+ public:
+ std::map<std::string, std::string> *styles_;
+ std::map<std::string, std::string> *attributes_;
+ std::set<std::string> *events_;
+ WXCoreMargin margins_;
+ WXCorePadding paddings_;
+ WXCoreBorderWidth borders_;
+ std::string page_id_;
+ std::string component_type_;
+ std::string ref_;
+};
+} // namespace WeexCore
+
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_CREATEBODY_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_createfinish.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.cpp b/weex_core/Source/core/render/action/render_action_createfinish.cpp
index a9a4b73..786981e 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.cpp
+++ b/weex_core/Source/core/render/action/render_action_createfinish.cpp
@@ -17,16 +17,17 @@
* under the License.
*/
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_createfinish.h"
+#include "core/manager/weex_core_manager.h"
namespace WeexCore {
- RenderActionCreateFinish::RenderActionCreateFinish(const std::string &page_id) {
- this->page_id_ = page_id;
- }
+RenderActionCreateFinish::RenderActionCreateFinish(const std::string &page_id) {
+ this->page_id_ = page_id;
+}
- void RenderActionCreateFinish::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callCreateFinish(this->page_id_.c_str());
- }
+void RenderActionCreateFinish::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callCreateFinish(
+ this->page_id_.c_str());
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.h b/weex_core/Source/core/render/action/render_action_createfinish.h
index 449ea7d..4da25cf 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_createfinish.h
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_CREATEFINISHACTION_H
-#define WEEX_PROJECT_CREATEFINISHACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_CREATEFINISH_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_CREATEFINISH_H_
#include <string>
@@ -25,16 +25,15 @@
namespace WeexCore {
- class RenderActionCreateFinish : public RenderAction {
+class RenderActionCreateFinish : public RenderAction {
+ public:
+ explicit RenderActionCreateFinish(const std::string &page_id);
- public:
- explicit RenderActionCreateFinish(const std::string &page_id);
+ void ExecuteAction();
- void ExecuteAction();
+ public:
+ std::string page_id_;
+};
+} // namespace WeexCore
- public:
- std::string page_id_;
- };
-}
-
-#endif //WEEX_PROJECT_CREATEFINISHACTION_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_CREATEFINISH_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_interface.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_interface.h b/weex_core/Source/core/render/action/render_action_interface.h
index e5e3cbc..73f4888 100644
--- a/weex_core/Source/core/render/action/render_action_interface.h
+++ b/weex_core/Source/core/render/action/render_action_interface.h
@@ -16,15 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEXV8_RENDERACTION_H
-#define WEEXV8_RENDERACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_INTERFACE_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_INTERFACE_H_
namespace WeexCore {
- class RenderAction {
- public:
- virtual void ExecuteAction() = 0;
- };
-}
+class RenderAction {
+ public:
+ virtual void ExecuteAction() = 0;
+};
+} // namespace WeexCore
-#endif //WEEXV8_RENDERACTION_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_INTERFACE_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_layout.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.cpp b/weex_core/Source/core/render/action/render_action_layout.cpp
index 1edd9cb..e041511 100644
--- a/weex_core/Source/core/render/action/render_action_layout.cpp
+++ b/weex_core/Source/core/render/action/render_action_layout.cpp
@@ -17,35 +17,32 @@
* under the License.
*/
-#include "core/render/node/render_object.h"
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_layout.h"
+#include "core/manager/weex_core_manager.h"
+#include "core/render/node/render_object.h"
namespace WeexCore {
- RenderActionLayout::RenderActionLayout(const std::string &page_id, const RenderObject *render,
- int index) {
- this->page_id_ = page_id;
- this->ref_ = render->ref();
- this->index_ = index;
- GetLayoutInfo(render);
- }
+RenderActionLayout::RenderActionLayout(const std::string &page_id,
+ const RenderObject *render, int index) {
+ this->page_id_ = page_id;
+ this->ref_ = render->ref();
+ this->index_ = index;
+ GetLayoutInfo(render);
+}
- void RenderActionLayout::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callLayout(this->page_id_.c_str(),
- this->ref_.c_str(),
- this->top_, this->bottom_,
- this->left_, this->right_,
- this->height_, this->width_,
- this->index_);
- }
+void RenderActionLayout::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callLayout(
+ this->page_id_.c_str(), this->ref_.c_str(), this->top_, this->bottom_,
+ this->left_, this->right_, this->height_, this->width_, this->index_);
+}
- void RenderActionLayout::GetLayoutInfo(const WXCoreLayoutNode *node) {
- this->top_ = node->getLayoutPositionTop();
- this->bottom_ = node->getLayoutPositionBottom();
- this->right_ = node->getLayoutPositionRight();
- this->left_ = node->getLayoutPositionLeft();
- this->height_ = node->getLayoutHeight();
- this->width_ = node->getLayoutWidth();
- }
+void RenderActionLayout::GetLayoutInfo(const WXCoreLayoutNode *node) {
+ this->top_ = node->getLayoutPositionTop();
+ this->bottom_ = node->getLayoutPositionBottom();
+ this->right_ = node->getLayoutPositionRight();
+ this->left_ = node->getLayoutPositionLeft();
+ this->height_ = node->getLayoutHeight();
+ this->width_ = node->getLayoutWidth();
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_layout.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.h b/weex_core/Source/core/render/action/render_action_layout.h
index 38b98e9..ef36700 100644
--- a/weex_core/Source/core/render/action/render_action_layout.h
+++ b/weex_core/Source/core/render/action/render_action_layout.h
@@ -16,41 +16,40 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RELAYOUTRENDERACTION_H
-#define WEEX_PROJECT_RELAYOUTRENDERACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_LAYOUT_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_LAYOUT_H_
-#include <string>
#include <set>
+#include <string>
#include "core/render/action/render_action_interface.h"
namespace WeexCore {
- class RenderObject;
-
- class WXCoreLayoutNode;
+class RenderObject;
- class RenderActionLayout : public RenderAction {
+class WXCoreLayoutNode;
- public:
- explicit RenderActionLayout(const std::string &page_id, const RenderObject *render,
- const int index);
+class RenderActionLayout : public RenderAction {
+ public:
+ explicit RenderActionLayout(const std::string &page_id,
+ const RenderObject *render, const int index);
- void ExecuteAction();
+ void ExecuteAction();
- void GetLayoutInfo(const WXCoreLayoutNode *node);
+ void GetLayoutInfo(const WXCoreLayoutNode *node);
- public:
- std::string page_id_;
- std::string ref_;
- float width_;
- float height_;
- float top_;
- float left_;
- float bottom_;
- float right_;
- int index_;
- };
-}
+ public:
+ std::string page_id_;
+ std::string ref_;
+ float width_;
+ float height_;
+ float top_;
+ float left_;
+ float bottom_;
+ float right_;
+ int index_;
+};
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RELAYOUTRENDERACTION_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_LAYOUT_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_move_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.cpp b/weex_core/Source/core/render/action/render_action_move_element.cpp
index ac328ba..fab00cb 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_move_element.cpp
@@ -17,24 +17,24 @@
* under the License.
*/
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_move_element.h"
+#include "core/manager/weex_core_manager.h"
namespace WeexCore {
- RenderActionMoveElement::RenderActionMoveElement(const std::string &page_id,
- const std::string &ref,
- const std::string &parent_ref, int index) {
- this->page_id_ = page_id;
- this->ref_ = ref;
- this->parent_ref_ = parent_ref;
- this->index_ = index;
- }
+RenderActionMoveElement::RenderActionMoveElement(const std::string &page_id,
+ const std::string &ref,
+ const std::string &parent_ref,
+ int index) {
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->parent_ref_ = parent_ref;
+ this->index_ = index;
+}
- void RenderActionMoveElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callMoveElement(this->page_id_.c_str(),
- this->ref_.c_str(),
- this->parent_ref_.c_str(),
- this->index_);
- }
-}
\ No newline at end of file
+void RenderActionMoveElement::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callMoveElement(
+ this->page_id_.c_str(), this->ref_.c_str(), this->parent_ref_.c_str(),
+ this->index_);
+}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_move_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.h b/weex_core/Source/core/render/action/render_action_move_element.h
index fcc6509..88d9044 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.h
+++ b/weex_core/Source/core/render/action/render_action_move_element.h
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERACTIONMOVEELEMENT_H
-#define WEEX_PROJECT_RENDERACTIONMOVEELEMENT_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_MOVE_ELEMENT_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_MOVE_ELEMENT_H_
#include <string>
@@ -25,20 +25,20 @@
namespace WeexCore {
- class RenderActionMoveElement : public RenderAction {
+class RenderActionMoveElement : public RenderAction {
+ public:
+ explicit RenderActionMoveElement(const std::string &page_id,
+ const std::string &ref,
+ const std::string &parent_ref, int index);
- public:
- explicit RenderActionMoveElement(const std::string &page_id, const std::string &ref,
- const std::string &parent_ref, int index);
+ void ExecuteAction();
- void ExecuteAction();
+ public:
+ std::string page_id_;
+ std::string ref_;
+ std::string parent_ref_;
+ int index_;
+};
+} // namespace WeexCore
- public:
- std::string page_id_;
- std::string ref_;
- std::string parent_ref_;
- int index_;
- };
-}
-
-#endif //WEEX_PROJECT_RENDERACTIONMOVEELEMENT_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_MOVE_ELEMENT_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_remove_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.cpp b/weex_core/Source/core/render/action/render_action_remove_element.cpp
index 8995c40..ac00435 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_remove_element.cpp
@@ -17,19 +17,19 @@
* under the License.
*/
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_remove_element.h"
+#include "core/manager/weex_core_manager.h"
namespace WeexCore {
- RenderActionRemoveElement::RenderActionRemoveElement(const std::string &page_id,
- const std::string &ref) {
- this->page_id_ = page_id;
- this->ref_ = ref;
- }
+RenderActionRemoveElement::RenderActionRemoveElement(const std::string &page_id,
+ const std::string &ref) {
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+}
- void RenderActionRemoveElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveElement(this->page_id_.c_str(),
- this->ref_.c_str());
- }
-}
\ No newline at end of file
+void RenderActionRemoveElement::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveElement(
+ this->page_id_.c_str(), this->ref_.c_str());
+}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_remove_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.h b/weex_core/Source/core/render/action/render_action_remove_element.h
index 6699d0d..ff042d3 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.h
+++ b/weex_core/Source/core/render/action/render_action_remove_element.h
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERACTIONREMOVEELEMENT_H
-#define WEEX_PROJECT_RENDERACTIONREMOVEELEMENT_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_REMOVE_ELEMENT_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_REMOVE_ELEMENT_H_
#include <string>
@@ -25,16 +25,17 @@
namespace WeexCore {
- class RenderActionRemoveElement : public RenderAction {
- public:
- explicit RenderActionRemoveElement(const std::string &page_id, const std::string &ref);
+class RenderActionRemoveElement : public RenderAction {
+ public:
+ explicit RenderActionRemoveElement(const std::string &page_id,
+ const std::string &ref);
- void ExecuteAction();
+ void ExecuteAction();
- public:
- std::string page_id_;
- std::string ref_;
- };
-}
+ public:
+ std::string page_id_;
+ std::string ref_;
+};
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERACTIONREMOVEELEMENT_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_REMOVE_ELEMENT_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_remove_event.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.cpp b/weex_core/Source/core/render/action/render_action_remove_event.cpp
index 732f7b7..f4ae667 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.cpp
+++ b/weex_core/Source/core/render/action/render_action_remove_event.cpp
@@ -17,22 +17,21 @@
* under the License.
*/
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_remove_event.h"
+#include "core/manager/weex_core_manager.h"
namespace WeexCore {
- RenderActionRemoveEvent::RenderActionRemoveEvent(const std::string &page_id,
- const std::string &ref,
- const std::string &event) {
- this->page_id_ = page_id;
- this->ref_ = ref;
- this->event_ = event;
- }
+RenderActionRemoveEvent::RenderActionRemoveEvent(const std::string &page_id,
+ const std::string &ref,
+ const std::string &event) {
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->event_ = event;
+}
- void RenderActionRemoveEvent::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveEvent(this->page_id_.c_str(),
- this->ref_.c_str(),
- this->event_.c_str());
- }
+void RenderActionRemoveEvent::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveEvent(
+ this->page_id_.c_str(), this->ref_.c_str(), this->event_.c_str());
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_remove_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.h b/weex_core/Source/core/render/action/render_action_remove_event.h
index 5d6d0fe..f448032 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.h
+++ b/weex_core/Source/core/render/action/render_action_remove_event.h
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_REMOVEEVENTACTION_H
-#define WEEX_PROJECT_REMOVEEVENTACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_REMOVE_EVENT_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_REMOVE_EVENT_H_
#include <string>
@@ -25,19 +25,19 @@
namespace WeexCore {
- class RenderActionRemoveEvent : public RenderAction {
+class RenderActionRemoveEvent : public RenderAction {
+ public:
+ explicit RenderActionRemoveEvent(const std::string &page_id,
+ const std::string &ref,
+ const std::string &event);
- public:
- explicit RenderActionRemoveEvent(const std::string &page_id, const std::string &ref,
- const std::string &event);
+ void ExecuteAction();
- void ExecuteAction();
+ public:
+ std::string page_id_;
+ std::string ref_;
+ std::string event_;
+};
+} // namespace WeexCore
- public:
- std::string page_id_;
- std::string ref_;
- std::string event_;
- };
-}
-
-#endif //WEEX_PROJECT_REMOVEEVENTACTION_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_REMOVE_EVENT_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_update_attr.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.cpp b/weex_core/Source/core/render/action/render_action_update_attr.cpp
index 35500b2..43f05e0 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.cpp
+++ b/weex_core/Source/core/render/action/render_action_update_attr.cpp
@@ -17,21 +17,21 @@
* under the License.
*/
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_update_attr.h"
+#include "core/manager/weex_core_manager.h"
namespace WeexCore {
- RenderActionUpdateAttr::RenderActionUpdateAttr(const std::string &page_id, const std::string &ref,
- std::vector<std::pair<std::string, std::string>> *attrs) {
- this->page_id_ = page_id;
- this->ref_ = ref;
- this->attrs_ = attrs;
- }
+RenderActionUpdateAttr::RenderActionUpdateAttr(
+ const std::string &page_id, const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *attrs) {
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->attrs_ = attrs;
+}
- void RenderActionUpdateAttr::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateAttr(this->page_id_.c_str(),
- this->ref_.c_str(),
- this->attrs_);
- }
+void RenderActionUpdateAttr::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateAttr(
+ this->page_id_.c_str(), this->ref_.c_str(), this->attrs_);
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_update_attr.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.h b/weex_core/Source/core/render/action/render_action_update_attr.h
index 81b48b5..56ebe90 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.h
+++ b/weex_core/Source/core/render/action/render_action_update_attr.h
@@ -16,29 +16,30 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_UPDATEATTRACTION_H
-#define WEEX_PROJECT_UPDATEATTRACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_UPDATE_ATTR_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_UPDATE_ATTR_H_
#include <string>
+#include <utility>
#include <vector>
#include "core/render/action/render_action_interface.h"
namespace WeexCore {
- class RenderActionUpdateAttr : public RenderAction {
+class RenderActionUpdateAttr : public RenderAction {
+ public:
+ explicit RenderActionUpdateAttr(
+ const std::string &page_id, const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *attrs);
- public:
- explicit RenderActionUpdateAttr(const std::string &page_id, const std::string &ref,
- std::vector<std::pair<std::string, std::string>> *attrs);
+ void ExecuteAction();
- void ExecuteAction();
+ public:
+ std::string page_id_;
+ std::string ref_;
+ std::vector<std::pair<std::string, std::string>> *attrs_;
+};
+} // namespace WeexCore
- public:
- std::string page_id_;
- std::string ref_;
- std::vector<std::pair<std::string, std::string>> *attrs_;
- };
-}
-
-#endif //WEEX_PROJECT_UPDATEATTRACTION_H
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_UPDATE_ATTR_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_update_style.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.cpp b/weex_core/Source/core/render/action/render_action_update_style.cpp
index 1bc9342..7ec19b8 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.cpp
+++ b/weex_core/Source/core/render/action/render_action_update_style.cpp
@@ -17,31 +17,28 @@
* under the License.
*/
-#include "core/manager/weex_core_manager.h"
#include "core/render/action/render_action_update_style.h"
+#include "core/manager/weex_core_manager.h"
namespace WeexCore {
- RenderActionUpdateStyle::RenderActionUpdateStyle(const std::string &page_id,
- const std::string &ref,
- std::vector<std::pair<std::string, std::string>> *style,
- std::vector<std::pair<std::string, std::string>> *margin,
- std::vector<std::pair<std::string, std::string>> *padding,
- std::vector<std::pair<std::string, std::string>> *border) {
- this->page_id_ = page_id;
- this->ref_ = ref;
- this->style_ = style;
- this->margin_ = margin;
- this->padding_ = padding;
- this->border_ = border;
- }
+RenderActionUpdateStyle::RenderActionUpdateStyle(
+ const std::string &page_id, const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *style,
+ std::vector<std::pair<std::string, std::string>> *margin,
+ std::vector<std::pair<std::string, std::string>> *padding,
+ std::vector<std::pair<std::string, std::string>> *border) {
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->style_ = style;
+ this->margin_ = margin;
+ this->padding_ = padding;
+ this->border_ = border;
+}
- void RenderActionUpdateStyle::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateStyle(this->page_id_.c_str(),
- this->ref_.c_str(),
- this->style_,
- this->margin_,
- this->padding_,
- this->border_);
- }
+void RenderActionUpdateStyle::ExecuteAction() {
+ WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateStyle(
+ this->page_id_.c_str(), this->ref_.c_str(), this->style_, this->margin_,
+ this->padding_, this->border_);
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/action/render_action_update_style.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.h b/weex_core/Source/core/render/action/render_action_update_style.h
index ae914f5..e60d500 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.h
+++ b/weex_core/Source/core/render/action/render_action_update_style.h
@@ -16,36 +16,36 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_UPDATESTYLEACTION_H
-#define WEEX_PROJECT_UPDATESTYLEACTION_H
+#ifndef CORE_RENDER_ACTION_RENDER_ACTION_UPDATE_STYLE_H_
+#define CORE_RENDER_ACTION_RENDER_ACTION_UPDATE_STYLE_H_
#include <string>
+#include <utility>
#include <vector>
#include "core/render/action/render_action_interface.h"
namespace WeexCore {
- class RenderActionUpdateStyle : public RenderAction {
-
- public:
-
- explicit RenderActionUpdateStyle(const std::string &page_id, const std::string &ref,
- std::vector<std::pair<std::string, std::string>> *style,
- std::vector<std::pair<std::string, std::string>> *margin,
- std::vector<std::pair<std::string, std::string>> *padding,
- std::vector<std::pair<std::string, std::string>> *border);
-
- void ExecuteAction();
-
- public:
- std::string page_id_;
- std::string ref_;
- std::vector<std::pair<std::string, std::string>> *style_;
- std::vector<std::pair<std::string, std::string>> *margin_;
- std::vector<std::pair<std::string, std::string>> *padding_;
- std::vector<std::pair<std::string, std::string>> *border_;
- };
-}
-
-#endif //WEEX_PROJECT_UPDATESTYLEACTION_H
+class RenderActionUpdateStyle : public RenderAction {
+ public:
+ explicit RenderActionUpdateStyle(
+ const std::string &page_id, const std::string &ref,
+ std::vector<std::pair<std::string, std::string>> *style,
+ std::vector<std::pair<std::string, std::string>> *margin,
+ std::vector<std::pair<std::string, std::string>> *padding,
+ std::vector<std::pair<std::string, std::string>> *border);
+
+ void ExecuteAction();
+
+ public:
+ std::string page_id_;
+ std::string ref_;
+ std::vector<std::pair<std::string, std::string>> *style_;
+ std::vector<std::pair<std::string, std::string>> *margin_;
+ std::vector<std::pair<std::string, std::string>> *padding_;
+ std::vector<std::pair<std::string, std::string>> *border_;
+};
+} // namespace WeexCore
+
+#endif // CORE_RENDER_ACTION_RENDER_ACTION_UPDATE_STYLE_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/manager/render_manager.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.cpp b/weex_core/Source/core/render/manager/render_manager.cpp
index 64e179c..0eebc82 100644
--- a/weex_core/Source/core/render/manager/render_manager.cpp
+++ b/weex_core/Source/core/render/manager/render_manager.cpp
@@ -16,201 +16,201 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include "core/render/manager/render_manager.h"
-#include "core/render/page/render_page.h"
-#include "core/render/node/render_object.h"
+
+#include <utility>
+#include <vector>
+
#include "base/TimeUtils.h"
-#include "core/parser/dom_wson.h"
#include "core/layout/measure_func_adapter.h"
+#include "core/parser/dom_wson.h"
+#include "core/render/manager/render_manager.h"
+#include "core/render/node/render_object.h"
+#include "core/render/page/render_page.h"
namespace WeexCore {
- RenderManager *RenderManager::g_pInstance = nullptr;
-
- bool RenderManager::CreatePage(std::string page_id, const char *data) {
+RenderManager *RenderManager::g_pInstance = nullptr;
+bool RenderManager::CreatePage(std::string page_id, const char *data) {
#if RENDER_LOG
- wson_parser parser(data);
- LOGD("[RenderManager] CreatePage >>>> pageId: %s, dom data: %s", pageId.c_str(), parser.toStringUTF8().c_str());
+ wson_parser parser(data);
+ LOGD("[RenderManager] CreatePage >>>> pageId: %s, dom data: %s",
+ pageId.c_str(), parser.toStringUTF8().c_str());
#endif
- RenderPage *page = new RenderPage(page_id);
- this->pages_.insert(std::pair<std::string, RenderPage *>(page_id, page));
-
- long long startTime = getCurrentTime();
- RenderObject *root = Wson2RenderObject(data, page_id);
- page->ParseJsonTime(getCurrentTime() - startTime);
+ RenderPage *page = new RenderPage(page_id);
+ this->pages_.insert(std::pair<std::string, RenderPage *>(page_id, page));
- page->updateDirty(true);
- return page->CreateRootRender(root);
- }
+ int64_t start_time = getCurrentTime();
+ RenderObject *root = Wson2RenderObject(data, page_id);
+ page->ParseJsonTime(getCurrentTime() - start_time);
- bool RenderManager::AddRenderObject(const std::string &page_id, const std::string &parent_ref,
- int index, const char *data) {
+ page->set_is_dirty(true);
+ return page->CreateRootRender(root);
+}
- RenderPage *page = GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::AddRenderObject(const std::string &page_id,
+ const std::string &parent_ref, int index,
+ const char *data) {
+ RenderPage *page = GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- wson_parser parser(data);
- LOGD("[RenderManager] AddRenderObject >>>> pageId: %s, parentRef: %s, index: %d, dom data: %s",
- pageId.c_str(), parentRef.c_str(), index, parser.toStringUTF8().c_str());
+ wson_parser parser(data);
+ LOGD(
+ "[RenderManager] AddRenderObject >>>> pageId: %s, parentRef: %s, index: "
+ "%d, dom data: %s",
+ pageId.c_str(), parentRef.c_str(), index, parser.toStringUTF8().c_str());
#endif
- long long startTime = getCurrentTime();
- RenderObject *child = Wson2RenderObject(data, page_id);
- page->ParseJsonTime(getCurrentTime() - startTime);
+ int64_t start_time = getCurrentTime();
+ RenderObject *child = Wson2RenderObject(data, page_id);
+ page->ParseJsonTime(getCurrentTime() - start_time);
- if (child == nullptr)
- return false;
+ if (child == nullptr) return false;
- page->updateDirty(true);
- return page->AddRenderObject(parent_ref, index, child);
- }
-
- bool RenderManager::RemoveRenderObject(const std::string &page_id, const std::string &ref) {
+ page->set_is_dirty(true);
+ return page->AddRenderObject(parent_ref, index, child);
+}
- RenderPage *page = this->GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::RemoveRenderObject(const std::string &page_id,
+ const std::string &ref) {
+ RenderPage *page = this->GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- LOGD("[RenderManager] RemoveRenderObject >>>> pageId: %s, ref: %s", pageId.c_str(),
- ref.c_str());
+ LOGD("[RenderManager] RemoveRenderObject >>>> pageId: %s, ref: %s",
+ pageId.c_str(), ref.c_str());
#endif
- page->updateDirty(true);
- return page->RemoveRenderObject(ref);
- }
+ page->set_is_dirty(true);
+ return page->RemoveRenderObject(ref);
+}
- bool RenderManager::MoveRenderObject(const std::string &page_id, const std::string &ref,
- const std::string &parent_ref, int index) {
- RenderPage *page = this->GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::MoveRenderObject(const std::string &page_id,
+ const std::string &ref,
+ const std::string &parent_ref, int index) {
+ RenderPage *page = this->GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- LOGD("[RenderManager] MoveRenderObject >>>> pageId: %s, ref: %s, parentRef: %s, index: %d",
- pageId.c_str(), ref.c_str(), parentRef.c_str(), index);
+ LOGD(
+ "[RenderManager] MoveRenderObject >>>> pageId: %s, ref: %s, parentRef: "
+ "%s, index: %d",
+ pageId.c_str(), ref.c_str(), parentRef.c_str(), index);
#endif
- page->updateDirty(true);
- return page->MoveRenderObject(ref, parent_ref, index);
- }
+ page->set_is_dirty(true);
+ return page->MoveRenderObject(ref, parent_ref, index);
+}
- bool RenderManager::UpdateAttr(const std::string &page_id, const std::string &ref,
- const char *data) {
- RenderPage *page = this->GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::UpdateAttr(const std::string &page_id,
+ const std::string &ref, const char *data) {
+ RenderPage *page = this->GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- wson_parser parser(data);
- LOGD("[RenderManager] UpdateAttr >>>> pageId: %s, ref: %s, data: %s",
- pageId.c_str(), ref.c_str(), parser.toStringUTF8().c_str());
+ wson_parser parser(data);
+ LOGD("[RenderManager] UpdateAttr >>>> pageId: %s, ref: %s, data: %s",
+ pageId.c_str(), ref.c_str(), parser.toStringUTF8().c_str());
#endif
- long long startTime = getCurrentTime();
- std::vector <std::pair<std::string, std::string>> *attrs = Wson2Pairs(data);
- page->ParseJsonTime(getCurrentTime() - startTime);
+ int64_t start_time = getCurrentTime();
+ std::vector<std::pair<std::string, std::string>> *attrs = Wson2Pairs(data);
+ page->ParseJsonTime(getCurrentTime() - start_time);
- page->updateDirty(true);
- return page->UpdateAttr(ref, attrs);
- }
+ page->set_is_dirty(true);
+ return page->UpdateAttr(ref, attrs);
+}
- bool RenderManager::UpdateStyle(const std::string &page_id, const std::string &ref,
- const char *data) {
- RenderPage *page = this->GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::UpdateStyle(const std::string &page_id,
+ const std::string &ref, const char *data) {
+ RenderPage *page = this->GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- wson_parser parser(data);
- LOGD("[RenderManager] UpdateStyle >>>> pageId: %s, ref: %s, data: %s",
- pageId.c_str(), ref.c_str(), parser.toStringUTF8().c_str());
+ wson_parser parser(data);
+ LOGD("[RenderManager] UpdateStyle >>>> pageId: %s, ref: %s, data: %s",
+ pageId.c_str(), ref.c_str(), parser.toStringUTF8().c_str());
#endif
- long long startTime = getCurrentTime();
- std::vector <std::pair<std::string, std::string>> *styles = Wson2Pairs(data);
- page->ParseJsonTime(getCurrentTime() - startTime);
+ int64_t start_time = getCurrentTime();
+ std::vector<std::pair<std::string, std::string>> *styles = Wson2Pairs(data);
+ page->ParseJsonTime(getCurrentTime() - start_time);
- page->updateDirty(true);
- return page->UpdateStyle(ref, styles);
- }
+ page->set_is_dirty(true);
+ return page->UpdateStyle(ref, styles);
+}
- bool RenderManager::AddEvent(const std::string &page_id, const std::string &ref,
- const std::string &event) {
- RenderPage *page = this->GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::AddEvent(const std::string &page_id, const std::string &ref,
+ const std::string &event) {
+ RenderPage *page = this->GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- LOGD("[RenderManager] AddEvent >>>> pageId: %s, ref: %s, event: %s",
- pageId.c_str(), ref.c_str(), event.c_str());
+ LOGD("[RenderManager] AddEvent >>>> pageId: %s, ref: %s, event: %s",
+ pageId.c_str(), ref.c_str(), event.c_str());
#endif
- page->updateDirty(true);
- return page->AddEvent(ref, event);
- }
+ page->set_is_dirty(true);
+ return page->AddEvent(ref, event);
+}
- bool RenderManager::RemoveEvent(const std::string &page_id, const std::string &ref,
- const std::string &event) {
- RenderPage *page = this->GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::RemoveEvent(const std::string &page_id,
+ const std::string &ref,
+ const std::string &event) {
+ RenderPage *page = this->GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- LOGD("[RenderManager] RemoveEvent >>>> pageId: %s, ref: %s, event: %s",
- pageId.c_str(), ref.c_str(), event.c_str());
+ LOGD("[RenderManager] RemoveEvent >>>> pageId: %s, ref: %s, event: %s",
+ pageId.c_str(), ref.c_str(), event.c_str());
#endif
- page->updateDirty(true);
- return page->RemoveEvent(ref, event);
- }
+ page->set_is_dirty(true);
+ return page->RemoveEvent(ref, event);
+}
- bool RenderManager::CreateFinish(const std::string &page_id) {
- RenderPage *page = GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::CreateFinish(const std::string &page_id) {
+ RenderPage *page = GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- LOGD("[RenderManager] CreateFinish >>>> pageId: %s", pageId.c_str());
+ LOGD("[RenderManager] CreateFinish >>>> pageId: %s", pageId.c_str());
#endif
- page->updateDirty(true);
- return page->CreateFinish();
- }
-
- RenderPage *RenderManager::GetPage(const std::string &page_id) {
- std::map<std::string, RenderPage *>::iterator iter = this->pages_.find(page_id);
- if (iter != this->pages_.end()) {
- return iter->second;
- } else {
- return nullptr;
- }
+ page->set_is_dirty(true);
+ return page->CreateFinish();
+}
+
+RenderPage *RenderManager::GetPage(const std::string &page_id) {
+ std::map<std::string, RenderPage *>::iterator iter =
+ this->pages_.find(page_id);
+ if (iter != this->pages_.end()) {
+ return iter->second;
+ } else {
+ return nullptr;
}
+}
- bool RenderManager::ClosePage(const std::string &page_id) {
- RenderPage *page = GetPage(page_id);
- if (page == nullptr)
- return false;
+bool RenderManager::ClosePage(const std::string &page_id) {
+ RenderPage *page = GetPage(page_id);
+ if (page == nullptr) return false;
#if RENDER_LOG
- LOGD("[RenderManager] ClosePage >>>> pageId: %s", pageId.c_str());
+ LOGD("[RenderManager] ClosePage >>>> pageId: %s", pageId.c_str());
#endif
- page->OnRenderPageClose();
- this->pages_.erase(page_id);
- delete page;
- page = nullptr;
- }
+ page->OnRenderPageClose();
+ this->pages_.erase(page_id);
+ delete page;
+ page = nullptr;
+}
- void RenderManager::Batch(const std::string &page_id) {
- RenderPage *page = this->GetPage(page_id);
- if (page == nullptr)
- return;
+void RenderManager::Batch(const std::string &page_id) {
+ RenderPage *page = this->GetPage(page_id);
+ if (page == nullptr) return;
- page->Batch();
- }
+ page->Batch();
+}
-} //namespace WeexCore
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/manager/render_manager.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.h b/weex_core/Source/core/render/manager/render_manager.h
index b87c486..9abe2da 100644
--- a/weex_core/Source/core/render/manager/render_manager.h
+++ b/weex_core/Source/core/render/manager/render_manager.h
@@ -16,76 +16,80 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef RenderManager_h
-#define RenderManager_h
+#ifndef CORE_RENDER_MANAGER_RENDER_MANAGER_H_
+#define CORE_RENDER_MANAGER_RENDER_MANAGER_H_
#include <map>
#include <string>
namespace WeexCore {
- class RenderPage;
+class RenderPage;
- class RenderManager {
+class RenderManager {
+ private:
+ RenderManager() {}
- private:
- explicit RenderManager() {}
+ ~RenderManager() {}
- ~RenderManager() {}
-
- //just to release singleton object
- class Garbo {
- public:
- ~Garbo() {
- if (RenderManager::g_pInstance) {
- delete RenderManager::g_pInstance;
- }
+ // just to release singleton object
+ class Garbo {
+ public:
+ ~Garbo() {
+ if (RenderManager::g_pInstance) {
+ delete RenderManager::g_pInstance;
}
- };
-
- static Garbo garbo;
+ }
+ };
- public:
+ static Garbo garbo;
- void Batch(const std::string &page_id);
+ public:
+ void Batch(const std::string &page_id);
- // create root node
- bool CreatePage(std::string page_id, const char *data);
+ // create root node
+ bool CreatePage(std::string page_id, const char *data);
- /** use auto constructor is bad idea, it cann't transfer binary, use char* is better */
- bool AddRenderObject(const std::string &page_id, const std::string &parent_ref, int index,
- const char *data);
+ /** use auto constructor is bad idea, it cann't transfer binary, use char* is
+ * better */
+ bool AddRenderObject(const std::string &page_id,
+ const std::string &parent_ref, int index,
+ const char *data);
- bool RemoveRenderObject(const std::string &page_id, const std::string &ref);
+ bool RemoveRenderObject(const std::string &page_id, const std::string &ref);
- bool MoveRenderObject(const std::string &page_id, const std::string &ref,
- const std::string &parent_ref, int index);
+ bool MoveRenderObject(const std::string &page_id, const std::string &ref,
+ const std::string &parent_ref, int index);
- bool UpdateAttr(const std::string &page_id, const std::string &ref, const char *data);
+ bool UpdateAttr(const std::string &page_id, const std::string &ref,
+ const char *data);
- bool UpdateStyle(const std::string &page_id, const std::string &ref, const char *data);
+ bool UpdateStyle(const std::string &page_id, const std::string &ref,
+ const char *data);
- bool AddEvent(const std::string &page_id, const std::string &ref, const std::string &event);
+ bool AddEvent(const std::string &page_id, const std::string &ref,
+ const std::string &event);
- bool RemoveEvent(const std::string &page_id, const std::string &ref, const std::string &event);
+ bool RemoveEvent(const std::string &page_id, const std::string &ref,
+ const std::string &event);
- bool CreateFinish(const std::string &page_id);
+ bool CreateFinish(const std::string &page_id);
- RenderPage *GetPage(const std::string &page_id);
+ RenderPage *GetPage(const std::string &page_id);
- bool ClosePage(const std::string &page_id);
+ bool ClosePage(const std::string &page_id);
- static RenderManager *GetInstance() {
- if (!g_pInstance) {
- g_pInstance = new RenderManager();
- }
- return g_pInstance;
+ static RenderManager *GetInstance() {
+ if (!g_pInstance) {
+ g_pInstance = new RenderManager();
}
+ return g_pInstance;
+ }
- private:
- static RenderManager *g_pInstance;
- std::map<std::string, RenderPage *> pages_;
- };
-}
+ private:
+ static RenderManager *g_pInstance;
+ std::map<std::string, RenderPage *> pages_;
+};
+} // namespace WeexCore
-#endif //RenderManager_h
\ No newline at end of file
+#endif // CORE_RENDER_MANAGER_RENDER_MANAGER_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_appbar_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_appbar_factory.h b/weex_core/Source/core/render/node/factory/render_appbar_factory.h
index 874cdda..803666f 100644
--- a/weex_core/Source/core/render/node/factory/render_appbar_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_appbar_factory.h
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERAPPBARFACTORY_H
-#define WEEX_PROJECT_RENDERAPPBARFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_APPBAR_FACTORY_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_APPBAR_FACTORY_H_
-#include "core/render/node/render_appbar.h"
#include "core/render/node/factory/render_factory_interface.h"
+#include "core/render/node/render_appbar.h"
namespace WeexCore {
- class RenderAppBarFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderAppBar();
- }
- };
+class RenderAppBarFactory : public IRenderFactory {
+ public:
+ IRenderObject *CreateRender() { return new RenderAppBar(); }
+};
-}
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERAPPBARFACTORY_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_APPBAR_FACTORY_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_cell_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_cell_factory.h b/weex_core/Source/core/render/node/factory/render_cell_factory.h
index 2d4ae5b..d6d439a 100644
--- a/weex_core/Source/core/render/node/factory/render_cell_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_cell_factory.h
@@ -16,20 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERCELLFACTORY_H
-#define WEEX_PROJECT_RENDERCELLFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_CELL_FACTORY_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_CELL_FACTORY_H_
-#include "core/render/node/render_cell.h"
#include "core/render/node/factory/render_factory_interface.h"
+#include "core/render/node/render_cell.h"
namespace WeexCore {
- class RenderCellFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderCell();
- }
- };
+class RenderCellFactory : public IRenderFactory {
+ public:
+ IRenderObject *CreateRender() { return new RenderCell(); }
+};
-}
-#endif //WEEX_PROJECT_RENDERCELLFACTORY_H
+} // namespace WeexCore
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_CELL_FACTORY_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_creator.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_creator.cpp b/weex_core/Source/core/render/node/factory/render_creator.cpp
index 92f8c3b..8632110 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.cpp
+++ b/weex_core/Source/core/render/node/factory/render_creator.cpp
@@ -17,40 +17,42 @@
* under the License.
*/
#include "core/render/node/factory/render_creator.h"
-#include "core/render/node/factory/render_object_interface.h"
+#include "core/render/node/factory/render_appbar_factory.h"
#include "core/render/node/factory/render_factory_interface.h"
-#include "core/render/node/factory/render_text_factory.h"
-#include "core/render/node/factory/simple_render_factory.h"
#include "core/render/node/factory/render_list_factory.h"
#include "core/render/node/factory/render_mask_factory.h"
+#include "core/render/node/factory/render_object_interface.h"
#include "core/render/node/factory/render_scroller_factory.h"
-#include "core/render/node/factory/render_appbar_factory.h"
+#include "core/render/node/factory/render_text_factory.h"
#include "core/render/node/factory/render_type.h"
+#include "core/render/node/factory/simple_render_factory.h"
namespace WeexCore {
- RenderCreator *RenderCreator::g_pInstance = nullptr;
+RenderCreator *RenderCreator::g_pInstance = nullptr;
- IRenderObject *RenderCreator::CreateRender(const std::string &type, const std::string &ref) {
- IRenderFactory *factory;
- if (type == kRenderText) {
- factory = new RenderTextFactory();
- } else if (type == kRenderList || type == kRenderWaterfall || type == kRenderRecycleList) {
- factory = new RenderListFactory();
- } else if (type == kRenderMask) {
- factory = new RenderMaskFactory();
- } else if (type == kRenderScroller) {
- factory = new RenderScrollerFactory();
- } else if (type == kRenderAppBar) {
- factory = new RenderAppBarFactory();
- } else {
- factory = new RenderCommonFactory();
- }
-
- IRenderObject *render = factory->CreateRender();
- render->set_ref(ref);
- render->set_type(type);
- delete factory;
- return render;
+IRenderObject *RenderCreator::CreateRender(const std::string &type,
+ const std::string &ref) {
+ IRenderFactory *factory;
+ if (type == kRenderText) {
+ factory = new RenderTextFactory();
+ } else if (type == kRenderList || type == kRenderWaterfall ||
+ type == kRenderRecycleList) {
+ factory = new RenderListFactory();
+ } else if (type == kRenderMask) {
+ factory = new RenderMaskFactory();
+ } else if (type == kRenderScroller) {
+ factory = new RenderScrollerFactory();
+ } else if (type == kRenderAppBar) {
+ factory = new RenderAppBarFactory();
+ } else {
+ factory = new RenderCommonFactory();
}
+
+ IRenderObject *render = factory->CreateRender();
+ render->set_ref(ref);
+ render->set_type(type);
+ delete factory;
+ return render;
}
+} // namespace WeexCore
[41/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Fix
setViewport
Posted by cx...@apache.org.
[WEEX-442][Core] Fix setViewport
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/578c3571
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/578c3571
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/578c3571
Branch: refs/heads/release
Commit: 578c35716166b12df30ac8f3039036cd922ce4af
Parents: 44fd78c
Author: miomin <mi...@foxmail.com>
Authored: Thu Jun 14 19:38:26 2018 +0800
Committer: miomin <mi...@foxmail.com>
Committed: Thu Jun 14 19:38:26 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/WXSDKInstance.java | 1 -
.../java/com/taobao/weex/bridge/WXBridge.java | 8 -----
.../com/taobao/weex/bridge/WXBridgeManager.java | 4 ---
.../java/com/taobao/weex/common/IWXBridge.java | 2 --
.../com/taobao/weex/ui/module/WXMetaModule.java | 1 -
.../bridge/impl/weexcore_impl_android.cpp | 8 -----
.../jniprebuild/jniheader/WXBridge_jni.h | 10 ------
weex_core/Source/base/ViewUtils.h | 4 +--
weex_core/Source/core/bridge/js_bridge.cpp | 4 +++
.../core/render/manager/render_manager.cpp | 34 ++++++++++++++++++++
.../Source/core/render/manager/render_manager.h | 19 ++++++++++-
.../Source/core/render/node/render_list.cpp | 13 ++++----
.../Source/core/render/node/render_mask.cpp | 5 +--
.../Source/core/render/node/render_object.cpp | 11 +------
.../Source/core/render/node/render_object.h | 4 +--
.../Source/core/render/page/render_page.cpp | 3 +-
weex_core/Source/core/render/page/render_page.h | 7 ----
17 files changed, 71 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index d7d8581..9f59e30 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -318,7 +318,6 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
public void setInstanceViewPortWidth(int instanceViewPortWidth) {
this.mInstanceViewPortWidth = instanceViewPortWidth;
- WXSDKManager.getInstance().getWXBridgeManager().setViewPortWidth(getInstanceId(), instanceViewPortWidth);
}
public int getInstanceViewPortWidth(){
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
index cc2d1a9..4059d97 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
@@ -94,9 +94,6 @@ public class WXBridge implements IWXBridge {
private native void nativeRegisterCoreEnv(String key, String value);
- private native void nativeSetViewPortWidth(String instanceId, float value);
-
-
/**
* update global config,
* @param config params
@@ -565,11 +562,6 @@ public class WXBridge implements IWXBridge {
nativeRegisterCoreEnv(key, value);
}
- @Override
- public void setViewPortWidth(String instanceId, float value) {
- nativeSetViewPortWidth(instanceId, value);
- }
-
public void reportNativeInitStatus(String statusCode, String errorMsg) {
if (WXErrorCode.WX_JS_FRAMEWORK_INIT_SINGLE_PROCESS_SUCCESS.getErrorCode().equals(statusCode)
|| WXErrorCode.WX_JS_FRAMEWORK_INIT_FAILED.getErrorCode().equals(statusCode)) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index 5d20f14..9726098 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -2672,10 +2672,6 @@ public class WXBridgeManager implements Callback, BactchExecutor {
return mWXBridge.getRenderFinishTime(instanceId);
}
- public void setViewPortWidth(String instanceId, float value) {
- mWXBridge.setViewPortWidth(instanceId, value);
- }
-
public void setMargin(String instanceId, String ref, CSSShorthand.EDGE edge, float value) {
mWXBridge.setMargin(instanceId, ref, edge, value);
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java b/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
index 25821e3..0207d86 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
@@ -186,7 +186,5 @@ public interface IWXBridge extends IWXObject {
void registerCoreEnv(String key, String value);
- void setViewPortWidth(String instanceId, float value);
-
void reportNativeInitStatus(String statusCode, String errorMsg);
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/android/sdk/src/main/java/com/taobao/weex/ui/module/WXMetaModule.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/module/WXMetaModule.java b/android/sdk/src/main/java/com/taobao/weex/ui/module/WXMetaModule.java
index 93a01c7..c85fb5e 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/module/WXMetaModule.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/module/WXMetaModule.java
@@ -65,7 +65,6 @@ public class WXMetaModule extends WXModule {
} else {
int width = jsObj.getInteger(WIDTH);
if (width > 0) {
- // todo 问题:js -> java -> native,应该在native就拦截下请求,并修改ViewPortWidth
mWXSDKInstance.setInstanceViewPortWidth(width);
}
WXLogUtils.d("[WXMetaModule] setViewport success[width]=" + width);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
index e731026..94a3ac6 100644
--- a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
@@ -289,14 +289,6 @@ static void RegisterCoreEnv(JNIEnv *env, jobject jcaller, jstring key, jstring v
WXCoreEnvironment::getInstance()->AddOption(jString2StrFast(env, key), jString2StrFast(env, value));
}
-static void SetViewPortWidth(JNIEnv *env, jobject jcaller, jstring instanceId, jfloat value) {
- const char *cInstanceId = env->GetStringUTFChars(instanceId, JNI_FALSE);
- WeexCoreManager::getInstance()->getPlatformBridge()->setViewPortWidth(
- cInstanceId,value
- );
-}
-
-
static jint InitFramework(JNIEnv *env, jobject object, jstring script, jobject params) {
jThis = env->NewGlobalRef(object);
jclass tempClass = env->FindClass(
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/android/jniprebuild/jniheader/WXBridge_jni.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/jniprebuild/jniheader/WXBridge_jni.h b/weex_core/Source/android/jniprebuild/jniheader/WXBridge_jni.h
index 424b1f2..3af71be 100644
--- a/weex_core/Source/android/jniprebuild/jniheader/WXBridge_jni.h
+++ b/weex_core/Source/android/jniprebuild/jniheader/WXBridge_jni.h
@@ -134,10 +134,6 @@ static void RegisterCoreEnv(JNIEnv* env, jobject jcaller,
jstring key,
jstring value);
-static void SetViewPortWidth(JNIEnv* env, jobject jcaller,
- jstring instanceId,
- jfloat value);
-
static void UpdateGlobalConfig(JNIEnv* env, jobject jcaller,
jstring config);
@@ -305,12 +301,6 @@ static const JNINativeMethod kMethodsWXBridge[] = {
"Ljava/lang/String;"
")"
"V", reinterpret_cast<void*>(RegisterCoreEnv) },
- { "nativeSetViewPortWidth",
-"("
-"Ljava/lang/String;"
-"F"
-")"
-"V", reinterpret_cast<void*>(SetViewPortWidth) },
{ "nativeUpdateGlobalConfig",
"("
"Ljava/lang/String;"
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/base/ViewUtils.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/base/ViewUtils.h b/weex_core/Source/base/ViewUtils.h
index f73aeca..d6cbf4e 100644
--- a/weex_core/Source/base/ViewUtils.h
+++ b/weex_core/Source/base/ViewUtils.h
@@ -64,7 +64,7 @@ namespace WeexCore {
float realPx = (src * WXCoreEnvironment::getInstance()->DeviceWidth() /
viewport);
- float result = realPx > 0.005 && realPx < 1 ? 1 : rint(realPx);
+ float result = realPx > 0.005 && realPx < 1 ? 1.0f : realPx;
return result;
}
@@ -120,7 +120,7 @@ namespace WeexCore {
return NAN;
float realPx = (pxValue * customViewport / WXCoreEnvironment::getInstance()->DeviceWidth());
- float result = realPx > 0.005 && realPx < 1 ? 1 : rint(realPx);
+ float result = realPx > 0.005 && realPx < 1 ? 1.0f : realPx;
return result;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/bridge/js_bridge.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/bridge/js_bridge.cpp b/weex_core/Source/core/bridge/js_bridge.cpp
index 17608d8..1163f05 100644
--- a/weex_core/Source/core/bridge/js_bridge.cpp
+++ b/weex_core/Source/core/bridge/js_bridge.cpp
@@ -47,6 +47,10 @@ namespace WeexCore {
void *JSBridge::onCallNativeModule(const char *pageId, const char *module, const char *method,
const char *arguments, int argumentsLength, const char *options,
int optionsLength) {
+
+ RenderManager::GetInstance()->CallNativeModule(pageId, module, method, arguments, argumentsLength,
+ options, optionsLength);
+
return WeexCoreManager::getInstance()->getPlatformBridge()->callNativeModule(
pageId, module, method, arguments,
argumentsLength, options,
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/render/manager/render_manager.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.cpp b/weex_core/Source/core/render/manager/render_manager.cpp
index 0eebc82..699c29f 100644
--- a/weex_core/Source/core/render/manager/render_manager.cpp
+++ b/weex_core/Source/core/render/manager/render_manager.cpp
@@ -19,7 +19,10 @@
#include <utility>
#include <vector>
+#include <wson_parser.h>
+#include "base/ViewUtils.h"
+#include "core/css/constants_name.h"
#include "base/TimeUtils.h"
#include "core/layout/measure_func_adapter.h"
#include "core/parser/dom_wson.h"
@@ -183,6 +186,37 @@ bool RenderManager::CreateFinish(const std::string &page_id) {
return page->CreateFinish();
}
+bool RenderManager::CallNativeModule(const char *pageId, const char *module, const char *method,
+ const char *arguments, int argumentsLength,
+ const char *options, int optionsLength) {
+ if (strcmp(module, "meta") == 0) {
+ CallMetaModule(method, arguments);
+ }
+}
+
+bool RenderManager::CallMetaModule(const char *method, const char *arguments) {
+
+ if (strcmp(method, "setViewport") == 0) {
+ wson_parser parser(arguments);
+ if (parser.isArray(parser.nextType())) {
+ int size = parser.nextArraySize();
+ for (int i = 0; i < size; i++) {
+ uint8_t value_type = parser.nextType();
+ if (parser.isMap(value_type)) {
+ int map_size = parser.nextMapSize();
+ for (int j = 0; j < map_size; j++) {
+ std::string key = parser.nextMapKeyUTF8();
+ std::string value = parser.nextStringUTF8(parser.nextType());
+ if (strcmp(key.c_str(), WIDTH) == 0) {
+ RenderManager::GetInstance()->set_viewport_width(getFloat(value.c_str()));
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
RenderPage *RenderManager::GetPage(const std::string &page_id) {
std::map<std::string, RenderPage *>::iterator iter =
this->pages_.find(page_id);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/render/manager/render_manager.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.h b/weex_core/Source/core/render/manager/render_manager.h
index 9abe2da..e7e0f44 100644
--- a/weex_core/Source/core/render/manager/render_manager.h
+++ b/weex_core/Source/core/render/manager/render_manager.h
@@ -22,13 +22,17 @@
#include <map>
#include <string>
+#include "core/css/constants_value.h"
+
namespace WeexCore {
class RenderPage;
class RenderManager {
private:
- RenderManager() {}
+ RenderManager() {
+ this->viewport_width_ = kDefaultViewPortWidth;
+ }
~RenderManager() {}
@@ -75,6 +79,12 @@ class RenderManager {
bool CreateFinish(const std::string &page_id);
+ bool CallNativeModule(const char *pageId, const char *module, const char *method,
+ const char *arguments, int argumentsLength, const char *options,
+ int optionsLength);
+
+ bool CallMetaModule(const char *method, const char *arguments);
+
RenderPage *GetPage(const std::string &page_id);
bool ClosePage(const std::string &page_id);
@@ -86,9 +96,16 @@ class RenderManager {
return g_pInstance;
}
+ inline float viewport_width() const { return this->viewport_width_; }
+
+ inline void set_viewport_width(float viewport_width) {
+ this->viewport_width_ = viewport_width;
+ }
+
private:
static RenderManager *g_pInstance;
std::map<std::string, RenderPage *> pages_;
+ float viewport_width_ = -1;
};
} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/render/node/render_list.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.cpp b/weex_core/Source/core/render/node/render_list.cpp
index 84df8ec..bce9384 100644
--- a/weex_core/Source/core/render/node/render_list.cpp
+++ b/weex_core/Source/core/render/node/render_list.cpp
@@ -18,6 +18,7 @@
*/
#include <cmath>
#include <utility>
+#include <core/render/manager/render_manager.h>
#include "base/ViewUtils.h"
#include "core/css/constants_name.h"
@@ -112,8 +113,8 @@ void RenderList::PreCalculateCellWidth() {
this->available_width_ =
TakeStyleWidth() -
- getWebPxByWidth(getPaddingLeft(), GetRenderPage()->viewport_width()) -
- getWebPxByWidth(getPaddingRight(), GetRenderPage()->viewport_width());
+ getWebPxByWidth(getPaddingLeft(), RenderManager::GetInstance()->viewport_width()) -
+ getWebPxByWidth(getPaddingRight(), RenderManager::GetInstance()->viewport_width());
if (AUTO_VALUE == this->column_count_ &&
AUTO_VALUE == this->column_width_) {
@@ -216,19 +217,19 @@ std::string RenderList::CalculateSpanOffset() {
float RenderList::TakeStyleWidth() {
float width =
- getWebPxByWidth(getLayoutWidth(), GetRenderPage()->viewport_width());
+ getWebPxByWidth(getLayoutWidth(), RenderManager::GetInstance()->viewport_width());
if (isnan(width) || width <= 0) {
if (getParent() != nullptr) {
width = getWebPxByWidth(getParent()->getLayoutWidth(),
- GetRenderPage()->viewport_width());
+ RenderManager::GetInstance()->viewport_width());
}
if (isnan(width) || width <= 0) {
width = getWebPxByWidth(RenderObject::getStyleWidth(),
- GetRenderPage()->viewport_width());
+ RenderManager::GetInstance()->viewport_width());
}
}
if (isnan(width) || width <= 0) {
- width = GetViewPortWidth();
+ width = RenderManager::GetInstance()->viewport_width();
}
return width;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/render/node/render_mask.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_mask.cpp b/weex_core/Source/core/render/node/render_mask.cpp
index df925a2..8c80d0b 100644
--- a/weex_core/Source/core/render/node/render_mask.cpp
+++ b/weex_core/Source/core/render/node/render_mask.cpp
@@ -20,6 +20,7 @@
#include <utility>
#include "base/ViewUtils.h"
+#include "core/render/manager/render_manager.h"
#include "core/config/core_environment.h"
#include "core/css/constants_name.h"
#include "core/render/node/render_mask.h"
@@ -54,9 +55,9 @@ std::map<std::string, std::string> *RenderMask::GetDefaultStyle() {
style->insert(std::pair<std::string, std::string>(POSITION, "absolute"));
style->insert(std::pair<std::string, std::string>(
- WIDTH, to_string(getWebPxByWidth(width, GetViewPortWidth()))));
+ WIDTH, to_string(getWebPxByWidth(width, RenderManager::GetInstance()->viewport_width()))));
style->insert(std::pair<std::string, std::string>(
- HEIGHT, to_string(getWebPxByWidth(height, GetViewPortWidth()))));
+ HEIGHT, to_string(getWebPxByWidth(height, RenderManager::GetInstance()->viewport_width()))));
style->insert(std::pair<std::string, std::string>(TOP, "0"));
return style;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/render/node/render_object.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.cpp b/weex_core/Source/core/render/node/render_object.cpp
index fe0d25f..97f9287 100644
--- a/weex_core/Source/core/render/node/render_object.cpp
+++ b/weex_core/Source/core/render/node/render_object.cpp
@@ -305,15 +305,6 @@ const std::string RenderObject::GetAttr(const std::string &key) {
}
}
-float RenderObject::GetViewPortWidth() {
- if (this->viewport_width_ >= 0) return this->viewport_width_;
-
- RenderPage *page = GetRenderPage();
- if (page == nullptr) return kDefaultViewPortWidth;
-
- return page->viewport_width();
-}
-
int RenderObject::AddRenderObject(int index, RenderObject *child) {
if (child == nullptr || index < -1) {
return index;
@@ -356,7 +347,7 @@ bool RenderObject::UpdateStyleInternal(const std::string key,
functor(fallback);
ret = true;
} else {
- float fvalue = getFloatByViewport(value, GetViewPortWidth());
+ float fvalue = getFloatByViewport(value, RenderManager::GetInstance()->viewport_width());
if (!isnan(fvalue)) {
functor(fvalue);
ret = true;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/render/node/render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.h b/weex_core/Source/core/render/node/render_object.h
index 1a6352c..95e0c1a 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -31,8 +31,7 @@
#define convert_render_object_to_long(render) ((jlong)((intptr_t)render))
-#define convert_long_to_render_object(ptr) \
- ((RenderObject *)((intptr_t)ptr))
+#define convert_long_to_render_object(ptr) ((RenderObject *)((intptr_t)ptr))
namespace WeexCore {
@@ -151,7 +150,6 @@ class RenderObject : public IRenderObject {
std::map<std::string, std::string> *styles_;
std::map<std::string, std::string> *attributes_;
std::set<std::string> *events_;
- float viewport_width_ = -1;
bool is_root_render_;
bool is_sticky_ = false;
};
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/render/page/render_page.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.cpp b/weex_core/Source/core/render/page/render_page.cpp
index 7e9bee5..c5be5e2 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -16,9 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include "core/render/page/render_page.h"
#include "base/TimeUtils.h"
#include "base/ViewUtils.h"
+#include "core/render/page/render_page.h"
#include "core/config/core_environment.h"
#include "core/css/constants_value.h"
#include "core/layout/layout.h"
@@ -49,7 +49,6 @@ RenderPage::RenderPage(std::string page_id) {
this->page_id_ = page_id;
this->render_performance_ = new RenderPerformance();
- this->viewport_width_ = kDefaultViewPortWidth;
this->render_page_size_.first =
WXCoreEnvironment::getInstance()->DeviceWidth();
this->render_page_size_.second = NAN;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/weex_core/Source/core/render/page/render_page.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.h b/weex_core/Source/core/render/page/render_page.h
index 9310e16..4fe91c1 100644
--- a/weex_core/Source/core/render/page/render_page.h
+++ b/weex_core/Source/core/render/page/render_page.h
@@ -143,12 +143,6 @@ public:
inline std::string page_id() { return this->page_id_; }
- inline float viewport_width() const { return this->viewport_width_; }
-
- inline void set_viewport_width(float viewport_width) {
- this->viewport_width_ = viewport_width;
- }
-
inline bool is_dirty() { return this->is_dirty_.load(); }
inline void set_is_dirty(bool dirty) { this->is_dirty_.store(dirty); }
@@ -167,7 +161,6 @@ public:
std::atomic_bool has_fore_layout_action_{false};
private:
- float viewport_width_;
RenderObject *render_root_ = nullptr;
std::string page_id_;
std::pair<float, float> render_page_size_;
[44/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.14 (#1274)
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/pre-build/weex-rax-api.js
----------------------------------------------------------------------
diff --git a/pre-build/weex-rax-api.js b/pre-build/weex-rax-api.js
index 4ab5226..cb5f512 100644
--- a/pre-build/weex-rax-api.js
+++ b/pre-build/weex-rax-api.js
@@ -1,2 +1,2 @@
-var global=this,process={env:{}};!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";var e,t,n=(function(e){e.exports=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=22)}([function(e,t,n){var r=e.exports.createUniqueKey="undefined"!=typeof Symbol?Symbol:function(e){return"[["+e+"_"+Math.random().toFixed(8).slice(2)+"]]"},o=e.exports.isObject=function(e){return"object"==typeof e&&null!==e};e.exports.LISTENERS=r("lis
teners"),e.exports.CAPTURE=1,e.exports.BUBBLE=2,e.exports.ATTRIBUTE=3,e.exports.newNode=function(e,t,n){var r=o(n);return{listener:e,kind:t,once:r&&Boolean(n.once),passive:r&&Boolean(n.passive),next:null}}},function(e,t,n){var r=n(0),o=n(9),i=n(8),a=r.isObject,u=r.LISTENERS,s=r.CAPTURE,l=r.BUBBLE,c=r.ATTRIBUTE,f=r.newNode,d=o.defineCustomEventTarget,p=i.createEventWrapper,h=i.STOP_IMMEDIATE_PROPAGATION_FLAG,v=i.PASSIVE_LISTENER_FLAG,y="undefined"!=typeof window&&void 0!==window.EventTarget,m=e.exports=function e(){var t=arguments;if(!(this instanceof e)){if(1===arguments.length&&Array.isArray(arguments[0]))return d(e,arguments[0]);if(0<arguments.length){for(var n=Array(arguments.length),r=0;r<arguments.length;++r)n[r]=t[r];return d(e,n)}throw new TypeError("Cannot call a class as a function")}Object.defineProperty(this,u,{value:Object.create(null)})};m.prototype=Object.create((y?window.EventTarget:Object).prototype,{constructor:{value:m,writable:!0,configurable:!0},addEventListener:
{value:function(e,t,n){if(null==t)return!1;if("function"!=typeof t&&"object"!=typeof t)throw new TypeError('"listener" is not an object.');var r=(a(n)?Boolean(n.capture):Boolean(n))?s:l,o=this[u][e];if(null==o)return this[u][e]=f(t,r,n),!0;for(var i=null;null!=o;){if(o.listener===t&&o.kind===r)return!1;o=(i=o).next}return i.next=f(t,r,n),!0},configurable:!0,writable:!0},removeEventListener:{value:function(e,t,n){if(null==t)return!1;for(var r=(a(n)?Boolean(n.capture):Boolean(n))?s:l,o=null,i=this[u][e];null!=i;){if(i.listener===t&&i.kind===r)return null==o?this[u][e]=i.next:o.next=i.next,!0;i=(o=i).next}return!1},configurable:!0,writable:!0},dispatchEvent:{value:function(e){var t=e.type,n=this[u][t];if(null==n)return!0;for(var r=p(e,this),o=null;null!=n&&(n.once?null==o?this[u][t]=n.next:o.next=n.next:o=n,r[v]=n.passive,"function"==typeof n.listener?n.listener.call(this,r):n.kind!==c&&"function"==typeof n.listener.handleEvent&&n.listener.handleEvent(r),!r[h]);)n=n.next;return!r.defau
ltPrevented},configurable:!0,writable:!0}})},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._listeners={}}return r(e,[{key:"_addListener",value:function(e,t,n){return this._listeners[e]=this._listeners[e]||[],this._listeners[e].push({listener:t,once:n}),this}},{key:"on",value:function(e,t){return this._addListener(e,t,!1)}},{key:"once",value:function(e,t){return this._addListener(e,t,!0)}},{key:"off",value:function(e,t){return this._listeners[e]&&this._listeners[e].length&&(t?this._listeners[e]=this._listeners[e].filter(function(e){return!(e.listener===t)}):delete this._listeners[e]),th
is}},{key:"emit",value:function(t,n){var r=this;return this._listeners[t]&&this._listeners[t].forEach(function(e){e.listener.apply(r,[n]),e.once&&r.removeListener(t,e.listener)}),this}}]),e}();t.default=o,e.exports=t.default},function(e,t,n){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}e.exports=function(){var t=function e(t){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.type=t,this.bubbles=Boolean(n.bubbles),this.cancelable=Boolean(n.cancelable)};return{Event:t,CustomEvent:function(e){function r(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};o(this,r);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,e,t));return n.detail=t.detail,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Supe
r expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,t),r}()}}},function(e,t,n){function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.exports=function(e){var t,n={};return n.timing=(r(t={unloadEventStart:0,unloadEventEnd:0,navigationStart:e,redirectStart:0,redirectEnd:0,fetchStart:e,domainLookupStart:e,domainLookupEnd:e,connectStart:e,secureConnectionStart:e},"connectStart",e),r(t,"requestStart",e),r(t,"responseStart",e),r(t,"responseEnd",e),r(t,"domLoading",0),r(t,"domInteractive",0),r(t,"domComplete",0),r(t,"domContentLoadedEventStart",0),r(t,"domContentLoadedEventEnd",0),r(t,"loadEventStart",0),r(t,"loadEventEnd",0),t),n.now=function(){return Date.now()-n.timing.navigationStart},n}},function(e,t,n){e.exports=function(){var e={
},u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return e.btoa=function(e){for(var t,n,r=String(e),o=0,i=u,a="";r.charAt(0|o)||(i="=",o%1);a+=i.charAt(63&t>>8-o%1*8)){if(255<(n=r.charCodeAt(o+=.75)))throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");t=t<<8|n}return a},e.atob=function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,i=0,a="";r=t.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r=u.indexOf(r);return a},e}},function(e,t,n){var o="@weex-module/timer";e.exports=function(n,r){return{setTimeout:function(e,t){return n(o).setTimeout(e,t),r.taskCenter.callbackManager.lastCallbackId.toString()},clearTimeout:function(e){n(o).clearTimeout(e)},setInterval:function(e,t){return n(o).setInterval(e,t),r.taskCenter.callbackManager.lastCallbackId.toString()},clearInterval
:function(e){n(o).clearInterval(e)},requestAnimationFrame:function(e){return n(o).setTimeout(e,16)},cancelAnimationFrame:function(e){n(o).clearTimeout(e)}}}},function(e,t,n){var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=n(1),l="@weex-module/webSocket",c=0,f=1,d=3,p=["close","error","message","open"],h=function e(t,n){u(this,e),this.type=t.toString(),Object.assign(this,n)};e.exports=function(i,a){var e=function(e){function o(e,t){u(this,o);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this)),r=i(l);r.WebSocket,r.onope
n,r.onclose,r.onmessage,r.onerror;return a&&(r.webSocket,r.onOpen,r.onClose,r.onMessage,r.onError),r.WebSocket(e,t),n.readyState=c,(n.websocket=r).onmessage(function(e){n.dispatchEvent(new h("message",e))}),r.onopen(function(e){n.readyState=f,n.dispatchEvent(new h("open"))}),r.onclose(function(e){n.readyState=d,n.dispatchEvent(new h("close",{code:e.code,reason:e.reason}))}),r.onerror(function(e){n.dispatchEvent(new h("error",e))}),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(o,s(p)),r(o,[{key:"close",value:function(e,t){2!==this.readyState&&this.readyState!==d&&(this.readyState=2,this.websocket.close(e,t))}},{key:"send",value:function(e){if("string"!=typeof e)throw new Error("Unsupported data type");this.webso
cket.send(e)}}]),o}();return e.CONNECTING=c,e.OPEN=f,e.CLOSING=2,e.CLOSED=d,e}},function(e,t,n){var r=n(0).createUniqueKey,o=r("stop_immediate_propagation_flag"),i=r("canceled_flag"),a=r("passive_listener_flag"),u=r("original_event"),s=Object.freeze({stopPropagation:Object.freeze({value:function(){var e=this[u];"function"==typeof e.stopPropagation&&e.stopPropagation()},writable:!0,configurable:!0}),stopImmediatePropagation:Object.freeze({value:function(){this[o]=!0;var e=this[u];"function"==typeof e.stopImmediatePropagation&&e.stopImmediatePropagation()},writable:!0,configurable:!0}),preventDefault:Object.freeze({value:function(){if(!this[a]){!0===this.cancelable&&(this[i]=!0);var e=this[u];"function"==typeof e.preventDefault&&e.preventDefault()}},writable:!0,configurable:!0}),defaultPrevented:Object.freeze({get:function(){return this[i]},enumerable:!0,configurable:!0})});e.exports.STOP_IMMEDIATE_PROPAGATION_FLAG=o,e.exports.PASSIVE_LISTENER_FLAG=a,e.exports.createEventWrapper=funct
ion(e,t){var n="number"==typeof e.timeStamp?e.timeStamp:Date.now(),r={type:{value:e.type,enumerable:!0},target:{value:t,enumerable:!0},currentTarget:{value:t,enumerable:!0},eventPhase:{value:2,enumerable:!0},bubbles:{value:Boolean(e.bubbles),enumerable:!0},cancelable:{value:Boolean(e.cancelable),enumerable:!0},timeStamp:{value:n,enumerable:!0},isTrusted:{value:!1,enumerable:!0}};return r[o]={value:!1,writable:!0},r[i]={value:!1,writable:!0},r[a]={value:!1,writable:!0},r[u]={value:e},void 0!==e.detail&&(r.detail={value:e.detail,enumerable:!0}),Object.create(Object.create(e,s),r)}},function(e,t,n){var r=n(0),i=r.LISTENERS,a=r.ATTRIBUTE,u=r.newNode;e.exports.defineCustomEventTarget=function(e,t){function n(){e.call(this)}var r={constructor:{value:n,configurable:!0,writable:!0}};return t.forEach(function(t){r["on"+t]={get:function(){return function(e,t){for(var n=e[i][t];null!=n;){if(n.kind===a)return n.listener;n=n.next}return null}(this,t)},set:function(e){!function(e,t,n){"function"!
=typeof n&&"object"!=typeof n&&(n=null);for(var r=null,o=e[i][t];null!=o;)o.kind===a?null==r?e[i][t]=o.next:r.next=o.next:r=o,o=o.next;null!=n&&(null==r?e[i][t]=u(n,a):r.next=u(n,a))}(this,t,e)},configurable:!0,enumerable:!0}}),n.prototype=Object.create(e.prototype,r),n}},function(e,t,n){var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();var o=n(1),i=0,a=1,u=2,s=3,l=4,c=["abort","error","load","loadstart","progress","timeout","loadend","readystatechange"];e.exports=function(n){var e=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto_
_||Object.getPrototypeOf(t)).call(this));return e.UNSENT=i,e.OPENED=a,e.HEADERS_RECEIVED=u,e.LOADING=s,e.DONE=l,e.readyState=i,e.status=0,e.statusText="",e.timeout=0,e._aborted=!1,e._hasError=!1,e._method=null,e._response="",e._url=null,e._timedOut=!1,e._reset(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.apply(undefined,c)),r(t,[{key:"_reset",value:function(){this.readyState=this.UNSENT,this.responseHeaders=void 0,this.status=0,this._hasError=!1,this._headers={},this._response="",this._responseType="",this._sent=!1,this._lowerCaseResponseHeaders={},this._timedOut=!1}},{key:"getAllResponseHeaders",value:function(){if(!this.responseHeaders)return null;var t=this.responseHeaders||{};return Object.keys(t).ma
p(function(e){return e+": "+t[e]}).join("\r\n")}},{key:"getResponseHeader",value:function(e){var t=this._lowerCaseResponseHeaders[e.toLowerCase()];return void 0!==t?t:null}},{key:"setRequestHeader",value:function(e,t){if(this.readyState!==this.OPENED)throw new Error("Request has not been opened");this._headers[e.toLowerCase()]=String(t)}},{key:"open",value:function(e,t,n){if(this.readyState!==this.UNSENT)throw new Error("Cannot open, already sending");if(void 0!==n&&!n)throw new Error("Synchronous http requests are not supported");if(!t)throw new Error("Cannot load an empty url");this._method=e.toUpperCase(),this._url=t,this._aborted=!1,this.setReadyState(this.OPENED)}},{key:"send",value:function(e){var t=this;if(this.readyState!==this.OPENED)throw new Error("Request has not been opened");if(this._sent)throw new Error("Request has already been sent");this._sent=!0,(0,n("@weex-module/stream").fetch)({method:this._method,url:this._url,headers:this._headers,body:e,type:"text"},function
(e){try{"string"==typeof e&&(e=JSON.parse(e)),t.status=e.status,t.statusText=e.statusText,t.setResponseHeaders(e.headers),e.ok?t._response=e.data:(""!==t._responseType&&"text"!==t._responseType||(t._response=e.data),t._hasError=!0)}catch(e){}t.setReadyState(t.DONE)},function(e){t.status=e.status,t.statusText=e.statusText,t.setResponseHeaders(e.headers),t.setReadyState(e.readyState)})}},{key:"abort",value:function(){this._aborted=!0,this.readyState===this.UNSENT||this.readyState===this.OPENED&&!this._sent||this.readyState===this.DONE||(this._reset(),this.setReadyState(this.DONE)),this._reset()}},{key:"setResponseHeaders",value:function(e){this.responseHeaders=e||null;var n=e||{};this._lowerCaseResponseHeaders=Object.keys(n).reduce(function(e,t){return e[t.toLowerCase()]=n[t],e},{})}},{key:"setReadyState",value:function(e){this.readyState=e,this.dispatchEvent({type:"readystatechange"}),e===this.DONE&&(this._aborted?this.dispatchEvent({type:"abort"}):this._hasError?this._timedOut?this.
dispatchEvent({type:"timeout"}):this.dispatchEvent({type:"error"}):this.dispatchEvent({type:"load"}),this.dispatchEvent({type:"loadend"}))}},{key:"responseType",get:function(){return this._responseType},set:function(e){if(this._sent)throw new Error("Failed to set the 'responseType' property on 'XMLHttpRequest': The response type cannot be set after the request has been sent.");this._responseType=e}},{key:"responseText",get:function(){if(""!==this._responseType&&"text"!==this._responseType)throw new Error("The 'responseText' property is only available if 'responseType' is set to '' or 'text', but it is '"+this._responseType+"'.");return this.readyState<s?"":this._response}},{key:"response",get:function(){var e=this.responseType;return""===e||"text"===e?this.readyState<s||this._hasError?"":this._response:this.readyState!==l?null:void 0}}]),t}();return e.UNSENT=i,e.OPENED=a,e.HEADERS_RECEIVED=u,e.LOADING=s,e.DONE=l,e}},function(e,t,n){e.exports=function(a,n){function r(e){return"string
"!=typeof e&&(e=String(e)),e.toLowerCase()}function o(e){return"string"!=typeof e&&(e=String(e)),e}function i(t){this.originHeaders=t,this.map={},t instanceof i?t.forEach(function(e,t){this.append(t,e)},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function e(){return this.bodyUsed=!1,this._initBody=function(e,t){if("string"==typeof(this._bodyInit=e))this._bodyText=e;else{if(e)throw new Error("unsupported BodyInit type");this._bodyText=""}},this.text=function(){var e=function(e){if(e.bodyUsed)return n.reject(new TypeError("Already read"));e.bodyUsed=!0}(this);return e||n.resolve(this._bodyText)},this.json=function(){return this.text().then(JSON.parse)},this}i.prototype.append=function(e,t){e=r(e),t=o(t);var n=this.map[e];this.map[e]=n?n+","+t:t},i.prototype.delete=function(e){delete this.map[r(e)]},i.prototype.get=function(e){return e=r(e),this.has(e)?this.map[e]:null},i.prototype.has=function(e){return this.map.hasOwnProperty(r(e))},i.prototy
pe.set=function(e,t){this.map[r(e)]=[o(t)]},i.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)};var u=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function s(e,t){var n,r,o=(t=t||{}).body;if(s.prototype.isPrototypeOf(e)){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new i(e.headers)),this.method=e.method,this.mode=e.mode,o||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=e;if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new i(t.headers)),this.method=(n=t.method||this.method||"GET",r=n.toUpperCase(),-1<u.indexOf(r)?r:n),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o,t)}function l(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=200<=thi
s.status&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new i(t.headers),this.url=t.url||"",this._initBody(e,t)}s.prototype.clone=function(){return new s(this)},e.call(s.prototype),e.call(l.prototype),l.prototype.clone=function(){return new l(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},l.error=function(){var e=new l(null,{status:0,statusText:""});return e.type="error",e};var c=[301,302,303,307,308];l.redirect=function(e,t){if(-1===c.indexOf(t))throw new RangeError("Invalid status code");return new l(null,{status:t,headers:{location:e}})};return{fetch:function(t,i){return new n(function(n,r){var o,e={url:(o=s.prototype.isPrototypeOf(t)&&!i?t:new s(t,i)).url,method:o.method,headers:o.headers&&o.headers.originHeaders};void 0!==o._bodyInit&&(e.body=o._bodyInit),e.type=i&&i.dataType?i.dataType:"text",(0,a("@weex-module/stream").fetch)(e,function(e){try{"string"==typeof e&&(e=JSON.parse(e));var
t=new l("string"==typeof e.data?e.data:JSON.stringify(e.data),{status:e.status,statusText:e.statusText,headers:e.headers,url:o.url});n(t)}catch(e){r(e)}},function(e){})})},Headers:i,Request:s,Response:l}}},function(e,t,n){var r="@weex-module/location";e.exports=function(t,e){return e.assign=function(e){t("@weex-module/navigator").push({url:e,animated:"true"},function(e){})},e.replace=function(e){t(r).replace(e)},e.reload=function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0];t(r).reload(e)},e}},function(e,t,n){var r,o=n(2),a=(r=o)&&r.__esModule?r:{default:r};var u="visible",i="hidden",s="visibilitychange";function l(t){t.body.addEvent("viewappear",function(e){t.visibilityState=u,e.type=s,t.dispatchEvent(e)}),t.body.addEvent("viewdisappear",function(e){t.visibilityState=i,e.type=s,t.dispatchEvent(e)})}e.exports=function(t,r){var o=new a.default,n=!1;try{r.addEventListener=function(e,t){e===s&&(r.body?l(r):n=!0),o.on(e,t)},r.removeEventListener=function(e,t){var n;e
===s&&(n=r).body&&(n.body.removeEvent("viewappear"),n.body.removeEvent("viewdisappear")),o.off(e,t)},r.dispatchEvent=function(e){o.emit(e.type,e)},r.fonts={add:function(e){t("@weex-module/dom").addRule("fontFace",{fontFamily:e.family,src:e.source})}},r.visibilityState=u;var i=r.createBody;Object.defineProperty(r,"createBody",{value:function(){var e=i.apply(r,arguments);return n&&l(r),e}})}catch(e){console.log(e)}return r}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default={satisfies:function(e,t){if((void 0===e?"undefined":s(e))+(void 0===t?"undefined":s(t))!="stringstring")return!1;if("*"==t)return!0;for(var n=t.match(/(\W+)?([\d|.]+)/),r=e.split("."),o=n[2].split("."),i=Math.max(r.length,o.length),a=0,u=0;u<i;u++){if(r[u]&&!o[u]&&0<parseInt(r[u])||pars
eInt(r[u])>parseInt(o[u])){a=1;break}if(o[u]&&!r[u]&&0<parseInt(o[u])||parseInt(r[u])<parseInt(o[u])){a=-1;break}}switch(n[1]){case"<":if(-1===a)return!0;break;case"<=":if(1!==a)return!0;break;case">":if(1===a)return!0;break;case">=":if(-1!==a)return!0;break;default:if(0===a)return!0}return!1}},e.exports=t.default},function(e,t,n){var r,o=n(14),h=(r=o)&&r.__esModule?r:{default:r};function v(e){if("*"==e)return e;for(var t=(e="string"==typeof e?e:"").split("."),n=0,r=[];n<3;){var o="string"==typeof t[n]&&t[n]?t[n]:"0";r.push(o),n++}return r.join(".")}function y(e,t,n){var r={isDowngrade:!0,errorType:1,code:1e3},o=e.toLowerCase();return 0<=o.indexOf("osversion")?r.code=1001:0<=o.indexOf("appversion")?r.code=1002:0<=o.indexOf("weexversion")?r.code=1003:0<=o.indexOf("devicemodel")&&(r.code=1004),r.errorMessage="Downgrade["+e+"] :: deviceInfo "+t+" matched criteria "+n,r}e.exports=function(r){return function(e){var t=r("@weex-module/instanceWrap"),n=function(e){var t={isDowngrade:!1},n=W
XEnvironment,r=e[(n.platform||"unknow").toLowerCase()]||{};for(var o in n){var i=o,a=i.toLowerCase(),u=n[o],s=0<=a.indexOf("version"),l=0<=a.indexOf("osversion"),c=0<=a.indexOf("devicemodel"),f=r[o];if(l&&"p"==u.toLowerCase()&&(u="9.0.0"),f&&s){var d=v(f),p=v(u);if(h.default.satisfies(p,d)){t=y(i,u,f);break}}else if(c&&0<=(Array.isArray(f)?f:[f]).indexOf(u)){t=y(i,u,f);break}}return t}(e);return!!n.isDowngrade&&(t.error(n.errorType,n.code,n.errorMessage),!0)}}},function(e,t,n){var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l="@weex-module/",c={};e.exports=function(r,a,u){var s="windmill"===a.config.container;return console.log("[Rax] create require function, container: "+a.config.container),function e(i){var t=r[i];if(1<i.split(l).length){var n=function(){var e,o=i.split(l)[1];if(s&&(c=u.$getAvailableModules()),s&&"stream"==
o&&(o="network"),s&&c[e=o]&&c[e].length){console.log("[Rax] require windmill module: "+o);for(var t={},n=function(e){var r=c[o][e];t[r]=function(e,t,n){console.log("$call: "+o+"."+r),u.$call(o+"."+r,e,t,n)}},r=0;r<c[o].length;r++)n(r);return"network"==o&&(t.fetch=function(e,t,n){console.log("$call: network.fetch || stream.fetch"),u.$call(o+".request",e,t,n)}),{v:t}}if(console.log("[Rax] require weex module "+o),a.isRegisteredModule(o))return{v:a.requireModule(o)};throw new Error('Requiring unknown weex module "'+i+'"')}();if("object"===(void 0===n?"undefined":o(n)))return n.v}if(t&&t.isInitialized)return t.module.exports;if(!t)throw new Error('Requiring unknown module "'+i+'"');if(t.hasError)throw new Error('Requiring module "'+i+'" which threw an exception');try{t.isInitialized=!0,t.factory(e,t.module.exports,t.module)}catch(e){throw t.hasError=!0,t.isInitialized=!1,e}return t.module.exports}}},function(e,t,n){e.exports=function(r){return function(e,t,n){t instanceof Function&&(n=t
,t=[]),r[e]={factory:n,deps:t,module:{exports:{}},isInitialized:!1,hasError:!1}}}},function(e,t){e.exports=function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=10)}([function(e,t,n){var r,o,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=Object.defineProperties,u=Object.defineProperty,s=Object.create(null);function l(e){if(!(t=e)||!("symbol"===
(void 0===t?"undefined":i(t))||t.constructor&&"Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))throw new TypeError(e+" is not a symbol");var t;return e}var c,f=(c=Object.create(null),function(e){for(var t=0;c[e+(t||"")];)++t;return c[e+=t||""]=!0,"@@"+e});o=function(e){if(this instanceof o)throw new TypeError("Symbol is not a constructor");return r(e)},e.exports=r=function e(t){var n;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return n=Object.create(o.prototype),t=void 0===t?"":String(t),a(n,{__description__:{value:t},__name__:{value:f(t)}})},a(r,{for:{value:function(e){return s[e]?s[e]:s[e]=r(String(e))}},keyFor:{value:function(e){var t;for(t in l(e),s)if(s[t]===e)return t}},hasInstance:{value:r("hasInstance")},isConcatSpreadable:{value:r("isConcatSpreadable")},iterator:{value:r("iterator")},match:{value:r("match")},replace:{value:r("replace")},search:{value:r("search")},species:{value:r("species")},split:{value:r("split")},toPrimi
tive:{value:r("toPrimitive")},toStringTag:{value:r("toStringTag")},unscopables:{value:r("unscopables")}}),a(o.prototype,{constructor:{value:r},toString:{value:function(){return this.__name__}}}),a(r.prototype,{toString:{value:function(){return"Symbol ("+l(this).__description__+")"}},valueOf:{value:function(){return l(this)}}}),u(r.prototype,r.toPrimitive,{value:function(){var e=l(this);return"symbol"===(void 0===e?"undefined":i(e))?e:e.toString()}}),u(r.prototype,r.toStringTag,{value:"Symbol"}),u(o.prototype,r.toStringTag,{value:r.prototype[r.toStringTag]}),u(o.prototype,r.toPrimitive,{value:r.prototype[r.toPrimitive]})},function(e,t,n){var r,o=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),i=n(0),u=(r=i)&&r.__esModule?r:{default:r};var a=/[!'\(\)~]|%20|%00/g,s=/\+/g,l={"!":"%21","'":"%27",
"(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},c=function(e){return l[e]},f="__URLSearchParams__";function d(e){return encodeURIComponent(e).replace(a,c)}function p(e){return decodeURIComponent(e.replace(s," "))}var h=function(){function a(e){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),this[f]=Object.create(null),e){"?"===e.charAt(0)&&(e=e.slice(1));for(var t,n,r=(e||"").split("&"),o=0,i=r.length;o<i;o++)-1<(t=(n=r[o]).indexOf("="))?this.append(p(n.slice(0,t)),p(n.slice(t+1))):n.length&&this.append(p(n),"")}}return o(a,[{key:"append",value:function(e,t){var n=this[f];e in n?n[e].push(""+t):n[e]=[""+t]}},{key:"delete",value:function(e){delete this[f][e]}},{key:"get",value:function(e){var t=this[f];return e in t?t[e][0]:null}},{key:"getAll",value:function(e){var t=this[f];return e in t?t[e].slice(0):[]}},{key:"has",value:function(e){return e in this[f]}},{key:"set",value:function(e,t){this[f][e]=[""+t]}},{key:"forEach",v
alue:function(n,r){var e=this[f];Object.getOwnPropertyNames(e).forEach(function(t){e[t].forEach(function(e){n.call(r,e,t,this)},this)},this)}},{key:"keys",value:function(){var n=[];this.forEach(function(e,t){n.push(t)});var e={next:function(){var e=n.shift();return{done:void 0===e,value:e}}};return e[u.default.iterator]=function(){return e},e}},{key:"values",value:function(){var t=[];this.forEach(function(e){t.push(e)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return e[u.default.iterator]=function(){return e},e}},{key:"entries",value:function(){var n=[];this.forEach(function(e,t){n.push([t,e])});var e={next:function(){var e=n.shift();return{done:void 0===e,value:e}}};return e[u.default.iterator]=function(){return e},e}},{key:"toString",value:function(){var e,t,n,r,o=this[f],i=[];for(t in o)for(n=d(t),e=0,r=o[t];e<r.length;e++)i.push(n+"="+d(r[e]));return i.join("&")}}]),a}();h.prototype[u.default.iterator]=h.prototype.entries,e.exports=h},function(e,t
,n){var a=/^(?:(only|not)?\s*([_a-z][_a-z0-9-]*)|(\([^\)]+\)))(?:\s*and\s*(.*))?$/i,u=/^\(\s*([_a-z-][_a-z0-9-]*)\s*(?:\:\s*([^\)]+))?\s*\)$/,s=/^(?:(min|max)-)?(.+)/;function r(e,i){return(t=e,t.split(",").map(function(r){var e=(r=r.trim()).match(a);if(!e)throw new SyntaxError('Invalid CSS media query: "'+r+'"');var t=e[1],n=e[2],o=((e[3]||"")+(e[4]||"")).trim(),i={};if(i.inverse=!!t&&"not"===t.toLowerCase(),i.type=n?n.toLowerCase():"all",!o)return i.expressions=[],i;if(!(o=o.match(/\([^\)]+\)/g)))throw new SyntaxError('Invalid CSS media query: "'+r+'"');return i.expressions=o.map(function(e){var t=e.match(u);if(!t)throw new SyntaxError('Invalid CSS media query: "'+r+'"');var n=t[1].toLowerCase().match(s);return{modifier:n[1],feature:n[2],value:t[2]}}),i})).some(function(e){var t=e.inverse,n="all"===e.type||i.type===e.type;if(n&&t||!n&&!t)return!1;var r=e.expressions.every(function(e){var t=e.feature,n=e.modifier,r=e.value,o=i[t];if(!o)return!1;switch(t){case"width":case"height":r=
parseFloat(r),o=parseFloat(o)}switch(n){case"min":return r<=o;case"max":return o<=r;default:return o===r}});return r&&!t||!r&&t});var t}e.exports=function(e){var t={matches:!1,media:e};return t.matches=""===e||r(e,{type:"screen",width:window.screen.width,height:window.screen.height}),t}},function(e,t,n){var r=n(1),w=Object.create(null);w.ftp=21,w.file=0,w.gopher=70,w.http=80,w.https=443,w.ws=80,w.wss=443;var x=Object.create(null);function E(e){return void 0!==w[e]}function C(){i.call(this),this._isInvalid=!0}function O(e){return""==e&&C.call(this),e.toLowerCase()}function S(e){var t=e.charCodeAt(0);return 32<t&&t<127&&-1==[34,35,60,62,63,96].indexOf(t)?e:encodeURIComponent(e)}x["%2e"]=".",x[".%2e"]="..",x["%2e."]="..",x["%2e%2e"]="..";var k=void 0,j=/[a-zA-Z]/,P=/[a-zA-Z0-9\+\-\.]/;function o(e,t,n){var r=this;function o(e){d.push(e)}var i,a,u=t||"scheme start",s=0,l="",c=!1,f=!1,d=[];e:for(;(e[s-1]!=k||0==s)&&!this._isInvalid;){var p=e[s];switch(u){case"scheme start":if(!p||!j.test
(p)){if(t){o("Invalid scheme.");break e}l="",u="no scheme";continue}l+=p.toLowerCase(),u="scheme";break;case"scheme":if(p&&P.test(p))l+=p.toLowerCase();else{if(":"!=p){if(t){if(k==p)break e;o("Code point not allowed in scheme: "+p);break e}l="",s=0,u="no scheme";continue}if(r._scheme=l,l="",t)break e;E(r._scheme)&&(r._isRelative=!0),u="file"==r._scheme?"relative":r._isRelative&&n&&n._scheme==r._scheme?"relative or authority":r._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==p?u="query":"#"==p?(r._fragment="#",u="fragment"):k!=p&&"\t"!=p&&"\n"!=p&&"\r"!=p&&(r._schemeData+=S(p));break;case"no scheme":if(n&&E(n._scheme)){u="relative";continue}o("Missing scheme."),C.call(r);break;case"relative or authority":if("/"!=p||"/"!=e[s+1]){o("Expected /, got: "+p),u="relative";continue}u="authority ignore slashes";break;case"relative":if(r._isRelative=!0,"file"!=r._scheme&&(r._scheme=n._scheme),k==p){r._host=n._host,r._port=n._port,r._path=n._path.slice(),r._query=
n._query,r._username=n._username,r._password=n._password;break e}if("/"==p||"\\"==p)"\\"==p&&o("\\ is an invalid code point."),u="relative slash";else if("?"==p)r._host=n._host,r._port=n._port,r._path=n._path.slice(),r._query="?",r._username=n._username,r._password=n._password,u="query";else{if("#"!=p){var h=e[s+1],v=e[s+2];("file"!=r._scheme||!j.test(p)||":"!=h&&"|"!=h||k!=v&&"/"!=v&&"\\"!=v&&"?"!=v&&"#"!=v)&&(r._host=n._host,r._port=n._port,r._username=n._username,r._password=n._password,r._path=n._path.slice(),r._path.pop()),u="relative path";continue}r._host=n._host,r._port=n._port,r._path=n._path.slice(),r._query=n._query,r._fragment="#",r._username=n._username,r._password=n._password,u="fragment"}break;case"relative slash":if("/"!=p&&"\\"!=p){"file"!=r._scheme&&(r._host=n._host,r._port=n._port,r._username=n._username,r._password=n._password),u="relative path";continue}"\\"==p&&o("\\ is an invalid code point."),u="file"==r._scheme?"file host":"authority ignore slashes";break;ca
se"authority first slash":if("/"!=p){o("Expected '/', got: "+p),u="authority ignore slashes";continue}u="authority second slash";break;case"authority second slash":if(u="authority ignore slashes","/"!=p){o("Expected '/', got: "+p);continue}break;case"authority ignore slashes":if("/"!=p&&"\\"!=p){u="authority";continue}o("Expected authority, got: "+p);break;case"authority":if("@"==p){c&&(o("@ already seen."),l+="%40"),c=!0;for(var y=0;y<l.length;y++){var m=l[y];if("\t"!=m&&"\n"!=m&&"\r"!=m)if(":"!=m||null!==r._password){var _=S(m);null!==r._password?r._password+=_:r._username+=_}else r._password="";else o("Invalid whitespace in authority.")}l=""}else{if(k==p||"/"==p||"\\"==p||"?"==p||"#"==p){s-=l.length,l="",u="host";continue}l+=p}break;case"file host":if(k==p||"/"==p||"\\"==p||"?"==p||"#"==p){2!=l.length||!j.test(l[0])||":"!=l[1]&&"|"!=l[1]?(0==l.length||(r._host=O.call(r,l),l=""),u="relative path start"):u="relative path";continue}"\t"==p||"\n"==p||"\r"==p?o("Invalid whitespace in
file host."):l+=p;break;case"host":case"hostname":if(":"!=p||f){if(k==p||"/"==p||"\\"==p||"?"==p||"#"==p){if(r._host=O.call(r,l),l="",u="relative path start",t)break e;continue}"\t"!=p&&"\n"!=p&&"\r"!=p?("["==p?f=!0:"]"==p&&(f=!1),l+=p):o("Invalid code point in host/hostname: "+p)}else if(r._host=O.call(r,l),l="",u="port","hostname"==t)break e;break;case"port":if(/[0-9]/.test(p))l+=p;else{if(k==p||"/"==p||"\\"==p||"?"==p||"#"==p||t){if(""!=l){var b=parseInt(l,10);b!=w[r._scheme]&&(r._port=b+""),l=""}if(t)break e;u="relative path start";continue}"\t"==p||"\n"==p||"\r"==p?o("Invalid code point in port: "+p):C.call(r)}break;case"relative path start":if("\\"==p&&o("'\\' not allowed in path."),u="relative path","/"!=p&&"\\"!=p)continue;break;case"relative path":var g;if(k!=p&&"/"!=p&&"\\"!=p&&(t||"?"!=p&&"#"!=p))"\t"!=p&&"\n"!=p&&"\r"!=p&&(l+=S(p));else"\\"==p&&o("\\ not allowed in relative path."),(g=x[l.toLowerCase()])&&(l=g),".."==l?(r._path.pop(),"/"!=p&&"\\"!=p&&r._path.push("")):".
"==l&&"/"!=p&&"\\"!=p?r._path.push(""):"."!=l&&("file"==r._scheme&&0==r._path.length&&2==l.length&&j.test(l[0])&&"|"==l[1]&&(l=l[0]+":"),r._path.push(l)),l="","?"==p?(r._query="?",u="query"):"#"==p&&(r._fragment="#",u="fragment");break;case"query":t||"#"!=p?k!=p&&"\t"!=p&&"\n"!=p&&"\r"!=p&&(r._query+=(void 0,32<(a=(i=p).charCodeAt(0))&&a<127&&-1==[34,35,60,62,96].indexOf(a)?i:encodeURIComponent(i))):(r._fragment="#",u="fragment");break;case"fragment":k!=p&&"\t"!=p&&"\n"!=p&&"\r"!=p&&(r._fragment+=p)}s++}}function i(){this._scheme="",this._schemeData="",this._username="",this._password=null,this._host="",this._port="",this._path=[],this._query="",this._fragment="",this._isInvalid=!1,this._isRelative=!1}function a(e,t){void 0===t||t instanceof a||(t=new a(String(t))),this._url=e,i.call(this);var n=e.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");o.call(this,n,null,t)}a.prototype={toString:function(){return this.href},get href(){if(this._isInvalid)return this._url;var e="";return""==this._
username&&null==this._password||(e=this._username+(null!=this._password?":"+this._password:"")+"@"),this.protocol+(this._isRelative?"//"+e+this.host:"")+this.pathname+this._query+this._fragment},set href(e){i.call(this),o.call(this,e)},get protocol(){return this._scheme+":"},set protocol(e){this._isInvalid||o.call(this,e+":","scheme start")},get host(){return this._isInvalid?"":this._port?this._host+":"+this._port:this._host},set host(e){!this._isInvalid&&this._isRelative&&o.call(this,e,"host")},get hostname(){return this._host},set hostname(e){!this._isInvalid&&this._isRelative&&o.call(this,e,"hostname")},get port(){return this._port},set port(e){!this._isInvalid&&this._isRelative&&o.call(this,e,"port")},get pathname(){return this._isInvalid?"":this._isRelative?"/"+this._path.join("/"):this._schemeData},set pathname(e){!this._isInvalid&&this._isRelative&&(this._path=[],o.call(this,e,"relative path start"))},get search(){return this._isInvalid||!this._query||"?"==this._query?"":this
._query},set search(e){!this._isInvalid&&this._isRelative&&((this._query="?")==e[0]&&(e=e.slice(1)),o.call(this,e,"query"))},get searchParams(){return new r(this.search)},get hash(){return this._isInvalid||!this._fragment||"#"==this._fragment?"":this._fragment},set hash(e){this._isInvalid||((this._fragment="#")==e[0]&&(e=e.slice(1)),o.call(this,e,"fragment"))},get origin(){var e;if(this._isInvalid||!this._scheme)return"";switch(this._scheme){case"data":case"file":case"javascript":case"mailto":return"null"}return(e=this.host)?this._scheme+"://"+e:""}},e.exports=a},function(e,t,n){e.exports=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.family=t,this.source=n}},function(e,t,n){var r=Date.now()%1e9,o=function(e){this.name="__st"+(1e9*Math.random()>>>0)+r+++"__",e&&e.forEach&&e.forEach(this.add,this)};o.prototype.add=function(e){var t=this.name;return e[t]||Object.defineProperty(e,t,{value:!0,writable:!0}),this}
,o.prototype.delete=function(e){return!!e[this.name]&&(e[this.name]=void 0,!0)},o.prototype.has=function(e){return!!e[this.name]},e.exports=o},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=Object.defineProperty,i=Date.now()%1e9,a=function(e){this.name="__st"+(1e9*Math.random()>>>0)+i+++"__",e&&e.forEach&&e.forEach(function(e){this.set.apply(this,e)},this)};a.prototype.set=function(e,t){if("object"!==(void 0===e?"undefined":r(e))&&"function"!=typeof e)throw new TypeError("Invalid value used as weak map key");var n=e[this.name];return n&&n[0]===e?n[1]=t:o(e,this.name,{value:[e,t],writable:!0}),this},a.prototype.get=function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},a.prototype.delete=function(e){var t=e[this.name];return!(!t||t[0]!==e)&&(t[0]=t[1]=void 0,!0)},a.prototype.has=function(e){var t=e[
this.name];return!!t&&t[0]===e},e.exports=a},function(e,t,n){var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};var a=(0,i.default)("undef"),u=(0,i.default)("NaN"),s=!0;function l(e){return e!=e?u:e}function c(e){return e===u?NaN:e}function f(e,t){var n=0;return{next:function(){for(;e._values[n]===a;)n++;return n===e._values.length?{value:void 0,done:!0}:{value:t.call(e,n++),done:!1}}}}function d(e){for(var t=0,n=0,r=e._values.length;n<r;n++)e._values[n]!==a&&t++;return t}var p=function(e){this._values=[],e&&"function"==typeof e.forEach&&e.forEach(function(e){this.add.call(this,e)},this),s||(this.size=d(this))};try{Object.defineProperty(p.prototype,"size",{get:function(){return d(this)}})}catch(e){s=!1}p.prototype.add=function(e){return e=l(e),-1===this._values.indexOf(e)&&(this._values.push(e),s||(this.size=d(this))),this},p.prototype.has=function(e){return-1!==this._values.indexOf(l(e))},p.prototype.delete=function(e){var t=this._values.indexOf(l(e));return-1!==t&&(this._values[t]=a
,s||(this.size=d(this)),!0)},p.prototype.clear=function(){this._values=[],s||(this.size=0)},p.prototype.values=p.prototype.keys=function(){return f(this,function(e){return c(this._values[e])})},p.prototype.entries=p.prototype[i.default.iterator]=function(){return f(this,function(e){return[c(this._values[e]),c(this._values[e])]})},p.prototype.forEach=function(e,t){t=t||global;for(var n=this.entries(),r=n.next();!1===r.done;)e.call(t,r.value[1],r.value[0],this),r=n.next()},p.prototype[i.default.species]=p,Object.defineProperty(p,"constructor",{value:p});try{Object.defineProperty(p,"length",{value:0})}catch(e){}e.exports=p},function(e,t,n){var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};var a=(0,i.default)("undef"),u=(0,i.default)("NaN"),s=!0;function l(e){return e!=e?u:e}function c(e){return e===u?NaN:e}function f(e,t){var n=0,r=!1;return{next:function(){if(n===e._keys.length&&(r=!0),r)return{value:void 0,done:!0};for(;e._keys[n]===a;)n++;return{value:t.call(e,n++),done:!1}}}}functio
n d(e){for(var t=0,n=0,r=e._keys.length;n<r;n++)e._keys[n]!==a&&t++;return t}function p(e,t){return"function"==typeof e[t]}var h=function e(t){this._keys=[],this._values=[],t&&p(t,"forEach")&&(t instanceof e||p(t,"clear")&&p(t,"delete")&&p(t,"entries")&&p(t,"forEach")&&p(t,"get")&&p(t,"has")&&p(t,"keys")&&p(t,"set")&&p(t,"values")?t.forEach(function(e,t){this.set.apply(this,[t,e])},this):t.forEach(function(e){this.set.apply(this,e)},this)),s||(this.size=d(this))};h.prototype={};try{Object.defineProperty(h.prototype,"size",{get:function(){return d(this)}})}catch(e){s=!1}h.prototype.get=function(e){var t=this._keys.indexOf(l(e));return-1!==t?this._values[t]:void 0},h.prototype.set=function(e,t){var n=this._keys.indexOf(l(e));return-1!==n?this._values[n]=t:(this._keys.push(l(e)),this._values.push(t),s||(this.size=d(this))),this},h.prototype.has=function(e){return-1!==this._keys.indexOf(l(e))},h.prototype.delete=function(e){var t=this._keys.indexOf(l(e));return-1!==t&&(this._keys[t]=a,t
his._values[t]=a,s||(this.size=d(this)),!0)},h.prototype.clear=function(){this._keys=this._values=[],s||(this.size=0)},h.prototype.values=function(){return f(this,function(e){return this._values[e]})},h.prototype.keys=function(){return f(this,function(e){return c(this._keys[e])})},h.prototype.entries=h.prototype[i.default.iterator]=function(){return f(this,function(e){return[c(this._keys[e]),this._values[e]]})},h.prototype.forEach=function(e,t){t=t||global;for(var n=this.entries(),r=n.next();!1===r.done;)e.call(t,r.value[1],r.value[0],this),r=n.next()},h.prototype[i.default.species]=h,Object.defineProperty(h,"constructor",{value:h});try{Object.defineProperty(h,"length",{value:0})}catch(e){}e.exports=h},function(e,t,n){var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function r(){}var o="function"==typeof setImmediate&&setImmed
iate||function(e){"function"==typeof setTimeout?setTimeout(e,0):e()},i=function(e){"undefined"!=typeof console&&console&&console.log("Possible Unhandled Promise Rejection:",e)};function a(e){if("object"!==s(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("Promise resolver is not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],d(e,this)}function u(n,r){for(;3===n._state;)n=n._value;0!==n._state?(n._handled=!0,o(function(){var e=1===n._state?r.onFulfilled:r.onRejected;if(null!==e){var t;try{t=e(n._value)}catch(e){return void c(r.promise,e)}l(r.promise,t)}else(1===n._state?l:c)(r.promise,n._value)})):n._deferreds.push(r)}function l(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"===(void 0===e?"undefined":s(e))||"function"==typeof e)){var n=e.then;if(e instanceof a)return t._state=3,t._value=e,void f(t);if("function"==typeof n)return void d((
r=n,o=e,function(){r.apply(o,arguments)}),t)}t._state=1,t._value=e,f(t)}catch(e){c(t,e)}var r,o}function c(e,t){e._state=2,e._value=t,f(e)}function f(e){2===e._state&&0===e._deferreds.length&&o(function(){e._handled||i(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)u(e,e._deferreds[t]);e._deferreds=null}function d(e,t){var n=!1;try{e(function(e){n||(n=!0,l(t,e))},function(e){n||(n=!0,c(t,e))})}catch(e){if(n)return;n=!0,c(t,e)}}a.prototype.catch=function(e){return this.then(null,e)},a.prototype.then=function(e,t){var n=new this.constructor(r);return u(this,new function(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}(e,t,n)),n},a.all=function(e){var u=Array.prototype.slice.call(e);return new a(function(r,o){if(0===u.length)return r([]);var i=u.length;function a(t,e){try{if(e&&("object"===(void 0===e?"undefined":s(e))||"function"==typeof e)){var n=e.then;if("function"==typeof n)return void n.call(e,function(e){a(t,e
)},o)}u[t]=e,0==--i&&r(u)}catch(e){o(e)}}for(var e=0;e<u.length;e++)a(e,u[e])})},a.resolve=function(t){return t&&"object"===(void 0===t?"undefined":s(t))&&t.constructor===a?t:new a(function(e){e(t)})},a.reject=function(n){return new a(function(e,t){t(n)})},a.race=function(o){return new a(function(e,t){for(var n=0,r=o.length;n<r;n++)o[n].then(e,t)})},a._setImmediateFn=function(e){o=e},a._setUnhandledRejectionFn=function(e){i=e},e.exports=a},function(e,t,n){e.exports={get Promise(){return n(9)},get Symbol(){return n(0)},get Map(){return n(8)},get Set(){return n(7)},get WeakMap(){return n(6)},get WeakSet(){return n(5)},get FontFace(){return n(4)},get URL(){return n(3)},get URLSearchParams(){return n(1)},get matchMedia(){return n(2)}}}])}},function(e,t,n){e.exports=function(e,t,n){var h=this.__weex_document__,v=this.document;n.exports=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports
}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=48)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={component:null,mountID:1,sandbox:!0,rootComponents:{},rootInstances:{},hook:null,driver:null,monitor:null},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var d=r(n(0)),p=n(7),h=r(n(6)),v=r(n(3)),y=r(n(5)),m=r(n(46));function r(e){return e&&e.__esModule?e:{default:e}}var o="$$instance";t.default={set:function(e,t){e[o]||(e[o]=t).rootID&&(d.default.rootInstances[t.rootID]=t,d.default.rootComponents[t.rootID]=t._internal)},get:function(e){return e[o]},remove:function(e){var t=this.get(e);t&&(e[o]=nul
l,t.rootID&&(delete d.default.rootComponents[t.rootID],delete d.default.rootInstances[t.rootID]))},mount:function(e,t,n){d.default.driver.beforeRender&&d.default.driver.beforeRender(),null==t&&(t=d.default.driver.createBody());var r=void 0;if(n){var o=n._internal;r=o._processChildContext(o._context)}var i=this.get(t);if(i&&i.isRootComponent){var a=i.getRenderedComponent(),u=a._currentElement;if((0,y.default)(u,e)){var s=a._context;return a.updateComponent(u,e,s,r||s),i}d.default.hook.Reconciler.unmountComponent(i),(0,h.default)(t)}var l=(0,p.createElement)(m.default,null,e),c=r||{},f=(0,v.default)(l).mountComponent(t,null,c);return this.set(t,f),d.default.driver.afterRender&&d.default.driver.afterRender(f),d.default.hook.Mount._renderNewRootComponent(f._internal),f}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&
(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();var r=function(){function r(e,t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r),this.props=e,this.context=t,this.refs={},this.updater=n}return o(r,[{key:"isComponentClass",value:function(){}},{key:"setState",value:function(e,t){this.updater.setState(this,e,t)}},{key:"forceUpdate",value:function(e){this.updater.forceUpdate(this,e)}}]),r}();t.default=r,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default=function(e){var t=void 0;if(null==e||!1===e||!0===e)t=new a.default.EmptyComponent;else if(Array.isArray(e))t=new a.defaul
t.FragmentComponent(e);else if("object"===(void 0===e?"undefined":o(e))&&e.type)t="string"==typeof e.type?new a.default.NativeComponent(e):new a.default.CompositeComponent(e);else{if("string"!=typeof e&&"number"!=typeof e)throw new Error("Invalid element type: "+e+". (keys: "+Object.keys(e)+")");t=new a.default.TextComponent(e)}return t._mountIndex=0,t},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=r(n(44)),a=r(n(1));r(n(0));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,n,r){"function"==typeof n&&(r=n,n=null),n=n||{},(0,i.default)(n);var o=a.default.mount(e,t,n.parent).getPublicInstance();return r&&r.call(o),o},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=
function(e,t){var n=null===e,r=null===t;if(n||r)return n===r;var o=void 0===e?"undefined":a(e),i=void 0===t?"undefined":a(t);return"string"===o||"number"===o?"string"===i||"number"===i:"object"===o&&"object"===i&&e.type===t.type&&e.key===t.key},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=i.default.get(e);if(!t)return!1;return i.default.remove(e),t._internal.unmountComponent(),!0};var r,o=n(1),i=(r=o)&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.createElement=o,t.createFactory=function(e){var t=o.bind(null,e);return t.type=e,t},t.cloneElement=function(e,t){var n=arguments;if(!_(e))throw Error("cloneElement: not a valid element."+y());var r=O
bject.assign({},e.props),o=e.key,i=e.ref,a=e._owner;if(t){void 0!==t.ref&&(i=t.ref,a=p.default.component),void 0!==t.key&&(o=String(t.key));var u=void 0;e.type&&e.type.defaultProps&&(u=e.type.defaultProps);var s=void 0;for(s in t)t.hasOwnProperty(s)&&!v.hasOwnProperty(s)&&(void 0===t[s]&&void 0!==u?r[s]=u[s]:r[s]=t[s])}for(var l=arguments.length,c=Array(2<l?l-2:0),f=2;f<l;f++)c[f-2]=n[f];c.length&&(r.children=(0,h.default)(c));return new m(e.type,o,i,r,a)},t.isValidElement=_;var p=r(n(0)),h=r(n(16)),i=n(15);function r(e){return e&&e.__esModule?e:{default:e}}var v={key:!0,ref:!0};function y(){if(p.default.component){var e=p.default.component.getName();if(e)return" Check the render method of `"+e+"`."}return""}function m(e,t,n,r,o){return i.isWeex&&(r=function(e,t){if("text"===e){var n=t.children,r=t.value;null==r&&null!=n&&(Array.isArray(n)?n=n.map(function(e){return"number"==typeof e||"string"==typeof e?e:""}).join(""):"number"!=typeof n&&"string"!=typeof n&&(n=""),t.value=String(n)
),t.children=null}return t}(e,r)),{type:e,key:t,ref:n,props:r,_owner:o}}function o(e,t,n){var r=arguments;if(null==e)throw Error("createElement: type should not be null or undefined."+y());var o={},i=void 0,a=null,u=null;if(null!=t)for(i in u=void 0===t.ref?null:t.ref,a=void 0===t.key?null:String(t.key),t)v[i]||(o[i]=t[i]);var s=arguments.length-2;if(0<s)if(1!==s||Array.isArray(n)){var l=n;if(1<s){l=new Array(s);for(var c=0;c<s;c++)l[c]=r[c+2]}o.children=(0,h.default)(l)}else o.children=n;if(e&&e.defaultProps){var f=e.defaultProps;for(i in f)void 0===o[i]&&(o[i]=f[i])}return o.style&&(Array.isArray(o.style)||"object"===d(o.style))&&(o.style=function e(t){if(t){if(Array.isArray(t)){for(var n={},r=0;r<t.length;++r){var o=e(t[r]);if(o)for(var i in o)n[i]=o[i]}return n}return t}}(o.style)),new m(e,a,u,o,p.default.component)}function _(e){return"object"===(void 0===e?"undefined":d(e))&&null!==e&&e.type&&e.props}t.default=m},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0})
;var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};t.default=function(e){if(null==e)return null;if(e.ownerDocument||e.nodeType)return e;if(e._nativeNode)return e._nativeNode;if("string"==typeof e)return i.default.driver.getElementById(e);if("function"!=typeof e.render)throw new Error("findDOMNode: find by neither component nor DOM node.");var t=e._internal;if(t){for(;!t._nativeNode;)if(null==(t=t._renderedComponent))return null;return t._nativeNode}throw new Error("findDOMNode: find on an unmounted component.")},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.transformPropsAttrsToStyle=function(t,e){return t.style=t.style||{},e.forEach(function(e){t[e]&&!t.style[e]&&(t.style[e]=t[e],delete t[e])}),t},t.renamePropsAttr=function(e,t,n){e[t]&&!e[n]&&(e[n]=e[t],delete e[t]);return e},t.default=e.exports,t.default=e.exports},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){ret
urn e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)};t.isRem=c,t.calcRem=f,t.getRem=function(){return l[s]},t.setRem=function(e){l[s]=e},t.isUnitNumber=d,t.convertUnit=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:l[s];{if(t&&d(e,t))return e*n+"px";if(c(e))return f(e,n)}return e};var i={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,z
oom:!0,lines:!0},a="rem",u=/[-+]?\d*\.?\d+rem/g,s="__global_rem_unit__",l="object"===("undefined"==typeof window?"undefined":o(window))?window:"object"===(void 0===l?"undefined":o(l))?l:{};function c(e){return"string"==typeof e&&-1!==e.indexOf(a)}function f(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:l[s];return e.replace(u,function(e){return parseFloat(e)*t+"px"})}function d(e,t){return"number"==typeof e&&!i[t]}null==l[s]&&(l[s]=1),t.default=e.exports,t.default=e.exports},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var r=t&&t.key,o="string"==typeof r,i="."+n.toString(36);if(o){var a="$"+r,u=void 0===e[a];return u||console.warn('Encountered two children with the same key "'+r+'".'),u?a:i}return i},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={update:function(e,t,n){var r=null!=e&&e.ref,o=null!=t&&t.ref;r!==o&&(null!=r&&this.detach(e._owner,r,n),null!=o&&this.attach(t
._owner,o,n))},attach:function(e,t,n){if(!e)throw new Error("You might be adding a ref to a component that was not created inside a component's `render` method, or you have multiple copies of Rax loaded.");var r=n.getPublicInstance();"function"==typeof t?t(r):e._instance.refs[t]=r},detach:function(e,t,n){if("function"==typeof t)t(null);else{var r=n.getPublicInstance();e._instance.refs[t]===r&&delete e._instance.refs[t]}}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),_=i(n(0)),l=i(n(12)),b=i(n(3)),g=i(n(5)),w=i(n(11)),o=i(n(1));function i(e){return e&&e.__esModule?e:{default:e}}var c="style",f="children",d=/^on[A-Z]/,a=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(
"Cannot call a class as a function")}(this,t),this._currentElement=e}return r(t,[{key:"mountComponent",value:function(e,t,n,r){this._parent=e,this._parentInstance=t,this._context=n,this._mountID=_.default.mountID++;var o=this._currentElement.props,i={_internal:this,type:this._currentElement.type,props:o},a=o.append;this._instance=i,this._prevStyleCopy=Object.assign({},o.style);var u=this.getNativeNode();"tree"!==a&&(r?r(u,e):_.default.driver.appendChild(u,e)),this._currentElement&&this._currentElement.ref&&l.default.attach(this._currentElement._owner,this._currentElement.ref,this);var s=o.children;return null!=s&&this.mountChildren(s,n),"tree"===a&&(r?r(u,e):_.default.driver.appendChild(u,e)),_.default.hook.Reconciler.mountComponent(this),i}},{key:"mountChildren",value:function(e,o){var i=this;Array.isArray(e)||(e=[e]);var a=this._renderedChildren={};return e.map(function(e,t){var n=(0,b.default)(e),r=(0,w.default)(a,e,t);return(a[r]=n)._mountIndex=t,n.mountComponent(i.getNativeNode
(),i._instance,o,null)})}},{key:"unmountChildren",value:function(e){var t=this._renderedChildren;if(t){for(var n in t){t[n].unmountComponent(e)}this._renderedChildren=null}}},{key:"unmountComponent",value:function(e){if(this._nativeNode){var t=this._currentElement.ref;t&&l.default.detach(this._currentElement._owner,t,this),o.default.remove(this._nativeNode),e||_.default.driver.removeChild(this._nativeNode,this._parent),_.default.driver.removeAllEventListeners(this._nativeNode)}this.unmountChildren(e),_.default.hook.Reconciler.unmountComponent(this),this._currentElement=null,this._nativeNode=null,this._parent=null,this._parentInstance=null,this._context=null,this._instance=null,this._prevStyleCopy=null}},{key:"updateComponent",value:function(e,t,n,r){this._currentElement=t,l.default.update(e,t,this);var o=e.props,i=t.props;this.updateProperties(o,i),this.updateChildren(i.children,r),_.default.hook.Reconciler.receiveComponent(this)}},{key:"updateProperties",value:function(e,t){var n=t
his,r=void 0,o=void 0,i=void 0;for(r in e)if(r!==f&&!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(r===c){var a=n._prevStyleCopy;for(o in a)a.hasOwnProperty(o)&&((i=i||{})[o]="");n._prevStyleCopy=null}else d.test(r)?"function"==typeof e[r]&&_.default.driver.removeEventListener(n.getNativeNode(),r.slice(2).toLowerCase(),e[r]):_.default.driver.removeAttribute(n.getNativeNode(),r,e[r]);for(r in t){var u=t[r],s=r===c?n._prevStyleCopy:null!=e?e[r]:void 0;if(r!==f&&t.hasOwnProperty(r)&&u!==s&&(null!=u||null!=s))if(r===c)if(u?u=n._prevStyleCopy=Object.assign({},u):n._prevStyleCopy=null,null!=s){for(o in s)!s.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||((i=i||{})[o]="");for(o in u)u.hasOwnProperty(o)&&s[o]!==u[o]&&((i=i||{})[o]=u[o])}else i=u;else if(d.test(r)){var l=r.slice(2).toLowerCase();"function"==typeof s&&_.default.driver.removeEventListener(n.getNativeNode(),l,s,t),"function"==typeof u&&_.default.driver.addEventListener(n.getNativeNode(),l,u,t)}else null!=u?_.default.drive
r.setAttribute(n.getNativeNode(),r,u):_.default.driver.removeAttribute(n.getNativeNode(),r,e[r])}i&&_.default.driver.setStyles(this.getNativeNode(),i)}},{key:"updateChildren",value:function(e,u){var s=this,l=this._renderedChildren;if(null!=e||null!=l){var p={},h={};if(null!=e){Array.isArray(e)||(e=[e]);for(var t=0,n=e.length;t<n;t++){var r=e[t],o=(0,w.default)(p,r,t),i=l&&l[o],a=i&&i._currentElement;if(null!=i&&(0,g.default)(a,r))i.updateComponent(a,r,u,u),p[o]=i;else{if(i){var c=i.getNativeNode();i.unmountComponent(!0),h[o]=c}p[o]=(0,b.default)(r)}}}var v=void 0,f=void 0;if(null!=l)for(var d in l)if(l.hasOwnProperty(d)){var y=l[d],m=!p[d];v?m&&y.unmountComponent():(v=y,f=m)}null!=p&&function(){var i=0,a=0,f=null,d=[],e=function(c){if(!p.hasOwnProperty(c))return"continue";var e=p[c],t=l&&l[c];if(t===e){var n=t.getNativeNode();if(Array.isArray(n)||(n=[n]),t._mountIndex<i){Array.isArray(f)&&(f=f[f.length-1]);for(var r=n.length-1;0<=r;r--)_.default.driver.insertAfter(n[r],f)}d=d.concat
(n),i=Math.max(t._mountIndex,i),t._mountIndex=a}else{null!=t&&(i=Math.max(t._mountIndex,i));var o=s.getNativeNode();Array.isArray(o)&&(o=s._parent),e.mountComponent(o,s._instance,u,function(e,t){var n=h[c];if(Array.isArray(e)||(e=[e]),n){Array.isArray(n)||(n=[n]);for(var r=void 0,o=0;o<e.length;o++){var i=e[o];n[o]?_.default.driver.replaceChild(i,n[o]):_.default.driver.insertAfter(i,r),r=i}if(e.length<n.length)for(var a=e.length;a<n.length;a++)_.default.driver.removeChild(n[a])}else{Array.isArray(f)&&(f=f[f.length-1]);var u=void 0;v&&!f&&(u=v.getNativeNode(),Array.isArray(u)&&(u=u[0]));for(var s=e.length-1;0<=s;s--){var l=e[s];f?_.default.driver.insertAfter(l,f):u?_.default.driver.insertBefore(l,u):_.default.driver.appendChild(l,t)}}d=d.concat(e)}),e._mountIndex=a}a++,f=e.getNativeNode()};for(var t in p)e(t);if(Array.isArray(s._nativeNode)){s._nativeNode.splice(0,s._nativeNode.length);for(var n=0;n<d.length;n++)s._nativeNode.push(d[n])}}(),f&&v.unmountComponent(),this._renderedChild
ren=p}}},{key:"getNativeNode",value:function(){return null==this._nativeNode&&(this._nativeNode=_.default.driver.createElement(this._instance),o.default.set(this._nativeNode,this._instance)),this._nativeNode}},{key:"getPublicInstance",value:function(){return this.getNativeNode()}},{key:"getName",value:function(){return this._currentElement.type}}]),t}();t.default=a,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(e,t,n,r,o,i){return a}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}();t.default={array:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,element:a,node:a,any:a,arrayOf:a,instanceOf:a,objectOf:a,oneOf:a,oneOfType:a,shape:a},e.exports=t.default},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(t,"__es
Module",{value:!0});var o="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)};t.isWeb="object"===("undefined"==typeof navigator?"undefined":o(navigator))&&("Mozilla"===navigator.appCodeName||"Gecko"===navigator.product),t.isNode=void 0!==process&&!(!process.versions||!process.versions.node),t.isWeex="function"==typeof callNative||"object"===("undefined"==typeof WXEnvironment?"undefined":o(WXEnvironment))&&"Web"!==WXEnvironment.platform,t.isReactNative="undefined"!=typeof __fbBatchedBridgeConfig;t.default=e.exports,t.default=e.exports},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(null==e)return e;var t=[];(function e(t,n){if(Array.isArray(t))for(var r=0,o=t.length;r<o;r++)e(t[r],n);else n.push(t)})(e,t),1===t.length&&(t=t[0]);return t},e.exports=t.default},f
unction(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(1)),o=i(n(0));function i(e){return e&&e.__esModule?e:{default:e}}t.default={ComponentTree:{getClosestInstanceFromNode:function(e){return r.default.get(e)},getNodeFromInstance:function(e){for(;e._renderedComponent;)e=e._renderedComponent;return e?e._nativeNode:null}},Mount:{_instancesByReactRootID:o.default.rootComponents,_renderNewRootComponent:function(){}},Reconciler:{mountComponent:function(){},receiveComponent:function(){},unmountComponent:function(){}},monitor:null},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();t.default=function(s){var l="__context_"+u+++"__",e=function(e){function u(){var e,t,n,r=arguments;p(this,u);for
(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=r[a];return n=f(this,(e=u.__proto__||Object.getPrototypeOf(u)).call.apply(e,[this].concat(i))),(t=n).emitter=new h(s),f(n,t)}return d(u,e),r(u,[{key:"getChildContext",value:function(){return c({},l,this.emitter)}},{key:"componentWillMount",value:function(){void 0!==this.props.value&&(this.emitter.value=this.props.value)}},{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&this.emitter.emit(e.value)}},{key:"render",value:function(){return this.props.children}}]),u}(o.default);e.childContextTypes=c({},l,i.default.object);var t=function(e){function u(){var e,t,n,r=arguments;p(this,u);for(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=r[a];return n=f(this,(e=u.__proto__||Object.getPrototypeOf(u)).call.apply(e,[this].concat(i))),(t=n).state={value:n.context[l]?n.context[l].value:s},n.onUpdate=function(e){return n.setState({value:e})},f(n,t)}return d(u,e),r(u,[{key:"componentDidMount",value:function(){this
.context[l]&&this.context[l].on(this.onUpdate)}},{key:"componentWillUnmount",value:function(){this.context[l]&&this.context[l].off(this.onUpdate)}},{key:"render",value:function(){var e=this.props.children,t=Array.isArray(e)?e[0]:e;if("function"==typeof t)return t(this.state.value)}}]),u}(o.default);return t.contextTypes=c({},l,i.default.object),{Provider:e,Consumer:t}};var o=a(n(2)),i=a(n(14));function a(e){return e&&e.__esModule?e:{default:e}}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setProto
typeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var h=function(){function t(e){p(this,t),this.handlers=[],this.value=e}return r(t,[{key:"on",value:function(e){this.handlers.push(e)}},{key:"off",value:function(t){this.handlers=this.handlers.filter(function(e){return e!==t})}},{key:"emit",value:function(t){this.value=t,this.handlers.forEach(function(e){return e(t)})}}]),t}(),u=0;e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(16),i=(r=o)&&r.__esModule?r:{default:r};function a(e){return e=(0,i.default)(e,[]),Array.isArray(e)?e:[].concat(e)}var u={map:function(e,n,r){return null==e?null:(e=a(e)).map(function(e,t){return n.call(r,e,t)})},forEach:function(e,n,r){if(null==e)return null;(e=a(e)).forEach(function(e,t){return n.call(r,e,t)})},count:function(e){return null==e?0:a(e).length},only:function(e){if(1!==(e=u.toArray(e)).length)throw new Error
("Children.only: expected to receive a single element child.");return e[0]},toArray:function(e){return null==e?[]:a(e).filter(function(e){return null!==e})}};t.default=u,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default="0.6.3",e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){e=(0,o.default)(e),r.default.driver.setNativeProps(e,t)};var r=i(n(0)),o=i(n(8));function i(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(1),i=(r=o)&&r.__esModule?r:{default:r};t.default=function(e){return null==e?null:i.default.get(e)},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e
,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();t.default=function(e,t){return(0,u.createElement)(l,{element:e,container:t})};var o=s(n(2)),i=s(n(4)),a=s(n(6)),u=n(7);function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function n(e,t){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,o.default),r(n,[{key:"componentDidMount",value:function(){this.renderPortal()}},{key:"comp
onentDidUpdate",value:function(e){e.container!==this.props.container&&(0,a.default)(e.container),this.renderPortal()}},{key:"componentWillUnmount",value:function(){(0,a.default)(this.props.container)}},{key:"renderPortal",value:function(){(0,i.default)(this.props.element,this.props.container,{parent:this})}},{key:"render",value:function(){return null}}]),n}();e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(4),u=(r=o)&&r.__esModule?r:{default:r};t.default=function(e,t,n,r){if(t.childNodes)for(var o=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t.childNodes)),i=0;i<o.length;i++){var a=o[i];t.removeChild(a)}return(0,u.default)(e,t,n,r)},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r={stretch:"stretch","flex-start":"start","flex-end":"end",center:"center"},o={row:"horizontal",column:"vertical"},i={"flex-start":"st
art","flex-end":"end",center:"center","space-between":"justify","space-around":"justify"},a={display:!0,flex:!0,alignItems:!0,alignSelf:!0,flexDirection:!0,justifyContent:!0,flexWrap:!0},u={isFlexProp:function(e){return a[e]},display:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.display="flex"===e?["-webkit-box","-webkit-flex","flex"]:e,t},flex:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitBoxFlex=e,t.webkitFlex=e,t.flex=e,t},flexWrap:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitFlexWrap=e,t.flexWrap=e,t},alignItems:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitBoxAlign=r[e],t.webkitAlignItems=e,t.alignItems=e,t},alignSelf:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitAlignSelf=e,t.alignSelf=e,t},flexDirection:function(e){var t=1<arguments.length&&void 0!==arguments[
1]?arguments[1]:{};return t.webkitBoxOrient=o[e],t.webkitFlexDirection=e,t.flexDirection=e,t},justifyContent:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitBoxPack=i[e],t.webkitJustifyContent=e,t.justifyContent=e,t}};t.default=u,e.exports=t.default},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var o,i="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)},s=n(10),a=n(25),l=(o=a)&&o.__esModule?o:{default:o};var u="dangerouslySetInnerHTML",c="className",f=/^on[A-Z]/,d="object"===(void 0===v?"undefined":i(v))&&"textContent"in v?"textContent
":"nodeValue",p={deviceWidth:"undefined"!=typeof DEVICE_WIDTH&&DEVICE_WIDTH||null,viewportWidth:"undefined"!=typeof VIEWPORT_WIDTH&&VIEWPORT_WIDTH||750,eventRegistry:{},getDeviceWidth:function(){return this.deviceWidth||v.documentElement.clientWidth},setDeviceWidth:function(e){this.deviceWidth=e},getViewportWidth:function(){return this.viewportWidth},setViewportWidth:function(e){this.viewportWidth=e},getElementById:function(e){return v.getElementById(e)},createBody:function(){return v.body},createComment:function(e){return v.createComment(e)},createEmpty:function(){return this.createComment(" empty ")},createText:function(e){return v.createTextNode(e)},updateText:function(e,t){e[d]=t},createElement:function(e){var t=v.createElement(e.type),n=e.props;return this.setNativeProps(t,n),t},appendChild:function(e,t){return t.appendChild(e)},removeChild:function(e,t){(t=t||e.parentNode)&&t.removeChild(e)},replaceChild:function(e,t,n){(n=n||t.parentNode).replaceChild(e,t)},insertAfter:functi
on(e,t,n){n=n||t.parentNode;var r=t.nextSibling;r?n.insertBefore(e,r):n.appendChild(e)},insertBefore:function(e,t,n){(n=n||t.parentNode).insertBefore(e,t)},addEventListener:function(e,t,n,r){return this.eventRegistry[t]?this.eventRegistry[t]("addEvent",e,t,n,r):e.addEventListener(t,n)},removeEventListener:function(e,t,n,r){return this.eventRegistry[t]?this.eventRegistry[t]("removeEvent",e,t,n,r):e.removeEventListener(t,n)},removeAllEventListeners:function(e){},removeAttribute:function(e,t){if(t===u)return e.innerHTML=null;if(t===c&&(t="class"),t in e)try{e[t]=null}catch(e){}e.removeAttribute(t)},setAttribute:function(t,n,r){if(n===u)return t.innerHTML=r.__html;if(n===c&&(n="class"),n in t)try{t[n]=r}catch(e){t.setAttribute(n,r)}else t.setAttribute(n,r)},setStyles:function(e,t){var n={};for(var r in t){var o=t[r];l.default.isFlexProp(r)?l.default[r](o,n):n[r]=(0,s.convertUnit)(o,r)}for(var i in n){var a=n[i];if(Array.isArray(a))for(var u=0;u<a.length;u++)e.style[i]=a[u];else e.style[
i]=a}},beforeRender:function(){(0,s.setRem)(this.getDeviceWidth()/this.getViewportWidth())},setNativeProps:function(e,t){for(var n in t){var r=t[n];if("children"!==n&&null!=r)if("style"===n)this.setStyles(e,r);else if(f.test(n)){var o=n.slice(2).toLowerCase();this.addEventListener(e,o,r)}else this.setAttribute(e,n,r)}}};t.default=p,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={parse:function(e){return e.type="div",e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=arguments,n=1;n<arguments.length;n++){var r=t[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e};function o(e,t,n){return{fontSize:e*t,marginTop:e*t*n,marginBottom:e*t*n,fontWeight:"bold"}}var i={h1:o(28,2,.67),h2:o(28,1.5,.83),h3:o(28,1.17,1),h4:o(28,1,1.33),h5:o(28,.83,1.67),h6:o(28,.67,2.33)};t.default={parse:function(e){var t=e.type,n=e.props;return e.type=
"text",n.style=r({},i[t]||i.h6,n.style),"string"!=typeof n.children||n.value||(n.value=n.children,n.children=null),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=arguments,n=1;n<arguments.length;n++){var r=t[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e};t.default={parse:function(e){var t=e.props;e.type="text";var n=t.style,r=t.disabled,o=t.children,i=a({textAlign:"center",fontSize:22,paddingTop:4,paddingRight:12,paddingBottom:6,paddingLeft:12,borderWidth:4,borderStyle:"solid",borderColor:"#000000",backgroudColor:"#c0c0c0"},n);return r&&(t.onClick=null,i=a({},i,{color:"#7f7f7f",borderColor:"#7f7f7f"})),"string"==typeof o&&(t.value=o,t.children=null),e}},e.exports=t.default},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symb
ol.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)},a=Object.assign||function(e){for(var t=arguments,n=1;n<arguments.length;n++){var r=t[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},i={fontSize:28,marginTop:28,marginBottom:28},u={u:{textDecoration:"underline"},s:{textDecoration:"line-through"},i:{fontStyle:"italic"},b:{fontWeight:"bold"},del:{textDecoration:"line-through"},em:{fontStyle:"italic"},strong:{fontWeight:"bold"},big:{fontSize:33.6},small:{fontSize:28*.8}};function s(e){var t=e.type,n=e.props,r=n.style,o=n.children;"img"===t&&(t="image"),u[t]&&(r=a({},u[t],r),t="span"),n.style=null,n.children=null;var i={type:t,style:r,attr:n||{}};return o&&("span"===t&&"string"==typeo
f o?i.attr.value=o:i.children=l(o)),i}function l(e){var t=[];Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++){var r=e[n];"string"==typeof r?t.push({type:"span",attr:{value:r}}):"object"===(void 0===r?"undefined":o(r))&&t.push(s(r))}return t}t.default={parse:function(e){var t=e.props,n=t.children;return e.type="richtext",t.style=a({},i,t.style),t.value=l(n),t.children=null,e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={parse:function(e){var t=e.props;return e.type="text","string"!=typeof t.children||t.value||(t.value=t.children,t.children=null),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={parse:function(e){var t=e.props;return"string"!=typeof t.children||t.value||(t.value=t.children,t.children=null),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(9);t.default={parse:function(e){var t=e.props;return e.props=(0,r.transformP
ropsAttrsToStyle)(t,["width","height"]),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(9);t.default={parse:function(e){var t=e.props;return e.type="image",e.props=(0,r.transformPropsAttrsToStyle)(t,["width","height"]),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(34)),o=f(n(33)),i=f(n(32)),a=f(n(31)),u=f(n(30)),s=f(n(29)),l=f(n(28)),c=f(n(27));function f(e){return e&&e.__esModule?e:{default:e}}t.default={span:a.default,p:u.default,img:r.default,button:s.default,video:o.default,textarea:i.default,h1:l.default,h2:l.default,h3:l.default,h4:l.default,h5:l.default,h6:l.default,nav:c.default,article:c.default,section:c.default,footer:c.default,aside:c.default,main:c.default},e.exports=t.default},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbo
l.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var o,i="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)},u=n(10),a=n(35),s=(o=a)&&o.__esModule?o:{default:o};var l=/^on[A-Z]/,c=/^aria-/,f={},d="object"===(void 0===h?"undefined":i(h))?h:"object"===(void 0===d?"undefined":i(d))?d:null,p={deviceWidth:750,viewportWidth:750,getDeviceWidth:function(){return this.deviceWidth},setDeviceWidth:function(e){this.deviceWidth=e},getViewportWidth:function(){return this.viewportWidth},setViewportWidth:function(e){this.viewportWidth=e},getElementById:function(e){return f[e]},createBody:function(){if(d.body)return d.body;var e=d.documentElement,t=d.createBody(p.bodyType,p.bodyProps);return e.appendChild(t),t},createComment:function(e){return d.createComment(e)},createEmpty:function(){r
eturn this.createComment(" empty ")},createText:function(e){return p.createElement({type:"text",props:{value:e}})},updateText:function(e,t){this.setAttribute(e,"value",t)},createElement:function(e){var t=s.default[e.type];t&&(e=t.parse(e));var n=e.props,r={},o=n.style;for(var i in o)r[i]=(0,u.convertUnit)(o[i],i);var a=d.createElement(e.type,{style:r});return this.setNativeProps(a,n,!0),a},appendChild:function(e,t){return t.appendChild(e)},removeChild:function(e,t){t=t||e.parentNode;var n=e.attr&&e.attr.id;return null!=n&&(f[n]=null),t.removeChild(e)},replaceChild:function(e,t,n){n=n||t.parentNode;var r=t.previousSibling,o=t.nextSibling;this.removeChild(t,n),r?this.insertAfter(e,r,n):o?this.insertBefore(e,o,n):this.appendChild(e,n)},insertAfter:function(e,t,n){return(n=n||t.parentNode).insertAfter(e,t)},insertBefore:function(e,t,n){return(n=n||t.parentNode).insertBefore(e,t)},addEventListener:function(e,t,n,r){var o=r[t+"EventParams"];return e.addEvent(t,n,o)},removeEventListener:fu
nction(e,t,n){return e.removeEvent(t,n)},removeAllEventListeners:function(e){},removeAttribute:function(e,t,n){return"id"==t&&(f[n]=null),e.setAttr(t,void 0,!1)},setAttribute:function(e,t,n){return"id"==t&&(f[n]=e),c.test(t)&&(t=t.replace(/\-(\w)/,function(e,t){return t.toUpperCase()})),e.setAttr(t,n,!1)},setStyles:function(e,t){for(var n in t){var r=t[n];r=(0,u.convertUnit)(r,n),e.setStyle(n,r)}},beforeRender:function(){d.open(),(0,u.setRem)(this.getDeviceWidth()/this.getViewportWidth())},afterRender:function(){d.listener&&d.listener.createFinish&&d.listener.createFinish(),d.close()},setNativeProps:function(e,t,n){for(var r in t){var o=t[r];if("children"!==r&&null!=o)if("style"===r){if(n)continue;this.setStyles(e,o)}else if(l.test(r)){var i=r.slice(2).toLowerCase();this.addEventListener(e,i,o,t)}else this.setAttribute(e,r,o)}}};t.default=p,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n+
+){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),c=a(n(0)),o=a(n(13)),i=a(n(1)),s=a(n(3)),l=a(n(11));function a(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default),r(t,[{ke
y:"mountComponent",value:function(e,t,n,r){this._parent=e,this._parentInstance=t,this._context=n,this._mountID=c.default.mountID++;var o={_internal:this};this._instance=o;var i=this.getNativeNode(),a=this._currentElement;if(this.mountChildren(a,n),r)r(i,e);else for(var u=Array.isArray(e),s=0;s<i.length;s++){var l=i[s];u?e.push(l):c.default.driver.appendChild(l,e)}return o}},{key:"mountChildren",value:function(e,o){var i=this,a=this._renderedChildren={},u=this.getNativeNode();return e.map(function(e,t){var n=(0,s.default)(e),r=(0,l.default)(a,e,t);return(a[r]=n)._mountIndex=t,n.mountComponent(i._parent,i._instance,o,function(e){if(Array.isArray(e))for(var t=0;t<e.length;t++)u.push(e[t]);else u.push(e)})})}},{key:"unmountComponent",value:function(e){if(this._nativeNode&&(i.default.remove(this._nativeNode),!e))for(var t=0;t<this._nativeNode.length;t++)c.default.driver.removeChild(this._nativeNode[t]);this.unmountChildren(!0),this._currentElement=null,this._nativeNode=null,this._parent=
null,this._parentInstance=null,this._context=null,this._instance=null}},{key:"updateComponent",value:function(e,t,n,r){this._currentElement=t,this.updateChildren(this._currentElement,r)}},{key:"getNativeNode",value:function(){return null==this._nativeNode&&(this._nativeNode=[]),this._nativeNode}},{key:"getPublicInstance",value:function(){return this.getNativeNode()}},{key:"getName",value:function(){return"fragment"}}]),t}();t.default=u,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=Object.prototype.hasOwnProperty;function u(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}t.default=function(e,t){if(u(e,t))return!0;if("object"!==(void 0===e?"undefined":i(e))||null===e||"object"!==(void 0===t?"undefined":i(t))||null===t)return!1;var n=Object.ke
ys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!a.call(t,n[o])||!u(e[n[o]],t[n[o]]))return!1;return!0},e.exports=t.default},function(e,t,n){function a(e,t){t&&(e._pendingCallbacks||(e._pendingCallbacks=[])).push(t)}Object.defineProperty(t,"__esModule",{value:!0});var r={setState:function(e,t,n){var r,o,i=e._internal;i&&(r=i,(o=t)&&(r._pendingStateQueue||(r._pendingStateQueue=[])).push(o),a(i,n),!i._pendingState&&i._renderedComponent&&this.runUpdate(e))},forceUpdate:function(e,t){var n=e._internal;n&&(n._pendingForceUpdate=!0,a(n,t),n._renderedComponent&&this.runUpdate(e))},runUpdate:function(e){var t=e._internal,n=t._pendingCallbacks;t._pendingCallbacks=null;var r=t._currentElement,o=t._context;(t._pendingStateQueue||t._pendingForceUpdate)&&t.updateComponent(r,r,o,o),this.runCallbacks(n,e)},runCallbacks:function(e,t){if(e)for(var n=0;n<e.length;n++)e[n].call(t)}};t.default=r,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModul
e",{value:!0});var r,o=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),i=n(0);(r=i)&&r.__esModule;var a=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.pureRender=e}return o(t,[{key:"render",value:function(){return this.pureRender(this.props,this.context)}}]),t}();t.default=a,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),v=o(n(40)),y=o(n(39)),m=o(n(0)),_=o(n(12)),b=o(n(3)),i=o(n(5)),g=o(n(38));function o(e){return e&&e.__esMo
dule?e:{default:e}}function w(e,t,n){try{return e()}catch(e){n?n(e):x(t,e)}}function x(e,t){for(var n=void 0;e;){if("function"==typeof e.componentDidCatch){n=e;break}if(!e._internal||!e._internal._parentInstance)break;e=e._internal._parentInstance}if(n)n.componentDidCatch(t);else{if(!m.default.sandbox)throw t;setTimeout(function(){throw t},0)}}var a=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this._currentElement=e}return r(t,[{key:"getName",value:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null}},{key:"mountComponent",value:function(e,t,n,r){this._parent=e,this._parentInstance=t,this._context=n,this._mountID=m.default.mountID++,this._updateCount=0;var o=this._currentElement.type,i=this._currentElement.props,a=o.prototype,u=a&&o.prototype.isComponentClass,s=a&&o.prototype.render,l=this._processContex
t(n),c=void 0,f=void 0;if(u||s)c=new o(i,l,y.default);else{if("function"!=typeof o)throw new Error("Invalid component type: "+o+". (keys: "+Object.keys(o)+")");c=new v.default(o)}c.props=i,c.context=l,c.refs={},c.updater=y.default;var d=((c._internal=this)._instance=c).state;void 0===d&&(c.state=d=null);var p=null,h=function(e){p=e};return c.componentWillMount&&w(function(){c.componentWillMount()},c,h),null==
<TRUNCATED>
[23/50] [abbrv] incubator-weex git commit: [WEEX-440][iOS] Hide
loading when the list are less than screen height. Avoid UI blink when
loading finished.
Posted by cx...@apache.org.
[WEEX-440][iOS] Hide loading when the list are less than screen height. Avoid UI blink when loading finished.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/0eb7683f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0eb7683f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0eb7683f
Branch: refs/heads/release
Commit: 0eb7683f8258691930017f4fe3fb79edeeedf6db
Parents: 8a0f304
Author: Xiaomin <ca...@yahoo.com>
Authored: Thu Jun 7 15:58:20 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Wed Jun 13 16:58:45 2018 +0800
----------------------------------------------------------------------
.../WeexSDK/Sources/Component/WXLoadingComponent.mm | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0eb7683f/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm b/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm
index 388548f..a9f90fa 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm
@@ -78,10 +78,8 @@
- (void)viewDidLoad
{
_initFinished = YES;
-
- if (!_displayState) {
- [_indicator.view setHidden:YES];
- }
+
+ [self setDisplay];
}
- (void)addEvent:(NSString *)eventName
@@ -115,12 +113,20 @@
CGPoint contentOffset = [scrollerProtocol contentOffset];
if (_displayState) {
contentOffset.y = [scrollerProtocol contentSize].height - scroller.calculatedFrame.size.height + self.calculatedFrame.size.height;
+ self.view.hidden = NO;
[_indicator start];
} else {
contentOffset.y = contentOffset.y - self.calculatedFrame.size.height;
[_indicator stop];
+ self.view.hidden = YES;
+ }
+ if (contentOffset.y > 0) {
+ dispatch_async(dispatch_get_main_queue(), ^{
+ [UIView animateWithDuration:0.25 animations:^{
+ [scrollerProtocol setContentOffset:contentOffset animated:NO];
+ } completion:nil];
+ });
}
- [scrollerProtocol setContentOffset:contentOffset animated:YES];
}
- (void)_insertSubcomponent:(WXComponent *)subcomponent atIndex:(NSInteger)index
[38/50] [abbrv] incubator-weex git commit: [WEEX-459][iOS] Fix crash
if template not registered for recycle list on iOS.
Posted by cx...@apache.org.
[WEEX-459][iOS] Fix crash if template not registered for recycle list on iOS.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ece3827d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ece3827d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ece3827d
Branch: refs/heads/release
Commit: ece3827d5fd56f7cd7333dc744425df45e07edd9
Parents: d1d8005
Author: ç¥žæ¼ <qi...@alipay.com>
Authored: Wed Jun 13 20:08:12 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Thu Jun 14 14:56:26 2018 +0800
----------------------------------------------------------------------
.../Component/RecycleList/WXRecycleListComponent.mm | 16 +++++++++++-----
.../RecycleList/WXRecycleListTemplateManager.h | 4 ++++
.../RecycleList/WXRecycleListTemplateManager.m | 16 +++++++++++++++-
3 files changed, 30 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ece3827d/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm
index 551acd9..a55dada 100644
--- a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm
@@ -499,12 +499,18 @@ WX_EXPORT_METHOD(@selector(setListData:))
// 1. get the data relating to the cell
id data = [_dataManager dataAtIndex:indexPath.row];
- // 2. get the template type specified by data
+ // 2. get the template type specified by data, and if template is not found, return an empty view of any template to avoid crash.
NSString * templateType = [self templateType:indexPath];
_templateManager.collectionView = collectionView;
- if (!templateType) {
- WXLogError(@"Each data should have a value for %@ to indicate template type", _templateSwitchKey);
- return nil;
+ if (!templateType || (templateType && ![_templateManager isTemplateRegistered:templateType])) {
+ WXLogError(@"Template %@ not registered for collection view.", templateType);
+ UICollectionViewCell *cellView = [_collectionView dequeueReusableCellWithReuseIdentifier:[_templateManager anyRegisteredTemplate] forIndexPath:indexPath];
+ for (UIView *view in cellView.contentView.subviews) {
+ [view removeFromSuperview];
+ }
+ cellView.wx_component = nil;
+ [cellView setAccessibilityIdentifier:nil];
+ return cellView;
}
// 3. dequeue a cell component by template type
@@ -607,7 +613,7 @@ WX_EXPORT_METHOD(@selector(setListData:))
return templateType;
}
- if (_templateSwitchKey &&data[_templateSwitchKey]){
+ if (_templateSwitchKey && data[_templateSwitchKey]){
templateType = data[_templateSwitchKey];
} else if (data[WXDefaultRecycleTemplateType]){
// read the default type.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ece3827d/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h
index 926c2f1..b956122 100644
--- a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h
+++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h
@@ -32,4 +32,8 @@
- (WXCellSlotComponent *)topTemplate;
+- (BOOL)isTemplateRegistered:(NSString *)aTemplate;
+
+- (NSString *)anyRegisteredTemplate;
+
@end
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ece3827d/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m
index 199d551..2a90eeb 100644
--- a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m
+++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m
@@ -31,12 +31,14 @@
@implementation WXRecycleListTemplateManager
{
+ NSMutableSet<NSString *> *_registeredTemplates;
NSMapTable<NSString *, WXCellSlotComponent *> *_templateTypeMap;
}
- (instancetype)init
{
if (self = [super init]) {
+ _registeredTemplates = [NSMutableSet set];
_templateTypeMap = [NSMapTable strongToWeakObjectsMapTable];
}
@@ -87,7 +89,7 @@
- (void)_registerCellClassForReuseID:(NSString *)templateID
{
WXLogDebug(@"register cell class for template id:%@", templateID);
- //TODO: register class update TemplateId
+ [_registeredTemplates addObject:templateID];
[_collectionView registerClass:[WXReusableCollectionViewCell class] forCellWithReuseIdentifier:templateID];
}
@@ -103,4 +105,16 @@
return cellTemplate;
}
+- (BOOL)isTemplateRegistered:(NSString *)aTemplate
+{
+ WXAssertMainThread();
+ return [_registeredTemplates containsObject:aTemplate];
+}
+
+- (NSString *)anyRegisteredTemplate
+{
+ WXAssertMainThread();
+ return [_registeredTemplates anyObject];
+}
+
@end
[22/50] [abbrv] incubator-weex git commit: [WEEX-457][Android] add
back performance point of maxVDomDeep && interactionTime
Posted by cx...@apache.org.
[WEEX-457][Android] add back performance point of maxVDomDeep && interactionTime
* [Android] rm useless file
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/8a0f304f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/8a0f304f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/8a0f304f
Branch: refs/heads/release
Commit: 8a0f304fca8c539bd75aeb53424d314472d707a6
Parents: 1e71562
Author: zhongcang <qh...@gmail.com>
Authored: Wed Jun 13 16:35:21 2018 +0800
Committer: zhongcang <qh...@gmail.com>
Committed: Wed Jun 13 16:37:38 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/WXSDKInstance.java | 27 ++++++--------------
.../weex/ui/action/GraphicActionAddElement.java | 5 ++++
.../ui/action/GraphicActionMoveElement.java | 5 ++++
.../ui/action/GraphicActionRemoveElement.java | 5 ++++
.../taobao/weex/ui/component/WXComponent.java | 1 +
.../taobao/weex/ui/component/WXVContainer.java | 2 ++
6 files changed, 26 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index fba31d6..d7d8581 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -267,9 +267,6 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
}
}
- private int mMaxDeepLayer;
- private int mMaxVDomDeepLayer;
-
public boolean isTrackComponent() {
return trackComponent;
}
@@ -919,7 +916,6 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
if(componentTypes!=null && componentTypes.contains(WXBasicComponentType.SCROLLER)){
mWXPerformance.useScroller=1;
}
- mWXPerformance.maxDeepViewLayer=getMaxDeepLayer();
mWXPerformance.wxDims = mwxDims;
mWXPerformance.measureTimes = measureTimes;
if (mUserTrackAdapter != null) {
@@ -1186,7 +1182,7 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
}
/**
- * when add/rm element
+ * when add/rm/mv element
*/
public void onElementChange(){
if (isDestroy() || !mEnd ||null == mRenderContainer || mRenderContainer.isPageHasEvent() ||
@@ -1427,6 +1423,7 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
public void onRootCreated(WXComponent root) {
this.mRootComp = root;
+ this.mRootComp.deepInComponentTree=1;
mRenderContainer.addView(root.getHostView());
setSize(mRenderContainer.getWidth(),mRenderContainer.getHeight());
}
@@ -1656,21 +1653,13 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
}
}
- public int getMaxDeepLayer() {
- return mMaxDeepLayer;
- }
-
- public void setMaxDeepLayer(int maxDeepLayer) {
- mMaxDeepLayer = maxDeepLayer;
- }
-
- public int getMaxDomDeep() {
- return mMaxVDomDeepLayer;
- }
-
public void setMaxDomDeep(int maxDomDeep){
- mMaxVDomDeepLayer = maxDomDeep;
- mWXPerformance.maxDeepVDomLayer = maxDomDeep;
+ if (null == mWXPerformance){
+ return;
+ }
+ if (mWXPerformance.maxDeepVDomLayer <= maxDomDeep){
+ mWXPerformance.maxDeepVDomLayer = maxDomDeep;
+ }
}
public void onHttpStart(){
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
index 6bdb0b7..c73e704 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
@@ -120,6 +120,11 @@ public class GraphicActionAddElement extends GraphicActionAbstractAddElement {
child.applyLayoutAndEvent(child);
child.bindData(child);
+ WXSDKInstance instance = WXSDKManager.getInstance().getWXRenderManager().getWXSDKInstance(getPageId());
+ if (null!=instance){
+ instance.onElementChange();
+ // instance.setma
+ }
} catch (Exception e) {
WXLogUtils.e("add component failed.", e);
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionMoveElement.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionMoveElement.java b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionMoveElement.java
index ac6474b..3cec87c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionMoveElement.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionMoveElement.java
@@ -18,6 +18,7 @@
*/
package com.taobao.weex.ui.action;
+import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.WXSDKManager;
import com.taobao.weex.ui.component.WXComponent;
import com.taobao.weex.ui.component.WXVContainer;
@@ -48,5 +49,9 @@ public class GraphicActionMoveElement extends BasicGraphicAction {
if (!component.isVirtualComponent()) {
((WXVContainer) newParent).addSubView(component.getHostView(), mIndex);
}
+ WXSDKInstance instance = WXSDKManager.getInstance().getWXRenderManager().getWXSDKInstance(getPageId());
+ if (null!=instance){
+ instance.onElementChange();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionRemoveElement.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionRemoveElement.java b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionRemoveElement.java
index 36d31dd..2b24eab 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionRemoveElement.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionRemoveElement.java
@@ -18,6 +18,7 @@
*/
package com.taobao.weex.ui.action;
+import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.WXSDKManager;
import com.taobao.weex.ui.component.WXComponent;
import com.taobao.weex.ui.component.WXVContainer;
@@ -52,5 +53,9 @@ public class GraphicActionRemoveElement extends BasicGraphicAction {
clearRegistryForComponent(container.getChild(i));
}
}
+ WXSDKInstance instance = WXSDKManager.getInstance().getWXRenderManager().getWXSDKInstance(getPageId());
+ if (null!=instance){
+ instance.onElementChange();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 26fedbc..cba19d3 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -166,6 +166,7 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
private int mType = TYPE_COMMON;
private boolean mNeedLayoutOnAnimation = false;
private String mLastBoxShadowId;
+ public int deepInComponentTree = 0;
public WXTracing.TraceInfo mTraceInfo = new WXTracing.TraceInfo();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
index 88c9818..ee64b98 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
@@ -264,6 +264,8 @@ public abstract class WXVContainer<T extends ViewGroup> extends WXComponent<T> {
if (child == null || index < -1) {
return;
}
+ child.deepInComponentTree = this.deepInComponentTree+1;
+ getInstance().setMaxDomDeep(child.deepInComponentTree);
int count = mChildren.size();
index = index >= count ? -1 : index;
if (index == -1) {
[06/50] [abbrv] incubator-weex git commit: [WEEX-436] [iOS] fix
history issue : delete rootNode in mainThread (resolve #1241)
Posted by cx...@apache.org.
[WEEX-436] [iOS] fix history issue : delete rootNode in mainThread (resolve #1241)
fix history issue : delete rootNode in mainThread
in some case ,WXComponentManager dealloc execute in mainThread
but all node operation(new / add / delete/other) should be in ComponentThread
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/af072a68
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/af072a68
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/af072a68
Branch: refs/heads/release
Commit: af072a68619a3c4b3be83d8e03448aef6f0074d4
Parents: 69679b0
Author: 门柳 <ha...@alibaba-inc.com>
Authored: Thu Jun 7 18:57:20 2018 +0800
Committer: 门柳 <ha...@alibaba-inc.com>
Committed: Thu Jun 7 18:57:35 2018 +0800
----------------------------------------------------------------------
----------------------------------------------------------------------
[02/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.11
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/185d3932/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 587d6b6..0b90fb8 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "weex",
"version": "0.12.2",
"subversion": {
- "framework": "0.26.10",
+ "framework": "0.26.11",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
@@ -86,7 +86,7 @@
"semver": "^5.1.0",
"weex-picker": "^0.1.0",
"weex-rax-framework": "0.4.20",
- "weex-vue-framework": "2.5.11-weex.1"
+ "weex-vue-framework": "2.5.13-weex.5"
},
"devDependencies": {
"@weex-project/weex-picker": "^0.2.4",
[43/50] [abbrv] incubator-weex git commit: [WEEX-342][android]
ava.util.ConcurrentModificationException at
java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at
com.taobao.weex.ui.component.WXComponent.applyEvents(WXComponent.java:290)
Posted by cx...@apache.org.
[WEEX-342][android] ava.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at com.taobao.weex.ui.component.WXComponent.applyEvents(WXComponent.java:290)
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2bb99f13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2bb99f13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2bb99f13
Branch: refs/heads/release
Commit: 2bb99f13be3cfc1ed4fdd4f7de24777dab9aac6e
Parents: 97967ae
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Thu Jun 14 20:41:35 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Jun 14 21:20:20 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/ui/component/WXComponent.java | 12 ++++++++++--
.../java/com/taobao/weex/ui/view/gesture/WXGesture.java | 6 +++++-
2 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2bb99f13/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 9572986..072d8f4 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -290,7 +290,11 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
if (getEvents() == null || getEvents().isEmpty())
return;
WXEvent event = getEvents();
- for(int i=0; i<event.size(); i++){
+ int size = event.size();
+ for (int i=0; i<size; i++) {
+ if(i >= event.size()){
+ break;
+ }
String type = event.get(i);
addEvent(type);
}
@@ -1447,7 +1451,11 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
return;
}
WXEvent events = getEvents();
- for (int i=0; i<events.size(); i++) {
+ int size = events.size();
+ for (int i=0; i<size; i++) {
+ if(i >= events.size()){
+ break;
+ }
String event = events.get(i);
if (event == null) {
continue;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2bb99f13/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
index be114a9..ee48c6a 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
@@ -140,7 +140,11 @@ public class WXGesture extends GestureDetector.SimpleOnGestureListener implement
if(event == null){
return false;
}
- for(int i=0; i<event.size(); i++){
+ int size = event.size();
+ for (int i=0; i<size; i++) {
+ if(i >= event.size()){
+ break;
+ }
String type = event.get(i);
if(isStopPropagation(type)){
return true;
[20/50] [abbrv] incubator-weex git commit: [WEEX-42][Core] Fix
RenderAction memory leak.
Posted by cx...@apache.org.
[WEEX-42][Core] Fix RenderAction memory leak.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e1c9dd58
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e1c9dd58
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e1c9dd58
Branch: refs/heads/release
Commit: e1c9dd58f010d75aff9e9fec03cc97d709ff2e2a
Parents: 2504c92
Author: miomin <mi...@foxmail.com>
Authored: Mon Jun 11 15:46:11 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Tue Jun 12 12:44:03 2018 +0800
----------------------------------------------------------------------
weex_core/Source/core/render/page/render_page.cpp | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e1c9dd58/weex_core/Source/core/render/page/render_page.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.cpp b/weex_core/Source/core/render/page/render_page.cpp
index a3f078f..24d7dd9 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -406,6 +406,8 @@ namespace WeexCore {
void RenderPage::PostRenderAction(RenderAction *action) {
if (action != nullptr) {
action->ExecuteAction();
+ delete action;
+ action = nullptr;
}
}
[07/50] [abbrv] incubator-weex git commit: * [Test] Update test.
Posted by cx...@apache.org.
* [Test] Update test.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/65688e7c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/65688e7c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/65688e7c
Branch: refs/heads/release
Commit: 65688e7c774f373ece9554884ede5a5353d746c8
Parents: af072a6
Author: YorkShen <sh...@gmail.com>
Authored: Fri Jun 8 14:09:18 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Fri Jun 8 14:09:18 2018 +0800
----------------------------------------------------------------------
.../java/com/alibaba/weex/benchmark/BenchmarkTest.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/65688e7c/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
----------------------------------------------------------------------
diff --git a/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java b/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
index 27a90f2..7c5abaa 100644
--- a/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
+++ b/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
@@ -34,11 +34,13 @@ import android.support.test.uiautomator.Direction;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject2;
import android.support.test.uiautomator.Until;
+import android.support.test.espresso.contrib.RecyclerViewActions;
import android.text.TextUtils;
import android.util.Log;
import com.alibaba.weex.BenchmarkActivity;
import com.taobao.weex.WXEnvironment;
import com.taobao.weex.common.WXPerformance;
+import com.taobao.weex.ui.view.listview.WXRecyclerView;
import com.taobao.weex.utils.WXLogUtils;
import java.io.BufferedReader;
import java.io.IOException;
@@ -119,7 +121,7 @@ public class BenchmarkTest {
}
@Repeat(TIMES)
- @Test
+ //@Test
@SdkSuppress(minSdkVersion = 23)
public void testFlingFPS() {
UiObject2 uiObject2 = loadPageForFPS();
@@ -133,7 +135,7 @@ public class BenchmarkTest {
}
@Repeat(TIMES)
- @Test
+ //@Test
@SdkSuppress(minSdkVersion = 23)
public void testScrollFPS() {
UiObject2 uiObject2 = loadPageForFPS();
[17/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] C++ style
format : variable declaration
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/page/render_page.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.cpp b/weex_core/Source/core/render/page/render_page.cpp
index 82e14d7..a3f078f 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -42,19 +42,17 @@
namespace WeexCore {
- static bool splitScreenRendering = false;
-
- RenderPage::RenderPage(std::string pageId) {
+ RenderPage::RenderPage(std::string page_id) {
#if RENDER_LOG
LOGD("[RenderPage] new RenderPage >>>> pageId: %s", pageId.c_str());
#endif
- mPageId = pageId;
- mWXCorePerformance = new RenderPerformance();
- mViewPortWidth = kDefaultViewPortWidth;
- renderPageSize.first = WXCoreEnvironment::getInstance()->DeviceWidth();
- renderPageSize.second = NAN;
+ this->page_id = page_id;
+ this->render_performance = new RenderPerformance();
+ this->viewport_width = kDefaultViewPortWidth;
+ this->render_page_size.first = WXCoreEnvironment::getInstance()->DeviceWidth();
+ this->render_page_size.second = NAN;
}
RenderPage::~RenderPage() {
@@ -63,21 +61,21 @@ namespace WeexCore {
LOGD("[RenderPage] Delete RenderPage >>>> pageId: %s", mPageId.c_str());
#endif
- mRenderObjectRegisterMap.clear();
+ this->render_object_registers.clear();
- if (render_root != nullptr) {
- delete render_root;
- render_root = nullptr;
+ if (this->render_root != nullptr) {
+ delete this->render_root;
+ this->render_root = nullptr;
}
- if (mWXCorePerformance != nullptr) {
- delete mWXCorePerformance;
- mWXCorePerformance = nullptr;
+ if (this->render_performance != nullptr) {
+ delete this->render_performance;
+ this->render_performance = nullptr;
}
}
void RenderPage::CalculateLayout() {
- if (render_root == nullptr || !render_root->ViewInit())
+ if (this->render_root == nullptr || !this->render_root->ViewInit())
return;
#if RENDER_LOG
@@ -85,38 +83,11 @@ namespace WeexCore {
#endif
long long startTime = getCurrentTime();
- render_root->LayoutBefore();
- render_root->calculateLayout(renderPageSize);
- render_root->LayoutAfter();
+ this->render_root->LayoutBefore();
+ this->render_root->calculateLayout(this->render_page_size);
+ this->render_root->LayoutAfter();
CssLayoutTime(getCurrentTime() - startTime);
-
- if (splitScreenRendering) {
- if (mAlreadyCreateFinish) {
- TraverseTree(render_root, 0);
- } else {
- float deviceHeight = WXCoreEnvironment::getInstance()->DeviceHeight();
- float deviceWidth = WXCoreEnvironment::getInstance()->DeviceWidth();
- float radio = deviceWidth / (mViewPortWidth * kLayoutFirstScreenOverflowRadio);
-
- switch (render_root->getFlexDirection()) {
- case kFlexDirectionColumn:
- case kFlexDirectionColumnReverse:
- if (render_root->getLargestMainSize() * radio > deviceHeight / 3) {
- TraverseTree(render_root, 0);
- }
- break;
- case kFlexDirectionRow:
- case kFlexDirectionRowReverse:
- default:
- if (render_root->getLargestMainSize() * radio > deviceWidth / 3) {
- TraverseTree(render_root, 0);
- }
- break;
- }
- }
- } else {
- TraverseTree(render_root, 0);
- }
+ TraverseTree(this->render_root, 0);
}
void RenderPage::TraverseTree(RenderObject *render,int index) {
@@ -144,14 +115,14 @@ namespace WeexCore {
SetRootRenderObject(root);
- if (isnan(render_root->getStyleWidth())) {
- render_root->setStyleWidthLevel(FALLBACK_STYLE);
+ if (isnan(this->render_root->getStyleWidth())) {
+ this->render_root->setStyleWidthLevel(FALLBACK_STYLE);
if (GetRenderContainerWidthWrapContent())
- render_root->setStyleWidthToNAN();
+ this->render_root->setStyleWidthToNAN();
else
- render_root->setStyleWidth(WXCoreEnvironment::getInstance()->DeviceWidth(), false);
+ this->render_root->setStyleWidth(WXCoreEnvironment::getInstance()->DeviceWidth(), false);
} else {
- render_root->setStyleWidthLevel(CSS_STYLE);
+ this->render_root->setStyleWidthLevel(CSS_STYLE);
}
PushRenderToRegisterMap(root);
@@ -161,25 +132,25 @@ namespace WeexCore {
void RenderPage::SetRootRenderObject(RenderObject *root) {
if (root != nullptr) {
- render_root = root;
- render_root->MarkRootRender();
+ this->render_root = root;
+ this->render_root->MarkRootRender();
}
}
- bool RenderPage::AddRenderObject(const std::string &parentRef, int insertPosition, RenderObject *child) {
- RenderObject *parent = GetRenderObject(parentRef);
+ bool RenderPage::AddRenderObject(const std::string &parent_ref, int insert_posiotn, RenderObject *child) {
+ RenderObject *parent = GetRenderObject(parent_ref);
if (parent == nullptr || child == nullptr) {
return false;
}
// add child to Render Tree
- insertPosition = parent->AddRenderObject(insertPosition, child);
- if (insertPosition < -1) {
+ insert_posiotn = parent->AddRenderObject(insert_posiotn, child);
+ if (insert_posiotn < -1) {
return false;
}
PushRenderToRegisterMap(child);
- SendAddElementAction(child, parent, insertPosition, false);
+ SendAddElementAction(child, parent, insert_posiotn, false);
Batch();
return true;
@@ -203,13 +174,13 @@ namespace WeexCore {
return true;
}
- bool RenderPage::MoveRenderObject(const std::string &ref, const std::string &parentRef, int index) {
+ bool RenderPage::MoveRenderObject(const std::string &ref, const std::string &parent_ref, int index) {
RenderObject *child = GetRenderObject(ref);
if (child == nullptr)
return false;
RenderObject *oldParent = child->GetParentRender();
- RenderObject *newParent = GetRenderObject(parentRef);
+ RenderObject *newParent = GetRenderObject(parent_ref);
if (oldParent == nullptr || newParent == nullptr)
return false;
@@ -226,7 +197,7 @@ namespace WeexCore {
child->getParent()->removeChild(child);
newParent->addChildAt(child, index);
- SendMoveElementAction(ref, parentRef, index);
+ SendMoveElementAction(ref, parent_ref, index);
return true;
}
@@ -241,7 +212,7 @@ namespace WeexCore {
std::vector<std::pair<std::string, std::string>> *border = nullptr;
bool flag = false;
- int result = WeexCoreManager::getInstance()->getPlatformBridge()->callHasTransitionPros(mPageId.c_str(), ref.c_str(), src);
+ int result = WeexCoreManager::getInstance()->getPlatformBridge()->callHasTransitionPros(this->page_id.c_str(), ref.c_str(), src);
//int result = Bridge_Impl_Android::getInstance()->callHasTransitionPros(mPageId.c_str(), ref.c_str(), src);
if (result == 1) {
@@ -363,27 +334,27 @@ namespace WeexCore {
return true;
}
- void RenderPage::SetDefaultHeightAndWidthIntoRootRender(const float defaultWidth,
- const float defaultHeight,
- const bool isWidthWrapContent, const bool isHeightWrapContent) {
- renderPageSize.first = defaultWidth;
- renderPageSize.second = defaultHeight;
- if (render_root->getStyleWidthLevel() >= INSTANCE_STYLE) {
- render_root->setStyleWidthLevel(INSTANCE_STYLE);
- if (isWidthWrapContent) {
+ void RenderPage::SetDefaultHeightAndWidthIntoRootRender(const float default_width,
+ const float default_height,
+ const bool is_width_wrap_content, const bool is_height_wrap_content) {
+ this->render_page_size.first = default_width;
+ this->render_page_size.second = default_height;
+ if (this->render_root->getStyleWidthLevel() >= INSTANCE_STYLE) {
+ this->render_root->setStyleWidthLevel(INSTANCE_STYLE);
+ if (is_width_wrap_content) {
SetRenderContainerWidthWrapContent(true);
- render_root->setStyleWidthToNAN();
- renderPageSize.first = NAN;
+ this->render_root->setStyleWidthToNAN();
+ this->render_page_size.first = NAN;
} else {
- render_root->setStyleWidth(defaultWidth, true);
+ this->render_root->setStyleWidth(default_width, true);
}
updateDirty(true);
}
- if (render_root->getStyleHeightLevel() >= INSTANCE_STYLE) {
- if(!isHeightWrapContent) {
- render_root->setStyleHeightLevel(INSTANCE_STYLE);
- render_root->setStyleHeight(defaultHeight);
+ if (this->render_root->getStyleHeightLevel() >= INSTANCE_STYLE) {
+ if(!is_height_wrap_content) {
+ this->render_root->setStyleHeightLevel(INSTANCE_STYLE);
+ this->render_root->setStyleHeight(default_height);
updateDirty(true);
}
}
@@ -398,7 +369,7 @@ namespace WeexCore {
render->AddEvent(event);
- RenderAction *action = new RenderActionAddEvent(mPageId, ref, event);
+ RenderAction *action = new RenderActionAddEvent(this->page_id, ref, event);
PostRenderAction(action);
return true;
}
@@ -410,25 +381,24 @@ namespace WeexCore {
render->RemoveEvent(event);
- RenderAction *action = new RenderActionRemoveEvent(mPageId, ref, event);
+ RenderAction *action = new RenderActionRemoveEvent(this->page_id, ref, event);
PostRenderAction(action);
return true;
}
bool RenderPage::CreateFinish() {
- if (render_root == nullptr) {
+ if (this->render_root == nullptr) {
return false;
}
- mAlreadyCreateFinish = true;
Batch();
SendCreateFinishAction();
return true;
}
void RenderPage::LayoutImmediately() {
- if(isDirty() && useVSync){
+ if(isDirty() && kUseVSync){
CalculateLayout();
- needLayout.store(false);
+ this->need_layout.store(false);
updateDirty(false);
}
}
@@ -444,7 +414,7 @@ namespace WeexCore {
return;
std::string ref = render->Ref();
- mRenderObjectRegisterMap.insert(std::pair<std::string, RenderObject *>(ref, render));
+ this->render_object_registers.insert(std::pair<std::string, RenderObject *>(ref, render));
for(auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd(); it++) {
RenderObject* child = static_cast<RenderObject*>(*it);
@@ -458,7 +428,7 @@ namespace WeexCore {
if (render == nullptr)
return;
- mRenderObjectRegisterMap.erase(render->Ref());
+ this->render_object_registers.erase(render->Ref());
for(auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd(); it++) {
RenderObject* child = static_cast<RenderObject*>(*it);
@@ -489,21 +459,21 @@ namespace WeexCore {
}
}
- void RenderPage::SendAddElementAction(RenderObject *child, RenderObject *parent, int index, bool is_recursion, bool willLayout) {
+ void RenderPage::SendAddElementAction(RenderObject *child, RenderObject *parent, int index, bool is_recursion, bool will_layout) {
if (child == nullptr || parent == nullptr)
return;
if(parent != nullptr && parent->Type() == WeexCore::kRenderRecycleList){
- willLayout = false;
+ will_layout = false;
}
- RenderAction *action = new RenderActionAddElement(PageId(), child, parent, index, willLayout);
+ RenderAction *action = new RenderActionAddElement(PageId(), child, parent, index, will_layout);
PostRenderAction(action);
Index i = 0;
for(auto it = child->ChildListIterBegin(); it != child->ChildListIterEnd(); it++) {
RenderObject* grandson = static_cast<RenderObject*>(*it);
if (grandson != nullptr) {
- SendAddElementAction(grandson, child, i, true, willLayout);
+ SendAddElementAction(grandson, child, i, true, will_layout);
}
++i;
}
@@ -514,7 +484,7 @@ namespace WeexCore {
for(auto it = cellSlots.begin(); it != cellSlots.end(); it++) {
RenderObject* grandson = static_cast<RenderObject*>(*it);
if (grandson != nullptr) {
- SendAddElementAction(grandson, child, -1, true, willLayout);
+ SendAddElementAction(grandson, child, -1, true, will_layout);
}
++i;
}
@@ -530,8 +500,8 @@ namespace WeexCore {
PostRenderAction(action);
}
- void RenderPage::SendMoveElementAction(const std::string &ref, const std::string &parentRef, int index) {
- RenderAction *action = new RenderActionMoveElement(PageId(), ref, parentRef, index);
+ void RenderPage::SendMoveElementAction(const std::string &ref, const std::string &parent_ref, int index) {
+ RenderAction *action = new RenderActionMoveElement(PageId(), ref, parent_ref, index);
PostRenderAction(action);
}
@@ -586,45 +556,45 @@ namespace WeexCore {
}
void RenderPage::CssLayoutTime(const long long &time) {
- if (mWXCorePerformance != nullptr)
- mWXCorePerformance->cssLayoutTime += time;
+ if (this->render_performance != nullptr)
+ this->render_performance->cssLayoutTime += time;
}
void RenderPage::ParseJsonTime(const long long &time) {
- if (mWXCorePerformance != nullptr)
- mWXCorePerformance->parseJsonTime += time;
+ if (this->render_performance != nullptr)
+ this->render_performance->parseJsonTime += time;
}
void RenderPage::CallBridgeTime(const long long &time) {
- if (mWXCorePerformance != nullptr)
- mWXCorePerformance->callBridgeTime += time;
+ if (this->render_performance != nullptr)
+ this->render_performance->callBridgeTime += time;
}
std::vector<long> RenderPage::PrintFirstScreenLog() {
std::vector<long> ret;
- if (mWXCorePerformance != nullptr)
- ret = mWXCorePerformance->PrintPerformanceLog(onFirstScreen);
+ if (this->render_performance != nullptr)
+ ret = this->render_performance->PrintPerformanceLog(onFirstScreen);
return ret;
}
std::vector<long> RenderPage::PrintRenderSuccessLog() {
std::vector<long> ret;
- if (mWXCorePerformance != nullptr)
- ret = mWXCorePerformance->PrintPerformanceLog(onRenderSuccess);
+ if (this->render_performance != nullptr)
+ ret = this->render_performance->PrintPerformanceLog(onRenderSuccess);
return ret;
}
void RenderPage::Batch() {
- if ((useVSync && needLayout.load()) || !useVSync) {
+ if ((kUseVSync && this->need_layout.load()) || !kUseVSync) {
CalculateLayout();
- needLayout.store(false);
+ this->need_layout.store(false);
updateDirty(false);
}
}
RenderObject* RenderPage::GetRenderObject(const std::string &ref) {
- std::map<std::string, RenderObject *>::iterator iter = mRenderObjectRegisterMap.find(ref);
- if (iter != mRenderObjectRegisterMap.end()) {
+ std::map<std::string, RenderObject *>::iterator iter = this->render_object_registers.find(ref);
+ if (iter != this->render_object_registers.end()) {
return iter->second;
} else {
return nullptr;
@@ -632,6 +602,7 @@ namespace WeexCore {
}
void RenderPage::OnRenderPageInit() {
+
}
void RenderPage::OnRenderProcessStart() {
@@ -647,5 +618,6 @@ namespace WeexCore {
}
void RenderPage::OnRenderPageClose() {
+
}
} //namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/page/render_page.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.h b/weex_core/Source/core/render/page/render_page.h
index 36bc583..f179bdc 100644
--- a/weex_core/Source/core/render/page/render_page.h
+++ b/weex_core/Source/core/render/page/render_page.h
@@ -27,8 +27,6 @@
namespace WeexCore {
- constexpr float kLayoutFirstScreenOverflowRadio = 1.2f;
-
class RenderAction;
class RenderObject;
@@ -47,21 +45,24 @@ namespace WeexCore {
void SendCreateBodyAction(RenderObject *render);
- void SendAddElementAction(RenderObject *child, RenderObject *parent, int index, bool is_recursion, bool willLayout= true);
+ void
+ SendAddElementAction(RenderObject *child, RenderObject *parent, int index, bool is_recursion,
+ bool will_layout = true);
void SendRemoveElementAction(const std::string &ref);
- void SendMoveElementAction(const std::string &ref, const std::string &parentRef, int index);
+ void SendMoveElementAction(const std::string &ref, const std::string &parent_ref, int index);
void SendLayoutAction(RenderObject *render, int index);
void SendUpdateStyleAction(RenderObject *render,
- std::vector <std::pair<std::string, std::string>> *style,
- std::vector <std::pair<std::string, std::string>> *margin,
- std::vector <std::pair<std::string, std::string>> *padding,
- std::vector <std::pair<std::string, std::string>> *border);
+ std::vector<std::pair<std::string, std::string>> *style,
+ std::vector<std::pair<std::string, std::string>> *margin,
+ std::vector<std::pair<std::string, std::string>> *padding,
+ std::vector<std::pair<std::string, std::string>> *border);
- void SendUpdateAttrAction(RenderObject *render, std::vector<std::pair<std::string, std::string>> *attrs);
+ void SendUpdateAttrAction(RenderObject *render,
+ std::vector<std::pair<std::string, std::string>> *attrs);
void SendCreateFinishAction();
@@ -71,7 +72,7 @@ namespace WeexCore {
public:
- explicit RenderPage(std::string pageId);
+ explicit RenderPage(std::string page_id);
~RenderPage();
@@ -79,18 +80,22 @@ namespace WeexCore {
bool CreateRootRender(RenderObject *root);
- bool AddRenderObject(const std::string &parentRef, int insertPosiotn, RenderObject *child);
+ bool AddRenderObject(const std::string &parent_ref, int insert_posiotn, RenderObject *child);
bool RemoveRenderObject(const std::string &ref);
- bool MoveRenderObject(const std::string &ref, const std::string &parentRef, int index);
+ bool MoveRenderObject(const std::string &ref, const std::string &parent_ref, int index);
- bool UpdateStyle(const std::string &ref, std::vector<std::pair<std::string, std::string>> *styles);
+ bool
+ UpdateStyle(const std::string &ref, std::vector<std::pair<std::string, std::string>> *styles);
- bool UpdateAttr(const std::string &ref, std::vector<std::pair<std::string, std::string>> *attrs);
+ bool
+ UpdateAttr(const std::string &ref, std::vector<std::pair<std::string, std::string>> *attrs);
- void SetDefaultHeightAndWidthIntoRootRender(const float defaultWidth, const float defaultHeight,
- const bool isWidthWrapContent, const bool isHeightWrapContent);
+ void
+ SetDefaultHeightAndWidthIntoRootRender(const float default_width, const float default_height,
+ const bool is_width_wrap_content,
+ const bool is_height_wrap_content);
bool AddEvent(const std::string &ref, const std::string &event);
@@ -132,51 +137,50 @@ namespace WeexCore {
inline std::string PageId() {
- return mPageId;
+ return this->page_id;
}
inline float ViewPortWidth() const {
- return mViewPortWidth;
+ return this->viewport_width;
}
- inline void SetViewPortWidth(float viewPortWidth) {
- this->mViewPortWidth = viewPortWidth;
+ inline void SetViewPortWidth(float viewport_width) {
+ this->viewport_width = viewport_width;
}
- inline bool isDirty(){
- return dirty.load();
+ inline bool isDirty() {
+ return this->dirty.load();
}
- inline void updateDirty(bool dirty){
+ inline void updateDirty(bool dirty) {
this->dirty.store(dirty);
}
inline void SetRenderContainerWidthWrapContent(bool wrap) {
- this->isRenderContainerWidthWrapContent.store(wrap);
+ this->is_render_container_width_wrap_content.store(wrap);
}
inline bool GetRenderContainerWidthWrapContent() {
- return isRenderContainerWidthWrapContent.load();
+ return this->is_render_container_width_wrap_content.load();
}
public:
- static constexpr bool useVSync = true;
- std::atomic_bool needLayout{false};
- std::atomic_bool hasForeLayoutAction{false};
+ static constexpr bool kUseVSync = true;
+ std::atomic_bool need_layout{false};
+ std::atomic_bool has_fore_layout_action{false};
private:
- bool mAlreadyCreateFinish = false;
- float mViewPortWidth;
+ float viewport_width;
RenderObject *render_root = nullptr;
- std::string mPageId;
- std::pair<float,float> renderPageSize;
- std::map<std::string, RenderObject *> mRenderObjectRegisterMap;
- RenderPerformance *mWXCorePerformance;
+ std::string page_id;
+ std::pair<float, float> render_page_size;
+ std::map<std::string, RenderObject *> render_object_registers;
+ RenderPerformance *render_performance;
std::atomic_bool dirty{true};
- std::atomic_bool isRenderContainerWidthWrapContent{false};
- std::atomic_bool isRenderContainerHeightWrapContent{false};
+ std::atomic_bool is_render_container_width_wrap_content{false};
+ std::atomic_bool is_render_container_height_wrap_content{false};
};
}
[28/50] [abbrv] incubator-weex git commit: [WEEX-456][ios]try to fix
bas_access of parentNode
Posted by cx...@apache.org.
[WEEX-456][ios]try to fix bas_access of parentNode
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a13225f6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a13225f6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a13225f6
Branch: refs/heads/release
Commit: a13225f60817be2ae40391f2606fdc4850df29c3
Parents: eeb9170
Author: zhongcang <qh...@gmail.com>
Authored: Wed Jun 13 15:35:08 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Thu Jun 14 10:35:47 2018 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h | 3 ++-
.../Sources/Manager/WXComponentManager.mm | 19 ++++++++++++++++++-
ios/sdk/WeexSDK/Sources/Model/WXComponent.mm | 7 +++----
3 files changed, 23 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a13225f6/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h b/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h
index 216c099..e1827c5 100644
--- a/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h
+++ b/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h
@@ -703,9 +703,10 @@ namespace WeexCore {
return mChildList.cend();
}
- inline void removeChild(const WXCoreLayoutNode* const child) {
+ inline void removeChild(WXCoreLayoutNode* const child) {
for (int index = 0; index < mChildList.size(); index++) {
if (child == mChildList[index]) {
+ child->mParent = nullptr;
mChildList.erase(mChildList.begin() + index);
break;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a13225f6/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
index ed3e9f0..3fa3f33 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
@@ -986,9 +986,26 @@ static NSThread *WXComponentThread;
- (void)removeFixedComponent:(WXComponent *)fixComponent
{
[_fixedComponents removeObject:fixComponent];
- _rootFlexCSSNode->removeChild(fixComponent->_flexCssNode);
+ [self removeFixFlexNode:fixComponent->_flexCssNode];
}
+- (void)removeFixFlexNode:(WeexCore::WXCoreLayoutNode* )fixNode{
+ if (nullptr == fixNode) {
+ return;
+ }
+ if ([[NSThread currentThread].name isEqualToString:WX_COMPONENT_THREAD_NAME]) {
+ _rootFlexCSSNode->removeChild(fixNode);
+ }else{
+ WXPerformBlockOnComponentThread(^{
+ if (nullptr == fixNode) {
+ return;
+ }
+ _rootFlexCSSNode->removeChild(fixNode);
+ });
+ }
+}
+
+
@end
void WXPerformBlockOnComponentThread(void (^block)(void))
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a13225f6/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm b/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
index f383ad8..58df862 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
@@ -222,6 +222,9 @@ static BOOL bNeedRemoveEvents = YES;
- (void)dealloc
{
+ if (_positionType == WXPositionTypeFixed) {
+ [self.weexInstance.componentManager removeFixedComponent:self];
+ }
if(_flexCssNode){
#ifdef DEBUG
WXLogDebug(@"flexLayout -> dealloc %@",self.ref);
@@ -257,10 +260,6 @@ static BOOL bNeedRemoveEvents = YES;
}
}
- if (_positionType == WXPositionTypeFixed) {
- [self.weexInstance.componentManager removeFixedComponent:self];
- }
-
pthread_mutex_destroy(&_propertyMutex);
pthread_mutexattr_destroy(&_propertMutexAttr);
[19/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Rename
interface file.
Posted by cx...@apache.org.
[WEEX-442][Core] Rename interface file.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9e8a3c14
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9e8a3c14
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9e8a3c14
Branch: refs/heads/release
Commit: 9e8a3c14aa8a90276447bfb82be7594464e7ff9b
Parents: 1940651
Author: miomin <mi...@foxmail.com>
Authored: Fri Jun 8 11:53:09 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Tue Jun 12 12:44:03 2018 +0800
----------------------------------------------------------------------
.../Source/core/render/action/render_action.h | 30 ---------
.../render/action/render_action_add_element.h | 2 +-
.../render/action/render_action_add_event.h | 2 +-
.../render_action_appendtree_createfinish.h | 2 +-
.../render/action/render_action_createbody.h | 2 +-
.../render/action/render_action_createfinish.h | 2 +-
.../render/action/render_action_interface.h | 30 +++++++++
.../core/render/action/render_action_layout.h | 2 +-
.../render/action/render_action_move_element.h | 2 +-
.../action/render_action_remove_element.h | 2 +-
.../render/action/render_action_remove_event.h | 2 +-
.../render/action/render_action_update_attr.h | 2 +-
.../render/action/render_action_update_style.h | 2 +-
.../core/render/node/factory/i_render_factory.h | 31 ---------
.../core/render/node/factory/i_render_object.h | 68 -------------------
.../render/node/factory/render_appbar_factory.h | 2 +-
.../render/node/factory/render_cell_factory.h | 2 +-
.../core/render/node/factory/render_creator.cpp | 4 +-
.../node/factory/render_factory_interface.h | 31 +++++++++
.../render/node/factory/render_list_factory.h | 2 +-
.../render/node/factory/render_mask_factory.h | 2 +-
.../node/factory/render_object_interface.h | 71 ++++++++++++++++++++
.../node/factory/render_scroller_factory.h | 2 +-
.../render/node/factory/render_text_factory.h | 2 +-
.../render/node/factory/simple_render_factory.h | 2 +-
.../Source/core/render/node/render_object.h | 2 +-
26 files changed, 153 insertions(+), 150 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action.h b/weex_core/Source/core/render/action/render_action.h
deleted file mode 100644
index e5e3cbc..0000000
--- a/weex_core/Source/core/render/action/render_action.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEXV8_RENDERACTION_H
-#define WEEXV8_RENDERACTION_H
-
-namespace WeexCore {
-
- class RenderAction {
- public:
- virtual void ExecuteAction() = 0;
- };
-}
-
-#endif //WEEXV8_RENDERACTION_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_add_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.h b/weex_core/Source/core/render/action/render_action_add_element.h
index 2b9f553..3c91754 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.h
+++ b/weex_core/Source/core/render/action/render_action_add_element.h
@@ -23,7 +23,7 @@
#include <map>
#include <set>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
#include "core/layout/style.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_add_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.h b/weex_core/Source/core/render/action/render_action_add_event.h
index 88ad40f..680f87e 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.h
+++ b/weex_core/Source/core/render/action/render_action_add_event.h
@@ -21,7 +21,7 @@
#include <string>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
index 04cae26..321073d 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
@@ -21,7 +21,7 @@
#include <string>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_createbody.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.h b/weex_core/Source/core/render/action/render_action_createbody.h
index 623b5a0..5d4c25f 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.h
+++ b/weex_core/Source/core/render/action/render_action_createbody.h
@@ -23,7 +23,7 @@
#include <map>
#include <set>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.h b/weex_core/Source/core/render/action/render_action_createfinish.h
index 9beb99a..1ab0c0e 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_createfinish.h
@@ -21,7 +21,7 @@
#include <string>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_interface.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_interface.h b/weex_core/Source/core/render/action/render_action_interface.h
new file mode 100644
index 0000000..e5e3cbc
--- /dev/null
+++ b/weex_core/Source/core/render/action/render_action_interface.h
@@ -0,0 +1,30 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef WEEXV8_RENDERACTION_H
+#define WEEXV8_RENDERACTION_H
+
+namespace WeexCore {
+
+ class RenderAction {
+ public:
+ virtual void ExecuteAction() = 0;
+ };
+}
+
+#endif //WEEXV8_RENDERACTION_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_layout.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.h b/weex_core/Source/core/render/action/render_action_layout.h
index 18eeb5b..231b3f9 100644
--- a/weex_core/Source/core/render/action/render_action_layout.h
+++ b/weex_core/Source/core/render/action/render_action_layout.h
@@ -22,7 +22,7 @@
#include <string>
#include <set>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_move_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.h b/weex_core/Source/core/render/action/render_action_move_element.h
index cc0fced..6735903 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.h
+++ b/weex_core/Source/core/render/action/render_action_move_element.h
@@ -21,7 +21,7 @@
#include <string>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_remove_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.h b/weex_core/Source/core/render/action/render_action_remove_element.h
index b8d50b3..58ebbe9 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.h
+++ b/weex_core/Source/core/render/action/render_action_remove_element.h
@@ -21,7 +21,7 @@
#include <string>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_remove_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.h b/weex_core/Source/core/render/action/render_action_remove_event.h
index a772a6a..d72f31f 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.h
+++ b/weex_core/Source/core/render/action/render_action_remove_event.h
@@ -21,7 +21,7 @@
#include <string>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_update_attr.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.h b/weex_core/Source/core/render/action/render_action_update_attr.h
index 3e74c01..bb0e49c 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.h
+++ b/weex_core/Source/core/render/action/render_action_update_attr.h
@@ -22,7 +22,7 @@
#include <string>
#include <vector>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_update_style.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.h b/weex_core/Source/core/render/action/render_action_update_style.h
index e2d6aa4..65a31a0 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.h
+++ b/weex_core/Source/core/render/action/render_action_update_style.h
@@ -22,7 +22,7 @@
#include <string>
#include <vector>
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/i_render_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/i_render_factory.h b/weex_core/Source/core/render/node/factory/i_render_factory.h
deleted file mode 100644
index f0e4451..0000000
--- a/weex_core/Source/core/render/node/factory/i_render_factory.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_IRENDERFACTORY_H
-#define WEEX_PROJECT_IRENDERFACTORY_H
-
-#include "core/render/node/factory/i_render_object.h"
-
-namespace WeexCore {
- class IRenderFactory {
- public:
- virtual IRenderObject *CreateRender() = 0;
- };
-}
-
-#endif //WEEX_PROJECT_IRENDERFACTORY_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/i_render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/i_render_object.h b/weex_core/Source/core/render/node/factory/i_render_object.h
deleted file mode 100644
index da2df7f..0000000
--- a/weex_core/Source/core/render/node/factory/i_render_object.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_IRENDEROBJECT_H
-#define WEEX_PROJECT_IRENDEROBJECT_H
-
-#include <string>
-
-#include "core/layout/layout.h"
-
-namespace WeexCore {
-
- class IRenderObject : public WXCoreLayoutNode {
- public:
- inline void SetRef(std::string ref) {
- mRef = ref;
- }
-
- inline const std::string &Ref() const {
- return mRef;
- }
-
- inline void SetPageId(std::string pageId) {
- this->mPageId = pageId;
- }
-
- inline const std::string &PageId() const {
- return mPageId;
- }
-
- inline void SetType(std::string type) {
- mType = type;
- }
-
- inline const std::string &Type() const {
- return mType;
- }
-
- inline void copyFrom(IRenderObject *src) {
- WXCoreLayoutNode::copyFrom(src);
- SetRef(src->Ref());
- SetPageId(src->PageId());
- SetType(src->Type());
- }
-
- private:
- std::string mPageId = "";
- std::string mRef = "";
- std::string mType = "";
- };
-}
-
-#endif //WEEX_PROJECT_IRENDEROBJECT_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_appbar_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_appbar_factory.h b/weex_core/Source/core/render/node/factory/render_appbar_factory.h
index f8308d2..874cdda 100644
--- a/weex_core/Source/core/render/node/factory/render_appbar_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_appbar_factory.h
@@ -20,7 +20,7 @@
#define WEEX_PROJECT_RENDERAPPBARFACTORY_H
#include "core/render/node/render_appbar.h"
-#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_factory_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_cell_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_cell_factory.h b/weex_core/Source/core/render/node/factory/render_cell_factory.h
index 7873cd3..2d4ae5b 100644
--- a/weex_core/Source/core/render/node/factory/render_cell_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_cell_factory.h
@@ -20,7 +20,7 @@
#define WEEX_PROJECT_RENDERCELLFACTORY_H
#include "core/render/node/render_cell.h"
-#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_factory_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_creator.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_creator.cpp b/weex_core/Source/core/render/node/factory/render_creator.cpp
index 5c3acfb..471e312 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.cpp
+++ b/weex_core/Source/core/render/node/factory/render_creator.cpp
@@ -17,8 +17,8 @@
* under the License.
*/
#include "core/render/node/factory/render_creator.h"
-#include "core/render/node/factory/i_render_object.h"
-#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_object_interface.h"
+#include "core/render/node/factory/render_factory_interface.h"
#include "core/render/node/factory/render_text_factory.h"
#include "core/render/node/factory/simple_render_factory.h"
#include "core/render/node/factory/render_list_factory.h"
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_factory_interface.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_factory_interface.h b/weex_core/Source/core/render/node/factory/render_factory_interface.h
new file mode 100644
index 0000000..02d936c
--- /dev/null
+++ b/weex_core/Source/core/render/node/factory/render_factory_interface.h
@@ -0,0 +1,31 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef WEEX_PROJECT_IRENDERFACTORY_H
+#define WEEX_PROJECT_IRENDERFACTORY_H
+
+#include "core/render/node/factory/render_object_interface.h"
+
+namespace WeexCore {
+ class IRenderFactory {
+ public:
+ virtual IRenderObject *CreateRender() = 0;
+ };
+}
+
+#endif //WEEX_PROJECT_IRENDERFACTORY_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_list_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_list_factory.h b/weex_core/Source/core/render/node/factory/render_list_factory.h
index 3964e6a..e15c94a 100644
--- a/weex_core/Source/core/render/node/factory/render_list_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_list_factory.h
@@ -20,7 +20,7 @@
#define WEEX_PROJECT_RENDERLISTFACTORY_H
#include "core/render/node/render_list.h"
-#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_factory_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_mask_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_mask_factory.h b/weex_core/Source/core/render/node/factory/render_mask_factory.h
index 92a210e..7f865e4 100644
--- a/weex_core/Source/core/render/node/factory/render_mask_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_mask_factory.h
@@ -20,7 +20,7 @@
#define WEEX_PROJECT_RENDERMASKFACTORY_H
#include "core/render/node/render_mask.h"
-#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_factory_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_object_interface.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_object_interface.h b/weex_core/Source/core/render/node/factory/render_object_interface.h
new file mode 100644
index 0000000..79e6e47
--- /dev/null
+++ b/weex_core/Source/core/render/node/factory/render_object_interface.h
@@ -0,0 +1,71 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef WEEX_PROJECT_IRENDEROBJECT_H
+#define WEEX_PROJECT_IRENDEROBJECT_H
+
+#include <string>
+
+#include "core/layout/layout.h"
+
+namespace WeexCore {
+
+ class IRenderObject : public WXCoreLayoutNode {
+
+ public:
+
+ inline void SetRef(std::string ref) {
+ mRef = ref;
+ }
+
+ inline const std::string &Ref() const {
+ return mRef;
+ }
+
+ inline void SetPageId(std::string pageId) {
+ this->mPageId = pageId;
+ }
+
+ inline const std::string &PageId() const {
+ return mPageId;
+ }
+
+ inline void SetType(std::string type) {
+ mType = type;
+ }
+
+ inline const std::string &Type() const {
+ return mType;
+ }
+
+ inline void copyFrom(IRenderObject *src) {
+ WXCoreLayoutNode::copyFrom(src);
+ SetRef(src->Ref());
+ SetPageId(src->PageId());
+ SetType(src->Type());
+ }
+
+ private:
+
+ std::string mPageId = "";
+ std::string mRef = "";
+ std::string mType = "";
+ };
+}
+
+#endif //WEEX_PROJECT_IRENDEROBJECT_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_scroller_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_scroller_factory.h b/weex_core/Source/core/render/node/factory/render_scroller_factory.h
index 7795bed..062af88 100644
--- a/weex_core/Source/core/render/node/factory/render_scroller_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_scroller_factory.h
@@ -20,7 +20,7 @@
#define WEEX_PROJECT_RENDERSCROLLERFACTORY_H
#include "core/render/node/render_scroller.h"
-#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_factory_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/render_text_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_text_factory.h b/weex_core/Source/core/render/node/factory/render_text_factory.h
index 025de76..967412a 100644
--- a/weex_core/Source/core/render/node/factory/render_text_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_text_factory.h
@@ -20,7 +20,7 @@
#define WEEX_PROJECT_RENDERTEXTFACTORY_H
#include "core/render/node/render_text.h"
-#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_factory_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/factory/simple_render_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/simple_render_factory.h b/weex_core/Source/core/render/node/factory/simple_render_factory.h
index ee1ffca..eb55d41 100644
--- a/weex_core/Source/core/render/node/factory/simple_render_factory.h
+++ b/weex_core/Source/core/render/node/factory/simple_render_factory.h
@@ -20,7 +20,7 @@
#define WEEX_PROJECT_RENDERCOMMONFACTORY_H
#include "core/render/node/render_object.h"
-#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_factory_interface.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/node/render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.h b/weex_core/Source/core/render/node/render_object.h
index ea943c3..9445243 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -24,7 +24,7 @@
#include <set>
#include <functional>
-#include "core/render/node/factory/i_render_object.h"
+#include "core/render/node/factory/render_object_interface.h"
#define JSON_OBJECT_MARK_CHAR '{'
#define JSON_ARRAY_MARK_CHAR '['
[25/50] [abbrv] incubator-weex git commit: [WEEX-443][iOS]Fix picker
module callback not called on iOS 11.0.x
Posted by cx...@apache.org.
[WEEX-443][iOS]Fix picker module callback not called on iOS 11.0.x
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/fc93b106
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/fc93b106
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/fc93b106
Branch: refs/heads/release
Commit: fc93b106d03bd52da126c153825fe1d60a1dcc48
Parents: 0eb7683
Author: Xiaomin <ca...@yahoo.com>
Authored: Thu Jun 7 20:42:06 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Wed Jun 13 17:08:06 2018 +0800
----------------------------------------------------------------------
.../WeexSDK/Sources/Manager/WXDatePickerManager.m | 13 ++++++++++++-
ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 16 +++++++++++++++-
2 files changed, 27 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fc93b106/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m b/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
index d671634..857ca82 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
@@ -25,7 +25,7 @@
#define WXPickerHeight 266
-@interface WXDatePickerManager()
+@interface WXDatePickerManager() <UIGestureRecognizerDelegate>
@property(nonatomic,strong)UIDatePicker *datePicker;
@property(nonatomic,strong)UIView *backgroudView;
@@ -46,6 +46,9 @@
{
self.backgroudView = [self createBackgroundView];
UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hide)];
+ if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+ tapGesture.delegate = self;
+ }
[self.backgroudView addGestureRecognizer:tapGesture];
}
@@ -211,4 +214,12 @@
}
+#pragma mark - UIGestureRecognizerDelegate
+- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
+ if (self.datePickerView && [touch.view isDescendantOfView:self.datePickerView]) {
+ return NO;
+ }
+ return YES;
+}
+
@end
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fc93b106/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
index 52fdf59..b894113 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
@@ -28,7 +28,7 @@
#define WXPickerHeight 266
#define WXPickerToolBarHeight 44
-@interface WXPickerModule()
+@interface WXPickerModule() <UIGestureRecognizerDelegate>
@property (nonatomic, strong)NSString * pickerType;
// when resign the picker ,then the focus will be.
@@ -269,6 +269,9 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
{
self.backgroundView = [self createbackgroundView];
UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hide)];
+ if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+ tapGesture.delegate = self;
+ }
[self.backgroundView addGestureRecognizer:tapGesture];
self.pickerView = [self createPickerView];
UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, WXPickerToolBarHeight)];
@@ -468,6 +471,9 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
{
self.backgroundView = [self createbackgroundView];
UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hide)];
+ if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+ tapGesture.delegate = self;
+ }
[self.backgroundView addGestureRecognizer:tapGesture];
self.pickerView = [self createPickerView];
UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, WXPickerToolBarHeight)];
@@ -511,4 +517,12 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
}
}
+#pragma mark - UIGestureRecognizerDelegate
+- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
+ if (self.pickerView && [touch.view isDescendantOfView:self.pickerView]) {
+ return NO;
+ }
+ return YES;
+}
+
@end
[49/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.14 (#1274)
Posted by cx...@apache.org.
* [jsfm] upgrade js framework to v0.26.14 (#1274)
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/939be31e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/939be31e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/939be31e
Branch: refs/heads/release
Commit: 939be31e6f37340f81fa396df7bbec27e50c7c15
Parents: 2bb99f1
Author: Hanks <zh...@gmail.com>
Authored: Fri Jun 15 15:20:55 2018 +0800
Committer: Hanks <zh...@gmail.com>
Committed: Fri Jun 15 15:23:52 2018 +0800
----------------------------------------------------------------------
android/sdk/assets/weex-main-jsfm.js | 2 +-
android/sdk/assets/weex-rax-api.js | 2 +-
package.json | 2 +-
pre-build/weex-main-jsfm.js | 2 +-
pre-build/weex-rax-api.js | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
[31/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.13
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/38f43ecc/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 200f2f9..0e2cd82 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "weex",
"version": "0.12.2",
"subversion": {
- "framework": "0.26.11",
+ "framework": "0.26.13",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
[03/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.11
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/185d3932/android/sdk/assets/weex-main-jsfm.js
----------------------------------------------------------------------
diff --git a/android/sdk/assets/weex-main-jsfm.js b/android/sdk/assets/weex-main-jsfm.js
index 8abdbd6..4a0b428 100644
--- a/android/sdk/assets/weex-main-jsfm.js
+++ b/android/sdk/assets/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.10, Build 2018-06-07 14:55. (Vue: 2.5.11-weex.1, Rax: 0.4.20)");var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";var t,c,r,l;function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0<t?1:-1)*Math.floor(Math.abs(t)):t);return Math.min(Math.max(n,0),r)},function(e){var t=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var n,r=1<arguments.length?arguments[1]:void 0;if(void 0!==r){if(
!c(r))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(n=arguments[2])}for(var o,i=l(t.length),a=c(this)?Object(new this(i)):new Array(i),s=0;s<i;)o=t[s],a[s]=r?void 0===n?r(o,s):r.call(n,o,s):o,s+=1;return a.length=i,a}));var v=n(function(e){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)}),m=n(function(e){var t=e.exports={version:"2.5.5"};"number"==typeof __e&&(__e=t)}),o=(m.version,function(e){return"object"==typeof e?null!==e:"function"==typeof e}),y=function(e){if(!o(e))throw TypeError(e+" is not an object!");return e},i=function(e){try{return!!e()}catch(e){return!0}},a=!i(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),s=v.document,u=o(s)&&o(s.createElement),f=function(e){return u?s.createElement(e):{}},p=!a&&!i(function(){return 7!=Object.defineProperty(f("div"
),"a",{get:function(){return 7}}).a}),d=Object.defineProperty,h={f:a?Object.defineProperty:function(e,t,n){if(y(e),t=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}(t,!0),y(n),p)try{return d(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},k=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},S=a?function(e,t,n){return h.f(e,t,k(1,n))}:function(e,t,n){return e[t]=n,e},g={}.hasOwnProperty,_=function(e,t){return g.call(e,t)},b=0,w=Math.random(),O=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++b+w).toString(36))},C=n(function(e){var i=O("src"),t="toString",n=Function[t],a=(""+n).split(t);m.inspectSource=function(e){return n.call(
e)},(e.exports=function(e,t,n,r){var o="function"==typeof n;o&&(_(n,"name")||S(n,"name",t)),e[t]!==n&&(o&&(_(n,i)||S(n,i,e[t]?""+e[t]:a.join(String(t)))),e===v?e[t]=n:r?e[t]?e[t]=n:S(e,t,n):(delete e[t],S(e,t,n)))})(Function.prototype,t,function(){return"function"==typeof this&&this[i]||n.call(this)})}),x=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e},E=function(r,o,e){if(x(r),void 0===o)return r;switch(e){case 1:return function(e){return r.call(o,e)};case 2:return function(e,t){return r.call(o,e,t)};case 3:return function(e,t,n){return r.call(o,e,t,n)}}return function(){return r.apply(o,arguments)}},$="prototype",A=function(e,t,n){var r,o,i,a,s=e&A.F,c=e&A.G,l=e&A.S,u=e&A.P,f=e&A.B,p=c?v:l?v[t]||(v[t]={}):(v[t]||{})[$],d=c?m:m[t]||(m[t]={}),h=d[$]||(d[$]={});for(r in c&&(n=t),n)i=((o=!s&&p&&void 0!==p[r])?p:n)[r],a=f&&o?E(i,v):u&&"function"==typeof i?E(Function.call,i):i,p&&C(p,r,i,e&A.U),d[r]!=i&&S(d,r,a),u&&h[r]!=i&&(h[r]=i)};v.core=m,A.F=1
,A.G=2,A.S=4,A.P=8,A.B=16,A.W=32,A.U=64,A.R=128;var j,I=A,M={}.toString,T=function(e){return M.call(e).slice(8,-1)},F=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==T(e)?e.split(""):Object(e)},P=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},N=function(e){return F(P(e))},R=Math.ceil,D=Math.floor,V=function(e){return isNaN(e=+e)?0:(0<e?D:R)(e)},J=Math.min,L=function(e){return 0<e?J(V(e),9007199254740991):0},W=Math.max,q=Math.min,U="__core-js_shared__",B=v[U]||(v[U]={}),z=function(e){return B[e]||(B[e]={})},H=z("keys"),X=function(e){return H[e]||(H[e]=O(e))},G=(j=!1,function(e,t,n){var r,o,i,a=N(e),s=L(a.length),c=(o=s,(r=V(r=n))<0?W(r+o,0):q(r,o));if(j&&t!=t){for(;c<s;)if((i=a[c++])!=i)return!0}else for(;c<s;c++)if((j||c in a)&&a[c]===t)return j||c||0;return!j&&-1}),K=X("IE_PROTO"),Z="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),Y=Object.keys||function(e){return function
(e,t){var n,r=N(e),o=0,i=[];for(n in r)n!=K&&_(r,n)&&i.push(n);for(;t.length>o;)_(r,n=t[o++])&&(~G(i,n)||i.push(n));return i}(e,Z)},Q={f:Object.getOwnPropertySymbols},ee={f:{}.propertyIsEnumerable},te=function(e){return Object(P(e))},ne=Object.assign,re=!ne||i(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ne({},e)[n]||Object.keys(ne({},t)).join("")!=r})?function(e,t){for(var n=arguments,r=te(e),o=arguments.length,i=1,a=Q.f,s=ee.f;i<o;)for(var c,l=F(n[i++]),u=a?Y(l).concat(a(l)):Y(l),f=u.length,p=0;p<f;)s.call(l,c=u[p++])&&(r[c]=l[c]);return r}:ne;I(I.S+I.F,"Object",{assign:re});m.Object.assign;Object.setPrototypeOf||(Object.setPrototypeOf=function(t,n){var r;function o(e,t){return r.call(e,t),e}try{(r=t.getOwnPropertyDescriptor(t.prototype,n).set).call({},null)}catch(e){if(t.prototype!=={}[n])return;r=function(e){this[n]=e},o.polyfill=o(o({},null),t.prototype)instanceof t}return o}(Object,"__proto__"));var oe=g
lobal.WXEnvironment;oe&&"iOS"===oe.platform&&(global.Promise=void 0);var ie=n(function(e){var t=z("wks"),n=v.Symbol,r="function"==typeof n;(e.exports=function(e){return t[e]||(t[e]=r&&n[e]||(r?n:O)("Symbol."+e))}).store=t}),ae=ie("toStringTag"),se="Arguments"==T(function(){return arguments}()),ce=function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),ae))?n:se?T(t):"Object"==(r=T(t))&&"function"==typeof t.callee?"Arguments":r},le={};le[ie("toStringTag")]="z",le+""!="[object z]"&&C(Object.prototype,"toString",function(){return"[object "+ce(this)+"]"},!0);var ue={},fe=a?Object.defineProperties:function(e,t){y(e);for(var n,r=Y(t),o=r.length,i=0;i<o;)h.f(e,n=r[i++],t[n]);return e},pe=v.document,de=pe&&pe.documentElement,he=X("IE_PROTO"),ve=function(){},me="prototype",ye=function(){var e,t=f("iframe"),n=Z.length;for(t.style.display="none",de.appendChild(t),t.src="javascript:",(e=t.contentWindow.document
).open(),e.write("<script>document.F=Object<\/script>"),e.close(),ye=e.F;n--;)delete ye[me][Z[n]];return ye()},ge=Object.create||function(e,t){var n;return null!==e?(ve[me]=y(e),n=new ve,ve[me]=null,n[he]=e):n=ye(),void 0===t?n:fe(n,t)},_e=h.f,be=ie("toStringTag"),we=function(e,t,n){e&&!_(e=n?e:e.prototype,be)&&_e(e,be,{configurable:!0,value:t})},ke={};S(ke,ie("iterator"),function(){return this});var Se,Oe=X("IE_PROTO"),Ce=Object.prototype,xe=Object.getPrototypeOf||function(e){return e=te(e),_(e,Oe)?e[Oe]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Ce:null},Ee=ie("iterator"),$e=!([].keys&&"next"in[].keys()),Ae="values",je=function(){return this},Ie=function(e,t,n,r,o,i,a){var s,c,l;c=t,l=r,(s=n).prototype=ge(ke,{next:k(1,l)}),we(s,c+" Iterator");var u,f,p,d=function(e){if(!$e&&e in y)return y[e];switch(e){case"keys":case Ae:return function(){return new n(this,e)}}return function(){return new n(this,e)}},h=t+" Iterator",v=o
==Ae,m=!1,y=e.prototype,g=y[Ee]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void 0,w="Array"==t&&y.entries||g;if(w&&(p=xe(w.call(new e)))!==Object.prototype&&p.next&&(we(p,h,!0),"function"!=typeof p[Ee]&&S(p,Ee,je)),v&&g&&g.name!==Ae&&(m=!0,_=function(){return g.call(this)}),($e||m||!y[Ee])&&S(y,Ee,_),ue[t]=_,ue[h]=je,o)if(u={values:v?_:d(Ae),keys:i?_:d("keys"),entries:b},a)for(f in u)f in y||C(y,f,u[f]);else I(I.P+I.F*($e||m),t,u);return u},Me=(Se=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return i<0||a<=i?Se?"":void 0:(n=o.charCodeAt(i))<55296||56319<n||i+1===a||(r=o.charCodeAt(i+1))<56320||57343<r?Se?o.charAt(i):n:Se?o.slice(i,i+2):r-56320+(n-55296<<10)+65536});Ie(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=Me(t,n),this._i+=e.length,{value:e,done:!1})});var Te=ie("unscopables"),Fe=Array.prototype;null==Fe[Te]&&S(Fe,Te,{});var Pe=function(e){Fe[Te][e]=!0},Ne=f
unction(e,t){return{value:t,done:!!e}},Re=Ie(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,Ne(1)):Ne(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ue.Arguments=ue.Array,Pe("keys"),Pe("values"),Pe("entries");for(var De=ie("iterator"),Ve=ie("toStringTag"),Je=ue.Array,Le={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},We=Y(Le),qe=0;qe<We.length;qe++){var Ue,Be=We[qe],ze=Le[Be],He=v[Be],Xe=He&&He.prototype
;if(Xe&&(Xe[De]||S(Xe,De,Je),Xe[Ve]||S(Xe,Ve,Be),ue[Be]=Je,ze))for(Ue in Re)Xe[Ue]||C(Xe,Ue,Re[Ue],!0)}var Ge,Ke,Ze,Ye=function(t,e,n,r){try{return r?e(y(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&y(o.call(t)),e}},Qe=ie("iterator"),et=Array.prototype,tt=ie("iterator"),nt=m.getIteratorMethod=function(e){if(null!=e)return e[tt]||e["@@iterator"]||ue[ce(e)]},rt=n(function(e){var d={},h={},t=e.exports=function(e,t,n,r,o){var i,a,s,c,l,u=o?function(){return e}:nt(e),f=E(n,r,t?2:1),p=0;if("function"!=typeof u)throw TypeError(e+" is not iterable!");if(void 0===(l=u)||ue.Array!==l&&et[Qe]!==l){for(s=u.call(e);!(a=s.next()).done;)if((c=Ye(s,f,a.value,t))===d||c===h)return c}else for(i=L(e.length);p<i;p++)if((c=t?f(y(a=e[p])[0],a[1]):f(e[p]))===d||c===h)return c};t.BREAK=d,t.RETURN=h}),ot=ie("species"),it=v.process,at=v.setImmediate,st=v.clearImmediate,ct=v.MessageChannel,lt=v.Dispatch,ut=0,ft={},pt="onreadystatechange",dt=function(){var e=+this;if(ft.hasOwnProperty(e)){var t=f
t[e];delete ft[e],t()}},ht=function(e){dt.call(e.data)};at&&st||(at=function(e){for(var t=arguments,n=[],r=1;arguments.length>r;)n.push(t[r++]);return ft[++ut]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof e?e:Function(e),n)},Ge(ut),ut},st=function(e){delete ft[e]},"process"==T(it)?Ge=function(e){it.nextTick(E(dt,e,1))}:lt&<.now?Ge=function(e){lt.now(E(dt,e,1))}:ct?(Ze=(Ke=new ct).port2,Ke.port1.onmessage=ht,Ge=E(Ze.postMessage,Ze,1)):v.addEventListener&&"function"==typeof postMessage&&!v.importScripts?(Ge=function(e){v.postMessage(e+"","*")},v.addEventListener("message",ht,!1)):Ge=pt in f("script")?function(e){de.appendChild(f("script"))[pt]=function(){de.removeChild(this),dt.call(e)}}:func
tion(e){setTimeout(E(dt,e,1),0)});var vt={set:at,clear:st},mt=vt.set,yt=v.MutationObserver||v.WebKitMutationObserver,gt=v.process,_t=v.Promise,bt="process"==T(gt);var wt={f:function(e){return new function(e){var n,r;this.promise=new e(function(e,t){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=e,r=t}),this.resolve=x(n),this.reject=x(r)}(e)}},kt=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}},St=ie("species"),Ot=ie("iterator"),Ct=!1;try{[7][Ot]().return=function(){Ct=!0}}catch(e){}var xt,Et,$t,At,jt,It=vt.set,Mt=function(){var n,r,o,e=function(){var e,t;for(bt&&(e=gt.domain)&&e.exit();n;){t=n.fn,n=n.next;try{t()}catch(e){throw n?o():r=void 0,e}}r=void 0,e&&e.enter()};if(bt)o=function(){gt.nextTick(e)};else if(!yt||v.navigator&&v.navigator.standalone)if(_t&&_t.resolve){var t=_t.resolve();o=function(){t.then(e)}}else o=function(){mt.call(v,e)};else{var i=!0,a=document.createTextNode("");new yt(e).observe(a,{characterData:!0}),o=function(){a.data=
i=!i}}return function(e){var t={fn:e,next:void 0};r&&(r.next=t),n||(n=t,o()),r=t}}(),Tt="Promise",Ft=v.TypeError,Pt=v.process,Nt=v[Tt],Rt="process"==ce(Pt),Dt=function(){},Vt=Et=wt.f,Jt=!!function(){try{var e=Nt.resolve(1),t=(e.constructor={})[ie("species")]=function(e){e(Dt,Dt)};return(Rt||"function"==typeof PromiseRejectionEvent)&&e.then(Dt)instanceof t}catch(e){}}(),Lt=function(e){var t;return!(!o(e)||"function"!=typeof(t=e.then))&&t},Wt=function(u,n){if(!u._n){u._n=!0;var r=u._c;Mt(function(){for(var c=u._v,l=1==u._s,e=0,t=function(e){var t,n,r,o=l?e.ok:e.fail,i=e.resolve,a=e.reject,s=e.domain;try{o?(l||(2==u._h&&Bt(u),u._h=1),!0===o?t=c:(s&&s.enter(),t=o(c),s&&(s.exit(),r=!0)),t===e.promise?a(Ft("Promise-chain cycle")):(n=Lt(t))?n.call(t,i,a):i(t)):a(c)}catch(e){s&&!r&&s.exit(),a(e)}};r.length>e;)t(r[e++]);u._c=[],u._n=!1,n&&!u._h&&qt(u)})}},qt=function(i){It.call(v,function(){var e,t,n,r=i._v,o=Ut(i);if(o&&(e=kt(function(){Rt?Pt.emit("unhandledRejection",r,i):(t=v.onunhandledr
ejection)?t({promise:i,reason:r}):(n=v.console)&&n.error&&n.error("Unhandled promise rejection",r)}),i._h=Rt||Ut(i)?2:1),i._a=void 0,o&&e.e)throw e.v})},Ut=function(e){return 1!==e._h&&0===(e._a||e._c).length},Bt=function(t){It.call(v,function(){var e;Rt?Pt.emit("rejectionHandled",t):(e=v.onrejectionhandled)&&e({promise:t,reason:t._v})})},zt=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),Wt(t,!0))},Ht=function(e){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===e)throw Ft("Promise can't be resolved itself");(n=Lt(e))?Mt(function(){var t={_w:r,_d:!1};try{n.call(e,E(Ht,t,1),E(zt,t,1))}catch(e){zt.call(t,e)}}):(r._v=e,r._s=1,Wt(r,!1))}catch(e){zt.call({_w:r,_d:!1},e)}}};Jt||(Nt=function(e){!function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!")}(this,Nt,Tt,"_h"),x(e),xt.call(this);try{e(E(Ht,this,1),E(zt,this,1))}catch(e){zt.call(this,e)}},(xt=function(e){this._c=[],this._a=void 0,this._s=0,thi
s._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(e,t,n){for(var r in t)C(e,r,t[r],n);return e}(Nt.prototype,{then:function(e,t){var n,r,o,i=Vt((n=Nt,void 0===(o=y(this).constructor)||null==(r=y(o)[ot])?n:x(r)));return i.ok="function"!=typeof e||e,i.fail="function"==typeof t&&t,i.domain=Rt?Pt.domain:void 0,this._c.push(i),this._a&&this._a.push(i),this._s&&Wt(this,!1),i.promise},catch:function(e){return this.then(void 0,e)}}),$t=function(){var e=new xt;this.promise=e,this.resolve=E(Ht,e,1),this.reject=E(zt,e,1)},wt.f=Vt=function(e){return e===Nt||e===At?new $t(e):Et(e)}),I(I.G+I.W+I.F*!Jt,{Promise:Nt}),we(Nt,Tt),jt=v[Tt],a&&jt&&!jt[St]&&h.f(jt,St,{configurable:!0,get:function(){return this}}),At=m[Tt],I(I.S+I.F*!Jt,Tt,{reject:function(e){var t=Vt(this);return(0,t.reject)(e),t.promise}}),I(I.S+I.F*!Jt,Tt,{resolve:function(e){return function(e,t){if(y(e),o(t)&&t.constructor===e)return t;var n=wt.f(e);return(0,n.resolve)(t),n.promise}(this,e)}}),I(I.S+I.F*!(Jt&&function(e
,t){if(!t&&!Ct)return!1;var n=!1;try{var r=[7],o=r[Ot]();o.next=function(){return{done:n=!0}},r[Ot]=function(){return o},e(r)}catch(e){}return n}(function(e){Nt.all(e).catch(Dt)})),Tt,{all:function(e){var a=this,t=Vt(a),s=t.resolve,c=t.reject,n=kt(function(){var r=[],o=0,i=1;rt(e,!1,function(e){var t=o++,n=!1;r.push(void 0),i++,a.resolve(e).then(function(e){n||(n=!0,r[t]=e,--i||s(r))},c)}),--i||s(r)});return n.e&&c(n.v),t.promise},race:function(e){var t=this,n=Vt(t),r=n.reject,o=kt(function(){rt(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}});var Xt=["off","error","warn","info","log","debug"],Gt={};global.console;function Kt(e){var t=global.WXEnvironment&&global.WXEnvironment.logLevel||"log";return Gt[t]&&Gt[t][e]}function Zt(e){return e.map(function(e){return e="[object object]"===Object.prototype.toString.call(e).toLowerCase()?JSON.stringify(e):String(e)})}global.setTimeout;var Yt=global.setTimeoutNative;function Qt(t,n,r){if(t.hasOwnProperty(n)
){var e=t[n];Object.defineProperty(t,n,{get:function(){return e},set:function(e){if(this===t)throw Error("Cannot assign to read only property "+n+" of "+r);return Object.defineProperty(this,n,{value:e,writable:!0}),e}})}}!function(){if(void 0===setTimeout&&"function"==typeof Yt){var n={},r=0;global.setTimeout=function(e,t){n[++r]=e,Yt(r.toString(),t)},global.setTimeoutCallback=function(e){"function"==typeof n[e]&&(n[e](),delete n[e])}}}(),function(){if(Xt.forEach(function(n){var r=Xt.indexOf(n);Gt[n]={},Xt.forEach(function(e){var t=Xt.indexOf(e);t<=r&&(Gt[n][e]=!0)})}),global.WXEnvironment&&"Web"!==global.WXEnvironment.platform)global.console={debug:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("debug")&&global.nativeLog.apply(global,Zt(e).concat(["__DEBUG"]))},log:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("log")&&global.nativeLog.apply(global,Zt(e).concat(["__LOG"]))},info:function(){for(var e=[],t=arguments.length;t--;)e[t]=argumen
ts[t];Kt("info")&&global.nativeLog.apply(global,Zt(e).concat(["__INFO"]))},warn:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("warn")&&global.nativeLog.apply(global,Zt(e).concat(["__WARN"]))},error:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("error")&&global.nativeLog.apply(global,Zt(e).concat(["__ERROR"]))}};else{var e=console.debug,t=console.log,n=console.info,r=console.warn,o=console.error;console.__ori__={debug:e,log:t,info:n,warn:r,error:o},console.debug=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("debug")&&console.__ori__.debug.apply(console,e)},console.log=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("log")&&console.__ori__.log.apply(console,e)},console.info=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("info")&&console.__ori__.info.apply(console,e)},console.warn=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("warn")&&console.__ori__.wa
rn.apply(console,e)},console.error=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Kt("error")&&console.__ori__.error.apply(console,e)}}}();var en={framework:"0.26.10",transformer:">=0.1.5 <0.5"};function tn(e,t,n){return t+"@"+n+"#"+e}var nn=function(e){this.instanceId=String(e),this.lastCallbackId=0,this.callbacks={},this.hooks={}};nn.prototype.add=function(e){return this.lastCallbackId++,this.callbacks[this.lastCallbackId]=e,this.lastCallbackId},nn.prototype.remove=function(e){var t=this.callbacks[e];return delete this.callbacks[e],t},nn.prototype.registerHook=function(e,t,n,r){var o=tn(e,t,n);this.hooks[o]&&console.warn('[JS Framework] Override an existing component hook "'+o+'".'),this.hooks[o]=r},nn.prototype.triggerHook=function(e,t,n,r){var o=tn(e,t,n),i=this.hooks[o];if("function"!=typeof i)return console.error("[JS Framework] Invalid hook function type ("+typeof i+') on "'+o+'".'),null;var a=null;try{a=i.apply(null,r||[])}catch(e){console.error('[JS Frame
work] Failed to execute the hook function on "'+o+'".')}return a},nn.prototype.consume=function(e,t,n){var r=this.callbacks[e];return void 0!==n&&!1!==n||delete this.callbacks[e],"function"==typeof r?r(t):new Error('invalid callback id "'+e+'"')},nn.prototype.close=function(){this.callbacks={},this.hooks={}};var rn=1;function on(){return(rn++).toString()}function an(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1)}function sn(e){if("function"!=typeof btoa)return"";var t=Array.prototype.map.call(new Uint8Array(e),function(e){return String.fromCharCode(e)}).join("");return btoa(t)}function cn(e){if(!e||"object"!=typeof e)return!0;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}var ln={};function un(e){return ln[e]}function fn(e){var t=ln[e];return t&&t.taskCenter?t.taskCenter:null}function pn(e,t,n){var r=e.documentElement;if(!(0<r.pureChildren.length||t.parentNode)){var o,i,a=r.children,s=a.indexOf(n);s<0?a.push(t):a.splice(s,0
,t),1===t.nodeType?("body"===t.role?(t.docId=e.id,t.ownerDocument=e,t.parentNode=r,hn(t,r)):(t.children.forEach(function(e){e.parentNode=t}),dn(e,t),t.docId=e.id,t.ownerDocument=e,hn(t,r),delete e.nodeMap[t.nodeId]),r.pureChildren.push(t),o=e,i=t.toJSON(),o&&o.taskCenter&&"function"==typeof o.taskCenter.send&&o.taskCenter.send("dom",{action:"createBody"},[i])):(t.parentNode=r,e.nodeMap[t.ref]=t)}}function dn(e,t){t.role="body",t.depth=1,delete e.nodeMap[t.nodeId],t.ref="_root",e.nodeMap._root=t,e.body=t}function hn(t,e){(t.parentNode=e).docId&&(t.docId=e.docId,t.ownerDocument=e.ownerDocument,(t.ownerDocument.nodeMap[t.nodeId]=t).depth=e.depth+1),t.children.forEach(function(e){hn(e,t)})}function vn(e){for(;e;){if(1===e.nodeType)return e;e=e.nextSibling}}function mn(e){for(;e;){if(1===e.nodeType)return e;e=e.previousSibling}}function yn(e,t,n,r){n<0&&(n=0);var o=t[n-1],i=t[n];return t.splice(n,0,e),r&&(o&&(o.nextSibling=e),e.previousSibling=o,(e.nextSibling=i)&&(i.previousSibling=e)),
n}function gn(e,t,n,r){var o=t.indexOf(e);if(o<0)return-1;if(r){var i=t[o-1],a=t[o+1];i&&(i.nextSibling=a),a&&(a.previousSibling=i)}t.splice(o,1);var s=n;o<=n&&(s=n-1);var c=t[s-1],l=t[s];return t.splice(s,0,e),r&&(c&&(c.nextSibling=e),e.previousSibling=c,(e.nextSibling=l)&&(l.previousSibling=e)),o===s?-1:n}function _n(e,t,n){var r=t.indexOf(e);if(!(r<0)){if(n){var o=t[r-1],i=t[r+1];o&&(o.nextSibling=i),i&&(i.previousSibling=o)}t.splice(r,1)}}var bn,wn=function(){this.nodeId=on(),this.ref=this.nodeId,this.children=[],this.pureChildren=[],this.parentNode=null,this.nextSibling=null,this.previousSibling=null};wn.prototype.destroy=function(){var e=un(this.docId);e&&(delete this.docId,delete e.nodeMap[this.nodeId]),this.children.forEach(function(e){e.destroy()})};var kn={};var Sn="div",On=["click","longpress","touchstart","touchmove","touchend","panstart","panmove","panend","horizontalpan","verticalpan","swipe"];function Cn(e,t){un(e).nodeMap[t.nodeId]=t}var xn=function(o){function e(e,t
,n){void 0===e&&(e=Sn),o.call(this);var r=kn[e];if(r&&!n)return new r(e,t,!0);t=t||{},this.nodeType=1,this.nodeId=on(),this.ref=this.nodeId,this.type=e,this.attr=t.attr||{},this.style=t.style||{},this.classStyle=t.classStyle||{},this.event={},this.children=[],this.pureChildren=[]}return o&&(e.__proto__=o),((e.prototype=Object.create(o&&o.prototype)).constructor=e).prototype.appendChild=function(e){if(!e.parentNode||e.parentNode===this)if(e.parentNode){if(gn(e,this.children,this.children.length,!0),1===e.nodeType){var t=gn(e,this.pureChildren,this.pureChildren.length),n=fn(this.docId);if(n&&0<=t)return n.send("dom",{action:"moveElement"},[e.ref,this.ref,t])}}else if(hn(e,this),yn(e,this.children,this.children.length,!0),this.docId&&Cn(this.docId,e),1===e.nodeType){yn(e,this.pureChildren,this.pureChildren.length);var r=fn(this.docId);if(r)return r.send("dom",{action:"addElement"},[this.ref,e.toJSON(),-1])}},e.prototype.insertBefore=function(e,t){if(!(e.parentNode&&e.parentNode!==this|
|e===t||e.nextSibling&&e.nextSibling===t))if(e.parentNode){if(gn(e,this.children,this.children.indexOf(t),!0),1===e.nodeType){var n=vn(t),r=gn(e,this.pureChildren,n?this.pureChildren.indexOf(n):this.pureChildren.length),o=fn(this.docId);if(o&&0<=r)return o.send("dom",{action:"moveElement"},[e.ref,this.ref,r])}}else if(hn(e,this),yn(e,this.children,this.children.indexOf(t),!0),this.docId&&Cn(this.docId,e),1===e.nodeType){var i=vn(t),a=yn(e,this.pureChildren,i?this.pureChildren.indexOf(i):this.pureChildren.length),s=fn(this.docId);if(s)return s.send("dom",{action:"addElement"},[this.ref,e.toJSON(),a])}},e.prototype.insertAfter=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.previousSibling&&e.previousSibling===t))if(e.parentNode){if(gn(e,this.children,this.children.indexOf(t)+1,!0),1===e.nodeType){var n=gn(e,this.pureChildren,this.pureChildren.indexOf(mn(t))+1),r=fn(this.docId);if(r&&0<=n)return r.send("dom",{action:"moveElement"},[e.ref,this.ref,n])}}else if(hn(e,this)
,yn(e,this.children,this.children.indexOf(t)+1,!0),this.docId&&Cn(this.docId,e),1===e.nodeType){var o=yn(e,this.pureChildren,this.pureChildren.indexOf(mn(t))+1),i=fn(this.docId);if(i)return i.send("dom",{action:"addElement"},[this.ref,e.toJSON(),o])}},e.prototype.removeChild=function(e,t){if(e.parentNode&&(_n(e,this.children,!0),1===e.nodeType)){_n(e,this.pureChildren);var n=fn(this.docId);n&&n.send("dom",{action:"removeElement"},[e.ref])}t||e.destroy()},e.prototype.clear=function(){var t=fn(this.docId);t&&this.pureChildren.forEach(function(e){t.send("dom",{action:"removeElement"},[e.ref])}),this.children.forEach(function(e){e.destroy()}),this.children.length=0,this.pureChildren.length=0},e.prototype.setAttr=function(e,t,n){if(this.attr[e]!==t||!1===n){this.attr[e]=t;var r=fn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateAttrs"},[this.ref,o])}}},e.prototype.setAttrs=function(e,t){if(!cn(e)){var n={};for(var r in e)this.attr[r]!==e[r]&&(this.attr[r]=e[r],n[r]=e[r]
);if(!cn(n)){var o=fn(this.docId);!t&&o&&o.send("dom",{action:"updateAttrs"},[this.ref,n])}}},e.prototype.setStyle=function(e,t,n){if(this.style[e]!==t||!1===n){this.style[e]=t;var r=fn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateStyle"},[this.ref,o])}}},e.prototype.setStyles=function(e,t){if(!cn(e)){var n={};for(var r in e)this.style[r]!==e[r]&&(this.style[r]=e[r],n[r]=e[r]);if(!cn(n)){var o=fn(this.docId);!t&&o&&o.send("dom",{action:"updateStyle"},[this.ref,n])}}},e.prototype.setClassStyle=function(e){for(var t in this.classStyle)this.classStyle[t]="";Object.assign(this.classStyle,e);var n=fn(this.docId);n&&n.send("dom",{action:"updateStyle"},[this.ref,this.toStyle()])},e.prototype.addEvent=function(e,t,n){if(this.event||(this.event={}),!this.event[e]){this.event[e]={handler:t,params:n};var r=fn(this.docId);r&&r.send("dom",{action:"addEvent"},[this.ref,e])}},e.prototype.removeEvent=function(e){if(this.event&&this.event[e]){delete this.event[e];var t=fn(this.d
ocId);t&&t.send("dom",{action:"removeEvent"},[this.ref,e])}},e.prototype.fireEvent=function(e,t,n,r){var o=null,i=!1,a=this.event[e];if(a&&t){var s=a.handler;t.stopPropagation=function(){i=!0},o=r&&r.params?s.call.apply(s,[this].concat(r.params,[t])):s.call(this,t)}return!i&&n&&-1!==On.indexOf(e)&&this.parentNode&&this.parentNode.fireEvent&&(t.currentTarget=this.parentNode,this.parentNode.fireEvent(e,t,n)),o},e.prototype.toStyle=function(){return Object.assign({},this.classStyle,this.style)},e.prototype.toJSON=function(){var e={ref:this.ref.toString(),type:this.type,attr:this.attr,style:this.toStyle()},t=[];for(var n in this.event){var r=this.event[n].params;r?t.push({type:n,params:r}):t.push(n)}return t.length&&(e.event=t),this.pureChildren.length&&(e.children=this.pureChildren.map(function(e){return e.toJSON()})),e},e.prototype.toString=function(){return"<"+this.type+" attr="+JSON.stringify(this.attr)+" style="+JSON.stringify(this.toStyle())+">"+this.pureChildren.map(function(e){r
eturn e.toString()}).join("")+"</"+this.type+">"},e}(wn);bn=xn;var En=function(){},$n=function(e,t){Object.defineProperty(this,"instanceId",{enumerable:!0,value:String(e)}),Object.defineProperty(this,"callbackManager",{enumerable:!0,value:new nn(e)}),En=t||function(){}};function An(e,t){var n=un(e);return n?Array.isArray(t)?t.map(function(e){switch(e.method){case"callback":return function(e,t,n,r){return e.taskCenter.callback(t,n,r)}.apply(void 0,[n].concat(e.args));case"fireEventSync":case"fireEvent":return function(e,t,n,r,o,i){var a=e.getRef(t);return a?e.fireEvent(a,n,r,o,i):new Error('invalid element reference "'+t+'"')}.apply(void 0,[n].concat(e.args));case"componentHook":return function(e,t,n,r,o){if(!e||!e.taskCenter)return console.error('[JS Framework] Can\'t find "document" or "taskCenter".'),null;var i=null;try{i=e.taskCenter.triggerHook(t,n,r,o)}catch(e){console.error('[JS Framework] Failed to trigger the "'+n+"@"+r+'" hook on '+t+".")}return i}.apply(void 0,[n].concat(e
.args))}}):void 0:new Error("[JS Framework] Failed to receiveTasks, instance ("+e+") is not available.")}$n.prototype.callback=function(e,t,n){return this.callbackManager.consume(e,t,n)},$n.prototype.registerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).registerHook.apply(e,t)},$n.prototype.triggerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).triggerHook.apply(e,t)},$n.prototype.updateData=function(e,t,n){this.send("module",{module:"dom",method:"updateComponentData"},[e,t,n])},$n.prototype.destroyCallback=function(){return this.callbackManager.close()},$n.prototype.normalize=function(e,t){var n=this;void 0===t&&(t=!1);var r=an(e);if(e&&e instanceof xn)return e.ref;if(e&&e._isVue&&e.$el instanceof xn)return e.$el.ref;if("Function"===r)return this.callbackManager.add(e).toString();if(t){if("Object"===r){var o={};for(var i in e)o[i]=n.normalize(e[i],!0);return o}if("Array
"===r)return e.map(function(e){return n.normalize(e,!0)})}return function(e){var t=an(e);switch(t){case"Undefined":case"Null":return"";case"RegExp":return e.toString();case"Date":return e.toISOString();case"Number":case"String":case"Boolean":case"Array":case"Object":return e;case"ArrayBuffer":return{"@type":"binary",dataType:t,base64:sn(e)};case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":return{"@type":"binary",dataType:t,base64:sn(e.buffer)};default:return JSON.stringify(e)}}(e)},$n.prototype.send=function(e,t,n,r){var o=this,i=t.action,a=t.component,s=t.ref,c=t.module,l=t.method;switch(n=n.map(function(e){return o.normalize(e)}),"Object"===an(r)&&(r=this.normalize(r,!0)),e){case"dom":return this[i](this.instanceId,n);case"component":return this.componentHandler(this.instanceId,s,l,n,Object.assign({component:a},r));default:return this.moduleHandler(this.instanceId,c,
l,n,r)}},$n.prototype.callDOM=function(e,t){return this[e](this.instanceId,t)},$n.prototype.callComponent=function(e,t,n,r){return this.componentHandler(this.instanceId,e,t,n,r)},$n.prototype.callModule=function(e,t,n,r){return this.moduleHandler(this.instanceId,e,t,n,r)};var jn={};function In(e){var t=function(t){jn[t]||(jn[t]={}),e[t].forEach(function(e){"string"==typeof e?jn[t][e]=!0:jn[t][e.name]=e.args})};for(var n in e)t(n)}function Mn(e,t){return"string"==typeof t?!(!jn[e]||!jn[e][t]):!!jn[e]}var Tn={};function Fn(e){Array.isArray(e)&&e.forEach(function(e){e&&("string"==typeof e?Tn[e]=!0:"object"==typeof e&&"string"==typeof e.type&&function(o,e){if(e&&e.length){var t=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t}(bn);e.forEach(function(r){t.prototype[r]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=fn(this.docId);if(n)return n.send("component",{ref:this.ref,compone
nt:o,method:r},e)}}),kn[o]=t}}((Tn[e.type]=e).type,e.methods))})}function Pn(e){return!!Tn[e]}var Nn=[];function Rn(e,t){Vn(e)?console.warn('Service "'+e+'" has been registered already!'):(t=Object.assign({},t),Nn.push({name:e,options:t}))}function Dn(n){Nn.some(function(e,t){if(e.name===n)return Nn.splice(t,1),!0})}function Vn(e){return t=e,0<=Nn.map(function(e){return e.name}).indexOf(t);var t}var Jn=function(t){function e(e){t.call(this),this.nodeType=8,this.nodeId=on(),this.ref=this.nodeId,this.type="comment",this.value=e,this.children=[],this.pureChildren=[]}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.toString=function(){return"\x3c!-- "+this.value+" --\x3e"},e}(wn);function Ln(e,t){return void 0===t&&(t=[]),{module:"dom",method:e,args:t}}var Wn=function(e,t){this.id=e,this.batched=!1,this.updates=[],"function"==typeof t?Object.defineProperty(this,"handler",{configurable:!0,enumerable:!0,writable:!0,value:t}):console.error("[J
S Runtime] invalid parameter, handler must be a function")};Wn.prototype.createFinish=function(e){return(0,this.handler)([Ln("createFinish")],e)},Wn.prototype.updateFinish=function(e){return(0,this.handler)([Ln("updateFinish")],e)},Wn.prototype.refreshFinish=function(e){return(0,this.handler)([Ln("refreshFinish")],e)},Wn.prototype.createBody=function(e){var t=e.toJSON(),n=t.children;delete t.children;var r=[Ln("createBody",[t])];return n&&r.push.apply(r,n.map(function(e){return Ln("addElement",[t.ref,e,-1])})),this.addActions(r)},Wn.prototype.addElement=function(e,t,n){return 0<=n||(n=-1),this.addActions(Ln("addElement",[t,e.toJSON(),n]))},Wn.prototype.removeElement=function(e){if(Array.isArray(e)){var t=e.map(function(e){return Ln("removeElement",[e])});return this.addActions(t)}return this.addActions(Ln("removeElement",[e]))},Wn.prototype.moveElement=function(e,t,n){return this.addActions(Ln("moveElement",[e,t,n]))},Wn.prototype.setAttr=function(e,t,n){var r={};return r[t]=n,this.
addActions(Ln("updateAttrs",[e,r]))},Wn.prototype.setStyle=function(e,t,n){var r={};return r[t]=n,this.addActions(Ln("updateStyle",[e,r]))},Wn.prototype.setStyles=function(e,t){return this.addActions(Ln("updateStyle",[e,t]))},Wn.prototype.addEvent=function(e,t){return this.addActions(Ln("addEvent",[e,t]))},Wn.prototype.removeEvent=function(e,t){return this.addActions(Ln("removeEvent",[e,t]))},Wn.prototype.handler=function(e,t){return t&&t()},Wn.prototype.addActions=function(e){var t=this.updates,n=this.handler;if(Array.isArray(e)||(e=[e]),!this.batched)return n(e);t.push.apply(t,e)};var qn={createBody:"callCreateBody",addElement:"callAddElement",removeElement:"callRemoveElement",moveElement:"callMoveElement",updateAttrs:"callUpdateAttrs",updateStyle:"callUpdateStyle",addEvent:"callAddEvent",removeEvent:"callRemoveEvent"};function Un(e,t,n){var r,o=t.module,i=t.method,a=t.args;return r=i,"dom"===o&&qn[r]&&"function"==typeof global[qn[r]]?global[qn[i]].apply(global,[e].concat(a,["-1"]
)):n(e,[t],"-1")}var Bn=function e(t,n,r){var o,i;t=t?t.toString():"",this.id=t,this.URL=n,i=this,(o=t)&&(ln[o]=i),this.nodeMap={};var a,s,c=e.Listener||Wn;this.listener=new c(t,r||(a=t,"function"!=typeof(s=e.handler||global.callNative)&&console.error("[JS Runtime] no default handler"),function(e){Array.isArray(e)||(e=[e]);for(var t=0;t<e.length;t++){var n=Un(a,e[t],s);if(-1===n)return n}})),this.taskCenter=new $n(t,r?function(e){for(var t=[],n=arguments.length-1;0<n--;)t[n]=arguments[n+1];return r.apply(void 0,t)}:e.handler),this.createDocumentElement()};Bn.prototype.getRef=function(e){return this.nodeMap[e]},Bn.prototype.open=function(){this.listener.batched=!1},Bn.prototype.close=function(){this.listener.batched=!0},Bn.prototype.createDocumentElement=function(){var n=this;if(!this.documentElement){var e=new xn("document");e.docId=this.id,e.ownerDocument=this,e.role="documentElement",e.depth=0,e.ref="_documentElement",this.nodeMap._documentElement=e,this.documentElement=e,Object.d
efineProperty(e,"appendChild",{configurable:!0,enumerable:!0,writable:!0,value:function(e){pn(n,e)}}),Object.defineProperty(e,"insertBefore",{configurable:!0,enumerable:!0,writable:!0,value:function(e,t){pn(n,e,t)}})}return this.documentElement},Bn.prototype.createBody=function(e,t){this.body||dn(this,new xn(e,t));return this.body},Bn.prototype.createElement=function(e,t){return new xn(e,t)},Bn.prototype.createComment=function(e){return new Jn(e)},Bn.prototype.fireEvent=function(e,t,n,r,o){if(e){(n=n||{}).type=n.type||t,n.target=e,n.currentTarget=e,n.timestamp=Date.now(),r&&function(e,t){var n=t.attrs||{};for(var r in n)e.setAttr(r,n[r],!0);var o=t.style||{};for(var i in o)e.setStyle(i,o[i],!0)}(e,r);var i="true"===this.getRef("_root").attr.bubble;return e.fireEvent(t,n,i,o)}},Bn.prototype.destroy=function(){var e;this.taskCenter.destroyCallback(),delete this.listener,delete this.nodeMap,delete this.taskCenter,e=this.id,delete ln[e]},Bn.handler=null;var zn={};function Hn(e){return e
["[[CurrentInstanceId]]"]}var Xn,Gn,Kn=function(e,t){var n,r;n=this,r=String(e),Object.defineProperty(n,"[[CurrentInstanceId]]",{value:r}),this.config=t||{},this.document=new Bn(e,this.config.bundleUrl),this.requireModule=this.requireModule.bind(this),this.importScript=this.importScript.bind(this),this.isRegisteredModule=Mn,this.isRegisteredComponent=Pn};Kn.prototype.requireModule=function(s){var c=Hn(this);if(c&&this.document&&this.document.taskCenter){if(Mn(s)){var e=s+"#"+c;if(!zn[e]){var t=jn[s],n={},r=function(a){Object.defineProperty(n,a,{enumerable:!0,configurable:!0,get:function(){return n=s,r=a,(o=fn(e=c))&&"function"==typeof o.send?function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return o.send("module",{module:n,method:r},e)}:(console.error("[JS Framework] Failed to find taskCenter ("+e+")."),null);var e,n,r,o},set:function(e){return n=s,r=a,o=e,(i=fn(t=c))&&"function"==typeof i.send?"function"!=typeof o?(console.error("[JS Framework] "+n+"."+r+" must be a
ssigned as a function."),null):function(e){return i.send("module",{module:n,method:r},[e])}:(console.error("[JS Framework] Failed to find taskCenter ("+t+")."),null);var t,n,r,o,i}})};for(var o in t)r(o);zn[e]=n}return zn[e]}console.warn('[JS Framework] using unregistered weex module "'+s+'"')}else console.error('[JS Framework] Failed to requireModule("'+s+'"), instance ('+c+") doesn't exist anymore.")},Kn.prototype.supports=function(e){if("string"!=typeof e)return null;var t=e.match(/^@(\w+)\/([\w-]+)(\.(\w+))?$/i);if(t){var n=t[1],r=t[2],o=t[4];switch(n){case"module":return Mn(r,o);case"component":return Pn(r)}}return null},Kn.prototype.importScript=function(e,r){void 0===r&&(r={});var o=Hn(this),i=fn(o);return new Promise(function(t,n){i&&"function"==typeof i.send||n(new Error('[JS Framework] Failed to import script "'+e+'", no taskCenter ('+o+") matched."));try{i.send("module",{module:"script",method:"importScript"},[e,r],{callback:[function(e){return t(e)},function(e){return n(
e)}]})}catch(e){n(e)}})};var Zn=/^\s*\/\/ *(\{[^}]*\}) *\r?\n/;function Yn(){return"0.26.10"}var Qn={};function er(e){return Qn[e]}function tr(e,t,n){void 0===t&&(t={});var r=new Kn(e,t),o=t.bundleType||"Vue";Qn[e]=o;var i=Gn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');!function(e,t,n){var r=fn(e);if(r&&"function"==typeof r.send)if(t&&n){var o="jsfm."+t+"."+n;try{if(Mn("userTrack","addPerfPoint")){var i=Object.create(null);i[o]="4",r.send("module",{module:"userTrack",method:"addPerfPoint"},[i])}}catch(e){console.error('[JS Framework] Failed to trace "'+o+'"!')}}else console.warn("[JS Framework] Invalid track type ("+t+") or value ("+n+")");else console.error("[JS Framework] Failed to create tracker!")}(e,"bundleType",o);var a,s,c,l,u=(a=e,s={weex:r,config:t,created:Date.now(),framework:o,bundleType:o},c=Gn,(l=Object.create(null)).service=Object.create(null),Nn.forEach(function(e){var t=e.name,n=e.options.create;if(n)try{var r=n(a,s,c);Object.a
ssign(l.service,r),Object.assign(l,r.instance)}catch(e){console.error("[JS Runtime] Failed to create service "+t+".")}}),delete l.service.instance,Object.freeze(l.service),l);Object.freeze(u);var f=Object.create(null);Object.assign(f,u,{weex:r,getJSFMVersion:Yn,__WEEX_CALL_JAVASCRIPT__:An,services:u}),Object.freeze(f);var p=Object.assign({},f);return"function"==typeof i.createInstanceContext&&Object.assign(p,i.createInstanceContext(e,f,n)),Object.freeze(p),p}var nr={createInstance:function(e,t,n,r){if(Qn[e])return new Error('The instance id "'+e+'" has already been used!');var o=function(e){var t=Zn.exec(e);if(t)try{return JSON.parse(t[1]).framework}catch(e){}return"Weex"}(t);Qn[e]=o,(n=JSON.parse(JSON.stringify(n||{}))).env=JSON.parse(JSON.stringify(global.WXEnvironment||{})),n.bundleType=o;var i=Gn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');"Weex"===o&&console.error('[JS Framework] COMPATIBILITY WARNING: Weex DSL 1.0 (.we) framework is no l
onger supported! It will be removed in the next version of WeexSDK, your page would be crash if you still using the ".we" framework. Please upgrade it to Vue.js or Rax.');var a=tr(e,n,r);if("function"==typeof i.createInstance){if("Rax"===o||"Weex"===o){var s=Object.assign({config:n,created:Date.now(),framework:o},a);return i.createInstance(e,t,n,r,s)}return i.createInstance(e,t,n,r,a)}!function(e,t){var n=[],r=[];for(var o in t)n.push(o),r.push(t[o]);var i="\n (function (global) {\n "+e+"\n })(Object.create(this))\n ";(new(Function.prototype.bind.apply(Function,[null].concat(n,[i])))).apply(void 0,r)}(t,a)},createInstanceContext:tr,getRoot:function(e){var t=un(e);try{if(t&&t.body)return t.body.toJSON()}catch(e){return void console.error("[JS Framework] Failed to get the virtual dom tree.")}},getJSFMVersion:Yn,getDocument:un,registerService:Rn,unregisterService:Dn,callJS:function(e,t){var n=Xn[er(e)];return n&&"function"==typeof n.receiveTasks?n.receiveTasks(e,t):An(e,t)}
};function rr(s){nr[s]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n,r=e[0],o=er(r);if(o&&Xn[o]){var i=(n=Xn[o])[s].apply(n,e),a={framework:o};return"refreshInstance"===s?Nn.forEach(function(e){var t=e.options.refresh;t&&t(r,{info:a,runtime:Gn})}):"destroyInstance"===s&&(Nn.forEach(function(e){var t=e.options.destroy;t&&t(r,{info:a,runtime:Gn})}),delete Qn[r]),i}return new Error('[JS Framework] Using invalid instance id "'+r+'" when calling '+s+".")}}function or(o,i){nr[o]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n in"function"==typeof i&&i.apply(void 0,e),Gn.frameworks){var r=Gn.frameworks[n];r&&r[o]&&r[o].apply(r,e)}}}var ir={Document:Bn,Element:xn,Comment:Jn,Listener:Wn,TaskCenter:$n,sendTasks:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return"function"==typeof callNative?callNative.apply(void 0,e):(global.callNative||function(){}).apply(void 0,e)}};Bn.handler=ir.sendTasks;var ar={service:{register:R
n,unregister:Dn,has:Vn},freezePrototype:function(){Object.freeze(ir.Comment),Object.freeze(ir.Listener),Object.freeze(ir.Document.prototype),Object.freeze(ir.Comment.prototype),Object.freeze(ir.Listener.prototype)},init:function(e){for(var t in Xn=(Gn=e||{}).frameworks||{},function(){var e={createFinish:global.callCreateFinish,updateFinish:global.callUpdateFinish,refreshFinish:global.callRefreshFinish,createBody:global.callCreateBody,addElement:global.callAddElement,removeElement:global.callRemoveElement,moveElement:global.callMoveElement,updateAttrs:global.callUpdateAttrs,updateStyle:global.callUpdateStyle,addEvent:global.callAddEvent,removeEvent:global.callRemoveEvent},t=$n.prototype,n=function(n){var r=e[n];t[n]=r?function(e,t){return r.apply(void 0,[e].concat(t))}:function(e,t){return En(e,[{module:"dom",method:n,args:t}],"-1")}};for(var r in e)n(r);t.componentHandler=global.callNativeComponent||function(e,t,n,r,o){return En(e,[{component:o.component,ref:t,method:n,args:r}])},t.
moduleHandler=global.callNativeModule||function(e,t,n,r){return En(e,[{module:t,method:n,args:r}])}}(),Xn){var n=Xn[t];if("function"==typeof n.init)try{n.init(e)}catch(e){}}return or("registerComponents",Fn),or("registerModules",In),or("registerMethods"),["destroyInstance","refreshInstance"].forEach(rr),nr},config:ir};function sr(e,t){void 0===t&&(t={}),this.type=e||"message",this.data=t.data||null,this.origin=t.origin||"",this.source=t.source||null,this.ports=t.ports||[],this.target=null,this.timeStamp=Date.now()}var cr={},lr={};function ur(){}ur.prototype.postMessage=function(e){if(this._closed)throw new Error('BroadcastChannel "'+this.name+'" is closed.');var t=cr[this.name];if(t&&t.length)for(var n=0;n<t.length;++n){var r=t[n];r._closed||r===this||"function"==typeof r.onmessage&&r.onmessage(new sr("message",{data:e}))}},ur.prototype.close=function(){var t=this;if(!this._closed&&(this._closed=!0,cr[this.name])){var e=cr[this.name].filter(function(e){return e!==t});e.length?cr[thi
s.name]=e:delete cr[this.name]}};var fr={BroadcastChannel:{create:function(t,e,n){if(lr[t]=[],"function"==typeof global.BroadcastChannel)return{};var r={BroadcastChannel:function(e){Object.defineProperty(this,"name",{configurable:!1,enumerable:!0,writable:!1,value:String(e)}),this._closed=!1,this.onmessage=null,cr[this.name]||(cr[this.name]=[]),cr[this.name].push(this),lr[t].push(this)}};return r.BroadcastChannel.prototype=ur.prototype,{instance:r}},destroy:function(e,t){lr[e].forEach(function(e){return e.close()}),delete lr[e]}}};var pr={},dr={};var hr=Object.freeze({init:function(e){pr.Document=e.Document,pr.Element=e.Element,pr.Comment=e.Comment,pr.sendTasks=e.sendTasks},createInstance:function(t,e,n,r,o){void 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new pr.Document(t,n.bundleUrl),a={},s={id:t,data:r,document:i,callbacks:a},c=0;i.addCallback=function(e){return a[++c]=e,c},i.handleCallback=function(e,t,n){var r=a[e];return n&&delete a[e],r(t)},dr[t]=s;var l=Object
.assign({Document:pr.Document,Element:pr.Element,Comment:pr.Comment,sendTasks:function(e){return pr.sendTasks(t,e,-1)},options:n,document:i},o),u=[],f=[];for(var p in l)u.push(p),f.push(l[p]);return u.push(e),(new(Function.prototype.bind.apply(Function,[null].concat(u)))).apply(void 0,f),pr.sendTasks(t,[{module:"dom",method:"createFinish",args:[]}],-1),s},destroyInstance:function(e){delete dr[e]},getRoot:function(e){return dr[e].document.body.toJSON()},receiveTasks:function(r,e){var o={fireEvent:function(e,t,n,r,o){var i=dr[e].document,a=i.getRef(t);return i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return dr[e].document.handleCallback(t,n,r)}};if((dr[r]||{}).document&&Array.isArray(e)){var i=[];return e.forEach(function(e){var t=o[e.method],n=[].concat(e.args);"function"==typeof t&&(n.unshift(r),i.push(t.apply(void 0,n)))}),i}}}),vr=n(function(e){e.exports=function(e,o){var _=Object.freeze({});function j(e){return null==e}function I(e){return null!=e}function M(e){return!0===e
}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function b(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString;function u(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function n(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}s("slot,component",!0);var c=s("key,ref,slot,slot-scope,is");function l(e,t){if(e.length){var n=e.indexOf(t);if(-1<n)return e.splice(n,1)}}var a=Object.prototype.hasOwnProperty;function f(e,t){return a.call(e,t)}function p(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var d=/-(\w)/g,h=p(function(e){return e.replace(d,function(e,t){return t?t.to
UpperCase():""})}),v=p(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),m=/\B([A-Z])/g,w=p(function(e){return e.replace(m,"-$1").toLowerCase()});function y(n,r){function e(e){var t=arguments.length;return t?1<t?n.apply(r,arguments):n.call(r,e):n.call(r)}return e._length=n.length,e}function g(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function N(e,t){for(var n in t)e[n]=t[n];return e}function R(e,t,n){}var k=function(e,t,n){return!1},S=function(e){return e};function O(t,n){if(t===n)return!0;var e=b(t),r=b(n);if(!e||!r)return!e&&!r&&String(t)===String(n);try{var o=Array.isArray(t),i=Array.isArray(n);if(o&&i)return t.length===n.length&&t.every(function(e,t){return O(e,n[t])});if(o||i)return!1;var a=Object.keys(t),s=Object.keys(n);return a.length===s.length&&a.every(function(e){return O(t[e],n[e])})}catch(e){return!1}}function C(e,t){for(var n=0;n<e.length;n++)if(O(e[n],t))return n;return-1}function D(e){var t=!1;return function(){t||(t=!0,e.apply
(this,arguments))}}var F="data-server-rendered",x=["component","directive","filter"],E=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],$={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:k,isReservedAttr:k,isUnknownElement:k,getTagNamespace:R,parsePlatformTagName:S,mustUseProp:k,_lifecycleHooks:E};function A(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var P=/[^\w.$]/;var V,J="__proto__"in{},L="undefined"!=typeof window,W="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,q=W&&WXEnvironment.platform.toLowerCase(),U=L&&window.navigator.userAgent.toLowerCase(),B=(U&&/msie|trident/.test(U),U&&0<U.indexOf("msie 9.0")),z=U&&0<U.indexOf("edge/"),H=(U&&U.indexOf("android"),U&&/iphone|ipad|ipod|ios/.t
est(U)||"ios"===q),X=(U&&/chrome\/\d+/.test(U),{}.watch);if(L)try{var G={};Object.defineProperty(G,"passive",{get:function(){}}),window.addEventListener("test-passive",null,G)}catch(e){}var K=function(){return void 0===V&&(V=!L&&!W&&void 0!==global&&"server"===global.process.env.VUE_ENV),V},Z=L&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Y(e){return"function"==typeof e&&/native code/.test(e.toString())}var Q,ee="undefined"!=typeof Symbol&&Y(Symbol)&&"undefined"!=typeof Reflect&&Y(Reflect.ownKeys);Q="undefined"!=typeof Set&&Y(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var te=R,ne=0,re=function(){this.id=ne++,this.subs=[]};re.prototype.addSub=function(e){this.subs.push(e)},re.prototype.removeSub=function(e){l(this.subs,e)},re.prototype.depend=function(){re.target&&re.target.addDep(this)},re.prototype
.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},re.target=null;var oe=[];var ie=function(e,t,n,r,o,i,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ae={child:{configurable:!0}};ae.child.get=function(){return this.componentInstance},Object.defineProperties(ie.prototype,ae);var se=function(e){void 0===e&&(e="");var t=new ie;return t.text=e,t.isComment=!0,t};function ce(e){return new ie(void 0,void 0,void 0,String(e))}var le=Array.prototype,ue=Object.create(le);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(a){var s=le[a];A(ue,a,function(){for(var e=a
rguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r,o=s.apply(this,t),i=this.__ob__;switch(a){case"push":case"unshift":r=t;break;case"splice":r=t.slice(2)}return r&&i.observeArray(r),i.dep.notify(),o})});var fe=Object.getOwnPropertyNames(ue),pe={shouldConvert:!0},de=function(e){(this.value=e,this.dep=new re,this.vmCount=0,A(e,"__ob__",this),Array.isArray(e))?((J?he:ve)(e,ue,fe),this.observeArray(e)):this.walk(e)};function he(e,t,n){e.__proto__=t}function ve(e,t,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];A(e,i,t[i])}}function me(e,t){var n;if(b(e)&&!(e instanceof ie))return f(e,"__ob__")&&e.__ob__ instanceof de?n=e.__ob__:pe.shouldConvert&&!K()&&(Array.isArray(e)||u(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new de(e)),t&&n&&n.vmCount++,n}function ye(n,e,r,t,o){var i=new re,a=Object.getOwnPropertyDescriptor(n,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set,l=!o&&me(r);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(n):r;return re.t
arget&&(i.depend(),l&&(l.dep.depend(),Array.isArray(e)&&function e(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(e))),e},set:function(e){var t=s?s.call(n):r;e===t||e!=e&&t!=t||(c?c.call(n,e):r=e,l=!o&&me(e),i.notify())}})}}function ge(e,t,n){if(Array.isArray(e)&&i(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(ye(r.value,t,n),r.dep.notify(),n):e[t]=n}function _e(e,t){if(Array.isArray(e)&&i(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||f(e,t)&&(delete e[t],n&&n.dep.notify())}}de.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)ye(e,t[n],e[t[n]])},de.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)me(e[t])};var be=$.optionMergeStrategies;function we(e,t){if(!t)return e;for(var n,r,o,i=Object.keys(t),a=0;a<i.length;a++)r=e[n=i[a]],o=t[n],f(e,n)?u(r)&&u(o)&&we(r
,o):ge(e,n,o);return e}function ke(n,r,o){return o?function(){var e="function"==typeof r?r.call(o,o):r,t="function"==typeof n?n.call(o,o):n;return e?we(e,t):t}:r?n?function(){return we("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Se(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Oe(e,t,n,r){var o=Object.create(e||null);return t?N(o,t):o}be.data=function(e,t,n){return n?ke(e,t,n):t&&"function"!=typeof t?e:ke(e,t)},E.forEach(function(e){be[e]=Se}),x.forEach(function(e){be[e+"s"]=Oe}),be.watch=function(e,t,n,r){if(e===X&&(e=void 0),t===X&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var o={};for(var i in N(o,e),t){var a=o[i],s=t[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},be.props=be.methods=be.inject=be.computed=function(e,t,n,r){if(!e)return t;var o=Object.create(null);return N(o,e),t&&N(o,t),o},be.provide=ke;var Ce=function(e,t){return void 0===t?e:t};function xe
(n,r,o){"function"==typeof r&&(r=r.options),function(e,t){var n=e.props;if(n){var r,o,i={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(o=n[r])&&(i[h(o)]={type:null});else if(u(n))for(var a in n)o=n[a],i[h(a)]=u(o)?o:{type:o};e.props=i}}(r),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(u(n))for(var i in n){var a=n[i];r[i]=u(a)?N({from:i},a):{from:a}}}}(r),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(r);var e=r.extends;if(e&&(n=xe(n,e,o)),r.mixins)for(var t=0,i=r.mixins.length;t<i;t++)n=xe(n,r.mixins[t],o);var a,s={};for(a in n)c(a);for(a in r)f(n,a)||c(a);function c(e){var t=be[e]||Ce;s[e]=t(n[e],r[e],o,e)}return s}function Ee(e,t,n,r){if("string"==typeof n){var o=e[t];if(f(o,n))return o[n];var i=h(n);if(f(o,i))return o[i];var a=v(i);return f(o,a)?o[a]:o[n]||o[i]||o[a]}}function $e(e,t,n,r){var o=t[e],i=!f(n,e),a=n[e];if(je(
Boolean,o.type)&&(i&&!f(o,"default")?a=!1:je(String,o.type)||""!==a&&a!==w(e)||(a=!0)),void 0===a){a=function(e,t,n){if(!f(t,"default"))return;var r=t.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Ae(t.type)?r.call(e):r}(r,o,e);var s=pe.shouldConvert;pe.shouldConvert=!0,me(a),pe.shouldConvert=s}return a}function Ae(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function je(e,t){if(!Array.isArray(t))return Ae(t)===Ae(e);for(var n=0,r=t.length;n<r;n++)if(Ae(t[n])===Ae(e))return!0;return!1}function Ie(e,t,n){if(t)for(var r=t;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,e,t,n))return}catch(e){Me(e,r,"errorCaptured hook")}}Me(e,t,n)}function Me(e,t,n){if($.errorHandler)try{return $.errorHandler.call(null,e,t,n)}catch(e){Te(e,null,"config.errorHandler")}Te(e,t,n)}function Te(e,t,n){if(!L&&!W||"undefined"==ty
peof console)throw e;console.error(e)}var Fe,Pe,Ne=[],Re=!1;function De(){Re=!1;for(var e=Ne.slice(0),t=Ne.length=0;t<e.length;t++)e[t]()}var Ve=!1;if("undefined"!=typeof setImmediate&&Y(setImmediate))Pe=function(){setImmediate(De)};else if("undefined"==typeof MessageChannel||!Y(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Pe=function(){setTimeout(De,0)};else{var Je=new MessageChannel,Le=Je.port2;Je.port1.onmessage=De,Pe=function(){Le.postMessage(1)}}if("undefined"!=typeof Promise&&Y(Promise)){var We=Promise.resolve();Fe=function(){We.then(De),H&&setTimeout(R)}}else Fe=Pe;function qe(e,t){var n;if(Ne.push(function(){if(e)try{e.call(t)}catch(e){Ie(e,t,"nextTick")}else n&&n(t)}),Re||(Re=!0,Ve?Pe():Fe()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Ue=new Q;function Be(e){!function e(t,n){var r,o;var i=Array.isArray(t);if(!i&&!b(t)||Object.isFrozen(t))return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}i
f(i)for(r=t.length;r--;)e(t[r],n);else for(o=Object.keys(t),r=o.length;r--;)e(t[o[r]],n)}(e,Ue),Ue.clear()}var ze,He=p(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function Xe(e){function o(){var e=arguments,t=o.fns;if(!Array.isArray(t))return t.apply(null,arguments);for(var n=t.slice(),r=0;r<n.length;r++)n[r].apply(null,e)}return o.fns=e,o}function Ge(e,t,n,r,o){var i,a,s,c,l;for(i in e)a=s=e[i],c=t[i],l=He(i),u(a)&&(s=a.handler,l.params=a.params),j(s)||(j(c)?(j(s.fns)&&(s=e[i]=Xe(s)),n(l.name,s,l.once,l.capture,l.passive,l.params)):s!==c&&(c.fns=s,e[i]=c));for(i in t)j(e[i])&&r((l=He(i)).name,t[i],l.capture)}function Ke(e,t,n){var r;e instanceof ie&&(e=e.data.hook||(e.data.hook={}));var o=e[t];function i(){n.apply(this,arguments),l(r.fns,i)}j(o)?r=Xe([i]):I(o.fns)&&M(o.merged)?(r=o).fns.push(i):r=Xe([o,i]),r.merged=!0,e[t]=r}function Ze(e,t,n,r,o){if(I(t)){if
(f(t,n))return e[n]=t[n],o||delete t[n],!0;if(f(t,r))return e[n]=t[r],o||delete t[r],!0}return!1}function Ye(e){return T(e)?[ce(e)]:Array.isArray(e)?function e(t,n){var r=[];var o,i,a,s;for(o=0;o<t.length;o++)j(i=t[o])||"boolean"==typeof i||(a=r.length-1,s=r[a],Array.isArray(i)?0<i.length&&(Qe((i=e(i,(n||"")+"_"+o))[0])&&Qe(s)&&(r[a]=ce(s.text+i[0].text),i.shift()),r.push.apply(r,i)):T(i)?Qe(s)?r[a]=ce(s.text+i):""!==i&&r.push(ce(i)):Qe(i)&&Qe(s)?r[a]=ce(s.text+i.text):(M(t._isVList)&&I(i.tag)&&j(i.key)&&I(n)&&(i.key="__vlist"+n+"_"+o+"__"),r.push(i)));return r}(e):void 0}function Qe(e){return I(e)&&I(e.text)&&!1===e.isComment}function et(e,t){return(e.__esModule||ee&&"Module"===e[Symbol.toStringTag])&&(e=e.default),b(e)?t.extend(e):e}function tt(e){return e.isComment&&e.asyncFactory}function nt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(I(n)&&(I(n.componentOptions)||tt(n)))return n}}function rt(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$optio
ns._parentListeners;t&&at(e,t)}function ot(e,t,n){n?ze.$once(e,t):ze.$on(e,t)}function it(e,t){ze.$off(e,t)}function at(e,t,n){ze=e,Ge(t,n||{},ot,it),ze=void 0}function st(e,t){var n={};if(!e)return n;for(var r=0,o=e.length;r<o;r++){var i=e[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==t&&i.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var l in n)n[l].every(ct)&&delete n[l];return n}function ct(e){return e.isComment&&!e.asyncFactory||" "===e.text}function lt(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?lt(e[n],t):t[e[n].key]=e[n].fn;return t}var ut=null;function ft(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroye
d=!1,e._isBeingDestroyed=!1}function pt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function dt(e,t){if(t){if(e._directInactive=!1,pt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)dt(e.$children[n]);ht(e,"activated")}}function ht(t,n){var e=t.$options[n];if(e)for(var r=0,o=e.length;r<o;r++)try{e[r].call(t)}catch(e){Ie(e,t,n+" hook")}t._hasHookEvent&&t.$emit("hook:"+n)}var vt=[],mt=[],yt={},gt=!1,_t=!1,bt=0;function wt(){var e,t;for(_t=!0,vt.sort(function(e,t){return e.id-t.id}),bt=0;bt<vt.length;bt++)t=(e=vt[bt]).id,yt[t]=null,e.run();var n=mt.slice(),r=vt.slice();bt=vt.length=mt.length=0,yt={},gt=_t=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,dt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&ht(r,"updated")}}(r),Z&&$.devtools&&Z.emit("flush")}var kt=0,St=function(e,t,n,r,o){this.vm=e,o&&(e._watcher=this),e._watchers.
push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++kt,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Q,this.newDepIds=new Q,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!P.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};St.prototype.get=function(){var e,t;e=this,re.target&&oe.push(re.target),re.target=e;var n=this.vm;try{t=this.getter.call(n,n)}catch(e){if(!this.user)throw e;Ie(e,n,'getter for watcher "'+this.expression+'"')}finally{this.deep&&Be(t),re.target=oe.pop(),this.cleanupDeps()}return t},St.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},St.prototype.cleanupDeps=fun
ction(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},St.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==yt[t]){if(yt[t]=!0,_t){for(var n=vt.length-1;bt<n&&vt[n].id>e.id;)n--;vt.splice(n+1,0,e)}else vt.push(e);gt||(gt=!0,qe(wt))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||b(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Ie(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingD
estroyed||l(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Ot={enumerable:!0,configurable:!0,get:R,set:R};function Ct(e,t,n){Ot.get=function(){return this[t][n]},Ot.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Ot)}function xt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var o=n.$options.propsData||{},i=n._props={},a=n.$options._propKeys=[],e=!n.$parent;pe.shouldConvert=e;var t=function(e){a.push(e);var t=$e(e,r,o,n);ye(i,e,t),e in n||Ct(n,"_props",e)};for(var s in r)t(s);pe.shouldConvert=!0}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?R:y(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;u(t=e._data="function"==typeof t?Et(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,o=(e.$options.methods,n.length);for(;o--;){var i=n[o];r&&f(r,i)||(void 0,36!==(a=(i+"").charCodeAt(0))&&95!==a&&Ct(e,"_data",i))}var a;me(t,!0)}(e):me(e._data={},!0),t.co
mputed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=K();for(var o in t){var i=t[o],a="function"==typeof i?i:i.get;r||(n[o]=new St(e,a||R,R,$t)),o in e||At(e,o,i)}}(e,t.computed),t.watch&&t.watch!==X&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)It(e,n,r[o]);else It(e,n,r)}}(e,t.watch)}function Et(e,t){try{return e.call(t,t)}catch(e){return Ie(e,t,"data()"),{}}}var $t={lazy:!0};function At(e,t,n){var r=!K();"function"==typeof n?(Ot.get=r?jt(t):n,Ot.set=R):(Ot.get=n.get?r&&!1!==n.cache?jt(t):n.get:R,Ot.set=n.set?n.set:R),Object.defineProperty(e,t,Ot)}function jt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),re.target&&e.depend(),e.value}}function It(e,t,n,r){return u(n)&&(n=(r=n).handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Mt(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}function Tt(t){var n=Ft(t.$options.injec
t,t);n&&(pe.shouldConvert=!1,Object.keys(n).forEach(function(e){ye(t,e,n[e])}),pe.shouldConvert=!0)}function Ft(t,e){if(t){for(var n=Object.create(null),r=ee?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){for(var i=r[o],a=t[i].from,s=e;s;){if(s._provided&&a in s._provided){n[i]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[i]){var c=t[i].default;n[i]="function"==typeof c?c.call(e):c}}return n}}function Pt(e,t){var n,r,o,i,a;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,o=e.length;r<o;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(b(e))for(i=Object.keys(e),n=new Array(i.length),r=0,o=i.length;r<o;r++)a=i[r],n[r]=t(e[a],a,r);return I(n)&&(n._isVList=!0),n}function Nt(e,t,n,r){var o,i=this.$scopedSlots[e];if(i)n=n||{},r&&(n=N(N({},r),n)),o=i(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),o=a||t}var s=n&&n.slot;return
s?this.$createElement("template",{slot:s},o):o}function Rt(e){return Ee(this.$options,"filters",e)||S}function Dt(e,t,n,r){var o=$.keyCodes[t]||n;return o?Array.isArray(o)?-1===o.indexOf(e):o!==e:r?w(r)!==t:void 0}function Vt(n,r,o,i,a){if(o)if(b(o)){var s;Array.isArray(o)&&(o=function(e){for(var t={},n=0;n<e.length;n++)e[n]&&N(t,e[n]);return t}(o));var e=function(t){if("class"===t||"style"===t||c(t))s=n;else{var e=n.attrs&&n.attrs.type;s=i||$.mustUseProp(r,e,t)?n.domProps||(n.domProps={}):n.attrs||(n.attrs={})}t in s||(s[t]=o[t],a&&((n.on||(n.on={}))["update:"+t]=function(e){o[t]=e}))};for(var t in o)e(t)}else;return n}function Jt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||Wt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function Lt(e,t,n){return Wt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Wt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&qt(e[r],t+"_"+r,n);else qt
(e,t,n)}function qt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function Ut(e,t){if(t)if(u(t)){var n=e.on=e.on?N({},e.on):{};for(var r in t){var o=n[r],i=t[r];n[r]=o?[].concat(o,i):i}}else;return e}function Bt(e){e._o=Lt,e._n=n,e._s=t,e._l=Pt,e._t=Nt,e._q=O,e._i=C,e._m=Jt,e._f=Rt,e._k=Dt,e._b=Vt,e._v=ce,e._e=se,e._u=lt,e._g=Ut}function zt(e,t,n,i,r){var a=r.options;this.data=e,this.props=t,this.children=n,this.parent=i,this.listeners=e.on||_,this.injections=Ft(a.inject,i),this.slots=function(){return st(n,i)};var s=Object.create(i),o=M(a._compiled),c=!o;o&&(this.$options=a,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||_),a._scopeId?this._c=function(e,t,n,r){var o=fn(s,e,t,n,r,c);return o&&!Array.isArray(o)&&(o.fnScopeId=a._scopeId,o.fnContext=i),o}:this._c=function(e,t,n,r){return fn(s,e,t,n,r,c)}}function Ht(e,t,n,r){e.fnContext=n,e.fnOptions=r,t.slot&&((e.data||(e.data={})).slot=t.slot)}function Xt(e,t){for(var n in t)e[h(n)]=t[n]}Bt(zt.prototype);var Gt="@inRecycleList";f
unction Kt(e,t,n,r){if(o&&o.taskCenter)return"function"==typeof o.taskCenter.registerHook?o.taskCenter.registerHook(e,t,n,r):void 0}var Zt=0;function Yt(e){var t=e.$options.data,n=e.$options.computed||{},r=e._data?Object.assign({},e._data):"function"==typeof t?Et(t,e):t||{},o={};for(var i in n)o[i]=e[i];return Object.assign({},r,o)}function Qt(e){void 0===e&&(e={});var r=this,t=e.componentId;A(r,"_vmTemplate",e.vmTemplate),r._uid=t||"virtual-component-"+Zt++,r._isVue=!0,e&&e._isComponent?wn(r,e):r.$options=xe(kn(r.constructor),e||{},r),ft((r._renderProxy=r)._self=r),rt(r),pn(r),ht(r,"beforeCreate"),Tt(r),xt(r),Mt(r),ht(r,"created"),Kt(t,"lifecycle","attach",function(){ht(r,"beforeMount"),new St(r,function(){return Yt(r)},function(){return r._update(r._vnode,!1)}),r._isMounted=!0,ht(r,"mounted")}),Kt(t,"lifecycle","update",function(){r._update(r._vnode,!1)}),Kt(t,"lifecycle","syncState",function(e,t){if(u(t))for(var n in t)r[n]=t[n];return Yt(r)}),Kt(t,"lifecycle","detach",function()
{r.$destroy(),r._vmTemplate&&(r._vmTemplate.removeVirtualComponent(r._uid),delete r._vmTemplate)})}function en(e){var t=this,n=t.$options.componentId;(t._isMounted&&ht(t,"beforeUpdate"),t._vnode=e,t._isMounted&&n)&&function(e,t,n){if(o&&o.taskCenter)"function"==typeof o.taskCenter.updateData&&o.taskCenter.updateData(e,t,n)}(n,Yt(t),function(){ht(t,"updated")})}function tn(e){void 0===e&&(e={});var t=this;t._uid="virtual-component-template-"+Zt++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),rt(t._self=t),pn(t),xt(t),this.registerVirtualComponent()}function nn(e){var t,n,o,i;delete e.data.attrs[Gt],n=(t=e).componentOptions.Ctor,o=n.extend({}),i=o.prototype.$emit,o.prototype._init=Qt,o.prototype._update=en,o.prototype.$emit=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=this._uid,o=this._vmTemplate;return r&&o&&(t.push(r),i.apply(o,t)),i.apply(this,t)},t.componentOptions.Ctor=n.extend({methods:{registerVirtualComponent:func
tion(){var r=this;A(r,"_virtualComponents",{}),Kt(String(r._uid),"lifecycle","create",function(e,t){var n=new o({vmTemplate:r,componentId:e,propsData:t});return n._uid=e,r._virtualComponents&&(r._virtualComponents[e]=n),Yt(n)})},removeVirtualComponent:function(e){delete this._virtualComponents[e]}},destroyed:function(){delete this._virtualComponents}}),t.componentOptions.Ctor.prototype._init=tn,t.componentOptions.Ctor.prototype._update=R;var r=sn(e),a=r.$options["@render"];if(a)try{return a.call(r)}catch(e){Ie(e,r,"@render")}}var rn={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var o=e;rn.prepatch(o,o)}else{(e.componentInstance=sn(e,ut,n,r)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,o){var i=!!(o||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==_);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=o,e.$attrs=r.data.a
ttrs||_,e.$listeners=n||_,t&&e.$options.props){pe.shouldConvert=!1;for(var a=e._props,s=e.$options._propKeys||[],c=0;c<s.length;c++){var l=s[c];a[l]=$e(l,e.$options.props,t,e)}pe.shouldConvert=!0,e.$options.propsData=t}n=n||_;var u=e.$options._parentListeners;e.$options._parentListeners=n,at(e,n,u),i&&(e.$slots=st(o,r.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,ht(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,mt.push(t)):dt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._directInactive=!0,pt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);ht(t,"deactivated")}}(t,!0):t.$destroy())}},on=Object.keys(rn);function an(e,t,n,r,o){if(!j(e)){var i=n.$options._base;if(b(e)&&(e=i.extend(e)),"function"==typeof e){var
a,s,c,l,u,f,p;if(j(e.cid)&&void 0===(e=function(t,n,e){if(M(t.error)&&I(t.errorComp))return t.errorComp;if(I(t.resolved))return t.resolved;if(M(t.loading)&&I(t.loadingComp))return t.loadingComp;if(!I(t.contexts)){var r=t.contexts=[e],o=!0,i=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},a=D(function(e){t.resolved=et(e,n),o||i()}),s=D(function(e){I(t.errorComp)&&(t.error=!0,i())}),c=t(a,s);return b(c)&&("function"==typeof c.then?j(t.resolved)&&c.then(a,s):I(c.component)&&"function"==typeof c.component.then&&(c.component.then(a,s),I(c.error)&&(t.errorComp=et(c.error,n)),I(c.loading)&&(t.loadingComp=et(c.loading,n),0===c.delay?t.loading=!0:setTimeout(function(){j(t.resolved)&&j(t.error)&&(t.loading=!0,i())},c.delay||200)),I(c.timeout)&&setTimeout(function(){j(t.resolved)&&s(null)},c.timeout))),o=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(e)}(a=e,i,n)))return s=a,c=t,l=n,u=r,f=o,(p=se()).asyncFactory=s,p.asyncMeta={data:c,context:l,children:u,tag:f},p;t=t||{},
kn(e),I(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var o=t.on||(t.on={});I(o[r])?o[r]=[t.model.callback].concat(o[r]):o[r]=t.model.callback}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!j(r)){var o={},i=e.attrs,a=e.props;if(I(i)||I(a))for(var s in r){var c=w(s);Ze(o,a,s,c,!0)||Ze(o,i,s,c,!1)}return o}}(t,e);if(M(e.options.functional))return function(e,t,n,r,o){var i=e.options,a={},s=i.props;if(I(s))for(var c in s)a[c]=$e(c,s,t||_);else I(n.attrs)&&Xt(a,n.attrs),I(n.props)&&Xt(a,n.props);var l=new zt(n,a,o,r,e),u=i.render.call(null,l._c,l);if(u instanceof ie)return Ht(u,n,r,i),u;if(Array.isArray(u)){for(var f=Ye(u)||[],p=0;p<f.length;p++)Ht(f[p],n,r,i);return f}}(e,d,t,n,r);var h=t.on;if(t.on=t.nativeOn,M(e.options.abstract)){var v=t.slot;t={},v&&(t.slot=v)}!function(e){e.hook||(e.hook={});for(var t=0;t<on.length;t++){var n=on[t],r=e.hook[n],o=rn[n];e.hook[n]=r?cn(o,r):o}}(t);
var m,y=e.options.name||o,g=new ie("vue-component-"+e.cid+(y?"-"+y:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:h,tag:o,children:r},a);return(m=g).data.attrs&&Gt in m.data.attrs?nn(g):g}}}function sn(e,t,n,r){var o={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},i=e.data.inlineTemplate;return I(i)&&(o.render=i.render,o.staticRenderFns=i.staticRenderFns),new e.componentOptions.Ctor(o)}function cn(o,i){return function(e,t,n,r){o(e,t,n,r),i(e,t,n,r)}}var ln=1,un=2;function fn(e,t,n,r,o,i){return(Array.isArray(n)||T(n))&&(o=r,r=n,n=void 0),M(i)&&(o=un),function(e,t,n,r,o){if(I(n)&&I(n.__ob__))return se();I(n)&&I(n.is)&&(t=n.is);if(!t)return se();Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);o===un?r=Ye(r):o===ln&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var i,a;if("string"==typeof t){var s;a=e.$vnode&&e.$vnode.ns||$.get
TagNamespace(t),i=$.isReservedTag(t)?new ie($.parsePlatformTagName(t),n,r,void 0,void 0,e):I(s=Ee(e.$options,"components",t))?an(s,n,e,r,t):new ie(t,n,r,void 0,void 0,e)}else i=an(t,n,e,r);return Array.isArray(i)?i:I(i)?(I(a)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(I(t.children))for(var o=0,i=t.children.length;o<i;o++){var a=t.children[o];I(a.tag)&&(j(a.ns)||M(r)&&"svg"!==a.tag)&&e(a,n,r)}}(i,a),I(n)&&function(e){b(e.style)&&Be(e.style);b(e.class)&&Be(e.class)}(n),i):se()}(e,t,n,r,o)}function pn(o){o._vnode=null,o._staticTrees=null;var e=o.$options,t=o.$vnode=e._parentVnode,n=t&&t.context;o.$slots=st(e._renderChildren,n),o.$scopedSlots=_,o._c=function(e,t,n,r){return fn(o,e,t,n,r,!1)},o.$createElement=function(e,t,n,r){return fn(o,e,t,n,r,!0)};var r=t&&t.data;ye(o,"$attrs",r&&r.attrs||_,0,!0),ye(o,"$listeners",e._parentListeners||_,0,!0)}var dn,hn,vn,mn,yn,gn,_n,bn=0;function wn(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode
;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}function kn(e){var t=e.options;if(e.super){var n=kn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,o=e.sealedOptions;for(var i in n)n[i]!==o[i]&&(t||(t={}),t[i]=Sn(n[i],r[i],o[i]));return t}(e);r&&N(e.extendOptions,r),(t=e.options=xe(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Sn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray(t)?t:[t];for(var o=0;o<e.length;o++)(0<=t.indexOf(e[o])||n.indexOf(e[o])<0)&&r.push(e[o]);return r}return e}function On(e){this._init(e)}function Cn(e){e.cid=0;var a=1;e.extend=function(e){e=e||{};var t=this,n=t.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var o=e.name||t.o
ptions.name,i=function(e){this._init(e)};return((i.prototype=Object.create(t.prototype)).constructor=i).cid=a++,i.options=xe(t.options,e),i.super=t,i.options.props&&function(e){var t=e.options.props;for(var n in t)Ct(e.prototype,"_props",n)}(i),i.options.computed&&function(e){var t=e.options.computed;for(var n in t)At(e.prototype,n,t[n])}(i),i.extend=t.extend,i.mixin=t.mixin,i.use=t.use,x.forEach(function(e){i[e]=t[e]}),o&&(i.options.components[o]=i),i.superOptions=t.options,i.extendOptions=e,i.sealedOptions=N({},i.options),r[n]=i}}function xn(e){return e&&(e.Ctor.options.name||e.tag)}function En(e,t){return Array.isArray(e)?-1<e.indexOf(t):"string"==typeof e?-1<e.split(",").indexOf(t):(n=e,"[object RegExp]"===r.call(n)&&e.test(t));var n}function $n(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=xn(a.componentOptions);s&&!t(s)&&An(n,i,r,o)}}}function An(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,l(n,t)}On.prototy
pe._init=function(e){var t=this;t._uid=bn++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),ft((t._renderProxy=t)._self=t),rt(t),pn(t),ht(t,"beforeCreate"),Tt(t),xt(t),Mt(t),ht(t,"created"),t.$options.el&&t.$mount(t.$options.el)},dn=On,hn={get:function(){return this._data}},vn={get:function(){return this._props}},Object.defineProperty(dn.prototype,"$data",hn),Object.defineProperty(dn.prototype,"$props",vn),dn.prototype.$set=ge,dn.prototype.$delete=_e,dn.prototype.$watch=function(e,t,n){if(u(t))return It(this,e,t,n);(n=n||{}).user=!0;var r=new St(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}},yn=/^hook:/,(mn=On).prototype.$on=function(e,t){if(Array.isArray(e))for(var n=0,r=e.length;n<r;n++)this.$on(e[n],t);else(this._events[e]||(this._events[e]=[])).push(t),yn.test(e)&&(this._hasHookEvent=!0);return this},mn.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},
mn.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,o=e.length;r<o;r++)this.$off(e[r],t);return n}var i=n._events[e];if(!i)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,s=i.length;s--;)if((a=i[s])===t||a.fn===t){i.splice(s,1);break}return n},mn.prototype.$emit=function(t){var n=this,e=n._events[t];if(e){e=1<e.length?g(e):e;for(var r=g(arguments,1),o=0,i=e.length;o<i;o++)try{e[o].apply(n,r)}catch(e){Ie(e,n,'event handler for "'+t+'"')}}return n},(gn=On).prototype._update=function(e,t){var n=this;n._isMounted&&ht(n,"beforeUpdate");var r=n.$el,o=n._vnode,i=ut;(ut=n)._vnode=e,o?n.$el=n.__patch__(o,e):(n.$el=n.__patch__(n.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ut=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},gn.prototype.$forceUpdate=function(){this._watcher&&th
is._watcher.update()},gn.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){ht(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||l(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),ht(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}},Bt((_n=On).prototype),_n.prototype.$nextTick=function(e){return qe(e,this)},_n.prototype._render=function(){var t,n=this,e=n.$options,r=e.render,o=e._parentVnode;o&&(n.$scopedSlots=o.data.scopedSlots||_),n.$vnode=o;try{t=r.call(n._renderProxy,n.$createElement)}catch(e){Ie(e,n,"render"),t=n._vnode}return t instanceof ie||(t=se()),t.parent=o,t};var jn,In,Mn,Tn=[String,RegExp,Array],Fn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},created:function(){this.cache=Obje
ct.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)An(this.cache,e,this.keys)},watch:{include:function(t){$n(this,function(e){return En(t,e)})},exclude:function(t){$n(this,function(e){return!En(t,e)})}},render:function(){var e=this.$slots.default,t=nt(e),n=t&&t.componentOptions;if(n){var r=xn(n),o=this.include,i=this.exclude;if(o&&(!r||!En(o,r))||i&&r&&En(i,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,l(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&An(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};jn=On,Mn={get:function(){return $}},Object.defineProperty(jn,"config",Mn),jn.util={warn:te,extend:N,mergeOptions:xe,defineReactive:ye},jn.set=ge,jn.delete=_e,jn.nextTick=qe,jn.options=Object.create(null),x.forEach(function(e){jn.options[e+"s"]=Object.create(null)}),N((jn.options._base=jn).options.components,Fn),jn.use=function
(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1<t.indexOf(e))return this;var n=g(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},jn.mixin=function(e){return this.options=xe(this.options,e),this},Cn(jn),In=jn,x.forEach(function(n){In[n]=function(e,t){return t?("component"===n&&u(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t):this.options[n+"s"][e]}}),Object.defineProperty(On.prototype,"$isServer",{get:K}),Object.defineProperty(On.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),On.version="2.5.13";var Pn=1;function Nn(e){return o.createElement(e)}var Rn=Object.freeze({namespaceMap:{},createElement:Nn,createElementNS:function(e,t){return o.createElement(e+":"+t)},createTextNode:function(e){return new function(e){this.instanceId="",this.nodeId=Pn+
+,this.parentNode=null,this.nodeType=3,this.text=e}(e)},createComment:function(e){return o.createComment(e)},insertBefore:function(e,t,n){if(3!==t.nodeType)e.insertBefore(t,n);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var r=Nn("text");r.setAttr("value",t.text),e.insertBefore(r,n)}},removeChild:function(e,t){3!==t.nodeType?e.removeChild(t):e.setAttr("value","")},appendChild:function(e,t){if(3!==t.nodeType)e.appendChild(t);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var n=Nn("text");n.setAttr("value",t.text),e.appendChild(n)}},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.type},setTextContent:function(e,t){e.parentNode&&e.parentNode.setAttr("value",t)},setAttribute:function(e,t,n){e.setAttr(t,n)},setStyleScope:function(e,t){e.setAttr("@styleScope",t)}}),Dn={create:function(e,t){Vn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Vn(e,!0),Vn(t))},destroy:func
tion(e){Vn(e,!0)}};function Vn(e,t){var n=e.data.ref;if(n){var r=e.context,o=e.componentInstance||e.elm,i=r.$refs;t?Array.isArray(i[n])?l(i[n],o):i[n]===o&&(i[n]=void 0):e.data.refInFor?Array.isArray(i[n])?i[n].indexOf(o)<0&&i[n].push(o):i[n]=[o]:i[n]=o}}s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,mark
er,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0);var Jn=s("text,number,password,search,email,tel,url"),Ln=new ie("",{},[]),Wn=["create","activate","update","remove","destroy"];function qn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&I(e.data)===I(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=I(n=e.data)&&I(n=n.attrs)&&n.type,o=I(n=t.data)&&I(n=n.attrs)&&n.type;return r===o||Jn(r)&&Jn(o)}(e,t)||M(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&j(t.asyncFactory.error))}function Un(e,t,n){var r,o,i={};for(r=t;r<=n;++r)I(o=e[r].key)&&(i[o]=r);return i}var Bn={create:zn,update:zn,destroy:function(e){zn(e,Ln)}};function zn(e,t){(e.data.directives||t.data.directives)&&function(t,n){var e,r,o,i=t===Ln,a=n===Ln,s=Xn(t.data.directives,t.context),c=Xn(n.data.directives,n.context),l=[],u=[];for(e in c)r=s[e],o=c[e],r?(o.oldValue=r.value,Gn(o,"update",n,t),o.def&&o.def.componentUpdated&&u.push(o
)):(Gn(o,"bind",n,t),o.def&&o.def.inserted&&l.push(o));if(l.length){var f=function(){for(var e=0;e<l.length;e++)Gn(l[e],"inserted",n,t)};i?Ke(n,"insert",f):f()}u.length&&Ke(n,"postpatch",function(){for(var e=0;e<u.length;e++)Gn(u[e],"componentUpdated",n,t)});if(!i)for(e in s)c[e]||Gn(s[e],"unbind",t,t,a)}(e,t)}var Hn=Object.create(null);function Xn(e,t){var n,r,o,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=Hn),(i[(o=r,o.rawName||o.name+"."+Object.keys(o.modifiers||{}).join("."))]=r).def=Ee(t.$options,"directives",r.name);return i}function Gn(t,n,r,e,o){var i=t.def&&t.def[n];if(i)try{i(r.elm,t,r,e,o)}catch(e){Ie(e,r.context,"directive "+t.name+" "+n+" hook")}}var Kn=[Dn,Bn];function Zn(e,t){if(e.data.attrs||t.data.attrs){var n,r,o=t.elm,i=e.data.attrs||{},a=t.data.attrs||{};a.__ob__&&(a=t.data.attrs=N({},a));var s="function"==typeof o.setAttrs,c={};for(n in a)r=a[n],i[n]!==r&&(s?c[n]=r:o.setAttr(n,r));for(n in i)null==a[n]&&(s?c[n]=voi
d 0:o.setAttr(n));s&&o.setAttrs(c)}}var Yn={create:Zn,update:Zn};function Qn(e,t){var n=t.elm,r=t.context,o=t.data,i=e.data;if(o.staticClass||o.class||i&&(i.staticClass||i.class)){var a=[],s=i.staticClass;s&&a.push.apply(a,s),i.class&&a.push.apply(a,i.class);var c,l,u,f,p=[],d=o.staticClass;if(d&&p.push.apply(p,d),o.class&&p.push.apply(p,o.class),"function"==typeof n.setClassList)n.setClassList(p);else{var h=(c=a,l=p,u=r.$options.style||{},f={},l.forEach(function(e){var t=u[e];N(f,t)}),c.forEach(function(e){var t=u[e];for(var n in t)f.hasOwnProperty(n)||(f[n]="")}),f);if("function"==typeof n.setStyles)n.setStyles(h);else for(var v in h)n.setStyle(v,h[v])}}}var er,tr,nr={create:Qn,update:Qn};function rr(t,e,n,r,o,i){if(r)console.log("Weex do not support event in bubble phase.");else{if(n){var a=e,s=er;e=function(e){null!==(1===arguments.length?a(e):a.apply(null,arguments))&&or(t,null,null,s)}}if(tr&&tr._virtualComponents){er._context=tr;var c=e;e=function(){for(var e=arguments,t=[],n
=arguments.length;n--;)t[n]=e[n];var r=(t[0]||{}).componentId,o=this._context;r&&this._context&&(o=(this._context._virtualComponents||{})[r]||o);try{!function(e,t,n){void 0===n&&(n=null);var r=e.fns;if(!Array.isArray(r))return"function"==typeof r?r.apply(n,t):e.apply(n,t);for(var o=r.slice(),i=0;i<o.length;i++)o[i].apply(n,t)}(c,t,o)}catch(e){Ie(e,o,"Fail
<TRUNCATED>
[15/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Remove
unless include
Posted by cx...@apache.org.
[WEEX-442][Core] Remove unless include
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/19406510
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/19406510
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/19406510
Branch: refs/heads/release
Commit: 1940651026839f875ac66d101ae30caaae6fc8d6
Parents: 3dcab42
Author: miomin <mi...@foxmail.com>
Authored: Fri Jun 8 11:47:46 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Tue Jun 12 12:44:03 2018 +0800
----------------------------------------------------------------------
weex_core/Source/CMakeLists.txt | 7 +
.../native_render_object_utils_impl_android.cpp | 1 +
.../Source/core/render/action/render_action.h | 9 +-
.../render/action/render_action_add_element.cpp | 24 +-
.../render/action/render_action_add_element.h | 22 +-
.../render/action/render_action_add_event.cpp | 11 +-
.../render/action/render_action_add_event.h | 9 +-
.../render_action_appendtree_createfinish.cpp | 11 +-
.../render_action_appendtree_createfinish.h | 6 +-
.../render/action/render_action_createbody.cpp | 19 +-
.../render/action/render_action_createbody.h | 17 +-
.../action/render_action_createfinish.cpp | 7 +-
.../render/action/render_action_createfinish.h | 6 +-
.../core/render/action/render_action_layout.cpp | 15 +-
.../core/render/action/render_action_layout.h | 16 +-
.../action/render_action_move_element.cpp | 13 +-
.../render/action/render_action_move_element.h | 8 +-
.../action/render_action_remove_element.cpp | 11 +-
.../action/render_action_remove_element.h | 6 +-
.../action/render_action_remove_event.cpp | 15 +-
.../render/action/render_action_remove_event.h | 9 +-
.../render/action/render_action_update_attr.cpp | 8 +-
.../render/action/render_action_update_attr.h | 9 +-
.../action/render_action_update_style.cpp | 14 +-
.../render/action/render_action_update_style.h | 15 +-
.../core/render/manager/render_manager.cpp | 23 +-
.../Source/core/render/manager/render_manager.h | 12 +-
.../core/render/node/factory/i_render_factory.h | 2 +-
.../core/render/node/factory/i_render_object.h | 13 +-
.../render/node/factory/render_appbar_factory.h | 4 +-
.../render/node/factory/render_cell_factory.h | 4 +-
.../core/render/node/factory/render_creator.cpp | 37 +-
.../node/factory/render_indicator_factory.h | 36 --
.../render/node/factory/render_input_factory.h | 36 --
.../render/node/factory/render_list_factory.h | 4 +-
.../render/node/factory/render_mask_factory.h | 4 +-
.../node/factory/render_scroller_factory.h | 4 +-
.../render/node/factory/render_switch_factory.h | 36 --
.../render/node/factory/render_text_factory.h | 4 +-
.../node/factory/render_textarea_factory.h | 36 --
.../core/render/node/factory/render_type.h | 4 -
.../render/node/factory/simple_render_factory.h | 4 +-
.../Source/core/render/node/render_appbar.cpp | 85 +++++
.../Source/core/render/node/render_appbar.h | 62 +---
weex_core/Source/core/render/node/render_cell.h | 2 +-
.../Source/core/render/node/render_indicator.h | 30 --
.../Source/core/render/node/render_input.h | 30 --
.../Source/core/render/node/render_list.cpp | 319 +++++++++++++++++
weex_core/Source/core/render/node/render_list.h | 319 ++---------------
.../Source/core/render/node/render_mask.cpp | 54 +++
weex_core/Source/core/render/node/render_mask.h | 28 +-
.../Source/core/render/node/render_object.cpp | 323 ++++++++++++++++-
.../Source/core/render/node/render_object.h | 348 ++-----------------
.../Source/core/render/node/render_scroller.cpp | 51 +++
.../Source/core/render/node/render_scroller.h | 34 +-
.../Source/core/render/node/render_switch.h | 30 --
.../Source/core/render/node/render_text.cpp | 34 ++
weex_core/Source/core/render/node/render_text.h | 16 +-
.../Source/core/render/node/render_textarea.h | 30 --
.../Source/core/render/page/render_page.cpp | 124 ++++---
weex_core/Source/core/render/page/render_page.h | 58 ++--
61 files changed, 1278 insertions(+), 1250 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/weex_core/Source/CMakeLists.txt b/weex_core/Source/CMakeLists.txt
index d0ef00c..6cb9c18 100644
--- a/weex_core/Source/CMakeLists.txt
+++ b/weex_core/Source/CMakeLists.txt
@@ -19,8 +19,15 @@ set(COMMON_SRCS
./core/render/manager/render_manager.cpp
./core/render/page/render_page.cpp
+
./core/render/node/render_object.cpp
./core/render/node/factory/render_creator.cpp
+ ./core/render/node/render_appbar.cpp
+ ./core/render/node/render_list.cpp
+ ./core/render/node/render_mask.cpp
+ ./core/render/node/render_scroller.cpp
+ ./core/render/node/render_text.cpp
+
./core/render/action/render_action_add_event.cpp
./core/render/action/render_action_remove_event.cpp
./core/render/action/render_action_add_element.cpp
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp b/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
index dbf28a8..9fc1a39 100644
--- a/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
@@ -29,6 +29,7 @@
#include <android/log.h>
#include <core/render/node/render_list.h>
#include <android/base/log_utils.h>
+#include <core/config/core_environment.h>
using namespace WeexCore;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action.h b/weex_core/Source/core/render/action/render_action.h
index 4cee828..e5e3cbc 100644
--- a/weex_core/Source/core/render/action/render_action.h
+++ b/weex_core/Source/core/render/action/render_action.h
@@ -19,16 +19,9 @@
#ifndef WEEXV8_RENDERACTION_H
#define WEEXV8_RENDERACTION_H
-#include <core/layout/layout.h>
-#include <core/render/node/render_object.h>
-#include <core/render/manager/render_manager.h>
-#include <core/render/page/render_page.h>
-#include <string>
-#include <base/TimeUtils.h>
-
namespace WeexCore {
- class render_action {
+ class RenderAction {
public:
virtual void ExecuteAction() = 0;
};
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_add_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.cpp b/weex_core/Source/core/render/action/render_action_add_element.cpp
index 8a69fe5..66dcbfb 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_add_element.cpp
@@ -16,13 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_add_element.h"
+
+#include "core/render/node/render_object.h"
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_add_element.h"
namespace WeexCore {
- RenderActionAddElement::RenderActionAddElement(const std::string &pageId, const RenderObject *render,
- const RenderObject *parent, int index, bool willLayout) {
+ RenderActionAddElement::RenderActionAddElement(const std::string &pageId,
+ const RenderObject *render,
+ const RenderObject *parent, int index,
+ bool willLayout) {
this->mAttributes = render->Attributes();
this->mStyles = render->Styles();
this->mEvents = render->Events();
@@ -38,8 +42,14 @@ namespace WeexCore {
}
void RenderActionAddElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAddElement(mPageId.c_str(), mComponentType.c_str(), mRef.c_str(),
- mIndex, mParentRef.c_str(), mStyles, mAttributes,
- mEvents, mMargins, mPaddings, mBorders, mWillLayout);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAddElement(mPageId.c_str(),
+ mComponentType.c_str(),
+ mRef.c_str(),
+ mIndex, mParentRef.c_str(),
+ mStyles,
+ mAttributes,
+ mEvents, mMargins,
+ mPaddings, mBorders,
+ mWillLayout);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_add_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.h b/weex_core/Source/core/render/action/render_action_add_element.h
index 07968fc..2b9f553 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.h
+++ b/weex_core/Source/core/render/action/render_action_add_element.h
@@ -19,22 +19,30 @@
#ifndef WEEX_PROJECT_ADDELEMENTACTION_H
#define WEEX_PROJECT_ADDELEMENTACTION_H
-#include "render_action.h"
+#include <string>
+#include <map>
+#include <set>
+
+#include "core/render/action/render_action.h"
+#include "core/layout/style.h"
namespace WeexCore {
- class RenderActionAddElement : public render_action {
+ class RenderObject;
+
+ class RenderActionAddElement : public RenderAction {
public:
- explicit RenderActionAddElement(const std::string &pageId, const RenderObject *render, const RenderObject *parent,
- int index, bool willLayout= true);
+ explicit RenderActionAddElement(const std::string &pageId, const RenderObject *render,
+ const RenderObject *parent,
+ int index, bool willLayout = true);
void ExecuteAction();
public:
- StylesMap *mStyles;
- AttributesMap *mAttributes;
- EventsSet *mEvents;
+ std::map<std::string, std::string> *mStyles;
+ std::map<std::string, std::string> *mAttributes;
+ std::set<std::string> *mEvents;
WXCoreMargin mMargins;
WXCorePadding mPaddings;
WXCoreBorderWidth mBorders;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_add_event.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.cpp b/weex_core/Source/core/render/action/render_action_add_event.cpp
index 0d210d0..8005daa 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.cpp
+++ b/weex_core/Source/core/render/action/render_action_add_event.cpp
@@ -16,19 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_add_event.h"
+
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_add_event.h"
namespace WeexCore {
- RenderActionAddEvent::RenderActionAddEvent(const std::string &pageId, const std::string &ref, const std::string &event) {
+ RenderActionAddEvent::RenderActionAddEvent(const std::string &pageId, const std::string &ref,
+ const std::string &event) {
this->mPageId = pageId;
this->mRef = ref;
this->mEvent = event;
}
void RenderActionAddEvent::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAddEvent(mPageId.c_str(), mRef.c_str(), mEvent.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAddEvent(mPageId.c_str(), mRef.c_str(),
+ mEvent.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_add_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.h b/weex_core/Source/core/render/action/render_action_add_event.h
index 0de206b..88ad40f 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.h
+++ b/weex_core/Source/core/render/action/render_action_add_event.h
@@ -19,14 +19,17 @@
#ifndef WEEX_PROJECT_ADDEVENTACTION_H
#define WEEX_PROJECT_ADDEVENTACTION_H
-#include "render_action.h"
+#include <string>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionAddEvent : public render_action {
+ class RenderActionAddEvent : public RenderAction {
public:
- explicit RenderActionAddEvent(const std::string &pageId, const std::string &ref, const std::string &event);
+ explicit RenderActionAddEvent(const std::string &pageId, const std::string &ref,
+ const std::string &event);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
index e7b3999..045f0b6 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
@@ -16,17 +16,20 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include "render_action_appendtree_createfinish.h"
-#include <core/manager/weex_core_manager.h>
+
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_appendtree_createfinish.h"
namespace WeexCore {
- RenderActionAppendTreeCreateFinish::RenderActionAppendTreeCreateFinish(const std::string &pageId, const std::string &ref) {
+ RenderActionAppendTreeCreateFinish::RenderActionAppendTreeCreateFinish(const std::string &pageId,
+ const std::string &ref) {
this->mPageId = pageId;
this->mRef = ref;
}
void RenderActionAppendTreeCreateFinish::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAppendTreeCreateFinish(mPageId.c_str(), mRef.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAppendTreeCreateFinish(mPageId.c_str(),
+ mRef.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
index cdc968c..04cae26 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
@@ -19,11 +19,13 @@
#ifndef WEEX_CORE_RENDER_ACTION_APPENDTREE_CREATEFINISH_H
#define WEEX_CORE_RENDER_ACTION_APPENDTREE_CREATEFINISH_H
-#include "render_action.h"
+#include <string>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionAppendTreeCreateFinish : public render_action {
+ class RenderActionAppendTreeCreateFinish : public RenderAction {
public:
explicit RenderActionAppendTreeCreateFinish(const std::string &pageId, const std::string &ref);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_createbody.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.cpp b/weex_core/Source/core/render/action/render_action_createbody.cpp
index 289cb31..2efd6f0 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.cpp
+++ b/weex_core/Source/core/render/action/render_action_createbody.cpp
@@ -16,12 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_createbody.h"
+
+#include "core/render/node/render_object.h"
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_createbody.h"
namespace WeexCore {
- RenderActionCreateBody::RenderActionCreateBody(const std::string &pageId, const RenderObject *render) {
+ RenderActionCreateBody::RenderActionCreateBody(const std::string &pageId,
+ const RenderObject *render) {
this->mAttributes = render->Attributes();
this->mStyles = render->Styles();
this->mEvents = render->Events();
@@ -34,8 +37,12 @@ namespace WeexCore {
}
void RenderActionCreateBody::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callCreateBody(mPageId.c_str(), mComponentType.c_str(), mRef.c_str(),
- mStyles, mAttributes, mEvents,
- mMargins, mPaddings, mBorders);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callCreateBody(mPageId.c_str(),
+ mComponentType.c_str(),
+ mRef.c_str(),
+ mStyles, mAttributes,
+ mEvents,
+ mMargins, mPaddings,
+ mBorders);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_createbody.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.h b/weex_core/Source/core/render/action/render_action_createbody.h
index 90b9827..623b5a0 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.h
+++ b/weex_core/Source/core/render/action/render_action_createbody.h
@@ -19,10 +19,17 @@
#ifndef WEEX_PROJECT_CREATEBODYACTION_H
#define WEEX_PROJECT_CREATEBODYACTION_H
-#include "render_action.h"
+#include <string>
+#include <map>
+#include <set>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionCreateBody : public render_action {
+
+ class RenderObject;
+
+ class RenderActionCreateBody : public RenderAction {
public:
explicit RenderActionCreateBody(const std::string &pageId, const RenderObject *render);
@@ -30,9 +37,9 @@ namespace WeexCore {
void ExecuteAction();
public:
- StylesMap *mStyles;
- AttributesMap *mAttributes;
- EventsSet *mEvents;
+ std::map<std::string, std::string> *mStyles;
+ std::map<std::string, std::string> *mAttributes;
+ std::set<std::string> *mEvents;
WXCoreMargin mMargins;
WXCorePadding mPaddings;
WXCoreBorderWidth mBorders;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_createfinish.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.cpp b/weex_core/Source/core/render/action/render_action_createfinish.cpp
index 9c2b9fe..13559c1 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.cpp
+++ b/weex_core/Source/core/render/action/render_action_createfinish.cpp
@@ -16,8 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_createfinish.h"
+
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_createfinish.h"
namespace WeexCore {
@@ -26,6 +27,6 @@ namespace WeexCore {
}
void RenderActionCreateFinish::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callCreateFinish(mPageId.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callCreateFinish(mPageId.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.h b/weex_core/Source/core/render/action/render_action_createfinish.h
index 0b3407e..9beb99a 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_createfinish.h
@@ -19,11 +19,13 @@
#ifndef WEEX_PROJECT_CREATEFINISHACTION_H
#define WEEX_PROJECT_CREATEFINISHACTION_H
-#include "render_action.h"
+#include <string>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionCreateFinish : public render_action {
+ class RenderActionCreateFinish : public RenderAction {
public:
explicit RenderActionCreateFinish(const std::string &pageId);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_layout.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.cpp b/weex_core/Source/core/render/action/render_action_layout.cpp
index 67b34b9..366c6ba 100644
--- a/weex_core/Source/core/render/action/render_action_layout.cpp
+++ b/weex_core/Source/core/render/action/render_action_layout.cpp
@@ -16,12 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_layout.h"
+
+#include "core/render/node/render_object.h"
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_layout.h"
namespace WeexCore {
- RenderActionLayout::RenderActionLayout(const std::string &pageId, const RenderObject *render,int index) {
+ RenderActionLayout::RenderActionLayout(const std::string &pageId, const RenderObject *render,
+ int index) {
this->mPageId = pageId;
this->mRef = render->Ref();
this->index = index;
@@ -29,9 +32,9 @@ namespace WeexCore {
}
void RenderActionLayout::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callLayout(mPageId.c_str(), mRef.c_str(),
- mTop, mBottom, mLeft, mRight,
- mHeight, mWidth, index);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callLayout(mPageId.c_str(), mRef.c_str(),
+ mTop, mBottom, mLeft, mRight,
+ mHeight, mWidth, index);
}
void RenderActionLayout::GetLayoutInfo(const WXCoreLayoutNode *node) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_layout.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.h b/weex_core/Source/core/render/action/render_action_layout.h
index 868e476..18eeb5b 100644
--- a/weex_core/Source/core/render/action/render_action_layout.h
+++ b/weex_core/Source/core/render/action/render_action_layout.h
@@ -19,21 +19,29 @@
#ifndef WEEX_PROJECT_RELAYOUTRENDERACTION_H
#define WEEX_PROJECT_RELAYOUTRENDERACTION_H
-#include "render_action.h"
+#include <string>
+#include <set>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionLayout : public render_action {
+ class RenderObject;
+
+ class WXCoreLayoutNode;
+
+ class RenderActionLayout : public RenderAction {
public:
- explicit RenderActionLayout(const std::string &pageId, const RenderObject *render, const int index);
+ explicit RenderActionLayout(const std::string &pageId, const RenderObject *render,
+ const int index);
void ExecuteAction();
void GetLayoutInfo(const WXCoreLayoutNode *node);
public:
- EventsSet *mEvents;
+ std::set<std::string> *mEvents;
std::string mPageId;
std::string mRef;
float mWidth;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_move_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.cpp b/weex_core/Source/core/render/action/render_action_move_element.cpp
index 5c80218..ca2b88e 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_move_element.cpp
@@ -16,12 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_move_element.h"
+
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_move_element.h"
namespace WeexCore {
- RenderActionMoveElement::RenderActionMoveElement(const std::string &pageId, const std::string &ref,
+ RenderActionMoveElement::RenderActionMoveElement(const std::string &pageId,
+ const std::string &ref,
const std::string &parentRef, int index) {
this->mPageId = pageId;
this->mRef = ref;
@@ -30,6 +32,9 @@ namespace WeexCore {
}
void RenderActionMoveElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callMoveElement(mPageId.c_str(), mRef.c_str(), mParentRef.c_str(), mIndex);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callMoveElement(mPageId.c_str(),
+ mRef.c_str(),
+ mParentRef.c_str(),
+ mIndex);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_move_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.h b/weex_core/Source/core/render/action/render_action_move_element.h
index 56db80b..cc0fced 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.h
+++ b/weex_core/Source/core/render/action/render_action_move_element.h
@@ -19,15 +19,17 @@
#ifndef WEEX_PROJECT_RENDERACTIONMOVEELEMENT_H
#define WEEX_PROJECT_RENDERACTIONMOVEELEMENT_H
-#include "render_action.h"
+#include <string>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionMoveElement : public render_action {
+ class RenderActionMoveElement : public RenderAction {
public:
explicit RenderActionMoveElement(const std::string &pageId, const std::string &ref,
- const std::string &parentRef, int index);
+ const std::string &parentRef, int index);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_remove_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.cpp b/weex_core/Source/core/render/action/render_action_remove_element.cpp
index 3557438..ba17af5 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_remove_element.cpp
@@ -16,17 +16,20 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_remove_element.h"
+
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_remove_element.h"
namespace WeexCore {
- RenderActionRemoveElement::RenderActionRemoveElement(const std::string &pageId, const std::string &ref) {
+ RenderActionRemoveElement::RenderActionRemoveElement(const std::string &pageId,
+ const std::string &ref) {
this->mPageId = pageId;
this->mRef = ref;
}
void RenderActionRemoveElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveElement(mPageId.c_str(), mRef.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveElement(mPageId.c_str(),
+ mRef.c_str());
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_remove_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.h b/weex_core/Source/core/render/action/render_action_remove_element.h
index d4342f1..b8d50b3 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.h
+++ b/weex_core/Source/core/render/action/render_action_remove_element.h
@@ -19,11 +19,13 @@
#ifndef WEEX_PROJECT_RENDERACTIONREMOVEELEMENT_H
#define WEEX_PROJECT_RENDERACTIONREMOVEELEMENT_H
-#include "render_action.h"
+#include <string>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionRemoveElement : public render_action {
+ class RenderActionRemoveElement : public RenderAction {
public:
explicit RenderActionRemoveElement(const std::string &pageId, const std::string &ref);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_remove_event.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.cpp b/weex_core/Source/core/render/action/render_action_remove_event.cpp
index 5588112..06e21d4 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.cpp
+++ b/weex_core/Source/core/render/action/render_action_remove_event.cpp
@@ -16,20 +16,23 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include "render_action_remove_event.h"
-#include <core/manager/weex_core_manager.h>
+
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_remove_event.h"
namespace WeexCore {
- RenderActionRemoveEvent::RenderActionRemoveEvent(const std::string &pageId, const std::string &ref, const std::string &event) {
+ RenderActionRemoveEvent::RenderActionRemoveEvent(const std::string &pageId,
+ const std::string &ref,
+ const std::string &event) {
this->mPageId = pageId;
this->mRef = ref;
this->mEvent = event;
}
void RenderActionRemoveEvent::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveEvent(mPageId.c_str(), mRef.c_str(), mEvent.c_str());
- //Bridge_Impl_Android::getInstance()->callRemoveEvent(mPageId.c_str(), mRef.c_str(), mEvent.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveEvent(mPageId.c_str(),
+ mRef.c_str(),
+ mEvent.c_str());
}
-
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_remove_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.h b/weex_core/Source/core/render/action/render_action_remove_event.h
index 47ffe78..a772a6a 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.h
+++ b/weex_core/Source/core/render/action/render_action_remove_event.h
@@ -19,14 +19,17 @@
#ifndef WEEX_PROJECT_REMOVEEVENTACTION_H
#define WEEX_PROJECT_REMOVEEVENTACTION_H
-#include "render_action.h"
+#include <string>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionRemoveEvent : public render_action {
+ class RenderActionRemoveEvent : public RenderAction {
public:
- explicit RenderActionRemoveEvent(const std::string &pageId, const std::string &ref, const std::string &event);
+ explicit RenderActionRemoveEvent(const std::string &pageId, const std::string &ref,
+ const std::string &event);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_update_attr.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.cpp b/weex_core/Source/core/render/action/render_action_update_attr.cpp
index c662c1d..7aa6d3f 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.cpp
+++ b/weex_core/Source/core/render/action/render_action_update_attr.cpp
@@ -16,8 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_update_attr.h"
+
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_update_attr.h"
namespace WeexCore {
@@ -29,6 +30,7 @@ namespace WeexCore {
}
void RenderActionUpdateAttr::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateAttr(mPageId.c_str(), mRef.c_str(), mAttrs);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateAttr(mPageId.c_str(),
+ mRef.c_str(), mAttrs);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_update_attr.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.h b/weex_core/Source/core/render/action/render_action_update_attr.h
index c9eeec1..3e74c01 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.h
+++ b/weex_core/Source/core/render/action/render_action_update_attr.h
@@ -19,15 +19,18 @@
#ifndef WEEX_PROJECT_UPDATEATTRACTION_H
#define WEEX_PROJECT_UPDATEATTRACTION_H
-#include "render_action.h"
+#include <string>
+#include <vector>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionUpdateAttr : public render_action {
+ class RenderActionUpdateAttr : public RenderAction {
public:
explicit RenderActionUpdateAttr(const std::string &pageId, const std::string &ref,
- std::vector<std::pair<std::string, std::string>> *mAttrs);
+ std::vector<std::pair<std::string, std::string>> *mAttrs);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_update_style.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.cpp b/weex_core/Source/core/render/action/render_action_update_style.cpp
index e694db5..9b2f6a2 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.cpp
+++ b/weex_core/Source/core/render/action/render_action_update_style.cpp
@@ -16,12 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/manager/weex_core_manager.h>
-#include "render_action_update_style.h"
+
+#include "core/manager/weex_core_manager.h"
+#include "core/render/action/render_action_update_style.h"
namespace WeexCore {
- RenderActionUpdateStyle::RenderActionUpdateStyle(const std::string &pageId, const std::string &ref,
+ RenderActionUpdateStyle::RenderActionUpdateStyle(const std::string &pageId,
+ const std::string &ref,
std::vector<std::pair<std::string, std::string>> *style,
std::vector<std::pair<std::string, std::string>> *margin,
std::vector<std::pair<std::string, std::string>> *padding,
@@ -35,7 +37,9 @@ namespace WeexCore {
}
void RenderActionUpdateStyle::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateStyle(mPageId.c_str(), mRef.c_str(), mStyle, mMargin,
- mPadding, mBorder);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateStyle(mPageId.c_str(),
+ mRef.c_str(), mStyle,
+ mMargin,
+ mPadding, mBorder);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/action/render_action_update_style.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.h b/weex_core/Source/core/render/action/render_action_update_style.h
index e9d9f53..e2d6aa4 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.h
+++ b/weex_core/Source/core/render/action/render_action_update_style.h
@@ -19,19 +19,22 @@
#ifndef WEEX_PROJECT_UPDATESTYLEACTION_H
#define WEEX_PROJECT_UPDATESTYLEACTION_H
-#include "render_action.h"
+#include <string>
+#include <vector>
+
+#include "core/render/action/render_action.h"
namespace WeexCore {
- class RenderActionUpdateStyle : public render_action {
+ class RenderActionUpdateStyle : public RenderAction {
public:
explicit RenderActionUpdateStyle(const std::string &pageId, const std::string &ref,
- std::vector<std::pair<std::string, std::string>> *style,
- std::vector<std::pair<std::string, std::string>> *margin,
- std::vector<std::pair<std::string, std::string>> *padding,
- std::vector<std::pair<std::string, std::string>> *border);
+ std::vector<std::pair<std::string, std::string>> *style,
+ std::vector<std::pair<std::string, std::string>> *margin,
+ std::vector<std::pair<std::string, std::string>> *padding,
+ std::vector<std::pair<std::string, std::string>> *border);
void ExecuteAction();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/manager/render_manager.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.cpp b/weex_core/Source/core/render/manager/render_manager.cpp
index d271b14..c25987d 100644
--- a/weex_core/Source/core/render/manager/render_manager.cpp
+++ b/weex_core/Source/core/render/manager/render_manager.cpp
@@ -16,17 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/render/manager/render_manager.h>
-#include <core/render/page/render_page.h>
-#include <core/render/node/render_object.h>
-#include <base/TimeUtils.h>
-#include <core/parser/dom_wson.h>
+#include "core/render/manager/render_manager.h"
+#include "core/render/page/render_page.h"
+#include "core/render/node/render_object.h"
+#include "base/TimeUtils.h"
+#include "core/parser/dom_wson.h"
+#include "core/layout/measure_func_adapter.h"
namespace WeexCore {
RenderManager *RenderManager::m_pInstance = nullptr;
- bool RenderManager::CreatePage(std::string pageId, const char* data) {
+ bool RenderManager::CreatePage(std::string pageId, const char *data) {
#if RENDER_LOG
wson_parser parser(data);
@@ -45,7 +46,7 @@ namespace WeexCore {
}
bool RenderManager::AddRenderObject(const std::string &pageId, const std::string &parentRef,
- int index, const char* data) {
+ int index, const char *data) {
RenderPage *page = GetPage(pageId);
if (page == nullptr)
@@ -99,7 +100,7 @@ namespace WeexCore {
}
bool RenderManager::UpdateAttr(const std::string &pageId, const std::string &ref,
- const char* data) {
+ const char *data) {
RenderPage *page = this->GetPage(pageId);
if (page == nullptr)
return false;
@@ -111,7 +112,7 @@ namespace WeexCore {
#endif
long long startTime = getCurrentTime();
- std::vector<std::pair<std::string, std::string>> *attrs = Wson2Pairs(data);
+ std::vector <std::pair<std::string, std::string>> *attrs = Wson2Pairs(data);
page->ParseJsonTime(getCurrentTime() - startTime);
page->updateDirty(true);
@@ -119,7 +120,7 @@ namespace WeexCore {
}
bool RenderManager::UpdateStyle(const std::string &pageId, const std::string &ref,
- const char* data) {
+ const char *data) {
RenderPage *page = this->GetPage(pageId);
if (page == nullptr)
return false;
@@ -131,7 +132,7 @@ namespace WeexCore {
#endif
long long startTime = getCurrentTime();
- std::vector<std::pair<std::string, std::string>> *styles = Wson2Pairs(data);
+ std::vector <std::pair<std::string, std::string>> *styles = Wson2Pairs(data);
page->ParseJsonTime(getCurrentTime() - startTime);
page->updateDirty(true);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/manager/render_manager.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.h b/weex_core/Source/core/render/manager/render_manager.h
index 446001b..3ff9463 100644
--- a/weex_core/Source/core/render/manager/render_manager.h
+++ b/weex_core/Source/core/render/manager/render_manager.h
@@ -21,8 +21,6 @@
#include <map>
#include <string>
-#include <stdbool.h>
-#include <core/layout/measure_func_adapter.h>
namespace WeexCore {
@@ -52,20 +50,20 @@ namespace WeexCore {
void Batch(const std::string &pageId);
// create root node
- bool CreatePage(std::string pageId, const char* data);
+ bool CreatePage(std::string pageId, const char *data);
/** use auto constructor is bad idea, it cann't transfer binary, use char* is better */
bool AddRenderObject(const std::string &pageId, const std::string &parentRef, int index,
- const char* data);
+ const char *data);
bool RemoveRenderObject(const std::string &pageId, const std::string &ref);
bool MoveRenderObject(const std::string &pageId, const std::string &ref,
- const std::string &parentRef, int index);
+ const std::string &parentRef, int index);
- bool UpdateAttr(const std::string &pageId, const std::string &ref, const char* data);
+ bool UpdateAttr(const std::string &pageId, const std::string &ref, const char *data);
- bool UpdateStyle(const std::string &pageId, const std::string &ref, const char* data);
+ bool UpdateStyle(const std::string &pageId, const std::string &ref, const char *data);
bool AddEvent(const std::string &pageId, const std::string &ref, const std::string &event);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/i_render_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/i_render_factory.h b/weex_core/Source/core/render/node/factory/i_render_factory.h
index ea8cda6..f0e4451 100644
--- a/weex_core/Source/core/render/node/factory/i_render_factory.h
+++ b/weex_core/Source/core/render/node/factory/i_render_factory.h
@@ -19,7 +19,7 @@
#ifndef WEEX_PROJECT_IRENDERFACTORY_H
#define WEEX_PROJECT_IRENDERFACTORY_H
-#include "i_render_object.h"
+#include "core/render/node/factory/i_render_object.h"
namespace WeexCore {
class IRenderFactory {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/i_render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/i_render_object.h b/weex_core/Source/core/render/node/factory/i_render_object.h
index 6d13569..da2df7f 100644
--- a/weex_core/Source/core/render/node/factory/i_render_object.h
+++ b/weex_core/Source/core/render/node/factory/i_render_object.h
@@ -20,7 +20,8 @@
#define WEEX_PROJECT_IRENDEROBJECT_H
#include <string>
-#include <core/layout/layout.h>
+
+#include "core/layout/layout.h"
namespace WeexCore {
@@ -50,11 +51,11 @@ namespace WeexCore {
return mType;
}
- void copyFrom(IRenderObject* src){
- WXCoreLayoutNode::copyFrom(src);
- SetRef(src->Ref());
- SetPageId(src->PageId());
- SetType(src->Type());
+ inline void copyFrom(IRenderObject *src) {
+ WXCoreLayoutNode::copyFrom(src);
+ SetRef(src->Ref());
+ SetPageId(src->PageId());
+ SetType(src->Type());
}
private:
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_appbar_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_appbar_factory.h b/weex_core/Source/core/render/node/factory/render_appbar_factory.h
index ab88c69..f8308d2 100644
--- a/weex_core/Source/core/render/node/factory/render_appbar_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_appbar_factory.h
@@ -19,8 +19,8 @@
#ifndef WEEX_PROJECT_RENDERAPPBARFACTORY_H
#define WEEX_PROJECT_RENDERAPPBARFACTORY_H
-#include <core/render/node/render_appbar.h>
-#include "i_render_factory.h"
+#include "core/render/node/render_appbar.h"
+#include "core/render/node/factory/i_render_factory.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_cell_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_cell_factory.h b/weex_core/Source/core/render/node/factory/render_cell_factory.h
index 516df0b..7873cd3 100644
--- a/weex_core/Source/core/render/node/factory/render_cell_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_cell_factory.h
@@ -19,8 +19,8 @@
#ifndef WEEX_PROJECT_RENDERCELLFACTORY_H
#define WEEX_PROJECT_RENDERCELLFACTORY_H
-#include <core/render/node/render_cell.h>
-#include "i_render_factory.h"
+#include "core/render/node/render_cell.h"
+#include "core/render/node/factory/i_render_factory.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_creator.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_creator.cpp b/weex_core/Source/core/render/node/factory/render_creator.cpp
index 7318d40..5c3acfb 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.cpp
+++ b/weex_core/Source/core/render/node/factory/render_creator.cpp
@@ -16,21 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include "render_creator.h"
-#include "i_render_object.h"
-#include "i_render_factory.h"
-#include "render_text_factory.h"
-#include "simple_render_factory.h"
-#include "render_cell_factory.h"
-#include "render_type.h"
-#include "render_indicator_factory.h"
-#include "render_input_factory.h"
-#include "render_list_factory.h"
-#include "render_mask_factory.h"
-#include "render_scroller_factory.h"
-#include "render_switch_factory.h"
-#include "render_textarea_factory.h"
-#include "render_appbar_factory.h"
+#include "core/render/node/factory/render_creator.h"
+#include "core/render/node/factory/i_render_object.h"
+#include "core/render/node/factory/i_render_factory.h"
+#include "core/render/node/factory/render_text_factory.h"
+#include "core/render/node/factory/simple_render_factory.h"
+#include "core/render/node/factory/render_list_factory.h"
+#include "core/render/node/factory/render_mask_factory.h"
+#include "core/render/node/factory/render_scroller_factory.h"
+#include "core/render/node/factory/render_appbar_factory.h"
+#include "core/render/node/factory/render_type.h"
namespace WeexCore {
@@ -40,24 +35,12 @@ namespace WeexCore {
IRenderFactory *factory;
if (type == kRenderText) {
factory = new RenderTextFactory();
- } else if (type == kRenderCell
- || type == kRenderHeader
- || type == kRenderCellSlot) {
- factory = new RenderCellFactory();
- } else if (type == kRenderIndicator) {
- factory = new RenderIndicatorFactory();
- } else if (type == kRenderInput) {
- factory = new RenderInputFactory();
} else if (type == kRenderList || type == kRenderWaterfall || type == kRenderRecycleList) {
factory = new RenderListFactory();
} else if (type == kRenderMask) {
factory = new RenderMaskFactory();
} else if (type == kRenderScroller) {
factory = new RenderScrollerFactory();
- } else if (type == kRenderSwitch) {
- factory = new RenderSwitchFactory();
- } else if (type == kRenderTextArea) {
- factory = new RenderTextAreaFactory();
} else if (type == kRenderAppBar) {
factory = new RenderAppBarFactory();
} else {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_indicator_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_indicator_factory.h b/weex_core/Source/core/render/node/factory/render_indicator_factory.h
deleted file mode 100644
index 7688acf..0000000
--- a/weex_core/Source/core/render/node/factory/render_indicator_factory.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_RENDERINDICATORFACTORY_H
-#define WEEX_PROJECT_RENDERINDICATORFACTORY_H
-
-#include <core/render/node/render_indicator.h>
-#include "i_render_factory.h"
-
-namespace WeexCore {
-
- class RenderIndicatorFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderIndicator();
- }
- };
-
-}
-
-#endif //WEEX_PROJECT_RENDERINDICATORFACTORY_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_input_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_input_factory.h b/weex_core/Source/core/render/node/factory/render_input_factory.h
deleted file mode 100644
index 7e4fe6e..0000000
--- a/weex_core/Source/core/render/node/factory/render_input_factory.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_RENDERINPUTFACTORY_H
-#define WEEX_PROJECT_RENDERINPUTFACTORY_H
-
-#include <core/render/node/render_input.h>
-#include "i_render_factory.h"
-
-namespace WeexCore {
-
- class RenderInputFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderInput();
- }
- };
-
-}
-
-#endif //WEEX_PROJECT_RENDERINPUTFACTORY_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_list_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_list_factory.h b/weex_core/Source/core/render/node/factory/render_list_factory.h
index a1d0254..3964e6a 100644
--- a/weex_core/Source/core/render/node/factory/render_list_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_list_factory.h
@@ -19,8 +19,8 @@
#ifndef WEEX_PROJECT_RENDERLISTFACTORY_H
#define WEEX_PROJECT_RENDERLISTFACTORY_H
-#include <core/render/node/render_list.h>
-#include "i_render_factory.h"
+#include "core/render/node/render_list.h"
+#include "core/render/node/factory/i_render_factory.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_mask_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_mask_factory.h b/weex_core/Source/core/render/node/factory/render_mask_factory.h
index c250b86..92a210e 100644
--- a/weex_core/Source/core/render/node/factory/render_mask_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_mask_factory.h
@@ -19,8 +19,8 @@
#ifndef WEEX_PROJECT_RENDERMASKFACTORY_H
#define WEEX_PROJECT_RENDERMASKFACTORY_H
-#include <core/render/node/render_mask.h>
-#include "i_render_factory.h"
+#include "core/render/node/render_mask.h"
+#include "core/render/node/factory/i_render_factory.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_scroller_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_scroller_factory.h b/weex_core/Source/core/render/node/factory/render_scroller_factory.h
index 0f0f46a..7795bed 100644
--- a/weex_core/Source/core/render/node/factory/render_scroller_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_scroller_factory.h
@@ -19,8 +19,8 @@
#ifndef WEEX_PROJECT_RENDERSCROLLERFACTORY_H
#define WEEX_PROJECT_RENDERSCROLLERFACTORY_H
-#include <core/render/node/render_scroller.h>
-#include "i_render_factory.h"
+#include "core/render/node/render_scroller.h"
+#include "core/render/node/factory/i_render_factory.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_switch_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_switch_factory.h b/weex_core/Source/core/render/node/factory/render_switch_factory.h
deleted file mode 100644
index 558c87d..0000000
--- a/weex_core/Source/core/render/node/factory/render_switch_factory.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_RENDERSWITCHFACTORY_H
-#define WEEX_PROJECT_RENDERSWITCHFACTORY_H
-
-#include <core/render/node/render_switch.h>
-#include "i_render_factory.h"
-
-namespace WeexCore {
-
- class RenderSwitchFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderSwitch();
- }
- };
-
-}
-
-#endif //WEEX_PROJECT_RENDERSWITCHFACTORY_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_text_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_text_factory.h b/weex_core/Source/core/render/node/factory/render_text_factory.h
index edf8ab9..025de76 100644
--- a/weex_core/Source/core/render/node/factory/render_text_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_text_factory.h
@@ -19,8 +19,8 @@
#ifndef WEEX_PROJECT_RENDERTEXTFACTORY_H
#define WEEX_PROJECT_RENDERTEXTFACTORY_H
-#include <core/render/node/render_text.h>
-#include "i_render_factory.h"
+#include "core/render/node/render_text.h"
+#include "core/render/node/factory/i_render_factory.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_textarea_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_textarea_factory.h b/weex_core/Source/core/render/node/factory/render_textarea_factory.h
deleted file mode 100644
index 4d42975..0000000
--- a/weex_core/Source/core/render/node/factory/render_textarea_factory.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_RENDERTEXTAREAFACTORY_H
-#define WEEX_PROJECT_RENDERTEXTAREAFACTORY_H
-
-#include <core/render/node/render_textarea.h>
-#include "i_render_factory.h"
-
-namespace WeexCore {
-
- class RenderTextAreaFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderTextArea();
- }
- };
-
-}
-
-#endif //WEEX_PROJECT_RENDERTEXTAREAFACTORY_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/render_type.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_type.h b/weex_core/Source/core/render/node/factory/render_type.h
index aab8245..46c98ae 100644
--- a/weex_core/Source/core/render/node/factory/render_type.h
+++ b/weex_core/Source/core/render/node/factory/render_type.h
@@ -24,16 +24,12 @@
namespace WeexCore {
constexpr char kRenderCell[] = "cell";
constexpr char kRenderCellSlot[] = "cell-slot";
- constexpr char kRenderIndicator[] = "indicator";
- constexpr char kRenderInput[] = "input";
constexpr char kRenderList[] = "list";
constexpr char kHList[] = "hlist";
constexpr char kRenderRecycleList[] = "recycle-list";
constexpr char kRenderMask[] = "mask";
constexpr char kRenderScroller[] = "scroller";
- constexpr char kRenderSwitch[] = "switch";
constexpr char kRenderText[] = "text";
- constexpr char kRenderTextArea[] = "textarea";
constexpr char kRenderHeader[] = "header";
constexpr char kRenderFooter[] = "footer";
constexpr char kRenderWaterfall[] = "waterfall";
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/factory/simple_render_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/simple_render_factory.h b/weex_core/Source/core/render/node/factory/simple_render_factory.h
index 3adef52..ee1ffca 100644
--- a/weex_core/Source/core/render/node/factory/simple_render_factory.h
+++ b/weex_core/Source/core/render/node/factory/simple_render_factory.h
@@ -19,8 +19,8 @@
#ifndef WEEX_PROJECT_RENDERCOMMONFACTORY_H
#define WEEX_PROJECT_RENDERCOMMONFACTORY_H
-#include <core/render/node/render_object.h>
-#include "i_render_factory.h"
+#include "core/render/node/render_object.h"
+#include "core/render/node/factory/i_render_factory.h"
namespace WeexCore {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_appbar.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_appbar.cpp b/weex_core/Source/core/render/node/render_appbar.cpp
new file mode 100644
index 0000000..9a6a766
--- /dev/null
+++ b/weex_core/Source/core/render/node/render_appbar.cpp
@@ -0,0 +1,85 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#include "core/config/core_environment.h"
+#include "base/ViewUtils.h"
+#include "core/css/constants_name.h"
+#include "core/render/node/render_appbar.h"
+
+namespace WeexCore {
+
+ std::map<std::string, std::string> *RenderAppBar::GetDefaultStyle() {
+ defaultNavWidth = getFloat(
+ WXCoreEnvironment::getInstance()->GetOption("defaultNavWidth").c_str());
+
+ defaultOverflowWidth = getFloat(
+ WXCoreEnvironment::getInstance()->GetOption("defaultOverflowWidth").c_str());
+
+ std::string appbar_color = WXCoreEnvironment::getInstance()->GetOption("appbar_color");
+ std::string appbar_background_color = WXCoreEnvironment::getInstance()->GetOption(
+ "appbar_background_color");
+
+ std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
+ style->insert(std::pair<std::string, std::string>(PADDING_LEFT, "0"));
+ style->insert(std::pair<std::string, std::string>(PADDING_RIGHT, "0"));
+
+ if (!appbar_color.empty() && appbar_color != "" && !StyleExist(COLOR))
+ style->insert(std::pair<std::string, std::string>(COLOR, appbar_color));
+ if (!appbar_background_color.empty() && appbar_background_color != "" &&
+ !StyleExist(BACKGROUND_COLOR))
+ style->insert(std::pair<std::string, std::string>(BACKGROUND_COLOR, appbar_background_color));
+ return style;
+ }
+
+ bool RenderAppBar::StyleExist(const std::string &key) {
+ std::string value = GetStyle(key);
+ return !value.empty() && value != "";
+ }
+
+ StyleType RenderAppBar::ApplyStyle(const std::string &key, const std::string &value,
+ const bool updating) {
+ if (key == PADDING) {
+ UpdateStyleInternal(key,
+ value,
+ 0,
+ [=](float foo) {
+ setPadding(kPaddingLeft, foo + defaultNavWidth),
+ setPadding(kPaddingRight, foo + defaultOverflowWidth),
+ setPadding(kPaddingTop, foo),
+ setPadding(kPaddingBottom, foo);
+ });
+ return kTypePadding;
+ } else if (key == PADDING_LEFT) {
+ UpdateStyleInternal(key,
+ value,
+ 0,
+ [=](float foo) { setPadding(kPaddingLeft, foo + defaultNavWidth); });
+ return kTypePadding;
+ } else if (key == PADDING_RIGHT) {
+ UpdateStyleInternal(key,
+ value,
+ 0,
+ [=](float foo) {
+ setPadding(kPaddingRight, foo + defaultOverflowWidth);
+ });
+ return kTypePadding;
+ } else {
+ return RenderObject::ApplyStyle(key, value, updating);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_appbar.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_appbar.h b/weex_core/Source/core/render/node/render_appbar.h
index d0c85d3..7259bbb 100644
--- a/weex_core/Source/core/render/node/render_appbar.h
+++ b/weex_core/Source/core/render/node/render_appbar.h
@@ -19,72 +19,28 @@
#ifndef WEEX_PROJECT_RENDERAPPBAR_H
#define WEEX_PROJECT_RENDERAPPBAR_H
-#include <core/render/node/render_object.h>
#include <string>
-//#include <android/base/string/string_utils.h>
+
+#include "core/render/node/render_object.h"
namespace WeexCore {
class RenderAppBar : public RenderObject {
private:
- float defaultNavWidth;
- float defaultOverflowWidth;
- std::map<std::string, std::string> *GetDefaultStyle() {
- defaultNavWidth = getFloat(WXCoreEnvironment::getInstance()->GetOption("defaultNavWidth").c_str());
+ std::map<std::string, std::string> *GetDefaultStyle();
- defaultOverflowWidth = getFloat(WXCoreEnvironment::getInstance()->GetOption("defaultOverflowWidth").c_str());
+ bool StyleExist(const std::string &key);
- std::string appbar_color = WXCoreEnvironment::getInstance()->GetOption("appbar_color");
- std::string appbar_background_color = WXCoreEnvironment::getInstance()->GetOption(
- "appbar_background_color");
-
- std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
- style->insert(std::pair<std::string, std::string>(PADDING_LEFT, "0"));
- style->insert(std::pair<std::string, std::string>(PADDING_RIGHT, "0"));
+ public:
- if (!appbar_color.empty() && appbar_color != "" && !StyleExist(COLOR))
- style->insert(std::pair<std::string, std::string>(COLOR, appbar_color));
- if (!appbar_background_color.empty() && appbar_background_color != "" && !StyleExist(BACKGROUND_COLOR))
- style->insert(std::pair<std::string, std::string>(BACKGROUND_COLOR, appbar_background_color));
- return style;
- }
+ StyleType ApplyStyle(const std::string &key, const std::string &value, const bool updating);
- inline bool StyleExist(const std::string &key) {
- std::string value = GetStyle(key);
- return !value.empty() && value != "";
- }
+ private:
- public:
+ float defaultNavWidth;
+ float defaultOverflowWidth;
- StyleType ApplyStyle(const std::string &key, const std::string &value, const bool updating) {
- if (key == PADDING) {
- UpdateStyle(key,
- value,
- 0,
- [=](float foo) {
- setPadding(kPaddingLeft, foo + defaultNavWidth),
- setPadding(kPaddingRight, foo + defaultOverflowWidth),
- setPadding(kPaddingTop, foo),
- setPadding(kPaddingBottom, foo);
- });
- return kTypePadding;
- } else if (key == PADDING_LEFT) {
- UpdateStyle(key,
- value,
- 0,
- [=](float foo) { setPadding(kPaddingLeft, foo + defaultNavWidth); });
- return kTypePadding;
- } else if (key == PADDING_RIGHT) {
- UpdateStyle(key,
- value,
- 0,
- [=](float foo) { setPadding(kPaddingRight, foo + defaultOverflowWidth); });
- return kTypePadding;
- } else {
- return RenderObject::ApplyStyle(key, value, updating);
- }
- }
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_cell.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_cell.h b/weex_core/Source/core/render/node/render_cell.h
index d7e9adc..9a2ced6 100644
--- a/weex_core/Source/core/render/node/render_cell.h
+++ b/weex_core/Source/core/render/node/render_cell.h
@@ -19,7 +19,7 @@
#ifndef WEEX_PROJECT_RENDERCELL_H
#define WEEX_PROJECT_RENDERCELL_H
-#include <core/render/node/render_object.h>
+#include "core/render/node/render_object.h"
namespace WeexCore {
class RenderCell : public RenderObject {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_indicator.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_indicator.h b/weex_core/Source/core/render/node/render_indicator.h
deleted file mode 100644
index 9c3bd00..0000000
--- a/weex_core/Source/core/render/node/render_indicator.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_RENDERINDICATOR_H
-#define WEEX_PROJECT_RENDERINDICATOR_H
-
-#include <core/render/node/render_object.h>
-
-namespace WeexCore {
- class RenderIndicator : public RenderObject {
-
- };
-}
-
-#endif //WEEX_PROJECT_RENDERINDICATOR_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_input.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_input.h b/weex_core/Source/core/render/node/render_input.h
deleted file mode 100644
index ce4a007..0000000
--- a/weex_core/Source/core/render/node/render_input.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_BASICRENDEREDITTEXT_H
-#define WEEX_PROJECT_BASICRENDEREDITTEXT_H
-
-#include <core/render/node/render_object.h>
-
-namespace WeexCore {
- class RenderInput : public RenderObject {
-
- };
-}
-
-#endif //WEEX_PROJECT_BASICRENDEREDITTEXT_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_list.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.cpp b/weex_core/Source/core/render/node/render_list.cpp
new file mode 100644
index 0000000..8c5042c
--- /dev/null
+++ b/weex_core/Source/core/render/node/render_list.cpp
@@ -0,0 +1,319 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#include <cmath>
+
+#include "core/render/node/render_list.h"
+#include "core/css/constants_name.h"
+#include "base/ViewUtils.h"
+#include "core/render/node/factory/render_type.h"
+#include "core/render/node/render_object.h"
+#include "core/render/page/render_page.h"
+
+namespace WeexCore {
+
+ RenderList::~RenderList() {
+ if (cellSlotsCopys.size() > 0) {
+ for (auto it = cellSlotsCopys.begin(); it != cellSlotsCopys.end(); ++it) {
+ RenderObject *child = *it;
+ if (child) {
+ delete child;
+ child = nullptr;
+ }
+ }
+ cellSlotsCopys.clear();
+ }
+
+ if (cellSlots.size() > 0) {
+ for (auto it = cellSlots.begin(); it != cellSlots.end(); ++it) {
+ RenderObject *child = *it;
+ if (child) {
+ delete child;
+ child = nullptr;
+ }
+ }
+ cellSlots.clear();
+ }
+ }
+
+ void RenderList::addCellSlotCopyTrack(RenderObject *cellSlot) {
+ cellSlot->setParent(this, cellSlot);
+ cellSlotsCopys.push_back(cellSlot);
+ }
+
+ std::map<std::string, std::string> *RenderList::GetDefaultStyle() {
+ std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
+
+ bool isVertical = true;
+ RenderObject *parent = (RenderObject *) getParent();
+
+ if (parent != nullptr && !parent->Type().empty()) {
+ if (parent->Type() == kHList) {
+ isVertical = false;
+ } else if (getOrientation() == HORIZONTAL_VALUE) {
+ isVertical = false;
+ }
+ }
+
+ std::string prop = isVertical ? HEIGHT : WIDTH;
+
+ if (prop == HEIGHT && isnan(getStyleHeight()) && !mIsSetFlex) {
+ mIsSetFlex = true;
+ style->insert(std::pair<std::string, std::string>(FLEX, "1"));
+ } else if (prop == WIDTH && isnan(getStyleWidth()) && !mIsSetFlex) {
+ mIsSetFlex = true;
+ style->insert(std::pair<std::string, std::string>(FLEX, "1"));
+ }
+
+ return style;
+ }
+
+ void RenderList::setFlex(const float flex) {
+ mIsSetFlex = true;
+ WXCoreLayoutNode::setFlex(flex);
+ }
+
+ std::map<std::string, std::string> *RenderList::GetDefaultAttr() {
+ if (!mIsPreCalculateCellWidth) {
+ preCalculateCellWidth();
+ }
+ return nullptr;
+ }
+
+ void RenderList::preCalculateCellWidth() {
+ std::map<std::string, std::string> *attrs = new std::map<std::string, std::string>();
+ if (Attributes() != nullptr) {
+ mColumnCount = getColumnCount();
+ mColumnWidth = getColumnWidth();
+ mColumnGap = getColumnGap();
+
+ mLeftGap = getLeftGap();
+ mRightGap = getRightGap();
+
+ mAvailableWidth =
+ getStyleWidth() - getWebPxByWidth(getPaddingLeft(), GetRenderPage()->ViewPortWidth()) -
+ getWebPxByWidth(getPaddingRight(), GetRenderPage()->ViewPortWidth());
+
+ if (AUTO_VALUE == mColumnCount && AUTO_VALUE == mColumnWidth) {
+ mColumnCount = COLUMN_COUNT_NORMAL;
+ mColumnWidth = (mAvailableWidth - ((mColumnCount - 1) * mColumnGap)) / mColumnCount;
+ mColumnWidth = mColumnWidth > 0 ? mColumnWidth : 0;
+ } else if (AUTO_VALUE == mColumnWidth && AUTO_VALUE != mColumnCount) {
+ mColumnWidth =
+ (mAvailableWidth - mLeftGap - mRightGap - ((mColumnCount - 1) * mColumnGap)) /
+ mColumnCount;
+ mColumnWidth = mColumnWidth > 0 ? mColumnWidth : 0;
+ } else if (AUTO_VALUE != mColumnWidth && AUTO_VALUE == mColumnCount) {
+ mColumnCount = (int) round(
+ (mAvailableWidth + mColumnGap) / (mColumnWidth + mColumnGap) - 0.5f);
+ mColumnCount = mColumnCount > 0 ? mColumnCount : 1;
+ if (mColumnCount <= 0) {
+ mColumnCount = COLUMN_COUNT_NORMAL;
+ }
+ mColumnWidth =
+ ((mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / mColumnCount) - mColumnGap;
+
+ } else if (AUTO_VALUE != mColumnWidth && AUTO_VALUE != mColumnCount) {
+ int columnCount = (int) round(
+ (mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / (mColumnWidth + mColumnGap) -
+ 0.5f);
+ mColumnCount = columnCount > mColumnCount ? mColumnCount : columnCount;
+ if (mColumnCount <= 0) {
+ mColumnCount = COLUMN_COUNT_NORMAL;
+ }
+ mColumnWidth =
+ ((mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / mColumnCount) - mColumnGap;
+ }
+
+ std::string spanOffsets = calcSpanOffset();
+
+ mIsPreCalculateCellWidth = true;
+ if (getColumnCount() > 0 || getColumnWidth() > 0 || mColumnCount > COLUMN_COUNT_NORMAL) {
+ attrs->insert(std::pair<std::string, std::string>(COLUMN_COUNT, to_string(mColumnCount)));
+ attrs->insert(std::pair<std::string, std::string>(COLUMN_GAP, to_string(mColumnGap)));
+ attrs->insert(std::pair<std::string, std::string>(COLUMN_WIDTH, to_string(mColumnWidth)));
+ }
+ if (spanOffsets.length() > 0) {
+ attrs->insert(std::pair<std::string, std::string>(SPAN_OFFSETS, to_string(spanOffsets)));
+ }
+
+ for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
+ RenderObject::UpdateAttr(iter->first, iter->second);
+ }
+ }
+
+ RenderPage *page = GetRenderPage();
+
+ if (page != nullptr)
+ page->SendUpdateAttrAction(this, attrs);
+
+ if (attrs != nullptr) {
+ attrs->clear();
+ delete attrs;
+ attrs = nullptr;
+ }
+ }
+
+ std::string RenderList::calcSpanOffset() {
+ std::string spanOffsets;
+ if (mLeftGap > 0 || mRightGap > 0) {
+ spanOffsets.append("[");
+ for (int i = 0; i < mColumnCount; i++) {
+ float spanOffset = mLeftGap + i * ((mColumnWidth + mColumnGap) -
+ (mAvailableWidth + mColumnGap) / mColumnCount);
+ spanOffsets.append(to_string(spanOffset));
+ if (i != mColumnCount - 1) {
+ spanOffsets.append(",");
+ }
+ }
+ spanOffsets.append("]");
+ }
+ return spanOffsets;
+ }
+
+ float RenderList::getStyleWidth() {
+ float width = getWebPxByWidth(getLayoutWidth(), GetRenderPage()->ViewPortWidth());
+ if (isnan(width) || width <= 0) {
+ if (getParent() != nullptr) {
+ width = getWebPxByWidth(getParent()->getLayoutWidth(), GetRenderPage()->ViewPortWidth());
+ }
+ if (isnan(width) || width <= 0) {
+ width = getWebPxByWidth(RenderObject::getStyleWidth(), GetRenderPage()->ViewPortWidth());
+ }
+ }
+ if (isnan(width) || width <= 0) {
+ width = GetViewPortWidth();
+ }
+ return width;
+ }
+
+ int RenderList::AddRenderObject(int index, RenderObject *child) {
+ if (Type() == kRenderRecycleList
+ && (child->Type() == kRenderCellSlot || child->Type() == kRenderCell ||
+ child->Type() == kRenderHeader)) {
+ child->setParent(this, child);
+ cellSlots.insert(cellSlots.end(), child);
+ index = -1;
+ } else {
+ index = RenderObject::AddRenderObject(index, child);
+ }
+
+ if (!mIsPreCalculateCellWidth) {
+ preCalculateCellWidth();
+ }
+
+ if (mColumnWidth != 0 && !isnan(mColumnWidth)) {
+ AddRenderObjectWidth(child, false);
+ }
+ return index;
+ }
+
+ void RenderList::AddRenderObjectWidth(RenderObject *child, const bool updating) {
+ if (Type() == kRenderWaterfall || Type() == kRenderRecycleList) {
+ if (child->Type() == kRenderHeader || child->Type() == kRenderFooter) {
+ child->ApplyStyle(WIDTH, to_string(mAvailableWidth), updating);
+ } else if (child->IsSticky()) {
+ child->ApplyStyle(WIDTH, to_string(mAvailableWidth), updating);
+ } else if (child->Type() == kRenderCell || child->Type() == kRenderCellSlot) {
+ child->ApplyStyle(WIDTH, to_string(mColumnWidth), updating);
+ }
+ }
+ }
+
+ void RenderList::UpdateAttr(std::string key, std::string value) {
+ RenderObject::UpdateAttr(key, value);
+
+ if (!GetAttr(COLUMN_COUNT).empty() || !GetAttr(COLUMN_GAP).empty() ||
+ !GetAttr(COLUMN_WIDTH).empty()) {
+ preCalculateCellWidth();
+
+ if (mColumnWidth == 0 && isnan(mColumnWidth)) {
+ return;
+ }
+
+ int count = getChildCount();
+ for (Index i = 0; i < count; i++) {
+ RenderObject *child = GetChild(i);
+ AddRenderObjectWidth(this, true);
+ }
+ }
+ }
+
+ float RenderList::getColumnCount() {
+ std::string columnCount = GetAttr(COLUMN_COUNT);
+
+ if (columnCount.empty() || columnCount == AUTO) {
+ return AUTO_VALUE;
+ }
+
+ float columnCountValue = getFloat(columnCount.c_str());
+ return (columnCountValue > 0 && !isnan(columnCountValue)) ? columnCountValue : AUTO_VALUE;
+ }
+
+ float RenderList::getColumnGap() {
+ std::string columnGap = GetAttr(COLUMN_GAP);
+
+ if (columnGap.empty() || columnGap == NORMAL) {
+ return COLUMN_GAP_NORMAL;
+ }
+
+ float columnGapValue = getFloat(columnGap.c_str());
+ return (columnGapValue > 0 && !isnan(columnGapValue)) ? columnGapValue : AUTO_VALUE;
+ }
+
+ float RenderList::getColumnWidth() {
+ std::string columnWidth = GetAttr(COLUMN_WIDTH);
+
+ if (columnWidth.empty() || columnWidth == AUTO) {
+ return AUTO_VALUE;
+ }
+
+ float columnWidthValue = getFloat(columnWidth.c_str());
+ return (columnWidthValue > 0 && !isnan(columnWidthValue)) ? columnWidthValue : 0;
+ }
+
+ float RenderList::getLeftGap() {
+ std::string leftGap = GetAttr(LEFT_GAP);
+
+ if (leftGap.empty() || leftGap == AUTO) {
+ return 0;
+ }
+
+ float leftGapValue = getFloat(leftGap.c_str());
+ return (leftGapValue > 0 && !isnan(leftGapValue)) ? leftGapValue : 0;
+ }
+
+ float RenderList::getRightGap() {
+ std::string rightGap = GetAttr(RIGHT_GAP);
+
+ if (rightGap.empty() || rightGap == AUTO) {
+ return 0;
+ }
+
+ float rightGapValue = getFloat(rightGap.c_str());
+ return (rightGapValue > 0 && !isnan(rightGapValue)) ? rightGapValue : 0;
+ }
+
+ int RenderList::getOrientation() {
+ std::string direction = GetAttr(SCROLL_DIRECTION);
+ if (HORIZONTAL == direction) {
+ return HORIZONTAL_VALUE;
+ }
+ return VERTICAL_VALUE;
+ }
+}
[29/50] [abbrv] incubator-weex git commit: [WEEX-342][android]
ava.util.ConcurrentModificationException at
java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at
com.taobao.weex.ui.component.WXComponent.applyEvents(WXComponent.java:290)
Posted by cx...@apache.org.
[WEEX-342][android] ava.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at com.taobao.weex.ui.component.WXComponent.applyEvents(WXComponent.java:290)
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a0dacda5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a0dacda5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a0dacda5
Branch: refs/heads/release
Commit: a0dacda5b0c8901b4798710aea0597a66850bd84
Parents: a13225f
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Thu Jun 14 10:56:48 2018 +0800
Committer: jianbai.gbj <ji...@alibaba-inc.com>
Committed: Thu Jun 14 10:56:48 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/ui/component/WXComponent.java | 10 ++++------
.../java/com/taobao/weex/ui/view/gesture/WXGesture.java | 3 ++-
2 files changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a0dacda5/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index cba19d3..9572986 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -290,11 +290,7 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
if (getEvents() == null || getEvents().isEmpty())
return;
WXEvent event = getEvents();
- int size = event.size();
- for(int i=0; i<size; i++){
- if(i >= event.size()){
- break;
- }
+ for(int i=0; i<event.size(); i++){
String type = event.get(i);
addEvent(type);
}
@@ -1450,7 +1446,9 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
if (getEvents().size() < 1) {
return;
}
- for (String event : getEvents()) {
+ WXEvent events = getEvents();
+ for (int i=0; i<events.size(); i++) {
+ String event = events.get(i);
if (event == null) {
continue;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a0dacda5/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
index a27090b..be114a9 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
@@ -140,7 +140,8 @@ public class WXGesture extends GestureDetector.SimpleOnGestureListener implement
if(event == null){
return false;
}
- for(String type : event){
+ for(int i=0; i<event.size(); i++){
+ String type = event.get(i);
if(isStopPropagation(type)){
return true;
}
[35/50] [abbrv] incubator-weex git commit: Merge branch
'release0.19-bugfix' of https://github.com/gubaojian/incubator-weex
Posted by cx...@apache.org.
Merge branch 'release0.19-bugfix' of https://github.com/gubaojian/incubator-weex
This closes #1268
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/0935d64e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0935d64e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0935d64e
Branch: refs/heads/release
Commit: 0935d64e503a6e129545cd7323c874a989b4f7d2
Parents: 38f43ec c60016f
Author: YorkShen <sh...@gmail.com>
Authored: Thu Jun 14 12:04:05 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Jun 14 12:04:05 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/ui/component/WXComponent.java | 10 ++++------
.../java/com/taobao/weex/ui/view/gesture/WXGesture.java | 3 ++-
scripts/generate_apache_release.sh | 1 +
3 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
[47/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.14 (#1274)
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/android/sdk/assets/weex-rax-api.js
----------------------------------------------------------------------
diff --git a/android/sdk/assets/weex-rax-api.js b/android/sdk/assets/weex-rax-api.js
index 4ab5226..cb5f512 100644
--- a/android/sdk/assets/weex-rax-api.js
+++ b/android/sdk/assets/weex-rax-api.js
@@ -1,2 +1,2 @@
-var global=this,process={env:{}};!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";var e,t,n=(function(e){e.exports=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=22)}([function(e,t,n){var r=e.exports.createUniqueKey="undefined"!=typeof Symbol?Symbol:function(e){return"[["+e+"_"+Math.random().toFixed(8).slice(2)+"]]"},o=e.exports.isObject=function(e){return"object"==typeof e&&null!==e};e.exports.LISTENERS=r("lis
teners"),e.exports.CAPTURE=1,e.exports.BUBBLE=2,e.exports.ATTRIBUTE=3,e.exports.newNode=function(e,t,n){var r=o(n);return{listener:e,kind:t,once:r&&Boolean(n.once),passive:r&&Boolean(n.passive),next:null}}},function(e,t,n){var r=n(0),o=n(9),i=n(8),a=r.isObject,u=r.LISTENERS,s=r.CAPTURE,l=r.BUBBLE,c=r.ATTRIBUTE,f=r.newNode,d=o.defineCustomEventTarget,p=i.createEventWrapper,h=i.STOP_IMMEDIATE_PROPAGATION_FLAG,v=i.PASSIVE_LISTENER_FLAG,y="undefined"!=typeof window&&void 0!==window.EventTarget,m=e.exports=function e(){var t=arguments;if(!(this instanceof e)){if(1===arguments.length&&Array.isArray(arguments[0]))return d(e,arguments[0]);if(0<arguments.length){for(var n=Array(arguments.length),r=0;r<arguments.length;++r)n[r]=t[r];return d(e,n)}throw new TypeError("Cannot call a class as a function")}Object.defineProperty(this,u,{value:Object.create(null)})};m.prototype=Object.create((y?window.EventTarget:Object).prototype,{constructor:{value:m,writable:!0,configurable:!0},addEventListener:
{value:function(e,t,n){if(null==t)return!1;if("function"!=typeof t&&"object"!=typeof t)throw new TypeError('"listener" is not an object.');var r=(a(n)?Boolean(n.capture):Boolean(n))?s:l,o=this[u][e];if(null==o)return this[u][e]=f(t,r,n),!0;for(var i=null;null!=o;){if(o.listener===t&&o.kind===r)return!1;o=(i=o).next}return i.next=f(t,r,n),!0},configurable:!0,writable:!0},removeEventListener:{value:function(e,t,n){if(null==t)return!1;for(var r=(a(n)?Boolean(n.capture):Boolean(n))?s:l,o=null,i=this[u][e];null!=i;){if(i.listener===t&&i.kind===r)return null==o?this[u][e]=i.next:o.next=i.next,!0;i=(o=i).next}return!1},configurable:!0,writable:!0},dispatchEvent:{value:function(e){var t=e.type,n=this[u][t];if(null==n)return!0;for(var r=p(e,this),o=null;null!=n&&(n.once?null==o?this[u][t]=n.next:o.next=n.next:o=n,r[v]=n.passive,"function"==typeof n.listener?n.listener.call(this,r):n.kind!==c&&"function"==typeof n.listener.handleEvent&&n.listener.handleEvent(r),!r[h]);)n=n.next;return!r.defau
ltPrevented},configurable:!0,writable:!0}})},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._listeners={}}return r(e,[{key:"_addListener",value:function(e,t,n){return this._listeners[e]=this._listeners[e]||[],this._listeners[e].push({listener:t,once:n}),this}},{key:"on",value:function(e,t){return this._addListener(e,t,!1)}},{key:"once",value:function(e,t){return this._addListener(e,t,!0)}},{key:"off",value:function(e,t){return this._listeners[e]&&this._listeners[e].length&&(t?this._listeners[e]=this._listeners[e].filter(function(e){return!(e.listener===t)}):delete this._listeners[e]),th
is}},{key:"emit",value:function(t,n){var r=this;return this._listeners[t]&&this._listeners[t].forEach(function(e){e.listener.apply(r,[n]),e.once&&r.removeListener(t,e.listener)}),this}}]),e}();t.default=o,e.exports=t.default},function(e,t,n){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}e.exports=function(){var t=function e(t){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.type=t,this.bubbles=Boolean(n.bubbles),this.cancelable=Boolean(n.cancelable)};return{Event:t,CustomEvent:function(e){function r(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};o(this,r);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,e,t));return n.detail=t.detail,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Supe
r expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,t),r}()}}},function(e,t,n){function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.exports=function(e){var t,n={};return n.timing=(r(t={unloadEventStart:0,unloadEventEnd:0,navigationStart:e,redirectStart:0,redirectEnd:0,fetchStart:e,domainLookupStart:e,domainLookupEnd:e,connectStart:e,secureConnectionStart:e},"connectStart",e),r(t,"requestStart",e),r(t,"responseStart",e),r(t,"responseEnd",e),r(t,"domLoading",0),r(t,"domInteractive",0),r(t,"domComplete",0),r(t,"domContentLoadedEventStart",0),r(t,"domContentLoadedEventEnd",0),r(t,"loadEventStart",0),r(t,"loadEventEnd",0),t),n.now=function(){return Date.now()-n.timing.navigationStart},n}},function(e,t,n){e.exports=function(){var e={
},u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return e.btoa=function(e){for(var t,n,r=String(e),o=0,i=u,a="";r.charAt(0|o)||(i="=",o%1);a+=i.charAt(63&t>>8-o%1*8)){if(255<(n=r.charCodeAt(o+=.75)))throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");t=t<<8|n}return a},e.atob=function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,i=0,a="";r=t.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r=u.indexOf(r);return a},e}},function(e,t,n){var o="@weex-module/timer";e.exports=function(n,r){return{setTimeout:function(e,t){return n(o).setTimeout(e,t),r.taskCenter.callbackManager.lastCallbackId.toString()},clearTimeout:function(e){n(o).clearTimeout(e)},setInterval:function(e,t){return n(o).setInterval(e,t),r.taskCenter.callbackManager.lastCallbackId.toString()},clearInterval
:function(e){n(o).clearInterval(e)},requestAnimationFrame:function(e){return n(o).setTimeout(e,16)},cancelAnimationFrame:function(e){n(o).clearTimeout(e)}}}},function(e,t,n){var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=n(1),l="@weex-module/webSocket",c=0,f=1,d=3,p=["close","error","message","open"],h=function e(t,n){u(this,e),this.type=t.toString(),Object.assign(this,n)};e.exports=function(i,a){var e=function(e){function o(e,t){u(this,o);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this)),r=i(l);r.WebSocket,r.onope
n,r.onclose,r.onmessage,r.onerror;return a&&(r.webSocket,r.onOpen,r.onClose,r.onMessage,r.onError),r.WebSocket(e,t),n.readyState=c,(n.websocket=r).onmessage(function(e){n.dispatchEvent(new h("message",e))}),r.onopen(function(e){n.readyState=f,n.dispatchEvent(new h("open"))}),r.onclose(function(e){n.readyState=d,n.dispatchEvent(new h("close",{code:e.code,reason:e.reason}))}),r.onerror(function(e){n.dispatchEvent(new h("error",e))}),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(o,s(p)),r(o,[{key:"close",value:function(e,t){2!==this.readyState&&this.readyState!==d&&(this.readyState=2,this.websocket.close(e,t))}},{key:"send",value:function(e){if("string"!=typeof e)throw new Error("Unsupported data type");this.webso
cket.send(e)}}]),o}();return e.CONNECTING=c,e.OPEN=f,e.CLOSING=2,e.CLOSED=d,e}},function(e,t,n){var r=n(0).createUniqueKey,o=r("stop_immediate_propagation_flag"),i=r("canceled_flag"),a=r("passive_listener_flag"),u=r("original_event"),s=Object.freeze({stopPropagation:Object.freeze({value:function(){var e=this[u];"function"==typeof e.stopPropagation&&e.stopPropagation()},writable:!0,configurable:!0}),stopImmediatePropagation:Object.freeze({value:function(){this[o]=!0;var e=this[u];"function"==typeof e.stopImmediatePropagation&&e.stopImmediatePropagation()},writable:!0,configurable:!0}),preventDefault:Object.freeze({value:function(){if(!this[a]){!0===this.cancelable&&(this[i]=!0);var e=this[u];"function"==typeof e.preventDefault&&e.preventDefault()}},writable:!0,configurable:!0}),defaultPrevented:Object.freeze({get:function(){return this[i]},enumerable:!0,configurable:!0})});e.exports.STOP_IMMEDIATE_PROPAGATION_FLAG=o,e.exports.PASSIVE_LISTENER_FLAG=a,e.exports.createEventWrapper=funct
ion(e,t){var n="number"==typeof e.timeStamp?e.timeStamp:Date.now(),r={type:{value:e.type,enumerable:!0},target:{value:t,enumerable:!0},currentTarget:{value:t,enumerable:!0},eventPhase:{value:2,enumerable:!0},bubbles:{value:Boolean(e.bubbles),enumerable:!0},cancelable:{value:Boolean(e.cancelable),enumerable:!0},timeStamp:{value:n,enumerable:!0},isTrusted:{value:!1,enumerable:!0}};return r[o]={value:!1,writable:!0},r[i]={value:!1,writable:!0},r[a]={value:!1,writable:!0},r[u]={value:e},void 0!==e.detail&&(r.detail={value:e.detail,enumerable:!0}),Object.create(Object.create(e,s),r)}},function(e,t,n){var r=n(0),i=r.LISTENERS,a=r.ATTRIBUTE,u=r.newNode;e.exports.defineCustomEventTarget=function(e,t){function n(){e.call(this)}var r={constructor:{value:n,configurable:!0,writable:!0}};return t.forEach(function(t){r["on"+t]={get:function(){return function(e,t){for(var n=e[i][t];null!=n;){if(n.kind===a)return n.listener;n=n.next}return null}(this,t)},set:function(e){!function(e,t,n){"function"!
=typeof n&&"object"!=typeof n&&(n=null);for(var r=null,o=e[i][t];null!=o;)o.kind===a?null==r?e[i][t]=o.next:r.next=o.next:r=o,o=o.next;null!=n&&(null==r?e[i][t]=u(n,a):r.next=u(n,a))}(this,t,e)},configurable:!0,enumerable:!0}}),n.prototype=Object.create(e.prototype,r),n}},function(e,t,n){var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();var o=n(1),i=0,a=1,u=2,s=3,l=4,c=["abort","error","load","loadstart","progress","timeout","loadend","readystatechange"];e.exports=function(n){var e=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto_
_||Object.getPrototypeOf(t)).call(this));return e.UNSENT=i,e.OPENED=a,e.HEADERS_RECEIVED=u,e.LOADING=s,e.DONE=l,e.readyState=i,e.status=0,e.statusText="",e.timeout=0,e._aborted=!1,e._hasError=!1,e._method=null,e._response="",e._url=null,e._timedOut=!1,e._reset(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.apply(undefined,c)),r(t,[{key:"_reset",value:function(){this.readyState=this.UNSENT,this.responseHeaders=void 0,this.status=0,this._hasError=!1,this._headers={},this._response="",this._responseType="",this._sent=!1,this._lowerCaseResponseHeaders={},this._timedOut=!1}},{key:"getAllResponseHeaders",value:function(){if(!this.responseHeaders)return null;var t=this.responseHeaders||{};return Object.keys(t).ma
p(function(e){return e+": "+t[e]}).join("\r\n")}},{key:"getResponseHeader",value:function(e){var t=this._lowerCaseResponseHeaders[e.toLowerCase()];return void 0!==t?t:null}},{key:"setRequestHeader",value:function(e,t){if(this.readyState!==this.OPENED)throw new Error("Request has not been opened");this._headers[e.toLowerCase()]=String(t)}},{key:"open",value:function(e,t,n){if(this.readyState!==this.UNSENT)throw new Error("Cannot open, already sending");if(void 0!==n&&!n)throw new Error("Synchronous http requests are not supported");if(!t)throw new Error("Cannot load an empty url");this._method=e.toUpperCase(),this._url=t,this._aborted=!1,this.setReadyState(this.OPENED)}},{key:"send",value:function(e){var t=this;if(this.readyState!==this.OPENED)throw new Error("Request has not been opened");if(this._sent)throw new Error("Request has already been sent");this._sent=!0,(0,n("@weex-module/stream").fetch)({method:this._method,url:this._url,headers:this._headers,body:e,type:"text"},function
(e){try{"string"==typeof e&&(e=JSON.parse(e)),t.status=e.status,t.statusText=e.statusText,t.setResponseHeaders(e.headers),e.ok?t._response=e.data:(""!==t._responseType&&"text"!==t._responseType||(t._response=e.data),t._hasError=!0)}catch(e){}t.setReadyState(t.DONE)},function(e){t.status=e.status,t.statusText=e.statusText,t.setResponseHeaders(e.headers),t.setReadyState(e.readyState)})}},{key:"abort",value:function(){this._aborted=!0,this.readyState===this.UNSENT||this.readyState===this.OPENED&&!this._sent||this.readyState===this.DONE||(this._reset(),this.setReadyState(this.DONE)),this._reset()}},{key:"setResponseHeaders",value:function(e){this.responseHeaders=e||null;var n=e||{};this._lowerCaseResponseHeaders=Object.keys(n).reduce(function(e,t){return e[t.toLowerCase()]=n[t],e},{})}},{key:"setReadyState",value:function(e){this.readyState=e,this.dispatchEvent({type:"readystatechange"}),e===this.DONE&&(this._aborted?this.dispatchEvent({type:"abort"}):this._hasError?this._timedOut?this.
dispatchEvent({type:"timeout"}):this.dispatchEvent({type:"error"}):this.dispatchEvent({type:"load"}),this.dispatchEvent({type:"loadend"}))}},{key:"responseType",get:function(){return this._responseType},set:function(e){if(this._sent)throw new Error("Failed to set the 'responseType' property on 'XMLHttpRequest': The response type cannot be set after the request has been sent.");this._responseType=e}},{key:"responseText",get:function(){if(""!==this._responseType&&"text"!==this._responseType)throw new Error("The 'responseText' property is only available if 'responseType' is set to '' or 'text', but it is '"+this._responseType+"'.");return this.readyState<s?"":this._response}},{key:"response",get:function(){var e=this.responseType;return""===e||"text"===e?this.readyState<s||this._hasError?"":this._response:this.readyState!==l?null:void 0}}]),t}();return e.UNSENT=i,e.OPENED=a,e.HEADERS_RECEIVED=u,e.LOADING=s,e.DONE=l,e}},function(e,t,n){e.exports=function(a,n){function r(e){return"string
"!=typeof e&&(e=String(e)),e.toLowerCase()}function o(e){return"string"!=typeof e&&(e=String(e)),e}function i(t){this.originHeaders=t,this.map={},t instanceof i?t.forEach(function(e,t){this.append(t,e)},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function e(){return this.bodyUsed=!1,this._initBody=function(e,t){if("string"==typeof(this._bodyInit=e))this._bodyText=e;else{if(e)throw new Error("unsupported BodyInit type");this._bodyText=""}},this.text=function(){var e=function(e){if(e.bodyUsed)return n.reject(new TypeError("Already read"));e.bodyUsed=!0}(this);return e||n.resolve(this._bodyText)},this.json=function(){return this.text().then(JSON.parse)},this}i.prototype.append=function(e,t){e=r(e),t=o(t);var n=this.map[e];this.map[e]=n?n+","+t:t},i.prototype.delete=function(e){delete this.map[r(e)]},i.prototype.get=function(e){return e=r(e),this.has(e)?this.map[e]:null},i.prototype.has=function(e){return this.map.hasOwnProperty(r(e))},i.prototy
pe.set=function(e,t){this.map[r(e)]=[o(t)]},i.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)};var u=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function s(e,t){var n,r,o=(t=t||{}).body;if(s.prototype.isPrototypeOf(e)){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new i(e.headers)),this.method=e.method,this.mode=e.mode,o||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=e;if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new i(t.headers)),this.method=(n=t.method||this.method||"GET",r=n.toUpperCase(),-1<u.indexOf(r)?r:n),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o,t)}function l(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=200<=thi
s.status&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new i(t.headers),this.url=t.url||"",this._initBody(e,t)}s.prototype.clone=function(){return new s(this)},e.call(s.prototype),e.call(l.prototype),l.prototype.clone=function(){return new l(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},l.error=function(){var e=new l(null,{status:0,statusText:""});return e.type="error",e};var c=[301,302,303,307,308];l.redirect=function(e,t){if(-1===c.indexOf(t))throw new RangeError("Invalid status code");return new l(null,{status:t,headers:{location:e}})};return{fetch:function(t,i){return new n(function(n,r){var o,e={url:(o=s.prototype.isPrototypeOf(t)&&!i?t:new s(t,i)).url,method:o.method,headers:o.headers&&o.headers.originHeaders};void 0!==o._bodyInit&&(e.body=o._bodyInit),e.type=i&&i.dataType?i.dataType:"text",(0,a("@weex-module/stream").fetch)(e,function(e){try{"string"==typeof e&&(e=JSON.parse(e));var
t=new l("string"==typeof e.data?e.data:JSON.stringify(e.data),{status:e.status,statusText:e.statusText,headers:e.headers,url:o.url});n(t)}catch(e){r(e)}},function(e){})})},Headers:i,Request:s,Response:l}}},function(e,t,n){var r="@weex-module/location";e.exports=function(t,e){return e.assign=function(e){t("@weex-module/navigator").push({url:e,animated:"true"},function(e){})},e.replace=function(e){t(r).replace(e)},e.reload=function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0];t(r).reload(e)},e}},function(e,t,n){var r,o=n(2),a=(r=o)&&r.__esModule?r:{default:r};var u="visible",i="hidden",s="visibilitychange";function l(t){t.body.addEvent("viewappear",function(e){t.visibilityState=u,e.type=s,t.dispatchEvent(e)}),t.body.addEvent("viewdisappear",function(e){t.visibilityState=i,e.type=s,t.dispatchEvent(e)})}e.exports=function(t,r){var o=new a.default,n=!1;try{r.addEventListener=function(e,t){e===s&&(r.body?l(r):n=!0),o.on(e,t)},r.removeEventListener=function(e,t){var n;e
===s&&(n=r).body&&(n.body.removeEvent("viewappear"),n.body.removeEvent("viewdisappear")),o.off(e,t)},r.dispatchEvent=function(e){o.emit(e.type,e)},r.fonts={add:function(e){t("@weex-module/dom").addRule("fontFace",{fontFamily:e.family,src:e.source})}},r.visibilityState=u;var i=r.createBody;Object.defineProperty(r,"createBody",{value:function(){var e=i.apply(r,arguments);return n&&l(r),e}})}catch(e){console.log(e)}return r}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default={satisfies:function(e,t){if((void 0===e?"undefined":s(e))+(void 0===t?"undefined":s(t))!="stringstring")return!1;if("*"==t)return!0;for(var n=t.match(/(\W+)?([\d|.]+)/),r=e.split("."),o=n[2].split("."),i=Math.max(r.length,o.length),a=0,u=0;u<i;u++){if(r[u]&&!o[u]&&0<parseInt(r[u])||pars
eInt(r[u])>parseInt(o[u])){a=1;break}if(o[u]&&!r[u]&&0<parseInt(o[u])||parseInt(r[u])<parseInt(o[u])){a=-1;break}}switch(n[1]){case"<":if(-1===a)return!0;break;case"<=":if(1!==a)return!0;break;case">":if(1===a)return!0;break;case">=":if(-1!==a)return!0;break;default:if(0===a)return!0}return!1}},e.exports=t.default},function(e,t,n){var r,o=n(14),h=(r=o)&&r.__esModule?r:{default:r};function v(e){if("*"==e)return e;for(var t=(e="string"==typeof e?e:"").split("."),n=0,r=[];n<3;){var o="string"==typeof t[n]&&t[n]?t[n]:"0";r.push(o),n++}return r.join(".")}function y(e,t,n){var r={isDowngrade:!0,errorType:1,code:1e3},o=e.toLowerCase();return 0<=o.indexOf("osversion")?r.code=1001:0<=o.indexOf("appversion")?r.code=1002:0<=o.indexOf("weexversion")?r.code=1003:0<=o.indexOf("devicemodel")&&(r.code=1004),r.errorMessage="Downgrade["+e+"] :: deviceInfo "+t+" matched criteria "+n,r}e.exports=function(r){return function(e){var t=r("@weex-module/instanceWrap"),n=function(e){var t={isDowngrade:!1},n=W
XEnvironment,r=e[(n.platform||"unknow").toLowerCase()]||{};for(var o in n){var i=o,a=i.toLowerCase(),u=n[o],s=0<=a.indexOf("version"),l=0<=a.indexOf("osversion"),c=0<=a.indexOf("devicemodel"),f=r[o];if(l&&"p"==u.toLowerCase()&&(u="9.0.0"),f&&s){var d=v(f),p=v(u);if(h.default.satisfies(p,d)){t=y(i,u,f);break}}else if(c&&0<=(Array.isArray(f)?f:[f]).indexOf(u)){t=y(i,u,f);break}}return t}(e);return!!n.isDowngrade&&(t.error(n.errorType,n.code,n.errorMessage),!0)}}},function(e,t,n){var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l="@weex-module/",c={};e.exports=function(r,a,u){var s="windmill"===a.config.container;return console.log("[Rax] create require function, container: "+a.config.container),function e(i){var t=r[i];if(1<i.split(l).length){var n=function(){var e,o=i.split(l)[1];if(s&&(c=u.$getAvailableModules()),s&&"stream"==
o&&(o="network"),s&&c[e=o]&&c[e].length){console.log("[Rax] require windmill module: "+o);for(var t={},n=function(e){var r=c[o][e];t[r]=function(e,t,n){console.log("$call: "+o+"."+r),u.$call(o+"."+r,e,t,n)}},r=0;r<c[o].length;r++)n(r);return"network"==o&&(t.fetch=function(e,t,n){console.log("$call: network.fetch || stream.fetch"),u.$call(o+".request",e,t,n)}),{v:t}}if(console.log("[Rax] require weex module "+o),a.isRegisteredModule(o))return{v:a.requireModule(o)};throw new Error('Requiring unknown weex module "'+i+'"')}();if("object"===(void 0===n?"undefined":o(n)))return n.v}if(t&&t.isInitialized)return t.module.exports;if(!t)throw new Error('Requiring unknown module "'+i+'"');if(t.hasError)throw new Error('Requiring module "'+i+'" which threw an exception');try{t.isInitialized=!0,t.factory(e,t.module.exports,t.module)}catch(e){throw t.hasError=!0,t.isInitialized=!1,e}return t.module.exports}}},function(e,t,n){e.exports=function(r){return function(e,t,n){t instanceof Function&&(n=t
,t=[]),r[e]={factory:n,deps:t,module:{exports:{}},isInitialized:!1,hasError:!1}}}},function(e,t){e.exports=function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=10)}([function(e,t,n){var r,o,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=Object.defineProperties,u=Object.defineProperty,s=Object.create(null);function l(e){if(!(t=e)||!("symbol"===
(void 0===t?"undefined":i(t))||t.constructor&&"Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))throw new TypeError(e+" is not a symbol");var t;return e}var c,f=(c=Object.create(null),function(e){for(var t=0;c[e+(t||"")];)++t;return c[e+=t||""]=!0,"@@"+e});o=function(e){if(this instanceof o)throw new TypeError("Symbol is not a constructor");return r(e)},e.exports=r=function e(t){var n;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return n=Object.create(o.prototype),t=void 0===t?"":String(t),a(n,{__description__:{value:t},__name__:{value:f(t)}})},a(r,{for:{value:function(e){return s[e]?s[e]:s[e]=r(String(e))}},keyFor:{value:function(e){var t;for(t in l(e),s)if(s[t]===e)return t}},hasInstance:{value:r("hasInstance")},isConcatSpreadable:{value:r("isConcatSpreadable")},iterator:{value:r("iterator")},match:{value:r("match")},replace:{value:r("replace")},search:{value:r("search")},species:{value:r("species")},split:{value:r("split")},toPrimi
tive:{value:r("toPrimitive")},toStringTag:{value:r("toStringTag")},unscopables:{value:r("unscopables")}}),a(o.prototype,{constructor:{value:r},toString:{value:function(){return this.__name__}}}),a(r.prototype,{toString:{value:function(){return"Symbol ("+l(this).__description__+")"}},valueOf:{value:function(){return l(this)}}}),u(r.prototype,r.toPrimitive,{value:function(){var e=l(this);return"symbol"===(void 0===e?"undefined":i(e))?e:e.toString()}}),u(r.prototype,r.toStringTag,{value:"Symbol"}),u(o.prototype,r.toStringTag,{value:r.prototype[r.toStringTag]}),u(o.prototype,r.toPrimitive,{value:r.prototype[r.toPrimitive]})},function(e,t,n){var r,o=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),i=n(0),u=(r=i)&&r.__esModule?r:{default:r};var a=/[!'\(\)~]|%20|%00/g,s=/\+/g,l={"!":"%21","'":"%27",
"(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},c=function(e){return l[e]},f="__URLSearchParams__";function d(e){return encodeURIComponent(e).replace(a,c)}function p(e){return decodeURIComponent(e.replace(s," "))}var h=function(){function a(e){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),this[f]=Object.create(null),e){"?"===e.charAt(0)&&(e=e.slice(1));for(var t,n,r=(e||"").split("&"),o=0,i=r.length;o<i;o++)-1<(t=(n=r[o]).indexOf("="))?this.append(p(n.slice(0,t)),p(n.slice(t+1))):n.length&&this.append(p(n),"")}}return o(a,[{key:"append",value:function(e,t){var n=this[f];e in n?n[e].push(""+t):n[e]=[""+t]}},{key:"delete",value:function(e){delete this[f][e]}},{key:"get",value:function(e){var t=this[f];return e in t?t[e][0]:null}},{key:"getAll",value:function(e){var t=this[f];return e in t?t[e].slice(0):[]}},{key:"has",value:function(e){return e in this[f]}},{key:"set",value:function(e,t){this[f][e]=[""+t]}},{key:"forEach",v
alue:function(n,r){var e=this[f];Object.getOwnPropertyNames(e).forEach(function(t){e[t].forEach(function(e){n.call(r,e,t,this)},this)},this)}},{key:"keys",value:function(){var n=[];this.forEach(function(e,t){n.push(t)});var e={next:function(){var e=n.shift();return{done:void 0===e,value:e}}};return e[u.default.iterator]=function(){return e},e}},{key:"values",value:function(){var t=[];this.forEach(function(e){t.push(e)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return e[u.default.iterator]=function(){return e},e}},{key:"entries",value:function(){var n=[];this.forEach(function(e,t){n.push([t,e])});var e={next:function(){var e=n.shift();return{done:void 0===e,value:e}}};return e[u.default.iterator]=function(){return e},e}},{key:"toString",value:function(){var e,t,n,r,o=this[f],i=[];for(t in o)for(n=d(t),e=0,r=o[t];e<r.length;e++)i.push(n+"="+d(r[e]));return i.join("&")}}]),a}();h.prototype[u.default.iterator]=h.prototype.entries,e.exports=h},function(e,t
,n){var a=/^(?:(only|not)?\s*([_a-z][_a-z0-9-]*)|(\([^\)]+\)))(?:\s*and\s*(.*))?$/i,u=/^\(\s*([_a-z-][_a-z0-9-]*)\s*(?:\:\s*([^\)]+))?\s*\)$/,s=/^(?:(min|max)-)?(.+)/;function r(e,i){return(t=e,t.split(",").map(function(r){var e=(r=r.trim()).match(a);if(!e)throw new SyntaxError('Invalid CSS media query: "'+r+'"');var t=e[1],n=e[2],o=((e[3]||"")+(e[4]||"")).trim(),i={};if(i.inverse=!!t&&"not"===t.toLowerCase(),i.type=n?n.toLowerCase():"all",!o)return i.expressions=[],i;if(!(o=o.match(/\([^\)]+\)/g)))throw new SyntaxError('Invalid CSS media query: "'+r+'"');return i.expressions=o.map(function(e){var t=e.match(u);if(!t)throw new SyntaxError('Invalid CSS media query: "'+r+'"');var n=t[1].toLowerCase().match(s);return{modifier:n[1],feature:n[2],value:t[2]}}),i})).some(function(e){var t=e.inverse,n="all"===e.type||i.type===e.type;if(n&&t||!n&&!t)return!1;var r=e.expressions.every(function(e){var t=e.feature,n=e.modifier,r=e.value,o=i[t];if(!o)return!1;switch(t){case"width":case"height":r=
parseFloat(r),o=parseFloat(o)}switch(n){case"min":return r<=o;case"max":return o<=r;default:return o===r}});return r&&!t||!r&&t});var t}e.exports=function(e){var t={matches:!1,media:e};return t.matches=""===e||r(e,{type:"screen",width:window.screen.width,height:window.screen.height}),t}},function(e,t,n){var r=n(1),w=Object.create(null);w.ftp=21,w.file=0,w.gopher=70,w.http=80,w.https=443,w.ws=80,w.wss=443;var x=Object.create(null);function E(e){return void 0!==w[e]}function C(){i.call(this),this._isInvalid=!0}function O(e){return""==e&&C.call(this),e.toLowerCase()}function S(e){var t=e.charCodeAt(0);return 32<t&&t<127&&-1==[34,35,60,62,63,96].indexOf(t)?e:encodeURIComponent(e)}x["%2e"]=".",x[".%2e"]="..",x["%2e."]="..",x["%2e%2e"]="..";var k=void 0,j=/[a-zA-Z]/,P=/[a-zA-Z0-9\+\-\.]/;function o(e,t,n){var r=this;function o(e){d.push(e)}var i,a,u=t||"scheme start",s=0,l="",c=!1,f=!1,d=[];e:for(;(e[s-1]!=k||0==s)&&!this._isInvalid;){var p=e[s];switch(u){case"scheme start":if(!p||!j.test
(p)){if(t){o("Invalid scheme.");break e}l="",u="no scheme";continue}l+=p.toLowerCase(),u="scheme";break;case"scheme":if(p&&P.test(p))l+=p.toLowerCase();else{if(":"!=p){if(t){if(k==p)break e;o("Code point not allowed in scheme: "+p);break e}l="",s=0,u="no scheme";continue}if(r._scheme=l,l="",t)break e;E(r._scheme)&&(r._isRelative=!0),u="file"==r._scheme?"relative":r._isRelative&&n&&n._scheme==r._scheme?"relative or authority":r._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==p?u="query":"#"==p?(r._fragment="#",u="fragment"):k!=p&&"\t"!=p&&"\n"!=p&&"\r"!=p&&(r._schemeData+=S(p));break;case"no scheme":if(n&&E(n._scheme)){u="relative";continue}o("Missing scheme."),C.call(r);break;case"relative or authority":if("/"!=p||"/"!=e[s+1]){o("Expected /, got: "+p),u="relative";continue}u="authority ignore slashes";break;case"relative":if(r._isRelative=!0,"file"!=r._scheme&&(r._scheme=n._scheme),k==p){r._host=n._host,r._port=n._port,r._path=n._path.slice(),r._query=
n._query,r._username=n._username,r._password=n._password;break e}if("/"==p||"\\"==p)"\\"==p&&o("\\ is an invalid code point."),u="relative slash";else if("?"==p)r._host=n._host,r._port=n._port,r._path=n._path.slice(),r._query="?",r._username=n._username,r._password=n._password,u="query";else{if("#"!=p){var h=e[s+1],v=e[s+2];("file"!=r._scheme||!j.test(p)||":"!=h&&"|"!=h||k!=v&&"/"!=v&&"\\"!=v&&"?"!=v&&"#"!=v)&&(r._host=n._host,r._port=n._port,r._username=n._username,r._password=n._password,r._path=n._path.slice(),r._path.pop()),u="relative path";continue}r._host=n._host,r._port=n._port,r._path=n._path.slice(),r._query=n._query,r._fragment="#",r._username=n._username,r._password=n._password,u="fragment"}break;case"relative slash":if("/"!=p&&"\\"!=p){"file"!=r._scheme&&(r._host=n._host,r._port=n._port,r._username=n._username,r._password=n._password),u="relative path";continue}"\\"==p&&o("\\ is an invalid code point."),u="file"==r._scheme?"file host":"authority ignore slashes";break;ca
se"authority first slash":if("/"!=p){o("Expected '/', got: "+p),u="authority ignore slashes";continue}u="authority second slash";break;case"authority second slash":if(u="authority ignore slashes","/"!=p){o("Expected '/', got: "+p);continue}break;case"authority ignore slashes":if("/"!=p&&"\\"!=p){u="authority";continue}o("Expected authority, got: "+p);break;case"authority":if("@"==p){c&&(o("@ already seen."),l+="%40"),c=!0;for(var y=0;y<l.length;y++){var m=l[y];if("\t"!=m&&"\n"!=m&&"\r"!=m)if(":"!=m||null!==r._password){var _=S(m);null!==r._password?r._password+=_:r._username+=_}else r._password="";else o("Invalid whitespace in authority.")}l=""}else{if(k==p||"/"==p||"\\"==p||"?"==p||"#"==p){s-=l.length,l="",u="host";continue}l+=p}break;case"file host":if(k==p||"/"==p||"\\"==p||"?"==p||"#"==p){2!=l.length||!j.test(l[0])||":"!=l[1]&&"|"!=l[1]?(0==l.length||(r._host=O.call(r,l),l=""),u="relative path start"):u="relative path";continue}"\t"==p||"\n"==p||"\r"==p?o("Invalid whitespace in
file host."):l+=p;break;case"host":case"hostname":if(":"!=p||f){if(k==p||"/"==p||"\\"==p||"?"==p||"#"==p){if(r._host=O.call(r,l),l="",u="relative path start",t)break e;continue}"\t"!=p&&"\n"!=p&&"\r"!=p?("["==p?f=!0:"]"==p&&(f=!1),l+=p):o("Invalid code point in host/hostname: "+p)}else if(r._host=O.call(r,l),l="",u="port","hostname"==t)break e;break;case"port":if(/[0-9]/.test(p))l+=p;else{if(k==p||"/"==p||"\\"==p||"?"==p||"#"==p||t){if(""!=l){var b=parseInt(l,10);b!=w[r._scheme]&&(r._port=b+""),l=""}if(t)break e;u="relative path start";continue}"\t"==p||"\n"==p||"\r"==p?o("Invalid code point in port: "+p):C.call(r)}break;case"relative path start":if("\\"==p&&o("'\\' not allowed in path."),u="relative path","/"!=p&&"\\"!=p)continue;break;case"relative path":var g;if(k!=p&&"/"!=p&&"\\"!=p&&(t||"?"!=p&&"#"!=p))"\t"!=p&&"\n"!=p&&"\r"!=p&&(l+=S(p));else"\\"==p&&o("\\ not allowed in relative path."),(g=x[l.toLowerCase()])&&(l=g),".."==l?(r._path.pop(),"/"!=p&&"\\"!=p&&r._path.push("")):".
"==l&&"/"!=p&&"\\"!=p?r._path.push(""):"."!=l&&("file"==r._scheme&&0==r._path.length&&2==l.length&&j.test(l[0])&&"|"==l[1]&&(l=l[0]+":"),r._path.push(l)),l="","?"==p?(r._query="?",u="query"):"#"==p&&(r._fragment="#",u="fragment");break;case"query":t||"#"!=p?k!=p&&"\t"!=p&&"\n"!=p&&"\r"!=p&&(r._query+=(void 0,32<(a=(i=p).charCodeAt(0))&&a<127&&-1==[34,35,60,62,96].indexOf(a)?i:encodeURIComponent(i))):(r._fragment="#",u="fragment");break;case"fragment":k!=p&&"\t"!=p&&"\n"!=p&&"\r"!=p&&(r._fragment+=p)}s++}}function i(){this._scheme="",this._schemeData="",this._username="",this._password=null,this._host="",this._port="",this._path=[],this._query="",this._fragment="",this._isInvalid=!1,this._isRelative=!1}function a(e,t){void 0===t||t instanceof a||(t=new a(String(t))),this._url=e,i.call(this);var n=e.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");o.call(this,n,null,t)}a.prototype={toString:function(){return this.href},get href(){if(this._isInvalid)return this._url;var e="";return""==this._
username&&null==this._password||(e=this._username+(null!=this._password?":"+this._password:"")+"@"),this.protocol+(this._isRelative?"//"+e+this.host:"")+this.pathname+this._query+this._fragment},set href(e){i.call(this),o.call(this,e)},get protocol(){return this._scheme+":"},set protocol(e){this._isInvalid||o.call(this,e+":","scheme start")},get host(){return this._isInvalid?"":this._port?this._host+":"+this._port:this._host},set host(e){!this._isInvalid&&this._isRelative&&o.call(this,e,"host")},get hostname(){return this._host},set hostname(e){!this._isInvalid&&this._isRelative&&o.call(this,e,"hostname")},get port(){return this._port},set port(e){!this._isInvalid&&this._isRelative&&o.call(this,e,"port")},get pathname(){return this._isInvalid?"":this._isRelative?"/"+this._path.join("/"):this._schemeData},set pathname(e){!this._isInvalid&&this._isRelative&&(this._path=[],o.call(this,e,"relative path start"))},get search(){return this._isInvalid||!this._query||"?"==this._query?"":this
._query},set search(e){!this._isInvalid&&this._isRelative&&((this._query="?")==e[0]&&(e=e.slice(1)),o.call(this,e,"query"))},get searchParams(){return new r(this.search)},get hash(){return this._isInvalid||!this._fragment||"#"==this._fragment?"":this._fragment},set hash(e){this._isInvalid||((this._fragment="#")==e[0]&&(e=e.slice(1)),o.call(this,e,"fragment"))},get origin(){var e;if(this._isInvalid||!this._scheme)return"";switch(this._scheme){case"data":case"file":case"javascript":case"mailto":return"null"}return(e=this.host)?this._scheme+"://"+e:""}},e.exports=a},function(e,t,n){e.exports=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.family=t,this.source=n}},function(e,t,n){var r=Date.now()%1e9,o=function(e){this.name="__st"+(1e9*Math.random()>>>0)+r+++"__",e&&e.forEach&&e.forEach(this.add,this)};o.prototype.add=function(e){var t=this.name;return e[t]||Object.defineProperty(e,t,{value:!0,writable:!0}),this}
,o.prototype.delete=function(e){return!!e[this.name]&&(e[this.name]=void 0,!0)},o.prototype.has=function(e){return!!e[this.name]},e.exports=o},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=Object.defineProperty,i=Date.now()%1e9,a=function(e){this.name="__st"+(1e9*Math.random()>>>0)+i+++"__",e&&e.forEach&&e.forEach(function(e){this.set.apply(this,e)},this)};a.prototype.set=function(e,t){if("object"!==(void 0===e?"undefined":r(e))&&"function"!=typeof e)throw new TypeError("Invalid value used as weak map key");var n=e[this.name];return n&&n[0]===e?n[1]=t:o(e,this.name,{value:[e,t],writable:!0}),this},a.prototype.get=function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},a.prototype.delete=function(e){var t=e[this.name];return!(!t||t[0]!==e)&&(t[0]=t[1]=void 0,!0)},a.prototype.has=function(e){var t=e[
this.name];return!!t&&t[0]===e},e.exports=a},function(e,t,n){var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};var a=(0,i.default)("undef"),u=(0,i.default)("NaN"),s=!0;function l(e){return e!=e?u:e}function c(e){return e===u?NaN:e}function f(e,t){var n=0;return{next:function(){for(;e._values[n]===a;)n++;return n===e._values.length?{value:void 0,done:!0}:{value:t.call(e,n++),done:!1}}}}function d(e){for(var t=0,n=0,r=e._values.length;n<r;n++)e._values[n]!==a&&t++;return t}var p=function(e){this._values=[],e&&"function"==typeof e.forEach&&e.forEach(function(e){this.add.call(this,e)},this),s||(this.size=d(this))};try{Object.defineProperty(p.prototype,"size",{get:function(){return d(this)}})}catch(e){s=!1}p.prototype.add=function(e){return e=l(e),-1===this._values.indexOf(e)&&(this._values.push(e),s||(this.size=d(this))),this},p.prototype.has=function(e){return-1!==this._values.indexOf(l(e))},p.prototype.delete=function(e){var t=this._values.indexOf(l(e));return-1!==t&&(this._values[t]=a
,s||(this.size=d(this)),!0)},p.prototype.clear=function(){this._values=[],s||(this.size=0)},p.prototype.values=p.prototype.keys=function(){return f(this,function(e){return c(this._values[e])})},p.prototype.entries=p.prototype[i.default.iterator]=function(){return f(this,function(e){return[c(this._values[e]),c(this._values[e])]})},p.prototype.forEach=function(e,t){t=t||global;for(var n=this.entries(),r=n.next();!1===r.done;)e.call(t,r.value[1],r.value[0],this),r=n.next()},p.prototype[i.default.species]=p,Object.defineProperty(p,"constructor",{value:p});try{Object.defineProperty(p,"length",{value:0})}catch(e){}e.exports=p},function(e,t,n){var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};var a=(0,i.default)("undef"),u=(0,i.default)("NaN"),s=!0;function l(e){return e!=e?u:e}function c(e){return e===u?NaN:e}function f(e,t){var n=0,r=!1;return{next:function(){if(n===e._keys.length&&(r=!0),r)return{value:void 0,done:!0};for(;e._keys[n]===a;)n++;return{value:t.call(e,n++),done:!1}}}}functio
n d(e){for(var t=0,n=0,r=e._keys.length;n<r;n++)e._keys[n]!==a&&t++;return t}function p(e,t){return"function"==typeof e[t]}var h=function e(t){this._keys=[],this._values=[],t&&p(t,"forEach")&&(t instanceof e||p(t,"clear")&&p(t,"delete")&&p(t,"entries")&&p(t,"forEach")&&p(t,"get")&&p(t,"has")&&p(t,"keys")&&p(t,"set")&&p(t,"values")?t.forEach(function(e,t){this.set.apply(this,[t,e])},this):t.forEach(function(e){this.set.apply(this,e)},this)),s||(this.size=d(this))};h.prototype={};try{Object.defineProperty(h.prototype,"size",{get:function(){return d(this)}})}catch(e){s=!1}h.prototype.get=function(e){var t=this._keys.indexOf(l(e));return-1!==t?this._values[t]:void 0},h.prototype.set=function(e,t){var n=this._keys.indexOf(l(e));return-1!==n?this._values[n]=t:(this._keys.push(l(e)),this._values.push(t),s||(this.size=d(this))),this},h.prototype.has=function(e){return-1!==this._keys.indexOf(l(e))},h.prototype.delete=function(e){var t=this._keys.indexOf(l(e));return-1!==t&&(this._keys[t]=a,t
his._values[t]=a,s||(this.size=d(this)),!0)},h.prototype.clear=function(){this._keys=this._values=[],s||(this.size=0)},h.prototype.values=function(){return f(this,function(e){return this._values[e]})},h.prototype.keys=function(){return f(this,function(e){return c(this._keys[e])})},h.prototype.entries=h.prototype[i.default.iterator]=function(){return f(this,function(e){return[c(this._keys[e]),this._values[e]]})},h.prototype.forEach=function(e,t){t=t||global;for(var n=this.entries(),r=n.next();!1===r.done;)e.call(t,r.value[1],r.value[0],this),r=n.next()},h.prototype[i.default.species]=h,Object.defineProperty(h,"constructor",{value:h});try{Object.defineProperty(h,"length",{value:0})}catch(e){}e.exports=h},function(e,t,n){var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function r(){}var o="function"==typeof setImmediate&&setImmed
iate||function(e){"function"==typeof setTimeout?setTimeout(e,0):e()},i=function(e){"undefined"!=typeof console&&console&&console.log("Possible Unhandled Promise Rejection:",e)};function a(e){if("object"!==s(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("Promise resolver is not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],d(e,this)}function u(n,r){for(;3===n._state;)n=n._value;0!==n._state?(n._handled=!0,o(function(){var e=1===n._state?r.onFulfilled:r.onRejected;if(null!==e){var t;try{t=e(n._value)}catch(e){return void c(r.promise,e)}l(r.promise,t)}else(1===n._state?l:c)(r.promise,n._value)})):n._deferreds.push(r)}function l(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"===(void 0===e?"undefined":s(e))||"function"==typeof e)){var n=e.then;if(e instanceof a)return t._state=3,t._value=e,void f(t);if("function"==typeof n)return void d((
r=n,o=e,function(){r.apply(o,arguments)}),t)}t._state=1,t._value=e,f(t)}catch(e){c(t,e)}var r,o}function c(e,t){e._state=2,e._value=t,f(e)}function f(e){2===e._state&&0===e._deferreds.length&&o(function(){e._handled||i(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)u(e,e._deferreds[t]);e._deferreds=null}function d(e,t){var n=!1;try{e(function(e){n||(n=!0,l(t,e))},function(e){n||(n=!0,c(t,e))})}catch(e){if(n)return;n=!0,c(t,e)}}a.prototype.catch=function(e){return this.then(null,e)},a.prototype.then=function(e,t){var n=new this.constructor(r);return u(this,new function(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}(e,t,n)),n},a.all=function(e){var u=Array.prototype.slice.call(e);return new a(function(r,o){if(0===u.length)return r([]);var i=u.length;function a(t,e){try{if(e&&("object"===(void 0===e?"undefined":s(e))||"function"==typeof e)){var n=e.then;if("function"==typeof n)return void n.call(e,function(e){a(t,e
)},o)}u[t]=e,0==--i&&r(u)}catch(e){o(e)}}for(var e=0;e<u.length;e++)a(e,u[e])})},a.resolve=function(t){return t&&"object"===(void 0===t?"undefined":s(t))&&t.constructor===a?t:new a(function(e){e(t)})},a.reject=function(n){return new a(function(e,t){t(n)})},a.race=function(o){return new a(function(e,t){for(var n=0,r=o.length;n<r;n++)o[n].then(e,t)})},a._setImmediateFn=function(e){o=e},a._setUnhandledRejectionFn=function(e){i=e},e.exports=a},function(e,t,n){e.exports={get Promise(){return n(9)},get Symbol(){return n(0)},get Map(){return n(8)},get Set(){return n(7)},get WeakMap(){return n(6)},get WeakSet(){return n(5)},get FontFace(){return n(4)},get URL(){return n(3)},get URLSearchParams(){return n(1)},get matchMedia(){return n(2)}}}])}},function(e,t,n){e.exports=function(e,t,n){var h=this.__weex_document__,v=this.document;n.exports=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports
}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=48)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={component:null,mountID:1,sandbox:!0,rootComponents:{},rootInstances:{},hook:null,driver:null,monitor:null},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var d=r(n(0)),p=n(7),h=r(n(6)),v=r(n(3)),y=r(n(5)),m=r(n(46));function r(e){return e&&e.__esModule?e:{default:e}}var o="$$instance";t.default={set:function(e,t){e[o]||(e[o]=t).rootID&&(d.default.rootInstances[t.rootID]=t,d.default.rootComponents[t.rootID]=t._internal)},get:function(e){return e[o]},remove:function(e){var t=this.get(e);t&&(e[o]=nul
l,t.rootID&&(delete d.default.rootComponents[t.rootID],delete d.default.rootInstances[t.rootID]))},mount:function(e,t,n){d.default.driver.beforeRender&&d.default.driver.beforeRender(),null==t&&(t=d.default.driver.createBody());var r=void 0;if(n){var o=n._internal;r=o._processChildContext(o._context)}var i=this.get(t);if(i&&i.isRootComponent){var a=i.getRenderedComponent(),u=a._currentElement;if((0,y.default)(u,e)){var s=a._context;return a.updateComponent(u,e,s,r||s),i}d.default.hook.Reconciler.unmountComponent(i),(0,h.default)(t)}var l=(0,p.createElement)(m.default,null,e),c=r||{},f=(0,v.default)(l).mountComponent(t,null,c);return this.set(t,f),d.default.driver.afterRender&&d.default.driver.afterRender(f),d.default.hook.Mount._renderNewRootComponent(f._internal),f}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&
(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();var r=function(){function r(e,t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r),this.props=e,this.context=t,this.refs={},this.updater=n}return o(r,[{key:"isComponentClass",value:function(){}},{key:"setState",value:function(e,t){this.updater.setState(this,e,t)}},{key:"forceUpdate",value:function(e){this.updater.forceUpdate(this,e)}}]),r}();t.default=r,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=n(0),a=(r=i)&&r.__esModule?r:{default:r};t.default=function(e){var t=void 0;if(null==e||!1===e||!0===e)t=new a.default.EmptyComponent;else if(Array.isArray(e))t=new a.defaul
t.FragmentComponent(e);else if("object"===(void 0===e?"undefined":o(e))&&e.type)t="string"==typeof e.type?new a.default.NativeComponent(e):new a.default.CompositeComponent(e);else{if("string"!=typeof e&&"number"!=typeof e)throw new Error("Invalid element type: "+e+". (keys: "+Object.keys(e)+")");t=new a.default.TextComponent(e)}return t._mountIndex=0,t},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i=r(n(44)),a=r(n(1));r(n(0));function r(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,n,r){"function"==typeof n&&(r=n,n=null),n=n||{},(0,i.default)(n);var o=a.default.mount(e,t,n.parent).getPublicInstance();return r&&r.call(o),o},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=
function(e,t){var n=null===e,r=null===t;if(n||r)return n===r;var o=void 0===e?"undefined":a(e),i=void 0===t?"undefined":a(t);return"string"===o||"number"===o?"string"===i||"number"===i:"object"===o&&"object"===i&&e.type===t.type&&e.key===t.key},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=i.default.get(e);if(!t)return!1;return i.default.remove(e),t._internal.unmountComponent(),!0};var r,o=n(1),i=(r=o)&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.createElement=o,t.createFactory=function(e){var t=o.bind(null,e);return t.type=e,t},t.cloneElement=function(e,t){var n=arguments;if(!_(e))throw Error("cloneElement: not a valid element."+y());var r=O
bject.assign({},e.props),o=e.key,i=e.ref,a=e._owner;if(t){void 0!==t.ref&&(i=t.ref,a=p.default.component),void 0!==t.key&&(o=String(t.key));var u=void 0;e.type&&e.type.defaultProps&&(u=e.type.defaultProps);var s=void 0;for(s in t)t.hasOwnProperty(s)&&!v.hasOwnProperty(s)&&(void 0===t[s]&&void 0!==u?r[s]=u[s]:r[s]=t[s])}for(var l=arguments.length,c=Array(2<l?l-2:0),f=2;f<l;f++)c[f-2]=n[f];c.length&&(r.children=(0,h.default)(c));return new m(e.type,o,i,r,a)},t.isValidElement=_;var p=r(n(0)),h=r(n(16)),i=n(15);function r(e){return e&&e.__esModule?e:{default:e}}var v={key:!0,ref:!0};function y(){if(p.default.component){var e=p.default.component.getName();if(e)return" Check the render method of `"+e+"`."}return""}function m(e,t,n,r,o){return i.isWeex&&(r=function(e,t){if("text"===e){var n=t.children,r=t.value;null==r&&null!=n&&(Array.isArray(n)?n=n.map(function(e){return"number"==typeof e||"string"==typeof e?e:""}).join(""):"number"!=typeof n&&"string"!=typeof n&&(n=""),t.value=String(n)
),t.children=null}return t}(e,r)),{type:e,key:t,ref:n,props:r,_owner:o}}function o(e,t,n){var r=arguments;if(null==e)throw Error("createElement: type should not be null or undefined."+y());var o={},i=void 0,a=null,u=null;if(null!=t)for(i in u=void 0===t.ref?null:t.ref,a=void 0===t.key?null:String(t.key),t)v[i]||(o[i]=t[i]);var s=arguments.length-2;if(0<s)if(1!==s||Array.isArray(n)){var l=n;if(1<s){l=new Array(s);for(var c=0;c<s;c++)l[c]=r[c+2]}o.children=(0,h.default)(l)}else o.children=n;if(e&&e.defaultProps){var f=e.defaultProps;for(i in f)void 0===o[i]&&(o[i]=f[i])}return o.style&&(Array.isArray(o.style)||"object"===d(o.style))&&(o.style=function e(t){if(t){if(Array.isArray(t)){for(var n={},r=0;r<t.length;++r){var o=e(t[r]);if(o)for(var i in o)n[i]=o[i]}return n}return t}}(o.style)),new m(e,a,u,o,p.default.component)}function _(e){return"object"===(void 0===e?"undefined":d(e))&&null!==e&&e.type&&e.props}t.default=m},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0})
;var r,o=n(0),i=(r=o)&&r.__esModule?r:{default:r};t.default=function(e){if(null==e)return null;if(e.ownerDocument||e.nodeType)return e;if(e._nativeNode)return e._nativeNode;if("string"==typeof e)return i.default.driver.getElementById(e);if("function"!=typeof e.render)throw new Error("findDOMNode: find by neither component nor DOM node.");var t=e._internal;if(t){for(;!t._nativeNode;)if(null==(t=t._renderedComponent))return null;return t._nativeNode}throw new Error("findDOMNode: find on an unmounted component.")},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.transformPropsAttrsToStyle=function(t,e){return t.style=t.style||{},e.forEach(function(e){t[e]&&!t.style[e]&&(t.style[e]=t[e],delete t[e])}),t},t.renamePropsAttr=function(e,t,n){e[t]&&!e[n]&&(e[n]=e[t],delete e[t]);return e},t.default=e.exports,t.default=e.exports},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){ret
urn e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)};t.isRem=c,t.calcRem=f,t.getRem=function(){return l[s]},t.setRem=function(e){l[s]=e},t.isUnitNumber=d,t.convertUnit=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:l[s];{if(t&&d(e,t))return e*n+"px";if(c(e))return f(e,n)}return e};var i={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,z
oom:!0,lines:!0},a="rem",u=/[-+]?\d*\.?\d+rem/g,s="__global_rem_unit__",l="object"===("undefined"==typeof window?"undefined":o(window))?window:"object"===(void 0===l?"undefined":o(l))?l:{};function c(e){return"string"==typeof e&&-1!==e.indexOf(a)}function f(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:l[s];return e.replace(u,function(e){return parseFloat(e)*t+"px"})}function d(e,t){return"number"==typeof e&&!i[t]}null==l[s]&&(l[s]=1),t.default=e.exports,t.default=e.exports},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var r=t&&t.key,o="string"==typeof r,i="."+n.toString(36);if(o){var a="$"+r,u=void 0===e[a];return u||console.warn('Encountered two children with the same key "'+r+'".'),u?a:i}return i},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={update:function(e,t,n){var r=null!=e&&e.ref,o=null!=t&&t.ref;r!==o&&(null!=r&&this.detach(e._owner,r,n),null!=o&&this.attach(t
._owner,o,n))},attach:function(e,t,n){if(!e)throw new Error("You might be adding a ref to a component that was not created inside a component's `render` method, or you have multiple copies of Rax loaded.");var r=n.getPublicInstance();"function"==typeof t?t(r):e._instance.refs[t]=r},detach:function(e,t,n){if("function"==typeof t)t(null);else{var r=n.getPublicInstance();e._instance.refs[t]===r&&delete e._instance.refs[t]}}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),_=i(n(0)),l=i(n(12)),b=i(n(3)),g=i(n(5)),w=i(n(11)),o=i(n(1));function i(e){return e&&e.__esModule?e:{default:e}}var c="style",f="children",d=/^on[A-Z]/,a=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(
"Cannot call a class as a function")}(this,t),this._currentElement=e}return r(t,[{key:"mountComponent",value:function(e,t,n,r){this._parent=e,this._parentInstance=t,this._context=n,this._mountID=_.default.mountID++;var o=this._currentElement.props,i={_internal:this,type:this._currentElement.type,props:o},a=o.append;this._instance=i,this._prevStyleCopy=Object.assign({},o.style);var u=this.getNativeNode();"tree"!==a&&(r?r(u,e):_.default.driver.appendChild(u,e)),this._currentElement&&this._currentElement.ref&&l.default.attach(this._currentElement._owner,this._currentElement.ref,this);var s=o.children;return null!=s&&this.mountChildren(s,n),"tree"===a&&(r?r(u,e):_.default.driver.appendChild(u,e)),_.default.hook.Reconciler.mountComponent(this),i}},{key:"mountChildren",value:function(e,o){var i=this;Array.isArray(e)||(e=[e]);var a=this._renderedChildren={};return e.map(function(e,t){var n=(0,b.default)(e),r=(0,w.default)(a,e,t);return(a[r]=n)._mountIndex=t,n.mountComponent(i.getNativeNode
(),i._instance,o,null)})}},{key:"unmountChildren",value:function(e){var t=this._renderedChildren;if(t){for(var n in t){t[n].unmountComponent(e)}this._renderedChildren=null}}},{key:"unmountComponent",value:function(e){if(this._nativeNode){var t=this._currentElement.ref;t&&l.default.detach(this._currentElement._owner,t,this),o.default.remove(this._nativeNode),e||_.default.driver.removeChild(this._nativeNode,this._parent),_.default.driver.removeAllEventListeners(this._nativeNode)}this.unmountChildren(e),_.default.hook.Reconciler.unmountComponent(this),this._currentElement=null,this._nativeNode=null,this._parent=null,this._parentInstance=null,this._context=null,this._instance=null,this._prevStyleCopy=null}},{key:"updateComponent",value:function(e,t,n,r){this._currentElement=t,l.default.update(e,t,this);var o=e.props,i=t.props;this.updateProperties(o,i),this.updateChildren(i.children,r),_.default.hook.Reconciler.receiveComponent(this)}},{key:"updateProperties",value:function(e,t){var n=t
his,r=void 0,o=void 0,i=void 0;for(r in e)if(r!==f&&!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(r===c){var a=n._prevStyleCopy;for(o in a)a.hasOwnProperty(o)&&((i=i||{})[o]="");n._prevStyleCopy=null}else d.test(r)?"function"==typeof e[r]&&_.default.driver.removeEventListener(n.getNativeNode(),r.slice(2).toLowerCase(),e[r]):_.default.driver.removeAttribute(n.getNativeNode(),r,e[r]);for(r in t){var u=t[r],s=r===c?n._prevStyleCopy:null!=e?e[r]:void 0;if(r!==f&&t.hasOwnProperty(r)&&u!==s&&(null!=u||null!=s))if(r===c)if(u?u=n._prevStyleCopy=Object.assign({},u):n._prevStyleCopy=null,null!=s){for(o in s)!s.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||((i=i||{})[o]="");for(o in u)u.hasOwnProperty(o)&&s[o]!==u[o]&&((i=i||{})[o]=u[o])}else i=u;else if(d.test(r)){var l=r.slice(2).toLowerCase();"function"==typeof s&&_.default.driver.removeEventListener(n.getNativeNode(),l,s,t),"function"==typeof u&&_.default.driver.addEventListener(n.getNativeNode(),l,u,t)}else null!=u?_.default.drive
r.setAttribute(n.getNativeNode(),r,u):_.default.driver.removeAttribute(n.getNativeNode(),r,e[r])}i&&_.default.driver.setStyles(this.getNativeNode(),i)}},{key:"updateChildren",value:function(e,u){var s=this,l=this._renderedChildren;if(null!=e||null!=l){var p={},h={};if(null!=e){Array.isArray(e)||(e=[e]);for(var t=0,n=e.length;t<n;t++){var r=e[t],o=(0,w.default)(p,r,t),i=l&&l[o],a=i&&i._currentElement;if(null!=i&&(0,g.default)(a,r))i.updateComponent(a,r,u,u),p[o]=i;else{if(i){var c=i.getNativeNode();i.unmountComponent(!0),h[o]=c}p[o]=(0,b.default)(r)}}}var v=void 0,f=void 0;if(null!=l)for(var d in l)if(l.hasOwnProperty(d)){var y=l[d],m=!p[d];v?m&&y.unmountComponent():(v=y,f=m)}null!=p&&function(){var i=0,a=0,f=null,d=[],e=function(c){if(!p.hasOwnProperty(c))return"continue";var e=p[c],t=l&&l[c];if(t===e){var n=t.getNativeNode();if(Array.isArray(n)||(n=[n]),t._mountIndex<i){Array.isArray(f)&&(f=f[f.length-1]);for(var r=n.length-1;0<=r;r--)_.default.driver.insertAfter(n[r],f)}d=d.concat
(n),i=Math.max(t._mountIndex,i),t._mountIndex=a}else{null!=t&&(i=Math.max(t._mountIndex,i));var o=s.getNativeNode();Array.isArray(o)&&(o=s._parent),e.mountComponent(o,s._instance,u,function(e,t){var n=h[c];if(Array.isArray(e)||(e=[e]),n){Array.isArray(n)||(n=[n]);for(var r=void 0,o=0;o<e.length;o++){var i=e[o];n[o]?_.default.driver.replaceChild(i,n[o]):_.default.driver.insertAfter(i,r),r=i}if(e.length<n.length)for(var a=e.length;a<n.length;a++)_.default.driver.removeChild(n[a])}else{Array.isArray(f)&&(f=f[f.length-1]);var u=void 0;v&&!f&&(u=v.getNativeNode(),Array.isArray(u)&&(u=u[0]));for(var s=e.length-1;0<=s;s--){var l=e[s];f?_.default.driver.insertAfter(l,f):u?_.default.driver.insertBefore(l,u):_.default.driver.appendChild(l,t)}}d=d.concat(e)}),e._mountIndex=a}a++,f=e.getNativeNode()};for(var t in p)e(t);if(Array.isArray(s._nativeNode)){s._nativeNode.splice(0,s._nativeNode.length);for(var n=0;n<d.length;n++)s._nativeNode.push(d[n])}}(),f&&v.unmountComponent(),this._renderedChild
ren=p}}},{key:"getNativeNode",value:function(){return null==this._nativeNode&&(this._nativeNode=_.default.driver.createElement(this._instance),o.default.set(this._nativeNode,this._instance)),this._nativeNode}},{key:"getPublicInstance",value:function(){return this.getNativeNode()}},{key:"getName",value:function(){return this._currentElement.type}}]),t}();t.default=a,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(e,t,n,r,o,i){return a}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}();t.default={array:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,element:a,node:a,any:a,arrayOf:a,instanceOf:a,objectOf:a,oneOf:a,oneOfType:a,shape:a},e.exports=t.default},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(t,"__es
Module",{value:!0});var o="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)};t.isWeb="object"===("undefined"==typeof navigator?"undefined":o(navigator))&&("Mozilla"===navigator.appCodeName||"Gecko"===navigator.product),t.isNode=void 0!==process&&!(!process.versions||!process.versions.node),t.isWeex="function"==typeof callNative||"object"===("undefined"==typeof WXEnvironment?"undefined":o(WXEnvironment))&&"Web"!==WXEnvironment.platform,t.isReactNative="undefined"!=typeof __fbBatchedBridgeConfig;t.default=e.exports,t.default=e.exports},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(null==e)return e;var t=[];(function e(t,n){if(Array.isArray(t))for(var r=0,o=t.length;r<o;r++)e(t[r],n);else n.push(t)})(e,t),1===t.length&&(t=t[0]);return t},e.exports=t.default},f
unction(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(1)),o=i(n(0));function i(e){return e&&e.__esModule?e:{default:e}}t.default={ComponentTree:{getClosestInstanceFromNode:function(e){return r.default.get(e)},getNodeFromInstance:function(e){for(;e._renderedComponent;)e=e._renderedComponent;return e?e._nativeNode:null}},Mount:{_instancesByReactRootID:o.default.rootComponents,_renderNewRootComponent:function(){}},Reconciler:{mountComponent:function(){},receiveComponent:function(){},unmountComponent:function(){}},monitor:null},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();t.default=function(s){var l="__context_"+u+++"__",e=function(e){function u(){var e,t,n,r=arguments;p(this,u);for
(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=r[a];return n=f(this,(e=u.__proto__||Object.getPrototypeOf(u)).call.apply(e,[this].concat(i))),(t=n).emitter=new h(s),f(n,t)}return d(u,e),r(u,[{key:"getChildContext",value:function(){return c({},l,this.emitter)}},{key:"componentWillMount",value:function(){void 0!==this.props.value&&(this.emitter.value=this.props.value)}},{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&this.emitter.emit(e.value)}},{key:"render",value:function(){return this.props.children}}]),u}(o.default);e.childContextTypes=c({},l,i.default.object);var t=function(e){function u(){var e,t,n,r=arguments;p(this,u);for(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=r[a];return n=f(this,(e=u.__proto__||Object.getPrototypeOf(u)).call.apply(e,[this].concat(i))),(t=n).state={value:n.context[l]?n.context[l].value:s},n.onUpdate=function(e){return n.setState({value:e})},f(n,t)}return d(u,e),r(u,[{key:"componentDidMount",value:function(){this
.context[l]&&this.context[l].on(this.onUpdate)}},{key:"componentWillUnmount",value:function(){this.context[l]&&this.context[l].off(this.onUpdate)}},{key:"render",value:function(){var e=this.props.children,t=Array.isArray(e)?e[0]:e;if("function"==typeof t)return t(this.state.value)}}]),u}(o.default);return t.contextTypes=c({},l,i.default.object),{Provider:e,Consumer:t}};var o=a(n(2)),i=a(n(14));function a(e){return e&&e.__esModule?e:{default:e}}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setProto
typeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var h=function(){function t(e){p(this,t),this.handlers=[],this.value=e}return r(t,[{key:"on",value:function(e){this.handlers.push(e)}},{key:"off",value:function(t){this.handlers=this.handlers.filter(function(e){return e!==t})}},{key:"emit",value:function(t){this.value=t,this.handlers.forEach(function(e){return e(t)})}}]),t}(),u=0;e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(16),i=(r=o)&&r.__esModule?r:{default:r};function a(e){return e=(0,i.default)(e,[]),Array.isArray(e)?e:[].concat(e)}var u={map:function(e,n,r){return null==e?null:(e=a(e)).map(function(e,t){return n.call(r,e,t)})},forEach:function(e,n,r){if(null==e)return null;(e=a(e)).forEach(function(e,t){return n.call(r,e,t)})},count:function(e){return null==e?0:a(e).length},only:function(e){if(1!==(e=u.toArray(e)).length)throw new Error
("Children.only: expected to receive a single element child.");return e[0]},toArray:function(e){return null==e?[]:a(e).filter(function(e){return null!==e})}};t.default=u,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default="0.6.3",e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){e=(0,o.default)(e),r.default.driver.setNativeProps(e,t)};var r=i(n(0)),o=i(n(8));function i(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(1),i=(r=o)&&r.__esModule?r:{default:r};t.default=function(e){return null==e?null:i.default.get(e)},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e
,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();t.default=function(e,t){return(0,u.createElement)(l,{element:e,container:t})};var o=s(n(2)),i=s(n(4)),a=s(n(6)),u=n(7);function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function n(e,t){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,o.default),r(n,[{key:"componentDidMount",value:function(){this.renderPortal()}},{key:"comp
onentDidUpdate",value:function(e){e.container!==this.props.container&&(0,a.default)(e.container),this.renderPortal()}},{key:"componentWillUnmount",value:function(){(0,a.default)(this.props.container)}},{key:"renderPortal",value:function(){(0,i.default)(this.props.element,this.props.container,{parent:this})}},{key:"render",value:function(){return null}}]),n}();e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(4),u=(r=o)&&r.__esModule?r:{default:r};t.default=function(e,t,n,r){if(t.childNodes)for(var o=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t.childNodes)),i=0;i<o.length;i++){var a=o[i];t.removeChild(a)}return(0,u.default)(e,t,n,r)},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r={stretch:"stretch","flex-start":"start","flex-end":"end",center:"center"},o={row:"horizontal",column:"vertical"},i={"flex-start":"st
art","flex-end":"end",center:"center","space-between":"justify","space-around":"justify"},a={display:!0,flex:!0,alignItems:!0,alignSelf:!0,flexDirection:!0,justifyContent:!0,flexWrap:!0},u={isFlexProp:function(e){return a[e]},display:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.display="flex"===e?["-webkit-box","-webkit-flex","flex"]:e,t},flex:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitBoxFlex=e,t.webkitFlex=e,t.flex=e,t},flexWrap:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitFlexWrap=e,t.flexWrap=e,t},alignItems:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitBoxAlign=r[e],t.webkitAlignItems=e,t.alignItems=e,t},alignSelf:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitAlignSelf=e,t.alignSelf=e,t},flexDirection:function(e){var t=1<arguments.length&&void 0!==arguments[
1]?arguments[1]:{};return t.webkitBoxOrient=o[e],t.webkitFlexDirection=e,t.flexDirection=e,t},justifyContent:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.webkitBoxPack=i[e],t.webkitJustifyContent=e,t.justifyContent=e,t}};t.default=u,e.exports=t.default},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var o,i="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)},s=n(10),a=n(25),l=(o=a)&&o.__esModule?o:{default:o};var u="dangerouslySetInnerHTML",c="className",f=/^on[A-Z]/,d="object"===(void 0===v?"undefined":i(v))&&"textContent"in v?"textContent
":"nodeValue",p={deviceWidth:"undefined"!=typeof DEVICE_WIDTH&&DEVICE_WIDTH||null,viewportWidth:"undefined"!=typeof VIEWPORT_WIDTH&&VIEWPORT_WIDTH||750,eventRegistry:{},getDeviceWidth:function(){return this.deviceWidth||v.documentElement.clientWidth},setDeviceWidth:function(e){this.deviceWidth=e},getViewportWidth:function(){return this.viewportWidth},setViewportWidth:function(e){this.viewportWidth=e},getElementById:function(e){return v.getElementById(e)},createBody:function(){return v.body},createComment:function(e){return v.createComment(e)},createEmpty:function(){return this.createComment(" empty ")},createText:function(e){return v.createTextNode(e)},updateText:function(e,t){e[d]=t},createElement:function(e){var t=v.createElement(e.type),n=e.props;return this.setNativeProps(t,n),t},appendChild:function(e,t){return t.appendChild(e)},removeChild:function(e,t){(t=t||e.parentNode)&&t.removeChild(e)},replaceChild:function(e,t,n){(n=n||t.parentNode).replaceChild(e,t)},insertAfter:functi
on(e,t,n){n=n||t.parentNode;var r=t.nextSibling;r?n.insertBefore(e,r):n.appendChild(e)},insertBefore:function(e,t,n){(n=n||t.parentNode).insertBefore(e,t)},addEventListener:function(e,t,n,r){return this.eventRegistry[t]?this.eventRegistry[t]("addEvent",e,t,n,r):e.addEventListener(t,n)},removeEventListener:function(e,t,n,r){return this.eventRegistry[t]?this.eventRegistry[t]("removeEvent",e,t,n,r):e.removeEventListener(t,n)},removeAllEventListeners:function(e){},removeAttribute:function(e,t){if(t===u)return e.innerHTML=null;if(t===c&&(t="class"),t in e)try{e[t]=null}catch(e){}e.removeAttribute(t)},setAttribute:function(t,n,r){if(n===u)return t.innerHTML=r.__html;if(n===c&&(n="class"),n in t)try{t[n]=r}catch(e){t.setAttribute(n,r)}else t.setAttribute(n,r)},setStyles:function(e,t){var n={};for(var r in t){var o=t[r];l.default.isFlexProp(r)?l.default[r](o,n):n[r]=(0,s.convertUnit)(o,r)}for(var i in n){var a=n[i];if(Array.isArray(a))for(var u=0;u<a.length;u++)e.style[i]=a[u];else e.style[
i]=a}},beforeRender:function(){(0,s.setRem)(this.getDeviceWidth()/this.getViewportWidth())},setNativeProps:function(e,t){for(var n in t){var r=t[n];if("children"!==n&&null!=r)if("style"===n)this.setStyles(e,r);else if(f.test(n)){var o=n.slice(2).toLowerCase();this.addEventListener(e,o,r)}else this.setAttribute(e,n,r)}}};t.default=p,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={parse:function(e){return e.type="div",e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=arguments,n=1;n<arguments.length;n++){var r=t[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e};function o(e,t,n){return{fontSize:e*t,marginTop:e*t*n,marginBottom:e*t*n,fontWeight:"bold"}}var i={h1:o(28,2,.67),h2:o(28,1.5,.83),h3:o(28,1.17,1),h4:o(28,1,1.33),h5:o(28,.83,1.67),h6:o(28,.67,2.33)};t.default={parse:function(e){var t=e.type,n=e.props;return e.type=
"text",n.style=r({},i[t]||i.h6,n.style),"string"!=typeof n.children||n.value||(n.value=n.children,n.children=null),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=arguments,n=1;n<arguments.length;n++){var r=t[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e};t.default={parse:function(e){var t=e.props;e.type="text";var n=t.style,r=t.disabled,o=t.children,i=a({textAlign:"center",fontSize:22,paddingTop:4,paddingRight:12,paddingBottom:6,paddingLeft:12,borderWidth:4,borderStyle:"solid",borderColor:"#000000",backgroudColor:"#c0c0c0"},n);return r&&(t.onClick=null,i=a({},i,{color:"#7f7f7f",borderColor:"#7f7f7f"})),"string"==typeof o&&(t.value=o,t.children=null),e}},e.exports=t.default},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symb
ol.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)},a=Object.assign||function(e){for(var t=arguments,n=1;n<arguments.length;n++){var r=t[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},i={fontSize:28,marginTop:28,marginBottom:28},u={u:{textDecoration:"underline"},s:{textDecoration:"line-through"},i:{fontStyle:"italic"},b:{fontWeight:"bold"},del:{textDecoration:"line-through"},em:{fontStyle:"italic"},strong:{fontWeight:"bold"},big:{fontSize:33.6},small:{fontSize:28*.8}};function s(e){var t=e.type,n=e.props,r=n.style,o=n.children;"img"===t&&(t="image"),u[t]&&(r=a({},u[t],r),t="span"),n.style=null,n.children=null;var i={type:t,style:r,attr:n||{}};return o&&("span"===t&&"string"==typeo
f o?i.attr.value=o:i.children=l(o)),i}function l(e){var t=[];Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++){var r=e[n];"string"==typeof r?t.push({type:"span",attr:{value:r}}):"object"===(void 0===r?"undefined":o(r))&&t.push(s(r))}return t}t.default={parse:function(e){var t=e.props,n=t.children;return e.type="richtext",t.style=a({},i,t.style),t.value=l(n),t.children=null,e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={parse:function(e){var t=e.props;return e.type="text","string"!=typeof t.children||t.value||(t.value=t.children,t.children=null),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default={parse:function(e){var t=e.props;return"string"!=typeof t.children||t.value||(t.value=t.children,t.children=null),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(9);t.default={parse:function(e){var t=e.props;return e.props=(0,r.transformP
ropsAttrsToStyle)(t,["width","height"]),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=n(9);t.default={parse:function(e){var t=e.props;return e.type="image",e.props=(0,r.transformPropsAttrsToStyle)(t,["width","height"]),e}},e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(34)),o=f(n(33)),i=f(n(32)),a=f(n(31)),u=f(n(30)),s=f(n(29)),l=f(n(28)),c=f(n(27));function f(e){return e&&e.__esModule?e:{default:e}}t.default={span:a.default,p:u.default,img:r.default,button:s.default,video:o.default,textarea:i.default,h1:l.default,h2:l.default,h3:l.default,h4:l.default,h5:l.default,h6:l.default,nav:c.default,article:c.default,section:c.default,footer:c.default,aside:c.default,main:c.default},e.exports=t.default},function(e,t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbo
l.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var o,i="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)},u=n(10),a=n(35),s=(o=a)&&o.__esModule?o:{default:o};var l=/^on[A-Z]/,c=/^aria-/,f={},d="object"===(void 0===h?"undefined":i(h))?h:"object"===(void 0===d?"undefined":i(d))?d:null,p={deviceWidth:750,viewportWidth:750,getDeviceWidth:function(){return this.deviceWidth},setDeviceWidth:function(e){this.deviceWidth=e},getViewportWidth:function(){return this.viewportWidth},setViewportWidth:function(e){this.viewportWidth=e},getElementById:function(e){return f[e]},createBody:function(){if(d.body)return d.body;var e=d.documentElement,t=d.createBody(p.bodyType,p.bodyProps);return e.appendChild(t),t},createComment:function(e){return d.createComment(e)},createEmpty:function(){r
eturn this.createComment(" empty ")},createText:function(e){return p.createElement({type:"text",props:{value:e}})},updateText:function(e,t){this.setAttribute(e,"value",t)},createElement:function(e){var t=s.default[e.type];t&&(e=t.parse(e));var n=e.props,r={},o=n.style;for(var i in o)r[i]=(0,u.convertUnit)(o[i],i);var a=d.createElement(e.type,{style:r});return this.setNativeProps(a,n,!0),a},appendChild:function(e,t){return t.appendChild(e)},removeChild:function(e,t){t=t||e.parentNode;var n=e.attr&&e.attr.id;return null!=n&&(f[n]=null),t.removeChild(e)},replaceChild:function(e,t,n){n=n||t.parentNode;var r=t.previousSibling,o=t.nextSibling;this.removeChild(t,n),r?this.insertAfter(e,r,n):o?this.insertBefore(e,o,n):this.appendChild(e,n)},insertAfter:function(e,t,n){return(n=n||t.parentNode).insertAfter(e,t)},insertBefore:function(e,t,n){return(n=n||t.parentNode).insertBefore(e,t)},addEventListener:function(e,t,n,r){var o=r[t+"EventParams"];return e.addEvent(t,n,o)},removeEventListener:fu
nction(e,t,n){return e.removeEvent(t,n)},removeAllEventListeners:function(e){},removeAttribute:function(e,t,n){return"id"==t&&(f[n]=null),e.setAttr(t,void 0,!1)},setAttribute:function(e,t,n){return"id"==t&&(f[n]=e),c.test(t)&&(t=t.replace(/\-(\w)/,function(e,t){return t.toUpperCase()})),e.setAttr(t,n,!1)},setStyles:function(e,t){for(var n in t){var r=t[n];r=(0,u.convertUnit)(r,n),e.setStyle(n,r)}},beforeRender:function(){d.open(),(0,u.setRem)(this.getDeviceWidth()/this.getViewportWidth())},afterRender:function(){d.listener&&d.listener.createFinish&&d.listener.createFinish(),d.close()},setNativeProps:function(e,t,n){for(var r in t){var o=t[r];if("children"!==r&&null!=o)if("style"===r){if(n)continue;this.setStyles(e,o)}else if(l.test(r)){var i=r.slice(2).toLowerCase();this.addEventListener(e,i,o,t)}else this.setAttribute(e,r,o)}}};t.default=p,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n+
+){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),c=a(n(0)),o=a(n(13)),i=a(n(1)),s=a(n(3)),l=a(n(11));function a(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default),r(t,[{ke
y:"mountComponent",value:function(e,t,n,r){this._parent=e,this._parentInstance=t,this._context=n,this._mountID=c.default.mountID++;var o={_internal:this};this._instance=o;var i=this.getNativeNode(),a=this._currentElement;if(this.mountChildren(a,n),r)r(i,e);else for(var u=Array.isArray(e),s=0;s<i.length;s++){var l=i[s];u?e.push(l):c.default.driver.appendChild(l,e)}return o}},{key:"mountChildren",value:function(e,o){var i=this,a=this._renderedChildren={},u=this.getNativeNode();return e.map(function(e,t){var n=(0,s.default)(e),r=(0,l.default)(a,e,t);return(a[r]=n)._mountIndex=t,n.mountComponent(i._parent,i._instance,o,function(e){if(Array.isArray(e))for(var t=0;t<e.length;t++)u.push(e[t]);else u.push(e)})})}},{key:"unmountComponent",value:function(e){if(this._nativeNode&&(i.default.remove(this._nativeNode),!e))for(var t=0;t<this._nativeNode.length;t++)c.default.driver.removeChild(this._nativeNode[t]);this.unmountChildren(!0),this._currentElement=null,this._nativeNode=null,this._parent=
null,this._parentInstance=null,this._context=null,this._instance=null}},{key:"updateComponent",value:function(e,t,n,r){this._currentElement=t,this.updateChildren(this._currentElement,r)}},{key:"getNativeNode",value:function(){return null==this._nativeNode&&(this._nativeNode=[]),this._nativeNode}},{key:"getPublicInstance",value:function(){return this.getNativeNode()}},{key:"getName",value:function(){return"fragment"}}]),t}();t.default=u,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=Object.prototype.hasOwnProperty;function u(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}t.default=function(e,t){if(u(e,t))return!0;if("object"!==(void 0===e?"undefined":i(e))||null===e||"object"!==(void 0===t?"undefined":i(t))||null===t)return!1;var n=Object.ke
ys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!a.call(t,n[o])||!u(e[n[o]],t[n[o]]))return!1;return!0},e.exports=t.default},function(e,t,n){function a(e,t){t&&(e._pendingCallbacks||(e._pendingCallbacks=[])).push(t)}Object.defineProperty(t,"__esModule",{value:!0});var r={setState:function(e,t,n){var r,o,i=e._internal;i&&(r=i,(o=t)&&(r._pendingStateQueue||(r._pendingStateQueue=[])).push(o),a(i,n),!i._pendingState&&i._renderedComponent&&this.runUpdate(e))},forceUpdate:function(e,t){var n=e._internal;n&&(n._pendingForceUpdate=!0,a(n,t),n._renderedComponent&&this.runUpdate(e))},runUpdate:function(e){var t=e._internal,n=t._pendingCallbacks;t._pendingCallbacks=null;var r=t._currentElement,o=t._context;(t._pendingStateQueue||t._pendingForceUpdate)&&t.updateComponent(r,r,o,o),this.runCallbacks(n,e)},runCallbacks:function(e,t){if(e)for(var n=0;n<e.length;n++)e[n].call(t)}};t.default=r,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModul
e",{value:!0});var r,o=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),i=n(0);(r=i)&&r.__esModule;var a=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.pureRender=e}return o(t,[{key:"render",value:function(){return this.pureRender(this.props,this.context)}}]),t}();t.default=a,e.exports=t.default},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),v=o(n(40)),y=o(n(39)),m=o(n(0)),_=o(n(12)),b=o(n(3)),i=o(n(5)),g=o(n(38));function o(e){return e&&e.__esMo
dule?e:{default:e}}function w(e,t,n){try{return e()}catch(e){n?n(e):x(t,e)}}function x(e,t){for(var n=void 0;e;){if("function"==typeof e.componentDidCatch){n=e;break}if(!e._internal||!e._internal._parentInstance)break;e=e._internal._parentInstance}if(n)n.componentDidCatch(t);else{if(!m.default.sandbox)throw t;setTimeout(function(){throw t},0)}}var a=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this._currentElement=e}return r(t,[{key:"getName",value:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null}},{key:"mountComponent",value:function(e,t,n,r){this._parent=e,this._parentInstance=t,this._context=n,this._mountID=m.default.mountID++,this._updateCount=0;var o=this._currentElement.type,i=this._currentElement.props,a=o.prototype,u=a&&o.prototype.isComponentClass,s=a&&o.prototype.render,l=this._processContex
t(n),c=void 0,f=void 0;if(u||s)c=new o(i,l,y.default);else{if("function"!=typeof o)throw new Error("Invalid component type: "+o+". (keys: "+Object.keys(o)+")");c=new v.default(o)}c.props=i,c.context=l,c.refs={},c.updater=y.default;var d=((c._internal=this)._instance=c).state;void 0===d&&(c.state=d=null);var p=null,h=function(e){p=e};return c.componentWillMount&&w(f
<TRUNCATED>
[45/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.14 (#1274)
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/pre-build/weex-main-jsfm.js
----------------------------------------------------------------------
diff --git a/pre-build/weex-main-jsfm.js b/pre-build/weex-main-jsfm.js
index af0084d..ea0a29b 100644
--- a/pre-build/weex-main-jsfm.js
+++ b/pre-build/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.13, Build 2018-06-14 11:10. (Vue: 2.5.13-weex.5, Rax: 0.4.20)");var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";var t,c,r,l;function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0<t?1:-1)*Math.floor(Math.abs(t)):t);return Math.min(Math.max(n,0),r)},function(e){var t=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var n,r=1<arguments.length?arguments[1]:void 0;if(void 0!==r){if(
!c(r))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(n=arguments[2])}for(var o,i=l(t.length),a=c(this)?Object(new this(i)):new Array(i),s=0;s<i;)o=t[s],a[s]=r?void 0===n?r(o,s):r.call(n,o,s):o,s+=1;return a.length=i,a}));var v=n(function(e){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)}),m=n(function(e){var t=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=t)}),o=(m.version,function(e){return"object"==typeof e?null!==e:"function"==typeof e}),y=function(e){if(!o(e))throw TypeError(e+" is not an object!");return e},i=function(e){try{return!!e()}catch(e){return!0}},a=!i(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),s=v.document,u=o(s)&&o(s.createElement),f=function(e){return u?s.createElement(e):{}},p=!a&&!i(function(){return 7!=Object.defineProperty(f("div"
),"a",{get:function(){return 7}}).a}),d=Object.defineProperty,h={f:a?Object.defineProperty:function(e,t,n){if(y(e),t=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}(t,!0),y(n),p)try{return d(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},k=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},S=a?function(e,t,n){return h.f(e,t,k(1,n))}:function(e,t,n){return e[t]=n,e},g={}.hasOwnProperty,_=function(e,t){return g.call(e,t)},b=0,w=Math.random(),O=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++b+w).toString(36))},C=n(function(e){var i=O("src"),t="toString",n=Function[t],a=(""+n).split(t);m.inspectSource=function(e){return n.call(
e)},(e.exports=function(e,t,n,r){var o="function"==typeof n;o&&(_(n,"name")||S(n,"name",t)),e[t]!==n&&(o&&(_(n,i)||S(n,i,e[t]?""+e[t]:a.join(String(t)))),e===v?e[t]=n:r?e[t]?e[t]=n:S(e,t,n):(delete e[t],S(e,t,n)))})(Function.prototype,t,function(){return"function"==typeof this&&this[i]||n.call(this)})}),x=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e},E=function(r,o,e){if(x(r),void 0===o)return r;switch(e){case 1:return function(e){return r.call(o,e)};case 2:return function(e,t){return r.call(o,e,t)};case 3:return function(e,t,n){return r.call(o,e,t,n)}}return function(){return r.apply(o,arguments)}},$="prototype",A=function(e,t,n){var r,o,i,a,s=e&A.F,c=e&A.G,l=e&A.S,u=e&A.P,f=e&A.B,p=c?v:l?v[t]||(v[t]={}):(v[t]||{})[$],d=c?m:m[t]||(m[t]={}),h=d[$]||(d[$]={});for(r in c&&(n=t),n)i=((o=!s&&p&&void 0!==p[r])?p:n)[r],a=f&&o?E(i,v):u&&"function"==typeof i?E(Function.call,i):i,p&&C(p,r,i,e&A.U),d[r]!=i&&S(d,r,a),u&&h[r]!=i&&(h[r]=i)};v.core=m,A.F=1
,A.G=2,A.S=4,A.P=8,A.B=16,A.W=32,A.U=64,A.R=128;var j,I=A,M={}.toString,T=function(e){return M.call(e).slice(8,-1)},F=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==T(e)?e.split(""):Object(e)},P=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},N=function(e){return F(P(e))},D=Math.ceil,R=Math.floor,V=function(e){return isNaN(e=+e)?0:(0<e?R:D)(e)},J=Math.min,L=function(e){return 0<e?J(V(e),9007199254740991):0},W=Math.max,q=Math.min,U=n(function(e){var t="__core-js_shared__",n=v[t]||(v[t]={});(e.exports=function(e,t){return n[e]||(n[e]=void 0!==t?t:{})})("versions",[]).push({version:m.version,mode:"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})}),B=U("keys"),z=function(e){return B[e]||(B[e]=O(e))},H=(j=!1,function(e,t,n){var r,o,i,a=N(e),s=L(a.length),c=(o=s,(r=V(r=n))<0?W(r+o,0):q(r,o));if(j&&t!=t){for(;c<s;)if((i=a[c++])!=i)return!0}else for(;c<s;c++)if((j||c in a)&&a[c]===t)return j||c||0;return!j&&-1}),X=z("IE_PROTO")
,G="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),K=Object.keys||function(e){return function(e,t){var n,r=N(e),o=0,i=[];for(n in r)n!=X&&_(r,n)&&i.push(n);for(;t.length>o;)_(r,n=t[o++])&&(~H(i,n)||i.push(n));return i}(e,G)},Z={f:Object.getOwnPropertySymbols},Y={f:{}.propertyIsEnumerable},Q=function(e){return Object(P(e))},ee=Object.assign,te=!ee||i(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ee({},e)[n]||Object.keys(ee({},t)).join("")!=r})?function(e,t){for(var n=arguments,r=Q(e),o=arguments.length,i=1,a=Z.f,s=Y.f;i<o;)for(var c,l=F(n[i++]),u=a?K(l).concat(a(l)):K(l),f=u.length,p=0;p<f;)s.call(l,c=u[p++])&&(r[c]=l[c]);return r}:ee;I(I.S+I.F,"Object",{assign:te});m.Object.assign;Object.setPrototypeOf||(Object.setPrototypeOf=function(t,n){var r;function o(e,t){return r.call(e,t),e}try{(r=t.getOwnPropertyDescriptor(t.prototype,n).set).call({},null)}catc
h(e){if(t.prototype!=={}[n])return;r=function(e){this[n]=e},o.polyfill=o(o({},null),t.prototype)instanceof t}return o}(Object,"__proto__"));var ne=global.WXEnvironment;ne&&"iOS"===ne.platform&&(global.Promise=void 0);var re=n(function(e){var t=U("wks"),n=v.Symbol,r="function"==typeof n;(e.exports=function(e){return t[e]||(t[e]=r&&n[e]||(r?n:O)("Symbol."+e))}).store=t}),oe=re("toStringTag"),ie="Arguments"==T(function(){return arguments}()),ae=function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),oe))?n:ie?T(t):"Object"==(r=T(t))&&"function"==typeof t.callee?"Arguments":r},se={};se[re("toStringTag")]="z",se+""!="[object z]"&&C(Object.prototype,"toString",function(){return"[object "+ae(this)+"]"},!0);var ce={},le=a?Object.defineProperties:function(e,t){y(e);for(var n,r=K(t),o=r.length,i=0;i<o;)h.f(e,n=r[i++],t[n]);return e},ue=v.document,fe=ue&&ue.documentElement,pe=z("IE_PROTO"),de=function(){},he="
prototype",ve=function(){var e,t=f("iframe"),n=G.length;for(t.style.display="none",fe.appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),ve=e.F;n--;)delete ve[he][G[n]];return ve()},me=Object.create||function(e,t){var n;return null!==e?(de[he]=y(e),n=new de,de[he]=null,n[pe]=e):n=ve(),void 0===t?n:le(n,t)},ye=h.f,ge=re("toStringTag"),_e=function(e,t,n){e&&!_(e=n?e:e.prototype,ge)&&ye(e,ge,{configurable:!0,value:t})},be={};S(be,re("iterator"),function(){return this});var we,ke=z("IE_PROTO"),Se=Object.prototype,Oe=Object.getPrototypeOf||function(e){return e=Q(e),_(e,ke)?e[ke]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Se:null},Ce=re("iterator"),xe=!([].keys&&"next"in[].keys()),Ee="values",$e=function(){return this},Ae=function(e,t,n,r,o,i,a){var s,c,l;c=t,l=r,(s=n).prototype=me(be,{next:k(1,l)}),_e(s,c+" Iterator");var u,f,p,d=function(e){if(!xe&&e
in y)return y[e];switch(e){case"keys":case Ee:return function(){return new n(this,e)}}return function(){return new n(this,e)}},h=t+" Iterator",v=o==Ee,m=!1,y=e.prototype,g=y[Ce]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void 0,w="Array"==t&&y.entries||g;if(w&&(p=Oe(w.call(new e)))!==Object.prototype&&p.next&&(_e(p,h,!0),"function"!=typeof p[Ce]&&S(p,Ce,$e)),v&&g&&g.name!==Ee&&(m=!0,_=function(){return g.call(this)}),(xe||m||!y[Ce])&&S(y,Ce,_),ce[t]=_,ce[h]=$e,o)if(u={values:v?_:d(Ee),keys:i?_:d("keys"),entries:b},a)for(f in u)f in y||C(y,f,u[f]);else I(I.P+I.F*(xe||m),t,u);return u},je=(we=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return i<0||a<=i?we?"":void 0:(n=o.charCodeAt(i))<55296||56319<n||i+1===a||(r=o.charCodeAt(i+1))<56320||57343<r?we?o.charAt(i):n:we?o.slice(i,i+2):r-56320+(n-55296<<10)+65536});Ae(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=je(t,n)
,this._i+=e.length,{value:e,done:!1})});var Ie=re("unscopables"),Me=Array.prototype;null==Me[Ie]&&S(Me,Ie,{});var Te=function(e){Me[Ie][e]=!0},Fe=function(e,t){return{value:t,done:!!e}},Pe=Ae(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,Fe(1)):Fe(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ce.Arguments=ce.Array,Te("keys"),Te("values"),Te("entries");for(var Ne=re("iterator"),De=re("toStringTag"),Re=ce.Array,Ve={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheet
List:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},Je=K(Ve),Le=0;Le<Je.length;Le++){var We,qe=Je[Le],Ue=Ve[qe],Be=v[qe],ze=Be&&Be.prototype;if(ze&&(ze[Ne]||S(ze,Ne,Re),ze[De]||S(ze,De,qe),ce[qe]=Re,Ue))for(We in Pe)ze[We]||C(ze,We,Pe[We],!0)}var He,Xe,Ge,Ke=function(t,e,n,r){try{return r?e(y(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&y(o.call(t)),e}},Ze=re("iterator"),Ye=Array.prototype,Qe=re("iterator"),et=m.getIteratorMethod=function(e){if(null!=e)return e[Qe]||e["@@iterator"]||ce[ae(e)]},tt=n(function(e){var d={},h={},t=e.exports=function(e,t,n,r,o){var i,a,s,c,l,u=o?function(){return e}:et(e),f=E(n,r,t?2:1),p=0;if("function"!=typeof u)throw TypeError(e+" is not iterable!");if(void 0===(l=u)||ce.Array!==l&&Ye[Ze]!==l){for(s=u.call(e);!(a=s.next()).done;)if((c=Ke(s,f,a.value,t))===d||c===h)return c}else for(i=L(e.length);p<i;p++)if((c=t?f(y(a=e[p])[0],a[1]):f(e[p]))===d||c===h)return c};t.BREAK=d,t.RETURN=h}),nt=re("species"),rt=v.process,ot=v.setImmediate,
it=v.clearImmediate,at=v.MessageChannel,st=v.Dispatch,ct=0,lt={},ut="onreadystatechange",ft=function(){var e=+this;if(lt.hasOwnProperty(e)){var t=lt[e];delete lt[e],t()}},pt=function(e){ft.call(e.data)};ot&&it||(ot=function(e){for(var t=arguments,n=[],r=1;arguments.length>r;)n.push(t[r++]);return lt[++ct]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof e?e:Function(e),n)},He(ct),ct},it=function(e){delete lt[e]},"process"==T(rt)?He=function(e){rt.nextTick(E(ft,e,1))}:st&&st.now?He=function(e){st.now(E(ft,e,1))}:at?(Ge=(Xe=new at).port2,Xe.port1.onmessage=pt,He=E(Ge.postMessage,Ge,1)):v.addEventListener&&"function"==typeof postMessage&&!v.importScripts?(He=function(e){v.postMessage(e+"","*")},v.ad
dEventListener("message",pt,!1)):He=ut in f("script")?function(e){fe.appendChild(f("script"))[ut]=function(){fe.removeChild(this),ft.call(e)}}:function(e){setTimeout(E(ft,e,1),0)});var dt={set:ot,clear:it},ht=dt.set,vt=v.MutationObserver||v.WebKitMutationObserver,mt=v.process,yt=v.Promise,gt="process"==T(mt);var _t={f:function(e){return new function(e){var n,r;this.promise=new e(function(e,t){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=e,r=t}),this.resolve=x(n),this.reject=x(r)}(e)}},bt=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}},wt=v.navigator,kt=wt&&wt.userAgent||"",St=re("species"),Ot=re("iterator"),Ct=!1;try{[7][Ot]().return=function(){Ct=!0}}catch(e){}var xt,Et,$t,At,jt,It=dt.set,Mt=function(){var n,r,o,e=function(){var e,t;for(gt&&(e=mt.domain)&&e.exit();n;){t=n.fn,n=n.next;try{t()}catch(e){throw n?o():r=void 0,e}}r=void 0,e&&e.enter()};if(gt)o=function(){mt.nextTick(e)};else if(!vt||v.navigator&&v.navigator.standalone)if(yt&&yt.re
solve){var t=yt.resolve(void 0);o=function(){t.then(e)}}else o=function(){ht.call(v,e)};else{var i=!0,a=document.createTextNode("");new vt(e).observe(a,{characterData:!0}),o=function(){a.data=i=!i}}return function(e){var t={fn:e,next:void 0};r&&(r.next=t),n||(n=t,o()),r=t}}(),Tt="Promise",Ft=v.TypeError,Pt=v.process,Nt=Pt&&Pt.versions,Dt=Nt&&Nt.v8||"",Rt=v[Tt],Vt="process"==ae(Pt),Jt=function(){},Lt=Et=_t.f,Wt=!!function(){try{var e=Rt.resolve(1),t=(e.constructor={})[re("species")]=function(e){e(Jt,Jt)};return(Vt||"function"==typeof PromiseRejectionEvent)&&e.then(Jt)instanceof t&&0!==Dt.indexOf("6.6")&&-1===kt.indexOf("Chrome/66")}catch(e){}}(),qt=function(e){var t;return!(!o(e)||"function"!=typeof(t=e.then))&&t},Ut=function(u,n){if(!u._n){u._n=!0;var r=u._c;Mt(function(){for(var c=u._v,l=1==u._s,e=0,t=function(e){var t,n,r,o=l?e.ok:e.fail,i=e.resolve,a=e.reject,s=e.domain;try{o?(l||(2==u._h&&Ht(u),u._h=1),!0===o?t=c:(s&&s.enter(),t=o(c),s&&(s.exit(),r=!0)),t===e.promise?a(Ft("Promi
se-chain cycle")):(n=qt(t))?n.call(t,i,a):i(t)):a(c)}catch(e){s&&!r&&s.exit(),a(e)}};r.length>e;)t(r[e++]);u._c=[],u._n=!1,n&&!u._h&&Bt(u)})}},Bt=function(i){It.call(v,function(){var e,t,n,r=i._v,o=zt(i);if(o&&(e=bt(function(){Vt?Pt.emit("unhandledRejection",r,i):(t=v.onunhandledrejection)?t({promise:i,reason:r}):(n=v.console)&&n.error&&n.error("Unhandled promise rejection",r)}),i._h=Vt||zt(i)?2:1),i._a=void 0,o&&e.e)throw e.v})},zt=function(e){return 1!==e._h&&0===(e._a||e._c).length},Ht=function(t){It.call(v,function(){var e;Vt?Pt.emit("rejectionHandled",t):(e=v.onrejectionhandled)&&e({promise:t,reason:t._v})})},Xt=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),Ut(t,!0))},Gt=function(e){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===e)throw Ft("Promise can't be resolved itself");(n=qt(e))?Mt(function(){var t={_w:r,_d:!1};try{n.call(e,E(Gt,t,1),E(Xt,t,1))}catch(e){Xt.call(t,e)}}):(r._v=e,r._s=1,Ut(r,!1))}catch(e){Xt.call({_w:r,_d:!1},e)
}}};Wt||(Rt=function(e){!function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!")}(this,Rt,Tt,"_h"),x(e),xt.call(this);try{e(E(Gt,this,1),E(Xt,this,1))}catch(e){Xt.call(this,e)}},(xt=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(e,t,n){for(var r in t)C(e,r,t[r],n);return e}(Rt.prototype,{then:function(e,t){var n,r,o,i=Lt((n=Rt,void 0===(o=y(this).constructor)||null==(r=y(o)[nt])?n:x(r)));return i.ok="function"!=typeof e||e,i.fail="function"==typeof t&&t,i.domain=Vt?Pt.domain:void 0,this._c.push(i),this._a&&this._a.push(i),this._s&&Ut(this,!1),i.promise},catch:function(e){return this.then(void 0,e)}}),$t=function(){var e=new xt;this.promise=e,this.resolve=E(Gt,e,1),this.reject=E(Xt,e,1)},_t.f=Lt=function(e){return e===Rt||e===At?new $t(e):Et(e)}),I(I.G+I.W+I.F*!Wt,{Promise:Rt}),_e(Rt,Tt),jt=v[Tt],a&&jt&&!jt[St]&&h.f(jt,St,{configurable:!0,get:function(){return this}}),
At=m[Tt],I(I.S+I.F*!Wt,Tt,{reject:function(e){var t=Lt(this);return(0,t.reject)(e),t.promise}}),I(I.S+I.F*!Wt,Tt,{resolve:function(e){return function(e,t){if(y(e),o(t)&&t.constructor===e)return t;var n=_t.f(e);return(0,n.resolve)(t),n.promise}(this,e)}}),I(I.S+I.F*!(Wt&&function(e,t){if(!t&&!Ct)return!1;var n=!1;try{var r=[7],o=r[Ot]();o.next=function(){return{done:n=!0}},r[Ot]=function(){return o},e(r)}catch(e){}return n}(function(e){Rt.all(e).catch(Jt)})),Tt,{all:function(e){var a=this,t=Lt(a),s=t.resolve,c=t.reject,n=bt(function(){var r=[],o=0,i=1;tt(e,!1,function(e){var t=o++,n=!1;r.push(void 0),i++,a.resolve(e).then(function(e){n||(n=!0,r[t]=e,--i||s(r))},c)}),--i||s(r)});return n.e&&c(n.v),t.promise},race:function(e){var t=this,n=Lt(t),r=n.reject,o=bt(function(){tt(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}});var Kt=["off","error","warn","info","log","debug"],Zt={};global.console;function Yt(e){var t=global.WXEnvironment&&global.WXEnviron
ment.logLevel||"log";return Zt[t]&&Zt[t][e]}function Qt(e){return e.map(function(e){return e="[object object]"===Object.prototype.toString.call(e).toLowerCase()?JSON.stringify(e):String(e)})}global.setTimeout;var en=global.setTimeoutNative;function tn(t,n,r){if(t.hasOwnProperty(n)){var e=t[n];Object.defineProperty(t,n,{get:function(){return e},set:function(e){if(this===t)throw Error("Cannot assign to read only property "+n+" of "+r);return Object.defineProperty(this,n,{value:e,writable:!0}),e}})}}!function(){if(void 0===setTimeout&&"function"==typeof en){var n={},r=0;global.setTimeout=function(e,t){n[++r]=e,en(r.toString(),t)},global.setTimeoutCallback=function(e){"function"==typeof n[e]&&(n[e](),delete n[e])}}}(),function(){if(Kt.forEach(function(n){var r=Kt.indexOf(n);Zt[n]={},Kt.forEach(function(e){var t=Kt.indexOf(e);t<=r&&(Zt[n][e]=!0)})}),global.WXEnvironment&&"Web"!==global.WXEnvironment.platform)global.console={debug:function(){for(var e=[],t=arguments.length;t--;)e[t]=argum
ents[t];Yt("debug")&&global.nativeLog.apply(global,Qt(e).concat(["__DEBUG"]))},log:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("log")&&global.nativeLog.apply(global,Qt(e).concat(["__LOG"]))},info:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("info")&&global.nativeLog.apply(global,Qt(e).concat(["__INFO"]))},warn:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("warn")&&global.nativeLog.apply(global,Qt(e).concat(["__WARN"]))},error:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("error")&&global.nativeLog.apply(global,Qt(e).concat(["__ERROR"]))}};else{var e=console.debug,t=console.log,n=console.info,r=console.warn,o=console.error;console.__ori__={debug:e,log:t,info:n,warn:r,error:o},console.debug=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("debug")&&console.__ori__.debug.apply(console,e)},console.log=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("log
")&&console.__ori__.log.apply(console,e)},console.info=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("info")&&console.__ori__.info.apply(console,e)},console.warn=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("warn")&&console.__ori__.warn.apply(console,e)},console.error=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("error")&&console.__ori__.error.apply(console,e)}}}();var nn={framework:"0.26.13",transformer:">=0.1.5 <0.5"};function rn(e,t,n){return t+"@"+n+"#"+e}var on=function(e){this.instanceId=String(e),this.lastCallbackId=0,this.callbacks={},this.hooks={}};on.prototype.add=function(e){return this.lastCallbackId++,this.callbacks[this.lastCallbackId]=e,this.lastCallbackId},on.prototype.remove=function(e){var t=this.callbacks[e];return delete this.callbacks[e],t},on.prototype.registerHook=function(e,t,n,r){var o=rn(e,t,n);this.hooks[o]&&console.warn('[JS Framework] Override an existing component hook "'+o+'".'),thi
s.hooks[o]=r},on.prototype.triggerHook=function(e,t,n,r){var o=rn(e,t,n),i=this.hooks[o];if("function"!=typeof i)return console.error("[JS Framework] Invalid hook function type ("+typeof i+') on "'+o+'".'),null;var a=null;try{a=i.apply(null,r||[])}catch(e){console.error('[JS Framework] Failed to execute the hook function on "'+o+'".')}return a},on.prototype.consume=function(e,t,n){var r=this.callbacks[e];return void 0!==n&&!1!==n||delete this.callbacks[e],"function"==typeof r?r(t):new Error('invalid callback id "'+e+'"')},on.prototype.close=function(){this.callbacks={},this.hooks={}};var an=1;function sn(){return(an++).toString()}function cn(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1)}function ln(e){if("function"!=typeof btoa)return"";var t=Array.prototype.map.call(new Uint8Array(e),function(e){return String.fromCharCode(e)}).join("");return btoa(t)}function un(e){if(!e||"object"!=typeof e)return!0;for(var t in e)if(Object.prototype.hasOwnProperty.cal
l(e,t))return!1;return!0}var fn={};function pn(e){return fn[e]}function dn(e){var t=fn[e];return t&&t.taskCenter?t.taskCenter:null}function hn(e,t,n){var r=e.documentElement;if(!(0<r.pureChildren.length||t.parentNode)){var o,i,a=r.children,s=a.indexOf(n);s<0?a.push(t):a.splice(s,0,t),1===t.nodeType?("body"===t.role?(t.docId=e.id,t.ownerDocument=e,t.parentNode=r,mn(t,r)):(t.children.forEach(function(e){e.parentNode=t}),vn(e,t),t.docId=e.id,t.ownerDocument=e,mn(t,r),delete e.nodeMap[t.nodeId]),r.pureChildren.push(t),o=e,i=t.toJSON(),o&&o.taskCenter&&"function"==typeof o.taskCenter.send&&o.taskCenter.send("dom",{action:"createBody"},[i])):(t.parentNode=r,e.nodeMap[t.ref]=t)}}function vn(e,t){t.role="body",t.depth=1,delete e.nodeMap[t.nodeId],t.ref="_root",e.nodeMap._root=t,e.body=t}function mn(t,e){(t.parentNode=e).docId&&(t.docId=e.docId,t.ownerDocument=e.ownerDocument,(t.ownerDocument.nodeMap[t.nodeId]=t).depth=e.depth+1),t.children.forEach(function(e){mn(e,t)})}function yn(e){for(;e
;){if(1===e.nodeType)return e;e=e.nextSibling}}function gn(e){for(;e;){if(1===e.nodeType)return e;e=e.previousSibling}}function _n(e,t,n,r){n<0&&(n=0);var o=t[n-1],i=t[n];return t.splice(n,0,e),r&&(o&&(o.nextSibling=e),e.previousSibling=o,(e.nextSibling=i)&&(i.previousSibling=e)),n}function bn(e,t,n,r){var o=t.indexOf(e);if(o<0)return-1;if(r){var i=t[o-1],a=t[o+1];i&&(i.nextSibling=a),a&&(a.previousSibling=i)}t.splice(o,1);var s=n;o<=n&&(s=n-1);var c=t[s-1],l=t[s];return t.splice(s,0,e),r&&(c&&(c.nextSibling=e),e.previousSibling=c,(e.nextSibling=l)&&(l.previousSibling=e)),o===s?-1:n}function wn(e,t,n){var r=t.indexOf(e);if(!(r<0)){if(n){var o=t[r-1],i=t[r+1];o&&(o.nextSibling=i),i&&(i.previousSibling=o)}t.splice(r,1)}}var kn,Sn=function(){this.nodeId=sn(),this.ref=this.nodeId,this.children=[],this.pureChildren=[],this.parentNode=null,this.nextSibling=null,this.previousSibling=null};Sn.prototype.destroy=function(){var e=pn(this.docId);e&&(delete this.docId,delete e.nodeMap[this.nodeI
d]),this.children.forEach(function(e){e.destroy()})};var On={};var Cn="div",xn=["click","longpress","touchstart","touchmove","touchend","panstart","panmove","panend","horizontalpan","verticalpan","swipe"];function En(e,t){pn(e).nodeMap[t.nodeId]=t}var $n=function(o){function e(e,t,n){void 0===e&&(e=Cn),o.call(this);var r=On[e];if(r&&!n)return new r(e,t,!0);t=t||{},this.nodeType=1,this.nodeId=sn(),this.ref=this.nodeId,this.type=e,this.attr=t.attr||{},this.style=t.style||{},this.classStyle=t.classStyle||{},this.event={},this.children=[],this.pureChildren=[]}return o&&(e.__proto__=o),((e.prototype=Object.create(o&&o.prototype)).constructor=e).prototype.appendChild=function(e){if(!e.parentNode||e.parentNode===this)if(e.parentNode){if(bn(e,this.children,this.children.length,!0),1===e.nodeType){var t=bn(e,this.pureChildren,this.pureChildren.length),n=dn(this.docId);if(n&&0<=t)return n.send("dom",{action:"moveElement"},[e.ref,this.ref,t])}}else if(mn(e,this),_n(e,this.children,this.childre
n.length,!0),this.docId&&En(this.docId,e),1===e.nodeType){_n(e,this.pureChildren,this.pureChildren.length);var r=dn(this.docId);if(r)return r.send("dom",{action:"addElement"},[this.ref,e.toJSON(),-1])}},e.prototype.insertBefore=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.nextSibling&&e.nextSibling===t))if(e.parentNode){if(bn(e,this.children,this.children.indexOf(t),!0),1===e.nodeType){var n=yn(t),r=bn(e,this.pureChildren,n?this.pureChildren.indexOf(n):this.pureChildren.length),o=dn(this.docId);if(o&&0<=r)return o.send("dom",{action:"moveElement"},[e.ref,this.ref,r])}}else if(mn(e,this),_n(e,this.children,this.children.indexOf(t),!0),this.docId&&En(this.docId,e),1===e.nodeType){var i=yn(t),a=_n(e,this.pureChildren,i?this.pureChildren.indexOf(i):this.pureChildren.length),s=dn(this.docId);if(s)return s.send("dom",{action:"addElement"},[this.ref,e.toJSON(),a])}},e.prototype.insertAfter=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.previousSibling&&e.p
reviousSibling===t))if(e.parentNode){if(bn(e,this.children,this.children.indexOf(t)+1,!0),1===e.nodeType){var n=bn(e,this.pureChildren,this.pureChildren.indexOf(gn(t))+1),r=dn(this.docId);if(r&&0<=n)return r.send("dom",{action:"moveElement"},[e.ref,this.ref,n])}}else if(mn(e,this),_n(e,this.children,this.children.indexOf(t)+1,!0),this.docId&&En(this.docId,e),1===e.nodeType){var o=_n(e,this.pureChildren,this.pureChildren.indexOf(gn(t))+1),i=dn(this.docId);if(i)return i.send("dom",{action:"addElement"},[this.ref,e.toJSON(),o])}},e.prototype.removeChild=function(e,t){if(e.parentNode&&(wn(e,this.children,!0),1===e.nodeType)){wn(e,this.pureChildren);var n=dn(this.docId);n&&n.send("dom",{action:"removeElement"},[e.ref])}t||e.destroy()},e.prototype.clear=function(){var t=dn(this.docId);t&&this.pureChildren.forEach(function(e){t.send("dom",{action:"removeElement"},[e.ref])}),this.children.forEach(function(e){e.destroy()}),this.children.length=0,this.pureChildren.length=0},e.prototype.setAtt
r=function(e,t,n){if(this.attr[e]!==t||!1===n){this.attr[e]=t;var r=dn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateAttrs"},[this.ref,o])}}},e.prototype.setAttrs=function(e,t){if(!un(e)){var n={};for(var r in e)this.attr[r]!==e[r]&&(this.attr[r]=e[r],n[r]=e[r]);if(!un(n)){var o=dn(this.docId);!t&&o&&o.send("dom",{action:"updateAttrs"},[this.ref,n])}}},e.prototype.setStyle=function(e,t,n){if(this.style[e]!==t||!1===n){this.style[e]=t;var r=dn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateStyle"},[this.ref,o])}}},e.prototype.setStyles=function(e,t){if(!un(e)){var n={};for(var r in e)this.style[r]!==e[r]&&(this.style[r]=e[r],n[r]=e[r]);if(!un(n)){var o=dn(this.docId);!t&&o&&o.send("dom",{action:"updateStyle"},[this.ref,n])}}},e.prototype.setClassStyle=function(e){for(var t in this.classStyle)this.classStyle[t]="";Object.assign(this.classStyle,e);var n=dn(this.docId);n&&n.send("dom",{action:"updateStyle"},[this.ref,this.toStyle()])},e.prototype.a
ddEvent=function(e,t,n){if(this.event||(this.event={}),!this.event[e]){this.event[e]={handler:t,params:n};var r=dn(this.docId);r&&r.send("dom",{action:"addEvent"},[this.ref,e])}},e.prototype.removeEvent=function(e){if(this.event&&this.event[e]){delete this.event[e];var t=dn(this.docId);t&&t.send("dom",{action:"removeEvent"},[this.ref,e])}},e.prototype.fireEvent=function(e,t,n,r){var o=null,i=!1,a=this.event[e];if(a&&t){var s=a.handler;t.stopPropagation=function(){i=!0},o=r&&r.params?s.call.apply(s,[this].concat(r.params,[t])):s.call(this,t)}return!i&&n&&-1!==xn.indexOf(e)&&this.parentNode&&this.parentNode.fireEvent&&(t.currentTarget=this.parentNode,this.parentNode.fireEvent(e,t,n)),o},e.prototype.toStyle=function(){return Object.assign({},this.classStyle,this.style)},e.prototype.toJSON=function(){var e={ref:this.ref.toString(),type:this.type,attr:this.attr,style:this.toStyle()},t=[];for(var n in this.event){var r=this.event[n].params;r?t.push({type:n,params:r}):t.push(n)}return t.le
ngth&&(e.event=t),this.pureChildren.length&&(e.children=this.pureChildren.map(function(e){return e.toJSON()})),e},e.prototype.toString=function(){return"<"+this.type+" attr="+JSON.stringify(this.attr)+" style="+JSON.stringify(this.toStyle())+">"+this.pureChildren.map(function(e){return e.toString()}).join("")+"</"+this.type+">"},e}(Sn);kn=$n;var An=function(){},jn=function(e,t){Object.defineProperty(this,"instanceId",{enumerable:!0,value:String(e)}),Object.defineProperty(this,"callbackManager",{enumerable:!0,value:new on(e)}),An=t||function(){}};function In(e,t){var n=pn(e);return n?Array.isArray(t)?t.map(function(e){switch(e.method){case"callback":return function(e,t,n,r){return e.taskCenter.callback(t,n,r)}.apply(void 0,[n].concat(e.args));case"fireEventSync":case"fireEvent":return function(e,t,n,r,o,i){var a=e.getRef(t);return a?e.fireEvent(a,n,r,o,i):new Error('invalid element reference "'+t+'"')}.apply(void 0,[n].concat(e.args));case"componentHook":return function(e,t,n,r,o){if
(!e||!e.taskCenter)return console.error('[JS Framework] Can\'t find "document" or "taskCenter".'),null;var i=null;try{i=e.taskCenter.triggerHook(t,n,r,o)}catch(e){console.error('[JS Framework] Failed to trigger the "'+n+"@"+r+'" hook on '+t+".")}return i}.apply(void 0,[n].concat(e.args))}}):void 0:new Error("[JS Framework] Failed to receiveTasks, instance ("+e+") is not available.")}jn.prototype.callback=function(e,t,n){return this.callbackManager.consume(e,t,n)},jn.prototype.registerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).registerHook.apply(e,t)},jn.prototype.triggerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).triggerHook.apply(e,t)},jn.prototype.updateData=function(e,t,n){this.send("module",{module:"dom",method:"updateComponentData"},[e,t,n])},jn.prototype.destroyCallback=function(){return this.callbackManager.close()},jn.prototype.normalize=function(e,t){var
n=this;void 0===t&&(t=!1);var r=cn(e);if(e&&e instanceof $n)return e.ref;if(e&&e._isVue&&e.$el instanceof $n)return e.$el.ref;if("Function"===r)return this.callbackManager.add(e).toString();if(t){if("Object"===r){var o={};for(var i in e)o[i]=n.normalize(e[i],!0);return o}if("Array"===r)return e.map(function(e){return n.normalize(e,!0)})}return function(e){var t=cn(e);switch(t){case"Undefined":case"Null":return"";case"RegExp":return e.toString();case"Date":return e.toISOString();case"Number":case"String":case"Boolean":case"Array":case"Object":return e;case"ArrayBuffer":return{"@type":"binary",dataType:t,base64:ln(e)};case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":return{"@type":"binary",dataType:t,base64:ln(e.buffer)};default:return JSON.stringify(e)}}(e)},jn.prototype.send=function(e,t,n,r){var o=this,i=t.action,a=t.component,s=t.ref,c=t.module,l=t.method;switch(n=n.
map(function(e){return o.normalize(e)}),"Object"===cn(r)&&(r=this.normalize(r,!0)),e){case"dom":return this[i](this.instanceId,n);case"component":return this.componentHandler(this.instanceId,s,l,n,Object.assign({component:a},r));default:return this.moduleHandler(this.instanceId,c,l,n,r)}},jn.prototype.callDOM=function(e,t){return this[e](this.instanceId,t)},jn.prototype.callComponent=function(e,t,n,r){return this.componentHandler(this.instanceId,e,t,n,r)},jn.prototype.callModule=function(e,t,n,r){return this.moduleHandler(this.instanceId,e,t,n,r)};var Mn={};function Tn(e){var t=function(t){Mn[t]||(Mn[t]={}),e[t].forEach(function(e){"string"==typeof e?Mn[t][e]=!0:Mn[t][e.name]=e.args})};for(var n in e)t(n)}function Fn(e,t){return"string"==typeof t?!(!Mn[e]||!Mn[e][t]):!!Mn[e]}var Pn={};function Nn(e){Array.isArray(e)&&e.forEach(function(e){e&&("string"==typeof e?Pn[e]=!0:"object"==typeof e&&"string"==typeof e.type&&function(o,e){if(e&&e.length){var t=function(e){function t(){e.apply(
this,arguments)}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t}(kn);e.forEach(function(r){t.prototype[r]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=dn(this.docId);if(n)return n.send("component",{ref:this.ref,component:o,method:r},e)}}),On[o]=t}}((Pn[e.type]=e).type,e.methods))})}function Dn(e){return!!Pn[e]}var Rn=[];function Vn(e,t){Ln(e)?console.warn('Service "'+e+'" has been registered already!'):(t=Object.assign({},t),Rn.push({name:e,options:t}))}function Jn(n){Rn.some(function(e,t){if(e.name===n)return Rn.splice(t,1),!0})}function Ln(e){return t=e,0<=Rn.map(function(e){return e.name}).indexOf(t);var t}var Wn=function(t){function e(e){t.call(this),this.nodeType=8,this.nodeId=sn(),this.ref=this.nodeId,this.type="comment",this.value=e,this.children=[],this.pureChildren=[]}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.toString=function(){return"\x3c!-- "+this.value+"
--\x3e"},e}(Sn);function qn(e,t){return void 0===t&&(t=[]),{module:"dom",method:e,args:t}}var Un=function(e,t){this.id=e,this.batched=!1,this.updates=[],"function"==typeof t?Object.defineProperty(this,"handler",{configurable:!0,enumerable:!0,writable:!0,value:t}):console.error("[JS Runtime] invalid parameter, handler must be a function")};Un.prototype.createFinish=function(e){return(0,this.handler)([qn("createFinish")],e)},Un.prototype.updateFinish=function(e){return(0,this.handler)([qn("updateFinish")],e)},Un.prototype.refreshFinish=function(e){return(0,this.handler)([qn("refreshFinish")],e)},Un.prototype.createBody=function(e){var t=e.toJSON(),n=t.children;delete t.children;var r=[qn("createBody",[t])];return n&&r.push.apply(r,n.map(function(e){return qn("addElement",[t.ref,e,-1])})),this.addActions(r)},Un.prototype.addElement=function(e,t,n){return 0<=n||(n=-1),this.addActions(qn("addElement",[t,e.toJSON(),n]))},Un.prototype.removeElement=function(e){if(Array.isArray(e)){var t=e.
map(function(e){return qn("removeElement",[e])});return this.addActions(t)}return this.addActions(qn("removeElement",[e]))},Un.prototype.moveElement=function(e,t,n){return this.addActions(qn("moveElement",[e,t,n]))},Un.prototype.setAttr=function(e,t,n){var r={};return r[t]=n,this.addActions(qn("updateAttrs",[e,r]))},Un.prototype.setStyle=function(e,t,n){var r={};return r[t]=n,this.addActions(qn("updateStyle",[e,r]))},Un.prototype.setStyles=function(e,t){return this.addActions(qn("updateStyle",[e,t]))},Un.prototype.addEvent=function(e,t){return this.addActions(qn("addEvent",[e,t]))},Un.prototype.removeEvent=function(e,t){return this.addActions(qn("removeEvent",[e,t]))},Un.prototype.handler=function(e,t){return t&&t()},Un.prototype.addActions=function(e){var t=this.updates,n=this.handler;if(Array.isArray(e)||(e=[e]),!this.batched)return n(e);t.push.apply(t,e)};var Bn={createBody:"callCreateBody",addElement:"callAddElement",removeElement:"callRemoveElement",moveElement:"callMoveElement
",updateAttrs:"callUpdateAttrs",updateStyle:"callUpdateStyle",addEvent:"callAddEvent",removeEvent:"callRemoveEvent"};function zn(e,t,n){var r,o=t.module,i=t.method,a=t.args;return r=i,"dom"===o&&Bn[r]&&"function"==typeof global[Bn[r]]?global[Bn[i]].apply(global,[e].concat(a,["-1"])):n(e,[t],"-1")}var Hn=function e(t,n,r){var o,i;t=t?t.toString():"",this.id=t,this.URL=n,i=this,(o=t)&&(fn[o]=i),this.nodeMap={};var a,s,c=e.Listener||Un;this.listener=new c(t,r||(a=t,"function"!=typeof(s=e.handler||global.callNative)&&console.error("[JS Runtime] no default handler"),function(e){Array.isArray(e)||(e=[e]);for(var t=0;t<e.length;t++){var n=zn(a,e[t],s);if(-1===n)return n}})),this.taskCenter=new jn(t,r?function(e){for(var t=[],n=arguments.length-1;0<n--;)t[n]=arguments[n+1];return r.apply(void 0,t)}:e.handler),this.createDocumentElement()};Hn.prototype.getRef=function(e){return this.nodeMap[e]},Hn.prototype.open=function(){this.listener.batched=!1},Hn.prototype.close=function(){this.listener
.batched=!0},Hn.prototype.createDocumentElement=function(){var n=this;if(!this.documentElement){var e=new $n("document");e.docId=this.id,e.ownerDocument=this,e.role="documentElement",e.depth=0,e.ref="_documentElement",this.nodeMap._documentElement=e,this.documentElement=e,Object.defineProperty(e,"appendChild",{configurable:!0,enumerable:!0,writable:!0,value:function(e){hn(n,e)}}),Object.defineProperty(e,"insertBefore",{configurable:!0,enumerable:!0,writable:!0,value:function(e,t){hn(n,e,t)}})}return this.documentElement},Hn.prototype.createBody=function(e,t){this.body||vn(this,new $n(e,t));return this.body},Hn.prototype.createElement=function(e,t){return new $n(e,t)},Hn.prototype.createComment=function(e){return new Wn(e)},Hn.prototype.fireEvent=function(e,t,n,r,o){if(e){(n=n||{}).type=n.type||t,n.target=e,n.currentTarget=e,n.timestamp=Date.now(),r&&function(e,t){var n=t.attrs||{};for(var r in n)e.setAttr(r,n[r],!0);var o=t.style||{};for(var i in o)e.setStyle(i,o[i],!0)}(e,r);var i=
"true"===this.getRef("_root").attr.bubble;return e.fireEvent(t,n,i,o)}},Hn.prototype.destroy=function(){var e;this.taskCenter.destroyCallback(),delete this.listener,delete this.nodeMap,delete this.taskCenter,e=this.id,delete fn[e]},Hn.handler=null;var Xn={};function Gn(e){return e["[[CurrentInstanceId]]"]}var Kn,Zn,Yn=function(e,t){var n,r;n=this,r=String(e),Object.defineProperty(n,"[[CurrentInstanceId]]",{value:r}),this.config=t||{},this.document=new Hn(e,this.config.bundleUrl),this.requireModule=this.requireModule.bind(this),this.importScript=this.importScript.bind(this),this.isRegisteredModule=Fn,this.isRegisteredComponent=Dn};Yn.prototype.requireModule=function(s){var c=Gn(this);if(c&&this.document&&this.document.taskCenter){if(Fn(s)){var e=s+"#"+c;if(!Xn[e]){var t=Mn[s],n={},r=function(a){Object.defineProperty(n,a,{enumerable:!0,configurable:!0,get:function(){return n=s,r=a,(o=dn(e=c))&&"function"==typeof o.send?function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];
return o.send("module",{module:n,method:r},e)}:(console.error("[JS Framework] Failed to find taskCenter ("+e+")."),null);var e,n,r,o},set:function(e){return n=s,r=a,o=e,(i=dn(t=c))&&"function"==typeof i.send?"function"!=typeof o?(console.error("[JS Framework] "+n+"."+r+" must be assigned as a function."),null):function(e){return i.send("module",{module:n,method:r},[e])}:(console.error("[JS Framework] Failed to find taskCenter ("+t+")."),null);var t,n,r,o,i}})};for(var o in t)r(o);Xn[e]=n}return Xn[e]}console.warn('[JS Framework] using unregistered weex module "'+s+'"')}else console.error('[JS Framework] Failed to requireModule("'+s+'"), instance ('+c+") doesn't exist anymore.")},Yn.prototype.supports=function(e){if("string"!=typeof e)return null;var t=e.match(/^@(\w+)\/(\w+)(\.(\w+))?$/i);if(t){var n=t[1],r=t[2],o=t[4];switch(n){case"module":return Fn(r,o);case"component":return Dn(r)}}return null},Yn.prototype.importScript=function(e,r){void 0===r&&(r={});var o=Gn(this),i=dn(o);ret
urn new Promise(function(t,n){i&&"function"==typeof i.send||n(new Error('[JS Framework] Failed to import script "'+e+'", no taskCenter ('+o+") matched."));try{i.send("module",{module:"script",method:"importScript"},[e,r],{callback:[function(e){return t(e)},function(e){return n(e)}]})}catch(e){n(e)}})};var Qn=/^\s*\/\/ *(\{[^}]*\}) *\r?\n/;function er(){return"0.26.13"}var tr={};function nr(e){return tr[e]}function rr(e,t,n){void 0===t&&(t={});var r=new Yn(e,t),o=t.bundleType||"Vue";tr[e]=o;var i=Zn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');var a,s,c,l,u=(a=e,s={weex:r,config:t,created:Date.now(),framework:o,bundleType:o},c=Zn,(l=Object.create(null)).service=Object.create(null),Rn.forEach(function(e){var t=e.name,n=e.options.create;if(n)try{var r=n(a,s,c);Object.assign(l.service,r),Object.assign(l,r.instance)}catch(e){console.error("[JS Runtime] Failed to create service "+t+".")}}),delete l.service.instance,Object.freeze(l.service),l);Object.
freeze(u);var f=Object.create(null);Object.assign(f,u,{weex:r,getJSFMVersion:er,__WEEX_CALL_JAVASCRIPT__:In,services:u}),Object.freeze(f);var p=Object.assign({},f);return"function"==typeof i.createInstanceContext&&Object.assign(p,i.createInstanceContext(e,f,n)),Object.freeze(p),p}var or={createInstance:function(e,t,n,r){if(tr[e])return new Error('The instance id "'+e+'" has already been used!');var o=function(e){var t=Qn.exec(e);if(t)try{return JSON.parse(t[1]).framework}catch(e){}return"Weex"}(t);tr[e]=o,(n=JSON.parse(JSON.stringify(n||{}))).env=JSON.parse(JSON.stringify(global.WXEnvironment||{})),n.bundleType=o;var i=Zn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');"Weex"===o&&console.error('[JS Framework] COMPATIBILITY WARNING: Weex DSL 1.0 (.we) framework is no longer supported! It will be removed in the next version of WeexSDK, your page would be crash if you still using the ".we" framework. Please upgrade it to Vue.js or Rax.');var a=rr(e,
n,r);if("function"==typeof i.createInstance){if("Rax"===o||"Weex"===o){var s=Object.assign({config:n,created:Date.now(),framework:o},a);return i.createInstance(e,t,n,r,s)}return i.createInstance(e,t,n,r,a)}!function(e,t){var n=[],r=[];for(var o in t)n.push(o),r.push(t[o]);var i="\n (function (global) {\n "+e+"\n })(Object.create(this))\n ";(new(Function.prototype.bind.apply(Function,[null].concat(n,[i])))).apply(void 0,r)}(t,a)},createInstanceContext:rr,getRoot:function(e){var t=pn(e);try{if(t&&t.body)return t.body.toJSON()}catch(e){return void console.error("[JS Framework] Failed to get the virtual dom tree.")}},getJSFMVersion:er,getDocument:pn,registerService:Vn,unregisterService:Jn,callJS:function(e,t){var n=Kn[nr(e)];return n&&"function"==typeof n.receiveTasks?n.receiveTasks(e,t):In(e,t)}};function ir(s){or[s]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n,r=e[0],o=nr(r);if(o&&Kn[o]){var i=(n=Kn[o])[s].apply(n,e),a={framework:o};return"refres
hInstance"===s?Rn.forEach(function(e){var t=e.options.refresh;t&&t(r,{info:a,runtime:Zn})}):"destroyInstance"===s&&(Rn.forEach(function(e){var t=e.options.destroy;t&&t(r,{info:a,runtime:Zn})}),delete tr[r]),i}return new Error('[JS Framework] Using invalid instance id "'+r+'" when calling '+s+".")}}function ar(o,i){or[o]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n in"function"==typeof i&&i.apply(void 0,e),Zn.frameworks){var r=Zn.frameworks[n];r&&r[o]&&r[o].apply(r,e)}}}var sr={Document:Hn,Element:$n,Comment:Wn,Listener:Un,TaskCenter:jn,sendTasks:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return"function"==typeof callNative?callNative.apply(void 0,e):(global.callNative||function(){}).apply(void 0,e)}};Hn.handler=sr.sendTasks;var cr={service:{register:Vn,unregister:Jn,has:Ln},freezePrototype:function(){Object.freeze(sr.Comment),Object.freeze(sr.Listener),Object.freeze(sr.Document.prototype),Object.freeze(sr.Comment.prototype),Objec
t.freeze(sr.Listener.prototype)},init:function(e){for(var t in Kn=(Zn=e||{}).frameworks||{},function(){var e={createFinish:global.callCreateFinish,updateFinish:global.callUpdateFinish,refreshFinish:global.callRefreshFinish,createBody:global.callCreateBody,addElement:global.callAddElement,removeElement:global.callRemoveElement,moveElement:global.callMoveElement,updateAttrs:global.callUpdateAttrs,updateStyle:global.callUpdateStyle,addEvent:global.callAddEvent,removeEvent:global.callRemoveEvent},t=jn.prototype,n=function(n){var r=e[n];t[n]=r?function(e,t){return r.apply(void 0,[e].concat(t))}:function(e,t){return An(e,[{module:"dom",method:n,args:t}],"-1")}};for(var r in e)n(r);t.componentHandler=global.callNativeComponent||function(e,t,n,r,o){return An(e,[{component:o.component,ref:t,method:n,args:r}])},t.moduleHandler=global.callNativeModule||function(e,t,n,r){return An(e,[{module:t,method:n,args:r}])}}(),Kn){var n=Kn[t];if("function"==typeof n.init)try{n.init(e)}catch(e){}}return ar
("registerComponents",Nn),ar("registerModules",Tn),ar("registerMethods"),["destroyInstance","refreshInstance"].forEach(ir),or},config:sr};function lr(e,t){void 0===t&&(t={}),this.type=e||"message",this.data=t.data||null,this.origin=t.origin||"",this.source=t.source||null,this.ports=t.ports||[],this.target=null,this.timeStamp=Date.now()}var ur={},fr={};function pr(){}pr.prototype.postMessage=function(e){if(this._closed)throw new Error('BroadcastChannel "'+this.name+'" is closed.');var t=ur[this.name];if(t&&t.length)for(var n=0;n<t.length;++n){var r=t[n];r._closed||r===this||"function"==typeof r.onmessage&&r.onmessage(new lr("message",{data:e}))}},pr.prototype.close=function(){var t=this;if(!this._closed&&(this._closed=!0,ur[this.name])){var e=ur[this.name].filter(function(e){return e!==t});e.length?ur[this.name]=e:delete ur[this.name]}};var dr={BroadcastChannel:{create:function(t,e,n){if(fr[t]=[],"function"==typeof global.BroadcastChannel)return{};var r={BroadcastChannel:function(e){
Object.defineProperty(this,"name",{configurable:!1,enumerable:!0,writable:!1,value:String(e)}),this._closed=!1,this.onmessage=null,ur[this.name]||(ur[this.name]=[]),ur[this.name].push(this),fr[t].push(this)}};return r.BroadcastChannel.prototype=pr.prototype,{instance:r}},destroy:function(e,t){fr[e].forEach(function(e){return e.close()}),delete fr[e]}}};var hr={},vr={};var mr=Object.freeze({init:function(e){hr.Document=e.Document,hr.Element=e.Element,hr.Comment=e.Comment,hr.sendTasks=e.sendTasks},createInstance:function(t,e,n,r,o){void 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new hr.Document(t,n.bundleUrl),a={},s={id:t,data:r,document:i,callbacks:a},c=0;i.addCallback=function(e){return a[++c]=e,c},i.handleCallback=function(e,t,n){var r=a[e];return n&&delete a[e],r(t)},vr[t]=s;var l=Object.assign({Document:hr.Document,Element:hr.Element,Comment:hr.Comment,sendTasks:function(e){return hr.sendTasks(t,e,-1)},options:n,document:i},o),u=[],f=[];for(var p in l)u.push(p),f.p
ush(l[p]);return u.push(e),(new(Function.prototype.bind.apply(Function,[null].concat(u)))).apply(void 0,f),hr.sendTasks(t,[{module:"dom",method:"createFinish",args:[]}],-1),s},destroyInstance:function(e){delete vr[e]},getRoot:function(e){return vr[e].document.body.toJSON()},receiveTasks:function(r,e){var o={fireEvent:function(e,t,n,r,o){var i=vr[e].document,a=i.getRef(t);return i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return vr[e].document.handleCallback(t,n,r)}};if((vr[r]||{}).document&&Array.isArray(e)){var i=[];return e.forEach(function(e){var t=o[e.method],n=[].concat(e.args);"function"==typeof t&&(n.unshift(r),i.push(t.apply(void 0,n)))}),i}}}),yr=n(function(e){e.exports=function(e,o){var _=Object.freeze({});function j(e){return null==e}function I(e){return null!=e}function M(e){return!0===e}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function b(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString
;function u(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function n(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}s("slot,component",!0);var c=s("key,ref,slot,slot-scope,is");function l(e,t){if(e.length){var n=e.indexOf(t);if(-1<n)return e.splice(n,1)}}var a=Object.prototype.hasOwnProperty;function f(e,t){return a.call(e,t)}function p(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var d=/-(\w)/g,h=p(function(e){return e.replace(d,function(e,t){return t?t.toUpperCase():""})}),v=p(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),m=/\B([A-Z])/g,w=p(function(e){return e.replace(m,"-$1").toLowerCase()});function y(n,r){function e(e
){var t=arguments.length;return t?1<t?n.apply(r,arguments):n.call(r,e):n.call(r)}return e._length=n.length,e}function g(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function N(e,t){for(var n in t)e[n]=t[n];return e}function D(e,t,n){}var k=function(e,t,n){return!1},S=function(e){return e};function O(t,n){if(t===n)return!0;var e=b(t),r=b(n);if(!e||!r)return!e&&!r&&String(t)===String(n);try{var o=Array.isArray(t),i=Array.isArray(n);if(o&&i)return t.length===n.length&&t.every(function(e,t){return O(e,n[t])});if(o||i)return!1;var a=Object.keys(t),s=Object.keys(n);return a.length===s.length&&a.every(function(e){return O(t[e],n[e])})}catch(e){return!1}}function C(e,t){for(var n=0;n<e.length;n++)if(O(e[n],t))return n;return-1}function R(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var F="data-server-rendered",x=["component","directive","filter"],E=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","des
troyed","activated","deactivated","errorCaptured"],$={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:k,isReservedAttr:k,isUnknownElement:k,getTagNamespace:D,parsePlatformTagName:S,mustUseProp:k,_lifecycleHooks:E};function A(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var P=/[^\w.$]/;var V,J="__proto__"in{},L="undefined"!=typeof window,W="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,q=W&&WXEnvironment.platform.toLowerCase(),U=L&&window.navigator.userAgent.toLowerCase(),B=(U&&/msie|trident/.test(U),U&&0<U.indexOf("msie 9.0")),z=U&&0<U.indexOf("edge/"),H=(U&&U.indexOf("android"),U&&/iphone|ipad|ipod|ios/.test(U)||"ios"===q),X=(U&&/chrome\/\d+/.test(U),{}.watch);if(L)try{var G={};Object.defineProperty(G,"passive",{get:function(){}}),window.addEventListener("test-passive",null,G)}catch(
e){}var K=function(){return void 0===V&&(V=!L&&!W&&void 0!==global&&"server"===global.process.env.VUE_ENV),V},Z=L&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Y(e){return"function"==typeof e&&/native code/.test(e.toString())}var Q,ee="undefined"!=typeof Symbol&&Y(Symbol)&&"undefined"!=typeof Reflect&&Y(Reflect.ownKeys);Q="undefined"!=typeof Set&&Y(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var te=D,ne=0,re=function(){this.id=ne++,this.subs=[]};re.prototype.addSub=function(e){this.subs.push(e)},re.prototype.removeSub=function(e){l(this.subs,e)},re.prototype.depend=function(){re.target&&re.target.addDep(this)},re.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},re.target=null;var oe=[];var ie=function(e,t,n,r,o,i,a,s){this.tag=e,this.data=t,this.children=n,
this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ae={child:{configurable:!0}};ae.child.get=function(){return this.componentInstance},Object.defineProperties(ie.prototype,ae);var se=function(e){void 0===e&&(e="");var t=new ie;return t.text=e,t.isComment=!0,t};function ce(e){return new ie(void 0,void 0,void 0,String(e))}var le=Array.prototype,ue=Object.create(le);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(a){var s=le[a];A(ue,a,function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r,o=s.apply(this,t),i=this.__ob__;switch(a){case"push":case"unshift":r=t;break;case"splice":r=t.slice(2)}return r&&i.observeArray(
r),i.dep.notify(),o})});var fe=Object.getOwnPropertyNames(ue),pe={shouldConvert:!0},de=function(e){(this.value=e,this.dep=new re,this.vmCount=0,A(e,"__ob__",this),Array.isArray(e))?((J?he:ve)(e,ue,fe),this.observeArray(e)):this.walk(e)};function he(e,t,n){e.__proto__=t}function ve(e,t,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];A(e,i,t[i])}}function me(e,t){var n;if(b(e)&&!(e instanceof ie))return f(e,"__ob__")&&e.__ob__ instanceof de?n=e.__ob__:pe.shouldConvert&&!K()&&(Array.isArray(e)||u(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new de(e)),t&&n&&n.vmCount++,n}function ye(n,e,r,t,o){var i=new re,a=Object.getOwnPropertyDescriptor(n,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set,l=!o&&me(r);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(n):r;return re.target&&(i.depend(),l&&(l.dep.depend(),Array.isArray(e)&&function e(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(e))),e
},set:function(e){var t=s?s.call(n):r;e===t||e!=e&&t!=t||(c?c.call(n,e):r=e,l=!o&&me(e),i.notify())}})}}function ge(e,t,n){if(Array.isArray(e)&&i(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(ye(r.value,t,n),r.dep.notify(),n):e[t]=n}function _e(e,t){if(Array.isArray(e)&&i(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||f(e,t)&&(delete e[t],n&&n.dep.notify())}}de.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)ye(e,t[n],e[t[n]])},de.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)me(e[t])};var be=$.optionMergeStrategies;function we(e,t){if(!t)return e;for(var n,r,o,i=Object.keys(t),a=0;a<i.length;a++)r=e[n=i[a]],o=t[n],f(e,n)?u(r)&&u(o)&&we(r,o):ge(e,n,o);return e}function ke(n,r,o){return o?function(){var e="function"==typeof r?r.call(o,o):r,t="function"==typeof n?n.call(o,o):n;return e?we(e,t):t}:r?n?function(){return
we("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Se(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Oe(e,t,n,r){var o=Object.create(e||null);return t?N(o,t):o}be.data=function(e,t,n){return n?ke(e,t,n):t&&"function"!=typeof t?e:ke(e,t)},E.forEach(function(e){be[e]=Se}),x.forEach(function(e){be[e+"s"]=Oe}),be.watch=function(e,t,n,r){if(e===X&&(e=void 0),t===X&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var o={};for(var i in N(o,e),t){var a=o[i],s=t[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},be.props=be.methods=be.inject=be.computed=function(e,t,n,r){if(!e)return t;var o=Object.create(null);return N(o,e),t&&N(o,t),o},be.provide=ke;var Ce=function(e,t){return void 0===t?e:t};function xe(n,r,o){"function"==typeof r&&(r=r.options),function(e,t){var n=e.props;if(n){var r,o,i={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(o=n[r])&&(i[h(o)]={type:null});els
e if(u(n))for(var a in n)o=n[a],i[h(a)]=u(o)?o:{type:o};e.props=i}}(r),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(u(n))for(var i in n){var a=n[i];r[i]=u(a)?N({from:i},a):{from:a}}}}(r),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(r);var e=r.extends;if(e&&(n=xe(n,e,o)),r.mixins)for(var t=0,i=r.mixins.length;t<i;t++)n=xe(n,r.mixins[t],o);var a,s={};for(a in n)c(a);for(a in r)f(n,a)||c(a);function c(e){var t=be[e]||Ce;s[e]=t(n[e],r[e],o,e)}return s}function Ee(e,t,n,r){if("string"==typeof n){var o=e[t];if(f(o,n))return o[n];var i=h(n);if(f(o,i))return o[i];var a=v(i);return f(o,a)?o[a]:o[n]||o[i]||o[a]}}function $e(e,t,n,r){var o=t[e],i=!f(n,e),a=n[e];if(je(Boolean,o.type)&&(i&&!f(o,"default")?a=!1:je(String,o.type)||""!==a&&a!==w(e)||(a=!0)),void 0===a){a=function(e,t,n){if(!f(t,"default"))return;var r=t.default;if(e&&e.$options.propsD
ata&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Ae(t.type)?r.call(e):r}(r,o,e);var s=pe.shouldConvert;pe.shouldConvert=!0,me(a),pe.shouldConvert=s}return a}function Ae(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function je(e,t){if(!Array.isArray(t))return Ae(t)===Ae(e);for(var n=0,r=t.length;n<r;n++)if(Ae(t[n])===Ae(e))return!0;return!1}function Ie(e,t,n){if(t)for(var r=t;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,e,t,n))return}catch(e){Me(e,r,"errorCaptured hook")}}Me(e,t,n)}function Me(e,t,n){if($.errorHandler)try{return $.errorHandler.call(null,e,t,n)}catch(e){Te(e,null,"config.errorHandler")}Te(e,t,n)}function Te(e,t,n){if(!L&&!W||"undefined"==typeof console)throw e;console.error(e)}var Fe,Pe,Ne=[],De=!1;function Re(){De=!1;for(var e=Ne.slice(0),t=Ne.length=0;t<e.length;t++)e[t]()}var Ve=!1;if("undefined"!=typeof setImmediat
e&&Y(setImmediate))Pe=function(){setImmediate(Re)};else if("undefined"==typeof MessageChannel||!Y(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Pe=function(){setTimeout(Re,0)};else{var Je=new MessageChannel,Le=Je.port2;Je.port1.onmessage=Re,Pe=function(){Le.postMessage(1)}}if("undefined"!=typeof Promise&&Y(Promise)){var We=Promise.resolve();Fe=function(){We.then(Re),H&&setTimeout(D)}}else Fe=Pe;function qe(e,t){var n;if(Ne.push(function(){if(e)try{e.call(t)}catch(e){Ie(e,t,"nextTick")}else n&&n(t)}),De||(De=!0,Ve?Pe():Fe()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Ue=new Q;function Be(e){!function e(t,n){var r,o;var i=Array.isArray(t);if(!i&&!b(t)||Object.isFrozen(t))return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(r=t.length;r--;)e(t[r],n);else for(o=Object.keys(t),r=o.length;r--;)e(t[o[r]],n)}(e,Ue),Ue.clear()}var ze,He=p(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).
charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function Xe(e){function o(){var e=arguments,t=o.fns;if(!Array.isArray(t))return t.apply(null,arguments);for(var n=t.slice(),r=0;r<n.length;r++)n[r].apply(null,e)}return o.fns=e,o}function Ge(e,t,n,r,o){var i,a,s,c,l;for(i in e)a=s=e[i],c=t[i],l=He(i),u(a)&&(s=a.handler,l.params=a.params),j(s)||(j(c)?(j(s.fns)&&(s=e[i]=Xe(s)),n(l.name,s,l.once,l.capture,l.passive,l.params)):s!==c&&(c.fns=s,e[i]=c));for(i in t)j(e[i])&&r((l=He(i)).name,t[i],l.capture)}function Ke(e,t,n){var r;e instanceof ie&&(e=e.data.hook||(e.data.hook={}));var o=e[t];function i(){n.apply(this,arguments),l(r.fns,i)}j(o)?r=Xe([i]):I(o.fns)&&M(o.merged)?(r=o).fns.push(i):r=Xe([o,i]),r.merged=!0,e[t]=r}function Ze(e,t,n,r,o){if(I(t)){if(f(t,n))return e[n]=t[n],o||delete t[n],!0;if(f(t,r))return e[n]=t[r],o||delete t[r],!0}return!1}function Ye(e){return T(e)?[ce(e)]:Array.isArray(e)?function e(t,n){var r=[];var o,i,
a,s;for(o=0;o<t.length;o++)j(i=t[o])||"boolean"==typeof i||(a=r.length-1,s=r[a],Array.isArray(i)?0<i.length&&(Qe((i=e(i,(n||"")+"_"+o))[0])&&Qe(s)&&(r[a]=ce(s.text+i[0].text),i.shift()),r.push.apply(r,i)):T(i)?Qe(s)?r[a]=ce(s.text+i):""!==i&&r.push(ce(i)):Qe(i)&&Qe(s)?r[a]=ce(s.text+i.text):(M(t._isVList)&&I(i.tag)&&j(i.key)&&I(n)&&(i.key="__vlist"+n+"_"+o+"__"),r.push(i)));return r}(e):void 0}function Qe(e){return I(e)&&I(e.text)&&!1===e.isComment}function et(e,t){return(e.__esModule||ee&&"Module"===e[Symbol.toStringTag])&&(e=e.default),b(e)?t.extend(e):e}function tt(e){return e.isComment&&e.asyncFactory}function nt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(I(n)&&(I(n.componentOptions)||tt(n)))return n}}function rt(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&at(e,t)}function ot(e,t,n){n?ze.$once(e,t):ze.$on(e,t)}function it(e,t){ze.$off(e,t)}function at(e,t,n){ze=e,Ge(t,n||{},ot,it),ze=void 0}function st(e,t){var n
={};if(!e)return n;for(var r=0,o=e.length;r<o;r++){var i=e[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==t&&i.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var l in n)n[l].every(ct)&&delete n[l];return n}function ct(e){return e.isComment&&!e.asyncFactory||" "===e.text}function lt(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?lt(e[n],t):t[e[n].key]=e[n].fn;return t}var ut=null;function ft(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}function pt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function dt(e,t){if(t){if(e._directInactive=!1,pt(e))return}else if(e._directInacti
ve)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)dt(e.$children[n]);ht(e,"activated")}}function ht(t,n){var e=t.$options[n];if(e)for(var r=0,o=e.length;r<o;r++)try{e[r].call(t)}catch(e){Ie(e,t,n+" hook")}t._hasHookEvent&&t.$emit("hook:"+n)}var vt=[],mt=[],yt={},gt=!1,_t=!1,bt=0;function wt(){var e,t;for(_t=!0,vt.sort(function(e,t){return e.id-t.id}),bt=0;bt<vt.length;bt++)t=(e=vt[bt]).id,yt[t]=null,e.run();var n=mt.slice(),r=vt.slice();bt=vt.length=mt.length=0,yt={},gt=_t=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,dt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&ht(r,"updated")}}(r),Z&&$.devtools&&Z.emit("flush")}var kt=0,St=function(e,t,n,r,o){this.vm=e,o&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++kt,this.active=!0,this.dirty
=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Q,this.newDepIds=new Q,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!P.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};St.prototype.get=function(){var e,t;e=this,re.target&&oe.push(re.target),re.target=e;var n=this.vm;try{t=this.getter.call(n,n)}catch(e){if(!this.user)throw e;Ie(e,n,'getter for watcher "'+this.expression+'"')}finally{this.deep&&Be(t),re.target=oe.pop(),this.cleanupDeps()}return t},St.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},St.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.c
lear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},St.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==yt[t]){if(yt[t]=!0,_t){for(var n=vt.length-1;bt<n&&vt[n].id>e.id;)n--;vt.splice(n+1,0,e)}else vt.push(e);gt||(gt=!0,qe(wt))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||b(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Ie(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Ot={enumerable:!0,configurable:!0,get:D,set:D};function Ct(e,t,n
){Ot.get=function(){return this[t][n]},Ot.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Ot)}function xt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var o=n.$options.propsData||{},i=n._props={},a=n.$options._propKeys=[],e=!n.$parent;pe.shouldConvert=e;var t=function(e){a.push(e);var t=$e(e,r,o,n);ye(i,e,t),e in n||Ct(n,"_props",e)};for(var s in r)t(s);pe.shouldConvert=!0}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?D:y(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;u(t=e._data="function"==typeof t?Et(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,o=(e.$options.methods,n.length);for(;o--;){var i=n[o];r&&f(r,i)||(void 0,36!==(a=(i+"").charCodeAt(0))&&95!==a&&Ct(e,"_data",i))}var a;me(t,!0)}(e):me(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=K();for(var o in t){var i=t[o],a="function"==typeof i?i:i.get;r||(n[o]=new St(e,a||D,D,$t)),o in e||At(e,o,i)}}(
e,t.computed),t.watch&&t.watch!==X&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)It(e,n,r[o]);else It(e,n,r)}}(e,t.watch)}function Et(e,t){try{return e.call(t,t)}catch(e){return Ie(e,t,"data()"),{}}}var $t={lazy:!0};function At(e,t,n){var r=!K();"function"==typeof n?(Ot.get=r?jt(t):n,Ot.set=D):(Ot.get=n.get?r&&!1!==n.cache?jt(t):n.get:D,Ot.set=n.set?n.set:D),Object.defineProperty(e,t,Ot)}function jt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),re.target&&e.depend(),e.value}}function It(e,t,n,r){return u(n)&&(n=(r=n).handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Mt(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}function Tt(t){var n=Ft(t.$options.inject,t);n&&(pe.shouldConvert=!1,Object.keys(n).forEach(function(e){ye(t,e,n[e])}),pe.shouldConvert=!0)}function Ft(t,e){if(t){for(var n=Object.create(null),r=ee?Reflect.ownKeys(t).filte
r(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){for(var i=r[o],a=t[i].from,s=e;s;){if(s._provided&&a in s._provided){n[i]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[i]){var c=t[i].default;n[i]="function"==typeof c?c.call(e):c}}return n}}function Pt(e,t){var n,r,o,i,a;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,o=e.length;r<o;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(b(e))for(i=Object.keys(e),n=new Array(i.length),r=0,o=i.length;r<o;r++)a=i[r],n[r]=t(e[a],a,r);return I(n)&&(n._isVList=!0),n}function Nt(e,t,n,r){var o,i=this.$scopedSlots[e];if(i)n=n||{},r&&(n=N(N({},r),n)),o=i(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),o=a||t}var s=n&&n.slot;return s?this.$createElement("template",{slot:s},o):o}function Dt(e){return Ee(this.$options,"filters",e)||S}function Rt(e,t,n,r){var o=$.keyCodes[t]||n;return o?Array.isArray(o)?-1===o.in
dexOf(e):o!==e:r?w(r)!==t:void 0}function Vt(n,r,o,i,a){if(o)if(b(o)){var s;Array.isArray(o)&&(o=function(e){for(var t={},n=0;n<e.length;n++)e[n]&&N(t,e[n]);return t}(o));var e=function(t){if("class"===t||"style"===t||c(t))s=n;else{var e=n.attrs&&n.attrs.type;s=i||$.mustUseProp(r,e,t)?n.domProps||(n.domProps={}):n.attrs||(n.attrs={})}t in s||(s[t]=o[t],a&&((n.on||(n.on={}))["update:"+t]=function(e){o[t]=e}))};for(var t in o)e(t)}else;return n}function Jt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||Wt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function Lt(e,t,n){return Wt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Wt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&qt(e[r],t+"_"+r,n);else qt(e,t,n)}function qt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function Ut(e,t){if(t)if(u(t)){var n=e.on=e.on?N({},e.on):{};for(var r in t){var o=n[r],i=t[r];n[r]=o?[].concat(o,i):i}}el
se;return e}function Bt(e){e._o=Lt,e._n=n,e._s=t,e._l=Pt,e._t=Nt,e._q=O,e._i=C,e._m=Jt,e._f=Dt,e._k=Rt,e._b=Vt,e._v=ce,e._e=se,e._u=lt,e._g=Ut}function zt(e,t,n,i,r){var a=r.options;this.data=e,this.props=t,this.children=n,this.parent=i,this.listeners=e.on||_,this.injections=Ft(a.inject,i),this.slots=function(){return st(n,i)};var s=Object.create(i),o=M(a._compiled),c=!o;o&&(this.$options=a,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||_),a._scopeId?this._c=function(e,t,n,r){var o=fn(s,e,t,n,r,c);return o&&!Array.isArray(o)&&(o.fnScopeId=a._scopeId,o.fnContext=i),o}:this._c=function(e,t,n,r){return fn(s,e,t,n,r,c)}}function Ht(e,t,n,r){e.fnContext=n,e.fnOptions=r,t.slot&&((e.data||(e.data={})).slot=t.slot)}function Xt(e,t){for(var n in t)e[h(n)]=t[n]}Bt(zt.prototype);var Gt="@inRecycleList";function Kt(e,t,n,r){if(o&&o.taskCenter)return"function"==typeof o.taskCenter.registerHook?o.taskCenter.registerHook(e,t,n,r):void 0}var Zt=0;function Yt(e){var t=e.$options.data,n=e.
$options.computed||{},r=e._data?Object.assign({},e._data):"function"==typeof t?Et(t,e):t||{},o={};for(var i in n)o[i]=e[i];return Object.assign({},r,o)}function Qt(e){void 0===e&&(e={});var r=this,t=e.componentId;A(r,"_vmTemplate",e.vmTemplate),r._uid=t||"virtual-component-"+Zt++,r._isVue=!0,e&&e._isComponent?wn(r,e):r.$options=xe(kn(r.constructor),e||{},r),ft((r._renderProxy=r)._self=r),rt(r),pn(r),ht(r,"beforeCreate"),Tt(r),xt(r),Mt(r),ht(r,"created"),Kt(t,"lifecycle","attach",function(){ht(r,"beforeMount"),new St(r,function(){return Yt(r)},function(){return r._update(r._vnode,!1)}),r._isMounted=!0,ht(r,"mounted")}),Kt(t,"lifecycle","update",function(){r._update(r._vnode,!1)}),Kt(t,"lifecycle","syncState",function(e,t){if(u(t))for(var n in t)r[n]=t[n];return Yt(r)}),Kt(t,"lifecycle","detach",function(){r.$destroy(),r._vmTemplate&&(r._vmTemplate.removeVirtualComponent(r._uid),delete r._vmTemplate)})}function en(e){var t=this,n=t.$options.componentId;(t._isMounted&&ht(t,"beforeUpdat
e"),t._vnode=e,t._isMounted&&n)&&function(e,t,n){if(o&&o.taskCenter)"function"==typeof o.taskCenter.updateData&&o.taskCenter.updateData(e,t,n)}(n,Yt(t),function(){ht(t,"updated")})}function tn(e){void 0===e&&(e={});var t=this;t._uid="virtual-component-template-"+Zt++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),rt(t._self=t),pn(t),xt(t),this.registerVirtualComponent()}function nn(e){var t,n,o,i;delete e.data.attrs[Gt],n=(t=e).componentOptions.Ctor,o=n.extend({}),i=o.prototype.$emit,o.prototype._init=Qt,o.prototype._update=en,o.prototype.$emit=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=this._uid,o=this._vmTemplate;return r&&o&&(t.push(r),i.apply(o,t)),i.apply(this,t)},t.componentOptions.Ctor=n.extend({methods:{registerVirtualComponent:function(){var r=this;A(r,"_virtualComponents",{}),Kt(String(r._uid),"lifecycle","create",function(e,t){var n=new o({vmTemplate:r,componentId:e,propsData:t});return n._uid=e,r._virtualCo
mponents&&(r._virtualComponents[e]=n),Yt(n)})},removeVirtualComponent:function(e){delete this._virtualComponents[e]}},destroyed:function(){delete this._virtualComponents}}),t.componentOptions.Ctor.prototype._init=tn,t.componentOptions.Ctor.prototype._update=D;var r=sn(e),a=r.$options["@render"];if(a)try{return a.call(r)}catch(e){Ie(e,r,"@render")}}var rn={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var o=e;rn.prepatch(o,o)}else{(e.componentInstance=sn(e,ut,n,r)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,o){var i=!!(o||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==_);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=o,e.$attrs=r.data.attrs||_,e.$listeners=n||_,t&&e.$options.props){pe.shouldConvert=!1;for(var a=e._props,s=e.$options._propKeys||[],c=0;c<s.length;c++){var l=s[c];a[l]=$e(l,e.$options.props,t,e)}pe.sho
uldConvert=!0,e.$options.propsData=t}n=n||_;var u=e.$options._parentListeners;e.$options._parentListeners=n,at(e,n,u),i&&(e.$slots=st(o,r.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,ht(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,mt.push(t)):dt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._directInactive=!0,pt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);ht(t,"deactivated")}}(t,!0):t.$destroy())}},on=Object.keys(rn);function an(e,t,n,r,o){if(!j(e)){var i=n.$options._base;if(b(e)&&(e=i.extend(e)),"function"==typeof e){var a,s,c,l,u,f,p;if(j(e.cid)&&void 0===(e=function(t,n,e){if(M(t.error)&&I(t.errorComp))return t.errorComp;if(I(t.resolved))return t.resolved;if(M(t.loading)&&I(t.loadingComp))return t.
loadingComp;if(!I(t.contexts)){var r=t.contexts=[e],o=!0,i=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},a=R(function(e){t.resolved=et(e,n),o||i()}),s=R(function(e){I(t.errorComp)&&(t.error=!0,i())}),c=t(a,s);return b(c)&&("function"==typeof c.then?j(t.resolved)&&c.then(a,s):I(c.component)&&"function"==typeof c.component.then&&(c.component.then(a,s),I(c.error)&&(t.errorComp=et(c.error,n)),I(c.loading)&&(t.loadingComp=et(c.loading,n),0===c.delay?t.loading=!0:setTimeout(function(){j(t.resolved)&&j(t.error)&&(t.loading=!0,i())},c.delay||200)),I(c.timeout)&&setTimeout(function(){j(t.resolved)&&s(null)},c.timeout))),o=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(e)}(a=e,i,n)))return s=a,c=t,l=n,u=r,f=o,(p=se()).asyncFactory=s,p.asyncMeta={data:c,context:l,children:u,tag:f},p;t=t||{},kn(e),I(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var o=t.on||(t.on={});I(o[r])?o[r]=[t.
model.callback].concat(o[r]):o[r]=t.model.callback}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!j(r)){var o={},i=e.attrs,a=e.props;if(I(i)||I(a))for(var s in r){var c=w(s);Ze(o,a,s,c,!0)||Ze(o,i,s,c,!1)}return o}}(t,e);if(M(e.options.functional))return function(e,t,n,r,o){var i=e.options,a={},s=i.props;if(I(s))for(var c in s)a[c]=$e(c,s,t||_);else I(n.attrs)&&Xt(a,n.attrs),I(n.props)&&Xt(a,n.props);var l=new zt(n,a,o,r,e),u=i.render.call(null,l._c,l);if(u instanceof ie)return Ht(u,n,r,i),u;if(Array.isArray(u)){for(var f=Ye(u)||[],p=0;p<f.length;p++)Ht(f[p],n,r,i);return f}}(e,d,t,n,r);var h=t.on;if(t.on=t.nativeOn,M(e.options.abstract)){var v=t.slot;t={},v&&(t.slot=v)}!function(e){e.hook||(e.hook={});for(var t=0;t<on.length;t++){var n=on[t],r=e.hook[n],o=rn[n];e.hook[n]=r?cn(o,r):o}}(t);var m,y=e.options.name||o,g=new ie("vue-component-"+e.cid+(y?"-"+y:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:h,tag:o,children:r},a);return(m=g).data.attrs&&Gt in m.d
ata.attrs?nn(g):g}}}function sn(e,t,n,r){var o={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},i=e.data.inlineTemplate;return I(i)&&(o.render=i.render,o.staticRenderFns=i.staticRenderFns),new e.componentOptions.Ctor(o)}function cn(o,i){return function(e,t,n,r){o(e,t,n,r),i(e,t,n,r)}}var ln=1,un=2;function fn(e,t,n,r,o,i){return(Array.isArray(n)||T(n))&&(o=r,r=n,n=void 0),M(i)&&(o=un),function(e,t,n,r,o){if(I(n)&&I(n.__ob__))return se();I(n)&&I(n.is)&&(t=n.is);if(!t)return se();Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);o===un?r=Ye(r):o===ln&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var i,a;if("string"==typeof t){var s;a=e.$vnode&&e.$vnode.ns||$.getTagNamespace(t),i=$.isReservedTag(t)?new ie($.parsePlatformTagName(t),n,r,void 0,void 0,e):I(s=Ee(e.$options,"components",t))?an(s,n,e,r,t):new ie(t,n,r,void 0,void 0,e)}else i=an(t,
n,e,r);return Array.isArray(i)?i:I(i)?(I(a)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(I(t.children))for(var o=0,i=t.children.length;o<i;o++){var a=t.children[o];I(a.tag)&&(j(a.ns)||M(r)&&"svg"!==a.tag)&&e(a,n,r)}}(i,a),I(n)&&function(e){b(e.style)&&Be(e.style);b(e.class)&&Be(e.class)}(n),i):se()}(e,t,n,r,o)}function pn(o){o._vnode=null,o._staticTrees=null;var e=o.$options,t=o.$vnode=e._parentVnode,n=t&&t.context;o.$slots=st(e._renderChildren,n),o.$scopedSlots=_,o._c=function(e,t,n,r){return fn(o,e,t,n,r,!1)},o.$createElement=function(e,t,n,r){return fn(o,e,t,n,r,!0)};var r=t&&t.data;ye(o,"$attrs",r&&r.attrs||_,0,!0),ye(o,"$listeners",e._parentListeners||_,0,!0)}var dn,hn,vn,mn,yn,gn,_n,bn=0;function wn(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.
children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}function kn(e){var t=e.options;if(e.super){var n=kn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,o=e.sealedOptions;for(var i in n)n[i]!==o[i]&&(t||(t={}),t[i]=Sn(n[i],r[i],o[i]));return t}(e);r&&N(e.extendOptions,r),(t=e.options=xe(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Sn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray(t)?t:[t];for(var o=0;o<e.length;o++)(0<=t.indexOf(e[o])||n.indexOf(e[o])<0)&&r.push(e[o]);return r}return e}function On(e){this._init(e)}function Cn(e){e.cid=0;var a=1;e.extend=function(e){e=e||{};var t=this,n=t.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var o=e.name||t.options.name,i=function(e){this._init(e)};return((i.prototype=Object.create(t.prototype)).constructor=i).cid=a++,i.options=xe(t.options,e),i.super=t,i.options.props&&function(e){var t
=e.options.props;for(var n in t)Ct(e.prototype,"_props",n)}(i),i.options.computed&&function(e){var t=e.options.computed;for(var n in t)At(e.prototype,n,t[n])}(i),i.extend=t.extend,i.mixin=t.mixin,i.use=t.use,x.forEach(function(e){i[e]=t[e]}),o&&(i.options.components[o]=i),i.superOptions=t.options,i.extendOptions=e,i.sealedOptions=N({},i.options),r[n]=i}}function xn(e){return e&&(e.Ctor.options.name||e.tag)}function En(e,t){return Array.isArray(e)?-1<e.indexOf(t):"string"==typeof e?-1<e.split(",").indexOf(t):(n=e,"[object RegExp]"===r.call(n)&&e.test(t));var n}function $n(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=xn(a.componentOptions);s&&!t(s)&&An(n,i,r,o)}}}function An(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,l(n,t)}On.prototype._init=function(e){var t=this;t._uid=bn++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),ft((t._renderProxy=t)._self=t),rt(t),pn(t),ht(t,"beforeCrea
te"),Tt(t),xt(t),Mt(t),ht(t,"created"),t.$options.el&&t.$mount(t.$options.el)},dn=On,hn={get:function(){return this._data}},vn={get:function(){return this._props}},Object.defineProperty(dn.prototype,"$data",hn),Object.defineProperty(dn.prototype,"$props",vn),dn.prototype.$set=ge,dn.prototype.$delete=_e,dn.prototype.$watch=function(e,t,n){if(u(t))return It(this,e,t,n);(n=n||{}).user=!0;var r=new St(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}},yn=/^hook:/,(mn=On).prototype.$on=function(e,t){if(Array.isArray(e))for(var n=0,r=e.length;n<r;n++)this.$on(e[n],t);else(this._events[e]||(this._events[e]=[])).push(t),yn.test(e)&&(this._hasHookEvent=!0);return this},mn.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},mn.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,o=e.length;r<o;r++)this.$off(e[r],t);return n}
var i=n._events[e];if(!i)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,s=i.length;s--;)if((a=i[s])===t||a.fn===t){i.splice(s,1);break}return n},mn.prototype.$emit=function(t){var n=this,e=n._events[t];if(e){e=1<e.length?g(e):e;for(var r=g(arguments,1),o=0,i=e.length;o<i;o++)try{e[o].apply(n,r)}catch(e){Ie(e,n,'event handler for "'+t+'"')}}return n},(gn=On).prototype._update=function(e,t){var n=this;n._isMounted&&ht(n,"beforeUpdate");var r=n.$el,o=n._vnode,i=ut;(ut=n)._vnode=e,o?n.$el=n.__patch__(o,e):(n.$el=n.__patch__(n.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ut=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},gn.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},gn.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){ht(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$op
tions.abstract||l(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),ht(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}},Bt((_n=On).prototype),_n.prototype.$nextTick=function(e){return qe(e,this)},_n.prototype._render=function(){var t,n=this,e=n.$options,r=e.render,o=e._parentVnode;o&&(n.$scopedSlots=o.data.scopedSlots||_),n.$vnode=o;try{t=r.call(n._renderProxy,n.$createElement)}catch(e){Ie(e,n,"render"),t=n._vnode}return t instanceof ie||(t=se()),t.parent=o,t};var jn,In,Mn,Tn=[String,RegExp,Array],Fn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)An(this.cache,e,this.keys)},watch:{include:function(t){$n(this,function(e){return En(t,e)})},exclude:functi
on(t){$n(this,function(e){return!En(t,e)})}},render:function(){var e=this.$slots.default,t=nt(e),n=t&&t.componentOptions;if(n){var r=xn(n),o=this.include,i=this.exclude;if(o&&(!r||!En(o,r))||i&&r&&En(i,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,l(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&An(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};jn=On,Mn={get:function(){return $}},Object.defineProperty(jn,"config",Mn),jn.util={warn:te,extend:N,mergeOptions:xe,defineReactive:ye},jn.set=ge,jn.delete=_e,jn.nextTick=qe,jn.options=Object.create(null),x.forEach(function(e){jn.options[e+"s"]=Object.create(null)}),N((jn.options._base=jn).options.components,Fn),jn.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1<t.indexOf(e))return this;var n=g(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(
e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},jn.mixin=function(e){return this.options=xe(this.options,e),this},Cn(jn),In=jn,x.forEach(function(n){In[n]=function(e,t){return t?("component"===n&&u(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t):this.options[n+"s"][e]}}),Object.defineProperty(On.prototype,"$isServer",{get:K}),Object.defineProperty(On.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),On.version="2.5.13";var Pn=1;function Nn(e){return o.createElement(e)}var Dn=Object.freeze({namespaceMap:{},createElement:Nn,createElementNS:function(e,t){return o.createElement(e+":"+t)},createTextNode:function(e){return new function(e){this.instanceId="",this.nodeId=Pn++,this.parentNode=null,this.nodeType=3,this.text=e}(e)},createComment:function(e){return o.createComment(e)},insertBefore:function(e,t,n){if(3!==t.nodeType)e.insertBefore(t,n);else i
f("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var r=Nn("text");r.setAttr("value",t.text),e.insertBefore(r,n)}},removeChild:function(e,t){3!==t.nodeType?e.removeChild(t):e.setAttr("value","")},appendChild:function(e,t){if(3!==t.nodeType)e.appendChild(t);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var n=Nn("text");n.setAttr("value",t.text),e.appendChild(n)}},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.type},setTextContent:function(e,t){e.parentNode&&e.parentNode.setAttr("value",t)},setAttribute:function(e,t,n){e.setAttr(t,n)},setStyleScope:function(e,t){e.setAttr("@styleScope",t)}}),Rn={create:function(e,t){Vn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Vn(e,!0),Vn(t))},destroy:function(e){Vn(e,!0)}};function Vn(e,t){var n=e.data.ref;if(n){var r=e.context,o=e.componentInstance||e.elm,i=r.$refs;t?Array.isArray(i[n])?l(i[n],o):i[n]===o&&(i[n]=void 0):e.data.refIn
For?Array.isArray(i[n])?i[n].indexOf(o)<0&&i[n].push(o):i[n]=[o]:i[n]=o}}s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0);var Jn=s("text,number,password,search,email,tel,url"),Ln=new ie("",{},[]),Wn=
["create","activate","update","remove","destroy"];function qn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&I(e.data)===I(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=I(n=e.data)&&I(n=n.attrs)&&n.type,o=I(n=t.data)&&I(n=n.attrs)&&n.type;return r===o||Jn(r)&&Jn(o)}(e,t)||M(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&j(t.asyncFactory.error))}function Un(e,t,n){var r,o,i={};for(r=t;r<=n;++r)I(o=e[r].key)&&(i[o]=r);return i}var Bn={create:zn,update:zn,destroy:function(e){zn(e,Ln)}};function zn(e,t){(e.data.directives||t.data.directives)&&function(t,n){var e,r,o,i=t===Ln,a=n===Ln,s=Xn(t.data.directives,t.context),c=Xn(n.data.directives,n.context),l=[],u=[];for(e in c)r=s[e],o=c[e],r?(o.oldValue=r.value,Gn(o,"update",n,t),o.def&&o.def.componentUpdated&&u.push(o)):(Gn(o,"bind",n,t),o.def&&o.def.inserted&&l.push(o));if(l.length){var f=function(){for(var e=0;e<l.length;e++)Gn(l[e],"inserted",n,t)};i?Ke(n,"insert",f):f()}u.length&&Ke(n,"postpa
tch",function(){for(var e=0;e<u.length;e++)Gn(u[e],"componentUpdated",n,t)});if(!i)for(e in s)c[e]||Gn(s[e],"unbind",t,t,a)}(e,t)}var Hn=Object.create(null);function Xn(e,t){var n,r,o,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=Hn),(i[(o=r,o.rawName||o.name+"."+Object.keys(o.modifiers||{}).join("."))]=r).def=Ee(t.$options,"directives",r.name);return i}function Gn(t,n,r,e,o){var i=t.def&&t.def[n];if(i)try{i(r.elm,t,r,e,o)}catch(e){Ie(e,r.context,"directive "+t.name+" "+n+" hook")}}var Kn=[Rn,Bn];function Zn(e,t){if(e.data.attrs||t.data.attrs){var n,r,o=t.elm,i=e.data.attrs||{},a=t.data.attrs||{};a.__ob__&&(a=t.data.attrs=N({},a));var s="function"==typeof o.setAttrs,c={};for(n in a)r=a[n],i[n]!==r&&(s?c[n]=r:o.setAttr(n,r));for(n in i)null==a[n]&&(s?c[n]=void 0:o.setAttr(n));s&&o.setAttrs(c)}}var Yn={create:Zn,update:Zn};function Qn(e,t){var n=t.elm,r=t.context,o=t.data,i=e.data;if(o.staticClass||o.class||i&&(i.staticClass||i.class)){va
r a=[],s=i.staticClass;s&&a.push.apply(a,s),i.class&&a.push.apply(a,i.class);var c,l,u,f,p=[],d=o.staticClass;if(d&&p.push.apply(p,d),o.class&&p.push.apply(p,o.class),"function"==typeof n.setClassList)n.setClassList(p);else{var h=(c=a,l=p,u=r.$options.style||{},f={},l.forEach(function(e){var t=u[e];N(f,t)}),c.forEach(function(e){var t=u[e];for(var n in t)f.hasOwnProperty(n)||(f[n]="")}),f);if("function"==typeof n.setStyles)n.setStyles(h);else for(var v in h)n.setStyle(v,h[v])}}}var er,tr,nr={create:Qn,update:Qn};function rr(t,e,n,r,o,i){if(r)console.log("Weex do not support event in bubble phase.");else{if(n){var a=e,s=er;e=function(e){null!==(1===arguments.length?a(e):a.apply(null,arguments))&&or(t,null,null,s)}}if(tr&&tr._virtualComponents){er._context=tr;var c=e;e=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=(t[0]||{}).componentId,o=this._context;r&&this._context&&(o=(this._context._virtualComponents||{})[r]||o);try{!function(e,t,n){void 0===n&&(n=n
ull);var r=e.fns;if(!Array.isArray(r))return"function"==typeof r?r.apply(n,t):e.apply(n,t);for(var o=r.slice(),i=0;i<o.length;i++)o[i].apply(n,t)}(c,t,o)}catch(e){Ie(e,o,"Failed to invoke virtual component handler ("+r+")")}}}er.addEvent(t,e,i)}}function or(e,t,n,r){(r||er).removeEvent(e)}function ir(e,t){if(e.data.on||t.data.on){var n=t.data.on||{},r=e.data.on||{};er=t.elm,tr=t.context,Ge(n,r,rr,or,
<TRUNCATED>
[46/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.14 (#1274)
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 0e2cd82..61d43e9 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "weex",
"version": "0.12.2",
"subversion": {
- "framework": "0.26.13",
+ "framework": "0.26.14",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
[21/50] [abbrv] incubator-weex git commit: [WEEX-454][Android] fix
can't find libweexjss when deploy
Posted by cx...@apache.org.
[WEEX-454][Android] fix can't find libweexjss when deploy
fix can't find libweexjss when deploy
Bug: WEEX-454
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/1e715624
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/1e715624
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/1e715624
Branch: refs/heads/release
Commit: 1e715624b0b0b152e5de726a0ee20cddf3bb7661
Parents: ad255b3
Author: Darin <dy...@qq.com>
Authored: Tue Jun 12 17:21:53 2018 +0800
Committer: Darin <dy...@qq.com>
Committed: Tue Jun 12 17:21:53 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/WXEnvironment.java | 71 ++++++++++++
.../com/taobao/weex/bridge/WXBridgeManager.java | 2 +-
.../java/com/taobao/weex/bridge/WXParams.java | 12 +-
.../java/com/taobao/weex/utils/WXFileUtils.java | 31 +++++
.../taobao/weex/utils/WXSoInstallMgrSdk.java | 3 +
.../jsengine/multiprocess/WeexJSConnection.cpp | 50 ++++----
.../android/jsengine/multiprocess/WeexProxy.cpp | 116 +++++++++++--------
.../android/jsengine/multiprocess/WeexProxy.h | 1 +
.../Source/core/render/node/render_object.h | 2 +-
9 files changed, 208 insertions(+), 80 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java b/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
index 758494e..86d70c4 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
@@ -27,19 +27,26 @@ import android.graphics.Typeface;
import android.os.Environment;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
+import android.util.Log;
import com.taobao.weex.common.WXConfig;
import com.taobao.weex.utils.FontDO;
import com.taobao.weex.utils.LogLevel;
import com.taobao.weex.utils.TypefaceUtil;
+import com.taobao.weex.utils.WXFileUtils;
import com.taobao.weex.utils.WXLogUtils;
import com.taobao.weex.utils.WXSoInstallMgrSdk;
import com.taobao.weex.utils.WXUtils;
+import org.w3c.dom.Text;
+
import java.io.File;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import dalvik.system.PathClassLoader;
+
public class WXEnvironment {
public static final String OS = "android";
@@ -100,6 +107,9 @@ public class WXEnvironment {
private static String sGlobalFontFamily;
public static final String CORE_SO_NAME = "weexcore";
+ public static final String CORE_JSS_SO_NAME = "weexjss";
+
+ private static String CORE_JSS_SO_PATH = null;
private static Map<String, String> options = new HashMap<>();
static {
@@ -334,4 +344,65 @@ public class WXEnvironment {
openDebugLog = false;
}
}
+
+ public static String findSoPath(String libName) {
+ final String libPath = ((PathClassLoader) (WXEnvironment.class.getClassLoader())).findLibrary(libName);
+ WXLogUtils.e(libName + "'s Path is" + libPath);
+ return libPath;
+ }
+
+ public static String getCacheDir() {
+ final Application application = getApplication();
+ if (application == null || application.getApplicationContext() == null)
+ return null;
+ return application.getApplicationContext().getCacheDir().getPath();
+ }
+
+ public static boolean extractSo() {
+ File sourceFile = new File(getApplication().getApplicationContext().getApplicationInfo().sourceDir);
+ final String cacheDir = getCacheDir();
+ if (sourceFile.exists() && !TextUtils.isEmpty(cacheDir)) {
+ try {
+ WXFileUtils.extractSo(sourceFile.getAbsolutePath(), cacheDir);
+ } catch (IOException e) {
+ e.printStackTrace();
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ private static String findLibJssRealPath() {
+ String soPath = findSoPath(CORE_JSS_SO_NAME);
+ String realName = "lib" + CORE_JSS_SO_NAME + ".so";
+ if (TextUtils.isEmpty(soPath)) {
+ String cacheDir = getCacheDir();
+ if (TextUtils.isEmpty(cacheDir)) {
+ return "";
+ }
+ if (cacheDir.indexOf("/cache") > 0) {
+ soPath = new File(cacheDir.replace("/cache", "/lib"), realName).getAbsolutePath();
+ }
+ }
+ final File soFile = new File(soPath);
+ if (soFile.exists())
+ return soPath;
+ else {
+ //unzip from apk file
+ final boolean success = extractSo();
+ if (success)
+ return new File(getCacheDir(), realName).getAbsolutePath();
+ }
+ return "";
+ }
+
+ public static String getLibJssRealPath() {
+ if(TextUtils.isEmpty(CORE_JSS_SO_PATH)) {
+ CORE_JSS_SO_PATH = findLibJssRealPath();
+ WXLogUtils.e("findLibJssRealPath " + CORE_JSS_SO_PATH);
+ }
+
+ return CORE_JSS_SO_PATH;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index 58b18a0..5d20f14 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -30,7 +30,6 @@ import android.support.annotation.Nullable;
import android.support.annotation.UiThread;
import android.support.v4.util.ArrayMap;
import android.text.TextUtils;
-import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
@@ -1795,6 +1794,7 @@ public class WXBridgeManager implements Callback, BactchExecutor {
wxParams.setShouldInfoCollect(config.get("infoCollect"));
wxParams.setLogLevel(config.get(WXConfig.logLevel));
wxParams.setUseSingleProcess(isUseSingleProcess ? "true" : "false");
+ wxParams.setLibJssPath(WXEnvironment.getLibJssRealPath());
String appName = config.get(WXConfig.appName);
if (!TextUtils.isEmpty(appName)) {
wxParams.setAppName(appName);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/android/sdk/src/main/java/com/taobao/weex/bridge/WXParams.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXParams.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXParams.java
index 5a7081d..8bc182c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXParams.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXParams.java
@@ -18,8 +18,6 @@
*/
package com.taobao.weex.bridge;
-import android.util.Log;
-
import com.taobao.weex.utils.WXLogUtils;
import java.util.Map;
@@ -39,6 +37,7 @@ public class WXParams {
private String needInitV8;
private String cacheDir;
private String useSingleProcess;
+ private String libJssPath;
private Map<String, String> options;
@@ -171,4 +170,13 @@ public class WXParams {
this.needInitV8 = "0";
}
}
+
+ public String getLibJssPath() {
+ WXLogUtils.e("getLibJssPath is running " + libJssPath);
+ return libJssPath;
+ }
+
+ public void setLibJssPath(String libJssPath) {
+ this.libJssPath = libJssPath;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java
index 7b354f1..7118ed2 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java
@@ -22,6 +22,7 @@ import android.content.Context;
import android.text.TextUtils;
import android.util.Base64;
+import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@@ -34,6 +35,9 @@ import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+import java.util.zip.ZipInputStream;
public class WXFileUtils {
@@ -178,4 +182,31 @@ public class WXFileUtils {
return "";
}
}
+
+ public static void extractSo(String apkFile, String path) throws IOException {
+ ZipFile zip = new ZipFile(apkFile);
+ InputStream zipInputStream = new BufferedInputStream(new FileInputStream(apkFile));
+ ZipInputStream zin = new ZipInputStream(zipInputStream);
+ ZipEntry zipEntry;
+ while ((zipEntry = zin.getNextEntry()) != null) {
+ if(zipEntry.isDirectory()){
+ continue;
+ }
+ if(zipEntry.getName().contains("lib/armeabi/") && zipEntry.getName().contains("weex")){
+ String[] fileNames = zipEntry.getName().split("/");
+ String fileName = fileNames[fileNames.length - 1];
+ InputStream inputStream = zip.getInputStream(zipEntry);
+ byte[] data = new byte[1024];
+ FileOutputStream outputStream =new FileOutputStream(path + "/" + fileName);
+ while (inputStream.read(data) != -1) {
+ outputStream.write(data);
+ }
+ outputStream.close();
+
+ }
+ }
+ zin.closeEntry();
+ }
+
+
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java
index c493937..09c5077 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXSoInstallMgrSdk.java
@@ -22,6 +22,7 @@ import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.os.Build;
import android.text.TextUtils;
+import android.util.Log;
import com.taobao.weex.BuildConfig;
import com.taobao.weex.IWXStatisticsListener;
@@ -238,6 +239,8 @@ public class WXSoInstallMgrSdk {
}
inputStream.close();
outputStream.close();
+ } else {
+ WXEnvironment.extractSo();
}
}
} catch (Throwable e) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/weex_core/Source/android/jsengine/multiprocess/WeexJSConnection.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/jsengine/multiprocess/WeexJSConnection.cpp b/weex_core/Source/android/jsengine/multiprocess/WeexJSConnection.cpp
index 34ac0bd..60667d2 100644
--- a/weex_core/Source/android/jsengine/multiprocess/WeexJSConnection.cpp
+++ b/weex_core/Source/android/jsengine/multiprocess/WeexJSConnection.cpp
@@ -19,6 +19,7 @@
#include "WeexJSConnection.h"
#include "ashmem.h"
+#include "WeexProxy.h"
#include <dirent.h>
#include <stdlib.h>
#include <sys/stat.h>
@@ -35,6 +36,8 @@
#include <errno.h>
extern const char *s_cacheDir;
+extern const char *g_jssSoPath;
+extern const char *g_jssSoName;
extern bool s_start_pie;
static void doExec(int fd, bool traceEnable, bool startupPie = true);
@@ -167,10 +170,7 @@ void printLogOnFile(const char *log) {
#endif
}
-static std::string __attribute__((noinline)) findPath();
-
-static void findPath(std::string &executablePath, std::string &icuDataPath) {
- unsigned long target = reinterpret_cast<unsigned long>(__builtin_return_address(0));
+static void findIcuDataPath(std::string &icuDataPath) {
FILE *f = fopen("/proc/self/maps", "r");
if (!f) {
return;
@@ -181,30 +181,9 @@ static void findPath(std::string &executablePath, std::string &icuDataPath) {
if (icuDataPath.empty() && strstr(line, "icudt")) {
icuDataPath.assign(strstr(line, "/"));
icuDataPath = icuDataPath.substr(0, icuDataPath.length() - 1);
- continue;
}
- char *end;
- unsigned long val;
- errno = 0;
- val = strtoul(line, &end, 16);
- if (errno)
- continue;
- if (val > target)
- continue;
- end += 1;
- errno = 0;
- val = strtoul(end, &end, 16);
- if (errno)
- continue;
- if (val > target) {
- executablePath.assign(strstr(end, "/"));
- std::size_t found = executablePath.rfind('/');
- if (found != std::string::npos) {
- executablePath = executablePath.substr(0, found);
- }
- }
- if (!executablePath.empty()
- && !icuDataPath.empty()) {
+
+ if (!icuDataPath.empty()) {
break;
}
}
@@ -257,13 +236,24 @@ std::unique_ptr<const char *[]> EnvPBuilder::build() {
void doExec(int fd, bool traceEnable, bool startupPie) {
std::string executablePath;
std::string icuDataPath;
- findPath(executablePath, icuDataPath);
+ findIcuDataPath(icuDataPath);
+ if(g_jssSoPath != nullptr) {
+ executablePath = g_jssSoPath;
+ }
+ if (executablePath.empty()) {
+ executablePath = WeexCore::WeexProxy::findLibJssSoPath();
+ }
#if PRINT_LOG_CACHEFILE
std::ofstream mcfile;
mcfile.open(logFilePath, std::ios::app);
mcfile << "jsengine WeexJSConnection::doExec executablePath:" << executablePath << std::endl;
mcfile << "jsengine WeexJSConnection::doExec icuDataPath:" << icuDataPath << std::endl;
#endif
+ std::string::size_type pos = std::string::npos;
+ std::string libName = g_jssSoName;
+ pos = executablePath.find(libName);
+ if (pos != std::string::npos) {
+ executablePath.replace(pos, libName.length(), "");
if (executablePath.empty()) {
LOGE("executablePath is empty");
@@ -274,7 +264,9 @@ void doExec(int fd, bool traceEnable, bool startupPie) {
#endif
return;
- }
+ } else {
+ LOGE("executablePath is %s", executablePath.c_str());
+ }}
if (icuDataPath.empty()) {
LOGE("icuDataPath is empty");
#if PRINT_LOG_CACHEFILE
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/weex_core/Source/android/jsengine/multiprocess/WeexProxy.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/jsengine/multiprocess/WeexProxy.cpp b/weex_core/Source/android/jsengine/multiprocess/WeexProxy.cpp
index f523ea2..f6a56e8 100644
--- a/weex_core/Source/android/jsengine/multiprocess/WeexProxy.cpp
+++ b/weex_core/Source/android/jsengine/multiprocess/WeexProxy.cpp
@@ -31,6 +31,8 @@
#include <core/manager/weex_core_manager.h>
const char *s_cacheDir;
+const char *g_jssSoPath = nullptr;
+const char *g_jssSoName = "libweexjss.so";
bool s_start_pie = true;
static IPCSender *sSender;
@@ -112,7 +114,9 @@ namespace WeexCore {
return param;
}
- inline void addParamsFromJArgs(std::vector<VALUE_WITH_TYPE *>& params, VALUE_WITH_TYPE *param, std::unique_ptr<IPCSerializer>& serializer, JNIEnv* env, jobject jArg){
+ inline void addParamsFromJArgs(std::vector<VALUE_WITH_TYPE *> ¶ms, VALUE_WITH_TYPE *param,
+ std::unique_ptr<IPCSerializer> &serializer, JNIEnv *env,
+ jobject jArg) {
jfieldID jTypeId = env->GetFieldID(jWXJSObject, "type", "I");
jint jTypeInt = env->GetIntField(jArg, jTypeId);
@@ -152,7 +156,7 @@ namespace WeexCore {
jbyteArray dataArray = (jbyteArray) jDataObj;
if (js_server_api_functions != nullptr) {
param->type = ParamsType::BYTEARRAY;
- jbyte* data = env->GetByteArrayElements(dataArray, 0);
+ jbyte *data = env->GetByteArrayElements(dataArray, 0);
size_t length = env->GetArrayLength(dataArray);
param->value.byteArray = genWeexByteArray((const char *) data, length);
} else {
@@ -166,14 +170,14 @@ namespace WeexCore {
}
}
- if (param != nullptr){
+ if (param != nullptr) {
params.push_back(param);
}
env->DeleteLocalRef(jDataObj);
}
- inline void freeParams(std::vector<VALUE_WITH_TYPE *>& params){
+ inline void freeParams(std::vector<VALUE_WITH_TYPE *> ¶ms) {
for (auto ¶m : params) {
if (param->type == ParamsType::STRING ||
param->type == ParamsType::JSONSTRING) {
@@ -268,7 +272,8 @@ namespace WeexCore {
Bridge_Impl_Android::getInstance()->setGlobalRef(jThis);
WeexCoreManager::getInstance()->setPlatformBridge(Bridge_Impl_Android::getInstance());
WeexCoreManager::getInstance()->setJSBridge(new JSBridge());
- WeexCoreManager::getInstance()->SetMeasureFunctionAdapter(new MeasureFunctionAdapterImplAndroid());
+ WeexCoreManager::getInstance()->SetMeasureFunctionAdapter(
+ new MeasureFunctionAdapterImplAndroid());
std::unique_ptr<IPCSerializer> serializer(createIPCSerializer());
const std::vector<INIT_FRAMEWORK_PARAMS *> &initFrameworkParams = initFromParam(env,
script,
@@ -374,7 +379,7 @@ namespace WeexCore {
}
jobject jArg = env->GetObjectArrayElement(jargs, i);
- addParamsFromJArgs(params, param,serializer, env, jArg);
+ addParamsFromJArgs(params, param, serializer, env, jArg);
env->DeleteLocalRef(jArg);
}
@@ -418,7 +423,7 @@ namespace WeexCore {
return true;
}
- static std::string findPath() {
+ std::string WeexProxy::findLibJssSoPath() {
std::string executablePath = "";
unsigned long target = reinterpret_cast<unsigned long>(__builtin_return_address(0));
FILE *f = fopen("/proc/self/maps", "r");
@@ -455,7 +460,44 @@ namespace WeexCore {
}
}
fclose(f);
- return executablePath;
+ LOGE("find so path: %s", executablePath.c_str());
+ std::string::size_type pos = std::string::npos;
+ // dynamic deploy
+ if (!executablePath.empty() && executablePath.find(".maindex") != std::string::npos) {
+ std::string libs[] = {"/opt", "/oat/arm"};
+ auto libsCount = sizeof(libs) / sizeof(std::string);
+ for (int i = 0; i < libsCount; ++i) {
+ auto lib = libs[i];
+ pos = executablePath.find(lib);
+ if (pos != std::string::npos) {
+ executablePath.replace(pos, lib.length(), "/lib");
+ break;
+ }
+ }
+ }
+ std::string soPath = executablePath + "/" + g_jssSoName;
+ // -------------------------------------------------
+ // -------------------------------------------------
+ if (access(soPath.c_str(), 00) == 0) {
+ return soPath;
+ } else {
+ const char *error = soPath.c_str();
+ LOGE("so path: %s is not exsist, use full package lib", error);
+ executablePath = s_cacheDir;
+ std::string lib = "/cache";
+ if ((pos = soPath.find(lib)) != std::string::npos) {
+ executablePath.replace(pos, lib.length(), "/lib");
+ }
+ soPath = executablePath + "/" + g_jssSoName;
+ if (access(soPath.c_str(), 00) != 0) {
+ LOGE("so path: %s is not exsist", soPath.c_str());
+ reportNativeInitStatus("-1004", error);
+ //return false;
+ //use libweexjss.so directly
+ soPath = g_jssSoName;
+ }
+ return soPath;
+ }
}
static WEEX_CORE_JS_API_FUNCTIONS *getWeexCoreApiFunctions() {
@@ -510,44 +552,12 @@ namespace WeexCore {
// -----------------------------------------------
// use find path to get lib path
// use set path is better idea, should change in future
- soPath = findPath();
-
- std::string::size_type pos = std::string::npos;
- LOGE("find so path: %s", soPath.c_str());
- // dynamic deploy
- if (!soPath.empty() && soPath.find(".maindex") != std::string::npos) {
- std::string libs[] = {"/opt", "/oat/arm"};
- auto libsCount = sizeof(libs) / sizeof(std::string);
- for (int i = 0; i < libsCount; ++i) {
- auto lib = libs[i];
- pos = soPath.find(lib);
- if (pos != std::string::npos) {
- soPath.replace(pos, lib.length(), "/lib");
- break;
- }
- }
- soPath += "/libweexjss.so";
- } else {
- soPath += "libweexjss.so";
+ if (g_jssSoPath != nullptr) {
+ soPath = g_jssSoPath;
}
- // -------------------------------------------------
- // -------------------------------------------------
- if (access(soPath.c_str(), 00) != 0) {
- LOGE("so path: %s is not exsist, use full package lib", soPath.c_str());
- const char *error = soPath.c_str();
- soPath = s_cacheDir;
- std::string lib = "/cache";
- if ((pos = soPath.find(lib)) != std::string::npos) {
- soPath.replace(pos, lib.length(), "/lib");
- }
- soPath += "/libweexjss.so";
- if (access(soPath.c_str(), 00) != 0) {
- LOGE("so path: %s is not exsist", soPath.c_str());
- reportNativeInitStatus("-1004", error);
- //return false;
- //use libweexjss.so directly
- soPath = "libweexjss.so";
- }
+
+ if (soPath.empty()) {
+ soPath = findLibJssSoPath();
}
LOGE("final executablePath:%s", soPath.c_str());
@@ -555,7 +565,7 @@ namespace WeexCore {
void *handle = dlopen(soPath.c_str(), RTLD_NOW);
if (!handle) {
const char *error = dlerror();
- LOGE("load libweexjss.so failed,error=%s\n", error);
+ LOGE("load %s failed,error=%s\n", g_jssSoName, error);
reportNativeInitStatus("-1005", error);
// try again use current path
dlclose(handle);
@@ -645,6 +655,18 @@ namespace WeexCore {
g_use_single_process = strstr(use_single_process, "true") != nullptr;
}
+ jmethodID m_get_jss_so_path = env->GetMethodID(c_params, "getLibJssPath",
+ "()Ljava/lang/String;");
+ if (m_get_jss_so_path != nullptr) {
+ jobject j_get_jss_so_path = env->CallObjectMethod(params, m_get_jss_so_path);
+ if (j_get_jss_so_path != nullptr) {
+ g_jssSoPath = env->GetStringUTFChars(
+ (jstring) (j_get_jss_so_path),
+ nullptr);
+ LOGE("g_jssSoPath is %s ", g_jssSoPath);
+ }
+ }
+
jmethodID m_osVersion = env->GetMethodID(
c_params, "getOsVersion", "()Ljava/lang/String;");
jobject osVersion = env->CallObjectMethod(params, m_osVersion);
@@ -971,7 +993,7 @@ namespace WeexCore {
WeexJSResult jsResultData = js_server_api_functions->funcExeJSWithResult(
instanceidChar.getChars(), namespaceChar, functionChar.getChars(), params);
freeParams(params);
- jbyteArray array = newJByteArray(env, jsResultData.data, jsResultData.length);
+ jbyteArray array = newJByteArray(env, jsResultData.data, jsResultData.length);
WeexJSResultDataFree(jsResultData);
return array;
} else {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/weex_core/Source/android/jsengine/multiprocess/WeexProxy.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/jsengine/multiprocess/WeexProxy.h b/weex_core/Source/android/jsengine/multiprocess/WeexProxy.h
index 0699d60..d179c77 100644
--- a/weex_core/Source/android/jsengine/multiprocess/WeexProxy.h
+++ b/weex_core/Source/android/jsengine/multiprocess/WeexProxy.h
@@ -63,6 +63,7 @@ public:
static bool execJSService(JNIEnv *env, jobject object, jstring script);
+ static std::string findLibJssSoPath();
static bool
execJS(JNIEnv *env, jobject jthis, jstring jinstanceid, jstring jnamespace, jstring jfunction,
jobjectArray jargs);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/weex_core/Source/core/render/node/render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.h b/weex_core/Source/core/render/node/render_object.h
index 8f50bff..1a6352c 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -32,7 +32,7 @@
#define convert_render_object_to_long(render) ((jlong)((intptr_t)render))
#define convert_long_to_render_object(ptr) \
- (static_cast<RenderObject *>((intptr_t)ptr))
+ ((RenderObject *)((intptr_t)ptr))
namespace WeexCore {
[13/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] C++ code
style : function name
Posted by cx...@apache.org.
[WEEX-442][Core] C++ code style : function name
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/8f8b214f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/8f8b214f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/8f8b214f
Branch: refs/heads/release
Commit: 8f8b214f3275d71ee79a027920a330fcc810f07b
Parents: e1c9dd5
Author: miomin <mi...@foxmail.com>
Authored: Mon Jun 11 17:30:50 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Tue Jun 12 12:44:03 2018 +0800
----------------------------------------------------------------------
.../native_render_object_utils_impl_android.cpp | 21 +-
weex_core/Source/core/layout/layout.h | 11 +-
.../layout/measure_func_adapter_impl_android.h | 2 +-
weex_core/Source/core/parser/dom_wson.cpp | 2 +-
.../render/action/render_action_add_element.cpp | 46 ++---
.../render/action/render_action_add_element.h | 24 +--
.../render/action/render_action_add_event.cpp | 12 +-
.../render/action/render_action_add_event.h | 6 +-
.../render_action_appendtree_createfinish.cpp | 8 +-
.../render_action_appendtree_createfinish.h | 4 +-
.../render/action/render_action_createbody.cpp | 36 ++--
.../render/action/render_action_createbody.h | 18 +-
.../action/render_action_createfinish.cpp | 4 +-
.../render/action/render_action_createfinish.h | 2 +-
.../core/render/action/render_action_layout.cpp | 30 +--
.../core/render/action/render_action_layout.h | 18 +-
.../action/render_action_move_element.cpp | 16 +-
.../render/action/render_action_move_element.h | 8 +-
.../action/render_action_remove_element.cpp | 8 +-
.../action/render_action_remove_element.h | 4 +-
.../action/render_action_remove_event.cpp | 12 +-
.../render/action/render_action_remove_event.h | 6 +-
.../render/action/render_action_update_attr.cpp | 12 +-
.../render/action/render_action_update_attr.h | 6 +-
.../action/render_action_update_style.cpp | 24 +--
.../render/action/render_action_update_style.h | 12 +-
.../core/render/manager/render_manager.cpp | 8 +-
.../Source/core/render/manager/render_manager.h | 2 +-
.../core/render/node/factory/render_creator.cpp | 4 +-
.../node/factory/render_object_interface.h | 38 ++--
.../Source/core/render/node/render_appbar.cpp | 12 +-
.../Source/core/render/node/render_appbar.h | 4 +-
.../Source/core/render/node/render_list.cpp | 192 +++++++++----------
weex_core/Source/core/render/node/render_list.h | 51 ++---
.../Source/core/render/node/render_object.cpp | 121 +++++++-----
.../Source/core/render/node/render_object.h | 88 ++++-----
.../Source/core/render/node/render_scroller.cpp | 10 +-
.../Source/core/render/node/render_scroller.h | 6 +-
.../Source/core/render/page/render_page.cpp | 30 +--
39 files changed, 468 insertions(+), 450 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp b/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
index 9fc1a39..dcee337 100644
--- a/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
@@ -80,12 +80,13 @@ static void UpdateRenderObjectAttr(JNIEnv* env, jclass jcaller,
static jlong CopyRenderObject(JNIEnv* env, jclass jcaller, jlong ptr){
RenderObject *render = convert_long_to_render_object(ptr);
- RenderObject *copy = (RenderObject*)RenderCreator::GetInstance()->CreateRender(render->Type(), render->Ref());
- copy->copyFrom(render);
- if(render->Type() == WeexCore::kRenderCellSlot || render->Type() == WeexCore::kRenderCell){
+ RenderObject *copy = (RenderObject*)RenderCreator::GetInstance()->CreateRender(render->type(),
+ render->ref());
+ copy->CopyFrom(render);
+ if(render->type() == WeexCore::kRenderCellSlot || render->type() == WeexCore::kRenderCell){
RenderList* renderList = static_cast<RenderList*>(render->getParent());
if(renderList != nullptr){
- renderList->addCellSlotCopyTrack(copy);
+ renderList->AddCellSlotCopyTrack(copy);
}else{
__android_log_print(ANDROID_LOG_ERROR, " LayoutRenderObject","copy error parent null");
}
@@ -94,7 +95,7 @@ static jlong CopyRenderObject(JNIEnv* env, jclass jcaller, jlong ptr){
}
static void showRenderObjectLayout(RenderObject *renderObject, int level){
- LOGE("RenderObject layout %s %d %p %f %f %f %f ", renderObject->Type().c_str(),
+ LOGE("RenderObject layout %s %d %p %f %f %f %f ", renderObject->type().c_str(),
renderObject->getStypePositionType(),
renderObject, renderObject->getLayoutHeight(), renderObject->getLayoutWidth(),
renderObject->getLayoutPositionLeft(), renderObject->getLayoutPositionRight());
@@ -123,11 +124,11 @@ static jint LayoutRenderObject(JNIEnv* env, jclass jcaller,
}
RenderObject *render = convert_long_to_render_object(ptr);
- if(render->Type() == WeexCore::kRenderCell || render->Type() == WeexCore::kRenderCellSlot){
+ if(render->type() == WeexCore::kRenderCell || render->type() == WeexCore::kRenderCellSlot){
RenderList* renderList = static_cast<RenderList*>(render->getParent());
if(renderList != nullptr){
- if(renderList->getColumnCount() > 1 && renderList->getColumnWidth() > 0){
- renderPageSize.first = renderList->getColumnWidth();
+ if(renderList->TakeColumnCount() > 1 && renderList->TakeColumnWidth() > 0){
+ renderPageSize.first = renderList->TakeColumnWidth();
}
}
}
@@ -137,9 +138,9 @@ static jint LayoutRenderObject(JNIEnv* env, jclass jcaller,
render->setStyleWidthLevel(CSS_STYLE);
}
- render->LayoutBefore();
+ render->LayoutBeforeImpl();
render->calculateLayout(renderPageSize);
- render->LayoutAfter();
+ render->LayoutAfterImpl();
return (jint)render->getLayoutHeight();
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/layout/layout.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/layout/layout.h b/weex_core/Source/core/layout/layout.h
index 7bd32dc..aaf013e 100644
--- a/weex_core/Source/core/layout/layout.h
+++ b/weex_core/Source/core/layout/layout.h
@@ -375,12 +375,13 @@ namespace WeexCore {
inline bool isWrapRequired(const float &width, const float &height,
const float ¤tLength, const float &childLength) const {
- float freeMainSize = calcFreeSpaceAlongMainAxis(width, height, currentLength);
+ float freeMainSize = CalculateFreeSpaceAlongMainAxis(width, height, currentLength);
return !isSingleFlexLine(freeMainSize) && freeMainSize < childLength;
}
//If width/height is NAN, ret is NAN, which property we use on purpose.
- virtual float calcFreeSpaceAlongMainAxis(const float &width, const float &height, const float ¤tLength) const{
+ virtual float CalculateFreeSpaceAlongMainAxis(const float &width, const float &height,
+ const float ¤tLength) const{
float ret;
if(isMainAxisHorizontal(this)){
ret = width - sumPaddingBorderAlongAxis(this, true) - currentLength;
@@ -641,11 +642,11 @@ namespace WeexCore {
std::tuple<bool, float, float> calculateBFCDimension(const std::pair<float,float>&);
- virtual void onLayoutBefore() {
+ virtual void OnLayoutBefore() {
}
- virtual void onLayoutAfter(float width, float height) {
+ virtual void OnLayoutAfter(float width, float height) {
}
@@ -1017,7 +1018,7 @@ namespace WeexCore {
return mCssStyle->mAlignSelf;
}
- virtual void setFlex(const float flex) {
+ virtual void set_flex(const float flex) {
if (mCssStyle->mFlexGrow != flex) {
mCssStyle->mFlexGrow = flex;
markDirty();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/layout/measure_func_adapter_impl_android.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/layout/measure_func_adapter_impl_android.h b/weex_core/Source/core/layout/measure_func_adapter_impl_android.h
index 1795c78..38af830 100644
--- a/weex_core/Source/core/layout/measure_func_adapter_impl_android.h
+++ b/weex_core/Source/core/layout/measure_func_adapter_impl_android.h
@@ -89,7 +89,7 @@ namespace WeexCore {
if (!node->haveMeasureFunc()) {
return nullptr;
}
- return Bridge_Impl_Android::getInstance()->getMeasureFunc(((RenderObject *) node)->PageId().c_str(), convert_render_object_to_long(node));
+ return Bridge_Impl_Android::getInstance()->getMeasureFunc(((RenderObject *) node)->page_id().c_str(), convert_render_object_to_long(node));
}
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/parser/dom_wson.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/parser/dom_wson.cpp b/weex_core/Source/core/parser/dom_wson.cpp
index 46adcd9..1e63667 100644
--- a/weex_core/Source/core/parser/dom_wson.cpp
+++ b/weex_core/Source/core/parser/dom_wson.cpp
@@ -63,7 +63,7 @@ namespace WeexCore {
}else if (0 == strcmp(objectKey.c_str(), "type")) {
renderType = parser.nextStringUTF8(parser.nextType());
render = (RenderObject *) RenderCreator::GetInstance()->CreateRender(renderType, ref);
- render->SetPageId(pageId);
+ render->set_page_id(pageId);
if (parent != nullptr){
parent->AddRenderObject(index, render);
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_add_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.cpp b/weex_core/Source/core/render/action/render_action_add_element.cpp
index 46cff05..aa4fa67 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_add_element.cpp
@@ -27,31 +27,31 @@ namespace WeexCore {
const RenderObject *render,
const RenderObject *parent, int index,
bool will_layout) {
- this->attributes = render->Attributes();
- this->styles = render->Styles();
- this->events = render->Events();
- this->margins = render->GetMargins();
- this->paddings = render->GetPaddings();
- this->borders = render->GetBorders();
- this->page_id = page_id;
- this->component_type = render->Type();
- this->ref = render->Ref();
- this->parent_ref = parent->Ref();
- this->index = index;
- this->will_layout = will_layout;
+ this->attributes_ = render->attributes();
+ this->styles_ = render->styles();
+ this->events_ = render->events();
+ this->margins_ = render->GetMargins();
+ this->paddings_ = render->GetPaddings();
+ this->borders_ = render->GetBorders();
+ this->page_id_ = page_id;
+ this->component_type_ = render->type();
+ this->ref_ = render->ref();
+ this->parent_ref_ = parent->ref();
+ this->index_ = index;
+ this->will_layout_ = will_layout;
}
void RenderActionAddElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAddElement(this->page_id.c_str(),
- this->component_type.c_str(),
- this->ref.c_str(),
- this->index,
- this->parent_ref.c_str(),
- this->styles,
- this->attributes,
- this->events, this->margins,
- this->paddings,
- this->borders,
- this->will_layout);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAddElement(this->page_id_.c_str(),
+ this->component_type_.c_str(),
+ this->ref_.c_str(),
+ this->index_,
+ this->parent_ref_.c_str(),
+ this->styles_,
+ this->attributes_,
+ this->events_, this->margins_,
+ this->paddings_,
+ this->borders_,
+ this->will_layout_);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_add_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_element.h b/weex_core/Source/core/render/action/render_action_add_element.h
index 69b9d06..be7c6d7 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.h
+++ b/weex_core/Source/core/render/action/render_action_add_element.h
@@ -40,18 +40,18 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::map<std::string, std::string> *styles;
- std::map<std::string, std::string> *attributes;
- std::set<std::string> *events;
- WXCoreMargin margins;
- WXCorePadding paddings;
- WXCoreBorderWidth borders;
- std::string page_id;
- std::string component_type;
- std::string parent_ref;
- std::string ref;
- int index;
- bool will_layout;
+ std::map<std::string, std::string> *styles_;
+ std::map<std::string, std::string> *attributes_;
+ std::set<std::string> *events_;
+ WXCoreMargin margins_;
+ WXCorePadding paddings_;
+ WXCoreBorderWidth borders_;
+ std::string page_id_;
+ std::string component_type_;
+ std::string parent_ref_;
+ std::string ref_;
+ int index_;
+ bool will_layout_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_add_event.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.cpp b/weex_core/Source/core/render/action/render_action_add_event.cpp
index 98bb6c8..bcd4aa5 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.cpp
+++ b/weex_core/Source/core/render/action/render_action_add_event.cpp
@@ -24,15 +24,15 @@ namespace WeexCore {
RenderActionAddEvent::RenderActionAddEvent(const std::string &page_id, const std::string &ref,
const std::string &event) {
- this->page_id = page_id;
- this->ref = ref;
- this->event = event;
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->event_ = event;
}
void RenderActionAddEvent::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callAddEvent(this->page_id.c_str(),
- this->ref.c_str(),
- this->event.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callAddEvent(this->page_id_.c_str(),
+ this->ref_.c_str(),
+ this->event_.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_add_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_add_event.h b/weex_core/Source/core/render/action/render_action_add_event.h
index 852549c..6347177 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.h
+++ b/weex_core/Source/core/render/action/render_action_add_event.h
@@ -34,9 +34,9 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string page_id;
- std::string ref;
- std::string event;
+ std::string page_id_;
+ std::string ref_;
+ std::string event_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
index 25cdb12..7f8b620 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.cpp
@@ -24,13 +24,13 @@ namespace WeexCore {
RenderActionAppendTreeCreateFinish::RenderActionAppendTreeCreateFinish(const std::string &page_id,
const std::string &ref) {
- this->page_id = page_id;
- this->ref = ref;
+ this->page_id_ = page_id;
+ this->ref_ = ref;
}
void RenderActionAppendTreeCreateFinish::ExecuteAction() {
WeexCoreManager::getInstance()->getPlatformBridge()->callAppendTreeCreateFinish(
- this->page_id.c_str(),
- this->ref.c_str());
+ this->page_id_.c_str(),
+ this->ref_.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
index beb601c..32700fc 100644
--- a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
@@ -33,8 +33,8 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string page_id;
- std::string ref;
+ std::string page_id_;
+ std::string ref_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_createbody.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.cpp b/weex_core/Source/core/render/action/render_action_createbody.cpp
index 9247a48..75c5bdf 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.cpp
+++ b/weex_core/Source/core/render/action/render_action_createbody.cpp
@@ -25,26 +25,26 @@ namespace WeexCore {
RenderActionCreateBody::RenderActionCreateBody(const std::string &page_id,
const RenderObject *render) {
- this->attributes = render->Attributes();
- this->styles = render->Styles();
- this->events = render->Events();
- this->margins = render->GetMargins();
- this->paddings = render->GetPaddings();
- this->borders = render->GetBorders();
- this->page_id = page_id;
- this->component_type = render->Type();
- this->ref = render->Ref();
+ this->attributes_ = render->attributes();
+ this->styles_ = render->styles();
+ this->events_ = render->events();
+ this->margins_ = render->GetMargins();
+ this->paddings_ = render->GetPaddings();
+ this->borders_ = render->GetBorders();
+ this->page_id_ = page_id;
+ this->component_type_ = render->type();
+ this->ref_ = render->ref();
}
void RenderActionCreateBody::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callCreateBody(this->page_id.c_str(),
- this->component_type.c_str(),
- this->ref.c_str(),
- this->styles,
- this->attributes,
- this->events,
- this->margins,
- this->paddings,
- this->borders);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callCreateBody(this->page_id_.c_str(),
+ this->component_type_.c_str(),
+ this->ref_.c_str(),
+ this->styles_,
+ this->attributes_,
+ this->events_,
+ this->margins_,
+ this->paddings_,
+ this->borders_);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_createbody.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createbody.h b/weex_core/Source/core/render/action/render_action_createbody.h
index 8929138..9de047d 100644
--- a/weex_core/Source/core/render/action/render_action_createbody.h
+++ b/weex_core/Source/core/render/action/render_action_createbody.h
@@ -37,15 +37,15 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::map<std::string, std::string> *styles;
- std::map<std::string, std::string> *attributes;
- std::set<std::string> *events;
- WXCoreMargin margins;
- WXCorePadding paddings;
- WXCoreBorderWidth borders;
- std::string page_id;
- std::string component_type;
- std::string ref;
+ std::map<std::string, std::string> *styles_;
+ std::map<std::string, std::string> *attributes_;
+ std::set<std::string> *events_;
+ WXCoreMargin margins_;
+ WXCorePadding paddings_;
+ WXCoreBorderWidth borders_;
+ std::string page_id_;
+ std::string component_type_;
+ std::string ref_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_createfinish.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.cpp b/weex_core/Source/core/render/action/render_action_createfinish.cpp
index cb1b15a..a9a4b73 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.cpp
+++ b/weex_core/Source/core/render/action/render_action_createfinish.cpp
@@ -23,10 +23,10 @@
namespace WeexCore {
RenderActionCreateFinish::RenderActionCreateFinish(const std::string &page_id) {
- this->page_id = page_id;
+ this->page_id_ = page_id;
}
void RenderActionCreateFinish::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callCreateFinish(this->page_id.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callCreateFinish(this->page_id_.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_createfinish.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_createfinish.h b/weex_core/Source/core/render/action/render_action_createfinish.h
index 8590edb..449ea7d 100644
--- a/weex_core/Source/core/render/action/render_action_createfinish.h
+++ b/weex_core/Source/core/render/action/render_action_createfinish.h
@@ -33,7 +33,7 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string page_id;
+ std::string page_id_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_layout.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.cpp b/weex_core/Source/core/render/action/render_action_layout.cpp
index b37a2ef..1edd9cb 100644
--- a/weex_core/Source/core/render/action/render_action_layout.cpp
+++ b/weex_core/Source/core/render/action/render_action_layout.cpp
@@ -25,27 +25,27 @@ namespace WeexCore {
RenderActionLayout::RenderActionLayout(const std::string &page_id, const RenderObject *render,
int index) {
- this->page_id = page_id;
- this->ref = render->Ref();
- this->index = index;
+ this->page_id_ = page_id;
+ this->ref_ = render->ref();
+ this->index_ = index;
GetLayoutInfo(render);
}
void RenderActionLayout::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callLayout(this->page_id.c_str(),
- this->ref.c_str(),
- this->top, this->bottom,
- this->left, this->right,
- this->height, this->width,
- this->index);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callLayout(this->page_id_.c_str(),
+ this->ref_.c_str(),
+ this->top_, this->bottom_,
+ this->left_, this->right_,
+ this->height_, this->width_,
+ this->index_);
}
void RenderActionLayout::GetLayoutInfo(const WXCoreLayoutNode *node) {
- this->top = node->getLayoutPositionTop();
- this->bottom = node->getLayoutPositionBottom();
- this->right = node->getLayoutPositionRight();
- this->left = node->getLayoutPositionLeft();
- this->height = node->getLayoutHeight();
- this->width = node->getLayoutWidth();
+ this->top_ = node->getLayoutPositionTop();
+ this->bottom_ = node->getLayoutPositionBottom();
+ this->right_ = node->getLayoutPositionRight();
+ this->left_ = node->getLayoutPositionLeft();
+ this->height_ = node->getLayoutHeight();
+ this->width_ = node->getLayoutWidth();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_layout.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_layout.h b/weex_core/Source/core/render/action/render_action_layout.h
index 5a21f08..38b98e9 100644
--- a/weex_core/Source/core/render/action/render_action_layout.h
+++ b/weex_core/Source/core/render/action/render_action_layout.h
@@ -41,15 +41,15 @@ namespace WeexCore {
void GetLayoutInfo(const WXCoreLayoutNode *node);
public:
- std::string page_id;
- std::string ref;
- float width;
- float height;
- float top;
- float left;
- float bottom;
- float right;
- int index;
+ std::string page_id_;
+ std::string ref_;
+ float width_;
+ float height_;
+ float top_;
+ float left_;
+ float bottom_;
+ float right_;
+ int index_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_move_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.cpp b/weex_core/Source/core/render/action/render_action_move_element.cpp
index 356c0df..ac328ba 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_move_element.cpp
@@ -25,16 +25,16 @@ namespace WeexCore {
RenderActionMoveElement::RenderActionMoveElement(const std::string &page_id,
const std::string &ref,
const std::string &parent_ref, int index) {
- this->page_id = page_id;
- this->ref = ref;
- this->parent_ref = parent_ref;
- this->index = index;
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->parent_ref_ = parent_ref;
+ this->index_ = index;
}
void RenderActionMoveElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callMoveElement(this->page_id.c_str(),
- this->ref.c_str(),
- this->parent_ref.c_str(),
- this->index);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callMoveElement(this->page_id_.c_str(),
+ this->ref_.c_str(),
+ this->parent_ref_.c_str(),
+ this->index_);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_move_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_move_element.h b/weex_core/Source/core/render/action/render_action_move_element.h
index 2644066..fcc6509 100644
--- a/weex_core/Source/core/render/action/render_action_move_element.h
+++ b/weex_core/Source/core/render/action/render_action_move_element.h
@@ -34,10 +34,10 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string page_id;
- std::string ref;
- std::string parent_ref;
- int index;
+ std::string page_id_;
+ std::string ref_;
+ std::string parent_ref_;
+ int index_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_remove_element.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.cpp b/weex_core/Source/core/render/action/render_action_remove_element.cpp
index b5f1206..8995c40 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.cpp
+++ b/weex_core/Source/core/render/action/render_action_remove_element.cpp
@@ -24,12 +24,12 @@ namespace WeexCore {
RenderActionRemoveElement::RenderActionRemoveElement(const std::string &page_id,
const std::string &ref) {
- this->page_id = page_id;
- this->ref = ref;
+ this->page_id_ = page_id;
+ this->ref_ = ref;
}
void RenderActionRemoveElement::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveElement(this->page_id.c_str(),
- this->ref.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveElement(this->page_id_.c_str(),
+ this->ref_.c_str());
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_remove_element.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_element.h b/weex_core/Source/core/render/action/render_action_remove_element.h
index 425c3e4..6699d0d 100644
--- a/weex_core/Source/core/render/action/render_action_remove_element.h
+++ b/weex_core/Source/core/render/action/render_action_remove_element.h
@@ -32,8 +32,8 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string page_id;
- std::string ref;
+ std::string page_id_;
+ std::string ref_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_remove_event.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.cpp b/weex_core/Source/core/render/action/render_action_remove_event.cpp
index fc4e953..732f7b7 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.cpp
+++ b/weex_core/Source/core/render/action/render_action_remove_event.cpp
@@ -25,14 +25,14 @@ namespace WeexCore {
RenderActionRemoveEvent::RenderActionRemoveEvent(const std::string &page_id,
const std::string &ref,
const std::string &event) {
- this->page_id = page_id;
- this->ref = ref;
- this->event = event;
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->event_ = event;
}
void RenderActionRemoveEvent::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveEvent(this->page_id.c_str(),
- this->ref.c_str(),
- this->event.c_str());
+ WeexCoreManager::getInstance()->getPlatformBridge()->callRemoveEvent(this->page_id_.c_str(),
+ this->ref_.c_str(),
+ this->event_.c_str());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_remove_event.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_remove_event.h b/weex_core/Source/core/render/action/render_action_remove_event.h
index e331dd0..5d6d0fe 100644
--- a/weex_core/Source/core/render/action/render_action_remove_event.h
+++ b/weex_core/Source/core/render/action/render_action_remove_event.h
@@ -34,9 +34,9 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string page_id;
- std::string ref;
- std::string event;
+ std::string page_id_;
+ std::string ref_;
+ std::string event_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_update_attr.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.cpp b/weex_core/Source/core/render/action/render_action_update_attr.cpp
index 91e75dd..35500b2 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.cpp
+++ b/weex_core/Source/core/render/action/render_action_update_attr.cpp
@@ -24,14 +24,14 @@ namespace WeexCore {
RenderActionUpdateAttr::RenderActionUpdateAttr(const std::string &page_id, const std::string &ref,
std::vector<std::pair<std::string, std::string>> *attrs) {
- this->page_id = page_id;
- this->ref = ref;
- this->attrs = attrs;
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->attrs_ = attrs;
}
void RenderActionUpdateAttr::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateAttr(this->page_id.c_str(),
- this->ref.c_str(),
- this->attrs);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateAttr(this->page_id_.c_str(),
+ this->ref_.c_str(),
+ this->attrs_);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_update_attr.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_attr.h b/weex_core/Source/core/render/action/render_action_update_attr.h
index b666f41..81b48b5 100644
--- a/weex_core/Source/core/render/action/render_action_update_attr.h
+++ b/weex_core/Source/core/render/action/render_action_update_attr.h
@@ -35,9 +35,9 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string page_id;
- std::string ref;
- std::vector<std::pair<std::string, std::string>> *attrs;
+ std::string page_id_;
+ std::string ref_;
+ std::vector<std::pair<std::string, std::string>> *attrs_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_update_style.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.cpp b/weex_core/Source/core/render/action/render_action_update_style.cpp
index 21df427..1bc9342 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.cpp
+++ b/weex_core/Source/core/render/action/render_action_update_style.cpp
@@ -28,20 +28,20 @@ namespace WeexCore {
std::vector<std::pair<std::string, std::string>> *margin,
std::vector<std::pair<std::string, std::string>> *padding,
std::vector<std::pair<std::string, std::string>> *border) {
- this->page_id = page_id;
- this->ref = ref;
- this->style = style;
- this->margin = margin;
- this->padding = padding;
- this->border = border;
+ this->page_id_ = page_id;
+ this->ref_ = ref;
+ this->style_ = style;
+ this->margin_ = margin;
+ this->padding_ = padding;
+ this->border_ = border;
}
void RenderActionUpdateStyle::ExecuteAction() {
- WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateStyle(this->page_id.c_str(),
- this->ref.c_str(),
- this->style,
- this->margin,
- this->padding,
- this->border);
+ WeexCoreManager::getInstance()->getPlatformBridge()->callUpdateStyle(this->page_id_.c_str(),
+ this->ref_.c_str(),
+ this->style_,
+ this->margin_,
+ this->padding_,
+ this->border_);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/action/render_action_update_style.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/action/render_action_update_style.h b/weex_core/Source/core/render/action/render_action_update_style.h
index bef6806..ae914f5 100644
--- a/weex_core/Source/core/render/action/render_action_update_style.h
+++ b/weex_core/Source/core/render/action/render_action_update_style.h
@@ -39,12 +39,12 @@ namespace WeexCore {
void ExecuteAction();
public:
- std::string page_id;
- std::string ref;
- std::vector<std::pair<std::string, std::string>> *style;
- std::vector<std::pair<std::string, std::string>> *margin;
- std::vector<std::pair<std::string, std::string>> *padding;
- std::vector<std::pair<std::string, std::string>> *border;
+ std::string page_id_;
+ std::string ref_;
+ std::vector<std::pair<std::string, std::string>> *style_;
+ std::vector<std::pair<std::string, std::string>> *margin_;
+ std::vector<std::pair<std::string, std::string>> *padding_;
+ std::vector<std::pair<std::string, std::string>> *border_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/manager/render_manager.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.cpp b/weex_core/Source/core/render/manager/render_manager.cpp
index 8b299a9..64e179c 100644
--- a/weex_core/Source/core/render/manager/render_manager.cpp
+++ b/weex_core/Source/core/render/manager/render_manager.cpp
@@ -35,7 +35,7 @@ namespace WeexCore {
#endif
RenderPage *page = new RenderPage(page_id);
- this->pages.insert(std::pair<std::string, RenderPage *>(page_id, page));
+ this->pages_.insert(std::pair<std::string, RenderPage *>(page_id, page));
long long startTime = getCurrentTime();
RenderObject *root = Wson2RenderObject(data, page_id);
@@ -183,8 +183,8 @@ namespace WeexCore {
}
RenderPage *RenderManager::GetPage(const std::string &page_id) {
- std::map<std::string, RenderPage *>::iterator iter = this->pages.find(page_id);
- if (iter != this->pages.end()) {
+ std::map<std::string, RenderPage *>::iterator iter = this->pages_.find(page_id);
+ if (iter != this->pages_.end()) {
return iter->second;
} else {
return nullptr;
@@ -200,7 +200,7 @@ namespace WeexCore {
LOGD("[RenderManager] ClosePage >>>> pageId: %s", pageId.c_str());
#endif
page->OnRenderPageClose();
- this->pages.erase(page_id);
+ this->pages_.erase(page_id);
delete page;
page = nullptr;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/manager/render_manager.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/manager/render_manager.h b/weex_core/Source/core/render/manager/render_manager.h
index 33573ff..b87c486 100644
--- a/weex_core/Source/core/render/manager/render_manager.h
+++ b/weex_core/Source/core/render/manager/render_manager.h
@@ -84,7 +84,7 @@ namespace WeexCore {
private:
static RenderManager *g_pInstance;
- std::map<std::string, RenderPage *> pages;
+ std::map<std::string, RenderPage *> pages_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/factory/render_creator.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_creator.cpp b/weex_core/Source/core/render/node/factory/render_creator.cpp
index f3ecdad..92f8c3b 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.cpp
+++ b/weex_core/Source/core/render/node/factory/render_creator.cpp
@@ -48,8 +48,8 @@ namespace WeexCore {
}
IRenderObject *render = factory->CreateRender();
- render->SetRef(ref);
- render->SetType(type);
+ render->set_ref(ref);
+ render->set_type(type);
delete factory;
return render;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/factory/render_object_interface.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_object_interface.h b/weex_core/Source/core/render/node/factory/render_object_interface.h
index 13d2aaf..9e3922f 100644
--- a/weex_core/Source/core/render/node/factory/render_object_interface.h
+++ b/weex_core/Source/core/render/node/factory/render_object_interface.h
@@ -29,42 +29,42 @@ namespace WeexCore {
public:
- inline void SetRef(std::string ref) {
- this->ref = ref;
+ inline void set_ref(std::string ref) {
+ this->ref_ = ref;
}
- inline const std::string &Ref() const {
- return this->ref;
+ inline const std::string &ref() const {
+ return this->ref_;
}
- inline void SetPageId(std::string page_id) {
- this->page_id = page_id;
+ inline void set_page_id(std::string page_id) {
+ this->page_id_ = page_id;
}
- inline const std::string &PageId() const {
- return this->page_id;
+ inline const std::string &page_id() const {
+ return this->page_id_;
}
- inline void SetType(std::string type) {
- this->tyle = type;
+ inline void set_type(std::string type) {
+ this->tyle_ = type;
}
- inline const std::string &Type() const {
- return this->tyle;
+ inline const std::string &type() const {
+ return this->tyle_;
}
- inline void copyFrom(IRenderObject *src) {
+ inline void CopyFrom(IRenderObject *src) {
WXCoreLayoutNode::copyFrom(src);
- SetRef(src->Ref());
- SetPageId(src->PageId());
- SetType(src->Type());
+ set_ref(src->ref());
+ set_page_id(src->page_id());
+ set_type(src->type());
}
private:
- std::string page_id = "";
- std::string ref = "";
- std::string tyle = "";
+ std::string page_id_ = "";
+ std::string ref_ = "";
+ std::string tyle_ = "";
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/render_appbar.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_appbar.cpp b/weex_core/Source/core/render/node/render_appbar.cpp
index d97c0d4..8c05f41 100644
--- a/weex_core/Source/core/render/node/render_appbar.cpp
+++ b/weex_core/Source/core/render/node/render_appbar.cpp
@@ -24,10 +24,10 @@
namespace WeexCore {
std::map<std::string, std::string> *RenderAppBar::GetDefaultStyle() {
- this->default_nav_width = getFloat(
+ this->default_nav_width_ = getFloat(
WXCoreEnvironment::getInstance()->GetOption("defaultNavWidth").c_str());
- this->default_overflow_width = getFloat(
+ this->default_overflow_width_ = getFloat(
WXCoreEnvironment::getInstance()->GetOption("defaultOverflowWidth").c_str());
std::string appbar_color = WXCoreEnvironment::getInstance()->GetOption("appbar_color");
@@ -58,8 +58,8 @@ namespace WeexCore {
value,
0,
[=](float foo) {
- setPadding(kPaddingLeft, foo + this->default_nav_width),
- setPadding(kPaddingRight, foo + this->default_overflow_width),
+ setPadding(kPaddingLeft, foo + this->default_nav_width_),
+ setPadding(kPaddingRight, foo + this->default_overflow_width_),
setPadding(kPaddingTop, foo),
setPadding(kPaddingBottom, foo);
});
@@ -68,14 +68,14 @@ namespace WeexCore {
UpdateStyleInternal(key,
value,
0,
- [=](float foo) { setPadding(kPaddingLeft, foo + this->default_nav_width); });
+ [=](float foo) { setPadding(kPaddingLeft, foo + this->default_nav_width_); });
return kTypePadding;
} else if (key == PADDING_RIGHT) {
UpdateStyleInternal(key,
value,
0,
[=](float foo) {
- setPadding(kPaddingRight, foo + this->default_overflow_width);
+ setPadding(kPaddingRight, foo + this->default_overflow_width_);
});
return kTypePadding;
} else {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/render_appbar.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_appbar.h b/weex_core/Source/core/render/node/render_appbar.h
index 4772b10..3247c7c 100644
--- a/weex_core/Source/core/render/node/render_appbar.h
+++ b/weex_core/Source/core/render/node/render_appbar.h
@@ -38,8 +38,8 @@ namespace WeexCore {
private:
- float default_nav_width;
- float default_overflow_width;
+ float default_nav_width_;
+ float default_overflow_width_;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/render_list.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.cpp b/weex_core/Source/core/render/node/render_list.cpp
index 89ac63c..1854d5e 100644
--- a/weex_core/Source/core/render/node/render_list.cpp
+++ b/weex_core/Source/core/render/node/render_list.cpp
@@ -28,32 +28,32 @@
namespace WeexCore {
RenderList::~RenderList() {
- if (this->cell_slots_copys.size() > 0) {
- for (auto it = this->cell_slots_copys.begin(); it != this->cell_slots_copys.end(); ++it) {
+ if (this->cell_slots_copys_.size() > 0) {
+ for (auto it = this->cell_slots_copys_.begin(); it != this->cell_slots_copys_.end(); ++it) {
RenderObject *child = *it;
if (child) {
delete child;
child = nullptr;
}
}
- this->cell_slots_copys.clear();
+ this->cell_slots_copys_.clear();
}
- if (this->cell_slots.size() > 0) {
- for (auto it = this->cell_slots.begin(); it != this->cell_slots.end(); ++it) {
+ if (this->cell_slots_.size() > 0) {
+ for (auto it = this->cell_slots_.begin(); it != this->cell_slots_.end(); ++it) {
RenderObject *child = *it;
if (child) {
delete child;
child = nullptr;
}
}
- this->cell_slots.clear();
+ this->cell_slots_.clear();
}
}
- void RenderList::addCellSlotCopyTrack(RenderObject *cellSlot) {
+ void RenderList::AddCellSlotCopyTrack(RenderObject *cellSlot) {
cellSlot->setParent(this, cellSlot);
- this->cell_slots_copys.push_back(cellSlot);
+ this->cell_slots_copys_.push_back(cellSlot);
}
std::map<std::string, std::string> *RenderList::GetDefaultStyle() {
@@ -62,101 +62,101 @@ namespace WeexCore {
bool isVertical = true;
RenderObject *parent = (RenderObject *) getParent();
- if (parent != nullptr && !parent->Type().empty()) {
- if (parent->Type() == kHList) {
+ if (parent != nullptr && !parent->type().empty()) {
+ if (parent->type() == kHList) {
isVertical = false;
- } else if (getOrientation() == HORIZONTAL_VALUE) {
+ } else if (TakeOrientation() == HORIZONTAL_VALUE) {
isVertical = false;
}
}
std::string prop = isVertical ? HEIGHT : WIDTH;
- if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex) {
- this->is_set_flex = true;
+ if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex_) {
+ this->is_set_flex_ = true;
style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- } else if (prop == WIDTH && isnan(getStyleWidth()) && !this->is_set_flex) {
- this->is_set_flex = true;
+ } else if (prop == WIDTH && isnan(TakeStyleWidth()) && !this->is_set_flex_) {
+ this->is_set_flex_ = true;
style->insert(std::pair<std::string, std::string>(FLEX, "1"));
}
return style;
}
- void RenderList::setFlex(const float flex) {
- this->is_set_flex = true;
- WXCoreLayoutNode::setFlex(flex);
+ void RenderList::set_flex(const float flex) {
+ this->is_set_flex_ = true;
+ WXCoreLayoutNode::set_flex(flex);
}
std::map<std::string, std::string> *RenderList::GetDefaultAttr() {
- if (!this->is_pre_calculate_cell_width) {
- preCalculateCellWidth();
+ if (!this->is_pre_calculate_cell_width_) {
+ PreCalculateCellWidth();
}
return nullptr;
}
- void RenderList::preCalculateCellWidth() {
+ void RenderList::PreCalculateCellWidth() {
std::map<std::string, std::string> *attrs = new std::map<std::string, std::string>();
- if (Attributes() != nullptr) {
- this->column_count = getColumnCount();
- this->column_width = getColumnWidth();
- this->column_gap = getColumnGap();
+ if (attributes() != nullptr) {
+ this->column_count_ = TakeColumnCount();
+ this->column_width_ = TakeColumnWidth();
+ this->column_gap_ = TakeColumnGap();
- this->left_gap = getLeftGap();
- this->right_gap = getRightGap();
+ this->left_gap_ = TakeLeftGap();
+ this->right_gap_ = TakeRightGap();
- this->available_width =
- getStyleWidth() - getWebPxByWidth(getPaddingLeft(), GetRenderPage()->ViewPortWidth()) -
+ this->available_width_ =
+ TakeStyleWidth() - getWebPxByWidth(getPaddingLeft(), GetRenderPage()->ViewPortWidth()) -
getWebPxByWidth(getPaddingRight(), GetRenderPage()->ViewPortWidth());
- if (AUTO_VALUE == this->column_count && AUTO_VALUE == this->column_width) {
- this->column_count = COLUMN_COUNT_NORMAL;
- this->column_width =
- (this->available_width - ((this->column_count - 1) * this->column_gap)) /
- this->column_count;
- this->column_width = this->column_width > 0 ? this->column_width : 0;
- } else if (AUTO_VALUE == this->column_width && AUTO_VALUE != this->column_count) {
- this->column_width =
- (this->available_width - this->left_gap - this->right_gap -
- ((this->column_count - 1) * this->column_gap)) /
- this->column_count;
- this->column_width = this->column_width > 0 ? this->column_width : 0;
- } else if (AUTO_VALUE != this->column_width && AUTO_VALUE == this->column_count) {
- this->column_count = (int) round(
- (this->available_width + this->column_gap) / (this->column_width + this->column_gap) -
+ if (AUTO_VALUE == this->column_count_ && AUTO_VALUE == this->column_width_) {
+ this->column_count_ = COLUMN_COUNT_NORMAL;
+ this->column_width_ =
+ (this->available_width_ - ((this->column_count_ - 1) * this->column_gap_)) /
+ this->column_count_;
+ this->column_width_ = this->column_width_ > 0 ? this->column_width_ : 0;
+ } else if (AUTO_VALUE == this->column_width_ && AUTO_VALUE != this->column_count_) {
+ this->column_width_ =
+ (this->available_width_ - this->left_gap_ - this->right_gap_ -
+ ((this->column_count_ - 1) * this->column_gap_)) /
+ this->column_count_;
+ this->column_width_ = this->column_width_ > 0 ? this->column_width_ : 0;
+ } else if (AUTO_VALUE != this->column_width_ && AUTO_VALUE == this->column_count_) {
+ this->column_count_ = (int) round(
+ (this->available_width_ + this->column_gap_) / (this->column_width_ + this->column_gap_) -
0.5f);
- this->column_count = this->column_count > 0 ? this->column_count : 1;
- if (this->column_count <= 0) {
- this->column_count = COLUMN_COUNT_NORMAL;
+ this->column_count_ = this->column_count_ > 0 ? this->column_count_ : 1;
+ if (this->column_count_ <= 0) {
+ this->column_count_ = COLUMN_COUNT_NORMAL;
}
- this->column_width =
- ((this->available_width + this->column_gap - this->left_gap - this->right_gap) /
- this->column_count) - this->column_gap;
+ this->column_width_ =
+ ((this->available_width_ + this->column_gap_ - this->left_gap_ - this->right_gap_) /
+ this->column_count_) - this->column_gap_;
- } else if (AUTO_VALUE != this->column_width && AUTO_VALUE != this->column_count) {
+ } else if (AUTO_VALUE != this->column_width_ && AUTO_VALUE != this->column_count_) {
int columnCount = (int) round(
- (this->available_width + this->column_gap - this->left_gap - this->right_gap) /
- (this->column_width + this->column_gap) -
+ (this->available_width_ + this->column_gap_ - this->left_gap_ - this->right_gap_) /
+ (this->column_width_ + this->column_gap_) -
0.5f);
- this->column_count = columnCount > this->column_count ? this->column_count : columnCount;
- if (this->column_count <= 0) {
- this->column_count = COLUMN_COUNT_NORMAL;
+ this->column_count_ = columnCount > this->column_count_ ? this->column_count_ : columnCount;
+ if (this->column_count_ <= 0) {
+ this->column_count_ = COLUMN_COUNT_NORMAL;
}
- this->column_width =
- ((this->available_width + this->column_gap - this->left_gap - this->right_gap) /
- this->column_count) - this->column_gap;
+ this->column_width_ =
+ ((this->available_width_ + this->column_gap_ - this->left_gap_ - this->right_gap_) /
+ this->column_count_) - this->column_gap_;
}
- std::string spanOffsets = calcSpanOffset();
+ std::string spanOffsets = CalculateSpanOffset();
- this->is_pre_calculate_cell_width = true;
- if (getColumnCount() > 0 || getColumnWidth() > 0 ||
- this->column_count > COLUMN_COUNT_NORMAL) {
+ this->is_pre_calculate_cell_width_ = true;
+ if (TakeColumnCount() > 0 || TakeColumnWidth() > 0 ||
+ this->column_count_ > COLUMN_COUNT_NORMAL) {
attrs->insert(
- std::pair<std::string, std::string>(COLUMN_COUNT, to_string(this->column_count)));
- attrs->insert(std::pair<std::string, std::string>(COLUMN_GAP, to_string(this->column_gap)));
+ std::pair<std::string, std::string>(COLUMN_COUNT, to_string(this->column_count_)));
+ attrs->insert(std::pair<std::string, std::string>(COLUMN_GAP, to_string(this->column_gap_)));
attrs->insert(
- std::pair<std::string, std::string>(COLUMN_WIDTH, to_string(this->column_width)));
+ std::pair<std::string, std::string>(COLUMN_WIDTH, to_string(this->column_width_)));
}
if (spanOffsets.length() > 0) {
attrs->insert(std::pair<std::string, std::string>(SPAN_OFFSETS, to_string(spanOffsets)));
@@ -179,16 +179,16 @@ namespace WeexCore {
}
}
- std::string RenderList::calcSpanOffset() {
+ std::string RenderList::CalculateSpanOffset() {
std::string spanOffsets;
- if (this->left_gap > 0 || this->right_gap > 0) {
+ if (this->left_gap_ > 0 || this->right_gap_ > 0) {
spanOffsets.append("[");
- for (int i = 0; i < this->column_count; i++) {
- float spanOffset = this->left_gap + i * ((this->column_width + this->column_gap) -
- (this->available_width + this->column_gap) /
- this->column_count);
+ for (int i = 0; i < this->column_count_; i++) {
+ float spanOffset = this->left_gap_ + i * ((this->column_width_ + this->column_gap_) -
+ (this->available_width_ + this->column_gap_) /
+ this->column_count_);
spanOffsets.append(to_string(spanOffset));
- if (i != this->column_count - 1) {
+ if (i != this->column_count_ - 1) {
spanOffsets.append(",");
}
}
@@ -197,7 +197,7 @@ namespace WeexCore {
return spanOffsets;
}
- float RenderList::getStyleWidth() {
+ float RenderList::TakeStyleWidth() {
float width = getWebPxByWidth(getLayoutWidth(), GetRenderPage()->ViewPortWidth());
if (isnan(width) || width <= 0) {
if (getParent() != nullptr) {
@@ -214,34 +214,34 @@ namespace WeexCore {
}
int RenderList::AddRenderObject(int index, RenderObject *child) {
- if (Type() == kRenderRecycleList
- && (child->Type() == kRenderCellSlot || child->Type() == kRenderCell ||
- child->Type() == kRenderHeader)) {
+ if (type() == kRenderRecycleList
+ && (child->type() == kRenderCellSlot || child->type() == kRenderCell ||
+ child->type() == kRenderHeader)) {
child->setParent(this, child);
- this->cell_slots.insert(this->cell_slots.end(), child);
+ this->cell_slots_.insert(this->cell_slots_.end(), child);
index = -1;
} else {
index = RenderObject::AddRenderObject(index, child);
}
- if (!this->is_pre_calculate_cell_width) {
- preCalculateCellWidth();
+ if (!this->is_pre_calculate_cell_width_) {
+ PreCalculateCellWidth();
}
- if (this->column_width != 0 && !isnan(this->column_width)) {
+ if (this->column_width_ != 0 && !isnan(this->column_width_)) {
AddRenderObjectWidth(child, false);
}
return index;
}
void RenderList::AddRenderObjectWidth(RenderObject *child, const bool updating) {
- if (Type() == kRenderWaterfall || Type() == kRenderRecycleList) {
- if (child->Type() == kRenderHeader || child->Type() == kRenderFooter) {
- child->ApplyStyle(WIDTH, to_string(this->available_width), updating);
- } else if (child->IsSticky()) {
- child->ApplyStyle(WIDTH, to_string(this->available_width), updating);
- } else if (child->Type() == kRenderCell || child->Type() == kRenderCellSlot) {
- child->ApplyStyle(WIDTH, to_string(this->column_width), updating);
+ if (type() == kRenderWaterfall || type() == kRenderRecycleList) {
+ if (child->type() == kRenderHeader || child->type() == kRenderFooter) {
+ child->ApplyStyle(WIDTH, to_string(this->available_width_), updating);
+ } else if (child->is_sticky()) {
+ child->ApplyStyle(WIDTH, to_string(this->available_width_), updating);
+ } else if (child->type() == kRenderCell || child->type() == kRenderCellSlot) {
+ child->ApplyStyle(WIDTH, to_string(this->column_width_), updating);
}
}
}
@@ -251,9 +251,9 @@ namespace WeexCore {
if (!GetAttr(COLUMN_COUNT).empty() || !GetAttr(COLUMN_GAP).empty() ||
!GetAttr(COLUMN_WIDTH).empty()) {
- preCalculateCellWidth();
+ PreCalculateCellWidth();
- if (this->column_width == 0 && isnan(this->column_width)) {
+ if (this->column_width_ == 0 && isnan(this->column_width_)) {
return;
}
@@ -265,7 +265,7 @@ namespace WeexCore {
}
}
- float RenderList::getColumnCount() {
+ float RenderList::TakeColumnCount() {
std::string columnCount = GetAttr(COLUMN_COUNT);
if (columnCount.empty() || columnCount == AUTO) {
@@ -276,7 +276,7 @@ namespace WeexCore {
return (columnCountValue > 0 && !isnan(columnCountValue)) ? columnCountValue : AUTO_VALUE;
}
- float RenderList::getColumnGap() {
+ float RenderList::TakeColumnGap() {
std::string columnGap = GetAttr(COLUMN_GAP);
if (columnGap.empty() || columnGap == NORMAL) {
@@ -287,7 +287,7 @@ namespace WeexCore {
return (columnGapValue > 0 && !isnan(columnGapValue)) ? columnGapValue : AUTO_VALUE;
}
- float RenderList::getColumnWidth() {
+ float RenderList::TakeColumnWidth() {
std::string columnWidth = GetAttr(COLUMN_WIDTH);
if (columnWidth.empty() || columnWidth == AUTO) {
@@ -298,7 +298,7 @@ namespace WeexCore {
return (columnWidthValue > 0 && !isnan(columnWidthValue)) ? columnWidthValue : 0;
}
- float RenderList::getLeftGap() {
+ float RenderList::TakeLeftGap() {
std::string leftGap = GetAttr(LEFT_GAP);
if (leftGap.empty() || leftGap == AUTO) {
@@ -309,7 +309,7 @@ namespace WeexCore {
return (leftGapValue > 0 && !isnan(leftGapValue)) ? leftGapValue : 0;
}
- float RenderList::getRightGap() {
+ float RenderList::TakeRightGap() {
std::string rightGap = GetAttr(RIGHT_GAP);
if (rightGap.empty() || rightGap == AUTO) {
@@ -320,7 +320,7 @@ namespace WeexCore {
return (rightGapValue > 0 && !isnan(rightGapValue)) ? rightGapValue : 0;
}
- int RenderList::getOrientation() {
+ int RenderList::TakeOrientation() {
std::string direction = GetAttr(SCROLL_DIRECTION);
if (HORIZONTAL == direction) {
return HORIZONTAL_VALUE;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/render_list.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.h b/weex_core/Source/core/render/node/render_list.h
index ad0417c..39453e0 100644
--- a/weex_core/Source/core/render/node/render_list.h
+++ b/weex_core/Source/core/render/node/render_list.h
@@ -30,19 +30,19 @@ namespace WeexCore {
~RenderList();
- void addCellSlotCopyTrack(RenderObject *cellSlot);
+ void set_flex(const float flex);
- void setFlex(const float flex);
+ void AddCellSlotCopyTrack(RenderObject *cellSlot);
- std::map <std::string, std::string> *GetDefaultStyle();
+ std::map<std::string, std::string> *GetDefaultStyle();
- std::map <std::string, std::string> *GetDefaultAttr();
+ std::map<std::string, std::string> *GetDefaultAttr();
- void preCalculateCellWidth();
+ void PreCalculateCellWidth();
- std::string calcSpanOffset();
+ std::string CalculateSpanOffset();
- float getStyleWidth();
+ float TakeStyleWidth();
int AddRenderObject(int index, RenderObject *child);
@@ -50,38 +50,39 @@ namespace WeexCore {
void UpdateAttr(std::string key, std::string value);
- float getColumnCount();
+ float TakeColumnCount();
- float getColumnGap();
+ float TakeColumnGap();
- float getColumnWidth();
+ float TakeColumnWidth();
- float getLeftGap();
+ float TakeLeftGap();
- float getRightGap();
+ float TakeRightGap();
- int getOrientation();
+ int TakeOrientation();
- inline float calcFreeSpaceAlongMainAxis(const float &width, const float &height, const float ¤tLength) const override {
+ inline float CalculateFreeSpaceAlongMainAxis(const float &width, const float &height,
+ const float ¤tLength) const override {
return NAN;
}
inline std::vector<RenderObject *> &CellSlots() {
- return cell_slots;
+ return cell_slots_;
}
private:
- bool is_pre_calculate_cell_width = false;
- int column_count = COLUMN_COUNT_NORMAL;
- float column_width = AUTO_VALUE;
- float available_width = 0;
- float column_gap = COLUMN_GAP_NORMAL;
- bool is_set_flex = false;
- std::vector<RenderObject *> cell_slots;
- std::vector<RenderObject *> cell_slots_copys;
- float left_gap = 0;
- float right_gap = 0;
+ bool is_pre_calculate_cell_width_ = false;
+ int column_count_ = COLUMN_COUNT_NORMAL;
+ float column_width_ = AUTO_VALUE;
+ float available_width_ = 0;
+ float column_gap_ = COLUMN_GAP_NORMAL;
+ bool is_set_flex_ = false;
+ std::vector<RenderObject *> cell_slots_;
+ std::vector<RenderObject *> cell_slots_copys_;
+ float left_gap_ = 0;
+ float right_gap_ = 0;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/render_object.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.cpp b/weex_core/Source/core/render/node/render_object.cpp
index a13d6d1..6818cff 100644
--- a/weex_core/Source/core/render/node/render_object.cpp
+++ b/weex_core/Source/core/render/node/render_object.cpp
@@ -29,29 +29,29 @@
namespace WeexCore {
RenderObject::RenderObject() {
- this->styles = new std::map<std::string, std::string>();
- this->attributes = new std::map<std::string, std::string>();
- this->events = new std::set<std::string>();
- this->is_root_render = false;
+ this->styles_ = new std::map<std::string, std::string>();
+ this->attributes_ = new std::map<std::string, std::string>();
+ this->events_ = new std::set<std::string>();
+ this->is_root_render_ = false;
}
RenderObject::~RenderObject() {
- this->parent_render = nullptr;
+ this->parent_render_ = nullptr;
- if (this->styles != nullptr) {
- delete this->styles;
- this->styles = nullptr;
+ if (this->styles_ != nullptr) {
+ delete this->styles_;
+ this->styles_ = nullptr;
}
- if (this->attributes != nullptr) {
- delete this->attributes;
- this->attributes = nullptr;
+ if (this->attributes_ != nullptr) {
+ delete this->attributes_;
+ this->attributes_ = nullptr;
}
- if (this->events != nullptr) {
- delete this->events;
- this->events = nullptr;
+ if (this->events_ != nullptr) {
+ delete this->events_;
+ this->events_ = nullptr;
}
for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
@@ -113,13 +113,13 @@ namespace WeexCore {
setMeasureFunc(measureFunc_Impl);
}
- void RenderObject::onLayoutBefore() {
+ void RenderObject::OnLayoutBefore() {
if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
return;
WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->LayoutBefore(this);
}
- void RenderObject::onLayoutAfter(float width, float height) {
+ void RenderObject::OnLayoutAfter(float width, float height) {
if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
return;
WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->LayoutAfter(this, width, height);
@@ -130,7 +130,7 @@ namespace WeexCore {
bool insert = false;
if (value.length() > 0 &&
(value.at(0) == JSON_OBJECT_MARK_CHAR || value.at(0) == JSON_ARRAY_MARK_CHAR)) {
- mapInsertOrAssign(this->styles, key, value);
+ MapInsertOrAssign(this->styles_, key, value);
insert = true;
}
@@ -142,11 +142,11 @@ namespace WeexCore {
return kTypeLayout;
} else if (key == FLEX) {
if (value.empty()) {
- setFlex(0);
+ set_flex(0);
} else {
float ret = getFloat(value.c_str());
if (!isnan(ret)) {
- setFlex(ret);
+ set_flex(ret);
}
}
return kTypeLayout;
@@ -184,9 +184,9 @@ namespace WeexCore {
} else if (key == POSITION) {
setStylePositionType(GetWXCorePositionType(value));
if (value == STICKY) {
- this->is_sticky = true;
+ this->is_sticky_ = true;
}
- mapInsertOrAssign(this->styles, key, value);
+ MapInsertOrAssign(this->styles_, key, value);
return kTypeStyle;
} else if (key == LEFT) {
UpdateStyleInternal(key, value, NAN,
@@ -253,18 +253,18 @@ namespace WeexCore {
return kTypePadding;
} else {
if (!insert) {
- mapInsertOrAssign(this->styles, key, value);
+ MapInsertOrAssign(this->styles_, key, value);
}
return kTypeStyle;
}
}
const std::string RenderObject::GetStyle(const std::string &key) {
- if (this->styles == nullptr)
+ if (this->styles_ == nullptr)
return "";
- std::map<std::string, std::string>::iterator iter = this->styles->find(key);
- if (iter != this->styles->end()) {
+ std::map<std::string, std::string>::iterator iter = this->styles_->find(key);
+ if (iter != this->styles_->end()) {
return iter->second;
} else {
return "";
@@ -272,11 +272,11 @@ namespace WeexCore {
}
const std::string RenderObject::GetAttr(const std::string &key) {
- if (this->attributes == nullptr)
+ if (this->attributes_ == nullptr)
return "";
- std::map<std::string, std::string>::iterator iter = this->attributes->find(key);
- if (iter != this->attributes->end()) {
+ std::map<std::string, std::string>::iterator iter = this->attributes_->find(key);
+ if (iter != this->attributes_->end()) {
return iter->second;
} else {
return "";
@@ -284,8 +284,8 @@ namespace WeexCore {
}
float RenderObject::GetViewPortWidth() {
- if (this->viewport_width >= 0)
- return this->viewport_width;
+ if (this->viewport_width_ >= 0)
+ return this->viewport_width_;
RenderPage *page = GetRenderPage();
if (page == nullptr)
@@ -307,7 +307,7 @@ namespace WeexCore {
addChildAt(child, index);
}
- child->SetParentRender(this);
+ child->set_parent_render(this);
return index;
}
@@ -320,7 +320,7 @@ namespace WeexCore {
for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
RenderObject *child = static_cast<RenderObject *>(*it);
if (child != nullptr) {
- if (render->Ref() == child->Ref())
+ if (render->ref() == child->ref())
return i;
}
++i;
@@ -346,40 +346,40 @@ namespace WeexCore {
return ret;
}
- void RenderObject::LayoutBefore() {
+ void RenderObject::LayoutBeforeImpl() {
if (isDirty()) {
- onLayoutBefore();
+ OnLayoutBefore();
}
for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
RenderObject *child = static_cast<RenderObject *>(*it);
if (child != nullptr) {
- child->LayoutBefore();
+ child->LayoutBeforeImpl();
}
}
}
- void RenderObject::LayoutAfter() {
+ void RenderObject::LayoutAfterImpl() {
if (hasNewLayout()) {
- onLayoutAfter(getLayoutWidth(), getLayoutHeight());
+ OnLayoutAfter(getLayoutWidth(), getLayoutHeight());
}
for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
RenderObject *child = static_cast<RenderObject *>(*it);
if (child != nullptr) {
- child->LayoutAfter();
+ child->LayoutAfterImpl();
}
}
}
- void RenderObject::copyFrom(RenderObject *src) {
- IRenderObject::copyFrom(src);
- this->styles->insert(src->styles->begin(), src->styles->end());
- this->attributes->insert(src->attributes->begin(), src->attributes->end());
- this->events->insert(src->events->begin(), src->events->end());
+ void RenderObject::CopyFrom(RenderObject *src) {
+ IRenderObject::CopyFrom(src);
+ this->styles_->insert(src->styles_->begin(), src->styles_->end());
+ this->attributes_->insert(src->attributes_->begin(), src->attributes_->end());
+ this->events_->insert(src->events_->begin(), src->events_->end());
}
- void RenderObject::mapInsertOrAssign(std::map<std::string, std::string> *targetMap,
+ void RenderObject::MapInsertOrAssign(std::map<std::string, std::string> *targetMap,
const std::string &key, const std::string &value) {
std::map<std::string, std::string>::iterator it = targetMap->find(key);
if (it != targetMap->end()) {
@@ -391,12 +391,12 @@ namespace WeexCore {
bool RenderObject::ViewInit() {
return (!isnan(getStyleWidth()) && getStyleWidth() > 0) ||
- (IsRootRender() && GetRenderPage() != nullptr &&
+ (is_root_render() && GetRenderPage() != nullptr &&
GetRenderPage()->GetRenderContainerWidthWrapContent());
}
RenderPage *RenderObject::GetRenderPage() {
- return RenderManager::GetInstance()->GetPage(PageId());
+ return RenderManager::GetInstance()->GetPage(page_id());
}
bool RenderObject::IsAppendTree() {
@@ -408,10 +408,37 @@ namespace WeexCore {
}
void RenderObject::UpdateAttr(std::string key, std::string value) {
- mapInsertOrAssign(this->attributes, key, value);
+ MapInsertOrAssign(this->attributes_, key, value);
}
StyleType RenderObject::UpdateStyle(std::string key, std::string value) {
return ApplyStyle(key, value, true);
}
+
+ RenderObject* RenderObject::GetChild(const Index &index) {
+ return static_cast<RenderObject*>(getChildAt(index));
+ }
+
+ void RenderObject::RemoveRenderObject(RenderObject *child) {
+ removeChild(child);
+ }
+
+ void RenderObject::AddAttr(std::string key, std::string value) {
+ MapInsertOrAssign(this->attributes_, key, value);
+ }
+
+ StyleType RenderObject::AddStyle(std::string key, std::string value) {
+ return ApplyStyle(key, value, false);
+ }
+
+ void RenderObject::AddEvent(std::string event) {
+ if (this->events_ == nullptr || this->events_->empty()) {
+ this->events_ = new std::set<std::string>();
+ }
+ this->events_->insert(event);
+ }
+
+ void RenderObject::RemoveEvent(const std::string &event) {
+ this->events_->erase(event);
+ }
} //end WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.h b/weex_core/Source/core/render/node/render_object.h
index 1e519af..91c9a16 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -49,13 +49,14 @@ namespace WeexCore {
public:
- void LayoutBefore();
+ void LayoutBeforeImpl();
- void LayoutAfter();
+ void LayoutAfterImpl();
- void copyFrom(RenderObject* src);
+ void CopyFrom(RenderObject *src);
- void mapInsertOrAssign(std::map<std::string, std::string> *targetMap, const std::string& key, const std::string& value);
+ void MapInsertOrAssign(std::map<std::string, std::string> *targetMap, const std::string &key,
+ const std::string &value);
bool ViewInit();
@@ -80,9 +81,9 @@ namespace WeexCore {
void BindMeasureFunc();
- void onLayoutBefore();
+ void OnLayoutBefore();
- void onLayoutAfter(float width, float height);
+ void OnLayoutAfter(float width, float height);
virtual StyleType ApplyStyle(const std::string &key, const std::string &value, const bool updating);
@@ -108,74 +109,61 @@ namespace WeexCore {
bool IsAppendTree();
- inline RenderObject *GetChild(const Index &index) {
- return static_cast<RenderObject*>(getChildAt(index));
- }
+ RenderObject *GetChild(const Index &index);
- inline void RemoveRenderObject(RenderObject *child) {
- removeChild(child);
- }
+ void RemoveRenderObject(RenderObject *child);
- inline void AddAttr(std::string key, std::string value) {
- mapInsertOrAssign(this->attributes, key, value);
- }
+ void AddAttr(std::string key, std::string value);
- inline StyleType AddStyle(std::string key, std::string value) {
- return ApplyStyle(key, value, false);
- }
+ StyleType AddStyle(std::string key, std::string value);
- inline void AddEvent(std::string event) {
- if (this->events == nullptr || this->events->empty()) {
- this->events = new std::set<std::string>();
- }
- this->events->insert(event);
- }
+ void AddEvent(std::string event);
- inline void RemoveEvent(const std::string &event) {
- this->events->erase(event);
- }
+ void RemoveEvent(const std::string &event);
+
+ public:
- inline void SetParentRender(RenderObject *render) {
- this->parent_render = render;
+ inline void set_parent_render(RenderObject *render) {
+ this->parent_render_ = render;
}
- inline RenderObject *GetParentRender() {
- return this->parent_render;
+ inline RenderObject *parent_render() {
+ return this->parent_render_;
}
- inline std::map<std::string, std::string> *Styles() const {
- return this->styles;
+ inline std::map<std::string, std::string> *styles() const {
+ return this->styles_;
}
- inline std::map<std::string, std::string> * Attributes() const {
- return this->attributes;
+ inline std::map<std::string, std::string> * attributes() const {
+ return this->attributes_;
}
- inline std::set<std::string> *Events() const {
- return this->events;
+ inline std::set<std::string> *events() const {
+ return this->events_;
}
- inline void MarkRootRender() {
- this->is_root_render = true;
+ inline void set_is_root_render() {
+ this->is_root_render_ = true;
}
- inline bool IsRootRender() {
- return this->is_root_render;
+ inline bool is_root_render() {
+ return this->is_root_render_;
}
- inline bool IsSticky() {
- return this->is_sticky;
+ inline bool is_sticky() {
+ return this->is_sticky_;
}
private:
- RenderObject *parent_render;
- std::map<std::string, std::string> *styles;
- std::map<std::string, std::string> *attributes;
- std::set<std::string> *events;
- float viewport_width = -1;
- bool is_root_render;
- bool is_sticky = false;
+ RenderObject *parent_render_;
+ std::map<std::string, std::string> *styles_;
+ std::map<std::string, std::string> *attributes_;
+ std::set<std::string> *events_;
+ float viewport_width_ = -1;
+ bool is_root_render_;
+ bool is_sticky_ = false;
};
} //end WeexCore
#endif //RenderObject_h
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/render_scroller.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_scroller.cpp b/weex_core/Source/core/render/node/render_scroller.cpp
index 4844383..139af5e 100644
--- a/weex_core/Source/core/render/node/render_scroller.cpp
+++ b/weex_core/Source/core/render/node/render_scroller.cpp
@@ -35,17 +35,17 @@ namespace WeexCore {
std::string prop = isVertical ? HEIGHT : WIDTH;
- if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex) {
+ if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex_) {
style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- } else if (prop == WIDTH && isnan(getStyleWidth()) && !this->is_set_flex) {
+ } else if (prop == WIDTH && isnan(getStyleWidth()) && !this->is_set_flex_) {
style->insert(std::pair<std::string, std::string>(FLEX, "1"));
}
return style;
}
- void RenderScroller::setFlex(const float flex) {
- this->is_set_flex = true;
- WXCoreLayoutNode::setFlex(flex);
+ void RenderScroller::set_flex(const float flex) {
+ this->is_set_flex_ = true;
+ WXCoreLayoutNode::set_flex(flex);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/node/render_scroller.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_scroller.h b/weex_core/Source/core/render/node/render_scroller.h
index 2868d8b..fed8f0b 100644
--- a/weex_core/Source/core/render/node/render_scroller.h
+++ b/weex_core/Source/core/render/node/render_scroller.h
@@ -24,13 +24,13 @@
namespace WeexCore {
class RenderScroller : public RenderObject {
- bool is_set_flex = false;
+ bool is_set_flex_ = false;
std::map<std::string, std::string> *GetDefaultStyle();
- void setFlex(const float flex);
+ void set_flex(const float flex);
- inline float calcFreeSpaceAlongMainAxis(const float &width, const float &height,
+ inline float CalculateFreeSpaceAlongMainAxis(const float &width, const float &height,
const float ¤t_length) const override {
return NAN;
}
[26/50] [abbrv] incubator-weex git commit: [WEEX-451][iOS] Fix a
mistake about set __weex_options__
Posted by cx...@apache.org.
[WEEX-451][iOS] Fix a mistake about set __weex_options__
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5cb82d5d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5cb82d5d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5cb82d5d
Branch: refs/heads/release
Commit: 5cb82d5dd8fb8d239bf8c31d0ebb09ca239e3d49
Parents: 482f144
Author: Xiaomin <ca...@yahoo.com>
Authored: Mon Jun 11 21:29:17 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Wed Jun 13 17:10:56 2018 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5cb82d5d/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
index 0c0fb86..e7243af 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -372,7 +372,7 @@ _Pragma("clang diagnostic pop") \
#ifdef DEBUG
WXLogDebug(@"flexLayout -> action: callNativeModule : %@ . %@",moduleName,methodName);
#endif
- NSMutableDictionary * newOptions = [options mutableCopy];
+ NSMutableDictionary * newOptions = options ? [options mutableCopy] : [NSMutableDictionary new];
NSMutableArray * newArguments = [arguments mutableCopy];
if ([WXSDKManager sharedInstance].multiContext && [instance.bundleType.lowercaseString isEqualToString:@"rax"]) {
[34/50] [abbrv] incubator-weex git commit: [WEEX-342][android] update
release build tool, use right package name
Posted by cx...@apache.org.
[WEEX-342][android] update release build tool, use right package name
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c60016f3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c60016f3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c60016f3
Branch: refs/heads/release
Commit: c60016f358109f1d7f48b900891ae6646b06528a
Parents: a0dacda
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Thu Jun 14 11:26:00 2018 +0800
Committer: jianbai.gbj <ji...@alibaba-inc.com>
Committed: Thu Jun 14 11:26:00 2018 +0800
----------------------------------------------------------------------
scripts/generate_apache_release.sh | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c60016f3/scripts/generate_apache_release.sh
----------------------------------------------------------------------
diff --git a/scripts/generate_apache_release.sh b/scripts/generate_apache_release.sh
index 3d9f02f..61d6531 100755
--- a/scripts/generate_apache_release.sh
+++ b/scripts/generate_apache_release.sh
@@ -13,6 +13,7 @@ rsync -rvv --include-from=scripts/release_files.rules ./ $dest
#repackage
find $dest/android/sdk/src -type f -name '*.java' -exec sed -i '' 's/com\.taobao\.weex/org\.apache\.weex/g' {} \;
+find $dest/android/sdk/src -type f -name 'AndroidManifest.xml' -exec sed -i '' 's/com\.taobao\.weex/org\.apache\.weex/g' {} \;
mkdir -p $dest/android/sdk/src/main/java/org
mkdir -p $dest/android/sdk/src/main/java/org/apache
[37/50] [abbrv] incubator-weex git commit: [WEEX-460][iOS] Fix
ImageComponent with placeholder of URL cannot display placeholder if main
image cannot be downloaded.
Posted by cx...@apache.org.
[WEEX-460][iOS] Fix ImageComponent with placeholder of URL cannot display placeholder if main image cannot be downloaded.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d1d80057
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d1d80057
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d1d80057
Branch: refs/heads/release
Commit: d1d80057b2c6b9cf1be47985e3d9cfab29b28140
Parents: 91d7134
Author: ç¥žæ¼ <qi...@alipay.com>
Authored: Wed Jun 13 21:14:11 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Thu Jun 14 14:54:15 2018 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d1d80057/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
index 8ab354b..7f177f3 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -381,7 +381,7 @@ WX_EXPORT_METHOD(@selector(save:))
[[self imageLoader] setImageViewWithURL:(UIImageView*)self.view url:[NSURL URLWithString:newURL] placeholderImage:nil options:userInfo progress:^(NSInteger receivedSize, NSInteger expectedSize) {
// progress when loading image
} completed:^(UIImage *image, NSError *error, WXImageLoaderCacheType cacheType, NSURL *imageURL) {
- __strong typeof(weakSelf) strongSelf = weakSelf;
+ __strong typeof(weakSelf) strongSelf = weakSelf;
if (strongSelf == nil) {
return;
}
@@ -434,7 +434,7 @@ WX_EXPORT_METHOD(@selector(save:))
[strongSelf cancelImage];
void(^downloadFailed)(NSString *, NSError *) = ^void(NSString *url, NSError *error) {
- strongSelf.imageDownloadFinish = YES;
+ weakSelf.imageDownloadFinish = YES;
WXLogError(@"Error downloading image: %@, detail:%@", url, [error localizedDescription]);
};
[36/50] [abbrv] incubator-weex git commit: [WEEX-460][iOS] Fix
ImageComponent with placeholder of URL cannot display placeholder if main
image cannot be downloaded.
Posted by cx...@apache.org.
[WEEX-460][iOS] Fix ImageComponent with placeholder of URL cannot display placeholder if main image cannot be downloaded.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/91d71348
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/91d71348
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/91d71348
Branch: refs/heads/release
Commit: 91d713481c64a9cb0eb2eae4e557495ae61d8660
Parents: 0935d64
Author: ç¥žæ¼ <qi...@alipay.com>
Authored: Wed Jun 13 21:10:49 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Thu Jun 14 14:54:15 2018 +0800
----------------------------------------------------------------------
.../Sources/Component/WXImageComponent.m | 24 ++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/91d71348/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
index c3dbcc2..8ab354b 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -382,10 +382,22 @@ WX_EXPORT_METHOD(@selector(save:))
// progress when loading image
} completed:^(UIImage *image, NSError *error, WXImageLoaderCacheType cacheType, NSURL *imageURL) {
__strong typeof(weakSelf) strongSelf = weakSelf;
- weakSelf.imageDownloadFinish = YES;
+ if (strongSelf == nil) {
+ return;
+ }
+
+ strongSelf.imageDownloadFinish = YES;
if (error) {
// log error message for error
WXLogError(@"Error downloading image: %@, detail:%@", imageURL.absoluteString, [error localizedDescription]);
+
+ // retry set placeholder, maybe placeholer image can be downloaded
+ if (strongSelf.placeholdSrc) {
+ NSString *newURL = [strongSelf.placeholdSrc copy];
+ WX_REWRITE_URL([strongSelf placeholdSrc], WXResourceTypeImage, strongSelf.weexInstance)
+ [[strongSelf imageLoader] setImageViewWithURL:(UIImageView*)strongSelf.view url:[NSURL URLWithString:newURL] placeholderImage:nil options:nil progress:nil completed:nil];
+ return;
+ }
}
UIImageView *imageView = (UIImageView *)strongSelf.view;
if (imageView && imageView.image != image) {
@@ -404,9 +416,9 @@ WX_EXPORT_METHOD(@selector(save:))
[strongSelf fireEvent:@"load" params:@{ @"success": error? @false : @true,@"size":sizeDict}];
}
//check view/img size
- if (!error && image && weakSelf.view) {
+ if (!error && image && strongSelf.view) {
double imageSize = image.size.width * image.scale * image.size.height * image.scale;
- double viewSize = weakSelf.view.frame.size.height * weakSelf.view.frame.size.width;
+ double viewSize = strongSelf.view.frame.size.height * strongSelf.view.frame.size.width;
if (imageSize > viewSize) {
self.weexInstance.performance.imgWrongSizeNum++;
}
@@ -415,10 +427,14 @@ WX_EXPORT_METHOD(@selector(save:))
} else {
dispatch_async(WXImageUpdateQueue, ^{
__strong typeof(weakSelf) strongSelf = weakSelf;
+ if (strongSelf == nil) {
+ return;
+ }
+
[strongSelf cancelImage];
void(^downloadFailed)(NSString *, NSError *) = ^void(NSString *url, NSError *error) {
- weakSelf.imageDownloadFinish = YES;
+ strongSelf.imageDownloadFinish = YES;
WXLogError(@"Error downloading image: %@, detail:%@", url, [error localizedDescription]);
};
[12/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] C++ code
style : function name
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/page/render_page.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.cpp b/weex_core/Source/core/render/page/render_page.cpp
index 24d7dd9..78ad8cd 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -83,9 +83,9 @@ namespace WeexCore {
#endif
long long startTime = getCurrentTime();
- this->render_root->LayoutBefore();
+ this->render_root->LayoutBeforeImpl();
this->render_root->calculateLayout(this->render_page_size);
- this->render_root->LayoutAfter();
+ this->render_root->LayoutAfterImpl();
CssLayoutTime(getCurrentTime() - startTime);
TraverseTree(this->render_root, 0);
}
@@ -133,7 +133,7 @@ namespace WeexCore {
void RenderPage::SetRootRenderObject(RenderObject *root) {
if (root != nullptr) {
this->render_root = root;
- this->render_root->MarkRootRender();
+ this->render_root->set_is_root_render();
}
}
@@ -161,7 +161,7 @@ namespace WeexCore {
if (child == nullptr)
return false;
- RenderObject *parent = child->GetParentRender();
+ RenderObject *parent = child->parent_render();
if (parent == nullptr)
return false;
@@ -179,12 +179,12 @@ namespace WeexCore {
if (child == nullptr)
return false;
- RenderObject *oldParent = child->GetParentRender();
+ RenderObject *oldParent = child->parent_render();
RenderObject *newParent = GetRenderObject(parent_ref);
if (oldParent == nullptr || newParent == nullptr)
return false;
- if (oldParent->Ref() == newParent->Ref()) {
+ if (oldParent->ref() == newParent->ref()) {
if (oldParent->IndexOf(child) < 0) {
return false;
} else if (oldParent->IndexOf(child) == index) {
@@ -415,7 +415,7 @@ namespace WeexCore {
if (render == nullptr)
return;
- std::string ref = render->Ref();
+ std::string ref = render->ref();
this->render_object_registers.insert(std::pair<std::string, RenderObject *>(ref, render));
for(auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd(); it++) {
@@ -430,7 +430,7 @@ namespace WeexCore {
if (render == nullptr)
return;
- this->render_object_registers.erase(render->Ref());
+ this->render_object_registers.erase(render->ref());
for(auto it = render->ChildListIterBegin(); it != render->ChildListIterEnd(); it++) {
RenderObject* child = static_cast<RenderObject*>(*it);
@@ -457,14 +457,14 @@ namespace WeexCore {
}
if (i > 0 && render->IsAppendTree()) {
- SendAppendTreeCreateFinish(render->Ref());
+ SendAppendTreeCreateFinish(render->ref());
}
}
void RenderPage::SendAddElementAction(RenderObject *child, RenderObject *parent, int index, bool is_recursion, bool will_layout) {
if (child == nullptr || parent == nullptr)
return;
- if(parent != nullptr && parent->Type() == WeexCore::kRenderRecycleList){
+ if(parent != nullptr && parent->type() == WeexCore::kRenderRecycleList){
will_layout = false;
}
@@ -480,7 +480,7 @@ namespace WeexCore {
++i;
}
- if(child->Type() == WeexCore::kRenderRecycleList){
+ if(child->type() == WeexCore::kRenderRecycleList){
RenderList* renderList = (RenderList*)child;
std::vector<RenderObject*>& cellSlots = renderList->CellSlots();
for(auto it = cellSlots.begin(); it != cellSlots.end(); it++) {
@@ -493,7 +493,7 @@ namespace WeexCore {
}
if (!is_recursion && i > 0 && child->IsAppendTree()) {
- SendAppendTreeCreateFinish(child->Ref());
+ SendAppendTreeCreateFinish(child->ref());
}
}
@@ -520,13 +520,13 @@ namespace WeexCore {
std::vector<std::pair<std::string, std::string>> *margin,
std::vector<std::pair<std::string, std::string>> *padding,
std::vector<std::pair<std::string, std::string>> *border) {
- RenderAction *action = new RenderActionUpdateStyle(PageId(), render->Ref(), style, margin, padding, border);
+ RenderAction *action = new RenderActionUpdateStyle(PageId(), render->ref(), style, margin, padding, border);
PostRenderAction(action);
}
void RenderPage::SendUpdateAttrAction(RenderObject *render,
std::vector<std::pair<std::string, std::string>> *attrs) {
- RenderAction *action = new RenderActionUpdateAttr(PageId(), render->Ref(), attrs);
+ RenderAction *action = new RenderActionUpdateAttr(PageId(), render->ref(), attrs);
PostRenderAction(action);
}
@@ -537,7 +537,7 @@ namespace WeexCore {
vAttrs->insert(vAttrs->begin(), std::pair<std::string, std::string>(iter->first, iter->second));
}
- RenderAction *action = new RenderActionUpdateAttr(PageId(), render->Ref(), vAttrs);
+ RenderAction *action = new RenderActionUpdateAttr(PageId(), render->ref(), vAttrs);
PostRenderAction(action);
if (vAttrs != nullptr) {
[48/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.14 (#1274)
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/android/sdk/assets/weex-main-jsfm.js
----------------------------------------------------------------------
diff --git a/android/sdk/assets/weex-main-jsfm.js b/android/sdk/assets/weex-main-jsfm.js
index af0084d..ea0a29b 100644
--- a/android/sdk/assets/weex-main-jsfm.js
+++ b/android/sdk/assets/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.13, Build 2018-06-14 11:10. (Vue: 2.5.13-weex.5, Rax: 0.4.20)");var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";var t,c,r,l;function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0<t?1:-1)*Math.floor(Math.abs(t)):t);return Math.min(Math.max(n,0),r)},function(e){var t=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var n,r=1<arguments.length?arguments[1]:void 0;if(void 0!==r){if(
!c(r))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(n=arguments[2])}for(var o,i=l(t.length),a=c(this)?Object(new this(i)):new Array(i),s=0;s<i;)o=t[s],a[s]=r?void 0===n?r(o,s):r.call(n,o,s):o,s+=1;return a.length=i,a}));var v=n(function(e){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)}),m=n(function(e){var t=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=t)}),o=(m.version,function(e){return"object"==typeof e?null!==e:"function"==typeof e}),y=function(e){if(!o(e))throw TypeError(e+" is not an object!");return e},i=function(e){try{return!!e()}catch(e){return!0}},a=!i(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),s=v.document,u=o(s)&&o(s.createElement),f=function(e){return u?s.createElement(e):{}},p=!a&&!i(function(){return 7!=Object.defineProperty(f("div"
),"a",{get:function(){return 7}}).a}),d=Object.defineProperty,h={f:a?Object.defineProperty:function(e,t,n){if(y(e),t=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}(t,!0),y(n),p)try{return d(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},k=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},S=a?function(e,t,n){return h.f(e,t,k(1,n))}:function(e,t,n){return e[t]=n,e},g={}.hasOwnProperty,_=function(e,t){return g.call(e,t)},b=0,w=Math.random(),O=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++b+w).toString(36))},C=n(function(e){var i=O("src"),t="toString",n=Function[t],a=(""+n).split(t);m.inspectSource=function(e){return n.call(
e)},(e.exports=function(e,t,n,r){var o="function"==typeof n;o&&(_(n,"name")||S(n,"name",t)),e[t]!==n&&(o&&(_(n,i)||S(n,i,e[t]?""+e[t]:a.join(String(t)))),e===v?e[t]=n:r?e[t]?e[t]=n:S(e,t,n):(delete e[t],S(e,t,n)))})(Function.prototype,t,function(){return"function"==typeof this&&this[i]||n.call(this)})}),x=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e},E=function(r,o,e){if(x(r),void 0===o)return r;switch(e){case 1:return function(e){return r.call(o,e)};case 2:return function(e,t){return r.call(o,e,t)};case 3:return function(e,t,n){return r.call(o,e,t,n)}}return function(){return r.apply(o,arguments)}},$="prototype",A=function(e,t,n){var r,o,i,a,s=e&A.F,c=e&A.G,l=e&A.S,u=e&A.P,f=e&A.B,p=c?v:l?v[t]||(v[t]={}):(v[t]||{})[$],d=c?m:m[t]||(m[t]={}),h=d[$]||(d[$]={});for(r in c&&(n=t),n)i=((o=!s&&p&&void 0!==p[r])?p:n)[r],a=f&&o?E(i,v):u&&"function"==typeof i?E(Function.call,i):i,p&&C(p,r,i,e&A.U),d[r]!=i&&S(d,r,a),u&&h[r]!=i&&(h[r]=i)};v.core=m,A.F=1
,A.G=2,A.S=4,A.P=8,A.B=16,A.W=32,A.U=64,A.R=128;var j,I=A,M={}.toString,T=function(e){return M.call(e).slice(8,-1)},F=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==T(e)?e.split(""):Object(e)},P=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},N=function(e){return F(P(e))},D=Math.ceil,R=Math.floor,V=function(e){return isNaN(e=+e)?0:(0<e?R:D)(e)},J=Math.min,L=function(e){return 0<e?J(V(e),9007199254740991):0},W=Math.max,q=Math.min,U=n(function(e){var t="__core-js_shared__",n=v[t]||(v[t]={});(e.exports=function(e,t){return n[e]||(n[e]=void 0!==t?t:{})})("versions",[]).push({version:m.version,mode:"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})}),B=U("keys"),z=function(e){return B[e]||(B[e]=O(e))},H=(j=!1,function(e,t,n){var r,o,i,a=N(e),s=L(a.length),c=(o=s,(r=V(r=n))<0?W(r+o,0):q(r,o));if(j&&t!=t){for(;c<s;)if((i=a[c++])!=i)return!0}else for(;c<s;c++)if((j||c in a)&&a[c]===t)return j||c||0;return!j&&-1}),X=z("IE_PROTO")
,G="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),K=Object.keys||function(e){return function(e,t){var n,r=N(e),o=0,i=[];for(n in r)n!=X&&_(r,n)&&i.push(n);for(;t.length>o;)_(r,n=t[o++])&&(~H(i,n)||i.push(n));return i}(e,G)},Z={f:Object.getOwnPropertySymbols},Y={f:{}.propertyIsEnumerable},Q=function(e){return Object(P(e))},ee=Object.assign,te=!ee||i(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ee({},e)[n]||Object.keys(ee({},t)).join("")!=r})?function(e,t){for(var n=arguments,r=Q(e),o=arguments.length,i=1,a=Z.f,s=Y.f;i<o;)for(var c,l=F(n[i++]),u=a?K(l).concat(a(l)):K(l),f=u.length,p=0;p<f;)s.call(l,c=u[p++])&&(r[c]=l[c]);return r}:ee;I(I.S+I.F,"Object",{assign:te});m.Object.assign;Object.setPrototypeOf||(Object.setPrototypeOf=function(t,n){var r;function o(e,t){return r.call(e,t),e}try{(r=t.getOwnPropertyDescriptor(t.prototype,n).set).call({},null)}catc
h(e){if(t.prototype!=={}[n])return;r=function(e){this[n]=e},o.polyfill=o(o({},null),t.prototype)instanceof t}return o}(Object,"__proto__"));var ne=global.WXEnvironment;ne&&"iOS"===ne.platform&&(global.Promise=void 0);var re=n(function(e){var t=U("wks"),n=v.Symbol,r="function"==typeof n;(e.exports=function(e){return t[e]||(t[e]=r&&n[e]||(r?n:O)("Symbol."+e))}).store=t}),oe=re("toStringTag"),ie="Arguments"==T(function(){return arguments}()),ae=function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),oe))?n:ie?T(t):"Object"==(r=T(t))&&"function"==typeof t.callee?"Arguments":r},se={};se[re("toStringTag")]="z",se+""!="[object z]"&&C(Object.prototype,"toString",function(){return"[object "+ae(this)+"]"},!0);var ce={},le=a?Object.defineProperties:function(e,t){y(e);for(var n,r=K(t),o=r.length,i=0;i<o;)h.f(e,n=r[i++],t[n]);return e},ue=v.document,fe=ue&&ue.documentElement,pe=z("IE_PROTO"),de=function(){},he="
prototype",ve=function(){var e,t=f("iframe"),n=G.length;for(t.style.display="none",fe.appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),ve=e.F;n--;)delete ve[he][G[n]];return ve()},me=Object.create||function(e,t){var n;return null!==e?(de[he]=y(e),n=new de,de[he]=null,n[pe]=e):n=ve(),void 0===t?n:le(n,t)},ye=h.f,ge=re("toStringTag"),_e=function(e,t,n){e&&!_(e=n?e:e.prototype,ge)&&ye(e,ge,{configurable:!0,value:t})},be={};S(be,re("iterator"),function(){return this});var we,ke=z("IE_PROTO"),Se=Object.prototype,Oe=Object.getPrototypeOf||function(e){return e=Q(e),_(e,ke)?e[ke]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Se:null},Ce=re("iterator"),xe=!([].keys&&"next"in[].keys()),Ee="values",$e=function(){return this},Ae=function(e,t,n,r,o,i,a){var s,c,l;c=t,l=r,(s=n).prototype=me(be,{next:k(1,l)}),_e(s,c+" Iterator");var u,f,p,d=function(e){if(!xe&&e
in y)return y[e];switch(e){case"keys":case Ee:return function(){return new n(this,e)}}return function(){return new n(this,e)}},h=t+" Iterator",v=o==Ee,m=!1,y=e.prototype,g=y[Ce]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void 0,w="Array"==t&&y.entries||g;if(w&&(p=Oe(w.call(new e)))!==Object.prototype&&p.next&&(_e(p,h,!0),"function"!=typeof p[Ce]&&S(p,Ce,$e)),v&&g&&g.name!==Ee&&(m=!0,_=function(){return g.call(this)}),(xe||m||!y[Ce])&&S(y,Ce,_),ce[t]=_,ce[h]=$e,o)if(u={values:v?_:d(Ee),keys:i?_:d("keys"),entries:b},a)for(f in u)f in y||C(y,f,u[f]);else I(I.P+I.F*(xe||m),t,u);return u},je=(we=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return i<0||a<=i?we?"":void 0:(n=o.charCodeAt(i))<55296||56319<n||i+1===a||(r=o.charCodeAt(i+1))<56320||57343<r?we?o.charAt(i):n:we?o.slice(i,i+2):r-56320+(n-55296<<10)+65536});Ae(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=je(t,n)
,this._i+=e.length,{value:e,done:!1})});var Ie=re("unscopables"),Me=Array.prototype;null==Me[Ie]&&S(Me,Ie,{});var Te=function(e){Me[Ie][e]=!0},Fe=function(e,t){return{value:t,done:!!e}},Pe=Ae(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,Fe(1)):Fe(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ce.Arguments=ce.Array,Te("keys"),Te("values"),Te("entries");for(var Ne=re("iterator"),De=re("toStringTag"),Re=ce.Array,Ve={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheet
List:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},Je=K(Ve),Le=0;Le<Je.length;Le++){var We,qe=Je[Le],Ue=Ve[qe],Be=v[qe],ze=Be&&Be.prototype;if(ze&&(ze[Ne]||S(ze,Ne,Re),ze[De]||S(ze,De,qe),ce[qe]=Re,Ue))for(We in Pe)ze[We]||C(ze,We,Pe[We],!0)}var He,Xe,Ge,Ke=function(t,e,n,r){try{return r?e(y(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&y(o.call(t)),e}},Ze=re("iterator"),Ye=Array.prototype,Qe=re("iterator"),et=m.getIteratorMethod=function(e){if(null!=e)return e[Qe]||e["@@iterator"]||ce[ae(e)]},tt=n(function(e){var d={},h={},t=e.exports=function(e,t,n,r,o){var i,a,s,c,l,u=o?function(){return e}:et(e),f=E(n,r,t?2:1),p=0;if("function"!=typeof u)throw TypeError(e+" is not iterable!");if(void 0===(l=u)||ce.Array!==l&&Ye[Ze]!==l){for(s=u.call(e);!(a=s.next()).done;)if((c=Ke(s,f,a.value,t))===d||c===h)return c}else for(i=L(e.length);p<i;p++)if((c=t?f(y(a=e[p])[0],a[1]):f(e[p]))===d||c===h)return c};t.BREAK=d,t.RETURN=h}),nt=re("species"),rt=v.process,ot=v.setImmediate,
it=v.clearImmediate,at=v.MessageChannel,st=v.Dispatch,ct=0,lt={},ut="onreadystatechange",ft=function(){var e=+this;if(lt.hasOwnProperty(e)){var t=lt[e];delete lt[e],t()}},pt=function(e){ft.call(e.data)};ot&&it||(ot=function(e){for(var t=arguments,n=[],r=1;arguments.length>r;)n.push(t[r++]);return lt[++ct]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof e?e:Function(e),n)},He(ct),ct},it=function(e){delete lt[e]},"process"==T(rt)?He=function(e){rt.nextTick(E(ft,e,1))}:st&&st.now?He=function(e){st.now(E(ft,e,1))}:at?(Ge=(Xe=new at).port2,Xe.port1.onmessage=pt,He=E(Ge.postMessage,Ge,1)):v.addEventListener&&"function"==typeof postMessage&&!v.importScripts?(He=function(e){v.postMessage(e+"","*")},v.ad
dEventListener("message",pt,!1)):He=ut in f("script")?function(e){fe.appendChild(f("script"))[ut]=function(){fe.removeChild(this),ft.call(e)}}:function(e){setTimeout(E(ft,e,1),0)});var dt={set:ot,clear:it},ht=dt.set,vt=v.MutationObserver||v.WebKitMutationObserver,mt=v.process,yt=v.Promise,gt="process"==T(mt);var _t={f:function(e){return new function(e){var n,r;this.promise=new e(function(e,t){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=e,r=t}),this.resolve=x(n),this.reject=x(r)}(e)}},bt=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}},wt=v.navigator,kt=wt&&wt.userAgent||"",St=re("species"),Ot=re("iterator"),Ct=!1;try{[7][Ot]().return=function(){Ct=!0}}catch(e){}var xt,Et,$t,At,jt,It=dt.set,Mt=function(){var n,r,o,e=function(){var e,t;for(gt&&(e=mt.domain)&&e.exit();n;){t=n.fn,n=n.next;try{t()}catch(e){throw n?o():r=void 0,e}}r=void 0,e&&e.enter()};if(gt)o=function(){mt.nextTick(e)};else if(!vt||v.navigator&&v.navigator.standalone)if(yt&&yt.re
solve){var t=yt.resolve(void 0);o=function(){t.then(e)}}else o=function(){ht.call(v,e)};else{var i=!0,a=document.createTextNode("");new vt(e).observe(a,{characterData:!0}),o=function(){a.data=i=!i}}return function(e){var t={fn:e,next:void 0};r&&(r.next=t),n||(n=t,o()),r=t}}(),Tt="Promise",Ft=v.TypeError,Pt=v.process,Nt=Pt&&Pt.versions,Dt=Nt&&Nt.v8||"",Rt=v[Tt],Vt="process"==ae(Pt),Jt=function(){},Lt=Et=_t.f,Wt=!!function(){try{var e=Rt.resolve(1),t=(e.constructor={})[re("species")]=function(e){e(Jt,Jt)};return(Vt||"function"==typeof PromiseRejectionEvent)&&e.then(Jt)instanceof t&&0!==Dt.indexOf("6.6")&&-1===kt.indexOf("Chrome/66")}catch(e){}}(),qt=function(e){var t;return!(!o(e)||"function"!=typeof(t=e.then))&&t},Ut=function(u,n){if(!u._n){u._n=!0;var r=u._c;Mt(function(){for(var c=u._v,l=1==u._s,e=0,t=function(e){var t,n,r,o=l?e.ok:e.fail,i=e.resolve,a=e.reject,s=e.domain;try{o?(l||(2==u._h&&Ht(u),u._h=1),!0===o?t=c:(s&&s.enter(),t=o(c),s&&(s.exit(),r=!0)),t===e.promise?a(Ft("Promi
se-chain cycle")):(n=qt(t))?n.call(t,i,a):i(t)):a(c)}catch(e){s&&!r&&s.exit(),a(e)}};r.length>e;)t(r[e++]);u._c=[],u._n=!1,n&&!u._h&&Bt(u)})}},Bt=function(i){It.call(v,function(){var e,t,n,r=i._v,o=zt(i);if(o&&(e=bt(function(){Vt?Pt.emit("unhandledRejection",r,i):(t=v.onunhandledrejection)?t({promise:i,reason:r}):(n=v.console)&&n.error&&n.error("Unhandled promise rejection",r)}),i._h=Vt||zt(i)?2:1),i._a=void 0,o&&e.e)throw e.v})},zt=function(e){return 1!==e._h&&0===(e._a||e._c).length},Ht=function(t){It.call(v,function(){var e;Vt?Pt.emit("rejectionHandled",t):(e=v.onrejectionhandled)&&e({promise:t,reason:t._v})})},Xt=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),Ut(t,!0))},Gt=function(e){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===e)throw Ft("Promise can't be resolved itself");(n=qt(e))?Mt(function(){var t={_w:r,_d:!1};try{n.call(e,E(Gt,t,1),E(Xt,t,1))}catch(e){Xt.call(t,e)}}):(r._v=e,r._s=1,Ut(r,!1))}catch(e){Xt.call({_w:r,_d:!1},e)
}}};Wt||(Rt=function(e){!function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!")}(this,Rt,Tt,"_h"),x(e),xt.call(this);try{e(E(Gt,this,1),E(Xt,this,1))}catch(e){Xt.call(this,e)}},(xt=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(e,t,n){for(var r in t)C(e,r,t[r],n);return e}(Rt.prototype,{then:function(e,t){var n,r,o,i=Lt((n=Rt,void 0===(o=y(this).constructor)||null==(r=y(o)[nt])?n:x(r)));return i.ok="function"!=typeof e||e,i.fail="function"==typeof t&&t,i.domain=Vt?Pt.domain:void 0,this._c.push(i),this._a&&this._a.push(i),this._s&&Ut(this,!1),i.promise},catch:function(e){return this.then(void 0,e)}}),$t=function(){var e=new xt;this.promise=e,this.resolve=E(Gt,e,1),this.reject=E(Xt,e,1)},_t.f=Lt=function(e){return e===Rt||e===At?new $t(e):Et(e)}),I(I.G+I.W+I.F*!Wt,{Promise:Rt}),_e(Rt,Tt),jt=v[Tt],a&&jt&&!jt[St]&&h.f(jt,St,{configurable:!0,get:function(){return this}}),
At=m[Tt],I(I.S+I.F*!Wt,Tt,{reject:function(e){var t=Lt(this);return(0,t.reject)(e),t.promise}}),I(I.S+I.F*!Wt,Tt,{resolve:function(e){return function(e,t){if(y(e),o(t)&&t.constructor===e)return t;var n=_t.f(e);return(0,n.resolve)(t),n.promise}(this,e)}}),I(I.S+I.F*!(Wt&&function(e,t){if(!t&&!Ct)return!1;var n=!1;try{var r=[7],o=r[Ot]();o.next=function(){return{done:n=!0}},r[Ot]=function(){return o},e(r)}catch(e){}return n}(function(e){Rt.all(e).catch(Jt)})),Tt,{all:function(e){var a=this,t=Lt(a),s=t.resolve,c=t.reject,n=bt(function(){var r=[],o=0,i=1;tt(e,!1,function(e){var t=o++,n=!1;r.push(void 0),i++,a.resolve(e).then(function(e){n||(n=!0,r[t]=e,--i||s(r))},c)}),--i||s(r)});return n.e&&c(n.v),t.promise},race:function(e){var t=this,n=Lt(t),r=n.reject,o=bt(function(){tt(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}});var Kt=["off","error","warn","info","log","debug"],Zt={};global.console;function Yt(e){var t=global.WXEnvironment&&global.WXEnviron
ment.logLevel||"log";return Zt[t]&&Zt[t][e]}function Qt(e){return e.map(function(e){return e="[object object]"===Object.prototype.toString.call(e).toLowerCase()?JSON.stringify(e):String(e)})}global.setTimeout;var en=global.setTimeoutNative;function tn(t,n,r){if(t.hasOwnProperty(n)){var e=t[n];Object.defineProperty(t,n,{get:function(){return e},set:function(e){if(this===t)throw Error("Cannot assign to read only property "+n+" of "+r);return Object.defineProperty(this,n,{value:e,writable:!0}),e}})}}!function(){if(void 0===setTimeout&&"function"==typeof en){var n={},r=0;global.setTimeout=function(e,t){n[++r]=e,en(r.toString(),t)},global.setTimeoutCallback=function(e){"function"==typeof n[e]&&(n[e](),delete n[e])}}}(),function(){if(Kt.forEach(function(n){var r=Kt.indexOf(n);Zt[n]={},Kt.forEach(function(e){var t=Kt.indexOf(e);t<=r&&(Zt[n][e]=!0)})}),global.WXEnvironment&&"Web"!==global.WXEnvironment.platform)global.console={debug:function(){for(var e=[],t=arguments.length;t--;)e[t]=argum
ents[t];Yt("debug")&&global.nativeLog.apply(global,Qt(e).concat(["__DEBUG"]))},log:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("log")&&global.nativeLog.apply(global,Qt(e).concat(["__LOG"]))},info:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("info")&&global.nativeLog.apply(global,Qt(e).concat(["__INFO"]))},warn:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("warn")&&global.nativeLog.apply(global,Qt(e).concat(["__WARN"]))},error:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("error")&&global.nativeLog.apply(global,Qt(e).concat(["__ERROR"]))}};else{var e=console.debug,t=console.log,n=console.info,r=console.warn,o=console.error;console.__ori__={debug:e,log:t,info:n,warn:r,error:o},console.debug=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("debug")&&console.__ori__.debug.apply(console,e)},console.log=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("log
")&&console.__ori__.log.apply(console,e)},console.info=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("info")&&console.__ori__.info.apply(console,e)},console.warn=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("warn")&&console.__ori__.warn.apply(console,e)},console.error=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];Yt("error")&&console.__ori__.error.apply(console,e)}}}();var nn={framework:"0.26.13",transformer:">=0.1.5 <0.5"};function rn(e,t,n){return t+"@"+n+"#"+e}var on=function(e){this.instanceId=String(e),this.lastCallbackId=0,this.callbacks={},this.hooks={}};on.prototype.add=function(e){return this.lastCallbackId++,this.callbacks[this.lastCallbackId]=e,this.lastCallbackId},on.prototype.remove=function(e){var t=this.callbacks[e];return delete this.callbacks[e],t},on.prototype.registerHook=function(e,t,n,r){var o=rn(e,t,n);this.hooks[o]&&console.warn('[JS Framework] Override an existing component hook "'+o+'".'),thi
s.hooks[o]=r},on.prototype.triggerHook=function(e,t,n,r){var o=rn(e,t,n),i=this.hooks[o];if("function"!=typeof i)return console.error("[JS Framework] Invalid hook function type ("+typeof i+') on "'+o+'".'),null;var a=null;try{a=i.apply(null,r||[])}catch(e){console.error('[JS Framework] Failed to execute the hook function on "'+o+'".')}return a},on.prototype.consume=function(e,t,n){var r=this.callbacks[e];return void 0!==n&&!1!==n||delete this.callbacks[e],"function"==typeof r?r(t):new Error('invalid callback id "'+e+'"')},on.prototype.close=function(){this.callbacks={},this.hooks={}};var an=1;function sn(){return(an++).toString()}function cn(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1)}function ln(e){if("function"!=typeof btoa)return"";var t=Array.prototype.map.call(new Uint8Array(e),function(e){return String.fromCharCode(e)}).join("");return btoa(t)}function un(e){if(!e||"object"!=typeof e)return!0;for(var t in e)if(Object.prototype.hasOwnProperty.cal
l(e,t))return!1;return!0}var fn={};function pn(e){return fn[e]}function dn(e){var t=fn[e];return t&&t.taskCenter?t.taskCenter:null}function hn(e,t,n){var r=e.documentElement;if(!(0<r.pureChildren.length||t.parentNode)){var o,i,a=r.children,s=a.indexOf(n);s<0?a.push(t):a.splice(s,0,t),1===t.nodeType?("body"===t.role?(t.docId=e.id,t.ownerDocument=e,t.parentNode=r,mn(t,r)):(t.children.forEach(function(e){e.parentNode=t}),vn(e,t),t.docId=e.id,t.ownerDocument=e,mn(t,r),delete e.nodeMap[t.nodeId]),r.pureChildren.push(t),o=e,i=t.toJSON(),o&&o.taskCenter&&"function"==typeof o.taskCenter.send&&o.taskCenter.send("dom",{action:"createBody"},[i])):(t.parentNode=r,e.nodeMap[t.ref]=t)}}function vn(e,t){t.role="body",t.depth=1,delete e.nodeMap[t.nodeId],t.ref="_root",e.nodeMap._root=t,e.body=t}function mn(t,e){(t.parentNode=e).docId&&(t.docId=e.docId,t.ownerDocument=e.ownerDocument,(t.ownerDocument.nodeMap[t.nodeId]=t).depth=e.depth+1),t.children.forEach(function(e){mn(e,t)})}function yn(e){for(;e
;){if(1===e.nodeType)return e;e=e.nextSibling}}function gn(e){for(;e;){if(1===e.nodeType)return e;e=e.previousSibling}}function _n(e,t,n,r){n<0&&(n=0);var o=t[n-1],i=t[n];return t.splice(n,0,e),r&&(o&&(o.nextSibling=e),e.previousSibling=o,(e.nextSibling=i)&&(i.previousSibling=e)),n}function bn(e,t,n,r){var o=t.indexOf(e);if(o<0)return-1;if(r){var i=t[o-1],a=t[o+1];i&&(i.nextSibling=a),a&&(a.previousSibling=i)}t.splice(o,1);var s=n;o<=n&&(s=n-1);var c=t[s-1],l=t[s];return t.splice(s,0,e),r&&(c&&(c.nextSibling=e),e.previousSibling=c,(e.nextSibling=l)&&(l.previousSibling=e)),o===s?-1:n}function wn(e,t,n){var r=t.indexOf(e);if(!(r<0)){if(n){var o=t[r-1],i=t[r+1];o&&(o.nextSibling=i),i&&(i.previousSibling=o)}t.splice(r,1)}}var kn,Sn=function(){this.nodeId=sn(),this.ref=this.nodeId,this.children=[],this.pureChildren=[],this.parentNode=null,this.nextSibling=null,this.previousSibling=null};Sn.prototype.destroy=function(){var e=pn(this.docId);e&&(delete this.docId,delete e.nodeMap[this.nodeI
d]),this.children.forEach(function(e){e.destroy()})};var On={};var Cn="div",xn=["click","longpress","touchstart","touchmove","touchend","panstart","panmove","panend","horizontalpan","verticalpan","swipe"];function En(e,t){pn(e).nodeMap[t.nodeId]=t}var $n=function(o){function e(e,t,n){void 0===e&&(e=Cn),o.call(this);var r=On[e];if(r&&!n)return new r(e,t,!0);t=t||{},this.nodeType=1,this.nodeId=sn(),this.ref=this.nodeId,this.type=e,this.attr=t.attr||{},this.style=t.style||{},this.classStyle=t.classStyle||{},this.event={},this.children=[],this.pureChildren=[]}return o&&(e.__proto__=o),((e.prototype=Object.create(o&&o.prototype)).constructor=e).prototype.appendChild=function(e){if(!e.parentNode||e.parentNode===this)if(e.parentNode){if(bn(e,this.children,this.children.length,!0),1===e.nodeType){var t=bn(e,this.pureChildren,this.pureChildren.length),n=dn(this.docId);if(n&&0<=t)return n.send("dom",{action:"moveElement"},[e.ref,this.ref,t])}}else if(mn(e,this),_n(e,this.children,this.childre
n.length,!0),this.docId&&En(this.docId,e),1===e.nodeType){_n(e,this.pureChildren,this.pureChildren.length);var r=dn(this.docId);if(r)return r.send("dom",{action:"addElement"},[this.ref,e.toJSON(),-1])}},e.prototype.insertBefore=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.nextSibling&&e.nextSibling===t))if(e.parentNode){if(bn(e,this.children,this.children.indexOf(t),!0),1===e.nodeType){var n=yn(t),r=bn(e,this.pureChildren,n?this.pureChildren.indexOf(n):this.pureChildren.length),o=dn(this.docId);if(o&&0<=r)return o.send("dom",{action:"moveElement"},[e.ref,this.ref,r])}}else if(mn(e,this),_n(e,this.children,this.children.indexOf(t),!0),this.docId&&En(this.docId,e),1===e.nodeType){var i=yn(t),a=_n(e,this.pureChildren,i?this.pureChildren.indexOf(i):this.pureChildren.length),s=dn(this.docId);if(s)return s.send("dom",{action:"addElement"},[this.ref,e.toJSON(),a])}},e.prototype.insertAfter=function(e,t){if(!(e.parentNode&&e.parentNode!==this||e===t||e.previousSibling&&e.p
reviousSibling===t))if(e.parentNode){if(bn(e,this.children,this.children.indexOf(t)+1,!0),1===e.nodeType){var n=bn(e,this.pureChildren,this.pureChildren.indexOf(gn(t))+1),r=dn(this.docId);if(r&&0<=n)return r.send("dom",{action:"moveElement"},[e.ref,this.ref,n])}}else if(mn(e,this),_n(e,this.children,this.children.indexOf(t)+1,!0),this.docId&&En(this.docId,e),1===e.nodeType){var o=_n(e,this.pureChildren,this.pureChildren.indexOf(gn(t))+1),i=dn(this.docId);if(i)return i.send("dom",{action:"addElement"},[this.ref,e.toJSON(),o])}},e.prototype.removeChild=function(e,t){if(e.parentNode&&(wn(e,this.children,!0),1===e.nodeType)){wn(e,this.pureChildren);var n=dn(this.docId);n&&n.send("dom",{action:"removeElement"},[e.ref])}t||e.destroy()},e.prototype.clear=function(){var t=dn(this.docId);t&&this.pureChildren.forEach(function(e){t.send("dom",{action:"removeElement"},[e.ref])}),this.children.forEach(function(e){e.destroy()}),this.children.length=0,this.pureChildren.length=0},e.prototype.setAtt
r=function(e,t,n){if(this.attr[e]!==t||!1===n){this.attr[e]=t;var r=dn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateAttrs"},[this.ref,o])}}},e.prototype.setAttrs=function(e,t){if(!un(e)){var n={};for(var r in e)this.attr[r]!==e[r]&&(this.attr[r]=e[r],n[r]=e[r]);if(!un(n)){var o=dn(this.docId);!t&&o&&o.send("dom",{action:"updateAttrs"},[this.ref,n])}}},e.prototype.setStyle=function(e,t,n){if(this.style[e]!==t||!1===n){this.style[e]=t;var r=dn(this.docId);if(!n&&r){var o={};o[e]=t,r.send("dom",{action:"updateStyle"},[this.ref,o])}}},e.prototype.setStyles=function(e,t){if(!un(e)){var n={};for(var r in e)this.style[r]!==e[r]&&(this.style[r]=e[r],n[r]=e[r]);if(!un(n)){var o=dn(this.docId);!t&&o&&o.send("dom",{action:"updateStyle"},[this.ref,n])}}},e.prototype.setClassStyle=function(e){for(var t in this.classStyle)this.classStyle[t]="";Object.assign(this.classStyle,e);var n=dn(this.docId);n&&n.send("dom",{action:"updateStyle"},[this.ref,this.toStyle()])},e.prototype.a
ddEvent=function(e,t,n){if(this.event||(this.event={}),!this.event[e]){this.event[e]={handler:t,params:n};var r=dn(this.docId);r&&r.send("dom",{action:"addEvent"},[this.ref,e])}},e.prototype.removeEvent=function(e){if(this.event&&this.event[e]){delete this.event[e];var t=dn(this.docId);t&&t.send("dom",{action:"removeEvent"},[this.ref,e])}},e.prototype.fireEvent=function(e,t,n,r){var o=null,i=!1,a=this.event[e];if(a&&t){var s=a.handler;t.stopPropagation=function(){i=!0},o=r&&r.params?s.call.apply(s,[this].concat(r.params,[t])):s.call(this,t)}return!i&&n&&-1!==xn.indexOf(e)&&this.parentNode&&this.parentNode.fireEvent&&(t.currentTarget=this.parentNode,this.parentNode.fireEvent(e,t,n)),o},e.prototype.toStyle=function(){return Object.assign({},this.classStyle,this.style)},e.prototype.toJSON=function(){var e={ref:this.ref.toString(),type:this.type,attr:this.attr,style:this.toStyle()},t=[];for(var n in this.event){var r=this.event[n].params;r?t.push({type:n,params:r}):t.push(n)}return t.le
ngth&&(e.event=t),this.pureChildren.length&&(e.children=this.pureChildren.map(function(e){return e.toJSON()})),e},e.prototype.toString=function(){return"<"+this.type+" attr="+JSON.stringify(this.attr)+" style="+JSON.stringify(this.toStyle())+">"+this.pureChildren.map(function(e){return e.toString()}).join("")+"</"+this.type+">"},e}(Sn);kn=$n;var An=function(){},jn=function(e,t){Object.defineProperty(this,"instanceId",{enumerable:!0,value:String(e)}),Object.defineProperty(this,"callbackManager",{enumerable:!0,value:new on(e)}),An=t||function(){}};function In(e,t){var n=pn(e);return n?Array.isArray(t)?t.map(function(e){switch(e.method){case"callback":return function(e,t,n,r){return e.taskCenter.callback(t,n,r)}.apply(void 0,[n].concat(e.args));case"fireEventSync":case"fireEvent":return function(e,t,n,r,o,i){var a=e.getRef(t);return a?e.fireEvent(a,n,r,o,i):new Error('invalid element reference "'+t+'"')}.apply(void 0,[n].concat(e.args));case"componentHook":return function(e,t,n,r,o){if
(!e||!e.taskCenter)return console.error('[JS Framework] Can\'t find "document" or "taskCenter".'),null;var i=null;try{i=e.taskCenter.triggerHook(t,n,r,o)}catch(e){console.error('[JS Framework] Failed to trigger the "'+n+"@"+r+'" hook on '+t+".")}return i}.apply(void 0,[n].concat(e.args))}}):void 0:new Error("[JS Framework] Failed to receiveTasks, instance ("+e+") is not available.")}jn.prototype.callback=function(e,t,n){return this.callbackManager.consume(e,t,n)},jn.prototype.registerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).registerHook.apply(e,t)},jn.prototype.triggerHook=function(){for(var e,t=[],n=arguments.length;n--;)t[n]=arguments[n];return(e=this.callbackManager).triggerHook.apply(e,t)},jn.prototype.updateData=function(e,t,n){this.send("module",{module:"dom",method:"updateComponentData"},[e,t,n])},jn.prototype.destroyCallback=function(){return this.callbackManager.close()},jn.prototype.normalize=function(e,t){var
n=this;void 0===t&&(t=!1);var r=cn(e);if(e&&e instanceof $n)return e.ref;if(e&&e._isVue&&e.$el instanceof $n)return e.$el.ref;if("Function"===r)return this.callbackManager.add(e).toString();if(t){if("Object"===r){var o={};for(var i in e)o[i]=n.normalize(e[i],!0);return o}if("Array"===r)return e.map(function(e){return n.normalize(e,!0)})}return function(e){var t=cn(e);switch(t){case"Undefined":case"Null":return"";case"RegExp":return e.toString();case"Date":return e.toISOString();case"Number":case"String":case"Boolean":case"Array":case"Object":return e;case"ArrayBuffer":return{"@type":"binary",dataType:t,base64:ln(e)};case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":return{"@type":"binary",dataType:t,base64:ln(e.buffer)};default:return JSON.stringify(e)}}(e)},jn.prototype.send=function(e,t,n,r){var o=this,i=t.action,a=t.component,s=t.ref,c=t.module,l=t.method;switch(n=n.
map(function(e){return o.normalize(e)}),"Object"===cn(r)&&(r=this.normalize(r,!0)),e){case"dom":return this[i](this.instanceId,n);case"component":return this.componentHandler(this.instanceId,s,l,n,Object.assign({component:a},r));default:return this.moduleHandler(this.instanceId,c,l,n,r)}},jn.prototype.callDOM=function(e,t){return this[e](this.instanceId,t)},jn.prototype.callComponent=function(e,t,n,r){return this.componentHandler(this.instanceId,e,t,n,r)},jn.prototype.callModule=function(e,t,n,r){return this.moduleHandler(this.instanceId,e,t,n,r)};var Mn={};function Tn(e){var t=function(t){Mn[t]||(Mn[t]={}),e[t].forEach(function(e){"string"==typeof e?Mn[t][e]=!0:Mn[t][e.name]=e.args})};for(var n in e)t(n)}function Fn(e,t){return"string"==typeof t?!(!Mn[e]||!Mn[e][t]):!!Mn[e]}var Pn={};function Nn(e){Array.isArray(e)&&e.forEach(function(e){e&&("string"==typeof e?Pn[e]=!0:"object"==typeof e&&"string"==typeof e.type&&function(o,e){if(e&&e.length){var t=function(e){function t(){e.apply(
this,arguments)}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t}(kn);e.forEach(function(r){t.prototype[r]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=dn(this.docId);if(n)return n.send("component",{ref:this.ref,component:o,method:r},e)}}),On[o]=t}}((Pn[e.type]=e).type,e.methods))})}function Dn(e){return!!Pn[e]}var Rn=[];function Vn(e,t){Ln(e)?console.warn('Service "'+e+'" has been registered already!'):(t=Object.assign({},t),Rn.push({name:e,options:t}))}function Jn(n){Rn.some(function(e,t){if(e.name===n)return Rn.splice(t,1),!0})}function Ln(e){return t=e,0<=Rn.map(function(e){return e.name}).indexOf(t);var t}var Wn=function(t){function e(e){t.call(this),this.nodeType=8,this.nodeId=sn(),this.ref=this.nodeId,this.type="comment",this.value=e,this.children=[],this.pureChildren=[]}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.toString=function(){return"\x3c!-- "+this.value+"
--\x3e"},e}(Sn);function qn(e,t){return void 0===t&&(t=[]),{module:"dom",method:e,args:t}}var Un=function(e,t){this.id=e,this.batched=!1,this.updates=[],"function"==typeof t?Object.defineProperty(this,"handler",{configurable:!0,enumerable:!0,writable:!0,value:t}):console.error("[JS Runtime] invalid parameter, handler must be a function")};Un.prototype.createFinish=function(e){return(0,this.handler)([qn("createFinish")],e)},Un.prototype.updateFinish=function(e){return(0,this.handler)([qn("updateFinish")],e)},Un.prototype.refreshFinish=function(e){return(0,this.handler)([qn("refreshFinish")],e)},Un.prototype.createBody=function(e){var t=e.toJSON(),n=t.children;delete t.children;var r=[qn("createBody",[t])];return n&&r.push.apply(r,n.map(function(e){return qn("addElement",[t.ref,e,-1])})),this.addActions(r)},Un.prototype.addElement=function(e,t,n){return 0<=n||(n=-1),this.addActions(qn("addElement",[t,e.toJSON(),n]))},Un.prototype.removeElement=function(e){if(Array.isArray(e)){var t=e.
map(function(e){return qn("removeElement",[e])});return this.addActions(t)}return this.addActions(qn("removeElement",[e]))},Un.prototype.moveElement=function(e,t,n){return this.addActions(qn("moveElement",[e,t,n]))},Un.prototype.setAttr=function(e,t,n){var r={};return r[t]=n,this.addActions(qn("updateAttrs",[e,r]))},Un.prototype.setStyle=function(e,t,n){var r={};return r[t]=n,this.addActions(qn("updateStyle",[e,r]))},Un.prototype.setStyles=function(e,t){return this.addActions(qn("updateStyle",[e,t]))},Un.prototype.addEvent=function(e,t){return this.addActions(qn("addEvent",[e,t]))},Un.prototype.removeEvent=function(e,t){return this.addActions(qn("removeEvent",[e,t]))},Un.prototype.handler=function(e,t){return t&&t()},Un.prototype.addActions=function(e){var t=this.updates,n=this.handler;if(Array.isArray(e)||(e=[e]),!this.batched)return n(e);t.push.apply(t,e)};var Bn={createBody:"callCreateBody",addElement:"callAddElement",removeElement:"callRemoveElement",moveElement:"callMoveElement
",updateAttrs:"callUpdateAttrs",updateStyle:"callUpdateStyle",addEvent:"callAddEvent",removeEvent:"callRemoveEvent"};function zn(e,t,n){var r,o=t.module,i=t.method,a=t.args;return r=i,"dom"===o&&Bn[r]&&"function"==typeof global[Bn[r]]?global[Bn[i]].apply(global,[e].concat(a,["-1"])):n(e,[t],"-1")}var Hn=function e(t,n,r){var o,i;t=t?t.toString():"",this.id=t,this.URL=n,i=this,(o=t)&&(fn[o]=i),this.nodeMap={};var a,s,c=e.Listener||Un;this.listener=new c(t,r||(a=t,"function"!=typeof(s=e.handler||global.callNative)&&console.error("[JS Runtime] no default handler"),function(e){Array.isArray(e)||(e=[e]);for(var t=0;t<e.length;t++){var n=zn(a,e[t],s);if(-1===n)return n}})),this.taskCenter=new jn(t,r?function(e){for(var t=[],n=arguments.length-1;0<n--;)t[n]=arguments[n+1];return r.apply(void 0,t)}:e.handler),this.createDocumentElement()};Hn.prototype.getRef=function(e){return this.nodeMap[e]},Hn.prototype.open=function(){this.listener.batched=!1},Hn.prototype.close=function(){this.listener
.batched=!0},Hn.prototype.createDocumentElement=function(){var n=this;if(!this.documentElement){var e=new $n("document");e.docId=this.id,e.ownerDocument=this,e.role="documentElement",e.depth=0,e.ref="_documentElement",this.nodeMap._documentElement=e,this.documentElement=e,Object.defineProperty(e,"appendChild",{configurable:!0,enumerable:!0,writable:!0,value:function(e){hn(n,e)}}),Object.defineProperty(e,"insertBefore",{configurable:!0,enumerable:!0,writable:!0,value:function(e,t){hn(n,e,t)}})}return this.documentElement},Hn.prototype.createBody=function(e,t){this.body||vn(this,new $n(e,t));return this.body},Hn.prototype.createElement=function(e,t){return new $n(e,t)},Hn.prototype.createComment=function(e){return new Wn(e)},Hn.prototype.fireEvent=function(e,t,n,r,o){if(e){(n=n||{}).type=n.type||t,n.target=e,n.currentTarget=e,n.timestamp=Date.now(),r&&function(e,t){var n=t.attrs||{};for(var r in n)e.setAttr(r,n[r],!0);var o=t.style||{};for(var i in o)e.setStyle(i,o[i],!0)}(e,r);var i=
"true"===this.getRef("_root").attr.bubble;return e.fireEvent(t,n,i,o)}},Hn.prototype.destroy=function(){var e;this.taskCenter.destroyCallback(),delete this.listener,delete this.nodeMap,delete this.taskCenter,e=this.id,delete fn[e]},Hn.handler=null;var Xn={};function Gn(e){return e["[[CurrentInstanceId]]"]}var Kn,Zn,Yn=function(e,t){var n,r;n=this,r=String(e),Object.defineProperty(n,"[[CurrentInstanceId]]",{value:r}),this.config=t||{},this.document=new Hn(e,this.config.bundleUrl),this.requireModule=this.requireModule.bind(this),this.importScript=this.importScript.bind(this),this.isRegisteredModule=Fn,this.isRegisteredComponent=Dn};Yn.prototype.requireModule=function(s){var c=Gn(this);if(c&&this.document&&this.document.taskCenter){if(Fn(s)){var e=s+"#"+c;if(!Xn[e]){var t=Mn[s],n={},r=function(a){Object.defineProperty(n,a,{enumerable:!0,configurable:!0,get:function(){return n=s,r=a,(o=dn(e=c))&&"function"==typeof o.send?function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];
return o.send("module",{module:n,method:r},e)}:(console.error("[JS Framework] Failed to find taskCenter ("+e+")."),null);var e,n,r,o},set:function(e){return n=s,r=a,o=e,(i=dn(t=c))&&"function"==typeof i.send?"function"!=typeof o?(console.error("[JS Framework] "+n+"."+r+" must be assigned as a function."),null):function(e){return i.send("module",{module:n,method:r},[e])}:(console.error("[JS Framework] Failed to find taskCenter ("+t+")."),null);var t,n,r,o,i}})};for(var o in t)r(o);Xn[e]=n}return Xn[e]}console.warn('[JS Framework] using unregistered weex module "'+s+'"')}else console.error('[JS Framework] Failed to requireModule("'+s+'"), instance ('+c+") doesn't exist anymore.")},Yn.prototype.supports=function(e){if("string"!=typeof e)return null;var t=e.match(/^@(\w+)\/(\w+)(\.(\w+))?$/i);if(t){var n=t[1],r=t[2],o=t[4];switch(n){case"module":return Fn(r,o);case"component":return Dn(r)}}return null},Yn.prototype.importScript=function(e,r){void 0===r&&(r={});var o=Gn(this),i=dn(o);ret
urn new Promise(function(t,n){i&&"function"==typeof i.send||n(new Error('[JS Framework] Failed to import script "'+e+'", no taskCenter ('+o+") matched."));try{i.send("module",{module:"script",method:"importScript"},[e,r],{callback:[function(e){return t(e)},function(e){return n(e)}]})}catch(e){n(e)}})};var Qn=/^\s*\/\/ *(\{[^}]*\}) *\r?\n/;function er(){return"0.26.13"}var tr={};function nr(e){return tr[e]}function rr(e,t,n){void 0===t&&(t={});var r=new Yn(e,t),o=t.bundleType||"Vue";tr[e]=o;var i=Zn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');var a,s,c,l,u=(a=e,s={weex:r,config:t,created:Date.now(),framework:o,bundleType:o},c=Zn,(l=Object.create(null)).service=Object.create(null),Rn.forEach(function(e){var t=e.name,n=e.options.create;if(n)try{var r=n(a,s,c);Object.assign(l.service,r),Object.assign(l,r.instance)}catch(e){console.error("[JS Runtime] Failed to create service "+t+".")}}),delete l.service.instance,Object.freeze(l.service),l);Object.
freeze(u);var f=Object.create(null);Object.assign(f,u,{weex:r,getJSFMVersion:er,__WEEX_CALL_JAVASCRIPT__:In,services:u}),Object.freeze(f);var p=Object.assign({},f);return"function"==typeof i.createInstanceContext&&Object.assign(p,i.createInstanceContext(e,f,n)),Object.freeze(p),p}var or={createInstance:function(e,t,n,r){if(tr[e])return new Error('The instance id "'+e+'" has already been used!');var o=function(e){var t=Qn.exec(e);if(t)try{return JSON.parse(t[1]).framework}catch(e){}return"Weex"}(t);tr[e]=o,(n=JSON.parse(JSON.stringify(n||{}))).env=JSON.parse(JSON.stringify(global.WXEnvironment||{})),n.bundleType=o;var i=Zn.frameworks[o];if(!i)return new Error('[JS Framework] Invalid bundle type "'+o+'".');"Weex"===o&&console.error('[JS Framework] COMPATIBILITY WARNING: Weex DSL 1.0 (.we) framework is no longer supported! It will be removed in the next version of WeexSDK, your page would be crash if you still using the ".we" framework. Please upgrade it to Vue.js or Rax.');var a=rr(e,
n,r);if("function"==typeof i.createInstance){if("Rax"===o||"Weex"===o){var s=Object.assign({config:n,created:Date.now(),framework:o},a);return i.createInstance(e,t,n,r,s)}return i.createInstance(e,t,n,r,a)}!function(e,t){var n=[],r=[];for(var o in t)n.push(o),r.push(t[o]);var i="\n (function (global) {\n "+e+"\n })(Object.create(this))\n ";(new(Function.prototype.bind.apply(Function,[null].concat(n,[i])))).apply(void 0,r)}(t,a)},createInstanceContext:rr,getRoot:function(e){var t=pn(e);try{if(t&&t.body)return t.body.toJSON()}catch(e){return void console.error("[JS Framework] Failed to get the virtual dom tree.")}},getJSFMVersion:er,getDocument:pn,registerService:Vn,unregisterService:Jn,callJS:function(e,t){var n=Kn[nr(e)];return n&&"function"==typeof n.receiveTasks?n.receiveTasks(e,t):In(e,t)}};function ir(s){or[s]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n,r=e[0],o=nr(r);if(o&&Kn[o]){var i=(n=Kn[o])[s].apply(n,e),a={framework:o};return"refres
hInstance"===s?Rn.forEach(function(e){var t=e.options.refresh;t&&t(r,{info:a,runtime:Zn})}):"destroyInstance"===s&&(Rn.forEach(function(e){var t=e.options.destroy;t&&t(r,{info:a,runtime:Zn})}),delete tr[r]),i}return new Error('[JS Framework] Using invalid instance id "'+r+'" when calling '+s+".")}}function ar(o,i){or[o]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n in"function"==typeof i&&i.apply(void 0,e),Zn.frameworks){var r=Zn.frameworks[n];r&&r[o]&&r[o].apply(r,e)}}}var sr={Document:Hn,Element:$n,Comment:Wn,Listener:Un,TaskCenter:jn,sendTasks:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return"function"==typeof callNative?callNative.apply(void 0,e):(global.callNative||function(){}).apply(void 0,e)}};Hn.handler=sr.sendTasks;var cr={service:{register:Vn,unregister:Jn,has:Ln},freezePrototype:function(){Object.freeze(sr.Comment),Object.freeze(sr.Listener),Object.freeze(sr.Document.prototype),Object.freeze(sr.Comment.prototype),Objec
t.freeze(sr.Listener.prototype)},init:function(e){for(var t in Kn=(Zn=e||{}).frameworks||{},function(){var e={createFinish:global.callCreateFinish,updateFinish:global.callUpdateFinish,refreshFinish:global.callRefreshFinish,createBody:global.callCreateBody,addElement:global.callAddElement,removeElement:global.callRemoveElement,moveElement:global.callMoveElement,updateAttrs:global.callUpdateAttrs,updateStyle:global.callUpdateStyle,addEvent:global.callAddEvent,removeEvent:global.callRemoveEvent},t=jn.prototype,n=function(n){var r=e[n];t[n]=r?function(e,t){return r.apply(void 0,[e].concat(t))}:function(e,t){return An(e,[{module:"dom",method:n,args:t}],"-1")}};for(var r in e)n(r);t.componentHandler=global.callNativeComponent||function(e,t,n,r,o){return An(e,[{component:o.component,ref:t,method:n,args:r}])},t.moduleHandler=global.callNativeModule||function(e,t,n,r){return An(e,[{module:t,method:n,args:r}])}}(),Kn){var n=Kn[t];if("function"==typeof n.init)try{n.init(e)}catch(e){}}return ar
("registerComponents",Nn),ar("registerModules",Tn),ar("registerMethods"),["destroyInstance","refreshInstance"].forEach(ir),or},config:sr};function lr(e,t){void 0===t&&(t={}),this.type=e||"message",this.data=t.data||null,this.origin=t.origin||"",this.source=t.source||null,this.ports=t.ports||[],this.target=null,this.timeStamp=Date.now()}var ur={},fr={};function pr(){}pr.prototype.postMessage=function(e){if(this._closed)throw new Error('BroadcastChannel "'+this.name+'" is closed.');var t=ur[this.name];if(t&&t.length)for(var n=0;n<t.length;++n){var r=t[n];r._closed||r===this||"function"==typeof r.onmessage&&r.onmessage(new lr("message",{data:e}))}},pr.prototype.close=function(){var t=this;if(!this._closed&&(this._closed=!0,ur[this.name])){var e=ur[this.name].filter(function(e){return e!==t});e.length?ur[this.name]=e:delete ur[this.name]}};var dr={BroadcastChannel:{create:function(t,e,n){if(fr[t]=[],"function"==typeof global.BroadcastChannel)return{};var r={BroadcastChannel:function(e){
Object.defineProperty(this,"name",{configurable:!1,enumerable:!0,writable:!1,value:String(e)}),this._closed=!1,this.onmessage=null,ur[this.name]||(ur[this.name]=[]),ur[this.name].push(this),fr[t].push(this)}};return r.BroadcastChannel.prototype=pr.prototype,{instance:r}},destroy:function(e,t){fr[e].forEach(function(e){return e.close()}),delete fr[e]}}};var hr={},vr={};var mr=Object.freeze({init:function(e){hr.Document=e.Document,hr.Element=e.Element,hr.Comment=e.Comment,hr.sendTasks=e.sendTasks},createInstance:function(t,e,n,r,o){void 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new hr.Document(t,n.bundleUrl),a={},s={id:t,data:r,document:i,callbacks:a},c=0;i.addCallback=function(e){return a[++c]=e,c},i.handleCallback=function(e,t,n){var r=a[e];return n&&delete a[e],r(t)},vr[t]=s;var l=Object.assign({Document:hr.Document,Element:hr.Element,Comment:hr.Comment,sendTasks:function(e){return hr.sendTasks(t,e,-1)},options:n,document:i},o),u=[],f=[];for(var p in l)u.push(p),f.p
ush(l[p]);return u.push(e),(new(Function.prototype.bind.apply(Function,[null].concat(u)))).apply(void 0,f),hr.sendTasks(t,[{module:"dom",method:"createFinish",args:[]}],-1),s},destroyInstance:function(e){delete vr[e]},getRoot:function(e){return vr[e].document.body.toJSON()},receiveTasks:function(r,e){var o={fireEvent:function(e,t,n,r,o){var i=vr[e].document,a=i.getRef(t);return i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return vr[e].document.handleCallback(t,n,r)}};if((vr[r]||{}).document&&Array.isArray(e)){var i=[];return e.forEach(function(e){var t=o[e.method],n=[].concat(e.args);"function"==typeof t&&(n.unshift(r),i.push(t.apply(void 0,n)))}),i}}}),yr=n(function(e){e.exports=function(e,o){var _=Object.freeze({});function j(e){return null==e}function I(e){return null!=e}function M(e){return!0===e}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function b(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString
;function u(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function n(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}s("slot,component",!0);var c=s("key,ref,slot,slot-scope,is");function l(e,t){if(e.length){var n=e.indexOf(t);if(-1<n)return e.splice(n,1)}}var a=Object.prototype.hasOwnProperty;function f(e,t){return a.call(e,t)}function p(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var d=/-(\w)/g,h=p(function(e){return e.replace(d,function(e,t){return t?t.toUpperCase():""})}),v=p(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),m=/\B([A-Z])/g,w=p(function(e){return e.replace(m,"-$1").toLowerCase()});function y(n,r){function e(e
){var t=arguments.length;return t?1<t?n.apply(r,arguments):n.call(r,e):n.call(r)}return e._length=n.length,e}function g(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function N(e,t){for(var n in t)e[n]=t[n];return e}function D(e,t,n){}var k=function(e,t,n){return!1},S=function(e){return e};function O(t,n){if(t===n)return!0;var e=b(t),r=b(n);if(!e||!r)return!e&&!r&&String(t)===String(n);try{var o=Array.isArray(t),i=Array.isArray(n);if(o&&i)return t.length===n.length&&t.every(function(e,t){return O(e,n[t])});if(o||i)return!1;var a=Object.keys(t),s=Object.keys(n);return a.length===s.length&&a.every(function(e){return O(t[e],n[e])})}catch(e){return!1}}function C(e,t){for(var n=0;n<e.length;n++)if(O(e[n],t))return n;return-1}function R(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var F="data-server-rendered",x=["component","directive","filter"],E=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","des
troyed","activated","deactivated","errorCaptured"],$={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:k,isReservedAttr:k,isUnknownElement:k,getTagNamespace:D,parsePlatformTagName:S,mustUseProp:k,_lifecycleHooks:E};function A(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var P=/[^\w.$]/;var V,J="__proto__"in{},L="undefined"!=typeof window,W="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,q=W&&WXEnvironment.platform.toLowerCase(),U=L&&window.navigator.userAgent.toLowerCase(),B=(U&&/msie|trident/.test(U),U&&0<U.indexOf("msie 9.0")),z=U&&0<U.indexOf("edge/"),H=(U&&U.indexOf("android"),U&&/iphone|ipad|ipod|ios/.test(U)||"ios"===q),X=(U&&/chrome\/\d+/.test(U),{}.watch);if(L)try{var G={};Object.defineProperty(G,"passive",{get:function(){}}),window.addEventListener("test-passive",null,G)}catch(
e){}var K=function(){return void 0===V&&(V=!L&&!W&&void 0!==global&&"server"===global.process.env.VUE_ENV),V},Z=L&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Y(e){return"function"==typeof e&&/native code/.test(e.toString())}var Q,ee="undefined"!=typeof Symbol&&Y(Symbol)&&"undefined"!=typeof Reflect&&Y(Reflect.ownKeys);Q="undefined"!=typeof Set&&Y(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var te=D,ne=0,re=function(){this.id=ne++,this.subs=[]};re.prototype.addSub=function(e){this.subs.push(e)},re.prototype.removeSub=function(e){l(this.subs,e)},re.prototype.depend=function(){re.target&&re.target.addDep(this)},re.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},re.target=null;var oe=[];var ie=function(e,t,n,r,o,i,a,s){this.tag=e,this.data=t,this.children=n,
this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ae={child:{configurable:!0}};ae.child.get=function(){return this.componentInstance},Object.defineProperties(ie.prototype,ae);var se=function(e){void 0===e&&(e="");var t=new ie;return t.text=e,t.isComment=!0,t};function ce(e){return new ie(void 0,void 0,void 0,String(e))}var le=Array.prototype,ue=Object.create(le);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(a){var s=le[a];A(ue,a,function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r,o=s.apply(this,t),i=this.__ob__;switch(a){case"push":case"unshift":r=t;break;case"splice":r=t.slice(2)}return r&&i.observeArray(
r),i.dep.notify(),o})});var fe=Object.getOwnPropertyNames(ue),pe={shouldConvert:!0},de=function(e){(this.value=e,this.dep=new re,this.vmCount=0,A(e,"__ob__",this),Array.isArray(e))?((J?he:ve)(e,ue,fe),this.observeArray(e)):this.walk(e)};function he(e,t,n){e.__proto__=t}function ve(e,t,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];A(e,i,t[i])}}function me(e,t){var n;if(b(e)&&!(e instanceof ie))return f(e,"__ob__")&&e.__ob__ instanceof de?n=e.__ob__:pe.shouldConvert&&!K()&&(Array.isArray(e)||u(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new de(e)),t&&n&&n.vmCount++,n}function ye(n,e,r,t,o){var i=new re,a=Object.getOwnPropertyDescriptor(n,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set,l=!o&&me(r);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(n):r;return re.target&&(i.depend(),l&&(l.dep.depend(),Array.isArray(e)&&function e(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(e))),e
},set:function(e){var t=s?s.call(n):r;e===t||e!=e&&t!=t||(c?c.call(n,e):r=e,l=!o&&me(e),i.notify())}})}}function ge(e,t,n){if(Array.isArray(e)&&i(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(ye(r.value,t,n),r.dep.notify(),n):e[t]=n}function _e(e,t){if(Array.isArray(e)&&i(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||f(e,t)&&(delete e[t],n&&n.dep.notify())}}de.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)ye(e,t[n],e[t[n]])},de.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)me(e[t])};var be=$.optionMergeStrategies;function we(e,t){if(!t)return e;for(var n,r,o,i=Object.keys(t),a=0;a<i.length;a++)r=e[n=i[a]],o=t[n],f(e,n)?u(r)&&u(o)&&we(r,o):ge(e,n,o);return e}function ke(n,r,o){return o?function(){var e="function"==typeof r?r.call(o,o):r,t="function"==typeof n?n.call(o,o):n;return e?we(e,t):t}:r?n?function(){return
we("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Se(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Oe(e,t,n,r){var o=Object.create(e||null);return t?N(o,t):o}be.data=function(e,t,n){return n?ke(e,t,n):t&&"function"!=typeof t?e:ke(e,t)},E.forEach(function(e){be[e]=Se}),x.forEach(function(e){be[e+"s"]=Oe}),be.watch=function(e,t,n,r){if(e===X&&(e=void 0),t===X&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var o={};for(var i in N(o,e),t){var a=o[i],s=t[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},be.props=be.methods=be.inject=be.computed=function(e,t,n,r){if(!e)return t;var o=Object.create(null);return N(o,e),t&&N(o,t),o},be.provide=ke;var Ce=function(e,t){return void 0===t?e:t};function xe(n,r,o){"function"==typeof r&&(r=r.options),function(e,t){var n=e.props;if(n){var r,o,i={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(o=n[r])&&(i[h(o)]={type:null});els
e if(u(n))for(var a in n)o=n[a],i[h(a)]=u(o)?o:{type:o};e.props=i}}(r),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(u(n))for(var i in n){var a=n[i];r[i]=u(a)?N({from:i},a):{from:a}}}}(r),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(r);var e=r.extends;if(e&&(n=xe(n,e,o)),r.mixins)for(var t=0,i=r.mixins.length;t<i;t++)n=xe(n,r.mixins[t],o);var a,s={};for(a in n)c(a);for(a in r)f(n,a)||c(a);function c(e){var t=be[e]||Ce;s[e]=t(n[e],r[e],o,e)}return s}function Ee(e,t,n,r){if("string"==typeof n){var o=e[t];if(f(o,n))return o[n];var i=h(n);if(f(o,i))return o[i];var a=v(i);return f(o,a)?o[a]:o[n]||o[i]||o[a]}}function $e(e,t,n,r){var o=t[e],i=!f(n,e),a=n[e];if(je(Boolean,o.type)&&(i&&!f(o,"default")?a=!1:je(String,o.type)||""!==a&&a!==w(e)||(a=!0)),void 0===a){a=function(e,t,n){if(!f(t,"default"))return;var r=t.default;if(e&&e.$options.propsD
ata&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Ae(t.type)?r.call(e):r}(r,o,e);var s=pe.shouldConvert;pe.shouldConvert=!0,me(a),pe.shouldConvert=s}return a}function Ae(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function je(e,t){if(!Array.isArray(t))return Ae(t)===Ae(e);for(var n=0,r=t.length;n<r;n++)if(Ae(t[n])===Ae(e))return!0;return!1}function Ie(e,t,n){if(t)for(var r=t;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,e,t,n))return}catch(e){Me(e,r,"errorCaptured hook")}}Me(e,t,n)}function Me(e,t,n){if($.errorHandler)try{return $.errorHandler.call(null,e,t,n)}catch(e){Te(e,null,"config.errorHandler")}Te(e,t,n)}function Te(e,t,n){if(!L&&!W||"undefined"==typeof console)throw e;console.error(e)}var Fe,Pe,Ne=[],De=!1;function Re(){De=!1;for(var e=Ne.slice(0),t=Ne.length=0;t<e.length;t++)e[t]()}var Ve=!1;if("undefined"!=typeof setImmediat
e&&Y(setImmediate))Pe=function(){setImmediate(Re)};else if("undefined"==typeof MessageChannel||!Y(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Pe=function(){setTimeout(Re,0)};else{var Je=new MessageChannel,Le=Je.port2;Je.port1.onmessage=Re,Pe=function(){Le.postMessage(1)}}if("undefined"!=typeof Promise&&Y(Promise)){var We=Promise.resolve();Fe=function(){We.then(Re),H&&setTimeout(D)}}else Fe=Pe;function qe(e,t){var n;if(Ne.push(function(){if(e)try{e.call(t)}catch(e){Ie(e,t,"nextTick")}else n&&n(t)}),De||(De=!0,Ve?Pe():Fe()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Ue=new Q;function Be(e){!function e(t,n){var r,o;var i=Array.isArray(t);if(!i&&!b(t)||Object.isFrozen(t))return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(r=t.length;r--;)e(t[r],n);else for(o=Object.keys(t),r=o.length;r--;)e(t[o[r]],n)}(e,Ue),Ue.clear()}var ze,He=p(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).
charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function Xe(e){function o(){var e=arguments,t=o.fns;if(!Array.isArray(t))return t.apply(null,arguments);for(var n=t.slice(),r=0;r<n.length;r++)n[r].apply(null,e)}return o.fns=e,o}function Ge(e,t,n,r,o){var i,a,s,c,l;for(i in e)a=s=e[i],c=t[i],l=He(i),u(a)&&(s=a.handler,l.params=a.params),j(s)||(j(c)?(j(s.fns)&&(s=e[i]=Xe(s)),n(l.name,s,l.once,l.capture,l.passive,l.params)):s!==c&&(c.fns=s,e[i]=c));for(i in t)j(e[i])&&r((l=He(i)).name,t[i],l.capture)}function Ke(e,t,n){var r;e instanceof ie&&(e=e.data.hook||(e.data.hook={}));var o=e[t];function i(){n.apply(this,arguments),l(r.fns,i)}j(o)?r=Xe([i]):I(o.fns)&&M(o.merged)?(r=o).fns.push(i):r=Xe([o,i]),r.merged=!0,e[t]=r}function Ze(e,t,n,r,o){if(I(t)){if(f(t,n))return e[n]=t[n],o||delete t[n],!0;if(f(t,r))return e[n]=t[r],o||delete t[r],!0}return!1}function Ye(e){return T(e)?[ce(e)]:Array.isArray(e)?function e(t,n){var r=[];var o,i,
a,s;for(o=0;o<t.length;o++)j(i=t[o])||"boolean"==typeof i||(a=r.length-1,s=r[a],Array.isArray(i)?0<i.length&&(Qe((i=e(i,(n||"")+"_"+o))[0])&&Qe(s)&&(r[a]=ce(s.text+i[0].text),i.shift()),r.push.apply(r,i)):T(i)?Qe(s)?r[a]=ce(s.text+i):""!==i&&r.push(ce(i)):Qe(i)&&Qe(s)?r[a]=ce(s.text+i.text):(M(t._isVList)&&I(i.tag)&&j(i.key)&&I(n)&&(i.key="__vlist"+n+"_"+o+"__"),r.push(i)));return r}(e):void 0}function Qe(e){return I(e)&&I(e.text)&&!1===e.isComment}function et(e,t){return(e.__esModule||ee&&"Module"===e[Symbol.toStringTag])&&(e=e.default),b(e)?t.extend(e):e}function tt(e){return e.isComment&&e.asyncFactory}function nt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(I(n)&&(I(n.componentOptions)||tt(n)))return n}}function rt(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&at(e,t)}function ot(e,t,n){n?ze.$once(e,t):ze.$on(e,t)}function it(e,t){ze.$off(e,t)}function at(e,t,n){ze=e,Ge(t,n||{},ot,it),ze=void 0}function st(e,t){var n
={};if(!e)return n;for(var r=0,o=e.length;r<o;r++){var i=e[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==t&&i.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var l in n)n[l].every(ct)&&delete n[l];return n}function ct(e){return e.isComment&&!e.asyncFactory||" "===e.text}function lt(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?lt(e[n],t):t[e[n].key]=e[n].fn;return t}var ut=null;function ft(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}function pt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function dt(e,t){if(t){if(e._directInactive=!1,pt(e))return}else if(e._directInacti
ve)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)dt(e.$children[n]);ht(e,"activated")}}function ht(t,n){var e=t.$options[n];if(e)for(var r=0,o=e.length;r<o;r++)try{e[r].call(t)}catch(e){Ie(e,t,n+" hook")}t._hasHookEvent&&t.$emit("hook:"+n)}var vt=[],mt=[],yt={},gt=!1,_t=!1,bt=0;function wt(){var e,t;for(_t=!0,vt.sort(function(e,t){return e.id-t.id}),bt=0;bt<vt.length;bt++)t=(e=vt[bt]).id,yt[t]=null,e.run();var n=mt.slice(),r=vt.slice();bt=vt.length=mt.length=0,yt={},gt=_t=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,dt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&ht(r,"updated")}}(r),Z&&$.devtools&&Z.emit("flush")}var kt=0,St=function(e,t,n,r,o){this.vm=e,o&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++kt,this.active=!0,this.dirty
=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Q,this.newDepIds=new Q,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!P.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};St.prototype.get=function(){var e,t;e=this,re.target&&oe.push(re.target),re.target=e;var n=this.vm;try{t=this.getter.call(n,n)}catch(e){if(!this.user)throw e;Ie(e,n,'getter for watcher "'+this.expression+'"')}finally{this.deep&&Be(t),re.target=oe.pop(),this.cleanupDeps()}return t},St.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},St.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.c
lear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},St.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==yt[t]){if(yt[t]=!0,_t){for(var n=vt.length-1;bt<n&&vt[n].id>e.id;)n--;vt.splice(n+1,0,e)}else vt.push(e);gt||(gt=!0,qe(wt))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||b(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Ie(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Ot={enumerable:!0,configurable:!0,get:D,set:D};function Ct(e,t,n
){Ot.get=function(){return this[t][n]},Ot.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Ot)}function xt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var o=n.$options.propsData||{},i=n._props={},a=n.$options._propKeys=[],e=!n.$parent;pe.shouldConvert=e;var t=function(e){a.push(e);var t=$e(e,r,o,n);ye(i,e,t),e in n||Ct(n,"_props",e)};for(var s in r)t(s);pe.shouldConvert=!0}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?D:y(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;u(t=e._data="function"==typeof t?Et(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,o=(e.$options.methods,n.length);for(;o--;){var i=n[o];r&&f(r,i)||(void 0,36!==(a=(i+"").charCodeAt(0))&&95!==a&&Ct(e,"_data",i))}var a;me(t,!0)}(e):me(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=K();for(var o in t){var i=t[o],a="function"==typeof i?i:i.get;r||(n[o]=new St(e,a||D,D,$t)),o in e||At(e,o,i)}}(
e,t.computed),t.watch&&t.watch!==X&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)It(e,n,r[o]);else It(e,n,r)}}(e,t.watch)}function Et(e,t){try{return e.call(t,t)}catch(e){return Ie(e,t,"data()"),{}}}var $t={lazy:!0};function At(e,t,n){var r=!K();"function"==typeof n?(Ot.get=r?jt(t):n,Ot.set=D):(Ot.get=n.get?r&&!1!==n.cache?jt(t):n.get:D,Ot.set=n.set?n.set:D),Object.defineProperty(e,t,Ot)}function jt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),re.target&&e.depend(),e.value}}function It(e,t,n,r){return u(n)&&(n=(r=n).handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Mt(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}function Tt(t){var n=Ft(t.$options.inject,t);n&&(pe.shouldConvert=!1,Object.keys(n).forEach(function(e){ye(t,e,n[e])}),pe.shouldConvert=!0)}function Ft(t,e){if(t){for(var n=Object.create(null),r=ee?Reflect.ownKeys(t).filte
r(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){for(var i=r[o],a=t[i].from,s=e;s;){if(s._provided&&a in s._provided){n[i]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[i]){var c=t[i].default;n[i]="function"==typeof c?c.call(e):c}}return n}}function Pt(e,t){var n,r,o,i,a;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,o=e.length;r<o;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(b(e))for(i=Object.keys(e),n=new Array(i.length),r=0,o=i.length;r<o;r++)a=i[r],n[r]=t(e[a],a,r);return I(n)&&(n._isVList=!0),n}function Nt(e,t,n,r){var o,i=this.$scopedSlots[e];if(i)n=n||{},r&&(n=N(N({},r),n)),o=i(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),o=a||t}var s=n&&n.slot;return s?this.$createElement("template",{slot:s},o):o}function Dt(e){return Ee(this.$options,"filters",e)||S}function Rt(e,t,n,r){var o=$.keyCodes[t]||n;return o?Array.isArray(o)?-1===o.in
dexOf(e):o!==e:r?w(r)!==t:void 0}function Vt(n,r,o,i,a){if(o)if(b(o)){var s;Array.isArray(o)&&(o=function(e){for(var t={},n=0;n<e.length;n++)e[n]&&N(t,e[n]);return t}(o));var e=function(t){if("class"===t||"style"===t||c(t))s=n;else{var e=n.attrs&&n.attrs.type;s=i||$.mustUseProp(r,e,t)?n.domProps||(n.domProps={}):n.attrs||(n.attrs={})}t in s||(s[t]=o[t],a&&((n.on||(n.on={}))["update:"+t]=function(e){o[t]=e}))};for(var t in o)e(t)}else;return n}function Jt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||Wt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function Lt(e,t,n){return Wt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Wt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&qt(e[r],t+"_"+r,n);else qt(e,t,n)}function qt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function Ut(e,t){if(t)if(u(t)){var n=e.on=e.on?N({},e.on):{};for(var r in t){var o=n[r],i=t[r];n[r]=o?[].concat(o,i):i}}el
se;return e}function Bt(e){e._o=Lt,e._n=n,e._s=t,e._l=Pt,e._t=Nt,e._q=O,e._i=C,e._m=Jt,e._f=Dt,e._k=Rt,e._b=Vt,e._v=ce,e._e=se,e._u=lt,e._g=Ut}function zt(e,t,n,i,r){var a=r.options;this.data=e,this.props=t,this.children=n,this.parent=i,this.listeners=e.on||_,this.injections=Ft(a.inject,i),this.slots=function(){return st(n,i)};var s=Object.create(i),o=M(a._compiled),c=!o;o&&(this.$options=a,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||_),a._scopeId?this._c=function(e,t,n,r){var o=fn(s,e,t,n,r,c);return o&&!Array.isArray(o)&&(o.fnScopeId=a._scopeId,o.fnContext=i),o}:this._c=function(e,t,n,r){return fn(s,e,t,n,r,c)}}function Ht(e,t,n,r){e.fnContext=n,e.fnOptions=r,t.slot&&((e.data||(e.data={})).slot=t.slot)}function Xt(e,t){for(var n in t)e[h(n)]=t[n]}Bt(zt.prototype);var Gt="@inRecycleList";function Kt(e,t,n,r){if(o&&o.taskCenter)return"function"==typeof o.taskCenter.registerHook?o.taskCenter.registerHook(e,t,n,r):void 0}var Zt=0;function Yt(e){var t=e.$options.data,n=e.
$options.computed||{},r=e._data?Object.assign({},e._data):"function"==typeof t?Et(t,e):t||{},o={};for(var i in n)o[i]=e[i];return Object.assign({},r,o)}function Qt(e){void 0===e&&(e={});var r=this,t=e.componentId;A(r,"_vmTemplate",e.vmTemplate),r._uid=t||"virtual-component-"+Zt++,r._isVue=!0,e&&e._isComponent?wn(r,e):r.$options=xe(kn(r.constructor),e||{},r),ft((r._renderProxy=r)._self=r),rt(r),pn(r),ht(r,"beforeCreate"),Tt(r),xt(r),Mt(r),ht(r,"created"),Kt(t,"lifecycle","attach",function(){ht(r,"beforeMount"),new St(r,function(){return Yt(r)},function(){return r._update(r._vnode,!1)}),r._isMounted=!0,ht(r,"mounted")}),Kt(t,"lifecycle","update",function(){r._update(r._vnode,!1)}),Kt(t,"lifecycle","syncState",function(e,t){if(u(t))for(var n in t)r[n]=t[n];return Yt(r)}),Kt(t,"lifecycle","detach",function(){r.$destroy(),r._vmTemplate&&(r._vmTemplate.removeVirtualComponent(r._uid),delete r._vmTemplate)})}function en(e){var t=this,n=t.$options.componentId;(t._isMounted&&ht(t,"beforeUpdat
e"),t._vnode=e,t._isMounted&&n)&&function(e,t,n){if(o&&o.taskCenter)"function"==typeof o.taskCenter.updateData&&o.taskCenter.updateData(e,t,n)}(n,Yt(t),function(){ht(t,"updated")})}function tn(e){void 0===e&&(e={});var t=this;t._uid="virtual-component-template-"+Zt++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),rt(t._self=t),pn(t),xt(t),this.registerVirtualComponent()}function nn(e){var t,n,o,i;delete e.data.attrs[Gt],n=(t=e).componentOptions.Ctor,o=n.extend({}),i=o.prototype.$emit,o.prototype._init=Qt,o.prototype._update=en,o.prototype.$emit=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=this._uid,o=this._vmTemplate;return r&&o&&(t.push(r),i.apply(o,t)),i.apply(this,t)},t.componentOptions.Ctor=n.extend({methods:{registerVirtualComponent:function(){var r=this;A(r,"_virtualComponents",{}),Kt(String(r._uid),"lifecycle","create",function(e,t){var n=new o({vmTemplate:r,componentId:e,propsData:t});return n._uid=e,r._virtualCo
mponents&&(r._virtualComponents[e]=n),Yt(n)})},removeVirtualComponent:function(e){delete this._virtualComponents[e]}},destroyed:function(){delete this._virtualComponents}}),t.componentOptions.Ctor.prototype._init=tn,t.componentOptions.Ctor.prototype._update=D;var r=sn(e),a=r.$options["@render"];if(a)try{return a.call(r)}catch(e){Ie(e,r,"@render")}}var rn={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var o=e;rn.prepatch(o,o)}else{(e.componentInstance=sn(e,ut,n,r)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,o){var i=!!(o||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==_);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=o,e.$attrs=r.data.attrs||_,e.$listeners=n||_,t&&e.$options.props){pe.shouldConvert=!1;for(var a=e._props,s=e.$options._propKeys||[],c=0;c<s.length;c++){var l=s[c];a[l]=$e(l,e.$options.props,t,e)}pe.sho
uldConvert=!0,e.$options.propsData=t}n=n||_;var u=e.$options._parentListeners;e.$options._parentListeners=n,at(e,n,u),i&&(e.$slots=st(o,r.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,ht(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,mt.push(t)):dt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._directInactive=!0,pt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);ht(t,"deactivated")}}(t,!0):t.$destroy())}},on=Object.keys(rn);function an(e,t,n,r,o){if(!j(e)){var i=n.$options._base;if(b(e)&&(e=i.extend(e)),"function"==typeof e){var a,s,c,l,u,f,p;if(j(e.cid)&&void 0===(e=function(t,n,e){if(M(t.error)&&I(t.errorComp))return t.errorComp;if(I(t.resolved))return t.resolved;if(M(t.loading)&&I(t.loadingComp))return t.
loadingComp;if(!I(t.contexts)){var r=t.contexts=[e],o=!0,i=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},a=R(function(e){t.resolved=et(e,n),o||i()}),s=R(function(e){I(t.errorComp)&&(t.error=!0,i())}),c=t(a,s);return b(c)&&("function"==typeof c.then?j(t.resolved)&&c.then(a,s):I(c.component)&&"function"==typeof c.component.then&&(c.component.then(a,s),I(c.error)&&(t.errorComp=et(c.error,n)),I(c.loading)&&(t.loadingComp=et(c.loading,n),0===c.delay?t.loading=!0:setTimeout(function(){j(t.resolved)&&j(t.error)&&(t.loading=!0,i())},c.delay||200)),I(c.timeout)&&setTimeout(function(){j(t.resolved)&&s(null)},c.timeout))),o=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(e)}(a=e,i,n)))return s=a,c=t,l=n,u=r,f=o,(p=se()).asyncFactory=s,p.asyncMeta={data:c,context:l,children:u,tag:f},p;t=t||{},kn(e),I(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var o=t.on||(t.on={});I(o[r])?o[r]=[t.
model.callback].concat(o[r]):o[r]=t.model.callback}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!j(r)){var o={},i=e.attrs,a=e.props;if(I(i)||I(a))for(var s in r){var c=w(s);Ze(o,a,s,c,!0)||Ze(o,i,s,c,!1)}return o}}(t,e);if(M(e.options.functional))return function(e,t,n,r,o){var i=e.options,a={},s=i.props;if(I(s))for(var c in s)a[c]=$e(c,s,t||_);else I(n.attrs)&&Xt(a,n.attrs),I(n.props)&&Xt(a,n.props);var l=new zt(n,a,o,r,e),u=i.render.call(null,l._c,l);if(u instanceof ie)return Ht(u,n,r,i),u;if(Array.isArray(u)){for(var f=Ye(u)||[],p=0;p<f.length;p++)Ht(f[p],n,r,i);return f}}(e,d,t,n,r);var h=t.on;if(t.on=t.nativeOn,M(e.options.abstract)){var v=t.slot;t={},v&&(t.slot=v)}!function(e){e.hook||(e.hook={});for(var t=0;t<on.length;t++){var n=on[t],r=e.hook[n],o=rn[n];e.hook[n]=r?cn(o,r):o}}(t);var m,y=e.options.name||o,g=new ie("vue-component-"+e.cid+(y?"-"+y:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:h,tag:o,children:r},a);return(m=g).data.attrs&&Gt in m.d
ata.attrs?nn(g):g}}}function sn(e,t,n,r){var o={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},i=e.data.inlineTemplate;return I(i)&&(o.render=i.render,o.staticRenderFns=i.staticRenderFns),new e.componentOptions.Ctor(o)}function cn(o,i){return function(e,t,n,r){o(e,t,n,r),i(e,t,n,r)}}var ln=1,un=2;function fn(e,t,n,r,o,i){return(Array.isArray(n)||T(n))&&(o=r,r=n,n=void 0),M(i)&&(o=un),function(e,t,n,r,o){if(I(n)&&I(n.__ob__))return se();I(n)&&I(n.is)&&(t=n.is);if(!t)return se();Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);o===un?r=Ye(r):o===ln&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var i,a;if("string"==typeof t){var s;a=e.$vnode&&e.$vnode.ns||$.getTagNamespace(t),i=$.isReservedTag(t)?new ie($.parsePlatformTagName(t),n,r,void 0,void 0,e):I(s=Ee(e.$options,"components",t))?an(s,n,e,r,t):new ie(t,n,r,void 0,void 0,e)}else i=an(t,
n,e,r);return Array.isArray(i)?i:I(i)?(I(a)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(I(t.children))for(var o=0,i=t.children.length;o<i;o++){var a=t.children[o];I(a.tag)&&(j(a.ns)||M(r)&&"svg"!==a.tag)&&e(a,n,r)}}(i,a),I(n)&&function(e){b(e.style)&&Be(e.style);b(e.class)&&Be(e.class)}(n),i):se()}(e,t,n,r,o)}function pn(o){o._vnode=null,o._staticTrees=null;var e=o.$options,t=o.$vnode=e._parentVnode,n=t&&t.context;o.$slots=st(e._renderChildren,n),o.$scopedSlots=_,o._c=function(e,t,n,r){return fn(o,e,t,n,r,!1)},o.$createElement=function(e,t,n,r){return fn(o,e,t,n,r,!0)};var r=t&&t.data;ye(o,"$attrs",r&&r.attrs||_,0,!0),ye(o,"$listeners",e._parentListeners||_,0,!0)}var dn,hn,vn,mn,yn,gn,_n,bn=0;function wn(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.
children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}function kn(e){var t=e.options;if(e.super){var n=kn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,o=e.sealedOptions;for(var i in n)n[i]!==o[i]&&(t||(t={}),t[i]=Sn(n[i],r[i],o[i]));return t}(e);r&&N(e.extendOptions,r),(t=e.options=xe(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Sn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray(t)?t:[t];for(var o=0;o<e.length;o++)(0<=t.indexOf(e[o])||n.indexOf(e[o])<0)&&r.push(e[o]);return r}return e}function On(e){this._init(e)}function Cn(e){e.cid=0;var a=1;e.extend=function(e){e=e||{};var t=this,n=t.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var o=e.name||t.options.name,i=function(e){this._init(e)};return((i.prototype=Object.create(t.prototype)).constructor=i).cid=a++,i.options=xe(t.options,e),i.super=t,i.options.props&&function(e){var t
=e.options.props;for(var n in t)Ct(e.prototype,"_props",n)}(i),i.options.computed&&function(e){var t=e.options.computed;for(var n in t)At(e.prototype,n,t[n])}(i),i.extend=t.extend,i.mixin=t.mixin,i.use=t.use,x.forEach(function(e){i[e]=t[e]}),o&&(i.options.components[o]=i),i.superOptions=t.options,i.extendOptions=e,i.sealedOptions=N({},i.options),r[n]=i}}function xn(e){return e&&(e.Ctor.options.name||e.tag)}function En(e,t){return Array.isArray(e)?-1<e.indexOf(t):"string"==typeof e?-1<e.split(",").indexOf(t):(n=e,"[object RegExp]"===r.call(n)&&e.test(t));var n}function $n(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=xn(a.componentOptions);s&&!t(s)&&An(n,i,r,o)}}}function An(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,l(n,t)}On.prototype._init=function(e){var t=this;t._uid=bn++,t._isVue=!0,e&&e._isComponent?wn(t,e):t.$options=xe(kn(t.constructor),e||{},t),ft((t._renderProxy=t)._self=t),rt(t),pn(t),ht(t,"beforeCrea
te"),Tt(t),xt(t),Mt(t),ht(t,"created"),t.$options.el&&t.$mount(t.$options.el)},dn=On,hn={get:function(){return this._data}},vn={get:function(){return this._props}},Object.defineProperty(dn.prototype,"$data",hn),Object.defineProperty(dn.prototype,"$props",vn),dn.prototype.$set=ge,dn.prototype.$delete=_e,dn.prototype.$watch=function(e,t,n){if(u(t))return It(this,e,t,n);(n=n||{}).user=!0;var r=new St(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}},yn=/^hook:/,(mn=On).prototype.$on=function(e,t){if(Array.isArray(e))for(var n=0,r=e.length;n<r;n++)this.$on(e[n],t);else(this._events[e]||(this._events[e]=[])).push(t),yn.test(e)&&(this._hasHookEvent=!0);return this},mn.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},mn.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,o=e.length;r<o;r++)this.$off(e[r],t);return n}
var i=n._events[e];if(!i)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,s=i.length;s--;)if((a=i[s])===t||a.fn===t){i.splice(s,1);break}return n},mn.prototype.$emit=function(t){var n=this,e=n._events[t];if(e){e=1<e.length?g(e):e;for(var r=g(arguments,1),o=0,i=e.length;o<i;o++)try{e[o].apply(n,r)}catch(e){Ie(e,n,'event handler for "'+t+'"')}}return n},(gn=On).prototype._update=function(e,t){var n=this;n._isMounted&&ht(n,"beforeUpdate");var r=n.$el,o=n._vnode,i=ut;(ut=n)._vnode=e,o?n.$el=n.__patch__(o,e):(n.$el=n.__patch__(n.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ut=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},gn.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},gn.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){ht(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$op
tions.abstract||l(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),ht(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}},Bt((_n=On).prototype),_n.prototype.$nextTick=function(e){return qe(e,this)},_n.prototype._render=function(){var t,n=this,e=n.$options,r=e.render,o=e._parentVnode;o&&(n.$scopedSlots=o.data.scopedSlots||_),n.$vnode=o;try{t=r.call(n._renderProxy,n.$createElement)}catch(e){Ie(e,n,"render"),t=n._vnode}return t instanceof ie||(t=se()),t.parent=o,t};var jn,In,Mn,Tn=[String,RegExp,Array],Fn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)An(this.cache,e,this.keys)},watch:{include:function(t){$n(this,function(e){return En(t,e)})},exclude:functi
on(t){$n(this,function(e){return!En(t,e)})}},render:function(){var e=this.$slots.default,t=nt(e),n=t&&t.componentOptions;if(n){var r=xn(n),o=this.include,i=this.exclude;if(o&&(!r||!En(o,r))||i&&r&&En(i,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,l(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&An(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};jn=On,Mn={get:function(){return $}},Object.defineProperty(jn,"config",Mn),jn.util={warn:te,extend:N,mergeOptions:xe,defineReactive:ye},jn.set=ge,jn.delete=_e,jn.nextTick=qe,jn.options=Object.create(null),x.forEach(function(e){jn.options[e+"s"]=Object.create(null)}),N((jn.options._base=jn).options.components,Fn),jn.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1<t.indexOf(e))return this;var n=g(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(
e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},jn.mixin=function(e){return this.options=xe(this.options,e),this},Cn(jn),In=jn,x.forEach(function(n){In[n]=function(e,t){return t?("component"===n&&u(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t):this.options[n+"s"][e]}}),Object.defineProperty(On.prototype,"$isServer",{get:K}),Object.defineProperty(On.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),On.version="2.5.13";var Pn=1;function Nn(e){return o.createElement(e)}var Dn=Object.freeze({namespaceMap:{},createElement:Nn,createElementNS:function(e,t){return o.createElement(e+":"+t)},createTextNode:function(e){return new function(e){this.instanceId="",this.nodeId=Pn++,this.parentNode=null,this.nodeType=3,this.text=e}(e)},createComment:function(e){return o.createComment(e)},insertBefore:function(e,t,n){if(3!==t.nodeType)e.insertBefore(t,n);else i
f("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var r=Nn("text");r.setAttr("value",t.text),e.insertBefore(r,n)}},removeChild:function(e,t){3!==t.nodeType?e.removeChild(t):e.setAttr("value","")},appendChild:function(e,t){if(3!==t.nodeType)e.appendChild(t);else if("text"===e.type)e.setAttr("value",t.text),t.parentNode=e;else{var n=Nn("text");n.setAttr("value",t.text),e.appendChild(n)}},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.type},setTextContent:function(e,t){e.parentNode&&e.parentNode.setAttr("value",t)},setAttribute:function(e,t,n){e.setAttr(t,n)},setStyleScope:function(e,t){e.setAttr("@styleScope",t)}}),Rn={create:function(e,t){Vn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Vn(e,!0),Vn(t))},destroy:function(e){Vn(e,!0)}};function Vn(e,t){var n=e.data.ref;if(n){var r=e.context,o=e.componentInstance||e.elm,i=r.$refs;t?Array.isArray(i[n])?l(i[n],o):i[n]===o&&(i[n]=void 0):e.data.refIn
For?Array.isArray(i[n])?i[n].indexOf(o)<0&&i[n].push(o):i[n]=[o]:i[n]=o}}s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0);var Jn=s("text,number,password,search,email,tel,url"),Ln=new ie("",{},[]),Wn=
["create","activate","update","remove","destroy"];function qn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&I(e.data)===I(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=I(n=e.data)&&I(n=n.attrs)&&n.type,o=I(n=t.data)&&I(n=n.attrs)&&n.type;return r===o||Jn(r)&&Jn(o)}(e,t)||M(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&j(t.asyncFactory.error))}function Un(e,t,n){var r,o,i={};for(r=t;r<=n;++r)I(o=e[r].key)&&(i[o]=r);return i}var Bn={create:zn,update:zn,destroy:function(e){zn(e,Ln)}};function zn(e,t){(e.data.directives||t.data.directives)&&function(t,n){var e,r,o,i=t===Ln,a=n===Ln,s=Xn(t.data.directives,t.context),c=Xn(n.data.directives,n.context),l=[],u=[];for(e in c)r=s[e],o=c[e],r?(o.oldValue=r.value,Gn(o,"update",n,t),o.def&&o.def.componentUpdated&&u.push(o)):(Gn(o,"bind",n,t),o.def&&o.def.inserted&&l.push(o));if(l.length){var f=function(){for(var e=0;e<l.length;e++)Gn(l[e],"inserted",n,t)};i?Ke(n,"insert",f):f()}u.length&&Ke(n,"postpa
tch",function(){for(var e=0;e<u.length;e++)Gn(u[e],"componentUpdated",n,t)});if(!i)for(e in s)c[e]||Gn(s[e],"unbind",t,t,a)}(e,t)}var Hn=Object.create(null);function Xn(e,t){var n,r,o,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=Hn),(i[(o=r,o.rawName||o.name+"."+Object.keys(o.modifiers||{}).join("."))]=r).def=Ee(t.$options,"directives",r.name);return i}function Gn(t,n,r,e,o){var i=t.def&&t.def[n];if(i)try{i(r.elm,t,r,e,o)}catch(e){Ie(e,r.context,"directive "+t.name+" "+n+" hook")}}var Kn=[Rn,Bn];function Zn(e,t){if(e.data.attrs||t.data.attrs){var n,r,o=t.elm,i=e.data.attrs||{},a=t.data.attrs||{};a.__ob__&&(a=t.data.attrs=N({},a));var s="function"==typeof o.setAttrs,c={};for(n in a)r=a[n],i[n]!==r&&(s?c[n]=r:o.setAttr(n,r));for(n in i)null==a[n]&&(s?c[n]=void 0:o.setAttr(n));s&&o.setAttrs(c)}}var Yn={create:Zn,update:Zn};function Qn(e,t){var n=t.elm,r=t.context,o=t.data,i=e.data;if(o.staticClass||o.class||i&&(i.staticClass||i.class)){va
r a=[],s=i.staticClass;s&&a.push.apply(a,s),i.class&&a.push.apply(a,i.class);var c,l,u,f,p=[],d=o.staticClass;if(d&&p.push.apply(p,d),o.class&&p.push.apply(p,o.class),"function"==typeof n.setClassList)n.setClassList(p);else{var h=(c=a,l=p,u=r.$options.style||{},f={},l.forEach(function(e){var t=u[e];N(f,t)}),c.forEach(function(e){var t=u[e];for(var n in t)f.hasOwnProperty(n)||(f[n]="")}),f);if("function"==typeof n.setStyles)n.setStyles(h);else for(var v in h)n.setStyle(v,h[v])}}}var er,tr,nr={create:Qn,update:Qn};function rr(t,e,n,r,o,i){if(r)console.log("Weex do not support event in bubble phase.");else{if(n){var a=e,s=er;e=function(e){null!==(1===arguments.length?a(e):a.apply(null,arguments))&&or(t,null,null,s)}}if(tr&&tr._virtualComponents){er._context=tr;var c=e;e=function(){for(var e=arguments,t=[],n=arguments.length;n--;)t[n]=e[n];var r=(t[0]||{}).componentId,o=this._context;r&&this._context&&(o=(this._context._virtualComponents||{})[r]||o);try{!function(e,t,n){void 0===n&&(n=n
ull);var r=e.fns;if(!Array.isArray(r))return"function"==typeof r?r.apply(n,t):e.apply(n,t);for(var o=r.slice(),i=0;i<o.length;i++)o[i].apply(n,t)}(c,t,o)}catch(e){Ie(e,o,"Failed to invoke virtual component handler ("+r+")")}}}er.addEvent(t,e,i)}}function or(e,t,n,r){(r||er).removeEvent(e)}function ir(e,t){if(e.data.on||t.data.on){var n=t.data.on||{},r=e.da
<TRUNCATED>
[10/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Using
clang-format
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_creator.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_creator.h b/weex_core/Source/core/render/node/factory/render_creator.h
index b78a487..f5dddfc 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.h
+++ b/weex_core/Source/core/render/node/factory/render_creator.h
@@ -16,48 +16,46 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERCREATOR_H
-#define WEEX_PROJECT_RENDERCREATOR_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_CREATOR_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_CREATOR_H_
#include <string>
namespace WeexCore {
- class IRenderObject;
+class IRenderObject;
- class RenderCreator {
+class RenderCreator {
+ private:
+ RenderCreator() {}
- private:
- explicit RenderCreator() {}
+ ~RenderCreator() {}
- ~RenderCreator() {}
-
- //just to release singleton object
- class Garbo {
- public:
- ~Garbo() {
- if (RenderCreator::g_pInstance) {
- delete RenderCreator::g_pInstance;
- }
+ // just to release singleton object
+ class Garbo {
+ public:
+ ~Garbo() {
+ if (RenderCreator::g_pInstance) {
+ delete RenderCreator::g_pInstance;
}
- };
-
- static Garbo garbo;
+ }
+ };
- public:
+ static Garbo garbo;
- static RenderCreator *GetInstance() {
- if (!g_pInstance) {
- g_pInstance = new RenderCreator();
- }
- return g_pInstance;
+ public:
+ static RenderCreator *GetInstance() {
+ if (!g_pInstance) {
+ g_pInstance = new RenderCreator();
}
+ return g_pInstance;
+ }
- IRenderObject *CreateRender(const std::string &type, const std::string &ref);
+ IRenderObject *CreateRender(const std::string &type, const std::string &ref);
- private:
- static RenderCreator *g_pInstance;
- };
-}
+ private:
+ static RenderCreator *g_pInstance;
+};
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERCREATOR_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_CREATOR_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_factory_interface.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_factory_interface.h b/weex_core/Source/core/render/node/factory/render_factory_interface.h
index 02d936c..ab8787a 100644
--- a/weex_core/Source/core/render/node/factory/render_factory_interface.h
+++ b/weex_core/Source/core/render/node/factory/render_factory_interface.h
@@ -16,16 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_IRENDERFACTORY_H
-#define WEEX_PROJECT_IRENDERFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_FACTORY_INTERFACE_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_FACTORY_INTERFACE_H_
#include "core/render/node/factory/render_object_interface.h"
namespace WeexCore {
- class IRenderFactory {
- public:
- virtual IRenderObject *CreateRender() = 0;
- };
-}
+class IRenderFactory {
+ public:
+ virtual IRenderObject *CreateRender() = 0;
+};
+} // namespace WeexCore
-#endif //WEEX_PROJECT_IRENDERFACTORY_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_FACTORY_INTERFACE_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_list_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_list_factory.h b/weex_core/Source/core/render/node/factory/render_list_factory.h
index e15c94a..50735f9 100644
--- a/weex_core/Source/core/render/node/factory/render_list_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_list_factory.h
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERLISTFACTORY_H
-#define WEEX_PROJECT_RENDERLISTFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_LIST_FACTORY_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_LIST_FACTORY_H_
-#include "core/render/node/render_list.h"
#include "core/render/node/factory/render_factory_interface.h"
+#include "core/render/node/render_list.h"
namespace WeexCore {
- class RenderListFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderList();
- }
- };
+class RenderListFactory : public IRenderFactory {
+ public:
+ IRenderObject *CreateRender() { return new RenderList(); }
+};
-}
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERLISTFACTORY_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_LIST_FACTORY_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_mask_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_mask_factory.h b/weex_core/Source/core/render/node/factory/render_mask_factory.h
index 7f865e4..edd516f 100644
--- a/weex_core/Source/core/render/node/factory/render_mask_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_mask_factory.h
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERMASKFACTORY_H
-#define WEEX_PROJECT_RENDERMASKFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_MASK_FACTORY_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_MASK_FACTORY_H_
-#include "core/render/node/render_mask.h"
#include "core/render/node/factory/render_factory_interface.h"
+#include "core/render/node/render_mask.h"
namespace WeexCore {
- class RenderMaskFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderMask();
- }
- };
+class RenderMaskFactory : public IRenderFactory {
+ public:
+ IRenderObject *CreateRender() { return new RenderMask(); }
+};
-}
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERMASKFACTORY_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_MASK_FACTORY_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_object_interface.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_object_interface.h b/weex_core/Source/core/render/node/factory/render_object_interface.h
index 9e3922f..f080113 100644
--- a/weex_core/Source/core/render/node/factory/render_object_interface.h
+++ b/weex_core/Source/core/render/node/factory/render_object_interface.h
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_IRENDEROBJECT_H
-#define WEEX_PROJECT_IRENDEROBJECT_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_OBJECT_INTERFACE_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_OBJECT_INTERFACE_H_
#include <string>
@@ -25,47 +25,32 @@
namespace WeexCore {
- class IRenderObject : public WXCoreLayoutNode {
+class IRenderObject : public WXCoreLayoutNode {
+ public:
+ inline void set_ref(std::string ref) { this->ref_ = ref; }
- public:
+ inline const std::string &ref() const { return this->ref_; }
- inline void set_ref(std::string ref) {
- this->ref_ = ref;
- }
+ inline void set_page_id(std::string page_id) { this->page_id_ = page_id; }
- inline const std::string &ref() const {
- return this->ref_;
- }
+ inline const std::string &page_id() const { return this->page_id_; }
- inline void set_page_id(std::string page_id) {
- this->page_id_ = page_id;
- }
+ inline void set_type(std::string type) { this->tyle_ = type; }
- inline const std::string &page_id() const {
- return this->page_id_;
- }
+ inline const std::string &type() const { return this->tyle_; }
- inline void set_type(std::string type) {
- this->tyle_ = type;
- }
+ inline void CopyFrom(IRenderObject *src) {
+ WXCoreLayoutNode::copyFrom(src);
+ set_ref(src->ref());
+ set_page_id(src->page_id());
+ set_type(src->type());
+ }
- inline const std::string &type() const {
- return this->tyle_;
- }
+ private:
+ std::string page_id_ = "";
+ std::string ref_ = "";
+ std::string tyle_ = "";
+};
+} // namespace WeexCore
- inline void CopyFrom(IRenderObject *src) {
- WXCoreLayoutNode::copyFrom(src);
- set_ref(src->ref());
- set_page_id(src->page_id());
- set_type(src->type());
- }
-
- private:
-
- std::string page_id_ = "";
- std::string ref_ = "";
- std::string tyle_ = "";
- };
-}
-
-#endif //WEEX_PROJECT_IRENDEROBJECT_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_OBJECT_INTERFACE_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_scroller_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_scroller_factory.h b/weex_core/Source/core/render/node/factory/render_scroller_factory.h
index 062af88..53d268e 100644
--- a/weex_core/Source/core/render/node/factory/render_scroller_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_scroller_factory.h
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERSCROLLERFACTORY_H
-#define WEEX_PROJECT_RENDERSCROLLERFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_SCROLLER_FACTORY_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_SCROLLER_FACTORY_H_
-#include "core/render/node/render_scroller.h"
#include "core/render/node/factory/render_factory_interface.h"
+#include "core/render/node/render_scroller.h"
namespace WeexCore {
- class RenderScrollerFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderScroller();
- }
- };
+class RenderScrollerFactory : public IRenderFactory {
+ public:
+ IRenderObject *CreateRender() { return new RenderScroller(); }
+};
-}
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERSCROLLERFACTORY_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_SCROLLER_FACTORY_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_text_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_text_factory.h b/weex_core/Source/core/render/node/factory/render_text_factory.h
index 967412a..e54d31b 100644
--- a/weex_core/Source/core/render/node/factory/render_text_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_text_factory.h
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERTEXTFACTORY_H
-#define WEEX_PROJECT_RENDERTEXTFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_TEXT_FACTORY_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_TEXT_FACTORY_H_
-#include "core/render/node/render_text.h"
#include "core/render/node/factory/render_factory_interface.h"
+#include "core/render/node/render_text.h"
namespace WeexCore {
- class RenderTextFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderText();
- }
- };
+class RenderTextFactory : public IRenderFactory {
+ public:
+ IRenderObject *CreateRender() { return new RenderText(); }
+};
-}
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERTEXTFACTORY_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_TEXT_FACTORY_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_type.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/render_type.h b/weex_core/Source/core/render/node/factory/render_type.h
index 46c98ae..c7242b8 100644
--- a/weex_core/Source/core/render/node/factory/render_type.h
+++ b/weex_core/Source/core/render/node/factory/render_type.h
@@ -16,24 +16,24 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERTYPE_H
-#define WEEX_PROJECT_RENDERTYPE_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_TYPE_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_TYPE_H_
#include <string>
namespace WeexCore {
- constexpr char kRenderCell[] = "cell";
- constexpr char kRenderCellSlot[] = "cell-slot";
- constexpr char kRenderList[] = "list";
- constexpr char kHList[] = "hlist";
- constexpr char kRenderRecycleList[] = "recycle-list";
- constexpr char kRenderMask[] = "mask";
- constexpr char kRenderScroller[] = "scroller";
- constexpr char kRenderText[] = "text";
- constexpr char kRenderHeader[] = "header";
- constexpr char kRenderFooter[] = "footer";
- constexpr char kRenderWaterfall[] = "waterfall";
- constexpr char kRenderAppBar[] = "appbar";
-}
+constexpr char kRenderCell[] = "cell";
+constexpr char kRenderCellSlot[] = "cell-slot";
+constexpr char kRenderList[] = "list";
+constexpr char kHList[] = "hlist";
+constexpr char kRenderRecycleList[] = "recycle-list";
+constexpr char kRenderMask[] = "mask";
+constexpr char kRenderScroller[] = "scroller";
+constexpr char kRenderText[] = "text";
+constexpr char kRenderHeader[] = "header";
+constexpr char kRenderFooter[] = "footer";
+constexpr char kRenderWaterfall[] = "waterfall";
+constexpr char kRenderAppBar[] = "appbar";
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERTYPE_H
+#endif // CORE_RENDER_NODE_FACTORY_RENDER_TYPE_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/simple_render_factory.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/factory/simple_render_factory.h b/weex_core/Source/core/render/node/factory/simple_render_factory.h
index eb55d41..f7e9b22 100644
--- a/weex_core/Source/core/render/node/factory/simple_render_factory.h
+++ b/weex_core/Source/core/render/node/factory/simple_render_factory.h
@@ -16,22 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERCOMMONFACTORY_H
-#define WEEX_PROJECT_RENDERCOMMONFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_SIMPLE_RENDER_FACTORY_H_
+#define CORE_RENDER_NODE_FACTORY_SIMPLE_RENDER_FACTORY_H_
-#include "core/render/node/render_object.h"
#include "core/render/node/factory/render_factory_interface.h"
+#include "core/render/node/render_object.h"
namespace WeexCore {
- class RenderCommonFactory : public IRenderFactory {
- public:
- IRenderObject *CreateRender() {
- return new RenderObject();
- }
- };
-
-}
+class RenderCommonFactory : public IRenderFactory {
+ public:
+ IRenderObject *CreateRender() { return new RenderObject(); }
+};
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERCOMMONFACTORY_H
+#endif // CORE_RENDER_NODE_FACTORY_SIMPLE_RENDER_FACTORY_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_appbar.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_appbar.cpp b/weex_core/Source/core/render/node/render_appbar.cpp
index 8c05f41..1e9a291 100644
--- a/weex_core/Source/core/render/node/render_appbar.cpp
+++ b/weex_core/Source/core/render/node/render_appbar.cpp
@@ -16,70 +16,70 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include "core/config/core_environment.h"
+#include <utility>
+
#include "base/ViewUtils.h"
+#include "core/config/core_environment.h"
#include "core/css/constants_name.h"
#include "core/render/node/render_appbar.h"
namespace WeexCore {
- std::map<std::string, std::string> *RenderAppBar::GetDefaultStyle() {
- this->default_nav_width_ = getFloat(
- WXCoreEnvironment::getInstance()->GetOption("defaultNavWidth").c_str());
+std::map<std::string, std::string> *RenderAppBar::GetDefaultStyle() {
+ this->default_nav_width_ = getFloat(
+ WXCoreEnvironment::getInstance()->GetOption("defaultNavWidth").c_str());
- this->default_overflow_width_ = getFloat(
- WXCoreEnvironment::getInstance()->GetOption("defaultOverflowWidth").c_str());
+ this->default_overflow_width_ =
+ getFloat(WXCoreEnvironment::getInstance()
+ ->GetOption("defaultOverflowWidth")
+ .c_str());
- std::string appbar_color = WXCoreEnvironment::getInstance()->GetOption("appbar_color");
- std::string appbar_background_color = WXCoreEnvironment::getInstance()->GetOption(
- "appbar_background_color");
+ std::string appbar_color =
+ WXCoreEnvironment::getInstance()->GetOption("appbar_color");
+ std::string appbar_background_color =
+ WXCoreEnvironment::getInstance()->GetOption("appbar_background_color");
- std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
- style->insert(std::pair<std::string, std::string>(PADDING_LEFT, "0"));
- style->insert(std::pair<std::string, std::string>(PADDING_RIGHT, "0"));
+ std::map<std::string, std::string> *style =
+ new std::map<std::string, std::string>();
+ style->insert(std::pair<std::string, std::string>(PADDING_LEFT, "0"));
+ style->insert(std::pair<std::string, std::string>(PADDING_RIGHT, "0"));
- if (!appbar_color.empty() && appbar_color != "" && !StyleExist(COLOR))
- style->insert(std::pair<std::string, std::string>(COLOR, appbar_color));
- if (!appbar_background_color.empty() && appbar_background_color != "" &&
- !StyleExist(BACKGROUND_COLOR))
- style->insert(std::pair<std::string, std::string>(BACKGROUND_COLOR, appbar_background_color));
- return style;
- }
+ if (!appbar_color.empty() && appbar_color != "" && !StyleExist(COLOR))
+ style->insert(std::pair<std::string, std::string>(COLOR, appbar_color));
+ if (!appbar_background_color.empty() && appbar_background_color != "" &&
+ !StyleExist(BACKGROUND_COLOR))
+ style->insert(std::pair<std::string, std::string>(BACKGROUND_COLOR,
+ appbar_background_color));
+ return style;
+}
- bool RenderAppBar::StyleExist(const std::string &key) {
- std::string value = GetStyle(key);
- return !value.empty() && value != "";
- }
+bool RenderAppBar::StyleExist(const std::string &key) {
+ std::string value = GetStyle(key);
+ return !value.empty() && value != "";
+}
- StyleType RenderAppBar::ApplyStyle(const std::string &key, const std::string &value,
- const bool updating) {
- if (key == PADDING) {
- UpdateStyleInternal(key,
- value,
- 0,
- [=](float foo) {
- setPadding(kPaddingLeft, foo + this->default_nav_width_),
- setPadding(kPaddingRight, foo + this->default_overflow_width_),
- setPadding(kPaddingTop, foo),
- setPadding(kPaddingBottom, foo);
- });
- return kTypePadding;
- } else if (key == PADDING_LEFT) {
- UpdateStyleInternal(key,
- value,
- 0,
- [=](float foo) { setPadding(kPaddingLeft, foo + this->default_nav_width_); });
- return kTypePadding;
- } else if (key == PADDING_RIGHT) {
- UpdateStyleInternal(key,
- value,
- 0,
- [=](float foo) {
- setPadding(kPaddingRight, foo + this->default_overflow_width_);
- });
- return kTypePadding;
- } else {
- return RenderObject::ApplyStyle(key, value, updating);
- }
+StyleType RenderAppBar::ApplyStyle(const std::string &key,
+ const std::string &value,
+ const bool updating) {
+ if (key == PADDING) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) {
+ setPadding(kPaddingLeft, foo + this->default_nav_width_),
+ setPadding(kPaddingRight, foo + this->default_overflow_width_),
+ setPadding(kPaddingTop, foo), setPadding(kPaddingBottom, foo);
+ });
+ return kTypePadding;
+ } else if (key == PADDING_LEFT) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) {
+ setPadding(kPaddingLeft, foo + this->default_nav_width_);
+ });
+ return kTypePadding;
+ } else if (key == PADDING_RIGHT) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) {
+ setPadding(kPaddingRight, foo + this->default_overflow_width_);
+ });
+ return kTypePadding;
+ } else {
+ return RenderObject::ApplyStyle(key, value, updating);
}
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_appbar.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_appbar.h b/weex_core/Source/core/render/node/render_appbar.h
index 3247c7c..24e3957 100644
--- a/weex_core/Source/core/render/node/render_appbar.h
+++ b/weex_core/Source/core/render/node/render_appbar.h
@@ -16,32 +16,29 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERAPPBAR_H
-#define WEEX_PROJECT_RENDERAPPBAR_H
+#ifndef CORE_RENDER_NODE_RENDER_APPBAR_H_
+#define CORE_RENDER_NODE_RENDER_APPBAR_H_
+#include <map>
#include <string>
#include "core/render/node/render_object.h"
namespace WeexCore {
- class RenderAppBar : public RenderObject {
+class RenderAppBar : public RenderObject {
+ private:
+ std::map<std::string, std::string> *GetDefaultStyle();
- private:
+ bool StyleExist(const std::string &key);
- std::map<std::string, std::string> *GetDefaultStyle();
+ public:
+ StyleType ApplyStyle(const std::string &key, const std::string &value,
+ const bool updating);
- bool StyleExist(const std::string &key);
+ private:
+ float default_nav_width_;
+ float default_overflow_width_;
+};
+} // namespace WeexCore
- public:
-
- StyleType ApplyStyle(const std::string &key, const std::string &value, const bool updating);
-
- private:
-
- float default_nav_width_;
- float default_overflow_width_;
-
- };
-}
-
-#endif //WEEX_PROJECT_RENDERAPPBAR_H
+#endif // CORE_RENDER_NODE_RENDER_APPBAR_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_cell.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_cell.h b/weex_core/Source/core/render/node/render_cell.h
index 9a2ced6..3421b6f 100644
--- a/weex_core/Source/core/render/node/render_cell.h
+++ b/weex_core/Source/core/render/node/render_cell.h
@@ -16,15 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERCELL_H
-#define WEEX_PROJECT_RENDERCELL_H
+#ifndef CORE_RENDER_NODE_RENDER_CELL_H_
+#define CORE_RENDER_NODE_RENDER_CELL_H_
#include "core/render/node/render_object.h"
namespace WeexCore {
- class RenderCell : public RenderObject {
+class RenderCell : public RenderObject {};
+} // namespace WeexCore
- };
-}
-
-#endif //WEEX_PROJECT_RENDERCELL_H
+#endif // CORE_RENDER_NODE_RENDER_CELL_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_list.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.cpp b/weex_core/Source/core/render/node/render_list.cpp
index 1854d5e..84df8ec 100644
--- a/weex_core/Source/core/render/node/render_list.cpp
+++ b/weex_core/Source/core/render/node/render_list.cpp
@@ -17,314 +17,339 @@
* under the License.
*/
#include <cmath>
+#include <utility>
-#include "core/render/node/render_list.h"
-#include "core/css/constants_name.h"
#include "base/ViewUtils.h"
+#include "core/css/constants_name.h"
#include "core/render/node/factory/render_type.h"
+#include "core/render/node/render_list.h"
#include "core/render/node/render_object.h"
#include "core/render/page/render_page.h"
namespace WeexCore {
- RenderList::~RenderList() {
- if (this->cell_slots_copys_.size() > 0) {
- for (auto it = this->cell_slots_copys_.begin(); it != this->cell_slots_copys_.end(); ++it) {
- RenderObject *child = *it;
- if (child) {
- delete child;
- child = nullptr;
- }
+RenderList::~RenderList() {
+ if (this->cell_slots_copys_.size() > 0) {
+ for (auto it = this->cell_slots_copys_.begin();
+ it != this->cell_slots_copys_.end(); ++it) {
+ RenderObject *child = *it;
+ if (child) {
+ delete child;
+ child = nullptr;
}
- this->cell_slots_copys_.clear();
}
+ this->cell_slots_copys_.clear();
+ }
- if (this->cell_slots_.size() > 0) {
- for (auto it = this->cell_slots_.begin(); it != this->cell_slots_.end(); ++it) {
- RenderObject *child = *it;
- if (child) {
- delete child;
- child = nullptr;
- }
+ if (this->cell_slots_.size() > 0) {
+ for (auto it = this->cell_slots_.begin(); it != this->cell_slots_.end();
+ ++it) {
+ RenderObject *child = *it;
+ if (child) {
+ delete child;
+ child = nullptr;
}
- this->cell_slots_.clear();
}
+ this->cell_slots_.clear();
}
+}
- void RenderList::AddCellSlotCopyTrack(RenderObject *cellSlot) {
- cellSlot->setParent(this, cellSlot);
- this->cell_slots_copys_.push_back(cellSlot);
- }
-
- std::map<std::string, std::string> *RenderList::GetDefaultStyle() {
- std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
-
- bool isVertical = true;
- RenderObject *parent = (RenderObject *) getParent();
+void RenderList::AddCellSlotCopyTrack(RenderObject *cell_slot) {
+ cell_slot->setParent(this, cell_slot);
+ this->cell_slots_copys_.push_back(cell_slot);
+}
- if (parent != nullptr && !parent->type().empty()) {
- if (parent->type() == kHList) {
- isVertical = false;
- } else if (TakeOrientation() == HORIZONTAL_VALUE) {
- isVertical = false;
- }
- }
+std::map<std::string, std::string> *RenderList::GetDefaultStyle() {
+ std::map<std::string, std::string> *style =
+ new std::map<std::string, std::string>();
- std::string prop = isVertical ? HEIGHT : WIDTH;
+ bool is_vertical = true;
+ RenderObject *parent = static_cast<RenderObject *>(getParent());
- if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex_) {
- this->is_set_flex_ = true;
- style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- } else if (prop == WIDTH && isnan(TakeStyleWidth()) && !this->is_set_flex_) {
- this->is_set_flex_ = true;
- style->insert(std::pair<std::string, std::string>(FLEX, "1"));
+ if (parent != nullptr && !parent->type().empty()) {
+ if (parent->type() == kHList) {
+ is_vertical = false;
+ } else if (TakeOrientation() == HORIZONTAL_VALUE) {
+ is_vertical = false;
}
-
- return style;
}
- void RenderList::set_flex(const float flex) {
- this->is_set_flex_ = true;
- WXCoreLayoutNode::set_flex(flex);
- }
+ std::string prop = is_vertical ? HEIGHT : WIDTH;
- std::map<std::string, std::string> *RenderList::GetDefaultAttr() {
- if (!this->is_pre_calculate_cell_width_) {
- PreCalculateCellWidth();
- }
- return nullptr;
+ if (prop == HEIGHT && isnan(getStyleHeight()) && !this->is_set_flex_) {
+ this->is_set_flex_ = true;
+ style->insert(std::pair<std::string, std::string>(FLEX, "1"));
+ } else if (prop == WIDTH && isnan(TakeStyleWidth()) && !this->is_set_flex_) {
+ this->is_set_flex_ = true;
+ style->insert(std::pair<std::string, std::string>(FLEX, "1"));
}
- void RenderList::PreCalculateCellWidth() {
- std::map<std::string, std::string> *attrs = new std::map<std::string, std::string>();
- if (attributes() != nullptr) {
- this->column_count_ = TakeColumnCount();
- this->column_width_ = TakeColumnWidth();
- this->column_gap_ = TakeColumnGap();
+ return style;
+}
- this->left_gap_ = TakeLeftGap();
- this->right_gap_ = TakeRightGap();
+void RenderList::set_flex(const float flex) {
+ this->is_set_flex_ = true;
+ WXCoreLayoutNode::set_flex(flex);
+}
- this->available_width_ =
- TakeStyleWidth() - getWebPxByWidth(getPaddingLeft(), GetRenderPage()->ViewPortWidth()) -
- getWebPxByWidth(getPaddingRight(), GetRenderPage()->ViewPortWidth());
+std::map<std::string, std::string> *RenderList::GetDefaultAttr() {
+ if (!this->is_pre_calculate_cell_width_) {
+ PreCalculateCellWidth();
+ }
+ return nullptr;
+}
- if (AUTO_VALUE == this->column_count_ && AUTO_VALUE == this->column_width_) {
+void RenderList::PreCalculateCellWidth() {
+ std::map<std::string, std::string> *attrs =
+ new std::map<std::string, std::string>();
+ if (attributes() != nullptr) {
+ this->column_count_ = TakeColumnCount();
+ this->column_width_ = TakeColumnWidth();
+ this->column_gap_ = TakeColumnGap();
+
+ this->left_gap_ = TakeLeftGap();
+ this->right_gap_ = TakeRightGap();
+
+ this->available_width_ =
+ TakeStyleWidth() -
+ getWebPxByWidth(getPaddingLeft(), GetRenderPage()->viewport_width()) -
+ getWebPxByWidth(getPaddingRight(), GetRenderPage()->viewport_width());
+
+ if (AUTO_VALUE == this->column_count_ &&
+ AUTO_VALUE == this->column_width_) {
+ this->column_count_ = COLUMN_COUNT_NORMAL;
+ this->column_width_ = (this->available_width_ -
+ ((this->column_count_ - 1) * this->column_gap_)) /
+ this->column_count_;
+ this->column_width_ = this->column_width_ > 0 ? this->column_width_ : 0;
+ } else if (AUTO_VALUE == this->column_width_ &&
+ AUTO_VALUE != this->column_count_) {
+ this->column_width_ =
+ (this->available_width_ - this->left_gap_ - this->right_gap_ -
+ ((this->column_count_ - 1) * this->column_gap_)) /
+ this->column_count_;
+ this->column_width_ = this->column_width_ > 0 ? this->column_width_ : 0;
+ } else if (AUTO_VALUE != this->column_width_ &&
+ AUTO_VALUE == this->column_count_) {
+ this->column_count_ =
+ static_cast<int>(round((this->available_width_ + this->column_gap_) /
+ (this->column_width_ + this->column_gap_) -
+ 0.5f));
+ this->column_count_ = this->column_count_ > 0 ? this->column_count_ : 1;
+ if (this->column_count_ <= 0) {
this->column_count_ = COLUMN_COUNT_NORMAL;
- this->column_width_ =
- (this->available_width_ - ((this->column_count_ - 1) * this->column_gap_)) /
- this->column_count_;
- this->column_width_ = this->column_width_ > 0 ? this->column_width_ : 0;
- } else if (AUTO_VALUE == this->column_width_ && AUTO_VALUE != this->column_count_) {
- this->column_width_ =
- (this->available_width_ - this->left_gap_ - this->right_gap_ -
- ((this->column_count_ - 1) * this->column_gap_)) /
- this->column_count_;
- this->column_width_ = this->column_width_ > 0 ? this->column_width_ : 0;
- } else if (AUTO_VALUE != this->column_width_ && AUTO_VALUE == this->column_count_) {
- this->column_count_ = (int) round(
- (this->available_width_ + this->column_gap_) / (this->column_width_ + this->column_gap_) -
- 0.5f);
- this->column_count_ = this->column_count_ > 0 ? this->column_count_ : 1;
- if (this->column_count_ <= 0) {
- this->column_count_ = COLUMN_COUNT_NORMAL;
- }
- this->column_width_ =
- ((this->available_width_ + this->column_gap_ - this->left_gap_ - this->right_gap_) /
- this->column_count_) - this->column_gap_;
-
- } else if (AUTO_VALUE != this->column_width_ && AUTO_VALUE != this->column_count_) {
- int columnCount = (int) round(
- (this->available_width_ + this->column_gap_ - this->left_gap_ - this->right_gap_) /
- (this->column_width_ + this->column_gap_) -
- 0.5f);
- this->column_count_ = columnCount > this->column_count_ ? this->column_count_ : columnCount;
- if (this->column_count_ <= 0) {
- this->column_count_ = COLUMN_COUNT_NORMAL;
- }
- this->column_width_ =
- ((this->available_width_ + this->column_gap_ - this->left_gap_ - this->right_gap_) /
- this->column_count_) - this->column_gap_;
- }
-
- std::string spanOffsets = CalculateSpanOffset();
-
- this->is_pre_calculate_cell_width_ = true;
- if (TakeColumnCount() > 0 || TakeColumnWidth() > 0 ||
- this->column_count_ > COLUMN_COUNT_NORMAL) {
- attrs->insert(
- std::pair<std::string, std::string>(COLUMN_COUNT, to_string(this->column_count_)));
- attrs->insert(std::pair<std::string, std::string>(COLUMN_GAP, to_string(this->column_gap_)));
- attrs->insert(
- std::pair<std::string, std::string>(COLUMN_WIDTH, to_string(this->column_width_)));
}
- if (spanOffsets.length() > 0) {
- attrs->insert(std::pair<std::string, std::string>(SPAN_OFFSETS, to_string(spanOffsets)));
+ this->column_width_ = ((this->available_width_ + this->column_gap_ -
+ this->left_gap_ - this->right_gap_) /
+ this->column_count_) -
+ this->column_gap_;
+
+ } else if (AUTO_VALUE != this->column_width_ &&
+ AUTO_VALUE != this->column_count_) {
+ int column_count =
+ static_cast<int>(round((this->available_width_ + this->column_gap_ -
+ this->left_gap_ - this->right_gap_) /
+ (this->column_width_ + this->column_gap_) -
+ 0.5f));
+ this->column_count_ =
+ column_count > this->column_count_ ? this->column_count_ : column_count;
+ if (this->column_count_ <= 0) {
+ this->column_count_ = COLUMN_COUNT_NORMAL;
}
+ this->column_width_ = ((this->available_width_ + this->column_gap_ -
+ this->left_gap_ - this->right_gap_) /
+ this->column_count_) -
+ this->column_gap_;
+ }
- for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
- RenderObject::UpdateAttr(iter->first, iter->second);
- }
+ std::string span_offsets = CalculateSpanOffset();
+
+ this->is_pre_calculate_cell_width_ = true;
+ if (TakeColumnCount() > 0 || TakeColumnWidth() > 0 ||
+ this->column_count_ > COLUMN_COUNT_NORMAL) {
+ attrs->insert(std::pair<std::string, std::string>(
+ COLUMN_COUNT, to_string(this->column_count_)));
+ attrs->insert(std::pair<std::string, std::string>(
+ COLUMN_GAP, to_string(this->column_gap_)));
+ attrs->insert(std::pair<std::string, std::string>(
+ COLUMN_WIDTH, to_string(this->column_width_)));
+ }
+ if (span_offsets.length() > 0) {
+ attrs->insert(std::pair<std::string, std::string>(
+ SPAN_OFFSETS, to_string(span_offsets)));
}
- RenderPage *page = GetRenderPage();
+ for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
+ RenderObject::UpdateAttr(iter->first, iter->second);
+ }
+ }
- if (page != nullptr)
- page->SendUpdateAttrAction(this, attrs);
+ RenderPage *page = GetRenderPage();
- if (attrs != nullptr) {
- attrs->clear();
- delete attrs;
- attrs = nullptr;
- }
+ if (page != nullptr) page->SendUpdateAttrAction(this, attrs);
+
+ if (attrs != nullptr) {
+ attrs->clear();
+ delete attrs;
+ attrs = nullptr;
}
+}
- std::string RenderList::CalculateSpanOffset() {
- std::string spanOffsets;
- if (this->left_gap_ > 0 || this->right_gap_ > 0) {
- spanOffsets.append("[");
- for (int i = 0; i < this->column_count_; i++) {
- float spanOffset = this->left_gap_ + i * ((this->column_width_ + this->column_gap_) -
- (this->available_width_ + this->column_gap_) /
- this->column_count_);
- spanOffsets.append(to_string(spanOffset));
- if (i != this->column_count_ - 1) {
- spanOffsets.append(",");
- }
+std::string RenderList::CalculateSpanOffset() {
+ std::string span_offsets;
+ if (this->left_gap_ > 0 || this->right_gap_ > 0) {
+ span_offsets.append("[");
+ for (int i = 0; i < this->column_count_; i++) {
+ float span_offset =
+ this->left_gap_ + i * ((this->column_width_ + this->column_gap_) -
+ (this->available_width_ + this->column_gap_) /
+ this->column_count_);
+ span_offsets.append(to_string(span_offset));
+ if (i != this->column_count_ - 1) {
+ span_offsets.append(",");
}
- spanOffsets.append("]");
}
- return spanOffsets;
+ span_offsets.append("]");
}
+ return span_offsets;
+}
- float RenderList::TakeStyleWidth() {
- float width = getWebPxByWidth(getLayoutWidth(), GetRenderPage()->ViewPortWidth());
- if (isnan(width) || width <= 0) {
- if (getParent() != nullptr) {
- width = getWebPxByWidth(getParent()->getLayoutWidth(), GetRenderPage()->ViewPortWidth());
- }
- if (isnan(width) || width <= 0) {
- width = getWebPxByWidth(RenderObject::getStyleWidth(), GetRenderPage()->ViewPortWidth());
- }
+float RenderList::TakeStyleWidth() {
+ float width =
+ getWebPxByWidth(getLayoutWidth(), GetRenderPage()->viewport_width());
+ if (isnan(width) || width <= 0) {
+ if (getParent() != nullptr) {
+ width = getWebPxByWidth(getParent()->getLayoutWidth(),
+ GetRenderPage()->viewport_width());
}
if (isnan(width) || width <= 0) {
- width = GetViewPortWidth();
+ width = getWebPxByWidth(RenderObject::getStyleWidth(),
+ GetRenderPage()->viewport_width());
}
- return width;
}
+ if (isnan(width) || width <= 0) {
+ width = GetViewPortWidth();
+ }
+ return width;
+}
- int RenderList::AddRenderObject(int index, RenderObject *child) {
- if (type() == kRenderRecycleList
- && (child->type() == kRenderCellSlot || child->type() == kRenderCell ||
- child->type() == kRenderHeader)) {
- child->setParent(this, child);
- this->cell_slots_.insert(this->cell_slots_.end(), child);
- index = -1;
- } else {
- index = RenderObject::AddRenderObject(index, child);
- }
+int RenderList::AddRenderObject(int index, RenderObject *child) {
+ if (type() == kRenderRecycleList &&
+ (child->type() == kRenderCellSlot || child->type() == kRenderCell ||
+ child->type() == kRenderHeader)) {
+ child->setParent(this, child);
+ this->cell_slots_.insert(this->cell_slots_.end(), child);
+ index = -1;
+ } else {
+ index = RenderObject::AddRenderObject(index, child);
+ }
- if (!this->is_pre_calculate_cell_width_) {
- PreCalculateCellWidth();
- }
+ if (!this->is_pre_calculate_cell_width_) {
+ PreCalculateCellWidth();
+ }
- if (this->column_width_ != 0 && !isnan(this->column_width_)) {
- AddRenderObjectWidth(child, false);
- }
- return index;
+ if (this->column_width_ != 0 && !isnan(this->column_width_)) {
+ AddRenderObjectWidth(child, false);
}
+ return index;
+}
- void RenderList::AddRenderObjectWidth(RenderObject *child, const bool updating) {
- if (type() == kRenderWaterfall || type() == kRenderRecycleList) {
- if (child->type() == kRenderHeader || child->type() == kRenderFooter) {
- child->ApplyStyle(WIDTH, to_string(this->available_width_), updating);
- } else if (child->is_sticky()) {
- child->ApplyStyle(WIDTH, to_string(this->available_width_), updating);
- } else if (child->type() == kRenderCell || child->type() == kRenderCellSlot) {
- child->ApplyStyle(WIDTH, to_string(this->column_width_), updating);
- }
+void RenderList::AddRenderObjectWidth(RenderObject *child,
+ const bool updating) {
+ if (type() == kRenderWaterfall || type() == kRenderRecycleList) {
+ if (child->type() == kRenderHeader || child->type() == kRenderFooter) {
+ child->ApplyStyle(WIDTH, to_string(this->available_width_), updating);
+ } else if (child->is_sticky()) {
+ child->ApplyStyle(WIDTH, to_string(this->available_width_), updating);
+ } else if (child->type() == kRenderCell ||
+ child->type() == kRenderCellSlot) {
+ child->ApplyStyle(WIDTH, to_string(this->column_width_), updating);
}
}
+}
- void RenderList::UpdateAttr(std::string key, std::string value) {
- RenderObject::UpdateAttr(key, value);
+void RenderList::UpdateAttr(std::string key, std::string value) {
+ RenderObject::UpdateAttr(key, value);
- if (!GetAttr(COLUMN_COUNT).empty() || !GetAttr(COLUMN_GAP).empty() ||
- !GetAttr(COLUMN_WIDTH).empty()) {
- PreCalculateCellWidth();
+ if (!GetAttr(COLUMN_COUNT).empty() || !GetAttr(COLUMN_GAP).empty() ||
+ !GetAttr(COLUMN_WIDTH).empty()) {
+ PreCalculateCellWidth();
- if (this->column_width_ == 0 && isnan(this->column_width_)) {
- return;
- }
+ if (this->column_width_ == 0 && isnan(this->column_width_)) {
+ return;
+ }
- int count = getChildCount();
- for (Index i = 0; i < count; i++) {
- RenderObject *child = GetChild(i);
- AddRenderObjectWidth(this, true);
- }
+ int count = getChildCount();
+ for (Index i = 0; i < count; i++) {
+ RenderObject *child = GetChild(i);
+ AddRenderObjectWidth(this, true);
}
}
+}
- float RenderList::TakeColumnCount() {
- std::string columnCount = GetAttr(COLUMN_COUNT);
-
- if (columnCount.empty() || columnCount == AUTO) {
- return AUTO_VALUE;
- }
+float RenderList::TakeColumnCount() {
+ std::string column_count = GetAttr(COLUMN_COUNT);
- float columnCountValue = getFloat(columnCount.c_str());
- return (columnCountValue > 0 && !isnan(columnCountValue)) ? columnCountValue : AUTO_VALUE;
+ if (column_count.empty() || column_count == AUTO) {
+ return AUTO_VALUE;
}
- float RenderList::TakeColumnGap() {
- std::string columnGap = GetAttr(COLUMN_GAP);
+ float column_count_value = getFloat(column_count.c_str());
+ return (column_count_value > 0 && !isnan(column_count_value)) ? column_count_value
+ : AUTO_VALUE;
+}
- if (columnGap.empty() || columnGap == NORMAL) {
- return COLUMN_GAP_NORMAL;
- }
+float RenderList::TakeColumnGap() {
+ std::string column_gap = GetAttr(COLUMN_GAP);
- float columnGapValue = getFloat(columnGap.c_str());
- return (columnGapValue > 0 && !isnan(columnGapValue)) ? columnGapValue : AUTO_VALUE;
+ if (column_gap.empty() || column_gap == NORMAL) {
+ return COLUMN_GAP_NORMAL;
}
- float RenderList::TakeColumnWidth() {
- std::string columnWidth = GetAttr(COLUMN_WIDTH);
+ float column_gap_value = getFloat(column_gap.c_str());
+ return (column_gap_value > 0 && !isnan(column_gap_value)) ? column_gap_value
+ : AUTO_VALUE;
+}
- if (columnWidth.empty() || columnWidth == AUTO) {
- return AUTO_VALUE;
- }
+float RenderList::TakeColumnWidth() {
+ std::string column_width = GetAttr(COLUMN_WIDTH);
- float columnWidthValue = getFloat(columnWidth.c_str());
- return (columnWidthValue > 0 && !isnan(columnWidthValue)) ? columnWidthValue : 0;
+ if (column_width.empty() || column_width == AUTO) {
+ return AUTO_VALUE;
}
- float RenderList::TakeLeftGap() {
- std::string leftGap = GetAttr(LEFT_GAP);
+ float column_width_value = getFloat(column_width.c_str());
+ return (column_width_value > 0 && !isnan(column_width_value)) ? column_width_value
+ : 0;
+}
- if (leftGap.empty() || leftGap == AUTO) {
- return 0;
- }
+float RenderList::TakeLeftGap() {
+ std::string left_gap = GetAttr(LEFT_GAP);
- float leftGapValue = getFloat(leftGap.c_str());
- return (leftGapValue > 0 && !isnan(leftGapValue)) ? leftGapValue : 0;
+ if (left_gap.empty() || left_gap == AUTO) {
+ return 0;
}
- float RenderList::TakeRightGap() {
- std::string rightGap = GetAttr(RIGHT_GAP);
+ float left_gap_value = getFloat(left_gap.c_str());
+ return (left_gap_value > 0 && !isnan(left_gap_value)) ? left_gap_value : 0;
+}
- if (rightGap.empty() || rightGap == AUTO) {
- return 0;
- }
+float RenderList::TakeRightGap() {
+ std::string right_gap = GetAttr(RIGHT_GAP);
- float rightGapValue = getFloat(rightGap.c_str());
- return (rightGapValue > 0 && !isnan(rightGapValue)) ? rightGapValue : 0;
+ if (right_gap.empty() || right_gap == AUTO) {
+ return 0;
}
- int RenderList::TakeOrientation() {
- std::string direction = GetAttr(SCROLL_DIRECTION);
- if (HORIZONTAL == direction) {
- return HORIZONTAL_VALUE;
- }
- return VERTICAL_VALUE;
+ float right_gap_value = getFloat(right_gap.c_str());
+ return (right_gap_value > 0 && !isnan(right_gap_value)) ? right_gap_value : 0;
+}
+
+int RenderList::TakeOrientation() {
+ std::string direction = GetAttr(SCROLL_DIRECTION);
+ if (HORIZONTAL == direction) {
+ return HORIZONTAL_VALUE;
}
+ return VERTICAL_VALUE;
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_list.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.h b/weex_core/Source/core/render/node/render_list.h
index 39453e0..d3c5e7e 100644
--- a/weex_core/Source/core/render/node/render_list.h
+++ b/weex_core/Source/core/render/node/render_list.h
@@ -16,74 +16,74 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERLIST_H
-#define WEEX_PROJECT_RENDERLIST_H
+#ifndef CORE_RENDER_NODE_RENDER_LIST_H_
+#define CORE_RENDER_NODE_RENDER_LIST_H_
+
+#include <map>
+#include <string>
+#include <vector>
-#include "core/render/node/render_object.h"
#include "core/css/constants_value.h"
+#include "core/render/node/render_object.h"
namespace WeexCore {
- class RenderList : public RenderObject {
-
- public:
-
- ~RenderList();
-
- void set_flex(const float flex);
+class RenderList : public RenderObject {
+ public:
+ ~RenderList();
- void AddCellSlotCopyTrack(RenderObject *cellSlot);
+ void set_flex(const float flex);
- std::map<std::string, std::string> *GetDefaultStyle();
+ void AddCellSlotCopyTrack(RenderObject *cell_slot);
- std::map<std::string, std::string> *GetDefaultAttr();
+ std::map<std::string, std::string> *GetDefaultStyle();
- void PreCalculateCellWidth();
+ std::map<std::string, std::string> *GetDefaultAttr();
- std::string CalculateSpanOffset();
+ void PreCalculateCellWidth();
- float TakeStyleWidth();
+ std::string CalculateSpanOffset();
- int AddRenderObject(int index, RenderObject *child);
+ float TakeStyleWidth();
- void AddRenderObjectWidth(RenderObject *child, const bool updating);
+ int AddRenderObject(int index, RenderObject *child);
- void UpdateAttr(std::string key, std::string value);
+ void AddRenderObjectWidth(RenderObject *child, const bool updating);
- float TakeColumnCount();
+ void UpdateAttr(std::string key, std::string value);
- float TakeColumnGap();
+ float TakeColumnCount();
- float TakeColumnWidth();
+ float TakeColumnGap();
- float TakeLeftGap();
+ float TakeColumnWidth();
- float TakeRightGap();
+ float TakeLeftGap();
- int TakeOrientation();
+ float TakeRightGap();
- inline float CalculateFreeSpaceAlongMainAxis(const float &width, const float &height,
- const float ¤tLength) const override {
- return NAN;
- }
+ int TakeOrientation();
- inline std::vector<RenderObject *> &CellSlots() {
- return cell_slots_;
- }
+ inline float CalculateFreeSpaceAlongMainAxis(
+ const float &width, const float &height,
+ const float ¤tLength) const override {
+ return NAN;
+ }
- private:
+ inline std::vector<RenderObject *> &CellSlots() { return cell_slots_; }
- bool is_pre_calculate_cell_width_ = false;
- int column_count_ = COLUMN_COUNT_NORMAL;
- float column_width_ = AUTO_VALUE;
- float available_width_ = 0;
- float column_gap_ = COLUMN_GAP_NORMAL;
- bool is_set_flex_ = false;
- std::vector<RenderObject *> cell_slots_;
- std::vector<RenderObject *> cell_slots_copys_;
- float left_gap_ = 0;
- float right_gap_ = 0;
- };
-}
+ private:
+ bool is_pre_calculate_cell_width_ = false;
+ int column_count_ = COLUMN_COUNT_NORMAL;
+ float column_width_ = AUTO_VALUE;
+ float available_width_ = 0;
+ float column_gap_ = COLUMN_GAP_NORMAL;
+ bool is_set_flex_ = false;
+ std::vector<RenderObject *> cell_slots_;
+ std::vector<RenderObject *> cell_slots_copys_;
+ float left_gap_ = 0;
+ float right_gap_ = 0;
+};
+} // namespace WeexCore
-#endif //WEEX_PROJECT_RENDERLIST_H
+#endif // CORE_RENDER_NODE_RENDER_LIST_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_mask.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_mask.cpp b/weex_core/Source/core/render/node/render_mask.cpp
index 76965a4..df925a2 100644
--- a/weex_core/Source/core/render/node/render_mask.cpp
+++ b/weex_core/Source/core/render/node/render_mask.cpp
@@ -17,38 +17,47 @@
* under the License.
*/
#include <cstdlib>
+#include <utility>
-#include "core/render/node/render_mask.h"
+#include "base/ViewUtils.h"
#include "core/config/core_environment.h"
#include "core/css/constants_name.h"
-#include "base/ViewUtils.h"
+#include "core/render/node/render_mask.h"
namespace WeexCore {
- std::map<std::string, std::string> *RenderMask::GetDefaultStyle() {
- std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
+std::map<std::string, std::string> *RenderMask::GetDefaultStyle() {
+ std::map<std::string, std::string> *style =
+ new std::map<std::string, std::string>();
- int width = WXCoreEnvironment::getInstance()->DeviceWidth();
- int height = WXCoreEnvironment::getInstance()->DeviceHeight();
+ int width = WXCoreEnvironment::getInstance()->DeviceWidth();
+ int height = WXCoreEnvironment::getInstance()->DeviceHeight();
- if (WXCoreEnvironment::getInstance()->GetOption("screen_width_pixels") != "" &&
- WXCoreEnvironment::getInstance()->GetOption("screen_height_pixels") != "") {
- width = atoi(WXCoreEnvironment::getInstance()->GetOption("screen_width_pixels").c_str());
- height = atoi(WXCoreEnvironment::getInstance()->GetOption("screen_height_pixels").c_str());
- }
-
- if (WXCoreEnvironment::getInstance()->GetOption("status_bar_height") != "") {
- int statusBarHeight = atoi(
- WXCoreEnvironment::getInstance()->GetOption("status_bar_height").c_str());
- height -= statusBarHeight;
- }
+ if (WXCoreEnvironment::getInstance()->GetOption("screen_width_pixels") !=
+ "" &&
+ WXCoreEnvironment::getInstance()->GetOption("screen_height_pixels") !=
+ "") {
+ width = atoi(WXCoreEnvironment::getInstance()
+ ->GetOption("screen_width_pixels")
+ .c_str());
+ height = atoi(WXCoreEnvironment::getInstance()
+ ->GetOption("screen_height_pixels")
+ .c_str());
+ }
- style->insert(std::pair<std::string, std::string>(POSITION, "absolute"));
- style->insert(std::pair<std::string, std::string>(WIDTH, to_string(
- getWebPxByWidth(width, GetViewPortWidth()))));
- style->insert(std::pair<std::string, std::string>(HEIGHT, to_string(
- getWebPxByWidth(height, GetViewPortWidth()))));
- style->insert(std::pair<std::string, std::string>(TOP, "0"));
- return style;
+ if (WXCoreEnvironment::getInstance()->GetOption("status_bar_height") != "") {
+ int status_bar_height = atoi(WXCoreEnvironment::getInstance()
+ ->GetOption("status_bar_height")
+ .c_str());
+ height -= status_bar_height;
}
+
+ style->insert(std::pair<std::string, std::string>(POSITION, "absolute"));
+ style->insert(std::pair<std::string, std::string>(
+ WIDTH, to_string(getWebPxByWidth(width, GetViewPortWidth()))));
+ style->insert(std::pair<std::string, std::string>(
+ HEIGHT, to_string(getWebPxByWidth(height, GetViewPortWidth()))));
+ style->insert(std::pair<std::string, std::string>(TOP, "0"));
+ return style;
}
+} // namespace WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_mask.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_mask.h b/weex_core/Source/core/render/node/render_mask.h
index eb6d4a6..38201d0 100644
--- a/weex_core/Source/core/render/node/render_mask.h
+++ b/weex_core/Source/core/render/node/render_mask.h
@@ -16,19 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-#ifndef WEEX_PROJECT_RENDERMASK_H
-#define WEEX_PROJECT_RENDERMASK_H
+#ifndef CORE_RENDER_NODE_RENDER_MASK_H_
+#define CORE_RENDER_NODE_RENDER_MASK_H_
+
+#include <map>
+#include <string>
#include "core/render/node/render_object.h"
namespace WeexCore {
- class RenderMask : public RenderObject {
-
- public:
-
- std::map <std::string, std::string> *GetDefaultStyle();
-
- };
-}
-#endif //WEEX_PROJECT_RENDERMASK_H
+class RenderMask : public RenderObject {
+ public:
+ std::map<std::string, std::string> *GetDefaultStyle();
+};
+} // namespace WeexCore
+#endif // CORE_RENDER_NODE_RENDER_MASK_H_
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_object.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.cpp b/weex_core/Source/core/render/node/render_object.cpp
index 6818cff..fe0d25f 100644
--- a/weex_core/Source/core/render/node/render_object.cpp
+++ b/weex_core/Source/core/render/node/render_object.cpp
@@ -17,428 +17,448 @@
* under the License.
*/
#include "core/render/node/render_object.h"
-#include "core/manager/weex_core_manager.h"
+#include "base/ViewUtils.h"
#include "core/css/constants_name.h"
#include "core/css/constants_value.h"
#include "core/css/css_value_getter.h"
#include "core/layout/layout.h"
+#include "core/manager/weex_core_manager.h"
#include "core/render/manager/render_manager.h"
#include "core/render/page/render_page.h"
-#include "base/ViewUtils.h"
namespace WeexCore {
- RenderObject::RenderObject() {
- this->styles_ = new std::map<std::string, std::string>();
- this->attributes_ = new std::map<std::string, std::string>();
- this->events_ = new std::set<std::string>();
- this->is_root_render_ = false;
- }
+RenderObject::RenderObject() {
+ this->styles_ = new std::map<std::string, std::string>();
+ this->attributes_ = new std::map<std::string, std::string>();
+ this->events_ = new std::set<std::string>();
+ this->is_root_render_ = false;
+}
- RenderObject::~RenderObject() {
-
- this->parent_render_ = nullptr;
-
- if (this->styles_ != nullptr) {
- delete this->styles_;
- this->styles_ = nullptr;
- }
-
- if (this->attributes_ != nullptr) {
- delete this->attributes_;
- this->attributes_ = nullptr;
- }
+RenderObject::~RenderObject() {
+ this->parent_render_ = nullptr;
- if (this->events_ != nullptr) {
- delete this->events_;
- this->events_ = nullptr;
- }
-
- for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
- RenderObject *child = static_cast<RenderObject *>(*it);
- if (child != nullptr) {
- delete child;
- child = nullptr;
- }
- }
+ if (this->styles_ != nullptr) {
+ delete this->styles_;
+ this->styles_ = nullptr;
}
- void RenderObject::ApplyDefaultStyle() {
- std::map<std::string, std::string> *style = GetDefaultStyle();
-
- if (style == nullptr)
- return;
+ if (this->attributes_ != nullptr) {
+ delete this->attributes_;
+ this->attributes_ = nullptr;
+ }
- for (auto iter = style->cbegin(); iter != style->cend(); iter++)
- AddStyle(iter->first, iter->second);
+ if (this->events_ != nullptr) {
+ delete this->events_;
+ this->events_ = nullptr;
+ }
- if (style != nullptr) {
- delete style;
- style = nullptr;
+ for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ delete child;
+ child = nullptr;
}
}
+}
- void RenderObject::ApplyDefaultAttr() {
- std::map<std::string, std::string> *attrs = GetDefaultAttr();
+void RenderObject::ApplyDefaultStyle() {
+ std::map<std::string, std::string> *style = GetDefaultStyle();
- if (attrs == nullptr)
- return;
+ if (style == nullptr) return;
- for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
- UpdateAttr(iter->first, iter->second);
- }
+ for (auto iter = style->cbegin(); iter != style->cend(); iter++)
+ AddStyle(iter->first, iter->second);
- if (attrs != nullptr) {
- delete attrs;
- attrs = nullptr;
- }
+ if (style != nullptr) {
+ delete style;
+ style = nullptr;
}
+}
- WXCoreSize measureFunc_Impl(WXCoreLayoutNode *node, float width, MeasureMode widthMeasureMode,
- float height, MeasureMode heightMeasureMode) {
- WXCoreSize size;
- size.height = 0;
- size.width = 0;
-
- if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
- return size;
+void RenderObject::ApplyDefaultAttr() {
+ std::map<std::string, std::string> *attrs = GetDefaultAttr();
- return WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->Measure(node, width,
- widthMeasureMode,
- height,
- heightMeasureMode);
- }
+ if (attrs == nullptr) return;
- void RenderObject::BindMeasureFunc() {
- setMeasureFunc(measureFunc_Impl);
+ for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
+ UpdateAttr(iter->first, iter->second);
}
- void RenderObject::OnLayoutBefore() {
- if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
- return;
- WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->LayoutBefore(this);
+ if (attrs != nullptr) {
+ delete attrs;
+ attrs = nullptr;
}
-
- void RenderObject::OnLayoutAfter(float width, float height) {
- if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
- return;
- WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->LayoutAfter(this, width, height);
+}
+
+WXCoreSize measureFunc_Impl(WXCoreLayoutNode *node, float width,
+ MeasureMode widthMeasureMode, float height,
+ MeasureMode heightMeasureMode) {
+ WXCoreSize size;
+ size.height = 0;
+ size.width = 0;
+
+ if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
+ return size;
+
+ return WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->Measure(
+ node, width, widthMeasureMode, height, heightMeasureMode);
+}
+
+void RenderObject::BindMeasureFunc() { setMeasureFunc(measureFunc_Impl); }
+
+void RenderObject::OnLayoutBefore() {
+ if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
+ return;
+ WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->LayoutBefore(
+ this);
+}
+
+void RenderObject::OnLayoutAfter(float width, float height) {
+ if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
+ return;
+ WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->LayoutAfter(
+ this, width, height);
+}
+
+StyleType RenderObject::ApplyStyle(const std::string &key,
+ const std::string &value,
+ const bool updating) {
+ bool insert = false;
+ if (value.length() > 0 && (value.at(0) == JSON_OBJECT_MARK_CHAR ||
+ value.at(0) == JSON_ARRAY_MARK_CHAR)) {
+ MapInsertOrAssign(this->styles_, key, value);
+ insert = true;
}
- StyleType
- RenderObject::ApplyStyle(const std::string &key, const std::string &value, const bool updating) {
- bool insert = false;
- if (value.length() > 0 &&
- (value.at(0) == JSON_OBJECT_MARK_CHAR || value.at(0) == JSON_ARRAY_MARK_CHAR)) {
- MapInsertOrAssign(this->styles_, key, value);
- insert = true;
- }
-
- if (key == ALIGN_ITEMS) {
- setAlignItems(GetWXCoreAlignItem(value));
- return kTypeLayout;
- } else if (key == ALIGN_SELF) {
- setAlignSelf(GetWXCoreAlignSelf(value));
- return kTypeLayout;
- } else if (key == FLEX) {
- if (value.empty()) {
- set_flex(0);
- } else {
- float ret = getFloat(value.c_str());
- if (!isnan(ret)) {
- set_flex(ret);
- }
- }
- return kTypeLayout;
- } else if (key == FLEX_DIRECTION) {
- setFlexDirection(GetWXCoreFlexDirection(value), updating);
- return kTypeLayout;
- } else if (key == JUSTIFY_CONTENT) {
- setJustifyContent(GetWXCoreJustifyContent(value));
- return kTypeLayout;
- } else if (key == FLEX_WRAP) {
- setFlexWrap(GetWXCoreFlexWrap(value));
- return kTypeLayout;
- } else if (key == MIN_WIDTH) {
- UpdateStyleInternal(key, value, NAN, [=](float foo) { setMinWidth(foo, updating); });
- return kTypeLayout;
- } else if (key == MIN_HEIGHT) {
- UpdateStyleInternal(key, value, NAN, [=](float foo) { setMinHeight(foo); });
- return kTypeLayout;
- } else if (key == MAX_WIDTH) {
- UpdateStyleInternal(key, value, NAN, [=](float foo) { setMaxWidth(foo, updating); });
- return kTypeLayout;
- } else if (key == MAX_HEIGHT) {
- UpdateStyleInternal(key, value, NAN, [=](float foo) { setMaxHeight(foo); });
- return kTypeLayout;
- } else if (key == HEIGHT) {
- if (UpdateStyleInternal(key, value, NAN, [=](float foo) { setStyleHeight(foo); })) {
- setStyleHeightLevel(CSS_STYLE);
- }
- return kTypeLayout;
- } else if (key == WIDTH) {
- if (UpdateStyleInternal(key, value, NAN, [=](float foo) { setStyleWidth(foo, updating); })) {
- setStyleWidthLevel(CSS_STYLE);
- }
- return kTypeLayout;
- } else if (key == POSITION) {
- setStylePositionType(GetWXCorePositionType(value));
- if (value == STICKY) {
- this->is_sticky_ = true;
- }
- MapInsertOrAssign(this->styles_, key, value);
- return kTypeStyle;
- } else if (key == LEFT) {
- UpdateStyleInternal(key, value, NAN,
- [=](float foo) { setStylePosition(kPositionEdgeLeft, foo); });
- return kTypeLayout;
- } else if (key == TOP) {
- UpdateStyleInternal(key, value, NAN,
- [=](float foo) { setStylePosition(kPositionEdgeTop, foo); });
- return kTypeLayout;
- } else if (key == RIGHT) {
- UpdateStyleInternal(key, value, NAN,
- [=](float foo) { setStylePosition(kPositionEdgeRight, foo); });
- return kTypeLayout;
- } else if (key == BOTTOM) {
- UpdateStyleInternal(key, value, NAN,
- [=](float foo) { setStylePosition(kPositionEdgeBottom, foo); });
- return kTypeLayout;
- } else if (key == MARGIN) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginALL, foo); });
- return kTypeMargin;
- } else if (key == MARGIN_LEFT) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginLeft, foo); });
- return kTypeMargin;
- } else if (key == MARGIN_TOP) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginTop, foo); });
- return kTypeMargin;
- } else if (key == MARGIN_RIGHT) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginRight, foo); });
- return kTypeMargin;
- } else if (key == MARGIN_BOTTOM) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginBottom, foo); });
- return kTypeMargin;
- } else if (key == BORDER_WIDTH) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setBorderWidth(kBorderWidthALL, foo); });
- return kTypeBorder;
- } else if (key == BORDER_TOP_WIDTH) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setBorderWidth(kBorderWidthTop, foo); });
- return kTypeBorder;
- } else if (key == BORDER_RIGHT_WIDTH) {
- UpdateStyleInternal(key, value, 0,
- [=](float foo) { setBorderWidth(kBorderWidthRight, foo); });
- return kTypeBorder;
- } else if (key == BORDER_BOTTOM_WIDTH) {
- UpdateStyleInternal(key, value, 0,
- [=](float foo) { setBorderWidth(kBorderWidthBottom, foo); });
- return kTypeBorder;
- } else if (key == BORDER_LEFT_WIDTH) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setBorderWidth(kBorderWidthLeft, foo); });
- return kTypeBorder;
- } else if (key == PADDING) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingALL, foo); });
- return kTypePadding;
- } else if (key == PADDING_LEFT) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingLeft, foo); });
- return kTypePadding;
- } else if (key == PADDING_TOP) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingTop, foo); });
- return kTypePadding;
- } else if (key == PADDING_RIGHT) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingRight, foo); });
- return kTypePadding;
- } else if (key == PADDING_BOTTOM) {
- UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingBottom, foo); });
- return kTypePadding;
+ if (key == ALIGN_ITEMS) {
+ setAlignItems(GetWXCoreAlignItem(value));
+ return kTypeLayout;
+ } else if (key == ALIGN_SELF) {
+ setAlignSelf(GetWXCoreAlignSelf(value));
+ return kTypeLayout;
+ } else if (key == FLEX) {
+ if (value.empty()) {
+ set_flex(0);
} else {
- if (!insert) {
- MapInsertOrAssign(this->styles_, key, value);
+ float ret = getFloat(value.c_str());
+ if (!isnan(ret)) {
+ set_flex(ret);
}
- return kTypeStyle;
}
- }
-
- const std::string RenderObject::GetStyle(const std::string &key) {
- if (this->styles_ == nullptr)
- return "";
-
- std::map<std::string, std::string>::iterator iter = this->styles_->find(key);
- if (iter != this->styles_->end()) {
- return iter->second;
- } else {
- return "";
+ return kTypeLayout;
+ } else if (key == FLEX_DIRECTION) {
+ setFlexDirection(GetWXCoreFlexDirection(value), updating);
+ return kTypeLayout;
+ } else if (key == JUSTIFY_CONTENT) {
+ setJustifyContent(GetWXCoreJustifyContent(value));
+ return kTypeLayout;
+ } else if (key == FLEX_WRAP) {
+ setFlexWrap(GetWXCoreFlexWrap(value));
+ return kTypeLayout;
+ } else if (key == MIN_WIDTH) {
+ UpdateStyleInternal(key, value, NAN,
+ [=](float foo) { setMinWidth(foo, updating); });
+ return kTypeLayout;
+ } else if (key == MIN_HEIGHT) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) { setMinHeight(foo); });
+ return kTypeLayout;
+ } else if (key == MAX_WIDTH) {
+ UpdateStyleInternal(key, value, NAN,
+ [=](float foo) { setMaxWidth(foo, updating); });
+ return kTypeLayout;
+ } else if (key == MAX_HEIGHT) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) { setMaxHeight(foo); });
+ return kTypeLayout;
+ } else if (key == HEIGHT) {
+ if (UpdateStyleInternal(key, value, NAN,
+ [=](float foo) { setStyleHeight(foo); })) {
+ setStyleHeightLevel(CSS_STYLE);
+ }
+ return kTypeLayout;
+ } else if (key == WIDTH) {
+ if (UpdateStyleInternal(key, value, NAN,
+ [=](float foo) { setStyleWidth(foo, updating); })) {
+ setStyleWidthLevel(CSS_STYLE);
}
+ return kTypeLayout;
+ } else if (key == POSITION) {
+ setStylePositionType(GetWXCorePositionType(value));
+ if (value == STICKY) {
+ this->is_sticky_ = true;
+ }
+ MapInsertOrAssign(this->styles_, key, value);
+ return kTypeStyle;
+ } else if (key == LEFT) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) {
+ setStylePosition(kPositionEdgeLeft, foo);
+ });
+ return kTypeLayout;
+ } else if (key == TOP) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) {
+ setStylePosition(kPositionEdgeTop, foo);
+ });
+ return kTypeLayout;
+ } else if (key == RIGHT) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) {
+ setStylePosition(kPositionEdgeRight, foo);
+ });
+ return kTypeLayout;
+ } else if (key == BOTTOM) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) {
+ setStylePosition(kPositionEdgeBottom, foo);
+ });
+ return kTypeLayout;
+ } else if (key == MARGIN) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setMargin(kMarginALL, foo); });
+ return kTypeMargin;
+ } else if (key == MARGIN_LEFT) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setMargin(kMarginLeft, foo); });
+ return kTypeMargin;
+ } else if (key == MARGIN_TOP) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setMargin(kMarginTop, foo); });
+ return kTypeMargin;
+ } else if (key == MARGIN_RIGHT) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setMargin(kMarginRight, foo); });
+ return kTypeMargin;
+ } else if (key == MARGIN_BOTTOM) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setMargin(kMarginBottom, foo); });
+ return kTypeMargin;
+ } else if (key == BORDER_WIDTH) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) {
+ setBorderWidth(kBorderWidthALL, foo);
+ });
+ return kTypeBorder;
+ } else if (key == BORDER_TOP_WIDTH) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) {
+ setBorderWidth(kBorderWidthTop, foo);
+ });
+ return kTypeBorder;
+ } else if (key == BORDER_RIGHT_WIDTH) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) {
+ setBorderWidth(kBorderWidthRight, foo);
+ });
+ return kTypeBorder;
+ } else if (key == BORDER_BOTTOM_WIDTH) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) {
+ setBorderWidth(kBorderWidthBottom, foo);
+ });
+ return kTypeBorder;
+ } else if (key == BORDER_LEFT_WIDTH) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) {
+ setBorderWidth(kBorderWidthLeft, foo);
+ });
+ return kTypeBorder;
+ } else if (key == PADDING) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setPadding(kPaddingALL, foo); });
+ return kTypePadding;
+ } else if (key == PADDING_LEFT) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setPadding(kPaddingLeft, foo); });
+ return kTypePadding;
+ } else if (key == PADDING_TOP) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setPadding(kPaddingTop, foo); });
+ return kTypePadding;
+ } else if (key == PADDING_RIGHT) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setPadding(kPaddingRight, foo); });
+ return kTypePadding;
+ } else if (key == PADDING_BOTTOM) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setPadding(kPaddingBottom, foo); });
+ return kTypePadding;
+ } else {
+ if (!insert) {
+ MapInsertOrAssign(this->styles_, key, value);
+ }
+ return kTypeStyle;
}
+}
- const std::string RenderObject::GetAttr(const std::string &key) {
- if (this->attributes_ == nullptr)
- return "";
+const std::string RenderObject::GetStyle(const std::string &key) {
+ if (this->styles_ == nullptr) return "";
- std::map<std::string, std::string>::iterator iter = this->attributes_->find(key);
- if (iter != this->attributes_->end()) {
- return iter->second;
- } else {
- return "";
- }
+ std::map<std::string, std::string>::iterator iter = this->styles_->find(key);
+ if (iter != this->styles_->end()) {
+ return iter->second;
+ } else {
+ return "";
}
+}
- float RenderObject::GetViewPortWidth() {
- if (this->viewport_width_ >= 0)
- return this->viewport_width_;
+const std::string RenderObject::GetAttr(const std::string &key) {
+ if (this->attributes_ == nullptr) return "";
- RenderPage *page = GetRenderPage();
- if (page == nullptr)
- return kDefaultViewPortWidth;
-
- return page->ViewPortWidth();
+ std::map<std::string, std::string>::iterator iter =
+ this->attributes_->find(key);
+ if (iter != this->attributes_->end()) {
+ return iter->second;
+ } else {
+ return "";
}
+}
- int RenderObject::AddRenderObject(int index, RenderObject *child) {
- if (child == nullptr || index < -1) {
- return index;
- }
+float RenderObject::GetViewPortWidth() {
+ if (this->viewport_width_ >= 0) return this->viewport_width_;
- Index count = getChildCount();
- index = index >= count ? -1 : index;
- if (index == -1) {
- addChildAt(child, getChildCount());
- } else {
- addChildAt(child, index);
- }
+ RenderPage *page = GetRenderPage();
+ if (page == nullptr) return kDefaultViewPortWidth;
- child->set_parent_render(this);
+ return page->viewport_width();
+}
+int RenderObject::AddRenderObject(int index, RenderObject *child) {
+ if (child == nullptr || index < -1) {
return index;
}
- Index RenderObject::IndexOf(const RenderObject *render) {
- if (render == nullptr) {
- return -1;
- } else {
- int i = 0;
- for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
- RenderObject *child = static_cast<RenderObject *>(*it);
- if (child != nullptr) {
- if (render->ref() == child->ref())
- return i;
- }
- ++i;
- }
- }
- return -1;
+ Index count = getChildCount();
+ index = index >= count ? -1 : index;
+ if (index == -1) {
+ addChildAt(child, getChildCount());
+ } else {
+ addChildAt(child, index);
}
- bool RenderObject::UpdateStyleInternal(const std::string key, const std::string value,
- float fallback,
- std::function<void(float)> functor) {
- bool ret = false;
- if (value.empty()) {
- functor(fallback);
- ret = true;
- } else {
- float fvalue = getFloatByViewport(value, GetViewPortWidth());
- if (!isnan(fvalue)) {
- functor(fvalue);
- ret = true;
- }
- }
- return ret;
- }
+ child->set_parent_render(this);
- void RenderObject::LayoutBeforeImpl() {
- if (isDirty()) {
- OnLayoutBefore();
- }
+ return index;
+}
+Index RenderObject::IndexOf(const RenderObject *render) {
+ if (render == nullptr) {
+ return -1;
+ } else {
+ int i = 0;
for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
RenderObject *child = static_cast<RenderObject *>(*it);
if (child != nullptr) {
- child->LayoutBeforeImpl();
+ if (render->ref() == child->ref()) return i;
}
+ ++i;
}
}
-
- void RenderObject::LayoutAfterImpl() {
- if (hasNewLayout()) {
- OnLayoutAfter(getLayoutWidth(), getLayoutHeight());
- }
-
- for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
- RenderObject *child = static_cast<RenderObject *>(*it);
- if (child != nullptr) {
- child->LayoutAfterImpl();
- }
+ return -1;
+}
+
+bool RenderObject::UpdateStyleInternal(const std::string key,
+ const std::string value, float fallback,
+ std::function<void(float)> functor) {
+ bool ret = false;
+ if (value.empty()) {
+ functor(fallback);
+ ret = true;
+ } else {
+ float fvalue = getFloatByViewport(value, GetViewPortWidth());
+ if (!isnan(fvalue)) {
+ functor(fvalue);
+ ret = true;
}
}
+ return ret;
+}
- void RenderObject::CopyFrom(RenderObject *src) {
- IRenderObject::CopyFrom(src);
- this->styles_->insert(src->styles_->begin(), src->styles_->end());
- this->attributes_->insert(src->attributes_->begin(), src->attributes_->end());
- this->events_->insert(src->events_->begin(), src->events_->end());
+void RenderObject::LayoutBeforeImpl() {
+ if (isDirty()) {
+ OnLayoutBefore();
}
- void RenderObject::MapInsertOrAssign(std::map<std::string, std::string> *targetMap,
- const std::string &key, const std::string &value) {
- std::map<std::string, std::string>::iterator it = targetMap->find(key);
- if (it != targetMap->end()) {
- it->second = value;
- } else {
- targetMap->insert({key, value});
+ for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ child->LayoutBeforeImpl();
}
}
+}
- bool RenderObject::ViewInit() {
- return (!isnan(getStyleWidth()) && getStyleWidth() > 0) ||
- (is_root_render() && GetRenderPage() != nullptr &&
- GetRenderPage()->GetRenderContainerWidthWrapContent());
+void RenderObject::LayoutAfterImpl() {
+ if (hasNewLayout()) {
+ OnLayoutAfter(getLayoutWidth(), getLayoutHeight());
}
- RenderPage *RenderObject::GetRenderPage() {
- return RenderManager::GetInstance()->GetPage(page_id());
- }
-
- bool RenderObject::IsAppendTree() {
- std::string append = GetAttr(APPEND);
- if (append == "tree") {
- return true;
+ for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ child->LayoutAfterImpl();
}
- return false;
}
-
- void RenderObject::UpdateAttr(std::string key, std::string value) {
- MapInsertOrAssign(this->attributes_, key, value);
+}
+
+void RenderObject::CopyFrom(RenderObject *src) {
+ IRenderObject::CopyFrom(src);
+ this->styles_->insert(src->styles_->begin(), src->styles_->end());
+ this->attributes_->insert(src->attributes_->begin(), src->attributes_->end());
+ this->events_->insert(src->events_->begin(), src->events_->end());
+}
+
+void RenderObject::MapInsertOrAssign(
+ std::map<std::string, std::string> *targetMap, const std::string &key,
+ const std::string &value) {
+ std::map<std::string, std::string>::iterator it = targetMap->find(key);
+ if (it != targetMap->end()) {
+ it->second = value;
+ } else {
+ targetMap->insert({key, value});
}
-
- StyleType RenderObject::UpdateStyle(std::string key, std::string value) {
- return ApplyStyle(key, value, true);
+}
+
+bool RenderObject::ViewInit() {
+ return (!isnan(getStyleWidth()) && getStyleWidth() > 0) ||
+ (is_root_render() && GetRenderPage() != nullptr &&
+ GetRenderPage()->is_render_container_width_wrap_content());
+}
+
+RenderPage *RenderObject::GetRenderPage() {
+ return RenderManager::GetInstance()->GetPage(page_id());
+}
+
+bool RenderObject::IsAppendTree() {
+ std::string append = GetAttr(APPEND);
+ if (append == "tree") {
+ return true;
}
+ return false;
+}
- RenderObject* RenderObject::GetChild(const Index &index) {
- return static_cast<RenderObject*>(getChildAt(index));
- }
+void RenderObject::UpdateAttr(std::string key, std::string value) {
+ MapInsertOrAssign(this->attributes_, key, value);
+}
- void RenderObject::RemoveRenderObject(RenderObject *child) {
- removeChild(child);
- }
+StyleType RenderObject::UpdateStyle(std::string key, std::string value) {
+ return ApplyStyle(key, value, true);
+}
- void RenderObject::AddAttr(std::string key, std::string value) {
- MapInsertOrAssign(this->attributes_, key, value);
- }
+RenderObject *RenderObject::GetChild(const Index &index) {
+ return static_cast<RenderObject *>(getChildAt(index));
+}
- StyleType RenderObject::AddStyle(std::string key, std::string value) {
- return ApplyStyle(key, value, false);
- }
+void RenderObject::RemoveRenderObject(RenderObject *child) {
+ removeChild(child);
+}
- void RenderObject::AddEvent(std::string event) {
- if (this->events_ == nullptr || this->events_->empty()) {
- this->events_ = new std::set<std::string>();
- }
- this->events_->insert(event);
- }
+void RenderObject::AddAttr(std::string key, std::string value) {
+ MapInsertOrAssign(this->attributes_, key, value);
+}
+
+StyleType RenderObject::AddStyle(std::string key, std::string value) {
+ return ApplyStyle(key, value, false);
+}
- void RenderObject::RemoveEvent(const std::string &event) {
- this->events_->erase(event);
+void RenderObject::AddEvent(std::string event) {
+ if (this->events_ == nullptr || this->events_->empty()) {
+ this->events_ = new std::set<std::string>();
}
-} //end WeexCore
+ this->events_->insert(event);
+}
+
+void RenderObject::RemoveEvent(const std::string &event) {
+ this->events_->erase(event);
+}
+} // namespace WeexCore
[04/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js
framework to v0.26.11
Posted by cx...@apache.org.
* [jsfm] upgrade js framework to v0.26.11
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/185d3932
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/185d3932
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/185d3932
Branch: refs/heads/release
Commit: 185d3932d09b1279476c7067abb2245b37f565a5
Parents: b2afcf9
Author: 门柳 <ha...@alibaba-inc.com>
Authored: Thu Jun 7 17:24:23 2018 +0800
Committer: 门柳 <ha...@alibaba-inc.com>
Committed: Thu Jun 7 17:24:23 2018 +0800
----------------------------------------------------------------------
android/sdk/assets/weex-main-jsfm.js | 2 +-
package.json | 4 ++--
pre-build/weex-main-jsfm.js | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
[14/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Remove
unless include
Posted by cx...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_list.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_list.h b/weex_core/Source/core/render/node/render_list.h
index 738e4ea..16d09dc 100644
--- a/weex_core/Source/core/render/node/render_list.h
+++ b/weex_core/Source/core/render/node/render_list.h
@@ -19,320 +19,69 @@
#ifndef WEEX_PROJECT_RENDERLIST_H
#define WEEX_PROJECT_RENDERLIST_H
-#include <core/css/constants_name.h>
-#include <core/render/node/render_object.h>
-#include <core/css/constants_value.h>
-#include <cmath>
-#include <base/ViewUtils.h>
-#include <core/render/node/factory/render_type.h>
-#include "render_object.h"
+#include "core/render/node/render_object.h"
+#include "core/css/constants_value.h"
namespace WeexCore {
class RenderList : public RenderObject {
- bool mIsPreCalculateCellWidth = false;
- int mColumnCount = COLUMN_COUNT_NORMAL;
- float mColumnWidth = AUTO_VALUE;
- float mAvailableWidth = 0;
- float mColumnGap = COLUMN_GAP_NORMAL;
- bool mIsSetFlex = false;
- std::vector<RenderObject*> cellSlots;
- std::vector<RenderObject*> cellSlotsCopys;
- float mLeftGap = 0;
- float mRightGap = 0;
-
public:
- ~RenderList(){
-
- if(cellSlotsCopys.size() > 0){
- for(auto it = cellSlotsCopys.begin(); it != cellSlotsCopys.end(); ++it){
- RenderObject* child = *it;
- if(child){
- delete child;
- child = nullptr;
- }
- }
- cellSlotsCopys.clear();
- }
- if(cellSlots.size() > 0){
- for(auto it = cellSlots.begin(); it != cellSlots.end(); ++it){
- RenderObject* child = *it;
- if(child){
- delete child;
- child = nullptr;
- }
- }
- cellSlots.clear();
- }
- }
-
- public:
- void addCellSlotCopyTrack(RenderObject* cellSlot){
- cellSlot->setParent(this, cellSlot);
- cellSlotsCopys.push_back(cellSlot);
- }
-
- std::vector<RenderObject*> &CellSlots(){
- return cellSlots;
- }
-
- std::map<std::string, std::string> *GetDefaultStyle() {
- std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
+ ~RenderList();
- bool isVertical = true;
- RenderObject *parent = (RenderObject *) getParent();
+ void addCellSlotCopyTrack(RenderObject *cellSlot);
- if (parent != nullptr && !parent->Type().empty()) {
- if (parent->Type() == kHList) {
- isVertical = false;
- } else if (getOrientation() == HORIZONTAL_VALUE) {
- isVertical = false;
- }
- }
+ void setFlex(const float flex);
- std::string prop = isVertical ? HEIGHT : WIDTH;
+ std::map <std::string, std::string> *GetDefaultStyle();
- if (prop == HEIGHT && isnan(getStyleHeight()) && !mIsSetFlex) {
- mIsSetFlex = true;
- style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- } else if (prop == WIDTH && isnan(getStyleWidth()) && !mIsSetFlex) {
- mIsSetFlex = true;
- style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- }
+ std::map <std::string, std::string> *GetDefaultAttr();
- return style;
- }
+ void preCalculateCellWidth();
- inline void setFlex(const float flex) {
- mIsSetFlex = true;
- WXCoreLayoutNode::setFlex(flex);
- }
+ std::string calcSpanOffset();
- float calcFreeSpaceAlongMainAxis(const float &width, const float &height, const float ¤tLength) const override {
- return NAN;
- }
+ float getStyleWidth();
- std::map<std::string, std::string> *GetDefaultAttr() {
- if (!mIsPreCalculateCellWidth) {
- preCalculateCellWidth();
- }
- return nullptr;
- }
+ int AddRenderObject(int index, RenderObject *child);
+ void AddRenderObjectWidth(RenderObject *child, const bool updating);
- inline void preCalculateCellWidth() {
- std::map<std::string, std::string> *attrs = new std::map<std::string, std::string>();
- if (Attributes() != nullptr) {
- mColumnCount = getColumnCount();
- mColumnWidth = getColumnWidth();
- mColumnGap = getColumnGap();
+ void UpdateAttr(std::string key, std::string value);
- mLeftGap = getLeftGap();
- mRightGap = getRightGap();
+ float getColumnCount();
- mAvailableWidth = getStyleWidth()- getWebPxByWidth(getPaddingLeft(), GetRenderPage()->ViewPortWidth()) - getWebPxByWidth(getPaddingRight(), GetRenderPage()->ViewPortWidth());
+ float getColumnGap();
- if (AUTO_VALUE == mColumnCount && AUTO_VALUE == mColumnWidth) {
- mColumnCount = COLUMN_COUNT_NORMAL;
- mColumnWidth = (mAvailableWidth - ((mColumnCount - 1) * mColumnGap)) / mColumnCount;
- mColumnWidth = mColumnWidth > 0 ? mColumnWidth :0;
- } else if (AUTO_VALUE == mColumnWidth && AUTO_VALUE != mColumnCount) {
- mColumnWidth = (mAvailableWidth - mLeftGap - mRightGap - ((mColumnCount - 1) * mColumnGap)) / mColumnCount;
- mColumnWidth = mColumnWidth > 0 ? mColumnWidth :0;
- } else if (AUTO_VALUE != mColumnWidth && AUTO_VALUE == mColumnCount) {
- mColumnCount = (int)round((mAvailableWidth + mColumnGap) / (mColumnWidth + mColumnGap)-0.5f);
- mColumnCount = mColumnCount > 0 ? mColumnCount :1;
- if (mColumnCount <= 0) {
- mColumnCount = COLUMN_COUNT_NORMAL;
- }
- mColumnWidth =((mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / mColumnCount) - mColumnGap;
+ float getColumnWidth();
- } else if(AUTO_VALUE != mColumnWidth && AUTO_VALUE != mColumnCount) {
- int columnCount = (int)round((mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / (mColumnWidth + mColumnGap)-0.5f);
- mColumnCount = columnCount > mColumnCount ? mColumnCount :columnCount;
- if (mColumnCount <= 0) {
- mColumnCount = COLUMN_COUNT_NORMAL;
- }
- mColumnWidth= ((mAvailableWidth + mColumnGap - mLeftGap - mRightGap) / mColumnCount) - mColumnGap;
- }
+ float getLeftGap();
- std::string spanOffsets = calcSpanOffset();
+ float getRightGap();
- mIsPreCalculateCellWidth = true;
- if (getColumnCount() > 0 || getColumnWidth() > 0 || mColumnCount > COLUMN_COUNT_NORMAL) {
- attrs->insert(std::pair<std::string, std::string>(COLUMN_COUNT, to_string(mColumnCount)));
- attrs->insert(std::pair<std::string, std::string>(COLUMN_GAP, to_string(mColumnGap)));
- attrs->insert(std::pair<std::string, std::string>(COLUMN_WIDTH, to_string(mColumnWidth)));
- }
- if (spanOffsets.length() > 0) {
- attrs->insert(std::pair<std::string, std::string>(SPAN_OFFSETS, to_string(spanOffsets)));
- }
+ int getOrientation();
- for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
- RenderObject::UpdateAttr(iter->first, iter->second);
- }
- }
-
- RenderPage *page = GetRenderPage();
-
- if (page != nullptr)
- page->SendUpdateAttrAction(this, attrs);
-
- if (attrs != nullptr) {
- attrs->clear();
- delete attrs;
- attrs = nullptr;
- }
- }
-
- std::string calcSpanOffset() {
- std::string spanOffsets;
- if (mLeftGap > 0 || mRightGap > 0) {
- spanOffsets.append("[");
- for (int i = 0; i < mColumnCount; i++) {
- float spanOffset = mLeftGap + i * ((mColumnWidth + mColumnGap) - (mAvailableWidth + mColumnGap) / mColumnCount);
- spanOffsets.append(to_string(spanOffset));
- if(i != mColumnCount - 1) {
- spanOffsets.append(",");
- }
- }
- spanOffsets.append("]");
- }
- return spanOffsets;
- }
-
- float getStyleWidth() {
- float width = getWebPxByWidth(getLayoutWidth(), GetRenderPage()->ViewPortWidth());
- if (isnan(width) || width <= 0){
- if(getParent() != nullptr){
- width = getWebPxByWidth(getParent()->getLayoutWidth(), GetRenderPage()->ViewPortWidth());
- }
- if (isnan(width) || width <= 0){
- width = getWebPxByWidth(RenderObject::getStyleWidth(), GetRenderPage()->ViewPortWidth());
- }
- }
- if (isnan(width) || width <= 0){
- width = GetViewPortWidth();
- }
- return width;
- }
-
-
- int AddRenderObject(int index, RenderObject *child) {
- if(Type() == kRenderRecycleList
- && (child->Type() == kRenderCellSlot || child->Type() == kRenderCell || child->Type() == kRenderHeader)){
- child->setParent(this, child);
- cellSlots.insert(cellSlots.end(), child);
- index = -1;
- }else{
- index = RenderObject::AddRenderObject(index, child);
- }
-
- if (!mIsPreCalculateCellWidth) {
- preCalculateCellWidth();
- }
-
- if(mColumnWidth != 0 && !isnan(mColumnWidth)) {
- AddRenderObjectWidth(child, false);
- }
- return index;
- }
-
- void AddRenderObjectWidth(RenderObject *child, const bool updating) {
- if (Type() == kRenderWaterfall || Type() == kRenderRecycleList) {
- if(child->Type() == kRenderHeader || child->Type() == kRenderFooter) {
- child->ApplyStyle(WIDTH, to_string(mAvailableWidth), updating);
- } else if (child->IsSticky()) {
- child->ApplyStyle(WIDTH, to_string(mAvailableWidth), updating);
- } else if (child->Type() == kRenderCell || child->Type() == kRenderCellSlot){
- child->ApplyStyle(WIDTH, to_string(mColumnWidth), updating);
- }
- }
- }
-
- void UpdateAttr(std::string key, std::string value) {
- RenderObject::UpdateAttr(key, value);
-
- if(!GetAttr(COLUMN_COUNT).empty() || !GetAttr(COLUMN_GAP).empty() || !GetAttr(COLUMN_WIDTH).empty()){
- preCalculateCellWidth();
-
- if(mColumnWidth == 0 && isnan(mColumnWidth)) {
- return;
- }
-
- int count = getChildCount();
- for (Index i = 0; i < count; i++) {
- RenderObject *child = GetChild(i);
- AddRenderObjectWidth(this, true);
- }
- }
- }
-
- float getColumnCount() {
- std::string columnCount = GetAttr(COLUMN_COUNT);
-
- if (columnCount.empty() || columnCount == AUTO) {
- return AUTO_VALUE;
- }
-
- float columnCountValue = getFloat(columnCount.c_str());
- return (columnCountValue > 0 && !isnan(columnCountValue)) ? columnCountValue : AUTO_VALUE;
- }
-
- float getColumnGap() {
- std::string columnGap = GetAttr(COLUMN_GAP);
-
- if (columnGap.empty() || columnGap == NORMAL) {
- return COLUMN_GAP_NORMAL;
- }
-
- float columnGapValue = getFloat(columnGap.c_str());
- return (columnGapValue > 0 && !isnan(columnGapValue)) ? columnGapValue : AUTO_VALUE;
+ inline float calcFreeSpaceAlongMainAxis(const float &width, const float &height, const float ¤tLength) const override {
+ return NAN;
}
- float getColumnWidth() {
- std::string columnWidth = GetAttr(COLUMN_WIDTH);
-
- if (columnWidth.empty() || columnWidth == AUTO) {
- return AUTO_VALUE;
- }
-
- float columnWidthValue = getFloat(columnWidth.c_str());
- return (columnWidthValue > 0 && !isnan(columnWidthValue)) ? columnWidthValue : 0;
+ inline std::vector<RenderObject *> &CellSlots() {
+ return cellSlots;
}
- float getLeftGap() {
- std::string leftGap = GetAttr(LEFT_GAP);
-
- if (leftGap.empty() || leftGap == AUTO) {
- return 0;
- }
-
- float leftGapValue = getFloat(leftGap.c_str());
- return (leftGapValue > 0 && !isnan(leftGapValue)) ? leftGapValue : 0;
- }
-
- float getRightGap() {
- std::string rightGap = GetAttr(RIGHT_GAP);
-
- if (rightGap.empty() || rightGap == AUTO) {
- return 0;
- }
-
- float rightGapValue = getFloat(rightGap.c_str());
- return (rightGapValue > 0 && !isnan(rightGapValue)) ? rightGapValue : 0;
- }
-
- int getOrientation(){
- std::string direction = GetAttr(SCROLL_DIRECTION);
- if(HORIZONTAL == direction){
- return HORIZONTAL_VALUE;
- }
- return VERTICAL_VALUE;
- }
+ private:
+ bool mIsPreCalculateCellWidth = false;
+ int mColumnCount = COLUMN_COUNT_NORMAL;
+ float mColumnWidth = AUTO_VALUE;
+ float mAvailableWidth = 0;
+ float mColumnGap = COLUMN_GAP_NORMAL;
+ bool mIsSetFlex = false;
+ std::vector<RenderObject *> cellSlots;
+ std::vector<RenderObject *> cellSlotsCopys;
+ float mLeftGap = 0;
+ float mRightGap = 0;
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_mask.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_mask.cpp b/weex_core/Source/core/render/node/render_mask.cpp
new file mode 100644
index 0000000..76965a4
--- /dev/null
+++ b/weex_core/Source/core/render/node/render_mask.cpp
@@ -0,0 +1,54 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#include <cstdlib>
+
+#include "core/render/node/render_mask.h"
+#include "core/config/core_environment.h"
+#include "core/css/constants_name.h"
+#include "base/ViewUtils.h"
+
+namespace WeexCore {
+
+ std::map<std::string, std::string> *RenderMask::GetDefaultStyle() {
+ std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
+
+ int width = WXCoreEnvironment::getInstance()->DeviceWidth();
+ int height = WXCoreEnvironment::getInstance()->DeviceHeight();
+
+ if (WXCoreEnvironment::getInstance()->GetOption("screen_width_pixels") != "" &&
+ WXCoreEnvironment::getInstance()->GetOption("screen_height_pixels") != "") {
+ width = atoi(WXCoreEnvironment::getInstance()->GetOption("screen_width_pixels").c_str());
+ height = atoi(WXCoreEnvironment::getInstance()->GetOption("screen_height_pixels").c_str());
+ }
+
+ if (WXCoreEnvironment::getInstance()->GetOption("status_bar_height") != "") {
+ int statusBarHeight = atoi(
+ WXCoreEnvironment::getInstance()->GetOption("status_bar_height").c_str());
+ height -= statusBarHeight;
+ }
+
+ style->insert(std::pair<std::string, std::string>(POSITION, "absolute"));
+ style->insert(std::pair<std::string, std::string>(WIDTH, to_string(
+ getWebPxByWidth(width, GetViewPortWidth()))));
+ style->insert(std::pair<std::string, std::string>(HEIGHT, to_string(
+ getWebPxByWidth(height, GetViewPortWidth()))));
+ style->insert(std::pair<std::string, std::string>(TOP, "0"));
+ return style;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_mask.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_mask.h b/weex_core/Source/core/render/node/render_mask.h
index 568e759..eb6d4a6 100644
--- a/weex_core/Source/core/render/node/render_mask.h
+++ b/weex_core/Source/core/render/node/render_mask.h
@@ -19,36 +19,16 @@
#ifndef WEEX_PROJECT_RENDERMASK_H
#define WEEX_PROJECT_RENDERMASK_H
-#include <core/render/node/render_object.h>
-#include <core/config/core_environment.h>
-#include <base/ViewUtils.h>
-#include <cstdlib>
+#include "core/render/node/render_object.h"
namespace WeexCore {
- class RenderMask : public RenderObject {
- std::map<std::string, std::string> *GetDefaultStyle() {
- std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
- int width = WXCoreEnvironment::getInstance()->DeviceWidth();
- int height = WXCoreEnvironment::getInstance()->DeviceHeight();
+ class RenderMask : public RenderObject {
- if (WXCoreEnvironment::getInstance()->GetOption("screen_width_pixels") != "" &&
- WXCoreEnvironment::getInstance()->GetOption("screen_height_pixels") != "") {
- width = atoi(WXCoreEnvironment::getInstance()->GetOption("screen_width_pixels").c_str());
- height = atoi(WXCoreEnvironment::getInstance()->GetOption("screen_height_pixels").c_str());
- }
+ public:
- if (WXCoreEnvironment::getInstance()->GetOption("status_bar_height") != "") {
- int statusBarHeight = atoi(WXCoreEnvironment::getInstance()->GetOption("status_bar_height").c_str());
- height -= statusBarHeight;
- }
+ std::map <std::string, std::string> *GetDefaultStyle();
- style->insert(std::pair<std::string, std::string>(POSITION, "absolute"));
- style->insert(std::pair<std::string, std::string>(WIDTH, to_string(getWebPxByWidth(width, GetViewPortWidth()))));
- style->insert(std::pair<std::string, std::string>(HEIGHT, to_string(getWebPxByWidth(height, GetViewPortWidth()))));
- style->insert(std::pair<std::string, std::string>(TOP, "0"));
- return style;
- }
};
}
#endif //WEEX_PROJECT_RENDERMASK_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_object.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.cpp b/weex_core/Source/core/render/node/render_object.cpp
index 4811ebc..04cc24a 100644
--- a/weex_core/Source/core/render/node/render_object.cpp
+++ b/weex_core/Source/core/render/node/render_object.cpp
@@ -16,16 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/render/node/render_object.h>
-#include <core/manager/weex_core_manager.h>
+#include "core/render/node/render_object.h"
+#include "core/manager/weex_core_manager.h"
+#include "core/css/constants_name.h"
+#include "core/css/constants_value.h"
+#include "core/css/css_value_getter.h"
+#include "core/layout/layout.h"
+#include "core/render/manager/render_manager.h"
+#include "core/render/page/render_page.h"
+#include "base/ViewUtils.h"
-using namespace std;
namespace WeexCore {
RenderObject::RenderObject() {
- mStyles = new StylesMap();
- mAttributes = new AttributesMap();
- mEvents = new EventsSet();
+ mStyles = new std::map<std::string, std::string>();
+ mAttributes = new std::map<std::string, std::string>();
+ mEvents = new std::set<std::string>();
mIsRootRender = false;
}
@@ -37,17 +43,19 @@ namespace WeexCore {
delete mStyles;
mStyles = nullptr;
}
+
if (mAttributes != nullptr) {
delete mAttributes;
mAttributes = nullptr;
}
+
if (mEvents != nullptr) {
delete mEvents;
mEvents = nullptr;
}
- for(auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
- RenderObject* child = static_cast<RenderObject*>(*it);
+ for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
if (child != nullptr) {
delete child;
child = nullptr;
@@ -77,7 +85,7 @@ namespace WeexCore {
return;
for (auto iter = attrs->cbegin(); iter != attrs->cend(); iter++) {
- UpdateAttr(iter->first, iter->second);
+ UpdateAttr(iter->first, iter->second);
}
if (attrs != nullptr) {
@@ -95,11 +103,14 @@ namespace WeexCore {
if (WeexCoreManager::getInstance()->GetMeasureFunctionAdapter() == nullptr)
return size;
- return WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->Measure(node, width, widthMeasureMode, height, heightMeasureMode);
+ return WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->Measure(node, width,
+ widthMeasureMode,
+ height,
+ heightMeasureMode);
}
void RenderObject::BindMeasureFunc() {
- setMeasureFunc(measureFunc_Impl);
+ setMeasureFunc(measureFunc_Impl);
}
void RenderObject::onLayoutBefore() {
@@ -113,4 +124,294 @@ namespace WeexCore {
return;
WeexCoreManager::getInstance()->GetMeasureFunctionAdapter()->LayoutAfter(this, width, height);
}
+
+ StyleType
+ RenderObject::ApplyStyle(const std::string &key, const std::string &value, const bool updating) {
+ bool insert = false;
+ if (value.length() > 0 &&
+ (value.at(0) == JSON_OBJECT_MARK_CHAR || value.at(0) == JSON_ARRAY_MARK_CHAR)) {
+ mapInsertOrAssign(mStyles, key, value);
+ insert = true;
+ }
+
+ if (key == ALIGN_ITEMS) {
+ setAlignItems(GetWXCoreAlignItem(value));
+ return kTypeLayout;
+ } else if (key == ALIGN_SELF) {
+ setAlignSelf(GetWXCoreAlignSelf(value));
+ return kTypeLayout;
+ } else if (key == FLEX) {
+ if (value.empty()) {
+ setFlex(0);
+ } else {
+ float ret = getFloat(value.c_str());
+ if (!isnan(ret)) {
+ setFlex(ret);
+ }
+ }
+ return kTypeLayout;
+ } else if (key == FLEX_DIRECTION) {
+ setFlexDirection(GetWXCoreFlexDirection(value), updating);
+ return kTypeLayout;
+ } else if (key == JUSTIFY_CONTENT) {
+ setJustifyContent(GetWXCoreJustifyContent(value));
+ return kTypeLayout;
+ } else if (key == FLEX_WRAP) {
+ setFlexWrap(GetWXCoreFlexWrap(value));
+ return kTypeLayout;
+ } else if (key == MIN_WIDTH) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) { setMinWidth(foo, updating); });
+ return kTypeLayout;
+ } else if (key == MIN_HEIGHT) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) { setMinHeight(foo); });
+ return kTypeLayout;
+ } else if (key == MAX_WIDTH) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) { setMaxWidth(foo, updating); });
+ return kTypeLayout;
+ } else if (key == MAX_HEIGHT) {
+ UpdateStyleInternal(key, value, NAN, [=](float foo) { setMaxHeight(foo); });
+ return kTypeLayout;
+ } else if (key == HEIGHT) {
+ if (UpdateStyleInternal(key, value, NAN, [=](float foo) { setStyleHeight(foo); })) {
+ setStyleHeightLevel(CSS_STYLE);
+ }
+ return kTypeLayout;
+ } else if (key == WIDTH) {
+ if (UpdateStyleInternal(key, value, NAN, [=](float foo) { setStyleWidth(foo, updating); })) {
+ setStyleWidthLevel(CSS_STYLE);
+ }
+ return kTypeLayout;
+ } else if (key == POSITION) {
+ setStylePositionType(GetWXCorePositionType(value));
+ if (value == STICKY) {
+ mIsSticky = true;
+ }
+ mapInsertOrAssign(mStyles, key, value);
+ return kTypeStyle;
+ } else if (key == LEFT) {
+ UpdateStyleInternal(key, value, NAN,
+ [=](float foo) { setStylePosition(kPositionEdgeLeft, foo); });
+ return kTypeLayout;
+ } else if (key == TOP) {
+ UpdateStyleInternal(key, value, NAN,
+ [=](float foo) { setStylePosition(kPositionEdgeTop, foo); });
+ return kTypeLayout;
+ } else if (key == RIGHT) {
+ UpdateStyleInternal(key, value, NAN,
+ [=](float foo) { setStylePosition(kPositionEdgeRight, foo); });
+ return kTypeLayout;
+ } else if (key == BOTTOM) {
+ UpdateStyleInternal(key, value, NAN,
+ [=](float foo) { setStylePosition(kPositionEdgeBottom, foo); });
+ return kTypeLayout;
+ } else if (key == MARGIN) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginALL, foo); });
+ return kTypeMargin;
+ } else if (key == MARGIN_LEFT) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginLeft, foo); });
+ return kTypeMargin;
+ } else if (key == MARGIN_TOP) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginTop, foo); });
+ return kTypeMargin;
+ } else if (key == MARGIN_RIGHT) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginRight, foo); });
+ return kTypeMargin;
+ } else if (key == MARGIN_BOTTOM) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setMargin(kMarginBottom, foo); });
+ return kTypeMargin;
+ } else if (key == BORDER_WIDTH) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setBorderWidth(kBorderWidthALL, foo); });
+ return kTypeBorder;
+ } else if (key == BORDER_TOP_WIDTH) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setBorderWidth(kBorderWidthTop, foo); });
+ return kTypeBorder;
+ } else if (key == BORDER_RIGHT_WIDTH) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setBorderWidth(kBorderWidthRight, foo); });
+ return kTypeBorder;
+ } else if (key == BORDER_BOTTOM_WIDTH) {
+ UpdateStyleInternal(key, value, 0,
+ [=](float foo) { setBorderWidth(kBorderWidthBottom, foo); });
+ return kTypeBorder;
+ } else if (key == BORDER_LEFT_WIDTH) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setBorderWidth(kBorderWidthLeft, foo); });
+ return kTypeBorder;
+ } else if (key == PADDING) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingALL, foo); });
+ return kTypePadding;
+ } else if (key == PADDING_LEFT) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingLeft, foo); });
+ return kTypePadding;
+ } else if (key == PADDING_TOP) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingTop, foo); });
+ return kTypePadding;
+ } else if (key == PADDING_RIGHT) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingRight, foo); });
+ return kTypePadding;
+ } else if (key == PADDING_BOTTOM) {
+ UpdateStyleInternal(key, value, 0, [=](float foo) { setPadding(kPaddingBottom, foo); });
+ return kTypePadding;
+ } else {
+ if (!insert) {
+ mapInsertOrAssign(mStyles, key, value);
+ }
+ return kTypeStyle;
+ }
+ }
+
+ const std::string RenderObject::GetStyle(const std::string &key) {
+ if (mStyles == nullptr)
+ return "";
+
+ std::map<std::string, std::string>::iterator iter = mStyles->find(key);
+ if (iter != mStyles->end()) {
+ return iter->second;
+ } else {
+ return "";
+ }
+ }
+
+ const std::string RenderObject::GetAttr(const std::string &key) {
+ if (mAttributes == nullptr)
+ return "";
+
+ std::map<std::string, std::string>::iterator iter = mAttributes->find(key);
+ if (iter != mAttributes->end()) {
+ return iter->second;
+ } else {
+ return "";
+ }
+ }
+
+ float RenderObject::GetViewPortWidth() {
+ if (mViewPortWidth >= 0)
+ return mViewPortWidth;
+
+ RenderPage *page = GetRenderPage();
+ if (page == nullptr)
+ return kDefaultViewPortWidth;
+
+ return page->ViewPortWidth();
+ }
+
+ int RenderObject::AddRenderObject(int index, RenderObject *child) {
+ if (child == nullptr || index < -1) {
+ return index;
+ }
+
+ Index count = getChildCount();
+ index = index >= count ? -1 : index;
+ if (index == -1) {
+ addChildAt(child, getChildCount());
+ } else {
+ addChildAt(child, index);
+ }
+
+ child->SetParentRender(this);
+
+ return index;
+ }
+
+ Index RenderObject::IndexOf(const RenderObject *render) {
+ if (render == nullptr) {
+ return -1;
+ } else {
+ int i = 0;
+ for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ if (render->Ref() == child->Ref())
+ return i;
+ }
+ ++i;
+ }
+ }
+ return -1;
+ }
+
+ bool RenderObject::UpdateStyleInternal(const std::string key, const std::string value,
+ float fallback,
+ std::function<void(float)> functor) {
+ bool ret = false;
+ if (value.empty()) {
+ functor(fallback);
+ ret = true;
+ } else {
+ float fvalue = getFloatByViewport(value, GetViewPortWidth());
+ if (!isnan(fvalue)) {
+ functor(fvalue);
+ ret = true;
+ }
+ }
+ return ret;
+ }
+
+ void RenderObject::LayoutBefore() {
+ if (isDirty()) {
+ onLayoutBefore();
+ }
+
+ for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ child->LayoutBefore();
+ }
+ }
+ }
+
+ void RenderObject::LayoutAfter() {
+ if (hasNewLayout()) {
+ onLayoutAfter(getLayoutWidth(), getLayoutHeight());
+ }
+
+ for (auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
+ RenderObject *child = static_cast<RenderObject *>(*it);
+ if (child != nullptr) {
+ child->LayoutAfter();
+ }
+ }
+ }
+
+ void RenderObject::copyFrom(RenderObject *src) {
+ IRenderObject::copyFrom(src);
+ this->mStyles->insert(src->mStyles->begin(), src->mStyles->end());
+ this->mAttributes->insert(src->mAttributes->begin(), src->mAttributes->end());
+ this->mEvents->insert(src->mEvents->begin(), src->mEvents->end());
+ }
+
+ void RenderObject::mapInsertOrAssign(std::map<std::string, std::string> *targetMap,
+ const std::string &key, const std::string &value) {
+ std::map<std::string, std::string>::iterator it = targetMap->find(key);
+ if (it != targetMap->end()) {
+ it->second = value;
+ } else {
+ targetMap->insert({key, value});
+ }
+ }
+
+ bool RenderObject::ViewInit() {
+ return (!isnan(getStyleWidth()) && getStyleWidth() > 0) ||
+ (IsRootRender() && GetRenderPage() != nullptr &&
+ GetRenderPage()->GetRenderContainerWidthWrapContent());
+ }
+
+ RenderPage *RenderObject::GetRenderPage() {
+ return RenderManager::GetInstance()->GetPage(PageId());
+ }
+
+ bool RenderObject::IsAppendTree() {
+ std::string append = GetAttr(APPEND);
+ if (append == "tree") {
+ return true;
+ }
+ return false;
+ }
+
+ void RenderObject::UpdateAttr(std::string key, std::string value) {
+ mapInsertOrAssign(mAttributes, key, value);
+ }
+
+ StyleType RenderObject::UpdateStyle(std::string key, std::string value) {
+ return ApplyStyle(key, value, true);
+ }
} //end WeexCore
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_object.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_object.h b/weex_core/Source/core/render/node/render_object.h
index 062a4c3..ea943c3 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -22,16 +22,9 @@
#include <string>
#include <map>
#include <set>
-#include <core/css/constants_name.h>
-#include <core/css/css_value_getter.h>
-#include <core/layout/layout.h>
-#include <core/render/manager/render_manager.h>
-#include <core/render/node/factory/i_render_object.h>
-#include <base/ViewUtils.h>
-#include <core/render/page/render_page.h>
-#include <core/css/constants_value.h>
#include <functional>
+#include "core/render/node/factory/i_render_object.h"
#define JSON_OBJECT_MARK_CHAR '{'
#define JSON_ARRAY_MARK_CHAR '['
@@ -50,48 +43,21 @@ namespace WeexCore {
kTypeStyle, kTypeLayout, kTypeMargin, kTypePadding, kTypeBorder
} StyleType;
- typedef std::map<std::string, std::string>::const_iterator StylesIterator;
- typedef std::map<std::string, std::string>::const_iterator AttributesIterator;
- typedef std::set<std::string>::const_iterator EventsIterator;
- typedef std::map<std::string, std::string> StylesMap;
- typedef std::map<std::string, std::string> AttributesMap;
- typedef std::set<std::string> EventsSet;
-
class RenderObject : public IRenderObject {
friend class RenderPage;
public:
- inline void LayoutBefore() {
- if (isDirty()) {
- onLayoutBefore();
- }
- for(auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
- RenderObject* child = static_cast<RenderObject*>(*it);
- if (child != nullptr) {
- child->LayoutBefore();
- }
- }
- }
+ void LayoutBefore();
- inline void LayoutAfter() {
- if (hasNewLayout()) {
- onLayoutAfter(getLayoutWidth(), getLayoutHeight());
- }
+ void LayoutAfter();
- for(auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
- RenderObject* child = static_cast<RenderObject*>(*it);
- if (child != nullptr) {
- child->LayoutAfter();
- }
- }
- }
+ void copyFrom(RenderObject* src);
- inline bool ViewInit() {
- return (!isnan(getStyleWidth()) && getStyleWidth() > 0) ||
- (IsRootRender() && GetRenderPage() != nullptr && GetRenderPage()->GetRenderContainerWidthWrapContent());
- }
+ void mapInsertOrAssign(std::map<std::string, std::string> *targetMap, const std::string& key, const std::string& value);
+
+ bool ViewInit();
virtual std::map<std::string, std::string> *GetDefaultStyle() {
return nullptr;
@@ -101,38 +67,10 @@ namespace WeexCore {
return nullptr;
}
- void copyFrom(RenderObject* src){
- IRenderObject::copyFrom(src);
- this->mStyles->insert(src->mStyles->begin(), src->mStyles->end());
- this->mAttributes->insert(src->mAttributes->begin(), src->mAttributes->end());
- this->mEvents->insert(src->mEvents->begin(), src->mEvents->end());
- }
-
- inline void mapInsertOrAssign(std::map<std::string, std::string> *targetMap, const std::string& key, const std::string& value) {
- std::map<std::string, std::string>::iterator it = targetMap->find(key);
- if(it != targetMap->end()){
- it->second = value;
- }else{
- targetMap->insert({key, value});
- }
- }
+ protected:
- protected:
- bool UpdateStyle(const std::string key, const std::string value,
- float fallback, std::function<void(float)> functor){
- bool ret = false;
- if (value.empty()) {
- functor(fallback);
- ret = true;
- } else {
- float fvalue = getFloatByViewport(value, GetViewPortWidth());
- if (!isnan(fvalue)) {
- functor(fvalue);
- ret = true;
- }
- }
- return ret;
- }
+ bool UpdateStyleInternal(const std::string key, const std::string value, float fallback,
+ std::function<void(float)> functor);
public:
@@ -146,174 +84,32 @@ namespace WeexCore {
void onLayoutAfter(float width, float height);
- virtual StyleType ApplyStyle(const std::string &key, const std::string &value, const bool updating) {
- bool insert = false;
- if(value.length() > 0 && (value.at(0) == JSON_OBJECT_MARK_CHAR || value.at(0) == JSON_ARRAY_MARK_CHAR)){
- mapInsertOrAssign(mStyles, key, value);
- insert = true;
- }
-
- if (key == ALIGN_ITEMS) {
- setAlignItems(GetWXCoreAlignItem(value));
- return kTypeLayout;
- } else if (key == ALIGN_SELF) {
- setAlignSelf(GetWXCoreAlignSelf(value));
- return kTypeLayout;
- } else if (key == FLEX) {
- if (value.empty()) {
- setFlex(0);
- } else {
- float ret = getFloat(value.c_str());
- if (!isnan(ret)) {
- setFlex(ret);
- }
- }
- return kTypeLayout;
- } else if (key == FLEX_DIRECTION) {
- setFlexDirection(GetWXCoreFlexDirection(value), updating);
- return kTypeLayout;
- } else if (key == JUSTIFY_CONTENT) {
- setJustifyContent(GetWXCoreJustifyContent(value));
- return kTypeLayout;
- } else if (key == FLEX_WRAP) {
- setFlexWrap(GetWXCoreFlexWrap(value));
- return kTypeLayout;
- } else if (key == MIN_WIDTH) {
- UpdateStyle(key, value, NAN, [=](float foo){setMinWidth(foo, updating);});
- return kTypeLayout;
- } else if (key == MIN_HEIGHT) {
- UpdateStyle(key, value, NAN, [=](float foo){setMinHeight(foo);});
- return kTypeLayout;
- } else if (key == MAX_WIDTH) {
- UpdateStyle(key, value, NAN, [=](float foo){setMaxWidth(foo, updating);});
- return kTypeLayout;
- } else if (key == MAX_HEIGHT) {
- UpdateStyle(key, value, NAN, [=](float foo){setMaxHeight(foo);});
- return kTypeLayout;
- } else if (key == HEIGHT) {
- if(UpdateStyle(key, value, NAN, [=](float foo){setStyleHeight(foo);})){
- setStyleHeightLevel(CSS_STYLE);
- }
- return kTypeLayout;
- } else if (key == WIDTH) {
- if(UpdateStyle(key, value, NAN, [=](float foo){setStyleWidth(foo, updating);})){
- setStyleWidthLevel(CSS_STYLE);
- }
- return kTypeLayout;
- } else if (key == POSITION) {
- setStylePositionType(GetWXCorePositionType(value));
- if (value == STICKY) {
- mIsSticky = true;
- }
- mapInsertOrAssign(mStyles, key, value);
- return kTypeStyle;
- } else if (key == LEFT) {
- UpdateStyle(key, value, NAN, [=](float foo){setStylePosition(kPositionEdgeLeft, foo);});
- return kTypeLayout;
- } else if (key == TOP) {
- UpdateStyle(key, value, NAN, [=](float foo){setStylePosition(kPositionEdgeTop, foo);});
- return kTypeLayout;
- } else if (key == RIGHT) {
- UpdateStyle(key, value, NAN, [=](float foo){setStylePosition(kPositionEdgeRight, foo);});
- return kTypeLayout;
- } else if (key == BOTTOM) {
- UpdateStyle(key, value, NAN, [=](float foo){setStylePosition(kPositionEdgeBottom, foo);});
- return kTypeLayout;
- } else if (key == MARGIN) {
- UpdateStyle(key, value, 0, [=](float foo){setMargin(kMarginALL, foo);});
- return kTypeMargin;
- } else if (key == MARGIN_LEFT) {
- UpdateStyle(key, value, 0, [=](float foo){setMargin(kMarginLeft, foo);});
- return kTypeMargin;
- } else if (key == MARGIN_TOP) {
- UpdateStyle(key, value, 0, [=](float foo){setMargin(kMarginTop, foo);});
- return kTypeMargin;
- } else if (key == MARGIN_RIGHT) {
- UpdateStyle(key, value, 0, [=](float foo){setMargin(kMarginRight, foo);});
- return kTypeMargin;
- } else if (key == MARGIN_BOTTOM) {
- UpdateStyle(key, value, 0, [=](float foo){setMargin(kMarginBottom, foo);});
- return kTypeMargin;
- } else if (key == BORDER_WIDTH) {
- UpdateStyle(key, value, 0, [=](float foo){setBorderWidth(kBorderWidthALL, foo);});
- return kTypeBorder;
- } else if (key == BORDER_TOP_WIDTH) {
- UpdateStyle(key, value, 0, [=](float foo){setBorderWidth(kBorderWidthTop, foo);});
- return kTypeBorder;
- } else if (key == BORDER_RIGHT_WIDTH) {
- UpdateStyle(key, value, 0, [=](float foo){setBorderWidth(kBorderWidthRight, foo);});
- return kTypeBorder;
- } else if (key == BORDER_BOTTOM_WIDTH) {
- UpdateStyle(key, value, 0, [=](float foo){setBorderWidth(kBorderWidthBottom, foo);});
- return kTypeBorder;
- } else if (key == BORDER_LEFT_WIDTH) {
- UpdateStyle(key, value, 0, [=](float foo){setBorderWidth(kBorderWidthLeft, foo);});
- return kTypeBorder;
- } else if (key == PADDING) {
- UpdateStyle(key, value, 0, [=](float foo){setPadding(kPaddingALL, foo);});
- return kTypePadding;
- } else if (key == PADDING_LEFT) {
- UpdateStyle(key, value, 0, [=](float foo){setPadding(kPaddingLeft, foo);});
- return kTypePadding;
- } else if (key == PADDING_TOP) {
- UpdateStyle(key, value, 0, [=](float foo){setPadding(kPaddingTop, foo);});
- return kTypePadding;
- } else if (key == PADDING_RIGHT) {
- UpdateStyle(key, value, 0, [=](float foo){setPadding(kPaddingRight, foo);});
- return kTypePadding;
- } else if (key == PADDING_BOTTOM) {
- UpdateStyle(key, value, 0, [=](float foo){setPadding(kPaddingBottom, foo);});
- return kTypePadding;
- } else {
- if(!insert){
- mapInsertOrAssign(mStyles, key, value);
- }
- return kTypeStyle;
- }
- }
+ virtual StyleType ApplyStyle(const std::string &key, const std::string &value, const bool updating);
void ApplyDefaultStyle();
void ApplyDefaultAttr();
- inline RenderObject *GetChild(const Index &index) {
- return static_cast<RenderObject*>(getChildAt(index));
- }
+ Index IndexOf(const RenderObject *render);
- inline Index IndexOf(const RenderObject *render) {
- if (render == nullptr) {
- return -1;
- } else {
- int i = 0;
- for(auto it = ChildListIterBegin(); it != ChildListIterEnd(); it++) {
- RenderObject* child = static_cast<RenderObject*>(*it);
- if (child != nullptr) {
- if (render->Ref() == child->Ref())
- return i;
- }
- ++i;
- }
- }
- return -1;
- }
+ virtual int AddRenderObject(int index, RenderObject *child);
- virtual int AddRenderObject(int index, RenderObject *child) {
+ float GetViewPortWidth();
- if (child == nullptr || index < -1) {
- return index;
- }
+ const std::string GetAttr(const std::string &key);
- Index count = getChildCount();
- index = index >= count ? -1 : index;
- if (index == -1) {
- addChildAt(child, getChildCount());
- } else {
- addChildAt(child, index);
- }
+ const std::string GetStyle(const std::string &key);
+
+ RenderPage *GetRenderPage();
+
+ virtual void UpdateAttr(std::string key, std::string value);
+
+ virtual StyleType UpdateStyle(std::string key, std::string value);
- child->SetParentRender(this);
+ bool IsAppendTree();
- return index;
+ inline RenderObject *GetChild(const Index &index) {
+ return static_cast<RenderObject*>(getChildAt(index));
}
inline void RemoveRenderObject(RenderObject *child) {
@@ -324,21 +120,13 @@ namespace WeexCore {
mapInsertOrAssign(mAttributes, key, value);
}
- virtual void UpdateAttr(std::string key, std::string value) {
- mapInsertOrAssign(mAttributes, key, value);
- }
-
- virtual StyleType UpdateStyle(std::string key, std::string value) {
- return ApplyStyle(key, value, true);
- }
-
inline StyleType AddStyle(std::string key, std::string value) {
return ApplyStyle(key, value, false);
}
inline void AddEvent(std::string event) {
if (mEvents == nullptr || mEvents->empty()) {
- mEvents = new EventsSet();
+ mEvents = new std::set<std::string>();
}
mEvents->insert(event);
}
@@ -347,21 +135,6 @@ namespace WeexCore {
mEvents->erase(event);
}
- inline RenderPage *GetRenderPage() {
- return RenderManager::GetInstance()->GetPage(PageId());
- }
-
- inline float GetViewPortWidth() {
- if (mViewPortWidth >= 0)
- return mViewPortWidth;
-
- RenderPage *page = GetRenderPage();
- if (page == nullptr)
- return kDefaultViewPortWidth;
-
- return page->ViewPortWidth();
- }
-
inline void SetParentRender(RenderObject *render) {
mParentRender = render;
}
@@ -370,66 +143,18 @@ namespace WeexCore {
return mParentRender;
}
- inline StylesMap *Styles() const {
+ inline std::map<std::string, std::string> *Styles() const {
return mStyles;
}
- inline AttributesMap * Attributes() const {
+ inline std::map<std::string, std::string> * Attributes() const {
return mAttributes;
}
- inline EventsSet *Events() const {
+ inline std::set<std::string> *Events() const {
return mEvents;
}
- inline StylesIterator StyleItBegin() {
- return mStyles->begin();
- }
-
- inline StylesIterator StyleItEnd() {
- return mStyles->end();
- }
-
- inline AttributesIterator AttrItBegin() {
- return mAttributes->begin();
- }
-
- inline AttributesIterator AttrItEnd() {
- return mAttributes->end();
- }
-
- inline EventsIterator EventItBegin() {
- return mEvents->begin();
- }
-
- inline EventsIterator EventItEnd() {
- return mEvents->end();
- }
-
- inline const std::string GetAttr(const std::string &key) {
- if (mAttributes == nullptr)
- return "";
-
- std::map<std::string, std::string>::iterator iter = mAttributes->find(key);
- if (iter != mAttributes->end()) {
- return iter->second;
- } else {
- return "";
- }
- }
-
- inline const std::string GetStyle(const std::string &key) {
- if (mStyles == nullptr)
- return "";
-
- std::map<std::string, std::string>::iterator iter = mStyles->find(key);
- if (iter != mStyles->end()) {
- return iter->second;
- } else {
- return "";
- }
- }
-
inline void MarkRootRender() {
mIsRootRender = true;
}
@@ -438,23 +163,16 @@ namespace WeexCore {
return mIsRootRender;
}
- inline bool IsAppendTree() {
- std::string append = GetAttr(APPEND);
- if(append == "tree") {
- return true;
- }
- return false;
- }
-
inline bool IsSticky() {
return mIsSticky;
}
private:
+
RenderObject *mParentRender;
- StylesMap *mStyles;
- AttributesMap *mAttributes;
- EventsSet *mEvents;
+ std::map<std::string, std::string> *mStyles;
+ std::map<std::string, std::string> *mAttributes;
+ std::set<std::string> *mEvents;
float mViewPortWidth = -1;
bool mIsRootRender;
bool mIsSticky = false;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_scroller.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_scroller.cpp b/weex_core/Source/core/render/node/render_scroller.cpp
new file mode 100644
index 0000000..563f7db
--- /dev/null
+++ b/weex_core/Source/core/render/node/render_scroller.cpp
@@ -0,0 +1,51 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#include "core/render/node/render_scroller.h"
+#include "core/css/constants_name.h"
+
+namespace WeexCore {
+
+ std::map<std::string, std::string> *RenderScroller::GetDefaultStyle() {
+ std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
+
+ bool isVertical = true;
+ RenderObject *parent = (RenderObject *) getParent();
+
+ if (parent != nullptr) {
+ if (parent->GetAttr(SCROLL_DIRECTION) == HORIZONTAL) {
+ isVertical = false;
+ }
+ }
+
+ std::string prop = isVertical ? HEIGHT : WIDTH;
+
+ if (prop == HEIGHT && isnan(getStyleHeight()) && !mIsSetFlex) {
+ style->insert(std::pair<std::string, std::string>(FLEX, "1"));
+ } else if (prop == WIDTH && isnan(getStyleWidth()) && !mIsSetFlex) {
+ style->insert(std::pair<std::string, std::string>(FLEX, "1"));
+ }
+
+ return style;
+ }
+
+ void RenderScroller::setFlex(const float flex) {
+ mIsSetFlex = true;
+ WXCoreLayoutNode::setFlex(flex);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_scroller.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_scroller.h b/weex_core/Source/core/render/node/render_scroller.h
index 38e804a..cb4e1f0 100644
--- a/weex_core/Source/core/render/node/render_scroller.h
+++ b/weex_core/Source/core/render/node/render_scroller.h
@@ -19,43 +19,19 @@
#ifndef WEEX_PROJECT_RENDERSCROLLER_H
#define WEEX_PROJECT_RENDERSCROLLER_H
-#include <core/render/node/render_object.h>
+#include "core/render/node/render_object.h"
namespace WeexCore {
class RenderScroller : public RenderObject {
bool mIsSetFlex = false;
- std::map<std::string, std::string> *GetDefaultStyle() {
- std::map<std::string, std::string> *style = new std::map<std::string, std::string>();
+ std::map<std::string, std::string> *GetDefaultStyle();
- bool isVertical = true;
- RenderObject *parent = (RenderObject *) getParent();
+ void setFlex(const float flex);
- if (parent != nullptr) {
- if (parent->GetAttr(SCROLL_DIRECTION) == HORIZONTAL) {
- isVertical = false;
- }
- }
-
- std::string prop = isVertical ? HEIGHT : WIDTH;
-
- if (prop == HEIGHT && isnan(getStyleHeight()) && !mIsSetFlex) {
- style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- } else if (prop == WIDTH && isnan(getStyleWidth()) && !mIsSetFlex) {
- style->insert(std::pair<std::string, std::string>(FLEX, "1"));
- }
-
- return style;
- }
-
- inline void setFlex(const float flex) {
- mIsSetFlex = true;
- WXCoreLayoutNode::setFlex(flex);
- }
-
-
- float calcFreeSpaceAlongMainAxis(const float &width, const float &height, const float ¤tLength) const override {
+ inline float calcFreeSpaceAlongMainAxis(const float &width, const float &height,
+ const float ¤tLength) const override {
return NAN;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_switch.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_switch.h b/weex_core/Source/core/render/node/render_switch.h
deleted file mode 100644
index f52ede7..0000000
--- a/weex_core/Source/core/render/node/render_switch.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_RENDERSWITCH_H
-#define WEEX_PROJECT_RENDERSWITCH_H
-
-#include <core/render/node/render_object.h>
-
-namespace WeexCore {
- class RenderSwitch : public RenderObject {
-
- };
-}
-
-#endif //WEEX_PROJECT_RENDERSWITCH_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_text.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_text.cpp b/weex_core/Source/core/render/node/render_text.cpp
new file mode 100644
index 0000000..4aa3490
--- /dev/null
+++ b/weex_core/Source/core/render/node/render_text.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#include "core/render/node/render_text.h"
+#include "core/render/page/render_page.h"
+
+namespace WeexCore {
+
+ void RenderText::UpdateAttr(std::string key, std::string value) {
+ RenderObject::UpdateAttr(key, value);
+ markDirty();
+ }
+
+ StyleType RenderText::UpdateStyle(std::string key, std::string value) {
+ StyleType resultType = RenderObject::ApplyStyle(key, value, true);
+ markDirty();
+ return resultType;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_text.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_text.h b/weex_core/Source/core/render/node/render_text.h
index 165e8a7..804b298 100644
--- a/weex_core/Source/core/render/node/render_text.h
+++ b/weex_core/Source/core/render/node/render_text.h
@@ -19,22 +19,16 @@
#ifndef WEEX_PROJECT_RENDERTEXT_H
#define WEEX_PROJECT_RENDERTEXT_H
-#include <core/render/node/render_object.h>
-#include <core/render/page/render_page.h>
+#include "core/render/node/render_object.h"
namespace WeexCore {
class RenderText : public RenderObject {
+
private:
- inline void UpdateAttr(std::string key, std::string value) {
- RenderObject::UpdateAttr(key, value);
- markDirty();
- }
- inline StyleType UpdateStyle(std::string key, std::string value) {
- StyleType resultType = RenderObject::ApplyStyle(key, value, true);
- markDirty();
- return resultType;
- }
+ void UpdateAttr(std::string key, std::string value);
+
+ StyleType UpdateStyle(std::string key, std::string value);
};
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_textarea.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/node/render_textarea.h b/weex_core/Source/core/render/node/render_textarea.h
deleted file mode 100644
index f15569d..0000000
--- a/weex_core/Source/core/render/node/render_textarea.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-#ifndef WEEX_PROJECT_RENDERTEXTAREA_H
-#define WEEX_PROJECT_RENDERTEXTAREA_H
-
-#include <core/render/node/render_input.h>
-
-namespace WeexCore {
- class RenderTextArea : public RenderInput {
-
- };
-}
-
-#endif //WEEX_PROJECT_RENDERTEXTAREA_H
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/page/render_page.cpp
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.cpp b/weex_core/Source/core/render/page/render_page.cpp
index cc2b4c9..82e14d7 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -16,26 +16,27 @@
* specific language governing permissions and limitations
* under the License.
*/
-#include <core/render/action/render_action_add_element.h>
-#include <core/render/action/render_action_remove_element.h>
-#include <core/render/action/render_action_move_element.h>
-#include <core/render/action/render_action_createbody.h>
-#include <core/render/action/render_action_update_style.h>
-#include <core/render/action/render_action_update_attr.h>
-#include <core/render/action/render_action_layout.h>
-#include <core/render/action/render_action_createfinish.h>
-#include <core/render/action/render_action_appendtree_createfinish.h>
-#include <core/layout/layout.h>
-#include <core/moniter/render_performance.h>
-#include <core/config/core_environment.h>
-#include <base/ViewUtils.h>
-#include <core/render/action/render_action_add_event.h>
-#include <core/render/action/render_action_remove_event.h>
-#include <core/css/constants_value.h>
-#include <core/render/node/factory/render_type.h>
-#include <core/render/node/render_list.h>
-#include <core/manager/weex_core_manager.h>
-#include "render_page.h"
+#include "core/render/action/render_action_add_element.h"
+#include "core/render/action/render_action_remove_element.h"
+#include "core/render/action/render_action_move_element.h"
+#include "core/render/action/render_action_createbody.h"
+#include "core/render/action/render_action_update_style.h"
+#include "core/render/action/render_action_update_attr.h"
+#include "core/render/action/render_action_layout.h"
+#include "core/render/action/render_action_createfinish.h"
+#include "core/render/action/render_action_appendtree_createfinish.h"
+#include "core/layout/layout.h"
+#include "core/moniter/render_performance.h"
+#include "core/config/core_environment.h"
+#include "base/ViewUtils.h"
+#include "core/render/action/render_action_add_event.h"
+#include "core/render/action/render_action_remove_event.h"
+#include "core/css/constants_value.h"
+#include "core/render/node/factory/render_type.h"
+#include "core/render/node/render_list.h"
+#include "core/manager/weex_core_manager.h"
+#include "base/TimeUtils.h"
+#include "core/render/page/render_page.h"
#include "core/render/manager/render_manager.h"
#include "core/render/node/render_object.h"
@@ -259,40 +260,40 @@ namespace WeexCore {
if (margin == nullptr) {
margin = new std::vector<std::pair<std::string, std::string>>();
}
- render->UpdateStyle((*iter).first,
- (*iter).second,
- 0,
- [=, &flag](float foo) {
- (*iter).second = to_string(foo),
- margin->insert(margin->end(), (*iter)),
- flag = true;
- });
+ render->UpdateStyleInternal((*iter).first,
+ (*iter).second,
+ 0,
+ [=, &flag](float foo) {
+ (*iter).second = to_string(foo),
+ margin->insert(margin->end(), (*iter)),
+ flag = true;
+ });
break;
case kTypePadding:
if (padding == nullptr) {
padding = new std::vector<std::pair<std::string, std::string>>();
}
- render->UpdateStyle((*iter).first,
- (*iter).second,
- 0,
- [=, &flag](float foo) {
- (*iter).second = to_string(foo),
- padding->insert(padding->end(), (*iter)),
- flag = true;
- });
+ render->UpdateStyleInternal((*iter).first,
+ (*iter).second,
+ 0,
+ [=, &flag](float foo) {
+ (*iter).second = to_string(foo),
+ padding->insert(padding->end(), (*iter)),
+ flag = true;
+ });
break;
case kTypeBorder:
if (border == nullptr) {
border = new std::vector<std::pair<std::string, std::string>>();
}
- render->UpdateStyle((*iter).first,
- (*iter).second,
- 0,
- [=, &flag](float foo) {
- (*iter).second = to_string(foo),
- border->insert(border->end(), (*iter)),
- flag = true;
- });
+ render->UpdateStyleInternal((*iter).first,
+ (*iter).second,
+ 0,
+ [=, &flag](float foo) {
+ (*iter).second = to_string(foo),
+ border->insert(border->end(), (*iter)),
+ flag = true;
+ });
break;
}
}
@@ -397,7 +398,7 @@ namespace WeexCore {
render->AddEvent(event);
- render_action *action = new RenderActionAddEvent(mPageId, ref, event);
+ RenderAction *action = new RenderActionAddEvent(mPageId, ref, event);
PostRenderAction(action);
return true;
}
@@ -409,7 +410,7 @@ namespace WeexCore {
render->RemoveEvent(event);
- render_action *action = new RenderActionRemoveEvent(mPageId, ref, event);
+ RenderAction *action = new RenderActionRemoveEvent(mPageId, ref, event);
PostRenderAction(action);
return true;
}
@@ -432,7 +433,7 @@ namespace WeexCore {
}
}
- void RenderPage::PostRenderAction(render_action *action) {
+ void RenderPage::PostRenderAction(RenderAction *action) {
if (action != nullptr) {
action->ExecuteAction();
}
@@ -471,7 +472,7 @@ namespace WeexCore {
if (render == nullptr)
return;
- render_action *action = new RenderActionCreateBody(PageId(), render);
+ RenderAction *action = new RenderActionCreateBody(PageId(), render);
PostRenderAction(action);
Index i = 0;
@@ -495,7 +496,7 @@ namespace WeexCore {
willLayout = false;
}
- render_action *action = new RenderActionAddElement(PageId(), child, parent, index, willLayout);
+ RenderAction *action = new RenderActionAddElement(PageId(), child, parent, index, willLayout);
PostRenderAction(action);
Index i = 0;
@@ -525,12 +526,12 @@ namespace WeexCore {
}
void RenderPage::SendRemoveElementAction(const std::string &ref) {
- render_action *action = new RenderActionRemoveElement(PageId(), ref);
+ RenderAction *action = new RenderActionRemoveElement(PageId(), ref);
PostRenderAction(action);
}
void RenderPage::SendMoveElementAction(const std::string &ref, const std::string &parentRef, int index) {
- render_action *action = new RenderActionMoveElement(PageId(), ref, parentRef, index);
+ RenderAction *action = new RenderActionMoveElement(PageId(), ref, parentRef, index);
PostRenderAction(action);
}
@@ -538,7 +539,7 @@ namespace WeexCore {
if (render == nullptr)
return;
- render_action *action = new RenderActionLayout(PageId(), render, index);
+ RenderAction *action = new RenderActionLayout(PageId(), render, index);
PostRenderAction(action);
}
@@ -547,13 +548,13 @@ namespace WeexCore {
std::vector<std::pair<std::string, std::string>> *margin,
std::vector<std::pair<std::string, std::string>> *padding,
std::vector<std::pair<std::string, std::string>> *border) {
- render_action *action = new RenderActionUpdateStyle(PageId(), render->Ref(), style, margin, padding, border);
+ RenderAction *action = new RenderActionUpdateStyle(PageId(), render->Ref(), style, margin, padding, border);
PostRenderAction(action);
}
void RenderPage::SendUpdateAttrAction(RenderObject *render,
std::vector<std::pair<std::string, std::string>> *attrs) {
- render_action *action = new RenderActionUpdateAttr(PageId(), render->Ref(), attrs);
+ RenderAction *action = new RenderActionUpdateAttr(PageId(), render->Ref(), attrs);
PostRenderAction(action);
}
@@ -564,7 +565,7 @@ namespace WeexCore {
vAttrs->insert(vAttrs->begin(), std::pair<std::string, std::string>(iter->first, iter->second));
}
- render_action *action = new RenderActionUpdateAttr(PageId(), render->Ref(), vAttrs);
+ RenderAction *action = new RenderActionUpdateAttr(PageId(), render->Ref(), vAttrs);
PostRenderAction(action);
if (vAttrs != nullptr) {
@@ -575,12 +576,12 @@ namespace WeexCore {
}
void RenderPage::SendCreateFinishAction() {
- render_action *action = new RenderActionCreateFinish(PageId());
+ RenderAction *action = new RenderActionCreateFinish(PageId());
PostRenderAction(action);
}
void RenderPage::SendAppendTreeCreateFinish(const std::string &ref) {
- render_action *action = new RenderActionAppendTreeCreateFinish(PageId(), ref);
+ RenderAction *action = new RenderActionAppendTreeCreateFinish(PageId(), ref);
PostRenderAction(action);
}
@@ -621,6 +622,15 @@ namespace WeexCore {
}
}
+ RenderObject* RenderPage::GetRenderObject(const std::string &ref) {
+ std::map<std::string, RenderObject *>::iterator iter = mRenderObjectRegisterMap.find(ref);
+ if (iter != mRenderObjectRegisterMap.end()) {
+ return iter->second;
+ } else {
+ return nullptr;
+ }
+ }
+
void RenderPage::OnRenderPageInit() {
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/page/render_page.h
----------------------------------------------------------------------
diff --git a/weex_core/Source/core/render/page/render_page.h b/weex_core/Source/core/render/page/render_page.h
index 369d057..36bc583 100644
--- a/weex_core/Source/core/render/page/render_page.h
+++ b/weex_core/Source/core/render/page/render_page.h
@@ -29,7 +29,7 @@ namespace WeexCore {
constexpr float kLayoutFirstScreenOverflowRadio = 1.2f;
- class render_action;
+ class RenderAction;
class RenderObject;
@@ -55,12 +55,11 @@ namespace WeexCore {
void SendLayoutAction(RenderObject *render, int index);
- void
- SendUpdateStyleAction(RenderObject *render,
- std::vector<std::pair<std::string, std::string>> *style,
- std::vector<std::pair<std::string, std::string>> *margin,
- std::vector<std::pair<std::string, std::string>> *padding,
- std::vector<std::pair<std::string, std::string>> *border);
+ void SendUpdateStyleAction(RenderObject *render,
+ std::vector <std::pair<std::string, std::string>> *style,
+ std::vector <std::pair<std::string, std::string>> *margin,
+ std::vector <std::pair<std::string, std::string>> *padding,
+ std::vector <std::pair<std::string, std::string>> *border);
void SendUpdateAttrAction(RenderObject *render, std::vector<std::pair<std::string, std::string>> *attrs);
@@ -68,12 +67,9 @@ namespace WeexCore {
void SendAppendTreeCreateFinish(const std::string &ref);
- void PostRenderAction(render_action *action);
+ void PostRenderAction(RenderAction *action);
public:
- static constexpr bool useVSync = true;
- std::atomic_bool needLayout{false};
- std::atomic_bool hasForeLayoutAction{false};
explicit RenderPage(std::string pageId);
@@ -93,7 +89,8 @@ namespace WeexCore {
bool UpdateAttr(const std::string &ref, std::vector<std::pair<std::string, std::string>> *attrs);
- void SetDefaultHeightAndWidthIntoRootRender(const float defaultWidth, const float defaultHeight, const bool isWidthWrapContent, const bool isHeightWrapContent);
+ void SetDefaultHeightAndWidthIntoRootRender(const float defaultWidth, const float defaultHeight,
+ const bool isWidthWrapContent, const bool isHeightWrapContent);
bool AddEvent(const std::string &ref, const std::string &event);
@@ -117,17 +114,23 @@ namespace WeexCore {
void SendUpdateAttrAction(RenderObject *render, std::map<std::string, std::string> *attrs);
- inline RenderObject *GetRenderObject(const std::string &ref) {
- std::map<std::string, RenderObject *>::iterator iter = mRenderObjectRegisterMap.find(ref);
- if (iter != mRenderObjectRegisterMap.end()) {
- return iter->second;
- } else {
- return nullptr;
- }
- }
+ RenderObject *GetRenderObject(const std::string &ref);
void SetRootRenderObject(RenderObject *root);
+ // ****** Life Cycle ****** //
+
+ void OnRenderPageInit();
+
+ void OnRenderProcessStart();
+
+ void OnRenderProcessExited();
+
+ void OnRenderProcessGone();
+
+ void OnRenderPageClose();
+
+
inline std::string PageId() {
return mPageId;
}
@@ -156,19 +159,14 @@ namespace WeexCore {
return isRenderContainerWidthWrapContent.load();
}
- // ****** Life Cycle ****** //
-
- void OnRenderPageInit();
-
- void OnRenderProcessStart();
-
- void OnRenderProcessExited();
-
- void OnRenderProcessGone();
+ public:
- void OnRenderPageClose();
+ static constexpr bool useVSync = true;
+ std::atomic_bool needLayout{false};
+ std::atomic_bool hasForeLayoutAction{false};
private:
+
bool mAlreadyCreateFinish = false;
float mViewPortWidth;
RenderObject *render_root = nullptr;
[50/50] [abbrv] incubator-weex git commit: Merge branch 'release' of
https://git-wip-us.apache.org/repos/asf/incubator-weex into release
Posted by cx...@apache.org.
Merge branch 'release' of https://git-wip-us.apache.org/repos/asf/incubator-weex into release
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9ea6ac79
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9ea6ac79
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9ea6ac79
Branch: refs/heads/release
Commit: 9ea6ac79ecf7cd855e1afe114a1897fe06621e81
Parents: 939be31 b3be56d
Author: Adam Feng <cx...@gmail.com>
Authored: Tue Jun 19 17:40:00 2018 +0800
Committer: Adam Feng <cx...@gmail.com>
Committed: Tue Jun 19 17:40:00 2018 +0800
----------------------------------------------------------------------
----------------------------------------------------------------------