avalon-rails 1.5.5 → 1.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/avalon-rails/version.rb +1 -1
- data/vendor/assets/javascripts/avalon.js +219 -173
- data/vendor/assets/javascripts/avalon.min.js +3 -3
- data/vendor/assets/javascripts/avalon.mobile.js +355 -337
- data/vendor/assets/javascripts/avalon.mobile.min.js +3 -3
- data/vendor/assets/javascripts/avalon.mobile.shim.js +353 -336
- data/vendor/assets/javascripts/avalon.mobile.shim.min.js +3 -3
- data/vendor/assets/javascripts/avalon.modern.js +265 -240
- data/vendor/assets/javascripts/avalon.modern.min.js +3 -3
- data/vendor/assets/javascripts/avalon.modern.shim.js +263 -239
- data/vendor/assets/javascripts/avalon.modern.shim.min.js +2 -2
- data/vendor/assets/javascripts/avalon.shim.js +240 -221
- data/vendor/assets/javascripts/avalon.shim.min.js +3 -3
- metadata +2 -2
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("Avalon requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(){avalon.config.debug&&console.log.apply(console,arguments)}function a(){return Object.create(null)}function r(e){return Function.apply(i,e)}function i(){}function o(e,t){"string"==typeof e&&(e=e.match(Bt)||[]);for(var n={},a=void 0!==t?t:1,r=0,i=e.length;i>r;r++)n[e[r]]=a;return n}function l(){if(e.VBArray){var t=document.documentMode;return t?t:e.XMLHttpRequest?7:6}return 0/0}function s(e){if(e&&"object"==typeof e){var t=e.length,n=zt.call(e);if(/(Array|List|Collection|Map|Arguments)\]$/.test(n))return!0;if("[object Object]"===n&&t===t>>>0)return!0}return!1}function c(e,t){if(e&&e.childNodes)for(var n,a=e.childNodes,r=0;n=a[r++];)if(n.tagName){var i=Ht.createElementNS(rn,n.tagName.toLowerCase());Wt.forEach.call(n.attributes,function(e){i.setAttribute(e.name,e.value)}),c(n,i),t.appendChild(i)}}function u(e){for(var t in e)if(It.call(e,t)){var n=e[t];"function"==typeof u.plugins[t]?u.plugins[t](n):"object"==typeof u[t]?avalon.mix(u[t],n):u[t]=n}return this}function f(e){return(e+"").replace(vn,"\\$&")}function d(e,t){var n=this.$events||(this.$events={}),a=n[e]||(n[e]=[]);if("function"==typeof t){var r=t;r.uniqueNumber=Math.random(),t={element:Xt,type:"user-watcher",handler:i,vmodels:[this],expr:e,uniqueNumber:r.uniqueNumber},t.wildcard=/\*/.test(e)}if(t.update)t.oneTime||avalon.Array.ensure(a,t);else{if(/\w\.*\B/.test(e)){t.getter=i;var o=this;t.update=function(){var e=this.fireArgs||[];e[2]&&t.handler.apply(o,e),delete this.fireArgs},a.sync=!0,avalon.Array.ensure(a,t)}else avalon.injectBinding(t);r&&(t.handler=r)}return function(){t.update=t.getter=t.handler=i,t.element=Ht.createElement("a")}}function v(e,t){var n=this.$events;if(n&&n[e]){t&&(t[2]=e);var a=n[e];h(a,t);var r=this.$up;r&&(this.$pathname&&v.call(r,this.$pathname+"."+e,t),v.call(r,"*."+e,t))}else{if(r=this.$up,this.$ups){for(var i in this.$ups)v.call(this.$ups[i],i+"."+e,t);return}if(r){var o=this.$pathname;""===o&&(o="*");var l=o+"."+e;a=l.split("."),-1===a.indexOf("*")?(v.call(r,l,t),a[1]="*",v.call(r,a.join("."),t)):v.call(r,l,t)}}}function p(e,t){for(;;){if(e.$watch){var n=e.$events||(e.$events={}),a=n[t]||(n[t]=[]);return void wn.collectDependency(a)}if(e=e.$up,!e)break;t=e.$pathname+"."+t}}function h(e,t){if(e){new Date-Nn>444&&"object"==typeof e[0]&&S();for(var n,a=[],r=[],i=0;n=e[i++];)"user-watcher"===n.type?a.push(n):r.push(n);if(u.async){for(va.render(),i=0;n=r[i++];)if(n.update){var o=M(n);va.queue[o]||(va.queue[o]=1,va.queue.push(n))}}else for(i=0;n=r[i++];)n.update&&n.update();for(i=0;n=a[i++];)(t&&t[2]===n.expr||n.wildcard)&&(n.fireArgs=t),n.update()}}function m(e,t){return t=t||{},t.watch=!0,y(e,t)}function g(){}function y(e,t){function a(e){return u[e]===!0}if(!e||e.$id&&e.$accessors||e.nodeName&&e.nodeType>0)return e;t=t||Pt;var r=t.force||Pt,i=t.old,l=i&&i.$accessors||Pt,s=new g,c={},u={},f=[],p=[],h={};e.$skipArray&&(h=o(e.$skipArray),delete e.$skipArray);var m=e.$computed;if(m){delete e.$computed;for(var y in m)u[y]=!0,function(e,t){var n;c[e]={get:function(){return n=t.get.call(this)},set:function(a){if("function"==typeof t.set){var r=n;t.set.call(this,a);var i=this[e];this.$fire&&i!==r&&this.$fire(e,i,r)}},enumerable:!0,configurable:!0}}(y,m[y])}for(y in e){var x=e[y];mn[y]||(u[y]=!0),"function"==typeof x||x&&x.nodeName&&x.nodeType>0||!r[y]&&("$"===y.charAt(0)||mn[y]||h[y])?f.push(y):b(x)?(n("warning:计算属性建议放在$computed对象中统一定义"),function(e,t){var n;c[e]={get:function(){return n=t.get.call(this)},set:function(a){if("function"==typeof t.set){var r=n;t.set.call(this,a);var i=this[e];this.$fire&&i!==r&&this.$fire(e,i,r)}},enumerable:!0,configurable:!0}}(y,x)):(p.push(y),c[y]=l[y]?l[y]:$(y,x))}c.$model=gn,s=Object.defineProperties(s,c,e),f.forEach(function(t){s[t]=e[t]}),C(s,"$ups",null),C(s,"$id","anonymous"),C(s,"$up",i?i.$up:null),C(s,"$track",Object.keys(u)),C(s,"$active",!1),C(s,"$pathname",i?i.$pathname:""),C(s,"$accessors",c),C(s,"hasOwnProperty",a),t.watch&&(C(s,"$watch",function(){return d.apply(s,arguments)}),C(s,"$fire",function(e,t){if(0===e.indexOf("all!")){var n=e.slice(4);for(var a in avalon.vmodels){var r=avalon.vmodels[a];r.$fire&&r.$fire.apply(r,[n,t])}}else v.call(s,e,[t])})),p.forEach(function(t){var n=i&&i[t],a=s[t]=e[t];a&&"object"==typeof a&&(a.$up=s,a.$pathname=t),v.call(s,t,[a,n])});for(y in m)x=s[y];return s.$active=!0,s}function b(e){if(e&&"object"==typeof e){for(var t in e)if("get"!==t&&"set"!==t)return!1;return"function"==typeof e.get}}function $(e,t){var n,t=0/0;return{get:function(){return this.$active&&p(this,e),t},set:function(a){if(t!==a){var r=t;n=x(a,t),n?t=n:(n=void 0,t=a),Object(n)===n&&(n.$pathname=e,n.$up=this),this.$active&&v.call(this,e,[t,r])}},enumerable:!0,configurable:!0}}function x(e,t,n,a){if(Array.isArray(e))return w(e,t,a);if(avalon.isPlainObject(e)){if(t&&"object"==typeof t){var r=Object.keys(e),i=Object.keys(t);if(r.join(";")===i.join(";")){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]);return t}t.$active=!1}return y(e,{old:t,watch:a})}return n?e:void 0}function w(e,t,n){if(t){var a=[0,t.length].concat(e);return t.splice.apply(t,a),t}for(var r in $n)e[r]=$n[r];C(e,"$up",null),C(e,"$pathname",""),C(e,"$track",A(e.length)),e._=y({length:0/0},{watch:!0}),e._.length=e.length,e._.$watch("length",function(t,n){v.call(e.$up,e.$pathname+".length",[t,n])}),n&&C(e,"$watch",function(){return d.apply(e,arguments)}),Object.defineProperty(e,"$model",gn);for(var i=0,o=e.length;o>i;i++){var l=e[i]=x(e[i],0,1,1);Object(l)===l&&(l.$up=e)}return e}function C(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!1,configurable:!0})}function k(e){var t=avalon.type(e);if("array"===t){for(var n=[],a=0;a<e.length;a++)n[a]=k(e[a]);return n}if("object"===t){var r={};for(a in e)if(e.hasOwnProperty(a)){var i=e[a];r[a]=i&&i.nodeType?i:k(i)}return r}return e}function N(e,t){for(var n={},a=0,r=t.length;r>a;a++){n[a]=e[a];var i=t[a];i in n?(e[a]=n[i],delete n[i]):e[a]=e[i]}}function A(e){for(var t=[],n=0;e>n;n++)t[n]=Jt("$proxy$each");return t}function T(e,t,n){switch(t){case"push":case"unshift":n=A(n.length);break;case"splice":if(n.length>2){{n[1],n.length-2}n=[n[0],n[1]].concat(A(n.length-2))}}Array.prototype[t].apply(e,n)}function E(e,t){t.oneTime||e&&avalon.Array.ensure(e,t)&&t.element&&(j(t,e),new Date-Nn>444&&S())}function O(e,t){for(var n,a=[],r=0;n=e[r++];)a.push(t?n.$id:n.$key);return a.join(";")}function M(e){if(!e.uniqueNumber){var t=e.element;e.uniqueNumber=t?1!==t.nodeType?e.type+"-"+M(t.parentNode)+"-"+ ++Cn:e.name+"-"+M(t):++Cn}return e.uniqueNumber}function j(e,t){var n=e.lists||(e.lists=[]),a=M(e);avalon.Array.ensure(n,t),t.$uuid=t.$uuid||Jt(),kn[a]||(kn[a]=1,kn.push(e))}function S(e){for(var t=kn.length,n=t,a=[],r={},i={};e=kn[--t];){var o=e.type;i[o]?i[o]++:(i[o]=1,a.push(o))}var l=!1;if(a.forEach(function(e){An[e]!==i[e]&&(r[e]=1,l=!0)}),t=n,l)for(;e=kn[--t];)if(null!==e.element){if(r[e.type]&&D(e.element)){kn.splice(t,1),delete kn[e.uniqueNumber];for(var s,c=e.lists,u=0;s=c[u++];)avalon.Array.remove(c,s),avalon.Array.remove(s,e);H(e)}}else kn.splice(t,1);An=i,Nn=new Date}function H(e){delete kn[e.uniqueNumber],e.element=null,e.rollback&&e.rollback();for(var t in e)e[t]=null}function D(e){try{{e.parentNode.nodeType}}catch(t){return!0}return e.ifRemove&&!Xt.contains(e.ifRemove)&&Lt===e.parentNode?(e.parentNode&&e.parentNode.removeChild(e),!0):e.msRetain?0:1===e.nodeType?!Xt.contains(e):!avalon.contains(Xt,e)}function L(e){return e.replace(/([a-z\d])([A-Z]+)/g,"$1-$2").toLowerCase()}function R(e){return e.indexOf("-")<0&&e.indexOf("_")<0?e:e.replace(/[-_][^-_]/g,function(e){return e.charAt(1).toUpperCase()})}function P(e){try{if("object"==typeof e)return e;e="true"===e?!0:"false"===e?!1:"null"===e?null:+e+""===e?+e:Hn.test(e)?JSON.parse(e):e}catch(t){}return e}function B(e){return e.window&&e.document?e:9===e.nodeType?e.defaultView:!1}function F(e,t){if(e.offsetWidth<=0){var n=getComputedStyle(e,null);if(Bn.test(n.display)){var a={node:e};for(var r in Pn)a[r]=n[r],e.style[r]=Pn[r];t.push(a)}var i=e.parentNode;i&&1===i.nodeType&&F(i,t)}}function q(e){var t=e.tagName.toLowerCase();return"input"===t&&/checkbox|radio/.test(e.type)?"checked":t}function _(e,t){var n=[],a=!!t;t=t||0;for(var i="unknown",o="",l=0;l<e.length;l++){var s=e.charAt(l);if("'"===s||'"'===s)"unknown"===i?i=s:i===s&&(i="unknown");else if("\\"===s)("'"===i||'"'===i)&&l++;else if(Vn.test(s))"unknown"===i?(i="variable",o=s):"maybePath"===i?(o=n.pop(),o+="."+s,i="variable"):"variable"===i&&(o+=s);else if(/\w/.test(s))"variable"===i&&(o+=s);else if("."===s)"variable"===i&&o&&(n.push(o),o="",i="maybePath");else if("["===s){if("variable"===i||"maybePath"===i){o&&(n.push(o),o="");var c=n.length,u=n[c-1],f=_(e.slice(l),l);if(f.length)n[c-1]=u+".*",n=f.concat(n);else{var d=e.slice(l+1,f.i);try{var v=r(["return "+d])();n[c-1]=u+"."+v}catch(p){}}i="maybePath",l=f.i}}else if("]"===s){if(a)return n.i=l+t,V(n,o),n}else In.test(s)&&"\r"!==s&&"\n"!==s?"variable"===i&&(V(n,o)&&(i="maybePath"),o=""):(V(n,o),i="unknown",o="")}return V(n,o),n}function V(e,t){return t&&!qn[t]?(e.push(t),!0):void 0}function I(e,t,n,a){for(var r,i=[],o=" = "+n+".",l=e.length;r=e[--l];)for(var s,c=r.split("."),u=c[0];s=c.shift();)t.hasOwnProperty(s)&&(i.push(u+o+u),a.observers.push({v:t,p:r}),e.splice(l,1));return i}function z(e){e=e.trim();var t=Wn.get(e);if(t)return t.concat();for(var n,a=_(e),r={},i=[],o=0;n=a[o++];)r[n]||(r[n]=1,i.push(n));return Wn.put(e,i).concat()}function W(e,t,n){var a=n.filters;"string"==typeof a&&a.trim()&&!n._filters&&(n._filters=U(a.trim()));var i=z(e),o=new Date-0,l=[],s=[],c=[];n.observers=[];for(var u=0,f=t.length;f>u;u++)if(i.length){var d="vm"+o+"_"+u;s.push(d),c.push(t[u]),l.push.apply(l,I(i,t[u],d,n))}n.args=c;var v=n.type,p=t.map(function(e){return String(e.$id).replace(zn,"$1")})+e+v,h=Yn.get(p);if(h){if("duplex"===v){var m=Yn.get(p+"setter");n.setter=m.apply(m,n.args)}return n.getter=h}if(l.length||l.push("fix"+o),"duplex"===v){var g={};l.forEach(function(e){var t=e.split("=");g[t[0].trim()]=t[1].trim()}),e=e.replace(/[\$\w]+/,function(e){return g[e]?g[e]:e});var y=r(s.concat("'use strict';return function(vvv){"+e+" = vvv\n}\n"));Yn.put(p+"setter",y),n.setter=y.apply(y,n.args)}if("on"===v){-1===e.indexOf("(")?e+=".call(this, $event)":e=e.replace("(",".call(this,"),s.push("$event"),e="\nreturn "+e+";";var b=e.lastIndexOf("\nreturn"),$=e.slice(0,b),x=e.slice(b);e=$+"\n"+x}else e="\nreturn "+e+";";return h=r(s.concat("'use strict';\nvar "+l.join(",\n")+e)),Yn.put(p,h)}function Y(e){var t=un.test(e);if(t){var n=rt(e);return 1===n.length?n[0].expr:n.map(function(e){return e.type?"("+e.expr+")":Kn(e.expr)}).join(" + ")}return e}function U(e){return e=e.replace(Un,"").replace(Xn,function(){return"],|"}).replace(Gn,function(e,t){return"["+Kn(t)}).replace(Zn,function(){return'"],["'}).replace(Jn,function(){return'",'})+"]",r(["return ["+e+"]"])()}function X(e,t,n){var a=setTimeout(function(){var r=e.innerHTML;clearTimeout(a),r===n?t():X(e,t,r)})}function G(e,t){var n=e.getAttribute("avalonctrl")||t.$id;e.setAttribute("avalonctrl",n),t.$events&&(t.$events.expr=e.tagName+'[avalonctrl="'+n+'"]')}function Z(e,t){for(var n,a=0;n=e[a++];)n.vmodels=t,nn[n.type].init(n),avalon.injectBinding(n),n.getter&&1===n.element.nodeType&&n.element.removeAttribute(n.name);e.length=0}function J(e,t){return e.priority-t.priority}function K(e,t,a){var r=!0;if(t.length){for(var i,o=e.attributes,l=[],s={},c=0;i=o[c++];){var u=i.name;if(!s[u]&&(s[u]=1,i.specified&&(a=u.match(aa)))){var f=a[1],d=a[2]||"",v=i.value;if(ra[f]?(d=f,f="on"):ia[f]&&(d=f,f="attr",u="ms-"+f+"-"+d,n("warning!请改用"+u+"代替"+i.name+"!")),nn[f]){var p=v.replace(na,""),h=v!==p,m={type:f,param:d,element:e,name:u,expr:p,oneTime:h,priority:(nn[f].priority||10*f.charCodeAt(0))+(Number(d.replace(/\D/g,""))||0)};if("html"===f||"text"===f){var g=at(v).filters;m.expr=m.expr.replace(g,""),m.filters=g.replace(ca,function(){return m.type="html",m.group=1,""}).trim()}else if("duplex"===f)var y=u;else if("ms-if-loop"===u)m.priority+=100;else if("ms-attr-value"===u)var b=u;l.push(m)}}}if(l.length){for(l.sort(J),y&&b&&"text"===e.type&&n("warning!一个控件不能同时定义ms-attr-value与"+y),c=0;m=l[c];c++){if(f=m.type,oa.test(f))return Z(l.slice(0,c+1),t);r&&(r=!la.test(f))}Z(l,t)}}r&&!Qn[e.tagName]&&(ta&&ta(e),et(e,t))}function Q(e){for(var t,n=e.attributes,a={},r=0;t=n[r++];)t.specified&&!sa.test(t.name)&&(a[R(t.name)]=P(t.value));return a}function et(e,t){var n=avalon.slice(e.childNodes);tt(n,t)}function tt(e,t){for(var n,a=0;n=e[a++];)switch(n.nodeType){case 1:var r=n;if(!r.msResolved&&r.parentNode&&1===r.parentNode.nodeType){var i=lt(r);if(i){var o=r.localName?r.localName.replace(i+":",""):r.nodeName,l=i+":"+R(o);pa.push({library:i,element:r,fullName:l,widget:o,vmodels:t,name:"widget"}),avalon.components[l]&&avalon.component(l)}}nt(n,t),n.msHasEvent&&avalon.fireDom(n,"datasetchanged",{bubble:n.msHasEvent});break;case 3:un.test(n.nodeValue)&&it(n,t,a)}}function nt(e,t,n){var a=e.getAttribute("ms-skip"),r=e.getAttributeNode("ms-important"),i=e.getAttributeNode("ms-controller");if("string"!=typeof a){if(n=r||i){var o=avalon.vmodels[n.value];if(!o)return;t=n===r?[o]:[o].concat(t),e.removeAttribute(n.name),e.classList.remove(n.name),G(e,o)}K(e,t)}}function at(e){if(e.indexOf("|")>0){var t=e.replace(fa,function(e){return Array(e.length+1).join("1")}),n=t.replace(ua,"ᄢ㍄").indexOf("|");if(n>-1)return{type:"text",filters:e.slice(n).trim(),expr:e.slice(0,n)}}return{type:"text",expr:e,filters:""}}function rt(e){for(var t,n,a=[],r=0;;){if(n=e.indexOf(sn,r),-1===n)break;if(t=e.slice(r,n),t&&a.push({expr:t}),r=n+sn.length,n=e.indexOf(cn,r),-1===n)break;t=e.slice(r,n),t&&a.push(at(t,r)),r=n+cn.length}return t=e.slice(r),t&&a.push({expr:t}),a}function it(e,t,n){var a=[],r=rt(e.data);if(r.length){for(var i,o=0;i=r[o++];){var l=Ht.createTextNode(i.expr);i.type&&(i.expr=i.expr.replace(na,function(){return i.oneTime=!0,""}),i.element=l,i.filters=i.filters.replace(ca,function(){return i.type="html",""}),i.pos=1e3*n+o,a.push(i)),Gt.appendChild(l)}e.parentNode.replaceChild(Gt,e),a.length&&Z(a,t)}}function ot(e,t){if(t)for(var n,a=0;n=e[a++];)if(n.hasOwnProperty(t)&&"object"==typeof n[t]){var r=n[t];return r.$model||r}return{}}function lt(e){if(e.scopeName&&"HTML"!==e.scopeName)return e.scopeName;var t=e.nodeName.toLowerCase(),n=t.indexOf(":");return n>0?t.slice(0,n):void 0}function st(e){return null==e?"":e}function ct(e,t,n){return t.param.replace(Ft,function(a){var r=avalon.duplexHooks[a];r&&"function"==typeof r[n]&&(e=r[n](e,t))}),e}function ut(){for(var e=Aa.length-1;e>=0;e--){var t=Aa[e];t()===!1&&Aa.splice(e,1)}Aa.length||clearInterval(Na)}function ft(e,t){if(!e||1!==e.nodeType)return null;if(t)var n=t.effectName,a=t.effectDriver;else n=e.getAttribute("data-effect-name"),a=e.getAttribute("data-effect-driver");if(!n||!a)return null;var r=Da.pop()||new pt;return r.el=e,r.driver=a,r.useCss="j"!==a,r.useCss&&(t&&avalon(e).addClass(t.effectClass),r.cssEvent="t"===a?Ea:Oa),r.name=n,r.callbacks=avalon.effects[n]||{},r}function dt(e,t){var n=e.getAttribute("data-effect-name");if(n){t.effectName=n,t.effectDriver=e.getAttribute("data-effect-driver");var a=+e.getAttribute("data-effect-stagger");t.effectLeaveStagger=+e.getAttribute("data-effect-leave-stagger")||a,t.effectEnterStagger=+e.getAttribute("data-effect-enter-stagger")||a,t.effectClass=e.className||0/0}}function vt(e){return e.replace(/^[\S]/g,function(e){return e.toUpperCase()})}function pt(){}function ht(e,t){var n=e.callbacks[t+"Class"];return"string"==typeof n?n:"function"==typeof n?n():e.name+"-"+t}function mt(e,t,n){var a=e.callbacks[t];a&&a.call(e,e.el,n)}function gt(e,t,n){var a=e.templateCache&&e.templateCache[t];if(a){for(var r,i=Ht.createDocumentFragment();r=a.firstChild;)i.appendChild(r);return i}return avalon.parseHTML(n)}function yt(e){for(var t=Ht.createDocumentFragment(),n=0,a=e.length;a>n;n++)t.appendChild(e[n]);return t}function bt(e,t,n){for(var a,r=0;a=e[r++];)a.className===n.effectClass&&avalon.effect.apply(a,t,i,i,n)}function $t(e,t,n){return e?setTimeout(t,++n*e):t(),n}function xt(e,t){for(var n=Gt.cloneNode(!1),a=e,r=a.nodeValue,o=t&&Math.max(+t.staggerIndex,0),l=avalon.slice(a.parentNode.childNodes),s=l.indexOf(a);;){var c=l[--s];if(!c||0===String(c.nodeValue).indexOf(r))break;t&&c.className===t.effectClass?(e=c,function(e){t.staggerIndex=$t(t.effectLeaveStagger,function(){avalon.effect.apply(e,0,i,function(){n.appendChild(e)},t)},o)}(c)):n.insertBefore(c,n.firstChild)}return n.appendChild(a),n}function wt(e,t,n,a,r){var i=e.template.cloneNode(!0),o=avalon.slice(i.childNodes);i.appendChild(n.$anchor),r&&t.appendChild(i);var l=[n].concat(e.vmodels),s={nodes:o,vmodels:l,content:i};a.push(s)}function Ct(e){var t="object"===e.xtype?Tt:kt,n=t(e),a=n.$anchor||(n.$anchor=e.element.cloneNode(!1));return a.nodeValue=e.signature,n.$outer=e.$outer,n}function kt(e,t){for(var n=e.param||"el",a=0,r=_a.length;r>a;a++){var i=_a[a];if(i&&i.hasOwnProperty(n)){_a.splice(a,1),t=i;break}}return t||(t=Nt(n)),t}function Nt(e){var t={$outer:{},$index:0,$oldIndex:0,$anchor:null,$first:!1,$last:!1,$remove:avalon.noop};t[e]=0/0;var n={$last:1,$first:1,$index:1};n[e]=1;var a=m(t,{force:n});return a.$id=Jt("$proxy$each"),a}function At(e,t,n){if("array"===n){e.$remove=function(){t.$repeat.removeAt(e.$index)};var a=t.param;e.$watch(a,function(n){var a=e.$index;t.$repeat[a]=n})}else e.$watch("$val",function(n){t.$repeat[e.$key]=n})}function Tt(){return Va.pop()||Et()}function Et(){var e=m({$key:"",$val:0/0,$index:0,$oldIndex:0,$outer:{},$anchor:null},{force:{$key:1,$val:1,$index:1}});return e.$id=Jt("$proxy$with"),e}function Ot(e,t,n){var a=e[t];if(a){var r=0===a.$id.indexOf("$proxy$each")?_a:Va;a.$outer={};for(var i in a.$events){var o=a.$events[i];Array.isArray(o)&&(o.length=0,i===n?a[n]=0/0:"$val"===i&&(a.$val=0/0))}r.unshift(a)>u.maxRepeatSize&&r.pop(),delete e[t]}}function Mt(e,t){var n="_"+e;if(!Mt[n]){var a=Ht.createElement(e);Xt.appendChild(a),t=Ut?getComputedStyle(a,null).display:a.currentStyle.display,Xt.removeChild(a),Mt[n]=t}return Mt[n]}function jt(e,t,n,a){e=(e+"").replace(/[^0-9+\-Ee.]/g,"");var r=isFinite(+e)?+e:0,i=isFinite(+t)?Math.abs(t):3,o=a||",",l=n||".",s="",c=function(e,t){var n=Math.pow(10,t);return""+(Math.round(e*n)/n).toFixed(t)};return s=(i?c(r,i):""+Math.round(r)).split("."),s[0].length>3&&(s[0]=s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,o)),(s[1]||"").length<i&&(s[1]=s[1]||"",s[1]+=new Array(i-s[1].length+1).join("0")),s.join(l)}var St=Date.now(),Ht=e.document,Dt=Ht.head;Dt.insertAdjacentHTML("afterBegin",'<avalon ms-skip class="avalonHide"><style id="avalonStyle">.avalonHide{ display: none!important }</style></avalon>');var Lt=Dt.firstChild,Rt="$"+St,Pt={},Bt=/[^, ]+/g,Ft=/\w+/g,qt=/^\[object SVG\w*Element\]$/,_t=/^\[object (?:Window|DOMWindow|global)\]$/,Vt=Object.prototype,It=Vt.hasOwnProperty,zt=Vt.toString,Wt=Array.prototype,Yt=Wt.slice,Ut=e.dispatchEvent,Xt=Ht.documentElement,Gt=Ht.createDocumentFragment(),Zt=(Ht.createElement("div"),{});"Boolean Number String Function Array Date RegExp Object Error".replace(Bt,function(e){Zt["[object "+e+"]"]=e.toLowerCase()});var Jt=function(e){return e=e||"avalon",String(Math.random()+Math.random()).replace(/\d\.\d{4}/,e)},Kt=l();avalon=function(e){return new avalon.init(e)},avalon.nextTick=new function(){function t(){for(var e=r.length,t=0;e>t;t++)r[t]();r=r.slice(e)}var n=e.setImmediate,a=e.MutationObserver;if(n)return n.bind(e);var r=[];if(a){var i=document.createTextNode("avalon");new a(t).observe(i,{characterData:!0});var o=!1;return function(e){r.push(e),o=!o,i.data=o}}return function(e){setTimeout(e,4)}},avalon.init=function(e){this[0]=this.element=e},avalon.fn=avalon.prototype=avalon.init.prototype,avalon.type=function(e){return null==e?String(e):"object"==typeof e||"function"==typeof e?Zt[zt.call(e)]||"object":typeof e};var Qt=function(e){return"[object Function]"===zt.call(e)};avalon.isFunction=Qt,avalon.isWindow=function(e){return _t.test(zt.call(e))},avalon.isPlainObject=function(e){return"[object Object]"===zt.call(e)&&Object.getPrototypeOf(e)===Vt},avalon.mix=avalon.fn.mix=function(){var e,t,n,a,r,i,o=arguments[0]||{},l=1,s=arguments.length,c=!1;for("boolean"==typeof o&&(c=o,o=arguments[1]||{},l++),"object"==typeof o||Qt(o)||(o={}),l===s&&(o=this,l--);s>l;l++)if(null!=(e=arguments[l]))for(t in e)n=o[t],a=e[t],o!==a&&(c&&a&&(avalon.isPlainObject(a)||(r=Array.isArray(a)))?(r?(r=!1,i=n&&Array.isArray(n)?n:[]):i=n&&avalon.isPlainObject(n)?n:{},o[t]=avalon.mix(c,i,a)):void 0!==a&&(o[t]=a));return o},avalon.mix({rword:Bt,subscribers:Rt,version:1.55,ui:{},log:n,slice:function(e,t,n){return Yt.call(e,t,n)},noop:i,error:function(e,t){throw new(t||Error)(e)},oneObject:o,range:function(e,t,n){n||(n=1),null==t&&(t=e||0,e=0);for(var a=-1,r=Math.max(0,Math.ceil((t-e)/n)),i=new Array(r);++a<r;)i[a]=e,e+=n;return i},eventHooks:{},bind:function(e,t,n,a){var r=avalon.eventHooks,i=r[t];return"object"==typeof i&&(t=i.type||t,a=i.phase||!!a,n=i.fn?i.fn(e,n):n),e.addEventListener(t,n,a),n},unbind:function(e,t,n,a){var r=avalon.eventHooks,o=r[t],l=n||i;"object"==typeof o&&(t=o.type||t,a=o.phase||!!a),e.removeEventListener(t,l,a)},css:function(e,t,n){e instanceof avalon&&(e=e[0]);var a,r=/[_-]/.test(t)?R(t):t;if(t=avalon.cssName(r)||r,void 0===n||"boolean"==typeof n){a=Dn[r+":get"]||Dn["@:get"],"background"===t&&(t="backgroundColor");var i=a(e,t);return n===!0?parseFloat(i)||0:i}if(""===n)e.style[t]="";else{if(null==n||n!==n)return;isFinite(n)&&!avalon.cssNumber[r]&&(n+="px"),a=Dn[r+":set"]||Dn["@:set"],a(e,t,n)}},each:function(e,t){if(e){var n=0;if(s(e))for(var a=e.length;a>n&&t(n,e[n])!==!1;n++);else for(n in e)if(e.hasOwnProperty(n)&&t(n,e[n])===!1)break}},getWidgetData:function(e,t){var n=avalon(e).data(),a={};for(var r in n)0===r.indexOf(t)&&(a[r.replace(t,"").replace(/\w/,function(e){return e.toLowerCase()})]=n[r]);return a},Array:{ensure:function(e,t){return-1===e.indexOf(t)?e.push(t):void 0},removeAt:function(e,t){return!!e.splice(t,1).length},remove:function(e,t){var n=e.indexOf(t);return~n?avalon.Array.removeAt(e,n):!1}}});var en=avalon.bindingHandlers={},tn=avalon.bindingExecutors={},nn=avalon.directives={};avalon.directive=function(e,t){return en[e]=t.init=t.init||i,tn[e]=t.update=t.update||i,nn[e]=t};var an=new function(){function e(e){this.size=0,this.limit=e,this.head=this.tail=void 0,this._keymap={}}var t=e.prototype;return t.put=function(e,t){var n={key:e,value:t};return this._keymap[e]=n,this.tail?(this.tail.newer=n,n.older=this.tail):this.head=n,this.tail=n,this.size===this.limit?this.shift():this.size++,t},t.shift=function(){var e=this.head;e&&(this.head=this.head.newer,this.head.older=e.newer=e.older=this._keymap[e.key]=void 0,delete this._keymap[e.key])},t.get=function(e){var t=this._keymap[e];if(void 0!==t)return t===this.tail?t.value:(t.newer&&(t===this.head&&(this.head=t.newer),t.newer.older=t.older),t.older&&(t.older.newer=t.newer),t.newer=void 0,t.older=this.tail,this.tail&&(this.tail.newer=t),this.tail=t,t.value)},e};if(Ht.contains||(Node.prototype.contains=function(e){return!!(16&this.compareDocumentPosition(e))}),avalon.contains=function(e,t){try{for(;t=t.parentNode;)if(t===e)return!0;return!1}catch(n){return!1}},e.SVGElement){var rn="http://www.w3.org/2000/svg",on=Ht.createElementNS(rn,"svg");on.innerHTML='<circle cx="50" cy="50" r="40" fill="red" />',qt.test(on.firstChild)||Object.defineProperties(SVGElement.prototype,{outerHTML:{enumerable:!0,configurable:!0,get:function(){return(new XMLSerializer).serializeToString(this)},set:function(e){var t=this.tagName.toLowerCase(),n=this.parentNode,a=avalon.parseHTML(e);if("svg"===t)n.insertBefore(a,this);else{var r=Ht.createDocumentFragment();c(a,r),n.insertBefore(r,this)}n.removeChild(this)}},innerHTML:{enumerable:!0,configurable:!0,get:function(){var e=this.outerHTML,t=new RegExp("<"+this.nodeName+'\\b(?:(["\'])[^"]*?(\\1)|[^>])*>',"i"),n=new RegExp("</"+this.nodeName+">$","i");return e.replace(t,"").replace(n,"")},set:function(e){if(avalon.clearHTML){avalon.clearHTML(this);var t=avalon.parseHTML(e);c(t,this)}}}})}var ln=avalon.eventHooks;"onmouseenter"in Xt||avalon.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){ln[e]={type:t,fn:function(t,n){return function(a){var r=a.relatedTarget;return r&&(r===t||16&t.compareDocumentPosition(r))?void 0:(delete a.type,a.type=e,n.call(t,a))}}}}),avalon.each({AnimationEvent:"animationend",WebKitAnimationEvent:"webkitAnimationEnd"},function(t,n){e[t]&&!ln.animationend&&(ln.animationend={type:n})}),void 0===Ht.onmousewheel&&(ln.mousewheel={type:"wheel",fn:function(e,t){return function(n){n.wheelDeltaY=n.wheelDelta=n.deltaY>0?-120:120,n.wheelDeltaX=0,Object.defineProperty(n,"type",{value:"mousewheel"}),t.call(e,n)}}});var sn,cn,un,fn,dn,vn=/[-.*+?^${}()|[\]\/\\]/g,pn={interpolate:function(e){if(sn=e[0],cn=e[1],sn===cn){throw new SyntaxError("openTag!==closeTag")}u.openTag=sn,u.closeTag=cn;var t=f(sn),n=f(cn);un=new RegExp(t+"(.*?)"+n),fn=new RegExp(t+"(.*?)"+n,"g"),dn=new RegExp(t+".*?"+n+"|\\sms-")}};u.async=!0,u.debug=!0,u.plugins=pn,u.plugins.interpolate(["{{","}}"]),u.paths={},u.shim={},u.maxRepeatSize=100,avalon.config=u;var hn=avalon.vmodels={};avalon.define=function(e){var t=e.$id;t||n("warning: vm必须指定$id");var a=m(e);return a.$id=t,hn[t]=a};var mn=o("$id,$watch,$fire,$events,$model,$skipArray,$active,$pathname,$up,$ups,$track,$accessors"),gn={get:function(){return k(this)},set:i,enumerable:!1,configurable:!0},yn=["push","pop","shift","unshift","splice"],bn=Array.prototype,$n={notify:function(){v.call(this.$up,this.$pathname)},set:function(e,t){if(e>>>0===e&&this[e]!==t){if(e>this.length)throw Error(e+"set方法的第一个参数不能大于原数组长度");v.call(this.$up,this.$pathname+".*",[t,this[e]]),this.splice(e,1,t)}},contains:function(e){return-1!==this.indexOf(e)},ensure:function(e){return this.contains(e)||this.push(e),this},pushArray:function(e){return this.push.apply(this,e)},remove:function(e){return this.removeAt(this.indexOf(e))},removeAt:function(e){return e>>>0===e?this.splice(e,1):[]},size:function(){return this._.length},removeAll:function(e){if(Array.isArray(e))for(var t=this.length-1;t>=0;t--)-1!==e.indexOf(this[t])&&(xn.call(this.$track,t,1),xn.call(this,t,1));else if("function"==typeof e)for(t=this.length-1;t>=0;t--){var n=this[t];e(n,t)&&(xn.call(this.$track,t,1),xn.call(this,t,1))}else xn.call(this.$track,0,this.length),xn.call(this,0,this.length);Ut||(this.$model=k(this)),this.notify(),this._.length=this.length},clear:function(){return this.removeAll()}},xn=bn.splice;yn.forEach(function(e){var t=bn[e];$n[e]=function(){for(var n=[],a=0,r=arguments.length;r>a;a++)n[a]=x(arguments[a],0,1,1);var i=t.apply(this,n);return T(this.$track,e,n),Ut||(this.$model=k(this)),this.notify(),this._.length=this.length,i}}),"sort,reverse".replace(Bt,function(e){$n[e]=function(){var t=this.concat(),n=this,a=Math.random(),r=[],i=!1;bn[e].apply(n,arguments);for(var o=0,l=t.length;l>o;o++){var s=n[o],c=t[o];if(s===c)r.push(o);else{var u=t.indexOf(s);r.push(u),t[u]=a,i=!0}}return i&&(N(this.$track,r),Ut||(this.$model=k(this)),this.notify()),this}});var wn=function(){var e,t=[];return{begin:function(n){t.push(e),e=n},end:function(){e=t.pop()},collectDependency:function(t){e&&e.callback(t)}}}();avalon.injectBinding=function(e){e.handler=e.handler||nn[e.type].update||i,e.update=function(){var t=!1;e.getter||(t=!0,wn.begin({callback:function(t){E(t,e)}}),e.getter=W(e.expr,e.vmodels,e),e.observers.forEach(function(t){t.v.$watch(t.p,e)}),delete e.observers);try{var a,r,i=e.fireArgs;if(delete e.fireArgs,i?(a=i[0],r=i[1]):a="on"===e.type?e.getter+"":e.getter.apply(0,e.args),r="undefined"==typeof r?e.oldValue:r,e._filters&&(a=Ga.$filter.apply(0,[a].concat(e._filters))),e.signature){var o=avalon.type(a);if("array"!==o&&"object"!==o)throw Error("warning:"+e.expr+"只能是对象或数组");e.xtype=o;var l=O(e.proxies||[],o),s=a.$track||("array"===o?A(a.length):Object.keys(a));e.track=s,l!==s.join(";")&&(e.handler(a,r),e.oldValue=1)}else(Array.isArray(a)?a.length===(r&&r.length):1)?"oldValue"in e&&a===r||(e.handler(a,r),e.oldValue=a):(e.handler(a,r),e.oldValue=a.concat())}catch(c){delete e.getter,n("warning:exception throwed in [avalon.injectBinding] ",c);var u=e.element;u&&3===u.nodeType&&(u.nodeValue=sn+(e.oneTime?"::":"")+e.expr+cn)}finally{t&&wn.end()}},e.update()};var Cn=0,kn=avalon.$$subscribers=[],Nn=new Date,An={},Tn=new function(){avalon.mix(this,{option:Ht.createElement("select"),thead:Ht.createElement("table"),td:Ht.createElement("tr"),area:Ht.createElement("map"),tr:Ht.createElement("tbody"),col:Ht.createElement("colgroup"),legend:Ht.createElement("fieldset"),_default:Ht.createElement("div"),g:Ht.createElementNS("http://www.w3.org/2000/svg","svg")}),this.optgroup=this.option,this.tbody=this.tfoot=this.colgroup=this.caption=this.thead,this.th=this.td};String("circle,defs,ellipse,image,line,path,polygon,polyline,rect,symbol,text,use").replace(Bt,function(e){Tn[e]=Tn.g});var En=/<([\w:]+)/,On=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Mn=o(["","text/javascript","text/ecmascript","application/ecmascript","application/javascript"]),jn=Ht.createElement("script"),Sn=/<|&#?\w+;/;avalon.parseHTML=function(e){var t=Gt.cloneNode(!1);if("string"!=typeof e)return t;if(!Sn.test(e))return t.appendChild(Ht.createTextNode(e)),t;e=e.replace(On,"<$1></$2>").trim();var n,a=(En.exec(e)||["",""])[1].toLowerCase(),r=Tn[a]||Tn._default;r.innerHTML=e;var i=r.getElementsByTagName("script");if(i.length)for(var o,l=0;o=i[l++];)if(Mn[o.type]){var s=jn.cloneNode(!1);Wt.forEach.call(o.attributes,function(e){s.setAttribute(e.name,e.value)}),s.text=o.text,o.parentNode.replaceChild(s,o)}for(;n=r.firstChild;)t.appendChild(n);return t},avalon.innerHTML=function(e,t){var n=this.parseHTML(t);this.clearHTML(e).appendChild(n)},avalon.clearHTML=function(e){for(e.textContent="";e.firstChild;)e.removeChild(e.firstChild);return e},"add,remove".replace(Bt,function(e){avalon.fn[e+"Class"]=function(t){var n=this[0];return t&&"string"==typeof t&&n&&1===n.nodeType&&t.replace(/\S+/g,function(t){n.classList[e](t)}),this}}),avalon.fn.mix({hasClass:function(e){var t=this[0]||{};return 1===t.nodeType&&t.classList.contains(e)},toggleClass:function(e,t){for(var n,a=0,r=String(e).split(/\s+/),i="boolean"==typeof t;n=r[a++];){var o=i?t:!this.hasClass(n);this[o?"addClass":"removeClass"](n)}return this},attr:function(e,t){return 2===arguments.length?(this[0].setAttribute(e,t),this):this[0].getAttribute(e)},data:function(e,t){switch(e="data-"+L(e||""),arguments.length){case 2:return this.attr(e,t),this;case 1:var n=this.attr(e);return P(n);case 0:var a={};return Wt.forEach.call(this[0].attributes,function(t){t&&(e=t.name,e.indexOf("data-")||(e=R(e.slice(5)),a[e]=P(t.value)))}),a}},removeData:function(e){return e="data-"+L(e),this[0].removeAttribute(e),this},css:function(e,t){if(avalon.isPlainObject(e))for(var n in e)avalon.css(this,n,e[n]);else var a=avalon.css(this,e,t);return void 0!==a?a:this},position:function(){var e,t,n=this[0],a={top:0,left:0};if(n)return"fixed"===this.css("position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),"HTML"!==e[0].tagName&&(a=e.offset()),a.top+=avalon.css(e[0],"borderTopWidth",!0),a.left+=avalon.css(e[0],"borderLeftWidth",!0),a.top-=e.scrollTop(),a.left-=e.scrollLeft()),{top:t.top-a.top-avalon.css(n,"marginTop",!0),left:t.left-a.left-avalon.css(n,"marginLeft",!0)}},offsetParent:function(){for(var e=this[0].offsetParent;e&&"static"===avalon.css(e,"position");)e=e.offsetParent;return avalon(e||Xt)},bind:function(e,t,n){return this[0]?avalon.bind(this[0],e,t,n):void 0},unbind:function(e,t,n){return this[0]&&avalon.unbind(this[0],e,t,n),this},val:function(e){var t=this[0];if(t&&1===t.nodeType){var n=0===arguments.length,a=n?":get":":set",r=Fn[q(t)+a];
|
2
|
-
if(r)var i=r(t,e);else{if(n)return(t.value||"").replace(/\r/g,"");t.value=e}}return n?i:this}}),Xt.dataset&&(avalon.fn.data=function(e,t){e=e&&R(e);var n=this[0].dataset;switch(arguments.length){case 2:return n[e]=t,this;case 1:return t=n[e],P(t);case 0:var r=a();for(e in n)r[e]=P(n[e]);return r}});var Hn=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/;avalon.parseJSON=JSON.parse,avalon.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){avalon.fn[e]=function(n){var a=this[0]||{},r=B(a),i="scrollTop"===e;return arguments.length?void(r?r.scrollTo(i?r[t]:n,i?n:r[t]):a[e]=n):r?r[t]:a[e]}});var Dn=avalon.cssHooks=a(),Ln=["","-webkit-","-moz-","-ms-"],Rn={"float":"cssFloat"};avalon.cssNumber=o("animationIterationCount,animationIterationCount,columnCount,order,flex,flexGrow,flexShrink,fillOpacity,fontWeight,lineHeight,opacity,orphans,widows,zIndex,zoom"),avalon.cssName=function(e,t,n){if(Rn[e])return Rn[e];t=t||Xt.style;for(var a=0,r=Ln.length;r>a;a++)if(n=R(Ln[a]+e),n in t)return Rn[e]=n;return null},Dn["@:set"]=function(e,t,n){e.style[t]=n},Dn["@:get"]=function(e,t){if(!e||!e.style)throw new Error("getComputedStyle要求传入一个节点 "+e);var n,a=getComputedStyle(e);return a&&(n="filter"===t?a.getPropertyValue(t):a[t],""===n&&(n=e.style[t])),n},Dn["opacity:get"]=function(e){var t=Dn["@:get"](e,"opacity");return""===t?"1":t},"top,left".replace(Bt,function(e){Dn[e+":get"]=function(t){var n=Dn["@:get"](t,e);return/px$/.test(n)?n:avalon(t).position()[e]+"px"}});var Pn={position:"absolute",visibility:"hidden",display:"block"},Bn=/^(none|table(?!-c[ea]).+)/;"Width,Height".replace(Bt,function(e){var t=e.toLowerCase(),n="client"+e,a="scroll"+e,r="offset"+e;Dn[t+":get"]=function(t,n,a){var i=-4;"number"==typeof a&&(i=a),n="Width"===e?["Left","Right"]:["Top","Bottom"];var o=t[r];return 2===i?o+avalon.css(t,"margin"+n[0],!0)+avalon.css(t,"margin"+n[1],!0):(0>i&&(o=o-avalon.css(t,"border"+n[0]+"Width",!0)-avalon.css(t,"border"+n[1]+"Width",!0)),-4===i&&(o=o-avalon.css(t,"padding"+n[0],!0)-avalon.css(t,"padding"+n[1],!0)),o)},Dn[t+"&get"]=function(e){var n=[];F(e,n);for(var a,r=Dn[t+":get"](e),i=0;a=n[i++];){e=a.node;for(var o in a)"string"==typeof a[o]&&(e.style[o]=a[o])}return r},avalon.fn[t]=function(i){var o=this[0];if(0===arguments.length){if(o.setTimeout)return o["inner"+e];if(9===o.nodeType){var l=o.documentElement;return Math.max(o.body[a],l[a],o.body[r],l[r],l[n])}return Dn[t+"&get"](o)}return this.css(t,i)},avalon.fn["inner"+e]=function(){return Dn[t+":get"](this[0],void 0,-2)},avalon.fn["outer"+e]=function(e){return Dn[t+":get"](this[0],void 0,e===!0?2:0)}}),avalon.fn.offset=function(){var e=this[0];try{var t=e.getBoundingClientRect();if(t.width||t.height||e.getClientRects().length){var n=e.ownerDocument,a=n.documentElement,r=n.defaultView;return{top:t.top+r.pageYOffset-a.clientTop,left:t.left+r.pageXOffset-a.clientLeft}}}catch(i){return{left:0,top:0}}};var Fn={"select:get":function(e,t){for(var n,a=e.options,r=e.selectedIndex,i="select-one"===e.type||0>r,o=i?null:[],l=i?r+1:a.length,s=0>r?l:i?r:0;l>s;s++)if(n=a[s],(n.selected||s===r)&&!n.disabled){if(t=n.value,i)return t;o.push(t)}return o},"select:set":function(e,t,n){t=[].concat(t);for(var a,r=0;a=e.options[r++];)(a.selected=t.indexOf(a.value)>-1)&&(n=!0);n||(e.selectedIndex=-1)}},qn={},_n=["break,case,catch,continue,debugger,default,delete,do,else,false","finally,for,function,if,in,instanceof,new,null,return,switch,this","throw,true,try,typeof,var,void,while,with","abstract,boolean,byte,char,class,const,double,enum,export,extends","final,float,goto,implements,import,int,interface,long,native","package,private,protected,public,short,static,super,synchronized","throws,transient,volatile","arguments,let,yield,undefined"].join(",");_n.replace(/\w+/g,function(e){qn[e]=!0});var Vn=/[a-z_$]/i,In=/[\s\uFEFF\xA0]/,zn=/(\$proxy\$[a-z]+)\d+$/,Wn=new an(218),Yn=new an(128);avalon.normalizeExpr=Y,avalon.parseExprProxy=W;var Un=/\)\s*$/,Xn=/\)\s*\|/g,Gn=/\|\s*([$\w]+)/g,Zn=/"\s*\["/g,Jn=/"\s*\(/g,Kn=JSON.stringify;avalon.scan=function(e,t){e=e||Xt;var n=t?[].concat(t):[];nt(e,n)};var Qn=o("area,base,basefont,br,col,command,embed,hr,img,input,link,meta,param,source,track,wbr,noscript,script,style,textarea".toUpperCase()),ea=function(e,t,n){var a=e.getAttribute(t);if(a)for(var r,i=0;r=n[i++];)if(r.hasOwnProperty(a)&&"function"==typeof r[a])return r[a]},ta=Kt&&e.MutationObserver?function(e){for(var t,n=e.firstChild;n;){var a=n.nextSibling;3===n.nodeType?t?(t.nodeValue+=n.nodeValue,e.removeChild(n)):t=n:t=null,n=a}}:0,na=/^\s*::/,aa=/ms-(\w+)-?(.*)/,ra=o("animationend,blur,change,input,click,dblclick,focus,keydown,keypress,keyup,mousedown,mouseenter,mouseleave,mousemove,mouseout,mouseover,mouseup,scan,scroll,submit"),ia=o("value,title,alt,checked,selected,disabled,readonly,enabled,href,src"),oa=/^if|widget|repeat$/,la=/^each|with|html|include$/,sa=/^(ms-\S+|data-\S+|on[a-z]+|id|style|class|tabindex)$/,ca=/\|\s*html(?:\b|$)/,ua=/\|\|/g,fa=/(['"])(\\\1|.)+?\1/g,da=function(){this.queue=[]};da.prototype={render:function(e){if(!this.locked){this.locked=e?Xt.offsetHeight+10:1;var t=this;avalon.nextTick(function(){t.flush()})}},flush:function(){for(var e,t=0;e=this.queue[t++];)e.update&&e.update();this.locked=0,this.queue=[]}};var va=new da,pa=[],ha=[],ma={$construct:function(){return avalon.mix.apply(null,arguments)},$ready:i,$init:i,$dispose:i,$container:null,$childReady:i,$replace:!1,$extend:null,$$template:function(e){return e}};avalon.components={},avalon.component=function(t,n){n&&(avalon.components[t]=avalon.mix({},ma,n));for(var a,r=0;a=pa[r];r++)t===a.fullName&&(pa.splice(r,1),r--,function(n,a,r,i){var o=1,l=n.library,s=avalon.libraries[l]||ma,c=Q(r),u=ot(n.vmodels,c.config||n.widget),f=c.$id||c.identifier||Jt(i);delete c.config,delete c.$id,delete c.identifier;var d={},v=avalon.components[a.$extend];v?(avalon.mix(!0,d,v),d=v.$construct.call(r,d,{},{})):avalon.mix(!0,d,a),d=avalon.components[t].$construct.call(r,d,u,c),d.$refs={},d.$id=f;var p=d.$slot,h=d.$replace,m=d.$container,g=d.$template;delete d.$slot,delete d.$replace,delete d.$container,delete d.$construct;var y=avalon.define(d)||{};r.msResolved=1,y.$init(y,r),s.$init(y,r);for(var b,$,x=r.childNodes,w={},C=0;$=x[C++];){var k=1===$.nodeType&&$.getAttribute("slot")||p;k&&(w[k]?w[k].push($):w[k]=[$])}y.$$template&&(avalon.clearHTML(r),r.innerHTML=y.$$template(g));for(C in w)if(y.hasOwnProperty(C)){var N=w[C];if(N.length){for(var A=Gt.cloneNode(!0),T=0;b=N[T++];)A.appendChild(b);y[C]=A}w[C]=null}w=null;var E=r.firstChild;h&&(E=r.firstChild,r.parentNode.replaceChild(E,r),E.msResolved=1,r=n.element=E),m&&m.appendChild(r),avalon.fireDom(r,"datasetchanged",{library:l,vm:y,childReady:1});var O=0,M=avalon.bind(r,"datasetchanged",function(t){if(t.childReady&&t.library===l&&(o+=t.childReady,y!==t.vm&&(y.$refs[t.vm.$id]=t.vm,-1===t.childReady&&(O++,y.$childReady(y,r,t)),t.stopPropagation())),0===o){var a=setTimeout(function(){clearTimeout(a),y.$ready(y,r,n.vmodels),s.$ready(y,r,n.vmodels)},O?Math.max(17*O,100):17);avalon.unbind(r,"datasetchanged",M),n.rollback=function(){try{y.$dispose(y,r),s.$dispose(y,r)}catch(e){}delete avalon.vmodels[y.$id]},j(n,ha),e.chrome&&r.addEventListener("DOMNodeRemovedFromDocument",function(){setTimeout(S)})}});if(nt(r,[y].concat(n.vmodels)),avalon.vmodels[y.$id]=y,r.childNodes.length)var H=setTimeout(function(){clearTimeout(H),avalon.fireDom(r,"datasetchanged",{library:l,vm:y,childReady:-1})},17);else avalon.fireDom(r,"datasetchanged",{library:l,vm:y,childReady:-1})}(a,avalon.components[t],a.element,a.widget))},avalon.fireDom=function(e,t,n){if(Ht.createEvent){var a=Ht.createEvent("Events");a.initEvent(t,!0,!0,n),avalon.mix(a,n),e.dispatchEvent(a)}else Xt.contains(e)&&(a=Ht.createEventObject(),avalon.mix(a,n),e.fireEvent("on"+t,a))},avalon.libraries=[],avalon.library=function(e,t){Ht.namespaces&&Ht.namespaces.add(e,"http://www.w3.org/1999/xhtml"),avalon.libraries[e]=avalon.mix({$init:i,$ready:i,$dispose:i},t||{})},avalon.library("ms");var ga=["autofocus,autoplay,async,allowTransparency,checked,controls","declare,disabled,defer,defaultChecked,defaultSelected","contentEditable,isMap,loop,multiple,noHref,noResize,noShade","open,readOnly,selected"].join(","),ya={};ga.replace(Bt,function(e){ya[e.toLowerCase()]=e});var ba={"accept-charset":"acceptCharset","char":"ch",charoff:"chOff","class":"className","for":"htmlFor","http-equiv":"httpEquiv"},$a=["accessKey,bgColor,cellPadding,cellSpacing,codeBase,codeType,colSpan","dateTime,defaultValue,frameBorder,longDesc,maxLength,marginWidth,marginHeight","rowSpan,tabIndex,useMap,vSpace,valueType,vAlign"].join(",");$a.replace(Bt,function(e){ba[e.toLowerCase()]=e});var xa=avalon.directive("attr",{init:function(e){if(e.expr=Y(e.expr.trim()),"include"===e.type){var t=e.element;dt(t,e),e.includeRendered=ea(t,"data-include-rendered",e.vmodels),e.includeLoaded=ea(t,"data-include-loaded",e.vmodels);var n=e.includeReplace=!!avalon(t).data("includeReplace");avalon(t).data("includeCache")&&(e.templateCache={}),e.start=Ht.createComment("ms-include"),e.end=Ht.createComment("ms-include-end"),n?(e.element=e.end,e._element=t,t.parentNode.insertBefore(e.start,t),t.parentNode.insertBefore(e.end,t.nextSibling)):(t.insertBefore(e.start,t.firstChild),t.appendChild(e.end))}},update:function(t){var n=this.element,a=this.param;if("href"===a||"src"===a){if("string"!=typeof t||Xt.hasAttribute||(t=t.replace(/&/g,"&")),n[a]=t,e.chrome&&"EMBED"===n.tagName){var r=n.parentNode,i=document.createComment("ms-src");r.replaceChild(i,n),r.replaceChild(n,i)}}else{var o=t===!1||null===t||void 0===t;!Ut&&ba[a]&&(a=ba[a]);var l=ya[a];if("boolean"==typeof n[l]&&(n[l]=!!t,t||(o=!0)),o)return n.removeAttribute(a);var s=qt.test(n)?!1:Ht.namespaces&&isVML(n)?!0:a in n.cloneNode(!1);s?n[a]=t+"":n.setAttribute(a,t)}}});"title,alt,src,value,css,include,href".replace(Bt,function(e){nn[e]=xa}),avalon.directive("class",{init:function(e){var t=e.param,a=e.type;if(!t||isFinite(t)?(e.param="",nn.effect.init(e)):(n("ms-"+a+'-xxx="yyy"这种用法已经过时,请使用ms-'+a+'="xxx:yyy"'),e.expr="["+Kn(t)+","+e.expr+"]",e.oldStyle=t),"hover"===a||"active"===a){if(!e.hasBindEvent){var r=e.element,i=avalon(r),o="mouseenter",l="mouseleave";if("active"===a){r.tabIndex=r.tabIndex||-1,o="mousedown",l="mouseup";var s=i.bind("mouseleave",function(){e.toggleClass&&i.removeClass(e.newClass)})}}var c=i.bind(o,function(){e.toggleClass&&i.addClass(e.newClass)}),u=i.bind(l,function(){e.toggleClass&&i.removeClass(e.newClass)});e.rollback=function(){i.unbind("mouseleave",s),i.unbind(o,c),i.unbind(l,u)},e.hasBindEvent=!0}},update:function(e){var t=this,n=avalon(this.element);t.newClass=e[0],t.toggleClass=!!e[1],t.oldClass&&t.newClass!==t.oldClass&&n.removeClass(t.oldClass),t.oldClass=t.newClass,"class"===t.type&&(t.oldStyle?n.toggleClass(t.oldStyle,!!e[1]):n.toggleClass(t.newClass,t.toggleClass))}}),"hover,active".replace(Bt,function(e){nn[e]=nn["class"]}),avalon.directive("css",{init:nn.attr.init,update:function(e){avalon(this.element).css(this.param,e)}}),avalon.directive("data",{priority:100,update:function(e){var t=this.element,n="data-"+this.param;e&&"object"==typeof e?t[n]=e:t.setAttribute(n,String(e))}});{var wa=/^(?:checkbox|radio)$/,Ca=/^(?:radio|checked)$/,ka=/^(file|button|reset|submit|checkbox|radio|range)$/;avalon.directive("duplex",{priority:2e3,init:function(e,t){function a(t){e.changed.call(this,t,e)}function r(){d=!0}function l(){d=!1}var s=e.element,c=e.vmodels;e.changed=ea(s,"data-duplex-changed",c)||i;var u=[],f=o("string,number,boolean,checked");"radio"===s.type&&""===e.param&&(e.param="checked"),e.param.replace(Ft,function(a){wa.test(s.type)&&Ca.test(a)&&("radio"===a&&n("ms-duplex-radio已经更名为ms-duplex-checked"),a="checked",e.isChecked=!0,e.xtype="radio"),"bool"===a?(a="boolean",n("ms-duplex-bool已经更名为ms-duplex-boolean")):"text"===a&&(a="string",n("ms-duplex-text已经更名为ms-duplex-string")),f[a]&&(t=!0),avalon.Array.ensure(u,a)}),t||u.push("string"),e.param=u.join("-"),e.xtype||(e.xtype="SELECT"===s.tagName?"select":"checkbox"===s.type?"checkbox":"radio"===s.type?"radio":/^change/.test(s.getAttribute("data-duplex-event"))?"change":"input"),e.bound=function(t,n){s.addEventListener(t,n,!1);var a=e.rollback;e.rollback=function(){s.avalonSetter=null,avalon.unbind(s,t,n),a&&a()}};var d=!1,v=function(){var t=s.value;if(!d&&t!==e.oldValue&&null!==e.pipe){var n=e.pipe(t,e,"get");e.setter(n),a.call(s,n)}};switch(e.xtype){case"radio":e.bound("click",function(){var t=e.pipe(s.value,e,"get");e.setter(t),a.call(s,t)});break;case"checkbox":e.bound("change",function(){var t=s.checked?"ensure":"remove",r=e.getter.apply(0,e.vmodels);Array.isArray(r)||(n("ms-duplex应用于checkbox上要对应一个数组"),r=[r]);var i=e.pipe(s.value,e,"get");avalon.Array[t](r,i),a.call(s,r)});break;case"change":e.bound("change",v);break;case"input":Kt?e.bound("input",v):(e.bound("input",v),e.bound("compositionstart",r),e.bound("compositionend",l),e.bound("DOMAutoComplete",v));break;case"select":e.bound("change",function(){var t=avalon(s).val();if(t=Array.isArray(t)?t.map(function(t){return e.pipe(t,e,"get")}):e.pipe(t,e,"get"),t+""!==e.oldValue)try{e.setter(t)}catch(a){n(a)}}),e.bound("datasetchanged",function(t){if("selectDuplex"===t.bubble){var n=e._value,r=Array.isArray(n)?n.map(String):n+"";avalon(s).val(r),s.oldValue=r+"",a.call(s,r)}})}"input"!==e.xtype||ka.test(s.type)||("hidden"!==s.type&&(e.bound("focus",function(){s.msFocus=!0}),e.bound("blur",function(){s.msFocus=!1})),s.avalonSetter=v,Ta(function(){if(Xt.contains(s))s.msFocus||e.oldValue===s.value||v();else if(!s.msRetain)return!1}))},update:function(e){var t,n=this.element,a=this;if(!this.init){for(var r in avalon.vmodels){var i=avalon.vmodels[r];i.$fire("avalon-ms-duplex-init",a)}var o=a.pipe||(a.pipe=ct);o(null,a,"init"),this.init=1}switch(this.xtype){case"input":case"change":if(t=this.pipe(e,this,"set"),t!==this.oldValue){var l=!1;if(n.msFocus)try{var s=n.selectionStart,c=n.selectionEnd;if(s===c){var u=s;l=!0}}catch(f){}n.value=this.oldValue=t,l&&(n.selectionStart=n.selectionEnd=u)}break;case"radio":t=a.isChecked?!!e:e+""===n.value,n.checked=t;break;case"checkbox":var d=[].concat(e);t=this.pipe(n.value,this,"get"),n.checked=d.indexOf(t)>-1;break;case"select":a._value=e,n.msHasEvent?avalon.fireDom(n,"datasetchanged",{bubble:n.msHasEvent}):n.msHasEvent="selectDuplex"}"select"!==a.xtype&&a.changed.call(n,t,a)}})}avalon.duplexHooks={checked:{get:function(e,t){return!t.oldValue}},string:{get:function(e){return e},set:st},"boolean":{get:function(e){return"true"===e},set:st},number:{get:function(e,t){var n=parseFloat(e);if(-e===-n)return n;var a=/strong|medium|weak/.exec(t.element.getAttribute("data-duplex-number"))||["medium"];switch(a[0]){case"strong":return 0;case"medium":return""===e?"":0;case"weak":return e}},set:st}};var Na,Aa=[];avalon.tick=function(e){1===Aa.push(e)&&(Na=setInterval(ut,60))};var Ta=i;!new function(){function e(e){t[this.tagName].call(this,e),!this.msFocus&&this.avalonSetter&&this.avalonSetter()}try{var t={},n=HTMLInputElement.prototype,a=HTMLTextAreaElement.prototype,r=HTMLInputElement.prototype;Object.getOwnPropertyNames(r),t.INPUT=Object.getOwnPropertyDescriptor(n,"value").set,Object.defineProperty(n,"value",{set:e}),t.TEXTAREA=Object.getOwnPropertyDescriptor(a,"value").set,Object.defineProperty(a,"value",{set:e})}catch(i){Ta=avalon.tick}},avalon.directive("effect",{priority:5,init:function(e){var t,n,a=e.expr,r=a.replace(fn,function(e){return e.replace(/./g,"0")}).indexOf(":");-1===r?(t=a,n=!0):(t=a.slice(0,r),n=a.slice(r+1)),t=un.test(a)?Y(t):Kn(t),e.expr="["+t+","+n+"]"},update:function(t){var n=t[0],a=this.element;if(a.getAttribute("data-effect-name")!==n){a.removeAttribute("data-effect-driver");var r=a.style,i=e.getComputedStyle?e.getComputedStyle(a):null,o=!1;if(i&&(Ma||ja)){var l=r[Sa]||i[Sa];l&&"0s"!==l&&(a.setAttribute("data-effect-driver","t"),o=!0),o||(l=r[Ha]||i[Ha],l&&"0s"!==l&&(a.setAttribute("data-effect-driver","a"),o=!0))}o||avalon.effects[n]&&(a.setAttribute("data-effect-driver","j"),o=!0),o&&a.setAttribute("data-effect-name",n)}}}),avalon.effects={},avalon.effect=function(e,t){avalon.effects[e]=t};var Ea,Oa,Ma=!1,ja=!1,Sa=avalon.cssName("transition-duration"),Ha=avalon.cssName("animation-duration");!new function(){var t,n={TransitionEvent:"transitionend",WebKitTransitionEvent:"webkitTransitionEnd",OTransitionEvent:"oTransitionEnd",otransitionEvent:"otransitionEnd"};for(var a in n){if(e[a]){t=n[a];break}try{{document.createEvent(a)}t=n[a];break}catch(r){}}"string"==typeof t&&(Ma=!0,Ea=t),n={AnimationEvent:"animationend",WebKitAnimationEvent:"webkitAnimationEnd"};var i;for(a in n)if(e[a]){i=n[a];break}"string"==typeof i&&(Ma=!0,Oa=i)};var Da=[],La=new da;pt.prototype={contrustor:pt,enterClass:function(){return ht(this,"enter")},leaveClass:function(){return ht(this,"leave")},actionFun:function(e,t,n){if(!document.hidden){var a=this,r=a.el,i="leave"===e;e=i?"leave":"enter";var o=i?"enter":"leave";mt(a,"abort"+vt(o)),mt(a,"before"+vt(e)),i||t(r);var l=function(o){r.removeEventListener(a.cssEvent,a.cssCallback),i?(t(r),avalon(r).removeClass(a.cssClass)):"a"===a.driver&&avalon(r).removeClass(a.cssClass),o!==!0&&(mt(a,"after"+vt(e)),n&&n(r)),a.dispose()};a.useCss?(a.cssCallback&&a.cssCallback(!0),a.cssClass=ht(a,e),a.cssCallback=l,a.update=function(){r.addEventListener(a.cssEvent,a.cssCallback),i||"t"!==a.driver||avalon(r).removeClass(a.cssClass)},avalon(r).addClass(a.cssClass),La.render(!0),La.queue.push(a)):mt(a,e,l)}},enter:function(){this.actionFun.apply(this,["enter"].concat(avalon.slice(arguments)))},leave:function(){this.actionFun.apply(this,["leave"].concat(avalon.slice(arguments)))},dispose:function(){this.update=this.cssCallback=null,Da.unshift(this)>100&&Da.pop()}};var Ra=function(e,t){var n=Yt.call(arguments,0);"function"!=typeof n[2]&&n.splice(2,0,i),"function"!=typeof n[3]&&n.splice(3,0,i);var a=n[2],r=n[3],o=n[4],l=ft(e,o);if(!l)return a(),r(),!1;var s=t?"enter":"leave";l[s](a,r)};avalon.mix(avalon.effect,{apply:Ra,append:function(e,t,n,a){return Ra(e,1,function(){t.appendChild(e)},n,a)},before:function(e,t,n,a){return Ra(e,1,function(){t.parentNode.insertBefore(e,t)},n,a)},remove:function(e,t,n,a){return Ra(e,0,function(){e.parentNode===t&&t.removeChild(e)},n,a)}}),avalon.directive("html",{update:function(e){var t=this,n=this.element,a=1!==n.nodeType,r=a?n.parentNode:n;if(r){if(e=null==e?"":e,3===n.nodeType){var i=Jt("html");r.insertBefore(Ht.createComment(i),n),t.element=Ht.createComment(i+":end"),r.replaceChild(t.element,n),n=t.element}if("object"!=typeof e)var o=avalon.parseHTML(String(e));else if(11===e.nodeType)o=e;else if(1===e.nodeType||e.item){var l=1===e.nodeType?e.childNodes:e.item;for(o=Gt.cloneNode(!0);l[0];)o.appendChild(l[0])}if(l=avalon.slice(o.childNodes),a){for(var s=n.nodeValue.slice(0,-4);;){var c=n.previousSibling;if(!c||8===c.nodeType&&c.nodeValue===s)break;r.removeChild(c)}r.insertBefore(o,n)}else avalon.clearHTML(n).appendChild(o);tt(l,t.vmodels)}}}),avalon.directive("if",{priority:10,update:function(e){function t(){r.getAttribute(a.name)&&(r.removeAttribute(a.name),K(r,a.vmodels)),a.rollback=null}var n,a=this,r=this.element,i=a.stamp=+new Date,o=function(){i===a.stamp&&(a.recoverNode=null)};a.recoverNode&&a.recoverNode();try{if(!r.parentNode)return;n=r.parentNode}catch(l){return}if(e){if(8===r.nodeType){var s=a.keep,c=avalon.effect.apply(s,1,function(){i===a.stamp&&(r.parentNode.replaceChild(s,r),r=a.element=s,s.getAttribute("_required")&&(r.required=!0,r.removeAttribute("_required")),r.querySelectorAll&&avalon.each(r.querySelectorAll("[_required=true]"),function(e){e.required=!0,e.removeAttribute("_required")}),t())},o);c=c===!1}c||t()}else if(1===r.nodeType){r.required===!0&&(r.required=!1,r.setAttribute("_required","true"));try{avalon.each(r.querySelectorAll(":required"),function(e){r.required=!1,e.setAttribute("_required","true")})}catch(l){}var u=a.element=Ht.createComment("ms-if"),f=r.nextSibling;a.recoverNode=function(){a.recoverNode=null,u.parentNode!==n&&(n.insertBefore(u,f),a.keep=r)},avalon.effect.apply(r,0,function(){a.recoverNode=null,i===a.stamp&&(r.parentNode.replaceChild(u,r),a.keep=r,Lt.appendChild(r),a.rollback=function(){r.parentNode===Lt&&Lt.removeChild(r)})},o)}}});var Pa=function(){return new e.XMLHttpRequest},Ba=avalon.templateCache={};avalon.directive("include",{init:nn.attr.init,update:function(e){var t=this,a=this.element,r=t.vmodels,i=t.includeRendered,o=t.effectName&&t.effectClass,l=t.templateCache,s=t.includeReplace,c=t.includeLoaded,u=s?a.parentNode:a,f=t._element;t.recoverNodes=t.recoverNodes||avalon.noop;var d=function(n){var d=t._stamp=+new Date;if(c){var v=c.apply(u,[n].concat(r));"string"==typeof v&&(n=v)}i&&X(u,function(){i.call(u)},0/0);var p=t.includeLastID||"_default";t.includeLastID=e;var h=l&&l[p]||Ht.createElement(a.tagName||t._element.tagName);o&&(h.className=o,u.insertBefore(h,t.start)),(l||{})[p]=h;var m=t.recoverNodes();for(m&&u.insertBefore(m,t.end);;){var g=t.start.nextSibling;if(!g||g===h||g===t.end)break;h.appendChild(g)}avalon.effect.remove(h,u,function(){l&&d===t._stamp&&Lt.appendChild(h)},t);var y=u,b=avalon.noop,$=avalon.noop,x=gt(t,e,n),w=avalon.slice(x.childNodes);s&&o?(y=f,y.innerHTML="",y.setAttribute("ms-skip","true"),u.insertBefore(y,t.end.nextSibling),b=function(){y.insertBefore(x,null)},$=function(){t.recoverNodes=avalon.noop,d===t._stamp&&(x=yt(w),u.insertBefore(x,t.end),tt(w,r)),y.parentNode===u&&u.removeChild(y)},t.recoverNodes=function(){return t.recoverNodes=avalon.noop,yt(w)}):b=function(){u.insertBefore(x,t.end),tt(w,r)},avalon.effect.apply(y,"enter",b,$)};if("src"===t.param)if("string"==typeof Ba[e])avalon.nextTick(function(){d(Ba[e])});else if(Array.isArray(Ba[e]))Ba[e].push(d);else{var v=Pa();v.onload=function(){for(var t,n=v.responseText,a=0;t=Ba[e][a++];)t(n);Ba[e]=n},v.onerror=function(){n("ms-include load ["+e+"] error")},Ba[e]=[d],v.open("GET",e,!0),"withCredentials"in v&&(v.withCredentials=!0),v.setRequestHeader("X-Requested-With","XMLHttpRequest"),v.send(null)}else{var p=e&&1===e.nodeType?e:Ht.getElementById(e);p&&avalon.nextTick(function(){d(p.value||p.innerText||p.innerHTML)})}}});var Fa=/\(([^)]*)\)/,qa=avalon.directive("on",{priority:3e3,init:function(e){var t=e.expr;e.type="on";var n=e.param.replace(/-\d+$/,"");if("function"==typeof qa[n+"Hook"]&&qa[n+"Hook"](e),t.indexOf("(")>0&&t.indexOf(")")>-1){var a=(t.match(Fa)||["",""])[1].trim();(""===a||"$event"===a)&&(t=t.replace(Fa,""))}e.expr=t},update:function(e){var t=this,n=this.element;e=function(e){var n=t.getter||i;return n.apply(this,t.args.concat(e))};var a=t.param.replace(/-\d+$/,"");if("scan"===a)e.call(n,{type:a});else if("function"==typeof t.specialBind)t.specialBind(n,e);else var r=avalon.bind(n,a,e);t.rollback=function(){"function"==typeof t.specialUnbind?t.specialUnbind():avalon.unbind(n,a,r)}}});avalon.directive("repeat",{priority:90,init:function(e){var t=e.type;e.cache={},e.enterCount=0;var n=e.element;if(1===n.nodeType){n.removeAttribute(e.name),dt(n,e),e.param=e.param||"el",e.sortedCallback=ea(n,"data-with-sorted",e.vmodels);var a=ea(n,"data-"+t+"-rendered",e.vmodels),r=Jt(t),i=Ht.createComment(r+":start"),o=e.element=Ht.createComment(r+":end");if(e.signature=r,e.start=i,e.template=Gt.cloneNode(!1),"repeat"===t){var l=n.parentNode;l.replaceChild(o,n),l.insertBefore(i,o),e.template.appendChild(n)}else{for(;n.firstChild;)e.template.appendChild(n.firstChild);n.appendChild(i),n.appendChild(o),l=n}if(e.element=o,a)var s=avalon.bind(l,"datasetchanged",function(){a.apply(l,l.args),avalon.unbind(l,"datasetchanged",s),l.msRendered=a})}},update:function(e,t){var n=this,a=this.xtype;this.enterCount+=1;var r=!t;if(r){n.$outer={};var i="$key",o="$val";"array"===a&&(i="$first",o="$last");for(var l,s=0;l=n.vmodels[s++];)if(l.hasOwnProperty(i)&&l.hasOwnProperty(o)){n.$outer=l;break}}var c=this.track;if(n.sortedCallback){var f=n.sortedCallback.call($,c);f&&Array.isArray(f)&&(c=f)}var d="move";n.$repeat=e;var v=[],p=r&&Gt.cloneNode(!1),h=[],m=this.param,g=avalon.mix({},this.cache),y=this.element,b=c.length,$=y.parentNode;for(s=0;b>s;s++){var x=c[s],w=g[x];if(w)v.push({}),g[x]=!0;else{if(w=Ct(this),w.$up=null,"array"===a){d="add",w.$id=x;var C=e[s];w[m]=C,Object(C)===C&&(C.$ups=C.$ups||{},C.$ups[m]=w)}else d="append",w.$key=x,w.$val=e[x];this.cache[x]=w;var N=w.$anchor||(w.$anchor=y.cloneNode(!1));N.nodeValue=this.signature,wt(n,p,w,v,r&&!n.effectDriver),At(w,n,a)}1===this.enterCount&&(w.$active=!1,w.$oldIndex=w.$index,w.$active=!0,w.$index=s),"array"===a?(w.$first=0===s,w.$last=s===b-1):w.$val=k(e[x]),h.push(w)}if(this.proxies=h,r&&!n.effectDriver)$.insertBefore(p,y),v.forEach(function(e){tt(e.nodes||[],e.vmodels),e.nodes=e.vmodels=null});else{var A=n.staggerIndex=0;for(x in g)g[x]!==!0&&(d="del",xt(g[x].$anchor,n),Ot(this.cache,x,m),g[x]=null);for(s=0;b>s;s++){w=h[s],x="array"===a?w.$id:w.$key;var T=h[s-1],E=T?T.$anchor:n.start;g[x]?w.$index!==w.$oldIndex&&!function(e,t){A=$t(n.effectEnterStagger,function(){var a=xt(e.$anchor),r=avalon.slice(a.childNodes);$.insertBefore(a,t.nextSibling),bt(r,1,n)},A)}(w,E):!function(e,t){var a=e.nodes,r=e.vmodels;a&&(A=$t(n.effectEnterStagger,function(){$.insertBefore(e.content,t.nextSibling),tt(a,r),bt(a,1,n)},A)),e.nodes=e.vmodels=null}(v[s],E)}}if(!e.$track)for(x in this.cache)Ot(this.cache,x,m);!function(e){$.args=e,$.msRendered&&$.msRendered.apply($,e)}(u.newWatch?arguments:[d]);var O=setTimeout(function(){clearTimeout(O),avalon.fireDom($,"datasetchanged",{bubble:$.msHasEvent})});this.enterCount-=1}}),"with,each".replace(Bt,function(e){nn[e]=avalon.mix({},nn.repeat,{priority:1400})});var _a=[],Va=[];avalon.directive("text",{update:function(e){var t=this.element;if(e=null==e?"":e,3===t.nodeType)try{t.data=e}catch(n){}else t.textContent=e}}),avalon.parseDisplay=Mt,avalon.directive("visible",{init:function(e){dt(e.element,e)},update:function(e){var t,n=this,a=this.element,r=!this.effectName;return this.stamp?(t=this.stamp=+new Date,void(e?avalon.effect.apply(a,1,function(){if(t===n.stamp){var e=a.getAttribute("data-effect-driver")||"a";r&&(a.style.display=n.display||""),("a"===e||"t"===e)&&"none"===avalon(a).css("display")&&(a.style.display=n.display||Mt(a.nodeName))}}):avalon.effect.apply(a,0,function(){t===n.stamp&&(a.style.display="none")}))):(t=this.stamp=+new Date,void(e?(a.style.display=n.display||"","none"===avalon(a).css("display")&&(a.style.display=n.display=Mt(a.nodeName))):a.style.display="none"))}});var Ia=/<script[^>]*>([\S\s]*?)<\/script\s*>/gim,za=/\s+(on[^=\s]+)(?:=("[^"]*"|'[^']*'|[^\s>]+))?/g,Wa=/<\w+\b(?:(["'])[^"]*?(\1)|[^>])*>/gi,Ya={a:/\b(href)\=("javascript[^"]*"|'javascript[^']*')/gi,img:/\b(src)\=("javascript[^"]*"|'javascript[^']*')/gi,form:/\b(action)\=("javascript[^"]*"|'javascript[^']*')/gi},Ua=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Xa=/([^\#-~| |!])/g,Ga=avalon.filters={uppercase:function(e){return e.toUpperCase()},lowercase:function(e){return e.toLowerCase()},truncate:function(e,t,n){return t=t||30,n="string"==typeof n?n:"...",e.length>t?e.slice(0,t-n.length)+n:String(e)},$filter:function(e){for(var t=1,n=arguments.length;n>t;t++){var a=arguments[t],r=avalon.filters[a[0]];if("function"==typeof r){var i=[e].concat(a.slice(1));e=r.apply(null,i)}}return e},camelize:R,sanitize:function(e){return e.replace(Ia,"").replace(Wa,function(e){var t=e.toLowerCase().match(/<(\w+)\s/);if(t){var n=Ya[t[1]];n&&(e=e.replace(n,function(e,t,n){var a=n.charAt(0);return t+"="+a+"javascript:void(0)"+a}))}return e.replace(za," ").replace(/\s+/g," ")})},escape:function(e){return String(e).replace(/&/g,"&").replace(Ua,function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1);return"&#"+(1024*(t-55296)+(n-56320)+65536)+";"}).replace(Xa,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")},currency:function(e,t,n){return(t||"¥")+jt(e,isFinite(n)?n:2)},number:jt};!new function(){function e(e){return parseInt(e,10)||0}function t(e,t,n){var a="";for(0>e&&(a="-",e=-e),e=""+e;e.length<t;)e="0"+e;return n&&(e=e.substr(e.length-t)),a+e}function n(e,n,a,r){return function(i){var o=i["get"+e]();return(a>0||o>-a)&&(o+=a),0===o&&-12===a&&(o=12),t(o,n,r)}}function a(e,t){return function(n,a){var r=n["get"+e](),i=(t?"SHORT"+e:e).toUpperCase();return a[i][r]}}function r(e){var n=-1*e.getTimezoneOffset(),a=n>=0?"+":"";return a+=t(Math[n>0?"floor":"ceil"](n/60),2)+t(Math.abs(n%60),2)}function i(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}var o={yyyy:n("FullYear",4),yy:n("FullYear",2,0,!0),y:n("FullYear",1),MMMM:a("Month"),MMM:a("Month",!0),MM:n("Month",2,1),M:n("Month",1,1),dd:n("Date",2),d:n("Date",1),HH:n("Hours",2),H:n("Hours",1),hh:n("Hours",2,-12),h:n("Hours",1,-12),mm:n("Minutes",2),m:n("Minutes",1),ss:n("Seconds",2),s:n("Seconds",1),sss:n("Milliseconds",3),EEEE:a("Day"),EEE:a("Day",!0),a:i,Z:r},l=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,s=/^\/Date\((\d+)\)\/$/;Ga.date=function(t,n){var a,r,i=Ga.date.locate,c="",u=[];if(n=n||"mediumDate",n=i[n]||n,"string"==typeof t)if(/^\d+$/.test(t))t=e(t);else if(s.test(t))t=+RegExp.$1;else{var f=t.trim(),d=[0,0,0,0,0,0,0],v=new Date(0);f=f.replace(/^(\d+)\D(\d+)\D(\d+)/,function(t,n,a,r){var i=4===r.length?[r,n,a]:[n,a,r];return d[0]=e(i[0]),d[1]=e(i[1])-1,d[2]=e(i[2]),""});var p=v.setFullYear,h=v.setHours;f=f.replace(/[T\s](\d+):(\d+):?(\d+)?\.?(\d)?/,function(t,n,a,r,i){return d[3]=e(n),d[4]=e(a),d[5]=e(r),i&&(d[6]=Math.round(1e3*parseFloat("0."+i))),""});var m=0,g=0;f=f.replace(/Z|([+-])(\d\d):?(\d\d)/,function(t,n,a,r){return p=v.setUTCFullYear,h=v.setUTCHours,n&&(m=e(n+a),g=e(n+r)),""}),d[3]-=m,d[4]-=g,p.apply(v,d.slice(0,3)),h.apply(v,d.slice(3)),t=v}if("number"==typeof t&&(t=new Date(t)),"date"===avalon.type(t)){for(;n;)r=l.exec(n),r?(u=u.concat(r.slice(1)),n=u.pop()):(u.push(n),n=null);return u.forEach(function(e){a=o[e],c+=a?a(t,i):e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}};var c={AMPMS:{0:"上午",1:"下午"},DAY:{0:"星期日",1:"星期一",2:"星期二",3:"星期三",4:"星期四",5:"星期五",6:"星期六"},MONTH:{0:"1月",1:"2月",2:"3月",3:"4月",4:"5月",5:"6月",6:"7月",7:"8月",8:"9月",9:"10月",10:"11月",11:"12月"},SHORTDAY:{0:"周日",1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六"},fullDate:"y年M月d日EEEE",longDate:"y年M月d日",medium:"yyyy-M-d H:mm:ss",mediumDate:"yyyy-M-d",mediumTime:"H:mm:ss","short":"yy-M-d ah:mm",shortDate:"yy-M-d",shortTime:"ah:mm"};c.SHORTMONTH=c.MONTH,Ga.date.locate=c};var Za,Ja=[],Ka=function(e){Za=!0;var t=avalon.require;for(t&&t.checkDeps&&(modules["domReady!"].state=4,t.checkDeps());e=Ja.shift();)e(avalon)};"complete"===Ht.readyState?setTimeout(Ka):Ht.addEventListener("DOMContentLoaded",Ka),e.addEventListener("load",Ka),avalon.ready=function(e){Za?e(avalon):Ja.push(e)},avalon.config({loader:!0}),avalon.ready(function(){avalon.scan(Ht.body)}),"function"==typeof define&&define.amd&&define("avalon",[],function(){return avalon});var Qa=e.avalon;return avalon.noConflict=function(t){return t&&e.avalon===avalon&&(e.avalon=Qa),avalon},void 0===t&&(e.avalon=avalon),avalon});
|
1
|
+
!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("Avalon requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(){avalon.config.debug&&console.log.apply(console,arguments)}function a(){return Object.create(null)}function r(){}function i(e){return Function.apply(r,e)}function o(e,t){"string"==typeof e&&(e=e.match(Pt)||[]);for(var n={},a=void 0!==t?t:1,r=0,i=e.length;i>r;r++)n[e[r]]=a;return n}function l(e){if(e&&"object"==typeof e){var t=e.length,n=It.call(e);if(/(Array|List|Collection|Map|Arguments)\]$/.test(n))return!0;if("[object Object]"===n&&t===t>>>0)return!0}return!1}function s(e,t){if(e&&e.childNodes)for(var n,a=e.childNodes,r=0;n=a[r++];)if(n.tagName){var i=St.createElementNS(nn,n.tagName.toLowerCase());zt.forEach.call(n.attributes,function(e){i.setAttribute(e.name,e.value)}),s(n,i),t.appendChild(i)}}function c(e){for(var t in e)if(Vt.call(e,t)){var n=e[t];"function"==typeof c.plugins[t]?c.plugins[t](n):"object"==typeof c[t]?avalon.mix(c[t],n):c[t]=n}return this}function u(e){return(e+"").replace(fn,"\\$&")}function f(e,t){var n=this.$events||(this.$events={}),a=n[e]||(n[e]=[]);if("function"==typeof t){var i=t;i.uniqueNumber=Math.random(),t={element:Ut,type:"user-watcher",handler:r,vmodels:[this],expr:e,uniqueNumber:i.uniqueNumber},t.wildcard=/\*/.test(e)}if(t.update)t.oneTime||avalon.Array.ensure(a,t);else{if(/\w\.*\B/.test(e)||"*"===e){t.getter=r;var o=this;t.update=function(){var e=this.fireArgs||[];e[2]&&t.handler.apply(o,e),delete this.fireArgs},a.sync=!0,avalon.Array.ensure(a,t)}else avalon.injectBinding(t);i&&(t.handler=i)}return function(){t.update=t.getter=t.handler=r,t.element=St.createElement("a")}}function d(e,t){var n=this.$events;if(n&&n[e]){t&&(t[2]=e);var a=n[e];if(p(a,t),t&&n["*"]&&!/\./.test(e))for(var r,i=0;r=n["*"][i++];)try{r.handler.apply(this,t)}catch(o){}var l=this.$up;l&&(this.$pathname&&d.call(l,this.$pathname+"."+e,t),d.call(l,"*."+e,t))}else{if(l=this.$up,this.$ups){for(var s in this.$ups)d.call(this.$ups[s],s+"."+e,t);return}if(l){var c=this.$pathname;""===c&&(c="*");var u=c+"."+e;a=u.split("."),-1===a.indexOf("*")?(d.call(l,u,t),a[1]="*",d.call(l,a.join("."),t)):d.call(l,u,t)}}}function v(e,t){for(;;){if(e.$watch){var n=e.$events||(e.$events={}),a=n[t]||(n[t]=[]);return void $n.collectDependency(a)}if(e=e.$up,!e)break;t=e.$pathname+"."+t}}function p(e,t){if(e){new Date-Cn>444&&"object"==typeof e[0]&&j();for(var n,a=[],r=[],i=0;n=e[i++];)"user-watcher"===n.type?a.push(n):r.push(n);if(c.async){for(fa.render(),i=0;n=r[i++];)if(n.update){var o=O(n);fa.queue[o]||(fa.queue[o]=1,fa.queue.push(n))}}else for(i=0;n=r[i++];)n.update&&n.update();for(i=0;n=a[i++];)(t&&t[2]===n.expr||n.wildcard)&&(n.fireArgs=t),n.update()}}function h(e,t){return t=t||{},t.watch=!0,y(e,t)}function m(){}function y(e,t){function a(e){return u[e]===!0}if(!e||e.$id&&e.$accessors||e.nodeName&&e.nodeType>0)return e;t=t||Rt;var r=t.force||Rt,i=t.old,l=i&&i.$accessors||Rt,s=new m,c={},u={},v=[],p=[],h={};e.$skipArray&&(h=o(e.$skipArray),delete e.$skipArray);var y=e.$computed;if(y){delete e.$computed;for(var $ in y)u[$]=!0,function(e,t){var n;c[e]={get:function(){return n=t.get.call(this)},set:function(a){if("function"==typeof t.set){var r=n;t.set.call(this,a);var i=this[e];this.$fire&&i!==r&&this.$fire(e,i,r)}},enumerable:!0,configurable:!0}}($,y[$])}for($ in e){var x=e[$];pn[$]||(u[$]=!0),"function"==typeof x||x&&x.nodeName&&x.nodeType>0||!r[$]&&("$"===$.charAt(0)||pn[$]||h[$])?v.push($):g(x)?(n("warning:计算属性建议放在$computed对象中统一定义"),function(e,t){var n;c[e]={get:function(){return n=t.get.call(this)},set:function(a){if("function"==typeof t.set){var r=n;t.set.call(this,a);var i=this[e];this.$fire&&i!==r&&this.$fire(e,i,r)}},enumerable:!0,configurable:!0}}($,x)):(p.push($),c[$]=l[$]?l[$]:b($,x))}c.$model=hn,s=Object.defineProperties(s,c,e),v.forEach(function(t){s[t]=e[t]}),w(s,"$ups",null),w(s,"$id","anonymous"),w(s,"$up",i?i.$up:null),w(s,"$track",Object.keys(u)),w(s,"$active",!1),w(s,"$pathname",i?i.$pathname:""),w(s,"$accessors",c),w(s,"hasOwnProperty",a),t.watch&&(w(s,"$watch",function(){return f.apply(s,arguments)}),w(s,"$fire",function(e,t){if(0===e.indexOf("all!")){var n=e.slice(4);for(var a in avalon.vmodels){var r=avalon.vmodels[a];r.$fire&&r.$fire.apply(r,[n,t])}}else d.call(s,e,[t])})),p.forEach(function(t){var n=i&&i[t],a=s[t]=e[t];a&&"object"==typeof a&&(a.$up=s,a.$pathname=t),d.call(s,t,[a,n])});for($ in y)x=s[$];return s.$active=!0,s}function g(e){if(e&&"object"==typeof e){for(var t in e)if("get"!==t&&"set"!==t)return!1;return"function"==typeof e.get}}function b(e,t){var n,t=0/0;return{get:function(){return this.$active&&v(this,e),t},set:function(a){if(t!==a){var r=t;n=$(a,t),n?t=n:(n=void 0,t=a),Object(n)===n&&(n.$pathname=e,n.$up=this),this.$active&&d.call(this,e,[t,r])}},enumerable:!0,configurable:!0}}function $(e,t,n,a){if(Array.isArray(e))return x(e,t,a);if(avalon.isPlainObject(e)){if(t&&"object"==typeof t){var r=Object.keys(e),i=Object.keys(t);if(r.join(";")===i.join(";")){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]);return t}t.$active=!1}return y(e,{old:t,watch:a})}return n?e:void 0}function x(e,t,n){if(t&&t.splice){var a=[0,t.length].concat(e);return t.splice.apply(t,a),t}for(var r in gn)e[r]=gn[r];w(e,"$up",null),w(e,"$pathname",""),w(e,"$track",N(e.length)),e._=y({length:0/0},{watch:!0}),e._.length=e.length,e._.$watch("length",function(t,n){d.call(e.$up,e.$pathname+".length",[t,n])}),n&&w(e,"$watch",function(){return f.apply(e,arguments)}),Object.defineProperty(e,"$model",hn);for(var i=0,o=e.length;o>i;i++){var l=e[i]=$(e[i],0,1,1);Object(l)===l&&(l.$up=e)}return e}function w(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!1,configurable:!0})}function C(e){var t=avalon.type(e);if("array"===t){for(var n=[],a=0;a<e.length;a++)n[a]=C(e[a]);return n}if("object"===t){var r={};for(a in e)if(e.hasOwnProperty(a)){var i=e[a];r[a]=i&&i.nodeType?i:C(i)}return r}return e}function k(e,t){for(var n={},a=0,r=t.length;r>a;a++){n[a]=e[a];var i=t[a];i in n?(e[a]=n[i],delete n[i]):e[a]=e[i]}}function N(e){for(var t=[],n=0;e>n;n++)t[n]=Jt("$proxy$each");return t}function A(e,t,n){switch(t){case"push":case"unshift":n=N(n.length);break;case"splice":if(n.length>2){{n[1],n.length-2}n=[n[0],n[1]].concat(N(n.length-2))}}Array.prototype[t].apply(e,n)}function T(e,t){t.oneTime||e&&avalon.Array.ensure(e,t)&&t.element&&(M(t,e),new Date-Cn>444&&j())}function E(e,t){for(var n,a=[],r=0;n=e[r++];)a.push(t?n.$id:n.$key);return a.join(";")}function O(e){if(!e.uniqueNumber){var t=e.element;e.uniqueNumber=t?1!==t.nodeType?e.type+"-"+O(t.parentNode)+"-"+ ++xn:e.name+"-"+O(t):++xn}return e.uniqueNumber}function M(e,t){var n=e.lists||(e.lists=[]),a=O(e);avalon.Array.ensure(n,t),t.$uuid=t.$uuid||Jt(),wn[a]||(wn[a]=1,wn.push(e))}function j(e){for(var t=wn.length,n=t,a=[],r={},i={};e=wn[--t];){var o=e.type;i[o]?i[o]++:(i[o]=1,a.push(o))}var l=!1;if(a.forEach(function(e){kn[e]!==i[e]&&(r[e]=1,l=!0)}),t=n,l)for(;e=wn[--t];)if(null!==e.element){if(r[e.type]&&H(e.element)){wn.splice(t,1),delete wn[e.uniqueNumber];for(var s,c=e.lists,u=0;s=c[u++];)avalon.Array.remove(c,s),avalon.Array.remove(s,e);S(e)}}else wn.splice(t,1);kn=i,Cn=new Date}function S(e){delete wn[e.uniqueNumber],e.element=null,e.rollback&&e.rollback();for(var t in e)e[t]=null}function H(e){try{{e.parentNode.nodeType}}catch(t){return!0}return e.ifRemove&&!Ut.contains(e.ifRemove)&&Dt===e.parentNode?(e.parentNode&&e.parentNode.removeChild(e),!0):e.msRetain?0:1===e.nodeType?!Ut.contains(e):!avalon.contains(Ut,e)}function D(e){return e.replace(/([a-z\d])([A-Z]+)/g,"$1-$2").toLowerCase()}function L(e){return e.indexOf("-")<0&&e.indexOf("_")<0?e:e.replace(/[-_][^-_]/g,function(e){return e.charAt(1).toUpperCase()})}function R(e){try{if("object"==typeof e)return e;e="true"===e?!0:"false"===e?!1:"null"===e?null:+e+""===e?+e:jn.test(e)?JSON.parse(e):e}catch(t){}return e}function P(e){return e.window&&e.document?e:9===e.nodeType?e.defaultView:!1}function B(e,t){if(e.offsetWidth<=0){var n=getComputedStyle(e,null);if(Rn.test(n.display)){var a={node:e};for(var r in Ln)a[r]=n[r],e.style[r]=Ln[r];t.push(a)}var i=e.parentNode;i&&1===i.nodeType&&B(i,t)}}function F(e){var t=e.tagName.toLowerCase();return"input"===t&&/checkbox|radio/.test(e.type)?"checked":t}function q(e,t){var n=[],a=!!t;t=t||0;for(var r="unknown",o="",l=0;l<e.length;l++){var s=e.charAt(l);if("'"===s||'"'===s)"unknown"===r?r=s:r===s&&(r="unknown");else if("\\"===s)("'"===r||'"'===r)&&l++;else if(qn.test(s))"unknown"===r?(r="variable",o=s):"maybePath"===r?(o=n.pop(),o+="."+s,r="variable"):"variable"===r&&(o+=s);else if(/\w/.test(s))"variable"===r&&(o+=s);else if("."===s)"variable"===r&&o&&(n.push(o),o="",r="maybePath");else if("["===s){if("variable"===r||"maybePath"===r){o&&(n.push(o),o="");var c=n.length,u=n[c-1],f=q(e.slice(l),l);if(f.length)n[c-1]=u+".*",n=f.concat(n);else{var d=e.slice(l+1,f.i);try{var v=i(["return "+d])();n[c-1]=u+"."+v}catch(p){}}r="maybePath",l=f.i}}else if("]"===s){if(a)return n.i=l+t,_(n,o),n}else _n.test(s)&&"\r"!==s&&"\n"!==s?"variable"===r&&(_(n,o)&&(r="maybePath"),o=""):(_(n,o),r="unknown",o="")}return _(n,o),n}function _(e,t){return t&&!Bn[t]?(e.push(t),!0):void 0}function V(e,t,n,a){for(var r,i=[],o=" = "+n+".",l=e.length;r=e[--l];)for(var s,c=r.split("."),u=c[0];s=c.shift();)t.hasOwnProperty(s)&&(i.push(u+o+u),a.observers.push({v:t,p:r}),e.splice(l,1));return i}function I(e){e=e.trim();var t=In.get(e);if(t)return t.concat();for(var n,a=q(e),r={},i=[],o=0;n=a[o++];)r[n]||(r[n]=1,i.push(n));return In.put(e,i).concat()}function z(e,t,n){var a=n.filters;"string"==typeof a&&a.trim()&&!n._filters&&(n._filters=Y(a.trim()));var r=I(e),o=new Date-0,l=[],s=[],c=[];n.observers=[];for(var u=0,f=t.length;f>u;u++)if(r.length){var d="vm"+o+"_"+u;s.push(d),c.push(t[u]),l.push.apply(l,V(r,t[u],d,n))}n.args=c;var v=n.type,p=t.map(function(e){return String(e.$id).replace(Vn,"$1")})+e+v,h=zn.get(p);if(h){if("duplex"===v){var m=zn.get(p+"setter");n.setter=m.apply(m,n.args)}return n.getter=h}if(l.length||l.push("fix"+o),"duplex"===v){var y={};l.forEach(function(e){var t=e.split("=");y[t[0].trim()]=t[1].trim()}),e=e.replace(/[\$\w]+/,function(e){return y[e]?y[e]:e});var g=i(s.concat("'use strict';return function(vvv){"+e+" = vvv\n}\n"));zn.put(p+"setter",g),n.setter=g.apply(g,n.args)}if("on"===v){-1===e.indexOf("(")?e+=".call(this, $event)":e=e.replace("(",".call(this,"),s.push("$event"),e="\nreturn "+e+";";var b=e.lastIndexOf("\nreturn"),$=e.slice(0,b),x=e.slice(b);e=$+"\n"+x}else e="\nreturn "+e+";";return h=i(s.concat("'use strict';\nvar "+l.join(",\n")+e)),zn.put(p,h)}function W(e){var t=sn.test(e);if(t){var n=at(e);return 1===n.length?n[0].expr:n.map(function(e){return e.type?"("+e.expr+")":Zn(e.expr)}).join(" + ")}return e}function Y(e){return e=e.replace(Wn,"").replace(Yn,function(){return"],|"}).replace(Un,function(e,t){return"["+Zn(t)}).replace(Xn,function(){return'"],["'}).replace(Gn,function(){return'",'})+"]",i(["return ["+e+"]"])()}function U(e,t,n){var a=setTimeout(function(){var r=e.innerHTML;clearTimeout(a),r===n?t():U(e,t,r)})}function X(e,t){var n=e.getAttribute("avalonctrl")||t.$id;e.setAttribute("avalonctrl",n),t.$events&&(t.$events.expr=e.tagName+'[avalonctrl="'+n+'"]')}function G(e,t){for(var n,a=0;n=e[a++];)n.vmodels=t,en[n.type].init(n),avalon.injectBinding(n),n.getter&&1===n.element.nodeType&&n.element.removeAttribute(n.name);e.length=0}function Z(e,t){return e.priority-t.priority}function J(e,t){for(var n,a=e.attributes,r={},i=0;n=a[i++];){var o=n.name;if(n.specified&&!ra.test(o)){var l=L(n.name);r[l]=/^on\-[\w-]+$/.test(o)?Kn(e,o,t):R(n.value)}}return r}function K(e,t,a){var r=!0;if(t.length){for(var i,o=e.attributes,l=[],s={},c=0;i=o[c++];){var u=i.name;if(!s[u]&&(s[u]=1,i.specified&&(a=u.match(ta)))){var f=a[1],d=a[2]||"",v=i.value;if(na[f]?(d=f,f="on"):aa[f]&&(d=f,f="attr",u="ms-"+f+"-"+d,n("warning!请改用"+u+"代替"+i.name+"!")),en[f]){var p=v.replace(ea,""),h=v!==p,m={type:f,param:d,element:e,name:u,expr:p,oneTime:h,priority:(en[f].priority||10*f.charCodeAt(0))+(Number(d.replace(/\D/g,""))||0)};if("html"===f||"text"===f){var y=nt(v).filters;m.expr=m.expr.replace(y,""),m.filters=y.replace(la,function(){return m.type="html",m.group=1,""}).trim()}else if("duplex"===f)var g=u;else if("ms-if-loop"===u)m.priority+=100;else if("ms-attr-value"===u)var b=u;l.push(m)}}}if(l.length){for(l.sort(Z),g&&b&&"text"===e.type&&n("warning!一个控件不能同时定义ms-attr-value与"+g),c=0;m=l[c];c++){if(f=m.type,ia.test(f))return G(l.slice(0,c+1),t);r&&(r=!oa.test(f))}G(l,t)}}r&&!Jn[e.tagName]&&(Qn&&Qn(e),Q(e,t))}function Q(e,t){var n=avalon.slice(e.childNodes);et(n,t)}function et(e,t){function n(e){setTimeout(function(){avalon.component(e)})}for(var a,r=0;a=e[r++];)switch(a.nodeType){case 1:var i=a;if(!i.msResolved&&i.parentNode&&1===i.parentNode.nodeType){var o=ot(i);if(o){var l=i.localName?i.localName.replace(o+":",""):i.nodeName,s=o+":"+L(l);da.push({library:o,element:i,fullName:s,widget:l,vmodels:t,name:"widget"}),avalon.components[s]&&n(s)}}tt(a,t),a.msHasEvent&&avalon.fireDom(a,"datasetchanged",{bubble:a.msHasEvent});break;case 3:sn.test(a.nodeValue)&&rt(a,t,r)}}function tt(e,t,n){var a=e.getAttribute("ms-skip"),r=e.getAttributeNode("ms-important"),i=e.getAttributeNode("ms-controller");if("string"!=typeof a){if(n=r||i){var o=avalon.vmodels[n.value];if(!o)return;t=n===r?[o]:[o].concat(t),e.removeAttribute(n.name),e.classList.remove(n.name),X(e,o)}K(e,t),o&&setTimeout(function(){o.$fire("ms-scan-end",e)})}}function nt(e){if(e.indexOf("|")>0){var t=e.replace(ca,function(e){return Array(e.length+1).join("1")}),n=t.replace(sa,"ᄢ㍄").indexOf("|");if(n>-1)return{type:"text",filters:e.slice(n).trim(),expr:e.slice(0,n)}}return{type:"text",expr:e,filters:""}}function at(e){for(var t,n,a=[],r=0;;){if(n=e.indexOf(on,r),-1===n)break;if(t=e.slice(r,n),t&&a.push({expr:t}),r=n+on.length,n=e.indexOf(ln,r),-1===n)break;t=e.slice(r,n),t&&a.push(nt(t,r)),r=n+ln.length}return t=e.slice(r),t&&a.push({expr:t}),a}function rt(e,t,n){var a=[],r=at(e.data);if(r.length){for(var i,o=0;i=r[o++];){var l=St.createTextNode(i.expr);i.type&&(i.expr=i.expr.replace(ea,function(){return i.oneTime=!0,""}),i.element=l,i.filters=i.filters.replace(la,function(){return i.type="html",""}),i.pos=1e3*n+o,a.push(i)),Xt.appendChild(l)}e.parentNode.replaceChild(Xt,e),a.length&&G(a,t)}}function it(e,t){if(t)for(var n,a=0;n=e[a++];)if(n.hasOwnProperty(t)&&"object"==typeof n[t]){var r=n[t];return r.$model||r}return{}}function ot(e){if(e.scopeName&&"HTML"!==e.scopeName)return e.scopeName;var t=e.nodeName.toLowerCase(),n=t.indexOf(":");return n>0?t.slice(0,n):void 0}function lt(e){return null==e?"":e}function st(e,t,n){return t.param.replace(Bt,function(a){var r=avalon.duplexHooks[a];r&&"function"==typeof r[n]&&(e=r[n](e,t))}),e}function ct(){for(var e=ka.length-1;e>=0;e--){var t=ka[e];t()===!1&&ka.splice(e,1)}ka.length||clearInterval(Ca)}function ut(e,t){if(!e||1!==e.nodeType)return null;if(t)var n=t.effectName,a=t.effectDriver;else n=e.getAttribute("data-effect-name"),a=e.getAttribute("data-effect-driver");if(!n||!a)return null;var r=Sa.pop()||new vt;return r.el=e,r.driver=a,r.useCss="j"!==a,r.useCss&&(t&&avalon(e).addClass(t.effectClass),r.cssEvent="t"===a?Aa:Ta),r.name=n,r.callbacks=avalon.effects[n]||{},r}function ft(e,t){var n=e.getAttribute("data-effect-name");if(n){t.effectName=n,t.effectDriver=e.getAttribute("data-effect-driver");var a=+e.getAttribute("data-effect-stagger");t.effectLeaveStagger=+e.getAttribute("data-effect-leave-stagger")||a,t.effectEnterStagger=+e.getAttribute("data-effect-enter-stagger")||a,t.effectClass=e.className||0/0}}function dt(e){return e.replace(/^[\S]/g,function(e){return e.toUpperCase()})}function vt(){}function pt(e,t){var n=e.callbacks[t+"Class"];return"string"==typeof n?n:"function"==typeof n?n():e.name+"-"+t}function ht(e,t,n){var a=e.callbacks[t];a&&a.call(e,e.el,n)}function mt(e,t,n){var a=e.templateCache&&e.templateCache[t];if(a){for(var r,i=St.createDocumentFragment();r=a.firstChild;)i.appendChild(r);return i}return avalon.parseHTML(n)}function yt(e){for(var t=St.createDocumentFragment(),n=0,a=e.length;a>n;n++)t.appendChild(e[n]);return t}function gt(e,t,n){for(var a,i=0;a=e[i++];)a.className===n.effectClass&&avalon.effect.apply(a,t,r,r,n)}function bt(e,t,n){return e?setTimeout(t,++n*e):t(),n}function $t(e,t){for(var n=Xt.cloneNode(!1),a=e,i=a.nodeValue,o=t&&Math.max(+t.staggerIndex,0),l=avalon.slice(a.parentNode.childNodes),s=l.indexOf(a);;){var c=l[--s];if(!c||0===String(c.nodeValue).indexOf(i))break;t&&c.className===t.effectClass?(e=c,function(e){t.staggerIndex=bt(t.effectLeaveStagger,function(){avalon.effect.apply(e,0,r,function(){n.appendChild(e)},t)},o)}(c)):n.insertBefore(c,n.firstChild)}return n.appendChild(a),n}function xt(e,t,n,a,r){var i=e.template.cloneNode(!0),o=avalon.slice(i.childNodes);i.appendChild(n.$anchor),r&&t.appendChild(i);var l=[n].concat(e.vmodels),s={nodes:o,vmodels:l,content:i};a.push(s)}function wt(e){var t="object"===e.xtype?At:Ct,n=t(e),a=n.$anchor||(n.$anchor=e.element.cloneNode(!1));return a.nodeValue=e.signature,n.$outer=e.$outer,n}function Ct(e,t){for(var n=e.param||"el",a=0,r=Fa.length;r>a;a++){var i=Fa[a];if(i&&i.hasOwnProperty(n)){Fa.splice(a,1),t=i;break}}return t||(t=kt(n)),t}function kt(e){var t={$outer:{},$index:0,$oldIndex:0,$anchor:null,$first:!1,$last:!1,$remove:avalon.noop};t[e]=0/0;var n={$last:1,$first:1,$index:1};n[e]=1;var a=h(t,{force:n});return a.$id=Jt("$proxy$each"),a}function Nt(e,t,n){if("array"===n){e.$remove=function(){t.$repeat.removeAt(e.$index)};var a=t.param;e.$watch(a,function(n){var a=e.$index;t.$repeat[a]=n})}else e.$watch("$val",function(n){t.$repeat[e.$key]=n})}function At(){return qa.pop()||Tt()}function Tt(){var e=h({$key:"",$val:0/0,$index:0,$oldIndex:0,$outer:{},$anchor:null},{force:{$key:1,$val:1,$index:1}});return e.$id=Jt("$proxy$with"),e}function Et(e,t,n){var a=e[t];if(a){var r=0===a.$id.indexOf("$proxy$each")?Fa:qa;a.$outer={};for(var i in a.$events){var o=a.$events[i];Array.isArray(o)&&(o.length=0,i===n?a[n]=0/0:"$val"===i&&(a.$val=0/0))}r.unshift(a)>c.maxRepeatSize&&r.pop(),delete e[t]}}function Ot(e,t){var n="_"+e;if(!Ot[n]){var a=St.createElement(e);Ut.appendChild(a),t=Yt?getComputedStyle(a,null).display:a.currentStyle.display,Ut.removeChild(a),Ot[n]=t}return Ot[n]}function Mt(e,t,n,a){e=(e+"").replace(/[^0-9+\-Ee.]/g,"");var r=isFinite(+e)?+e:0,i=isFinite(+t)?Math.abs(t):3,o=a||",",l=n||".",s="",c=function(e,t){var n=Math.pow(10,t);return""+(Math.round(e*n)/n).toFixed(t)};return s=(i?c(r,i):""+Math.round(r)).split("."),s[0].length>3&&(s[0]=s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,o)),(s[1]||"").length<i&&(s[1]=s[1]||"",s[1]+=new Array(i-s[1].length+1).join("0")),s.join(l)}var jt=Date.now(),St=e.document,Ht=St.head;Ht.insertAdjacentHTML("afterBegin",'<avalon ms-skip class="avalonHide"><style id="avalonStyle">.avalonHide{ display: none!important }</style></avalon>');var Dt=Ht.firstChild,Lt="$"+jt,Rt={},Pt=/[^, ]+/g,Bt=/\w+/g,Ft=/^\[object SVG\w*Element\]$/,qt=/^\[object (?:Window|DOMWindow|global)\]$/,_t=Object.prototype,Vt=_t.hasOwnProperty,It=_t.toString,zt=Array.prototype,Wt=zt.slice,Yt=e.dispatchEvent,Ut=St.documentElement,Xt=St.createDocumentFragment(),Gt=(St.createElement("div"),{});"Boolean Number String Function Array Date RegExp Object Error".replace(Pt,function(e){Gt["[object "+e+"]"]=e.toLowerCase()});var Zt=0/0;e.VBArray&&(Zt=document.documentMode||(e.XMLHttpRequest?7:6));var Jt=function(e){return e=e||"avalon",String(Math.random()+Math.random()).replace(/\d\.\d{4}/,e)};avalon=function(e){return new avalon.init(e)},avalon.nextTick=new function(){function t(){for(var e=r.length,t=0;e>t;t++)r[t]();r=r.slice(e)}var n=e.setImmediate,a=e.MutationObserver;if(n)return n.bind(e);var r=[];if(a){var i=document.createTextNode("avalon");new a(t).observe(i,{characterData:!0});var o=!1;return function(e){r.push(e),o=!o,i.data=o}}return function(e){setTimeout(e,4)}},avalon.init=function(e){this[0]=this.element=e},avalon.fn=avalon.prototype=avalon.init.prototype,avalon.type=function(e){return null==e?String(e):"object"==typeof e||"function"==typeof e?Gt[It.call(e)]||"object":typeof e},avalon.isFunction=function(e){return"[object Function]"===It.call(e)},avalon.isWindow=function(e){return qt.test(It.call(e))},avalon.isPlainObject=function(e){return"[object Object]"===It.call(e)&&Object.getPrototypeOf(e)===_t},avalon.mix=avalon.fn.mix=function(){var e,t,n,a,r,i,o=arguments[0]||{},l=1,s=arguments.length,c=!1;for("boolean"==typeof o&&(c=o,o=arguments[1]||{},l++),"object"==typeof o||avalon.isFunction(o)||(o={}),l===s&&(o=this,l--);s>l;l++)if(null!=(e=arguments[l]))for(t in e)n=o[t],a=e[t],o!==a&&(c&&a&&(avalon.isPlainObject(a)||(r=Array.isArray(a)))?(r?(r=!1,i=n&&Array.isArray(n)?n:[]):i=n&&avalon.isPlainObject(n)?n:{},o[t]=avalon.mix(c,i,a)):void 0!==a&&(o[t]=a));return o},avalon.mix({rword:Pt,subscribers:Lt,version:1.56,ui:{},log:n,slice:function(e,t,n){return Wt.call(e,t,n)},noop:r,error:function(e,t){throw new(t||Error)(e)},oneObject:o,range:function(e,t,n){n||(n=1),null==t&&(t=e||0,e=0);for(var a=-1,r=Math.max(0,Math.ceil((t-e)/n)),i=new Array(r);++a<r;)i[a]=e,e+=n;return i},eventHooks:{},bind:function(e,t,n,a){var r=avalon.eventHooks,i=r[t];return"object"==typeof i&&(t=i.type||t,a=i.phase||!!a,n=i.fn?i.fn(e,n):n),e.addEventListener(t,n,a),n},unbind:function(e,t,n,a){var i=avalon.eventHooks,o=i[t],l=n||r;"object"==typeof o&&(t=o.type||t,a=o.phase||!!a),e.removeEventListener(t,l,a)},css:function(e,t,n){e instanceof avalon&&(e=e[0]);var a,r=/[_-]/.test(t)?L(t):t;if(t=avalon.cssName(r)||r,void 0===n||"boolean"==typeof n){a=Sn[r+":get"]||Sn["@:get"],"background"===t&&(t="backgroundColor");var i=a(e,t);return n===!0?parseFloat(i)||0:i}if(""===n)e.style[t]="";else{if(null==n||n!==n)return;isFinite(n)&&!avalon.cssNumber[r]&&(n+="px"),a=Sn[r+":set"]||Sn["@:set"],a(e,t,n)}},each:function(e,t){if(e){var n=0;if(l(e))for(var a=e.length;a>n&&t(n,e[n])!==!1;n++);else for(n in e)if(e.hasOwnProperty(n)&&t(n,e[n])===!1)break}},getWidgetData:function(e,t){var n=avalon(e).data(),a={};for(var r in n)0===r.indexOf(t)&&(a[r.replace(t,"").replace(/\w/,function(e){return e.toLowerCase()})]=n[r]);return a},Array:{ensure:function(e,t){return-1===e.indexOf(t)?e.push(t):void 0},removeAt:function(e,t){return!!e.splice(t,1).length},remove:function(e,t){var n=e.indexOf(t);return~n?avalon.Array.removeAt(e,n):!1}}});var Kt=avalon.bindingHandlers={},Qt=avalon.bindingExecutors={},en=avalon.directives={};avalon.directive=function(e,t){return Kt[e]=t.init=t.init||r,Qt[e]=t.update=t.update||r,en[e]=t};var tn=new function(){function e(e){this.size=0,this.limit=e,this.head=this.tail=void 0,this._keymap={}}var t=e.prototype;return t.put=function(e,t){var n={key:e,value:t};return this._keymap[e]=n,this.tail?(this.tail.newer=n,n.older=this.tail):this.head=n,this.tail=n,this.size===this.limit?this.shift():this.size++,t},t.shift=function(){var e=this.head;e&&(this.head=this.head.newer,this.head.older=e.newer=e.older=this._keymap[e.key]=void 0,delete this._keymap[e.key])},t.get=function(e){var t=this._keymap[e];if(void 0!==t)return t===this.tail?t.value:(t.newer&&(t===this.head&&(this.head=t.newer),t.newer.older=t.older),t.older&&(t.older.newer=t.newer),t.newer=void 0,t.older=this.tail,this.tail&&(this.tail.newer=t),this.tail=t,t.value)},e};if(St.contains||(Node.prototype.contains=function(e){return!!(16&this.compareDocumentPosition(e))}),avalon.contains=function(e,t){try{for(;t=t.parentNode;)if(t===e)return!0;return!1}catch(n){return!1}},e.SVGElement){var nn="http://www.w3.org/2000/svg",an=St.createElementNS(nn,"svg");an.innerHTML='<circle cx="50" cy="50" r="40" fill="red" />',Ft.test(an.firstChild)||Object.defineProperties(SVGElement.prototype,{outerHTML:{enumerable:!0,configurable:!0,get:function(){return(new XMLSerializer).serializeToString(this)},set:function(e){var t=this.tagName.toLowerCase(),n=this.parentNode,a=avalon.parseHTML(e);if("svg"===t)n.insertBefore(a,this);else{var r=St.createDocumentFragment();s(a,r),n.insertBefore(r,this)}n.removeChild(this)}},innerHTML:{enumerable:!0,configurable:!0,get:function(){var e=this.outerHTML,t=new RegExp("<"+this.nodeName+'\\b(?:(["\'])[^"]*?(\\1)|[^>])*>',"i"),n=new RegExp("</"+this.nodeName+">$","i");return e.replace(t,"").replace(n,"")},set:function(e){if(avalon.clearHTML){avalon.clearHTML(this);var t=avalon.parseHTML(e);s(t,this)}}}})}var rn=avalon.eventHooks;"onmouseenter"in Ut||avalon.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){rn[e]={type:t,fn:function(t,n){return function(a){var r=a.relatedTarget;return r&&(r===t||16&t.compareDocumentPosition(r))?void 0:(delete a.type,a.type=e,n.call(t,a))}}}}),avalon.each({AnimationEvent:"animationend",WebKitAnimationEvent:"webkitAnimationEnd"},function(t,n){e[t]&&!rn.animationend&&(rn.animationend={type:n})}),void 0===St.onmousewheel&&(rn.mousewheel={type:"wheel",fn:function(e,t){return function(n){n.wheelDeltaY=n.wheelDelta=n.deltaY>0?-120:120,n.wheelDeltaX=0,Object.defineProperty(n,"type",{value:"mousewheel"}),t.call(e,n)}}}),avalon.config=c;var on,ln,sn,cn,un,fn=/[-.*+?^${}()|[\]\/\\]/g,dn={interpolate:function(e){if(on=e[0],ln=e[1],on===ln){throw new SyntaxError("openTag!==closeTag")}c.openTag=on,c.closeTag=ln;var t=u(on),n=u(ln);sn=new RegExp(t+"(.*?)"+n),cn=new RegExp(t+"(.*?)"+n,"g"),un=new RegExp(t+".*?"+n+"|\\sms-")}};c.plugins=dn,c.plugins.interpolate(["{{","}}"]),c.async=!0,c.debug=!0,c.paths={},c.shim={},c.maxRepeatSize=100;var vn=avalon.vmodels={};avalon.define=function(e){var t=e.$id;t||n("warning: vm必须指定$id");var a=h(e);return a.$id=t,vn[t]=a};var pn=o("$id,$watch,$fire,$events,$model,$skipArray,$active,$pathname,$up,$ups,$track,$accessors"),hn={get:function(){return C(this)},set:r,enumerable:!1,configurable:!0},mn=["push","pop","shift","unshift","splice"],yn=Array.prototype,gn={notify:function(){d.call(this.$up,this.$pathname)},set:function(e,t){if(e>>>0===e&&this[e]!==t){if(e>this.length)throw Error(e+"set方法的第一个参数不能大于原数组长度");d.call(this.$up,this.$pathname+".*",[t,this[e]]),this.splice(e,1,t)}},contains:function(e){return-1!==this.indexOf(e)},ensure:function(e){return this.contains(e)||this.push(e),this},pushArray:function(e){return this.push.apply(this,e)},remove:function(e){return this.removeAt(this.indexOf(e))},removeAt:function(e){return e>>>0===e?this.splice(e,1):[]},size:function(){return this._.length},removeAll:function(e){if(Array.isArray(e))for(var t=this.length-1;t>=0;t--)-1!==e.indexOf(this[t])&&(bn.call(this.$track,t,1),bn.call(this,t,1));else if("function"==typeof e)for(t=this.length-1;t>=0;t--){var n=this[t];e(n,t)&&(bn.call(this.$track,t,1),bn.call(this,t,1))}else bn.call(this.$track,0,this.length),bn.call(this,0,this.length);Yt||(this.$model=C(this)),this.notify(),this._.length=this.length},clear:function(){return this.removeAll()}},bn=yn.splice;mn.forEach(function(e){var t=yn[e];gn[e]=function(){for(var n=[],a=0,r=arguments.length;r>a;a++)n[a]=$(arguments[a],0,1,1);var i=t.apply(this,n);return A(this.$track,e,n),Yt||(this.$model=C(this)),this.notify(),this._.length=this.length,i}}),"sort,reverse".replace(Pt,function(e){gn[e]=function(){var t=this.concat(),n=this,a=Math.random(),r=[],i=!1;yn[e].apply(n,arguments);for(var o=0,l=t.length;l>o;o++){var s=n[o],c=t[o];if(s===c)r.push(o);else{var u=t.indexOf(s);r.push(u),t[u]=a,i=!0}}return i&&(k(this.$track,r),Yt||(this.$model=C(this)),this.notify()),this}});var $n=function(){var e,t=[];return{begin:function(n){t.push(e),e=n},end:function(){e=t.pop()},collectDependency:function(t){e&&e.callback(t)}}}();avalon.injectBinding=function(e){e.handler=e.handler||en[e.type].update||r,e.update=function(){var t=!1;e.getter||(t=!0,$n.begin({callback:function(t){T(t,e)}}),e.getter=z(e.expr,e.vmodels,e),e.observers.forEach(function(t){t.v.$watch(t.p,e)}),delete e.observers);try{var a,r,i=e.fireArgs;if(delete e.fireArgs,i)a=i[0],r=i[1];else if("on"===e.type)a=e.getter+"";else try{a=e.getter.apply(0,e.args)}catch(o){a=null}if(r="undefined"==typeof r?e.oldValue:r,e._filters&&(a=Ua.$filter.apply(0,[a].concat(e._filters))),e.signature){var l=avalon.type(a);if("array"!==l&&"object"!==l)throw Error("warning:"+e.expr+"只能是对象或数组");e.xtype=l;var s=E(e.proxies||[],l),c=a.$track||("array"===l?N(a.length):Object.keys(a));e.track=c,s!==c.join(";")&&(e.handler(a,r),e.oldValue=1)}else(Array.isArray(a)?a.length===(r&&r.length):1)?"oldValue"in e&&a===r||(e.handler(a,r),e.oldValue=a):(e.handler(a,r),e.oldValue=a.concat())}catch(u){delete e.getter,n("warning:exception throwed in [avalon.injectBinding] ",u);var f=e.element;f&&3===f.nodeType&&(f.nodeValue=on+(e.oneTime?"::":"")+e.expr+ln)}finally{t&&$n.end()}},e.update()};var xn=0,wn=avalon.$$subscribers=[],Cn=new Date,kn={},Nn=new function(){avalon.mix(this,{option:St.createElement("select"),thead:St.createElement("table"),td:St.createElement("tr"),area:St.createElement("map"),tr:St.createElement("tbody"),col:St.createElement("colgroup"),legend:St.createElement("fieldset"),_default:St.createElement("div"),g:St.createElementNS("http://www.w3.org/2000/svg","svg")}),this.optgroup=this.option,this.tbody=this.tfoot=this.colgroup=this.caption=this.thead,this.th=this.td};String("circle,defs,ellipse,image,line,path,polygon,polyline,rect,symbol,text,use").replace(Pt,function(e){Nn[e]=Nn.g});var An=/<([\w:]+)/,Tn=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,En=o(["","text/javascript","text/ecmascript","application/ecmascript","application/javascript"]),On=St.createElement("script"),Mn=/<|&#?\w+;/;avalon.parseHTML=function(e){var t=Xt.cloneNode(!1);if("string"!=typeof e)return t;if(!Mn.test(e))return t.appendChild(St.createTextNode(e)),t;e=e.replace(Tn,"<$1></$2>").trim();var n,a=(An.exec(e)||["",""])[1].toLowerCase(),r=Nn[a]||Nn._default;r.innerHTML=e;var i=r.getElementsByTagName("script");if(i.length)for(var o,l=0;o=i[l++];)if(En[o.type]){var s=On.cloneNode(!1);zt.forEach.call(o.attributes,function(e){s.setAttribute(e.name,e.value)}),s.text=o.text,o.parentNode.replaceChild(s,o)}for(;n=r.firstChild;)t.appendChild(n);return t},avalon.innerHTML=function(e,t){var n=this.parseHTML(t);this.clearHTML(e).appendChild(n)},avalon.clearHTML=function(e){for(e.textContent="";e.firstChild;)e.removeChild(e.firstChild);return e},"add,remove".replace(Pt,function(e){avalon.fn[e+"Class"]=function(t){var n=this[0];return t&&"string"==typeof t&&n&&1===n.nodeType&&t.replace(/\S+/g,function(t){n.classList[e](t)}),this}}),avalon.fn.mix({hasClass:function(e){var t=this[0]||{};return 1===t.nodeType&&t.classList.contains(e)},toggleClass:function(e,t){for(var n,a=0,r=String(e).split(/\s+/),i="boolean"==typeof t;n=r[a++];){var o=i?t:!this.hasClass(n);this[o?"addClass":"removeClass"](n)}return this},attr:function(e,t){return 2===arguments.length?(this[0].setAttribute(e,t),this):this[0].getAttribute(e)},data:function(e,t){switch(e="data-"+D(e||""),arguments.length){case 2:return this.attr(e,t),this;case 1:var n=this.attr(e);return R(n);case 0:var a={};return zt.forEach.call(this[0].attributes,function(t){t&&(e=t.name,e.indexOf("data-")||(e=L(e.slice(5)),a[e]=R(t.value)))}),a}},removeData:function(e){return e="data-"+D(e),this[0].removeAttribute(e),this},css:function(e,t){if(avalon.isPlainObject(e))for(var n in e)avalon.css(this,n,e[n]);else var a=avalon.css(this,e,t);return void 0!==a?a:this},position:function(){var e,t,n=this[0],a={top:0,left:0};if(n)return"fixed"===this.css("position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),"HTML"!==e[0].tagName&&(a=e.offset()),a.top+=avalon.css(e[0],"borderTopWidth",!0),a.left+=avalon.css(e[0],"borderLeftWidth",!0),a.top-=e.scrollTop(),a.left-=e.scrollLeft()),{top:t.top-a.top-avalon.css(n,"marginTop",!0),left:t.left-a.left-avalon.css(n,"marginLeft",!0)}},offsetParent:function(){for(var e=this[0].offsetParent;e&&"static"===avalon.css(e,"position");)e=e.offsetParent;
|
2
|
+
return avalon(e||Ut)},bind:function(e,t,n){return this[0]?avalon.bind(this[0],e,t,n):void 0},unbind:function(e,t,n){return this[0]&&avalon.unbind(this[0],e,t,n),this},val:function(e){var t=this[0];if(t&&1===t.nodeType){var n=0===arguments.length,a=n?":get":":set",r=Pn[F(t)+a];if(r)var i=r(t,e);else{if(n)return(t.value||"").replace(/\r/g,"");t.value=e}}return n?i:this}}),Ut.dataset&&(avalon.fn.data=function(e,t){e=e&&L(e);var n=this[0].dataset;switch(arguments.length){case 2:return n[e]=t,this;case 1:return t=n[e],R(t);case 0:var r=a();for(e in n)r[e]=R(n[e]);return r}});var jn=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/;avalon.parseJSON=JSON.parse,avalon.fireDom=function(e,t,n){var a=St.createEvent("Events");a.initEvent(t,!0,!0),avalon.mix(a,n),e.dispatchEvent(a)},avalon.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){avalon.fn[e]=function(n){var a=this[0]||{},r=P(a),i="scrollTop"===e;return arguments.length?void(r?r.scrollTo(i?r[t]:n,i?n:r[t]):a[e]=n):r?r[t]:a[e]}});var Sn=avalon.cssHooks=a(),Hn=["","-webkit-","-moz-","-ms-"],Dn={"float":"cssFloat"};avalon.cssNumber=o("animationIterationCount,animationIterationCount,columnCount,order,flex,flexGrow,flexShrink,fillOpacity,fontWeight,lineHeight,opacity,orphans,widows,zIndex,zoom"),avalon.cssName=function(e,t,n){if(Dn[e])return Dn[e];t=t||Ut.style;for(var a=0,r=Hn.length;r>a;a++)if(n=L(Hn[a]+e),n in t)return Dn[e]=n;return null},Sn["@:set"]=function(e,t,n){e.style[t]=n},Sn["@:get"]=function(e,t){if(!e||!e.style)throw new Error("getComputedStyle要求传入一个节点 "+e);var n,a=getComputedStyle(e);return a&&(n="filter"===t?a.getPropertyValue(t):a[t],""===n&&(n=e.style[t])),n},Sn["opacity:get"]=function(e){var t=Sn["@:get"](e,"opacity");return""===t?"1":t},"top,left".replace(Pt,function(e){Sn[e+":get"]=function(t){var n=Sn["@:get"](t,e);return/px$/.test(n)?n:avalon(t).position()[e]+"px"}});var Ln={position:"absolute",visibility:"hidden",display:"block"},Rn=/^(none|table(?!-c[ea]).+)/;"Width,Height".replace(Pt,function(e){var t=e.toLowerCase(),n="client"+e,a="scroll"+e,r="offset"+e;Sn[t+":get"]=function(t,n,a){var i=-4;"number"==typeof a&&(i=a),n="Width"===e?["Left","Right"]:["Top","Bottom"];var o=t[r];return 2===i?o+avalon.css(t,"margin"+n[0],!0)+avalon.css(t,"margin"+n[1],!0):(0>i&&(o=o-avalon.css(t,"border"+n[0]+"Width",!0)-avalon.css(t,"border"+n[1]+"Width",!0)),-4===i&&(o=o-avalon.css(t,"padding"+n[0],!0)-avalon.css(t,"padding"+n[1],!0)),o)},Sn[t+"&get"]=function(e){var n=[];B(e,n);for(var a,r=Sn[t+":get"](e),i=0;a=n[i++];){e=a.node;for(var o in a)"string"==typeof a[o]&&(e.style[o]=a[o])}return r},avalon.fn[t]=function(i){var o=this[0];if(0===arguments.length){if(o.setTimeout)return o["inner"+e];if(9===o.nodeType){var l=o.documentElement;return Math.max(o.body[a],l[a],o.body[r],l[r],l[n])}return Sn[t+"&get"](o)}return this.css(t,i)},avalon.fn["inner"+e]=function(){return Sn[t+":get"](this[0],void 0,-2)},avalon.fn["outer"+e]=function(e){return Sn[t+":get"](this[0],void 0,e===!0?2:0)}}),avalon.fn.offset=function(){var e=this[0];try{var t=e.getBoundingClientRect();if(t.width||t.height||e.getClientRects().length){var n=e.ownerDocument,a=n.documentElement,r=n.defaultView;return{top:t.top+r.pageYOffset-a.clientTop,left:t.left+r.pageXOffset-a.clientLeft}}}catch(i){return{left:0,top:0}}};var Pn={"select:get":function(e,t){for(var n,a=e.options,r=e.selectedIndex,i="select-one"===e.type||0>r,o=i?null:[],l=i?r+1:a.length,s=0>r?l:i?r:0;l>s;s++)if(n=a[s],(n.selected||s===r)&&!n.disabled){if(t=n.value,i)return t;o.push(t)}return o},"select:set":function(e,t,n){t=[].concat(t);for(var a,r=0;a=e.options[r++];)(a.selected=t.indexOf(a.value)>-1)&&(n=!0);n||(e.selectedIndex=-1)}},Bn={},Fn=["break,case,catch,continue,debugger,default,delete,do,else,false","finally,for,function,if,in,instanceof,new,null,return,switch,this","throw,true,try,typeof,var,void,while,with","abstract,boolean,byte,char,class,const,double,enum,export,extends","final,float,goto,implements,import,int,interface,long,native","package,private,protected,public,short,static,super,synchronized","throws,transient,volatile","arguments,let,yield,undefined"].join(",");Fn.replace(/\w+/g,function(e){Bn[e]=!0});var qn=/[a-z_$]/i,_n=/[\s\uFEFF\xA0]/,Vn=/(\$proxy\$[a-z]+)\d+$/,In=new tn(218),zn=new tn(128);avalon.normalizeExpr=W,avalon.parseExprProxy=z;var Wn=/\)\s*$/,Yn=/\)\s*\|/g,Un=/\|\s*([$\w]+)/g,Xn=/"\s*\["/g,Gn=/"\s*\(/g,Zn=JSON.stringify;avalon.scan=function(e,t){e=e||Ut;var n=t?[].concat(t):[];tt(e,n)};var Jn=o("area,base,basefont,br,col,command,embed,hr,img,input,link,meta,param,source,track,wbr,noscript,script,style,textarea".toUpperCase()),Kn=function(e,t,n){var a=e.getAttribute(t);if(a)for(var r,i=0;r=n[i++];)if(r.hasOwnProperty(a)&&"function"==typeof r[a])return r[a]},Qn=Zt&&e.MutationObserver?function(e){for(var t,n=e.firstChild;n;){var a=n.nextSibling;3===n.nodeType?t?(t.nodeValue+=n.nodeValue,e.removeChild(n)):t=n:t=null,n=a}}:0,ea=/^\s*::/,ta=/ms-(\w+)-?(.*)/,na=o("animationend,blur,change,input,click,dblclick,focus,keydown,keypress,keyup,mousedown,mouseenter,mouseleave,mousemove,mouseout,mouseover,mouseup,scan,scroll,submit"),aa=o("value,title,alt,checked,selected,disabled,readonly,enabled,href,src"),ra=/^(ms-\S+|data-\S+|on[a-z]+|id|style|class)$/,ia=/^if|widget|repeat$/,oa=/^each|with|html|include$/,la=/\|\s*html(?:\b|$)/,sa=/\|\|/g,ca=/(['"])(\\\1|.)+?\1/g,ua=function(){this.queue=[]};ua.prototype={render:function(e){if(!this.locked){this.locked=e?Ut.offsetHeight+10:1;var t=this;avalon.nextTick(function(){t.flush()})}},flush:function(){for(var e,t=0;e=this.queue[t++];)e.update&&e.update();this.locked=0,this.queue=[]}};var fa=new ua,da=[],va=[],pa={$construct:function(){return avalon.mix.apply(null,arguments)},$ready:r,$init:r,$dispose:r,$container:null,$childReady:r,$replace:!1,$extend:null,$$template:function(e){return e}};avalon.components={},avalon.component=function(t,n){n&&(avalon.components[t]=avalon.mix({},pa,n));for(var a,r=0;a=da[r];r++)t===a.fullName&&(da.splice(r,1),r--,function(n,a,r,i){if(!avalon.contains(St,r)||r.msResolved)return void avalon.Array.remove(da,n);var o=1,l=n.library,s=avalon.libraries[l]||pa;if(!r.getAttribute("ms-attr-identifier")){var c=J(r,n.vmodels),u=it(n.vmodels,c.config||n.fullName),f=c.$id||c.identifier||Jt(i);delete c.config,delete c.$id,delete c.identifier;var d={},v=avalon.components[a.$extend];v?(avalon.mix(!0,d,v),d=v.$construct.call(r,d,{},{})):avalon.mix(!0,d,a),d=avalon.components[t].$construct.call(r,d,u,c),d.$refs={},d.$id=f;var p=d.$slot,h=d.$replace,m=d.$container,y=d.$template;delete d.$slot,delete d.$replace,delete d.$container,delete d.$construct;var g=avalon.define(d)||{};r.msResolved=1,g.$init(g,r),s.$init(g,r);for(var b,$,x=r.childNodes,w={},C=0;$=x[C++];){var k=1===$.nodeType&&$.getAttribute("slot")||p;k&&(w[k]?w[k].push($):w[k]=[$])}g.$$template&&(avalon.clearHTML(r),r.innerHTML=g.$$template(y));for(C in w)if(g.hasOwnProperty(C)){var N=w[C];if(N.length){for(var A=Xt.cloneNode(!0),T=0;b=N[T++];)A.appendChild(b);g[C]=A}w[C]=null}w=null;var E=r.children[0]||r.firstChild;if(h){r.parentNode.replaceChild(E,r),E.msResolved=1;var O=r.style.cssText,S=r.className;r=n.element=E,r.style.cssText+=";"+O,S&&avalon(r).addClass(S)}m&&m.appendChild(r),avalon.fireDom(r,"datasetchanged",{library:l,vm:g,childReady:1});var H=0,D=avalon.bind(r,"datasetchanged",function(t){if(t.childReady&&t.library===l&&(o+=t.childReady,g!==t.vm&&(g.$refs[t.vm.$id]=t.vm,-1===t.childReady&&(H++,g.$childReady(g,r,t)),t.stopPropagation())),0===o){var a=setTimeout(function(){clearTimeout(a),g.$ready(g,r,n.vmodels),s.$ready(g,r,n.vmodels)},H?Math.max(17*H,100):17);avalon.unbind(r,"datasetchanged",D),n.rollback=function(){try{g.$dispose(g,r),s.$dispose(g,r)}catch(e){}delete avalon.vmodels[g.$id]},M(n,va),e.chrome&&r.addEventListener("DOMNodeRemovedFromDocument",function(){setTimeout(j)})}});if(tt(r,[g].concat(n.vmodels)),avalon.vmodels[g.$id]=g,r.childNodes.length)var L=setTimeout(function(){clearTimeout(L),avalon.fireDom(r,"datasetchanged",{library:l,vm:g,childReady:-1})},17);else avalon.fireDom(r,"datasetchanged",{library:l,vm:g,childReady:-1})}}(a,avalon.components[t],a.element,a.widget))},avalon.libraries=[],avalon.library=function(e,t){St.namespaces&&St.namespaces.add(e,"http://www.w3.org/1999/xhtml"),avalon.libraries[e]=avalon.mix({$init:r,$ready:r,$dispose:r},t||{})},avalon.library("ms");var ha=["autofocus,autoplay,async,allowTransparency,checked,controls","declare,disabled,defer,defaultChecked,defaultSelected","contentEditable,isMap,loop,multiple,noHref,noResize,noShade","open,readOnly,selected"].join(","),ma={};ha.replace(Pt,function(e){ma[e.toLowerCase()]=e});var ya={"accept-charset":"acceptCharset","char":"ch",charoff:"chOff","class":"className","for":"htmlFor","http-equiv":"httpEquiv"},ga=["accessKey,bgColor,cellPadding,cellSpacing,codeBase,codeType,colSpan","dateTime,defaultValue,frameBorder,longDesc,maxLength,marginWidth,marginHeight","rowSpan,tabIndex,useMap,vSpace,valueType,vAlign"].join(",");ga.replace(Pt,function(e){ya[e.toLowerCase()]=e});var ba=avalon.directive("attr",{init:function(e){if(e.expr=W(e.expr.trim()),"include"===e.type){var t=e.element;ft(t,e),e.includeRendered=Kn(t,"data-include-rendered",e.vmodels),e.includeLoaded=Kn(t,"data-include-loaded",e.vmodels);var n=e.includeReplace=!!avalon(t).data("includeReplace");avalon(t).data("includeCache")&&(e.templateCache={}),e.start=St.createComment("ms-include"),e.end=St.createComment("ms-include-end"),n?(e.element=e.end,e._element=t,t.parentNode.insertBefore(e.start,t),t.parentNode.insertBefore(e.end,t.nextSibling)):(t.insertBefore(e.start,t.firstChild),t.appendChild(e.end))}},update:function(t){var n=this.element,a=this.param;if("href"===a||"src"===a){if("string"!=typeof t||Ut.hasAttribute||(t=t.replace(/&/g,"&")),n[a]=t,e.chrome&&"EMBED"===n.tagName){var r=n.parentNode,i=document.createComment("ms-src");r.replaceChild(i,n),r.replaceChild(n,i)}}else{var o=t===!1||null===t||void 0===t;!Yt&&ya[a]&&(a=ya[a]);var l=ma[a];if("boolean"==typeof n[l]&&(n[l]=!!t,t||(o=!0)),o)return n.removeAttribute(a);var s=Ft.test(n)?!1:St.namespaces&&isVML(n)?!0:a in n.cloneNode(!1);s?n[a]=t+"":n.setAttribute(a,t)}}});"title,alt,src,value,css,include,href".replace(Pt,function(e){en[e]=ba}),avalon.directive("class",{init:function(e){var t=e.param,a=e.type;if(!t||isFinite(t)?(e.param="",en.effect.init(e)):(n("ms-"+a+'-xxx="yyy"这种用法已经过时,请使用ms-'+a+'="xxx:yyy"'),e.expr="["+Zn(t)+","+e.expr+"]",e.oldStyle=t),"hover"===a||"active"===a){if(!e.hasBindEvent){var r=e.element,i=avalon(r),o="mouseenter",l="mouseleave";if("active"===a){r.tabIndex=r.tabIndex||-1,o="mousedown",l="mouseup";var s=i.bind("mouseleave",function(){e.toggleClass&&i.removeClass(e.newClass)})}}var c=i.bind(o,function(){e.toggleClass&&i.addClass(e.newClass)}),u=i.bind(l,function(){e.toggleClass&&i.removeClass(e.newClass)});e.rollback=function(){i.unbind("mouseleave",s),i.unbind(o,c),i.unbind(l,u)},e.hasBindEvent=!0}},update:function(e){var t=this,n=avalon(this.element);t.newClass=e[0],t.toggleClass=!!e[1],t.oldClass&&t.newClass!==t.oldClass&&n.removeClass(t.oldClass),t.oldClass=t.newClass,"class"===t.type&&(t.oldStyle?n.toggleClass(t.oldStyle,!!e[1]):n.toggleClass(t.newClass,t.toggleClass))}}),"hover,active".replace(Pt,function(e){en[e]=en["class"]}),avalon.directive("css",{init:en.attr.init,update:function(e){avalon(this.element).css(this.param,e)}}),avalon.directive("data",{priority:100,update:function(e){var t=this.element,n="data-"+this.param;e&&"object"==typeof e?t[n]=e:t.setAttribute(n,String(e))}});{var $a=/^(?:checkbox|radio)$/,xa=/^(?:radio|checked)$/,wa=/^(file|button|reset|submit|checkbox|radio|range)$/;avalon.directive("duplex",{priority:2e3,init:function(e,t){function a(t){e.changed.call(this,t,e)}function i(){v=!0}function l(){v=!1}var s=e.element,c=e.vmodels;e.changed=Kn(s,"data-duplex-changed",c)||r;var u=[],f=o("string,number,boolean,checked");"radio"===s.type&&""===e.param&&(e.param="checked"),e.param.replace(Bt,function(a){$a.test(s.type)&&xa.test(a)&&("radio"===a&&n("ms-duplex-radio已经更名为ms-duplex-checked"),a="checked",e.isChecked=!0,e.xtype="radio"),"bool"===a?(a="boolean",n("ms-duplex-bool已经更名为ms-duplex-boolean")):"text"===a&&(a="string",n("ms-duplex-text已经更名为ms-duplex-string")),f[a]&&(t=!0),avalon.Array.ensure(u,a)}),t||u.push("string"),e.param=u.join("-"),e.xtype||(e.xtype="SELECT"===s.tagName?"select":"checkbox"===s.type?"checkbox":"radio"===s.type?"radio":/^change/.test(s.getAttribute("data-duplex-event"))?"change":"input");var d=e.bound=function(t,n){s.addEventListener(t,n,!1);var a=e.rollback;e.rollback=function(){s.avalonSetter=null,avalon.unbind(s,t,n),a&&a()}},v=!1,p=function(){var t=s.value;if(!v&&t!==e.oldValue&&null!==e.pipe){var n=e.pipe(t,e,"get");e.oldValue=t,e.setter(n),a.call(s,n)}};switch(e.xtype){case"radio":d("click",function(){var t=e.pipe(s.value,e,"get");e.setter(t),a.call(s,t)});break;case"checkbox":d("change",function(){var t=s.checked?"ensure":"remove",r=e.getter.apply(0,e.vmodels);Array.isArray(r)||(n("ms-duplex应用于checkbox上要对应一个数组"),r=[r]);var i=e.pipe(s.value,e,"get");avalon.Array[t](r,i),a.call(s,r)});break;case"change":d("change",p);break;case"input":d("input",p),d("keyup",p),Zt||(d("compositionstart",i),d("compositionend",l),d("DOMAutoComplete",p));break;case"select":d("change",function(){var t=avalon(s).val();if(t=Array.isArray(t)?t.map(function(t){return e.pipe(t,e,"get")}):e.pipe(t,e,"get"),t+""!==e.oldValue)try{e.setter(t)}catch(a){n(a)}}),d("datasetchanged",function(t){if("selectDuplex"===t.bubble){var n=e._value,r=Array.isArray(n)?n.map(String):n+"";avalon(s).val(r),s.oldValue=r+"",a.call(s,r)}})}"input"!==e.xtype||wa.test(s.type)||("hidden"!==s.type&&(d("focus",function(){s.msFocus=!0}),d("blur",function(){s.msFocus=!1})),s.avalonSetter=p,Na(function(){if(Ut.contains(s))s.msFocus||p();else if(!s.msRetain)return!1}))},update:function(e){var t,n=this.element,a=this;if(!this.init){for(var r in avalon.vmodels){var i=avalon.vmodels[r];i.$fire("avalon-ms-duplex-init",a)}var o=a.pipe||(a.pipe=st);o(null,a,"init"),this.init=1}switch(this.xtype){case"input":case"change":if(t=this.pipe(e,this,"set"),t!==this.oldValue){var l=!1;if(n.msFocus)try{var s=n.selectionStart,c=n.selectionEnd;if(s===c){var u=s;l=!0}}catch(f){}n.value=this.oldValue=t,l&&!n.readOnly&&(n.selectionStart=n.selectionEnd=u)}break;case"radio":t=a.isChecked?!!e:e+""===n.value,n.checked=t;break;case"checkbox":var d=[].concat(e);t=this.pipe(n.value,this,"get"),n.checked=d.indexOf(t)>-1;break;case"select":a._value=e,n.msHasEvent?avalon.fireDom(n,"datasetchanged",{bubble:n.msHasEvent}):n.msHasEvent="selectDuplex"}}})}avalon.duplexHooks={checked:{get:function(e,t){return!t.oldValue}},string:{get:function(e){return e},set:lt},"boolean":{get:function(e){return"true"===e},set:lt},number:{get:function(e,t){var n=parseFloat(e);if(-e===-n)return n;var a=/strong|medium|weak/.exec(t.element.getAttribute("data-duplex-number"))||["medium"];switch(a[0]){case"strong":return 0;case"medium":return""===e?"":0;case"weak":return e}},set:lt}};var Ca,ka=[];avalon.tick=function(e){1===ka.push(e)&&(Ca=setInterval(ct,60))};var Na=r;!new function(){function e(e){t[this.tagName].call(this,e),!this.msFocus&&this.avalonSetter&&this.avalonSetter()}try{var t={},n=HTMLInputElement.prototype,a=HTMLTextAreaElement.prototype,r=HTMLInputElement.prototype;Object.getOwnPropertyNames(r),t.INPUT=Object.getOwnPropertyDescriptor(n,"value").set,Object.defineProperty(n,"value",{set:e}),t.TEXTAREA=Object.getOwnPropertyDescriptor(a,"value").set,Object.defineProperty(a,"value",{set:e})}catch(i){Na=avalon.tick}},avalon.directive("effect",{priority:5,init:function(e){var t,n,a=e.expr,r=a.replace(cn,function(e){return e.replace(/./g,"0")}).indexOf(":");-1===r?(t=a,n=!0):(t=a.slice(0,r),n=a.slice(r+1)),t=sn.test(a)?W(t):Zn(t),e.expr="["+t+","+n+"]"},update:function(t){var n=t[0],a=this.element;if(a.getAttribute("data-effect-name")!==n){a.removeAttribute("data-effect-driver");var r=a.style,i=e.getComputedStyle?e.getComputedStyle(a):null,o=!1;if(i&&(Ea||Oa)){var l=r[Ma]||i[Ma];l&&"0s"!==l&&(a.setAttribute("data-effect-driver","t"),o=!0),o||(l=r[ja]||i[ja],l&&"0s"!==l&&(a.setAttribute("data-effect-driver","a"),o=!0))}o||avalon.effects[n]&&(a.setAttribute("data-effect-driver","j"),o=!0),o&&a.setAttribute("data-effect-name",n)}}}),avalon.effects={},avalon.effect=function(e,t){avalon.effects[e]=t};var Aa,Ta,Ea=!1,Oa=!1,Ma=avalon.cssName("transition-duration"),ja=avalon.cssName("animation-duration");!new function(){var t,n={TransitionEvent:"transitionend",WebKitTransitionEvent:"webkitTransitionEnd",OTransitionEvent:"oTransitionEnd",otransitionEvent:"otransitionEnd"};for(var a in n){if(e[a]){t=n[a];break}try{{document.createEvent(a)}t=n[a];break}catch(r){}}"string"==typeof t&&(Ea=!0,Aa=t),n={AnimationEvent:"animationend",WebKitAnimationEvent:"webkitAnimationEnd"};var i;for(a in n)if(e[a]){i=n[a];break}"string"==typeof i&&(Ea=!0,Ta=i)};var Sa=[],Ha=new ua;vt.prototype={contrustor:vt,enterClass:function(){return pt(this,"enter")},leaveClass:function(){return pt(this,"leave")},actionFun:function(e,t,n){if(!document.hidden){var a=this,r=a.el,i="leave"===e;e=i?"leave":"enter";var o=i?"enter":"leave";ht(a,"abort"+dt(o)),ht(a,"before"+dt(e)),i||t(r);var l=function(o){r.removeEventListener(a.cssEvent,a.cssCallback),i?(t(r),avalon(r).removeClass(a.cssClass)):"a"===a.driver&&avalon(r).removeClass(a.cssClass),o!==!0&&(ht(a,"after"+dt(e)),n&&n(r)),a.dispose()};a.useCss?(a.cssCallback&&a.cssCallback(!0),a.cssClass=pt(a,e),a.cssCallback=l,a.update=function(){r.addEventListener(a.cssEvent,a.cssCallback),i||"t"!==a.driver||avalon(r).removeClass(a.cssClass)},avalon(r).addClass(a.cssClass),Ha.render(!0),Ha.queue.push(a)):ht(a,e,l)}},enter:function(){this.actionFun.apply(this,["enter"].concat(avalon.slice(arguments)))},leave:function(){this.actionFun.apply(this,["leave"].concat(avalon.slice(arguments)))},dispose:function(){this.update=this.cssCallback=null,Sa.unshift(this)>100&&Sa.pop()}};var Da=function(e,t){var n=Wt.call(arguments,0);"function"!=typeof n[2]&&n.splice(2,0,r),"function"!=typeof n[3]&&n.splice(3,0,r);var a=n[2],i=n[3],o=n[4],l=ut(e,o);if(!l)return a(),i(),!1;var s=t?"enter":"leave";l[s](a,i)};avalon.mix(avalon.effect,{apply:Da,append:function(e,t,n,a){return Da(e,1,function(){t.appendChild(e)},n,a)},before:function(e,t,n,a){return Da(e,1,function(){t.parentNode.insertBefore(e,t)},n,a)},remove:function(e,t,n,a){return Da(e,0,function(){e.parentNode===t&&t.removeChild(e)},n,a)}}),avalon.directive("html",{update:function(e){var t=this,n=this.element,a=1!==n.nodeType,r=a?n.parentNode:n;if(r){if(e=null==e?"":e,3===n.nodeType){var i=Jt("html");r.insertBefore(St.createComment(i),n),t.element=St.createComment(i+":end"),r.replaceChild(t.element,n),n=t.element}if("object"!=typeof e)var o=avalon.parseHTML(String(e));else if(11===e.nodeType)o=e;else if(1===e.nodeType||e.item){var l=1===e.nodeType?e.childNodes:e.item;for(o=Xt.cloneNode(!0);l[0];)o.appendChild(l[0])}if(l=avalon.slice(o.childNodes),a){for(var s=n.nodeValue.slice(0,-4);;){var c=n.previousSibling;if(!c||8===c.nodeType&&c.nodeValue===s)break;r.removeChild(c)}r.insertBefore(o,n)}else avalon.clearHTML(n).appendChild(o);et(l,t.vmodels)}}}),avalon.directive("if",{priority:10,update:function(e){function t(){r.getAttribute(a.name)&&(r.removeAttribute(a.name),K(r,a.vmodels)),a.rollback=null}var n,a=this,r=this.element,i=a.stamp=+new Date,o=function(){i===a.stamp&&(a.recoverNode=null)};a.recoverNode&&a.recoverNode();try{if(!r.parentNode)return;n=r.parentNode}catch(l){return}if(e){if(8===r.nodeType){var s=a.keep,c=avalon.effect.apply(s,1,function(){i===a.stamp&&(r.parentNode.replaceChild(s,r),r=a.element=s,s.getAttribute("_required")&&(r.required=!0,r.removeAttribute("_required")),r.querySelectorAll&&avalon.each(r.querySelectorAll("[_required=true]"),function(e){e.required=!0,e.removeAttribute("_required")}),t())},o);c=c===!1}c||t()}else if(1===r.nodeType){r.required===!0&&(r.required=!1,r.setAttribute("_required","true"));try{avalon.each(r.querySelectorAll(":required"),function(e){r.required=!1,e.setAttribute("_required","true")})}catch(l){}var u=a.element=St.createComment("ms-if"),f=r.nextSibling;a.recoverNode=function(){a.recoverNode=null,u.parentNode!==n&&(n.insertBefore(u,f),a.keep=r)},avalon.effect.apply(r,0,function(){a.recoverNode=null,i===a.stamp&&(r.parentNode.replaceChild(u,r),a.keep=r,Dt.appendChild(r),a.rollback=function(){r.parentNode===Dt&&Dt.removeChild(r)})},o)}}});var La=function(){return new e.XMLHttpRequest},Ra=avalon.templateCache={};avalon.directive("include",{init:en.attr.init,update:function(e){var t=this,a=this.element,r=t.vmodels,i=t.includeRendered,o=t.effectName&&t.effectClass,l=t.templateCache,s=t.includeReplace,c=t.includeLoaded,u=s?a.parentNode:a,f=t._element;t.recoverNodes=t.recoverNodes||avalon.noop;var d=function(n){var d=t._stamp=+new Date;if(c){var v=c.apply(u,[n].concat(r));"string"==typeof v&&(n=v)}i&&U(u,function(){i.call(u)},0/0);var p=t.includeLastID||"_default";t.includeLastID=e;var h=l&&l[p]||St.createElement(a.tagName||t._element.tagName);o&&(h.className=o,u.insertBefore(h,t.start)),(l||{})[p]=h;var m=t.recoverNodes();for(m&&u.insertBefore(m,t.end);;){var y=t.start.nextSibling;if(!y||y===h||y===t.end)break;h.appendChild(y)}avalon.effect.remove(h,u,function(){l&&d===t._stamp&&Dt.appendChild(h)},t);var g=u,b=avalon.noop,$=avalon.noop,x=mt(t,e,n),w=avalon.slice(x.childNodes);s&&o?(g=f,g.innerHTML="",g.setAttribute("ms-skip","true"),u.insertBefore(g,t.end.nextSibling),b=function(){g.insertBefore(x,null)},$=function(){t.recoverNodes=avalon.noop,d===t._stamp&&(x=yt(w),u.insertBefore(x,t.end),et(w,r)),g.parentNode===u&&u.removeChild(g)},t.recoverNodes=function(){return t.recoverNodes=avalon.noop,yt(w)}):b=function(){u.insertBefore(x,t.end),et(w,r)},avalon.effect.apply(g,"enter",b,$)};if("src"===t.param)if("string"==typeof Ra[e])avalon.nextTick(function(){d(Ra[e])});else if(Array.isArray(Ra[e]))Ra[e].push(d);else{var v=La();v.onload=function(){for(var t,n=v.responseText,a=0;t=Ra[e][a++];)t(n);Ra[e]=n},v.onerror=function(){n("ms-include load ["+e+"] error")},Ra[e]=[d],v.open("GET",e,!0),"withCredentials"in v&&(v.withCredentials=!0),v.setRequestHeader("X-Requested-With","XMLHttpRequest"),v.send(null)}else{var p=e&&1===e.nodeType?e:St.getElementById(e);p&&avalon.nextTick(function(){d(p.value||p.innerText||p.innerHTML)})}}});var Pa=/\(([^)]*)\)/,Ba=avalon.directive("on",{priority:3e3,init:function(e){var t=e.expr;e.type="on";var n=e.param.replace(/-\d+$/,"");if("function"==typeof Ba[n+"Hook"]&&Ba[n+"Hook"](e),t.indexOf("(")>0&&t.indexOf(")")>-1){var a=(t.match(Pa)||["",""])[1].trim();(""===a||"$event"===a)&&(t=t.replace(Pa,""))}e.expr=t},update:function(e){var t=this,n=this.element;e=function(e){var n=t.getter||r;return n.apply(this,t.args.concat(e))};var a=t.param.replace(/-\d+$/,"");if("scan"===a)e.call(n,{type:a});else if("function"==typeof t.specialBind)t.specialBind(n,e);else var i=avalon.bind(n,a,e);t.rollback=function(){"function"==typeof t.specialUnbind?t.specialUnbind():avalon.unbind(n,a,i)}}});avalon.directive("repeat",{priority:90,init:function(e){var t=e.type;e.cache={},e.enterCount=0;var n=e.element;if(1===n.nodeType){n.removeAttribute(e.name),ft(n,e),e.param=e.param||"el",e.sortedCallback=Kn(n,"data-with-sorted",e.vmodels);var a=Kn(n,"data-"+t+"-rendered",e.vmodels),r=Jt(t),i=St.createComment(r+":start"),o=e.element=St.createComment(r+":end");if(e.signature=r,e.start=i,e.template=Xt.cloneNode(!1),"repeat"===t){var l=n.parentNode;l.replaceChild(o,n),l.insertBefore(i,o),e.template.appendChild(n)}else{for(;n.firstChild;)e.template.appendChild(n.firstChild);n.appendChild(i),n.appendChild(o),l=n}if(e.element=o,a)var s=avalon.bind(l,"datasetchanged",function(){a.apply(l,l.args),avalon.unbind(l,"datasetchanged",s),l.msRendered=a})}},update:function(e,t){var n=this,a=this.xtype;this.enterCount+=1;var r=!t;if(r){n.$outer={};var i="$key",o="$val";"array"===a&&(i="$first",o="$last");for(var l,s=0;l=n.vmodels[s++];)if(l.hasOwnProperty(i)&&l.hasOwnProperty(o)){n.$outer=l;break}}var u=this.track;if(n.sortedCallback){var f=n.sortedCallback.call($,u);f&&Array.isArray(f)&&(u=f)}var d="move";n.$repeat=e;var v=[],p=r&&Xt.cloneNode(!1),h=[],m=this.param,y=avalon.mix({},this.cache),g=this.element,b=u.length,$=g.parentNode;for(s=0;b>s;s++){var x=u[s],w=y[x];if(w)v.push({}),y[x]=!0;else{if(w=wt(this),w.$up=null,"array"===a){d="add",w.$id=x;var k=e[s];w[m]=k,Object(k)===k&&(k.$ups=k.$ups||{},k.$ups[m]=w)}else d="append",w.$key=x,w.$val=e[x];this.cache[x]=w;var N=w.$anchor||(w.$anchor=g.cloneNode(!1));N.nodeValue=this.signature,xt(n,p,w,v,r&&!n.effectDriver),Nt(w,n,a)}1===this.enterCount&&(w.$active=!1,w.$oldIndex=w.$index,w.$active=!0,w.$index=s),"array"===a?(w.$first=0===s,w.$last=s===b-1):w.$val=C(e[x]),h.push(w)}if(this.proxies=h,r&&!n.effectDriver)$.insertBefore(p,g),v.forEach(function(e){et(e.nodes||[],e.vmodels),e.nodes=e.vmodels=null});else{var A=n.staggerIndex=0;for(x in y)y[x]!==!0&&(d="del",$t(y[x].$anchor,n),Et(this.cache,x,m),y[x]=null);for(s=0;b>s;s++){w=h[s],x="array"===a?w.$id:w.$key;var T=h[s-1],E=T?T.$anchor:n.start;y[x]?w.$index!==w.$oldIndex&&!function(e,t){A=bt(n.effectEnterStagger,function(){var a=$t(e.$anchor),r=avalon.slice(a.childNodes);$.insertBefore(a,t.nextSibling),gt(r,1,n)},A)}(w,E):!function(e,t){var a=e.nodes,r=e.vmodels;a&&(A=bt(n.effectEnterStagger,function(){$.insertBefore(e.content,t.nextSibling),et(a,r),gt(a,1,n)},A)),e.nodes=e.vmodels=null}(v[s],E)}}if(!e.$track)for(x in this.cache)Et(this.cache,x,m);!function(e){$.args=e,$.msRendered&&$.msRendered.apply($,e)}(c.newWatch?arguments:[d]);var O=setTimeout(function(){clearTimeout(O),avalon.fireDom($,"datasetchanged",{bubble:$.msHasEvent})});this.enterCount-=1}}),"with,each".replace(Pt,function(e){en[e]=avalon.mix({},en.repeat,{priority:1400})});var Fa=[],qa=[];avalon.directive("text",{update:function(e){var t=this.element;if(e=null==e?"":e,3===t.nodeType)try{t.data=e}catch(n){}else t.textContent=e}}),avalon.parseDisplay=Ot,avalon.directive("visible",{init:function(e){ft(e.element,e)},update:function(e){var t,n=this,a=this.element,r=!this.effectName;return this.stamp?(t=this.stamp=+new Date,void(e?avalon.effect.apply(a,1,function(){if(t===n.stamp){var e=a.getAttribute("data-effect-driver")||"a";r&&(a.style.display=n.display||""),("a"===e||"t"===e)&&"none"===avalon(a).css("display")&&(a.style.display=n.display||Ot(a.nodeName))}}):avalon.effect.apply(a,0,function(){t===n.stamp&&(a.style.display="none")}))):(t=this.stamp=+new Date,void(e?(a.style.display=n.display||"","none"===avalon(a).css("display")&&(a.style.display=n.display=Ot(a.nodeName))):a.style.display="none"))}});var _a=/<script[^>]*>([\S\s]*?)<\/script\s*>/gim,Va=/\s+(on[^=\s]+)(?:=("[^"]*"|'[^']*'|[^\s>]+))?/g,Ia=/<\w+\b(?:(["'])[^"]*?(\1)|[^>])*>/gi,za={a:/\b(href)\=("javascript[^"]*"|'javascript[^']*')/gi,img:/\b(src)\=("javascript[^"]*"|'javascript[^']*')/gi,form:/\b(action)\=("javascript[^"]*"|'javascript[^']*')/gi},Wa=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ya=/([^\#-~| |!])/g,Ua=avalon.filters={uppercase:function(e){return e.toUpperCase()},lowercase:function(e){return e.toLowerCase()},truncate:function(e,t,n){return t=t||30,n="string"==typeof n?n:"...",e.length>t?e.slice(0,t-n.length)+n:String(e)},$filter:function(e){for(var t=1,n=arguments.length;n>t;t++){var a=arguments[t],r=avalon.filters[a[0]];if("function"==typeof r){var i=[e].concat(a.slice(1));e=r.apply(null,i)}}return e},camelize:L,sanitize:function(e){return e.replace(_a,"").replace(Ia,function(e){var t=e.toLowerCase().match(/<(\w+)\s/);if(t){var n=za[t[1]];n&&(e=e.replace(n,function(e,t,n){var a=n.charAt(0);return t+"="+a+"javascript:void(0)"+a}))}return e.replace(Va," ").replace(/\s+/g," ")})},escape:function(e){return String(e).replace(/&/g,"&").replace(Wa,function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1);return"&#"+(1024*(t-55296)+(n-56320)+65536)+";"}).replace(Ya,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")},currency:function(e,t,n){return(t||"¥")+Mt(e,isFinite(n)?n:2)},number:Mt};!new function(){function e(e){return parseInt(e,10)||0}function t(e,t,n){var a="";for(0>e&&(a="-",e=-e),e=""+e;e.length<t;)e="0"+e;return n&&(e=e.substr(e.length-t)),a+e}function n(e,n,a,r){return function(i){var o=i["get"+e]();return(a>0||o>-a)&&(o+=a),0===o&&-12===a&&(o=12),t(o,n,r)}}function a(e,t){return function(n,a){var r=n["get"+e](),i=(t?"SHORT"+e:e).toUpperCase();return a[i][r]}}function r(e){var n=-1*e.getTimezoneOffset(),a=n>=0?"+":"";return a+=t(Math[n>0?"floor":"ceil"](n/60),2)+t(Math.abs(n%60),2)}function i(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}var o={yyyy:n("FullYear",4),yy:n("FullYear",2,0,!0),y:n("FullYear",1),MMMM:a("Month"),MMM:a("Month",!0),MM:n("Month",2,1),M:n("Month",1,1),dd:n("Date",2),d:n("Date",1),HH:n("Hours",2),H:n("Hours",1),hh:n("Hours",2,-12),h:n("Hours",1,-12),mm:n("Minutes",2),m:n("Minutes",1),ss:n("Seconds",2),s:n("Seconds",1),sss:n("Milliseconds",3),EEEE:a("Day"),EEE:a("Day",!0),a:i,Z:r},l=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,s=/^\/Date\((\d+)\)\/$/;Ua.date=function(t,n){var a,r,i=Ua.date.locate,c="",u=[];if(n=n||"mediumDate",n=i[n]||n,"string"==typeof t)if(/^\d+$/.test(t))t=e(t);else if(s.test(t))t=+RegExp.$1;else{var f=t.trim(),d=[0,0,0,0,0,0,0],v=new Date(0);f=f.replace(/^(\d+)\D(\d+)\D(\d+)/,function(t,n,a,r){var i=4===r.length?[r,n,a]:[n,a,r];return d[0]=e(i[0]),d[1]=e(i[1])-1,d[2]=e(i[2]),""});var p=v.setFullYear,h=v.setHours;f=f.replace(/[T\s](\d+):(\d+):?(\d+)?\.?(\d)?/,function(t,n,a,r,i){return d[3]=e(n),d[4]=e(a),d[5]=e(r),i&&(d[6]=Math.round(1e3*parseFloat("0."+i))),""});var m=0,y=0;f=f.replace(/Z|([+-])(\d\d):?(\d\d)/,function(t,n,a,r){return p=v.setUTCFullYear,h=v.setUTCHours,n&&(m=e(n+a),y=e(n+r)),""}),d[3]-=m,d[4]-=y,p.apply(v,d.slice(0,3)),h.apply(v,d.slice(3)),t=v}if("number"==typeof t&&(t=new Date(t)),"date"===avalon.type(t)){for(;n;)r=l.exec(n),r?(u=u.concat(r.slice(1)),n=u.pop()):(u.push(n),n=null);return u.forEach(function(e){a=o[e],c+=a?a(t,i):e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}};var c={AMPMS:{0:"上午",1:"下午"},DAY:{0:"星期日",1:"星期一",2:"星期二",3:"星期三",4:"星期四",5:"星期五",6:"星期六"},MONTH:{0:"1月",1:"2月",2:"3月",3:"4月",4:"5月",5:"6月",6:"7月",7:"8月",8:"9月",9:"10月",10:"11月",11:"12月"},SHORTDAY:{0:"周日",1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六"},fullDate:"y年M月d日EEEE",longDate:"y年M月d日",medium:"yyyy-M-d H:mm:ss",mediumDate:"yyyy-M-d",mediumTime:"H:mm:ss","short":"yy-M-d ah:mm",shortDate:"yy-M-d",shortTime:"ah:mm"};c.SHORTMONTH=c.MONTH,Ua.date.locate=c};var Xa,Ga=[],Za=function(e){Xa=!0;var t=avalon.require;for(t&&t.checkDeps&&(modules["domReady!"].state=4,t.checkDeps());e=Ga.shift();)e(avalon)};"complete"===St.readyState?setTimeout(Za):St.addEventListener("DOMContentLoaded",Za),e.addEventListener("load",Za),avalon.ready=function(e){Xa?e(avalon):Ga.push(e)},avalon.config({loader:!0}),avalon.ready(function(){avalon.scan(St.body)}),"function"==typeof define&&define.amd&&define("avalon",[],function(){return avalon});var Ja=e.avalon;return avalon.noConflict=function(t){return t&&e.avalon===avalon&&(e.avalon=Ja),avalon},void 0===t&&(e.avalon=avalon),avalon});
|
@@ -5,7 +5,7 @@
|
|
5
5
|
http://weibo.com/jslouvre/
|
6
6
|
|
7
7
|
Released under the MIT license
|
8
|
-
avalon.shim.js 1.5.
|
8
|
+
avalon.shim.js 1.5.6 built in 2015.12.1
|
9
9
|
support IE6+ and other browsers
|
10
10
|
==================================================*/
|
11
11
|
(function(global, factory) {
|
@@ -31,8 +31,9 @@
|
|
31
31
|
}(typeof window !== "undefined" ? window : this, function(window, noGlobal){
|
32
32
|
|
33
33
|
/*********************************************************************
|
34
|
-
* 全局变量及方法
|
34
|
+
* 全局变量及方法 *
|
35
35
|
**********************************************************************/
|
36
|
+
|
36
37
|
var expose = new Date() - 0
|
37
38
|
//http://stackoverflow.com/questions/7290086/javascript-use-strict-and-nicks-find-global-function
|
38
39
|
var DOC = window.document
|
@@ -43,20 +44,17 @@ ifGroup.setAttribute("ms-skip", "1")
|
|
43
44
|
ifGroup.className = "avalonHide"
|
44
45
|
var rnative = /\[native code\]/ //判定是否原生函数
|
45
46
|
function log() {
|
46
|
-
if (window.console &&
|
47
|
+
if (window.console && kernel.debug) {
|
47
48
|
// http://stackoverflow.com/questions/8785624/how-to-safely-wrap-console-log
|
48
49
|
Function.apply.call(console.log, console, arguments)
|
49
50
|
}
|
50
51
|
}
|
51
52
|
|
52
|
-
|
53
53
|
var subscribers = "$" + expose
|
54
54
|
|
55
|
-
var stopRepeatAssign = false
|
56
55
|
var nullObject = {} //作用类似于noop,只用于代码防御,千万不要在它上面添加属性
|
57
56
|
var rword = /[^, ]+/g //切割字符串为一个个小块,以空格或豆号分开它们,结合replace实现字符串的forEach
|
58
57
|
var rw20g = /\w+/g
|
59
|
-
var rcomplexType = /^(?:object|array)$/
|
60
58
|
var rsvg = /^\[object SVG\w*Element\]$/
|
61
59
|
var rwindow = /^\[object (?:Window|DOMWindow|global)\]$/
|
62
60
|
var oproto = Object.prototype
|
@@ -72,10 +70,16 @@ var class2type = {}
|
|
72
70
|
"Boolean Number String Function Array Date RegExp Object Error".replace(rword, function (name) {
|
73
71
|
class2type["[object " + name + "]"] = name.toLowerCase()
|
74
72
|
})
|
75
|
-
|
76
|
-
|
73
|
+
|
74
|
+
var IEVersion = NaN
|
75
|
+
if (window.VBArray) {
|
76
|
+
IEVersion = document.documentMode || (window.XMLHttpRequest ? 7 : 6)
|
77
77
|
}
|
78
|
+
|
78
79
|
function noop(){}
|
80
|
+
function scpCompile(array){
|
81
|
+
return Function.apply(noop, array)
|
82
|
+
}
|
79
83
|
|
80
84
|
function oneObject(array, val) {
|
81
85
|
if (typeof array === "string") {
|
@@ -94,21 +98,11 @@ var generateID = function (prefix) {
|
|
94
98
|
prefix = prefix || "avalon"
|
95
99
|
return String(Math.random() + Math.random()).replace(/\d\.\d{4}/, prefix)
|
96
100
|
}
|
97
|
-
function IE() {
|
98
|
-
if (window.VBArray) {
|
99
|
-
var mode = document.documentMode
|
100
|
-
return mode ? mode : window.XMLHttpRequest ? 7 : 6
|
101
|
-
} else {
|
102
|
-
return NaN
|
103
|
-
}
|
104
|
-
}
|
105
|
-
var IEVersion = IE()
|
106
101
|
|
107
102
|
avalon = function (el) { //创建jQuery式的无new 实例化结构
|
108
103
|
return new avalon.init(el)
|
109
104
|
}
|
110
105
|
|
111
|
-
|
112
106
|
/*视浏览器情况采用最快的异步回调*/
|
113
107
|
avalon.nextTick = new function () {// jshint ignore:line
|
114
108
|
var tickImmediate = window.setImmediate
|
@@ -142,9 +136,11 @@ avalon.nextTick = new function () {// jshint ignore:line
|
|
142
136
|
setTimeout(fn, 4)
|
143
137
|
}
|
144
138
|
}// jshint ignore:line
|
139
|
+
|
145
140
|
/*********************************************************************
|
146
141
|
* avalon的静态方法定义区 *
|
147
142
|
**********************************************************************/
|
143
|
+
|
148
144
|
avalon.init = function (el) {
|
149
145
|
this[0] = this.element = el
|
150
146
|
}
|
@@ -160,7 +156,7 @@ avalon.type = function (obj) { //取得目标的类型
|
|
160
156
|
typeof obj
|
161
157
|
}
|
162
158
|
|
163
|
-
|
159
|
+
avalon.isFunction = typeof alert === "object" ? function (fn) {
|
164
160
|
try {
|
165
161
|
return /^\s*\bfunction\b/.test(fn + "")
|
166
162
|
} catch (e) {
|
@@ -169,7 +165,6 @@ var isFunction = typeof alert === "object" ? function (fn) {
|
|
169
165
|
} : function (fn) {
|
170
166
|
return serialize.call(fn) === "[object Function]"
|
171
167
|
}
|
172
|
-
avalon.isFunction = isFunction
|
173
168
|
|
174
169
|
avalon.isWindow = function (obj) {
|
175
170
|
if (!obj)
|
@@ -185,11 +180,13 @@ function isWindow(obj) {
|
|
185
180
|
if (isWindow(window)) {
|
186
181
|
avalon.isWindow = isWindow
|
187
182
|
}
|
188
|
-
|
183
|
+
|
184
|
+
var enu, enumerateBUG
|
189
185
|
for (enu in avalon({})) {
|
190
186
|
break
|
191
187
|
}
|
192
|
-
|
188
|
+
enumerateBUG = enu !== "0" //IE6下为true, 其他为false
|
189
|
+
|
193
190
|
/*判定是否是一个朴素的javascript对象(Object),不是DOM对象,不是BOM对象,不是自定义类的实例*/
|
194
191
|
avalon.isPlainObject = function (obj, key) {
|
195
192
|
if (!obj || avalon.type(obj) !== "object" || obj.nodeType || avalon.isWindow(obj)) {
|
@@ -217,6 +214,7 @@ if (rnative.test(Object.getPrototypeOf)) {
|
|
217
214
|
return serialize.call(obj) === "[object Object]" && Object.getPrototypeOf(obj) === oproto
|
218
215
|
}
|
219
216
|
}
|
217
|
+
|
220
218
|
//与jQuery.extend方法,可用于浅拷贝,深拷贝
|
221
219
|
avalon.mix = avalon.fn.mix = function () {
|
222
220
|
var options, name, src, copy, copyIsArray, clone,
|
@@ -233,7 +231,7 @@ avalon.mix = avalon.fn.mix = function () {
|
|
233
231
|
}
|
234
232
|
|
235
233
|
//确保接受方为一个复杂的数据类型
|
236
|
-
if (typeof target !== "object" && !isFunction(target)) {
|
234
|
+
if (typeof target !== "object" && !avalon.isFunction(target)) {
|
237
235
|
target = {}
|
238
236
|
}
|
239
237
|
|
@@ -285,7 +283,7 @@ function _number(a, len) { //用于模拟slice, splice的效果
|
|
285
283
|
avalon.mix({
|
286
284
|
rword: rword,
|
287
285
|
subscribers: subscribers,
|
288
|
-
version: 1.
|
286
|
+
version: 1.56,
|
289
287
|
ui: {},
|
290
288
|
log: log,
|
291
289
|
slice: W3C ? function (nodes, start, end) {
|
@@ -484,7 +482,6 @@ function isArrayLike(obj) {
|
|
484
482
|
return false
|
485
483
|
}
|
486
484
|
|
487
|
-
|
488
485
|
// https://github.com/rsms/js-lru
|
489
486
|
var Cache = new function() {// jshint ignore:line
|
490
487
|
function LRU(maxLength) {
|
@@ -560,8 +557,9 @@ var Cache = new function() {// jshint ignore:line
|
|
560
557
|
}// jshint ignore:line
|
561
558
|
|
562
559
|
/*********************************************************************
|
563
|
-
* javascript 底层补丁
|
560
|
+
* javascript 底层补丁 *
|
564
561
|
**********************************************************************/
|
562
|
+
|
565
563
|
if (!"司徒正美".trim) {
|
566
564
|
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g
|
567
565
|
String.prototype.trim = function () {
|
@@ -678,6 +676,7 @@ if (!rnative.test([].map)) {
|
|
678
676
|
every: iterator("", 'if(!_)return false', 'return true')
|
679
677
|
})
|
680
678
|
}
|
679
|
+
|
681
680
|
/*********************************************************************
|
682
681
|
* DOM 底层补丁 *
|
683
682
|
**********************************************************************/
|
@@ -879,8 +878,6 @@ if (DOC.onmousewheel === void 0) {
|
|
879
878
|
}
|
880
879
|
}
|
881
880
|
|
882
|
-
|
883
|
-
|
884
881
|
/*********************************************************************
|
885
882
|
* 配置系统 *
|
886
883
|
**********************************************************************/
|
@@ -900,6 +897,8 @@ function kernel(settings) {
|
|
900
897
|
}
|
901
898
|
return this
|
902
899
|
}
|
900
|
+
avalon.config = kernel
|
901
|
+
|
903
902
|
var openTag, closeTag, rexpr, rexprg, rbind, rregexp = /[-.*+?^${}()|[\]\/\\]/g
|
904
903
|
|
905
904
|
function escapeRegExp(target) {
|
@@ -930,18 +929,20 @@ var plugins = {
|
|
930
929
|
rbind = new RegExp(o + ".*?" + c + "|\\sms-")
|
931
930
|
}
|
932
931
|
}
|
933
|
-
kernel.async =true
|
934
|
-
kernel.debug = true
|
935
932
|
kernel.plugins = plugins
|
936
933
|
kernel.plugins['interpolate'](["{{", "}}"])
|
934
|
+
|
935
|
+
kernel.async =true
|
936
|
+
kernel.debug = true
|
937
937
|
kernel.paths = {}
|
938
938
|
kernel.shim = {}
|
939
939
|
kernel.maxRepeatSize = 100
|
940
|
-
|
940
|
+
|
941
941
|
function $watch(expr, binding) {
|
942
942
|
var $events = this.$events || (this.$events = {})
|
943
943
|
|
944
944
|
var queue = $events[expr] || ($events[expr] = [])
|
945
|
+
|
945
946
|
if (typeof binding === "function") {
|
946
947
|
var backup = binding
|
947
948
|
backup.uniqueNumber = Math.random()
|
@@ -957,7 +958,7 @@ function $watch(expr, binding) {
|
|
957
958
|
}
|
958
959
|
|
959
960
|
if (!binding.update) {
|
960
|
-
if (/\w\.*\B/.test(expr)) {
|
961
|
+
if (/\w\.*\B/.test(expr) || expr === "*") {
|
961
962
|
binding.getter = noop
|
962
963
|
var host = this
|
963
964
|
binding.update = function () {
|
@@ -990,6 +991,14 @@ function $emit(key, args) {
|
|
990
991
|
}
|
991
992
|
var arr = event[key]
|
992
993
|
notifySubscribers(arr, args)
|
994
|
+
if (args && event["*"] && !/\./.test(key)) {
|
995
|
+
for (var sub, k = 0; sub = event["*"][k++]; ) {
|
996
|
+
try {
|
997
|
+
sub.handler.apply(this, args)
|
998
|
+
} catch (e) {
|
999
|
+
}
|
1000
|
+
}
|
1001
|
+
}
|
993
1002
|
var parent = this.$up
|
994
1003
|
if (parent) {
|
995
1004
|
if (this.$pathname) {
|
@@ -1000,10 +1009,10 @@ function $emit(key, args) {
|
|
1000
1009
|
}
|
1001
1010
|
} else {
|
1002
1011
|
parent = this.$up
|
1003
|
-
|
1004
|
-
if(this.$ups
|
1005
|
-
for(var i in this.$ups){
|
1006
|
-
$emit.call(this.$ups[i], i+"."+key, args)//以确切的值往上冒泡
|
1012
|
+
|
1013
|
+
if (this.$ups) {
|
1014
|
+
for (var i in this.$ups) {
|
1015
|
+
$emit.call(this.$ups[i], i + "." + key, args)//以确切的值往上冒泡
|
1007
1016
|
}
|
1008
1017
|
return
|
1009
1018
|
}
|
@@ -1024,7 +1033,6 @@ function $emit(key, args) {
|
|
1024
1033
|
}
|
1025
1034
|
}
|
1026
1035
|
|
1027
|
-
|
1028
1036
|
function collectDependency(el, key) {
|
1029
1037
|
do {
|
1030
1038
|
if (el.$watch) {
|
@@ -1043,7 +1051,6 @@ function collectDependency(el, key) {
|
|
1043
1051
|
} while (true)
|
1044
1052
|
}
|
1045
1053
|
|
1046
|
-
|
1047
1054
|
function notifySubscribers(subs, args) {
|
1048
1055
|
if (!subs)
|
1049
1056
|
return
|
@@ -1084,6 +1091,7 @@ function notifySubscribers(subs, args) {
|
|
1084
1091
|
sub.update()
|
1085
1092
|
}
|
1086
1093
|
}
|
1094
|
+
|
1087
1095
|
//avalon最核心的方法的两个方法之一(另一个是avalon.scan),返回一个ViewModel(VM)
|
1088
1096
|
var VMODELS = avalon.vmodels = {} //所有vmodel都储存在这里
|
1089
1097
|
avalon.define = function (source) {
|
@@ -1172,7 +1180,6 @@ function observeObject(source, options) {
|
|
1172
1180
|
}
|
1173
1181
|
}
|
1174
1182
|
|
1175
|
-
|
1176
1183
|
for (name in source) {
|
1177
1184
|
var value = source[name]
|
1178
1185
|
if (!$$skipArray[name])
|
@@ -1212,7 +1219,6 @@ function observeObject(source, options) {
|
|
1212
1219
|
}
|
1213
1220
|
}
|
1214
1221
|
|
1215
|
-
|
1216
1222
|
accessors["$model"] = $modelDescriptor
|
1217
1223
|
$vmodel = defineProperties($vmodel, accessors, source)
|
1218
1224
|
function trackBy(name) {
|
@@ -1264,6 +1270,7 @@ function observeObject(source, options) {
|
|
1264
1270
|
$vmodel.$active = true
|
1265
1271
|
return $vmodel
|
1266
1272
|
}
|
1273
|
+
|
1267
1274
|
/*
|
1268
1275
|
新的VM拥有如下私有属性
|
1269
1276
|
$id: vm.id
|
@@ -1350,6 +1357,7 @@ function observe(obj, old, hasReturn, watch) {
|
|
1350
1357
|
return obj
|
1351
1358
|
}
|
1352
1359
|
}
|
1360
|
+
|
1353
1361
|
var getKeys = rnative.test(Object.key) ? Object.key : function (a) {
|
1354
1362
|
var ret = []
|
1355
1363
|
for (var i in a) {
|
@@ -1359,8 +1367,9 @@ var getKeys = rnative.test(Object.key) ? Object.key : function (a) {
|
|
1359
1367
|
}
|
1360
1368
|
return ret
|
1361
1369
|
}
|
1370
|
+
|
1362
1371
|
function observeArray(array, old, watch) {
|
1363
|
-
if (old) {
|
1372
|
+
if (old && old.splice) {
|
1364
1373
|
var args = [0, old.length].concat(array)
|
1365
1374
|
old.splice.apply(old, args)
|
1366
1375
|
return old
|
@@ -1448,7 +1457,6 @@ var $modelDescriptor = {
|
|
1448
1457
|
configurable: true
|
1449
1458
|
}
|
1450
1459
|
|
1451
|
-
|
1452
1460
|
//===================修复浏览器对Object.defineProperties的支持=================
|
1453
1461
|
if (!canHideOwn) {
|
1454
1462
|
if ("__defineGetter__" in avalon) {
|
@@ -1631,6 +1639,7 @@ var newProto = {
|
|
1631
1639
|
return this.removeAll()
|
1632
1640
|
}
|
1633
1641
|
}
|
1642
|
+
|
1634
1643
|
var _splice = arrayProto.splice
|
1635
1644
|
arrayMethods.forEach(function (method) {
|
1636
1645
|
var original = arrayProto[method]
|
@@ -1723,9 +1732,11 @@ function addTrack(track, method, args) {
|
|
1723
1732
|
}
|
1724
1733
|
Array.prototype[method].apply(track, args)
|
1725
1734
|
}
|
1735
|
+
|
1726
1736
|
/*********************************************************************
|
1727
|
-
* 依赖调度系统
|
1737
|
+
* 依赖调度系统 *
|
1728
1738
|
**********************************************************************/
|
1739
|
+
|
1729
1740
|
//检测两个对象间的依赖关系
|
1730
1741
|
var dependencyDetection = (function () {
|
1731
1742
|
var outerFrames = []
|
@@ -1747,6 +1758,7 @@ var dependencyDetection = (function () {
|
|
1747
1758
|
}
|
1748
1759
|
};
|
1749
1760
|
})()
|
1761
|
+
|
1750
1762
|
//将绑定对象注入到其依赖项的订阅数组中
|
1751
1763
|
var roneval = /^on$/
|
1752
1764
|
|
@@ -1779,7 +1791,11 @@ avalon.injectBinding = function (binding) {
|
|
1779
1791
|
if (binding.type === "on") {
|
1780
1792
|
a = binding.getter + ""
|
1781
1793
|
} else {
|
1782
|
-
|
1794
|
+
try {
|
1795
|
+
a = binding.getter.apply(0, binding.args)
|
1796
|
+
} catch (ex) {
|
1797
|
+
a = null
|
1798
|
+
}
|
1783
1799
|
}
|
1784
1800
|
} else {
|
1785
1801
|
a = args[0]
|
@@ -1826,7 +1842,6 @@ avalon.injectBinding = function (binding) {
|
|
1826
1842
|
binding.update()
|
1827
1843
|
}
|
1828
1844
|
|
1829
|
-
|
1830
1845
|
//将依赖项(比它高层的访问器或构建视图刷新函数的绑定对象)注入到订阅者数组
|
1831
1846
|
function injectDependency(list, binding) {
|
1832
1847
|
if (binding.oneTime)
|
@@ -1839,7 +1854,6 @@ function injectDependency(list, binding) {
|
|
1839
1854
|
}
|
1840
1855
|
}
|
1841
1856
|
|
1842
|
-
|
1843
1857
|
function getProxyIds(a, isArray) {
|
1844
1858
|
var ret = []
|
1845
1859
|
for (var i = 0, el; el = a[i++]; ) {
|
@@ -1851,6 +1865,7 @@ function getProxyIds(a, isArray) {
|
|
1851
1865
|
/*********************************************************************
|
1852
1866
|
* 定时GC回收机制 *
|
1853
1867
|
**********************************************************************/
|
1868
|
+
|
1854
1869
|
var disposeCount = 0
|
1855
1870
|
var disposeQueue = avalon.$$subscribers = []
|
1856
1871
|
var beginTime = new Date()
|
@@ -1957,11 +1972,10 @@ function shouldDispose(el) {
|
|
1957
1972
|
return el.msRetain ? 0 : (el.nodeType === 1 ? !root.contains(el) : !avalon.contains(root, el))
|
1958
1973
|
}
|
1959
1974
|
|
1960
|
-
|
1961
|
-
|
1962
1975
|
/************************************************************************
|
1963
|
-
*
|
1964
|
-
|
1976
|
+
* HTML处理(parseHTML, innerHTML, clearHTML) *
|
1977
|
+
*************************************************************************/
|
1978
|
+
|
1965
1979
|
// We have to close these tags to support XHTML
|
1966
1980
|
var tagHooks = {
|
1967
1981
|
area: [1, "<map>", "</map>"],
|
@@ -1982,6 +1996,7 @@ tagHooks.tbody = tagHooks.tfoot = tagHooks.colgroup = tagHooks.caption = tagHook
|
|
1982
1996
|
String("circle,defs,ellipse,image,line,path,polygon,polyline,rect,symbol,text,use").replace(rword, function (tag) {
|
1983
1997
|
tagHooks[tag] = tagHooks.g //处理SVG
|
1984
1998
|
})
|
1999
|
+
|
1985
2000
|
var rtagName = /<([\w:]+)/ //取得其tagName
|
1986
2001
|
var rxhtml = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig
|
1987
2002
|
var rcreate = W3C ? /[^\d\D]/ : /(<(?:script|link|style|meta|noscript))/ig
|
@@ -1989,6 +2004,7 @@ var scriptTypes = oneObject(["", "text/javascript", "text/ecmascript", "applicat
|
|
1989
2004
|
var rnest = /<(?:tb|td|tf|th|tr|col|opt|leg|cap|area)/ //需要处理套嵌关系的标签
|
1990
2005
|
var script = DOC.createElement("script")
|
1991
2006
|
var rhtml = /<|&#?\w+;/
|
2007
|
+
|
1992
2008
|
avalon.parseHTML = function (html) {
|
1993
2009
|
var fragment = avalonFragment.cloneNode(false)
|
1994
2010
|
if (typeof html !== "string") {
|
@@ -2071,6 +2087,7 @@ function fixVML(node) {
|
|
2071
2087
|
node.style.zoom = 1 //hasLayout
|
2072
2088
|
}
|
2073
2089
|
}
|
2090
|
+
|
2074
2091
|
avalon.innerHTML = function (node, html) {
|
2075
2092
|
if (!W3C && (!rcreate.test(html) && !rnest.test(html))) {
|
2076
2093
|
try {
|
@@ -2081,6 +2098,7 @@ avalon.innerHTML = function (node, html) {
|
|
2081
2098
|
var a = this.parseHTML(html)
|
2082
2099
|
this.clearHTML(node).appendChild(a)
|
2083
2100
|
}
|
2101
|
+
|
2084
2102
|
avalon.clearHTML = function (node) {
|
2085
2103
|
node.textContent = ""
|
2086
2104
|
while (node.firstChild) {
|
@@ -2090,7 +2108,7 @@ avalon.clearHTML = function (node) {
|
|
2090
2108
|
}
|
2091
2109
|
|
2092
2110
|
/*********************************************************************
|
2093
|
-
* avalon的原型方法定义区
|
2111
|
+
* avalon的原型方法定义区 *
|
2094
2112
|
**********************************************************************/
|
2095
2113
|
|
2096
2114
|
function hyphen(target) {
|
@@ -2321,6 +2339,20 @@ avalon.parseJSON = window.JSON ? JSON.parse : function (data) {
|
|
2321
2339
|
return data
|
2322
2340
|
}
|
2323
2341
|
|
2342
|
+
avalon.fireDom = function (elem, type, opts) {
|
2343
|
+
if (DOC.createEvent) {
|
2344
|
+
var hackEvent = DOC.createEvent("Events");
|
2345
|
+
hackEvent.initEvent(type, true, true, opts)
|
2346
|
+
avalon.mix(hackEvent, opts)
|
2347
|
+
|
2348
|
+
elem.dispatchEvent(hackEvent)
|
2349
|
+
} else if (root.contains(elem)) {//IE6-8触发事件必须保证在DOM树中,否则报"SCRIPT16389: 未指明的错误"
|
2350
|
+
hackEvent = DOC.createEventObject()
|
2351
|
+
avalon.mix(hackEvent, opts)
|
2352
|
+
elem.fireEvent("on" + type, hackEvent)
|
2353
|
+
}
|
2354
|
+
}
|
2355
|
+
|
2324
2356
|
//生成avalon.fn.scrollLeft, avalon.fn.scrollTop方法
|
2325
2357
|
avalon.each({
|
2326
2358
|
scrollLeft: "pageXOffset",
|
@@ -2652,13 +2684,13 @@ var keys = ["break,case,catch,continue,debugger,default,delete,do,else,false",
|
|
2652
2684
|
keys.replace(/\w+/g, function (a) {
|
2653
2685
|
keyMap[a] = true
|
2654
2686
|
})
|
2687
|
+
|
2655
2688
|
var ridentStart = /[a-z_$]/i
|
2656
2689
|
var rwhiteSpace = /[\s\uFEFF\xA0]/
|
2657
2690
|
function getIdent(input, lastIndex) {
|
2658
2691
|
var result = []
|
2659
2692
|
var subroutine = !!lastIndex
|
2660
2693
|
lastIndex = lastIndex || 0
|
2661
|
-
|
2662
2694
|
//将表达式中的标识符抽取出来
|
2663
2695
|
var state = "unknown"
|
2664
2696
|
var variable = ""
|
@@ -2742,12 +2774,14 @@ function getIdent(input, lastIndex) {
|
|
2742
2774
|
addVar(result, variable)
|
2743
2775
|
return result
|
2744
2776
|
}
|
2777
|
+
|
2745
2778
|
function addVar(array, element) {
|
2746
2779
|
if (element && !keyMap[element]) {
|
2747
2780
|
array.push(element)
|
2748
2781
|
return true
|
2749
2782
|
}
|
2750
2783
|
}
|
2784
|
+
|
2751
2785
|
function addAssign(vars, vmodel, name, binding) {
|
2752
2786
|
var ret = [],
|
2753
2787
|
prefix = " = " + name + "."
|
@@ -2769,6 +2803,7 @@ function addAssign(vars, vmodel, name, binding) {
|
|
2769
2803
|
}
|
2770
2804
|
return ret
|
2771
2805
|
}
|
2806
|
+
|
2772
2807
|
var rproxy = /(\$proxy\$[a-z]+)\d+$/
|
2773
2808
|
var variablePool = new Cache(218)
|
2774
2809
|
//缓存求值函数,以便多次利用
|
@@ -2871,7 +2906,6 @@ function parseExpr(expr, vmodels, binding) {
|
|
2871
2906
|
return evaluatorPool.put(exprId, getter)
|
2872
2907
|
|
2873
2908
|
}
|
2874
|
-
//========
|
2875
2909
|
|
2876
2910
|
function normalizeExpr(code) {
|
2877
2911
|
var hasExpr = rexpr.test(code) //比如ms-class="width{{w}}"的情况
|
@@ -2916,9 +2950,11 @@ function parseFilter(filters) {
|
|
2916
2950
|
/* jshint ignore:end */
|
2917
2951
|
|
2918
2952
|
}
|
2953
|
+
|
2919
2954
|
/*********************************************************************
|
2920
2955
|
* 编译系统 *
|
2921
2956
|
**********************************************************************/
|
2957
|
+
|
2922
2958
|
var meta = {
|
2923
2959
|
'\b': '\\b',
|
2924
2960
|
'\t': '\\t',
|
@@ -2960,7 +2996,6 @@ function checkScan(elem, callback, innerHTML) {
|
|
2960
2996
|
})
|
2961
2997
|
}
|
2962
2998
|
|
2963
|
-
|
2964
2999
|
function createSignalTower(elem, vmodel) {
|
2965
3000
|
var id = elem.getAttribute("avalonctrl") || vmodel.$id
|
2966
3001
|
elem.setAttribute("avalonctrl", id)
|
@@ -3021,6 +3056,26 @@ function bindingSorter(a, b) {
|
|
3021
3056
|
return a.priority - b.priority
|
3022
3057
|
}
|
3023
3058
|
|
3059
|
+
var rnoCollect = /^(ms-\S+|data-\S+|on[a-z]+|id|style|class)$/
|
3060
|
+
var ronattr = /^on\-[\w-]+$/
|
3061
|
+
function getOptionsFromTag(elem, vmodels) {
|
3062
|
+
var attributes = elem.attributes
|
3063
|
+
var ret = {}
|
3064
|
+
for (var i = 0, attr; attr = attributes[i++]; ) {
|
3065
|
+
var name = attr.name
|
3066
|
+
if (attr.specified && !rnoCollect.test(name)) {
|
3067
|
+
var camelizeName = camelize(attr.name)
|
3068
|
+
if (/^on\-[\w-]+$/.test(name)) {
|
3069
|
+
ret[camelizeName] = getBindingCallback(elem, name, vmodels)
|
3070
|
+
} else {
|
3071
|
+
ret[camelizeName] = parseData(attr.value)
|
3072
|
+
}
|
3073
|
+
}
|
3074
|
+
|
3075
|
+
}
|
3076
|
+
return ret
|
3077
|
+
}
|
3078
|
+
|
3024
3079
|
function scanAttr(elem, vmodels, match) {
|
3025
3080
|
var scanNode = true
|
3026
3081
|
if (vmodels.length) {
|
@@ -3159,28 +3214,21 @@ if (!W3C) {
|
|
3159
3214
|
}
|
3160
3215
|
}
|
3161
3216
|
|
3162
|
-
var rnoCollect = /^(ms-\S+|data-\S+|on[a-z]+|id|style|class|tabindex)$/
|
3163
|
-
function getOptionsFromTag(elem) {
|
3164
|
-
var attributes = getAttributes ? getAttributes(elem) : elem.attributes
|
3165
|
-
var ret = {}
|
3166
|
-
for (var i = 0, attr; attr = attributes[i++]; ) {
|
3167
|
-
if (attr.specified && !rnoCollect.test(attr.name)) {
|
3168
|
-
ret[camelize(attr.name)] = parseData(attr.value)
|
3169
|
-
}
|
3170
|
-
}
|
3171
|
-
return ret
|
3172
|
-
}
|
3173
3217
|
function scanNodeList(parent, vmodels) {
|
3174
3218
|
var nodes = avalon.slice(parent.childNodes)
|
3175
3219
|
scanNodeArray(nodes, vmodels)
|
3176
3220
|
}
|
3177
3221
|
|
3178
|
-
|
3179
3222
|
function scanNodeArray(nodes, vmodels) {
|
3223
|
+
function _delay_component(name) {
|
3224
|
+
setTimeout(function () {
|
3225
|
+
avalon.component(name)
|
3226
|
+
})
|
3227
|
+
}
|
3180
3228
|
for (var i = 0, node; node = nodes[i++]; ) {
|
3181
3229
|
switch (node.nodeType) {
|
3182
3230
|
case 1:
|
3183
|
-
var elem = node
|
3231
|
+
var elem = node
|
3184
3232
|
if (!elem.msResolved && elem.parentNode && elem.parentNode.nodeType === 1) {
|
3185
3233
|
var library = isWidget(elem)
|
3186
3234
|
if (library) {
|
@@ -3195,11 +3243,14 @@ function scanNodeArray(nodes, vmodels) {
|
|
3195
3243
|
name: "widget"
|
3196
3244
|
})
|
3197
3245
|
if (avalon.components[fullName]) {
|
3198
|
-
|
3246
|
+
//确保所有ms-attr-name扫描完再处理
|
3247
|
+
_delay_component(fullName)
|
3199
3248
|
}
|
3200
3249
|
}
|
3201
3250
|
}
|
3202
|
-
|
3251
|
+
|
3252
|
+
scanTag(node, vmodels) //扫描元素节点
|
3253
|
+
|
3203
3254
|
if (node.msHasEvent) {
|
3204
3255
|
avalon.fireDom(node, "datasetchanged", {
|
3205
3256
|
bubble: node.msHasEvent
|
@@ -3217,7 +3268,6 @@ function scanNodeArray(nodes, vmodels) {
|
|
3217
3268
|
}
|
3218
3269
|
}
|
3219
3270
|
|
3220
|
-
|
3221
3271
|
function scanTag(elem, vmodels, node) {
|
3222
3272
|
//扫描顺序 ms-skip(0) --> ms-important(1) --> ms-controller(2) --> ms-if(10) --> ms-repeat(100)
|
3223
3273
|
//--> ms-if-loop(110) --> ms-attr(970) ...--> ms-each(1400)-->ms-with(1500)--〉ms-duplex(2000)垫后
|
@@ -3242,12 +3292,15 @@ function scanTag(elem, vmodels, node) {
|
|
3242
3292
|
avalon(elem).removeClass(name)
|
3243
3293
|
createSignalTower(elem, newVmodel)
|
3244
3294
|
}
|
3245
|
-
|
3295
|
+
|
3246
3296
|
scanAttr(elem, vmodels) //扫描特性节点
|
3297
|
+
if (newVmodel) {
|
3298
|
+
setTimeout(function () {
|
3299
|
+
newVmodel.$fire("ms-scan-end", elem)
|
3300
|
+
})
|
3301
|
+
}
|
3247
3302
|
}
|
3248
3303
|
|
3249
|
-
|
3250
|
-
|
3251
3304
|
var rhasHtml = /\|\s*html(?:\b|$)/,
|
3252
3305
|
r11a = /\|\|/g,
|
3253
3306
|
rlt = /</g,
|
@@ -3337,8 +3390,6 @@ function scanText(textNode, vmodels, index) {
|
|
3337
3390
|
}
|
3338
3391
|
}
|
3339
3392
|
|
3340
|
-
|
3341
|
-
|
3342
3393
|
//使用来自游戏界的双缓冲技术,减少对视图的冗余刷新
|
3343
3394
|
var Buffer = function () {
|
3344
3395
|
this.queue = []
|
@@ -3363,6 +3414,7 @@ Buffer.prototype = {
|
|
3363
3414
|
}
|
3364
3415
|
|
3365
3416
|
var buffer = new Buffer()
|
3417
|
+
|
3366
3418
|
var componentQueue = []
|
3367
3419
|
var widgetList = []
|
3368
3420
|
var componentHooks = {
|
@@ -3381,7 +3433,6 @@ var componentHooks = {
|
|
3381
3433
|
}
|
3382
3434
|
}
|
3383
3435
|
|
3384
|
-
|
3385
3436
|
avalon.components = {}
|
3386
3437
|
avalon.component = function (name, opts) {
|
3387
3438
|
if (opts) {
|
@@ -3393,15 +3444,24 @@ avalon.component = function (name, opts) {
|
|
3393
3444
|
i--;
|
3394
3445
|
|
3395
3446
|
(function (host, hooks, elem, widget) {
|
3396
|
-
|
3447
|
+
//如果elem已从Document里移除,直接返回
|
3448
|
+
//issuse : https://github.com/RubyLouvre/avalon2/issues/40
|
3449
|
+
if (!avalon.contains(DOC, elem) || elem.msResolved) {
|
3450
|
+
avalon.Array.remove(componentQueue, host)
|
3451
|
+
return
|
3452
|
+
}
|
3453
|
+
|
3397
3454
|
var dependencies = 1
|
3398
3455
|
var library = host.library
|
3399
3456
|
var global = avalon.libraries[library] || componentHooks
|
3400
3457
|
|
3401
3458
|
//===========收集各种配置=======
|
3402
|
-
|
3403
|
-
|
3404
|
-
|
3459
|
+
if (elem.getAttribute("ms-attr-identifier")) {
|
3460
|
+
//如果还没有解析完,就延迟一下 #1155
|
3461
|
+
return
|
3462
|
+
}
|
3463
|
+
var elemOpts = getOptionsFromTag(elem, host.vmodels)
|
3464
|
+
var vmOpts = getOptionsFromVM(host.vmodels, elemOpts.config || host.fullName)
|
3405
3465
|
var $id = elemOpts.$id || elemOpts.identifier || generateID(widget)
|
3406
3466
|
delete elemOpts.config
|
3407
3467
|
delete elemOpts.$id
|
@@ -3431,7 +3491,7 @@ avalon.component = function (name, opts) {
|
|
3431
3491
|
delete componentDefinition.$construct
|
3432
3492
|
|
3433
3493
|
var vmodel = avalon.define(componentDefinition) || {}
|
3434
|
-
elem.msResolved = 1
|
3494
|
+
elem.msResolved = 1 //防止二进扫描此元素
|
3435
3495
|
vmodel.$init(vmodel, elem)
|
3436
3496
|
global.$init(vmodel, elem)
|
3437
3497
|
var nodes = elem.childNodes
|
@@ -3448,7 +3508,6 @@ avalon.component = function (name, opts) {
|
|
3448
3508
|
}
|
3449
3509
|
}
|
3450
3510
|
|
3451
|
-
|
3452
3511
|
if (vmodel.$$template) {
|
3453
3512
|
avalon.clearHTML(elem)
|
3454
3513
|
elem.innerHTML = vmodel.$$template(keepTemplate)
|
@@ -3467,12 +3526,17 @@ avalon.component = function (name, opts) {
|
|
3467
3526
|
}
|
3468
3527
|
}
|
3469
3528
|
slots = null
|
3470
|
-
var child = elem.firstChild
|
3529
|
+
var child = elem.children[0] || elem.firstChild
|
3471
3530
|
if (keepReplace) {
|
3472
|
-
child = elem.firstChild
|
3473
3531
|
elem.parentNode.replaceChild(child, elem)
|
3474
3532
|
child.msResolved = 1
|
3533
|
+
var cssText = elem.style.cssText
|
3534
|
+
var className = elem.className
|
3475
3535
|
elem = host.element = child
|
3536
|
+
elem.style.cssText += ";"+ cssText
|
3537
|
+
if (className) {
|
3538
|
+
avalon(elem).addClass(className)
|
3539
|
+
}
|
3476
3540
|
}
|
3477
3541
|
if (keepContainer) {
|
3478
3542
|
keepContainer.appendChild(elem)
|
@@ -3495,7 +3559,7 @@ avalon.component = function (name, opts) {
|
|
3495
3559
|
if (dependencies === 0) {
|
3496
3560
|
var id1 = setTimeout(function () {
|
3497
3561
|
clearTimeout(id1)
|
3498
|
-
|
3562
|
+
|
3499
3563
|
vmodel.$ready(vmodel, elem, host.vmodels)
|
3500
3564
|
global.$ready(vmodel, elem, host.vmodels)
|
3501
3565
|
}, children ? Math.max(children * 17, 100) : 17)
|
@@ -3519,7 +3583,6 @@ avalon.component = function (name, opts) {
|
|
3519
3583
|
}
|
3520
3584
|
})
|
3521
3585
|
scanTag(elem, [vmodel].concat(host.vmodels))
|
3522
|
-
|
3523
3586
|
avalon.vmodels[vmodel.$id] = vmodel
|
3524
3587
|
if (!elem.childNodes.length) {
|
3525
3588
|
avalon.fireDom(elem, "datasetchanged", {library: library, vm: vmodel, childReady: -1})
|
@@ -3530,28 +3593,12 @@ avalon.component = function (name, opts) {
|
|
3530
3593
|
}, 17)
|
3531
3594
|
}
|
3532
3595
|
|
3533
|
-
|
3534
3596
|
})(obj, avalon.components[name], obj.element, obj.widget)// jshint ignore:line
|
3535
3597
|
|
3536
|
-
|
3537
3598
|
}
|
3538
3599
|
}
|
3539
3600
|
}
|
3540
3601
|
|
3541
|
-
avalon.fireDom = function (elem, type, opts) {
|
3542
|
-
if (DOC.createEvent) {
|
3543
|
-
var hackEvent = DOC.createEvent("Events");
|
3544
|
-
hackEvent.initEvent(type, true, true, opts)
|
3545
|
-
avalon.mix(hackEvent, opts)
|
3546
|
-
|
3547
|
-
elem.dispatchEvent(hackEvent)
|
3548
|
-
} else if (root.contains(elem)) {//IE6-8触发事件必须保证在DOM树中,否则报"SCRIPT16389: 未指明的错误"
|
3549
|
-
hackEvent = DOC.createEventObject()
|
3550
|
-
avalon.mix(hackEvent, opts)
|
3551
|
-
elem.fireEvent("on" + type, hackEvent)
|
3552
|
-
}
|
3553
|
-
}
|
3554
|
-
|
3555
3602
|
|
3556
3603
|
function getOptionsFromVM(vmodels, pre) {
|
3557
3604
|
if (pre) {
|
@@ -3566,8 +3613,6 @@ function getOptionsFromVM(vmodels, pre) {
|
|
3566
3613
|
return {}
|
3567
3614
|
}
|
3568
3615
|
|
3569
|
-
|
3570
|
-
|
3571
3616
|
avalon.libraries = []
|
3572
3617
|
avalon.library = function (name, opts) {
|
3573
3618
|
if (DOC.namespaces) {
|
@@ -3581,19 +3626,20 @@ avalon.library = function (name, opts) {
|
|
3581
3626
|
}
|
3582
3627
|
|
3583
3628
|
avalon.library("ms")
|
3584
|
-
/*
|
3585
|
-
broswer nodeName scopeName localName
|
3586
|
-
IE9 ONI:BUTTON oni button
|
3587
|
-
IE10 ONI:BUTTON undefined oni:button
|
3588
|
-
IE8 button oni undefined
|
3589
|
-
chrome ONI:BUTTON undefined oni:button
|
3590
3629
|
|
3591
|
-
|
3630
|
+
/*
|
3631
|
+
broswer nodeName scopeName localName
|
3632
|
+
IE9 ONI:BUTTON oni button
|
3633
|
+
IE10 ONI:BUTTON undefined oni:button
|
3634
|
+
IE8 button oni undefined
|
3635
|
+
chrome ONI:BUTTON undefined oni:button
|
3636
|
+
|
3637
|
+
*/
|
3592
3638
|
function isWidget(el) { //如果为自定义标签,返回UI库的名字
|
3593
|
-
if(el.scopeName && el.scopeName !== "HTML"
|
3639
|
+
if (el.scopeName && el.scopeName !== "HTML") {
|
3594
3640
|
return el.scopeName
|
3595
3641
|
}
|
3596
|
-
var fullName = el.nodeName.toLowerCase()
|
3642
|
+
var fullName = el.nodeName.toLowerCase()
|
3597
3643
|
var index = fullName.indexOf(":")
|
3598
3644
|
if (index > 0) {
|
3599
3645
|
return fullName.slice(0, index)
|
@@ -3602,7 +3648,6 @@ function isWidget(el) { //如果为自定义标签,返回UI库的名字
|
|
3602
3648
|
//各种MVVM框架在大型表格下的性能测试
|
3603
3649
|
// https://github.com/RubyLouvre/avalon/issues/859
|
3604
3650
|
|
3605
|
-
|
3606
3651
|
var bools = ["autofocus,autoplay,async,allowTransparency,checked,controls",
|
3607
3652
|
"declare,disabled,defer,defaultChecked,defaultSelected",
|
3608
3653
|
"contentEditable,isMap,loop,multiple,noHref,noResize,noShade",
|
@@ -3702,8 +3747,6 @@ var attrDir = avalon.directive("attr", {
|
|
3702
3747
|
}
|
3703
3748
|
})
|
3704
3749
|
|
3705
|
-
|
3706
|
-
|
3707
3750
|
//这几个指令都可以使用插值表达式,如ms-src="aaa/{{b}}/{{c}}.html"
|
3708
3751
|
"title,alt,src,value,css,include,href".replace(rword, function (name) {
|
3709
3752
|
directives[name] = attrDir
|
@@ -3777,7 +3820,6 @@ avalon.directive("class", {
|
|
3777
3820
|
directives[name] = directives["class"]
|
3778
3821
|
})
|
3779
3822
|
|
3780
|
-
|
3781
3823
|
//ms-controller绑定已经在scanTag 方法中实现
|
3782
3824
|
avalon.directive("css", {
|
3783
3825
|
init: directives.attr.init,
|
@@ -3848,7 +3890,7 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3848
3890
|
"input"
|
3849
3891
|
}
|
3850
3892
|
//===================绑定事件======================
|
3851
|
-
binding.bound = function (type, callback) {
|
3893
|
+
var bound = binding.bound = function (type, callback) {
|
3852
3894
|
if (elem.addEventListener) {
|
3853
3895
|
elem.addEventListener(type, callback, false)
|
3854
3896
|
} else {
|
@@ -3861,22 +3903,24 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3861
3903
|
old && old()
|
3862
3904
|
}
|
3863
3905
|
}
|
3864
|
-
var composing = false
|
3865
3906
|
function callback(value) {
|
3866
3907
|
binding.changed.call(this, value, binding)
|
3867
3908
|
}
|
3909
|
+
var composing = false
|
3868
3910
|
function compositionStart() {
|
3869
3911
|
composing = true
|
3870
3912
|
}
|
3871
3913
|
function compositionEnd() {
|
3872
3914
|
composing = false
|
3873
3915
|
}
|
3874
|
-
|
3916
|
+
|
3917
|
+
var updateVModel = function (e) {
|
3875
3918
|
var val = elem.value //防止递归调用形成死循环
|
3876
3919
|
if (composing || val === binding.oldValue || binding.pipe === null) //处理中文输入法在minlengh下引发的BUG
|
3877
3920
|
return
|
3878
3921
|
var lastValue = binding.pipe(val, binding, "get")
|
3879
3922
|
try {
|
3923
|
+
binding.oldValue = val
|
3880
3924
|
binding.setter(lastValue)
|
3881
3925
|
callback.call(elem, lastValue)
|
3882
3926
|
} catch (ex) {
|
@@ -3896,7 +3940,7 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3896
3940
|
})
|
3897
3941
|
break
|
3898
3942
|
case "checkbox":
|
3899
|
-
|
3943
|
+
bound(W3C ? "change" : "click", function () {
|
3900
3944
|
var method = elem.checked ? "ensure" : "remove"
|
3901
3945
|
var array = binding.getter.apply(0, binding.vmodels)
|
3902
3946
|
if (!Array.isArray(array)) {
|
@@ -3909,27 +3953,33 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3909
3953
|
})
|
3910
3954
|
break
|
3911
3955
|
case "change":
|
3912
|
-
|
3956
|
+
bound("change", updateVModel)
|
3913
3957
|
break
|
3914
3958
|
case "input":
|
3915
3959
|
if (!IEVersion) { // W3C
|
3916
|
-
|
3960
|
+
bound("input", updateVModel)
|
3917
3961
|
//非IE浏览器才用这个
|
3918
|
-
|
3919
|
-
|
3920
|
-
|
3921
|
-
} else {
|
3962
|
+
bound("compositionstart", compositionStart)
|
3963
|
+
bound("compositionend", compositionEnd)
|
3964
|
+
bound("DOMAutoComplete", updateVModel)
|
3965
|
+
} else {
|
3922
3966
|
// IE下通过selectionchange事件监听IE9+点击input右边的X的清空行为,及粘贴,剪切,删除行为
|
3923
3967
|
if (IEVersion > 8) {
|
3924
|
-
|
3968
|
+
if (IEVersion === 9) {
|
3969
|
+
//IE9删除字符后再失去焦点不会同步 #1167
|
3970
|
+
bound("keyup", updateVModel)
|
3971
|
+
}
|
3972
|
+
bound("input", updateVModel) //IE9使用propertychange无法监听中文输入改动
|
3925
3973
|
} else {
|
3926
|
-
|
3974
|
+
//onpropertychange事件无法区分是程序触发还是用户触发
|
3975
|
+
//IE6-8下第一次修改时不会触发,需要使用keydown或selectionchange修正
|
3976
|
+
bound("propertychange", function (e) {
|
3927
3977
|
if (e.propertyName === "value") {
|
3928
3978
|
updateVModel()
|
3929
3979
|
}
|
3930
3980
|
})
|
3931
3981
|
}
|
3932
|
-
|
3982
|
+
bound("dragend", function () {
|
3933
3983
|
setTimeout(function () {
|
3934
3984
|
updateVModel()
|
3935
3985
|
}, 17)
|
@@ -3939,7 +3989,7 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3939
3989
|
}
|
3940
3990
|
break
|
3941
3991
|
case "select":
|
3942
|
-
|
3992
|
+
bound("change", function () {
|
3943
3993
|
var val = avalon(elem).val() //字符串或字符串数组
|
3944
3994
|
if (Array.isArray(val)) {
|
3945
3995
|
val = val.map(function (v) {
|
@@ -3956,7 +4006,7 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3956
4006
|
}
|
3957
4007
|
}
|
3958
4008
|
})
|
3959
|
-
|
4009
|
+
bound("datasetchanged", function (e) {
|
3960
4010
|
if (e.bubble === "selectDuplex") {
|
3961
4011
|
var value = binding._value
|
3962
4012
|
var curValue = Array.isArray(value) ? value.map(String) : value + ""
|
@@ -3969,17 +4019,17 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3969
4019
|
}
|
3970
4020
|
if (binding.xtype === "input" && !rnoduplexInput.test(elem.type)) {
|
3971
4021
|
if (elem.type !== "hidden") {
|
3972
|
-
|
4022
|
+
bound("focus", function () {
|
3973
4023
|
elem.msFocus = true
|
3974
4024
|
})
|
3975
|
-
|
4025
|
+
bound("blur", function () {
|
3976
4026
|
elem.msFocus = false
|
3977
4027
|
})
|
3978
4028
|
}
|
3979
4029
|
elem.avalonSetter = updateVModel //#765
|
3980
4030
|
watchValueInTimer(function () {
|
3981
|
-
if (
|
3982
|
-
if (!this.msFocus
|
4031
|
+
if (avalon.contains(root, elem)) {
|
4032
|
+
if (!this.msFocus) {
|
3983
4033
|
updateVModel()
|
3984
4034
|
}
|
3985
4035
|
} else if (!elem.msRetain) {
|
@@ -4016,7 +4066,7 @@ var duplexBinding = avalon.directive("duplex", {
|
|
4016
4066
|
} catch (e) {
|
4017
4067
|
}
|
4018
4068
|
}
|
4019
|
-
elem.value =
|
4069
|
+
elem.value = binding.oldValue = curValue
|
4020
4070
|
if (fixCaret) {
|
4021
4071
|
setCaret(elem, pos, pos)
|
4022
4072
|
}
|
@@ -4054,16 +4104,13 @@ var duplexBinding = avalon.directive("duplex", {
|
|
4054
4104
|
}
|
4055
4105
|
break
|
4056
4106
|
}
|
4057
|
-
if (binding.xtype !== "select") {
|
4058
|
-
binding.changed.call(elem, curValue, binding)
|
4059
|
-
}
|
4060
4107
|
}
|
4061
4108
|
})
|
4062
4109
|
|
4063
4110
|
if (IEVersion) {
|
4064
4111
|
avalon.bind(DOC, "selectionchange", function (e) {
|
4065
|
-
var el = DOC.activeElement
|
4066
|
-
if (el &&
|
4112
|
+
var el = DOC.activeElement || {}
|
4113
|
+
if (!el.msFocus && el.avalonSetter) {
|
4067
4114
|
el.avalonSetter()
|
4068
4115
|
}
|
4069
4116
|
})
|
@@ -4149,7 +4196,7 @@ new function () { // jshint ignore:line
|
|
4149
4196
|
var bproto = HTMLTextAreaElement.prototype
|
4150
4197
|
function newSetter(value) { // jshint ignore:line
|
4151
4198
|
setters[this.tagName].call(this, value)
|
4152
|
-
if (!this.msFocus && this.avalonSetter
|
4199
|
+
if (!this.msFocus && this.avalonSetter) {
|
4153
4200
|
this.avalonSetter()
|
4154
4201
|
}
|
4155
4202
|
}
|
@@ -4171,7 +4218,8 @@ new function () { // jshint ignore:line
|
|
4171
4218
|
watchValueInTimer = avalon.tick
|
4172
4219
|
}
|
4173
4220
|
} // jshint ignore:line
|
4174
|
-
function getCaret(ctrl
|
4221
|
+
function getCaret(ctrl) {
|
4222
|
+
var start = NaN, end = NaN
|
4175
4223
|
if (ctrl.setSelectionRange) {
|
4176
4224
|
start = ctrl.selectionStart
|
4177
4225
|
end = ctrl.selectionEnd
|
@@ -4188,14 +4236,11 @@ function getCaret(ctrl, start, end) {
|
|
4188
4236
|
function setCaret(ctrl, begin, end) {
|
4189
4237
|
if (!ctrl.value || ctrl.readOnly)
|
4190
4238
|
return
|
4191
|
-
if (ctrl.createTextRange) {//IE6-
|
4192
|
-
|
4193
|
-
|
4194
|
-
|
4195
|
-
|
4196
|
-
// range.moveEnd("character", end) #1125
|
4197
|
-
range.select()
|
4198
|
-
}, 17)
|
4239
|
+
if (ctrl.createTextRange) {//IE6-8
|
4240
|
+
var range = ctrl.createTextRange()
|
4241
|
+
range.collapse(true)
|
4242
|
+
range.moveStart("character", begin)
|
4243
|
+
range.select()
|
4199
4244
|
} else {
|
4200
4245
|
ctrl.selectionStart = begin
|
4201
4246
|
ctrl.selectionEnd = end
|
@@ -4383,7 +4428,7 @@ function upperFirstChar(str) {
|
|
4383
4428
|
}
|
4384
4429
|
var effectBuffer = new Buffer()
|
4385
4430
|
function Effect() {
|
4386
|
-
}
|
4431
|
+
}//动画实例,做成类的形式,是为了共用所有原型方法
|
4387
4432
|
|
4388
4433
|
Effect.prototype = {
|
4389
4434
|
contrustor: Effect,
|
@@ -4406,7 +4451,7 @@ Effect.prototype = {
|
|
4406
4451
|
callEffectHook(me, "abort" + upperFirstChar(oppositeName))
|
4407
4452
|
callEffectHook(me, "before" + upperFirstChar(name))
|
4408
4453
|
if (!isLeave)
|
4409
|
-
before(el)
|
4454
|
+
before(el) //这里可能做插入DOM树的操作,因此必须在修改类名前执行
|
4410
4455
|
var cssCallback = function (cancel) {
|
4411
4456
|
el.removeEventListener(me.cssEvent, me.cssCallback)
|
4412
4457
|
if (isLeave) {
|
@@ -4525,7 +4570,6 @@ avalon.mix(avalon.effect, {
|
|
4525
4570
|
}
|
4526
4571
|
})
|
4527
4572
|
|
4528
|
-
|
4529
4573
|
avalon.directive("html", {
|
4530
4574
|
update: function (val) {
|
4531
4575
|
var binding = this
|
@@ -4633,7 +4677,7 @@ avalon.directive("if", {
|
|
4633
4677
|
elem.required = false
|
4634
4678
|
elem.setAttribute("_required", "true")
|
4635
4679
|
}
|
4636
|
-
try {
|
4680
|
+
try {//如果不支持querySelectorAll或:required,可以直接无视
|
4637
4681
|
avalon.each(elem.querySelectorAll(":required"), function (el) {
|
4638
4682
|
elem.required = false
|
4639
4683
|
el.setAttribute("_required", "true")
|
@@ -4669,8 +4713,6 @@ avalon.directive("if", {
|
|
4669
4713
|
}
|
4670
4714
|
})
|
4671
4715
|
|
4672
|
-
|
4673
|
-
|
4674
4716
|
//ms-important绑定已经在scanTag 方法中实现
|
4675
4717
|
var rnoscripts = /<noscript.*?>(?:[\s\S]+?)<\/noscript>/img
|
4676
4718
|
var rnoscriptText = /<noscript.*?>([\s\S]+?)<\/noscript>/im
|
@@ -4790,7 +4832,7 @@ avalon.directive("include", {
|
|
4790
4832
|
return nodesToFrag(nodes)
|
4791
4833
|
}
|
4792
4834
|
} else {
|
4793
|
-
before = function () {
|
4835
|
+
before = function () {//新添加元素的动画
|
4794
4836
|
target.insertBefore(fragment, binding.end)
|
4795
4837
|
scanNodeArray(nodes, vmodels)
|
4796
4838
|
}
|
@@ -5026,7 +5068,7 @@ avalon.directive("repeat", {
|
|
5026
5068
|
}
|
5027
5069
|
|
5028
5070
|
//重写proxy
|
5029
|
-
if (this.enterCount === 1) {
|
5071
|
+
if (this.enterCount === 1) {//防止多次进入,导致位置不对
|
5030
5072
|
proxy.$active = false
|
5031
5073
|
proxy.$oldIndex = proxy.$index
|
5032
5074
|
proxy.$active = true
|
@@ -5039,7 +5081,7 @@ avalon.directive("repeat", {
|
|
5039
5081
|
proxy.$last = i === length - 1
|
5040
5082
|
// proxy[param] = value[i]
|
5041
5083
|
} else {
|
5042
|
-
proxy.$val = toJson(value[keyOrId])
|
5084
|
+
proxy.$val = toJson(value[keyOrId]) //这里是处理vm.object = newObject的情况
|
5043
5085
|
}
|
5044
5086
|
proxies.push(proxy)
|
5045
5087
|
}
|
@@ -5090,7 +5132,7 @@ avalon.directive("repeat", {
|
|
5090
5132
|
} else if (proxy.$index !== proxy.$oldIndex) {
|
5091
5133
|
(function (proxy2, preElement) {
|
5092
5134
|
staggerIndex = mayStaggerAnimate(binding.effectEnterStagger, function () {
|
5093
|
-
var curNode = removeItem(proxy2.$anchor)
|
5135
|
+
var curNode = removeItem(proxy2.$anchor)//如果位置被挪动了
|
5094
5136
|
var inserted = avalon.slice(curNode.childNodes)
|
5095
5137
|
parent.insertBefore(curNode, preElement.nextSibling)
|
5096
5138
|
animateRepeat(inserted, 1, binding)
|
@@ -5326,9 +5368,11 @@ function proxyRecycler(cache, key, param) {
|
|
5326
5368
|
delete cache[key]
|
5327
5369
|
}
|
5328
5370
|
}
|
5371
|
+
|
5329
5372
|
/*********************************************************************
|
5330
5373
|
* 各种指令 *
|
5331
5374
|
**********************************************************************/
|
5375
|
+
|
5332
5376
|
//ms-skip绑定已经在scanTag 方法中实现
|
5333
5377
|
avalon.directive("text", {
|
5334
5378
|
update: function (value) {
|
@@ -5375,7 +5419,7 @@ avalon.directive("visible", {
|
|
5375
5419
|
var binding = this, elem = this.element, stamp
|
5376
5420
|
var noEffect = !this.effectName
|
5377
5421
|
if (!this.stamp) {
|
5378
|
-
stamp = this.stamp = +new Date
|
5422
|
+
stamp = this.stamp = +new Date()
|
5379
5423
|
if (val) {
|
5380
5424
|
elem.style.display = binding.display || ""
|
5381
5425
|
if (avalon(elem).css("display") === "none") {
|
@@ -5386,7 +5430,7 @@ avalon.directive("visible", {
|
|
5386
5430
|
}
|
5387
5431
|
return
|
5388
5432
|
}
|
5389
|
-
stamp = this.stamp = +new Date
|
5433
|
+
stamp = this.stamp = +new Date()
|
5390
5434
|
if (val) {
|
5391
5435
|
avalon.effect.apply(elem, 1, function () {
|
5392
5436
|
if (stamp !== binding.stamp)
|
@@ -5414,8 +5458,9 @@ avalon.directive("visible", {
|
|
5414
5458
|
})
|
5415
5459
|
|
5416
5460
|
/*********************************************************************
|
5417
|
-
* 自带过滤器
|
5461
|
+
* 自带过滤器 *
|
5418
5462
|
**********************************************************************/
|
5463
|
+
|
5419
5464
|
var rscripts = /<script[^>]*>([\S\s]*?)<\/script\s*>/gim
|
5420
5465
|
var ron = /\s+(on[^=\s]+)(?:=("[^"]*"|'[^']*'|[^\s>]+))?/g
|
5421
5466
|
var ropen = /<\w+\b(?:(["'])[^"]*?(\1)|[^>])*>/ig
|
@@ -5429,10 +5474,10 @@ var rnoalphanumeric = /([^\#-~| |!])/g;
|
|
5429
5474
|
|
5430
5475
|
function numberFormat(number, decimals, point, thousands) {
|
5431
5476
|
//form http://phpjs.org/functions/number_format/
|
5432
|
-
//number
|
5433
|
-
//decimals
|
5434
|
-
//point
|
5435
|
-
//thousands
|
5477
|
+
//number 必需,要格式化的数字
|
5478
|
+
//decimals 可选,规定多少个小数位。
|
5479
|
+
//point 可选,规定用作小数点的字符串(默认为 . )。
|
5480
|
+
//thousands 可选,规定用作千位分隔符的字符串(默认为 , ),如果设置了该参数,那么所有其他参数都是必需的。
|
5436
5481
|
number = (number + '')
|
5437
5482
|
.replace(/[^0-9+\-Ee.]/g, '')
|
5438
5483
|
var n = !isFinite(+number) ? 0 : +number,
|
@@ -5460,7 +5505,6 @@ function numberFormat(number, decimals, point, thousands) {
|
|
5460
5505
|
return s.join(dec)
|
5461
5506
|
}
|
5462
5507
|
|
5463
|
-
|
5464
5508
|
var filters = avalon.filters = {
|
5465
5509
|
uppercase: function(str) {
|
5466
5510
|
return str.toUpperCase()
|
@@ -5527,6 +5571,7 @@ var filters = avalon.filters = {
|
|
5527
5571
|
},
|
5528
5572
|
number: numberFormat
|
5529
5573
|
}
|
5574
|
+
|
5530
5575
|
/*
|
5531
5576
|
'yyyy': 4 digit representation of year (e.g. AD 1 => 0001, AD 2010 => 2010)
|
5532
5577
|
'yy': 2 digit representation of year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)
|
@@ -5761,68 +5806,42 @@ new function() {// jshint ignore:line
|
|
5761
5806
|
locate.SHORTMONTH = locate.MONTH
|
5762
5807
|
filters.date.locate = locate
|
5763
5808
|
}// jshint ignore:line
|
5809
|
+
|
5764
5810
|
/*********************************************************************
|
5765
|
-
*
|
5811
|
+
* END *
|
5766
5812
|
**********************************************************************/
|
5767
5813
|
|
5768
|
-
|
5769
|
-
|
5770
|
-
|
5771
|
-
|
5772
|
-
var
|
5773
|
-
|
5774
|
-
|
5775
|
-
|
5776
|
-
|
5777
|
-
while (fn = readyList.shift()) {
|
5778
|
-
fn(avalon)
|
5814
|
+
new function () {
|
5815
|
+
avalon.config({
|
5816
|
+
loader: false
|
5817
|
+
})
|
5818
|
+
var fns = [], loaded = DOC.readyState === "complete", fn
|
5819
|
+
function flush(f) {
|
5820
|
+
loaded = 1
|
5821
|
+
while (f = fns.shift())
|
5822
|
+
f()
|
5779
5823
|
}
|
5780
|
-
}
|
5781
5824
|
|
5782
|
-
function
|
5783
|
-
|
5784
|
-
|
5785
|
-
|
5786
|
-
} catch (e) {
|
5787
|
-
setTimeout(doScrollCheck)
|
5788
|
-
}
|
5789
|
-
}
|
5825
|
+
avalon.bind(DOC, "DOMContentLoaded", fn = function () {
|
5826
|
+
avalon.unbind(DOC, "DOMContentLoaded", fn)
|
5827
|
+
flush()
|
5828
|
+
})
|
5790
5829
|
|
5791
|
-
|
5792
|
-
|
5793
|
-
|
5794
|
-
|
5795
|
-
} else {
|
5796
|
-
DOC.attachEvent("onreadystatechange", function () {
|
5797
|
-
if (DOC.readyState === "complete") {
|
5798
|
-
fireReady()
|
5830
|
+
var id = setInterval(function () {
|
5831
|
+
if (document.readyState === "complete" && document.body) {
|
5832
|
+
clearInterval(id)
|
5833
|
+
flush()
|
5799
5834
|
}
|
5800
|
-
})
|
5801
|
-
try {
|
5802
|
-
var isTop = window.frameElement === null
|
5803
|
-
} catch (e) {}
|
5804
|
-
if (root.doScroll && isTop && window.external) { //fix IE iframe BUG
|
5805
|
-
doScrollCheck()
|
5806
|
-
}
|
5807
|
-
}
|
5808
|
-
avalon.bind(window, "load", fireReady)
|
5835
|
+
}, 50)
|
5809
5836
|
|
5810
|
-
avalon.ready = function (fn) {
|
5811
|
-
|
5812
|
-
readyList.push(fn)
|
5813
|
-
} else {
|
5814
|
-
fn(avalon)
|
5837
|
+
avalon.ready = function (fn) {
|
5838
|
+
loaded ? fn(avalon) : fns.push(fn)
|
5815
5839
|
}
|
5840
|
+
avalon.ready(function () {
|
5841
|
+
avalon.scan(DOC.body)
|
5842
|
+
})
|
5816
5843
|
}
|
5817
5844
|
|
5818
|
-
avalon.config({
|
5819
|
-
loader: true
|
5820
|
-
})
|
5821
|
-
|
5822
|
-
avalon.ready(function () {
|
5823
|
-
avalon.scan(DOC.body)
|
5824
|
-
})
|
5825
|
-
|
5826
5845
|
|
5827
5846
|
// Register as a named AMD module, since avalon can be concatenated with other
|
5828
5847
|
// files that may use define, but not via a proper concatenation script that
|