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,3 +1,3 @@
|
|
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 r(){return Object.create(null)}function i(e){return Function.apply(o,e)}function o(){}function l(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 s(){if(e.VBArray){var t=document.documentMode;return t?t:e.XMLHttpRequest?7:6}return 0/0}function c(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 u(e,t){if(e&&e.childNodes)for(var n,a=e.childNodes,r=0;n=a[r++];)if(n.tagName){var i=Dt.createElementNS(on,n.tagName.toLowerCase());Wt.forEach.call(n.attributes,function(e){i.setAttribute(e.name,e.value)}),u(n,i),t.appendChild(i)}}function f(e){for(var t in e)if(Ut.call(e,t)){var n=e[t];"function"==typeof f.plugins[t]?f.plugins[t](n):"object"==typeof f[t]?avalon.mix(f[t],n):f[t]=n}return this}function d(e){return(e+"").replace(vn,"\\$&")}function p(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:Gt,type:"user-watcher",handler:o,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=o;var i=this;t.update=function(){var e=this.fireArgs||[];e[2]&&t.handler.apply(i,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=o,t.element=Dt.createElement("a")}}function v(e,t){var n=this.$events;if(n&&n[e]){t&&(t[2]=e);var a=n[e];m(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 h(e,t){for(;;){if(e.$watch){var n=e.$events||(e.$events={}),a=n[t]||(n[t]=[]);return void Cn.collectDependency(a)}if(e=e.$up,!e)break;t=e.$pathname+"."+t}}function m(e,t){if(e){new Date-An>444&&"object"==typeof e[0]&&H();for(var n,a=[],r=[],i=0;n=e[i++];)"user-watcher"===n.type?a.push(n):r.push(n);if(f.async){for(va.render(),i=0;n=r[i++];)if(n.update){var o=j(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 g(e,t){return t=t||{},t.watch=!0,b(e,t)}function y(){}function b(e,t){function a(e){return u[e]===!0}if(!e||e.$id&&e.$accessors||e.nodeName&&e.nodeType>0)return e;t=t||Bt;var r=t.force||Bt,i=t.old,o=i&&i.$accessors||Bt,s=new y,c={},u={},f=[],d=[],h={};e.$skipArray&&(h=l(e.$skipArray),delete e.$skipArray);var m=e.$computed;if(m){delete e.$computed;for(var g in m)u[g]=!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}}(g,m[g])}for(g in e){var b=e[g];gn[g]||(u[g]=!0),"function"==typeof b||b&&b.nodeName&&b.nodeType>0||!r[g]&&("$"===g.charAt(0)||gn[g]||h[g])?f.push(g):$(b)?(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}}(g,b)):(d.push(g),c[g]=o[g]?o[g]:x(g,b))}c.$model=yn,s=Object.defineProperties(s,c,e),f.forEach(function(t){s[t]=e[t]}),k(s,"$ups",null),k(s,"$id","anonymous"),k(s,"$up",i?i.$up:null),k(s,"$track",Object.keys(u)),k(s,"$active",!1),k(s,"$pathname",i?i.$pathname:""),k(s,"$accessors",c),k(s,"hasOwnProperty",a),t.watch&&(k(s,"$watch",function(){return p.apply(s,arguments)}),k(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])})),d.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(g in m)b=s[g];return s.$active=!0,s}function $(e){if(e&&"object"==typeof e){for(var t in e)if("get"!==t&&"set"!==t)return!1;return"function"==typeof e.get}}function x(e,t){var n,t=0/0;return{get:function(){return this.$active&&h(this,e),t},set:function(a){if(t!==a){var r=t;n=w(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 w(e,t,n,a){if(Array.isArray(e))return C(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 b(e,{old:t,watch:a})}return n?e:void 0}function C(e,t,n){if(t){var a=[0,t.length].concat(e);return t.splice.apply(t,a),t}for(var r in xn)e[r]=xn[r];k(e,"$up",null),k(e,"$pathname",""),k(e,"$track",E(e.length)),e._=b({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&&k(e,"$watch",function(){return p.apply(e,arguments)}),Object.defineProperty(e,"$model",yn);for(var i=0,o=e.length;o>i;i++){var l=e[i]=w(e[i],0,1,1);Object(l)===l&&(l.$up=e)}return e}function k(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!1,configurable:!0})}function N(e){var t=avalon.type(e);if("array"===t){for(var n=[],a=0;a<e.length;a++)n[a]=N(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:N(i)}return r}return e}function A(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 E(e){for(var t=[],n=0;e>n;n++)t[n]=Kt("$proxy$each");return t}function T(e,t,n){switch(t){case"push":case"unshift":n=E(n.length);break;case"splice":if(n.length>2){{n[1],n.length-2}n=[n[0],n[1]].concat(E(n.length-2))}}Array.prototype[t].apply(e,n)}function O(e,t){t.oneTime||e&&avalon.Array.ensure(e,t)&&t.element&&(S(t,e),new Date-An>444&&H())}function M(e,t){for(var n,a=[],r=0;n=e[r++];)a.push(t?n.$id:n.$key);return a.join(";")}function j(e){if(!e.uniqueNumber){var t=e.element;e.uniqueNumber=t?1!==t.nodeType?e.type+"-"+j(t.parentNode)+"-"+ ++kn:e.name+"-"+j(t):++kn}return e.uniqueNumber}function S(e,t){var n=e.lists||(e.lists=[]),a=j(e);avalon.Array.ensure(n,t),t.$uuid=t.$uuid||Kt(),Nn[a]||(Nn[a]=1,Nn.push(e))}function H(e){for(var t=Nn.length,n=t,a=[],r={},i={};e=Nn[--t];){var o=e.type;i[o]?i[o]++:(i[o]=1,a.push(o))}var l=!1;if(a.forEach(function(e){En[e]!==i[e]&&(r[e]=1,l=!0)}),t=n,l)for(;e=Nn[--t];)if(null!==e.element){if(r[e.type]&&L(e.element)){Nn.splice(t,1),delete Nn[e.uniqueNumber];for(var s,c=e.lists,u=0;s=c[u++];)avalon.Array.remove(c,s),avalon.Array.remove(s,e);D(e)}}else Nn.splice(t,1);En=i,An=new Date}function D(e){delete Nn[e.uniqueNumber],e.element=null,e.rollback&&e.rollback();for(var t in e)e[t]=null}function L(e){try{{e.parentNode.nodeType}}catch(t){return!0}return e.ifRemove&&!Gt.contains(e.ifRemove)&&Rt===e.parentNode?(e.parentNode&&e.parentNode.removeChild(e),!0):e.msRetain?0:1===e.nodeType?!Gt.contains(e):!avalon.contains(Gt,e)}function R(e){return e.replace(/([a-z\d])([A-Z]+)/g,"$1-$2").toLowerCase()}function q(e){return e.indexOf("-")<0&&e.indexOf("_")<0?e:e.replace(/[-_][^-_]/g,function(e){return e.charAt(1).toUpperCase()})}function B(e){try{if("object"==typeof e)return e;e="true"===e?!0:"false"===e?!1:"null"===e?null:+e+""===e?+e:Dn.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 F(e,t){if(e.offsetWidth<=0){var n=getComputedStyle(e,null);if(Pn.test(n.display)){var a={node:e};for(var r in Bn)a[r]=n[r],e.style[r]=Bn[r];t.push(a)}var i=e.parentNode;i&&1===i.nodeType&&F(i,t)}}function _(e){var t=e.tagName.toLowerCase();return"input"===t&&/checkbox|radio/.test(e.type)?"checked":t}function V(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(In.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=V(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 p=i(["return "+d])();n[c-1]=u+"."+p}catch(v){}}r="maybePath",l=f.i}}else if("]"===s){if(a)return n.i=l+t,I(n,o),n}else Un.test(s)&&"\r"!==s&&"\n"!==s?"variable"===r&&(I(n,o)&&(r="maybePath"),o=""):(I(n,o),r="unknown",o="")}return I(n,o),n}function I(e,t){return t&&!_n[t]?(e.push(t),!0):void 0}function U(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=V(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=Y(a.trim()));var r=z(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,U(r,t[u],d,n))}n.args=c;var p=n.type,v=t.map(function(e){return String(e.$id).replace(zn,"$1")})+e+p,h=Xn.get(v);if(h){if("duplex"===p){var m=Xn.get(v+"setter");n.setter=m.apply(m,n.args)}return n.getter=h}if(l.length||l.push("fix"+o),"duplex"===p){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=i(s.concat("'use strict';return function(vvv){"+e+" = vvv\n}\n"));Xn.put(v+"setter",y),n.setter=y.apply(y,n.args)}if("on"===p){-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)),Xn.put(v,h)}function X(e){var t=fn.test(e);if(t){var n=it(e);return 1===n.length?n[0].expr:n.map(function(e){return e.type?"("+e.expr+")":Qn(e.expr)}).join(" + ")}return e}function Y(e){return e=e.replace(Yn,"").replace(Gn,function(){return"],|"}).replace(Zn,function(e,t){return"["+Qn(t)}).replace(Jn,function(){return'"],["'}).replace(Kn,function(){return'",'})+"]",i(["return ["+e+"]"])()}function G(e,t,n){var a=setTimeout(function(){var r=e.innerHTML;clearTimeout(a),r===n?t():G(e,t,r)})}function Z(e,t){var n=e.getAttribute("avalonctrl")||t.$id;e.setAttribute("avalonctrl",n),t.$events&&(t.$events.expr=e.tagName+'[avalonctrl="'+n+'"]')}function J(e,t){for(var n,a=0;n=e[a++];)n.vmodels=t,an[n.type].init(n),avalon.injectBinding(n),n.getter&&1===n.element.nodeType&&n.element.removeAttribute(n.name);e.length=0}function K(e,t){return e.priority-t.priority}function Q(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(ra)))){var f=a[1],d=a[2]||"",p=i.value;if(ia[f]?(d=f,f="on"):oa[f]&&(d=f,f="attr",u="ms-"+f+"-"+d,n("warning!请改用"+u+"代替"+i.name+"!")),an[f]){var v=p.replace(aa,""),h=p!==v,m={type:f,param:d,element:e,name:u,expr:v,oneTime:h,priority:(an[f].priority||10*f.charCodeAt(0))+(Number(d.replace(/\D/g,""))||0)};if("html"===f||"text"===f){var g=rt(p).filters;m.expr=m.expr.replace(g,""),m.filters=g.replace(ua,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(K),y&&b&&"text"===e.type&&n("warning!一个控件不能同时定义ms-attr-value与"+y),c=0;m=l[c];c++){if(f=m.type,la.test(f))return J(l.slice(0,c+1),t);r&&(r=!sa.test(f))}J(l,t)}}r&&!ea[e.tagName]&&(na&&na(e),tt(e,t))}function et(e){for(var t,n=e.attributes,a={},r=0;t=n[r++];)t.specified&&!ca.test(t.name)&&(a[q(t.name)]=B(t.value));return a}function tt(e,t){var n=avalon.slice(e.childNodes);nt(n,t)}function nt(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=st(r);if(i){var o=r.localName?r.localName.replace(i+":",""):r.nodeName,l=i+":"+q(o);ha.push({library:i,element:r,fullName:l,widget:o,vmodels:t,name:"widget"}),avalon.components[l]&&avalon.component(l)}}at(n,t),n.msHasEvent&&avalon.fireDom(n,"datasetchanged",{bubble:n.msHasEvent});break;case 3:fn.test(n.nodeValue)&&ot(n,t,a)}}function at(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),Z(e,o)}Q(e,t)}}function rt(e){if(e.indexOf("|")>0){var t=e.replace(da,function(e){return Array(e.length+1).join("1")}),n=t.replace(fa,"ᄢ㍄").indexOf("|");if(n>-1)return{type:"text",filters:e.slice(n).trim(),expr:e.slice(0,n)}}return{type:"text",expr:e,filters:""}}function it(e){for(var t,n,a=[],r=0;;){if(n=e.indexOf(cn,r),-1===n)break;if(t=e.slice(r,n),t&&a.push({expr:t}),r=n+cn.length,n=e.indexOf(un,r),-1===n)break;t=e.slice(r,n),t&&a.push(rt(t,r)),r=n+un.length}return t=e.slice(r),t&&a.push({expr:t}),a}function ot(e,t,n){var a=[],r=it(e.data);if(r.length){for(var i,o=0;i=r[o++];){var l=Dt.createTextNode(i.expr);i.type&&(i.expr=i.expr.replace(aa,function(){return i.oneTime=!0,""}),i.element=l,i.filters=i.filters.replace(ua,function(){return i.type="html",""}),i.pos=1e3*n+o,a.push(i)),Zt.appendChild(l)}e.parentNode.replaceChild(Zt,e),a.length&&J(a,t)}}function lt(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 st(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 ct(e){return null==e?"":e}function ut(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 ft(){for(var e=Ea.length-1;e>=0;e--){var t=Ea[e];t()===!1&&Ea.splice(e,1)}Ea.length||clearInterval(Aa)}function dt(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=La.pop()||new ht;return r.el=e,r.driver=a,r.useCss="j"!==a,r.useCss&&(t&&avalon(e).addClass(t.effectClass),r.cssEvent="t"===a?Oa:Ma),r.name=n,r.callbacks=avalon.effects[n]||{},r}function pt(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 ht(){}function mt(e,t){var n=e.callbacks[t+"Class"];return"string"==typeof n?n:"function"==typeof n?n():e.name+"-"+t}function gt(e,t,n){var a=e.callbacks[t];a&&a.call(e,e.el,n)}function yt(e,t,n){var a=e.templateCache&&e.templateCache[t];if(a){for(var r,i=Dt.createDocumentFragment();r=a.firstChild;)i.appendChild(r);return i}return avalon.parseHTML(n)}function bt(e){for(var t=Dt.createDocumentFragment(),n=0,a=e.length;a>n;n++)t.appendChild(e[n]);return t}function $t(e,t,n){for(var a,r=0;a=e[r++];)a.className===n.effectClass&&avalon.effect.apply(a,t,o,o,n)}function xt(e,t,n){return e?setTimeout(t,++n*e):t(),n}function wt(e,t){for(var n=Zt.cloneNode(!1),a=e,r=a.nodeValue,i=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=xt(t.effectLeaveStagger,function(){avalon.effect.apply(e,0,o,function(){n.appendChild(e)},t)},i)}(c)):n.insertBefore(c,n.firstChild)}return n.appendChild(a),n}function Ct(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 kt(e){var t="object"===e.xtype?Tt:Nt,n=t(e),a=n.$anchor||(n.$anchor=e.element.cloneNode(!1));return a.nodeValue=e.signature,n.$outer=e.$outer,n}function Nt(e,t){for(var n=e.param||"el",a=0,r=Va.length;r>a;a++){var i=Va[a];if(i&&i.hasOwnProperty(n)){Va.splice(a,1),t=i;break}}return t||(t=At(n)),t}function At(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=g(t,{force:n});return a.$id=Kt("$proxy$each"),a}function Et(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 Ia.pop()||Ot()}function Ot(){var e=g({$key:"",$val:0/0,$index:0,$oldIndex:0,$outer:{},$anchor:null},{force:{$key:1,$val:1,$index:1}});return e.$id=Kt("$proxy$with"),e}function Mt(e,t,n){var a=e[t];if(a){var r=0===a.$id.indexOf("$proxy$each")?Va:Ia;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)>f.maxRepeatSize&&r.pop(),delete e[t]}}function jt(e,t){var n="_"+e;if(!jt[n]){var a=Dt.createElement(e);Gt.appendChild(a),t=Yt?getComputedStyle(a,null).display:a.currentStyle.display,Gt.removeChild(a),jt[n]=t}return jt[n]}function St(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 Ht=Date.now(),Dt=e.document,Lt=Dt.head;Lt.insertAdjacentHTML("afterBegin",'<avalon ms-skip class="avalonHide"><style id="avalonStyle">.avalonHide{ display: none!important }</style></avalon>');var Rt=Lt.firstChild,qt="$"+Ht,Bt={},Pt=/[^, ]+/g,Ft=/\w+/g,_t=/^\[object SVG\w*Element\]$/,Vt=/^\[object (?:Window|DOMWindow|global)\]$/,It=Object.prototype,Ut=It.hasOwnProperty,zt=It.toString,Wt=Array.prototype,Xt=Wt.slice,Yt=e.dispatchEvent,Gt=Dt.documentElement,Zt=Dt.createDocumentFragment(),Jt=(Dt.createElement("div"),{});"Boolean Number String Function Array Date RegExp Object Error".replace(Pt,function(e){Jt["[object "+e+"]"]=e.toLowerCase()});var Kt=function(e){return e=e||"avalon",String(Math.random()+Math.random()).replace(/\d\.\d{4}/,e)},Qt=s();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?Jt[zt.call(e)]||"object":typeof e};var en=function(e){return"[object Function]"===zt.call(e)};avalon.isFunction=en,avalon.isWindow=function(e){return Vt.test(zt.call(e))},avalon.isPlainObject=function(e){return"[object Object]"===zt.call(e)&&Object.getPrototypeOf(e)===It},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||en(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:qt,version:1.55,ui:{},log:n,slice:function(e,t,n){return Xt.call(e,t,n)},noop:o,error:function(e,t){throw new(t||Error)(e)},oneObject:l,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,i=r[t],l=n||o;"object"==typeof i&&(t=i.type||t,a=i.phase||!!a),e.removeEventListener(t,l,a)},css:function(e,t,n){e instanceof avalon&&(e=e[0]);var a,r=/[_-]/.test(t)?q(t):t;if(t=avalon.cssName(r)||r,void 0===n||"boolean"==typeof n){a=Ln[r+":get"]||Ln["@: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=Ln[r+":set"]||Ln["@:set"],a(e,t,n)}},each:function(e,t){if(e){var n=0;if(c(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 tn=avalon.bindingHandlers={},nn=avalon.bindingExecutors={},an=avalon.directives={};avalon.directive=function(e,t){return tn[e]=t.init=t.init||o,nn[e]=t.update=t.update||o,an[e]=t};var rn=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(Dt.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 on="http://www.w3.org/2000/svg",ln=Dt.createElementNS(on,"svg");ln.innerHTML='<circle cx="50" cy="50" r="40" fill="red" />',_t.test(ln.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=Dt.createDocumentFragment();u(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);u(t,this)}}}})}var sn=avalon.eventHooks;"onmouseenter"in Gt||avalon.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){sn[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]&&!sn.animationend&&(sn.animationend={type:n})}),void 0===Dt.onmousewheel&&(sn.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 cn,un,fn,dn,pn,vn=/[-.*+?^${}()|[\]\/\\]/g,hn={interpolate:function(e){if(cn=e[0],un=e[1],cn===un){throw new SyntaxError("openTag!==closeTag")}f.openTag=cn,f.closeTag=un;var t=d(cn),n=d(un);fn=new RegExp(t+"(.*?)"+n),dn=new RegExp(t+"(.*?)"+n,"g"),pn=new RegExp(t+".*?"+n+"|\\sms-")}};f.async=!0,f.debug=!0,f.plugins=hn,f.plugins.interpolate(["{{","}}"]),f.paths={},f.shim={},f.maxRepeatSize=100,avalon.config=f;var mn=avalon.vmodels={};avalon.define=function(e){var t=e.$id;t||n("warning: vm必须指定$id");var a=g(e);return a.$id=t,mn[t]=a};var gn=l("$id,$watch,$fire,$events,$model,$skipArray,$active,$pathname,$up,$ups,$track,$accessors"),yn={get:function(){return N(this)},set:o,enumerable:!1,configurable:!0},bn=["push","pop","shift","unshift","splice"],$n=Array.prototype,xn={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])&&(wn.call(this.$track,t,1),wn.call(this,t,1));else if("function"==typeof e)for(t=this.length-1;t>=0;t--){var n=this[t];e(n,t)&&(wn.call(this.$track,t,1),wn.call(this,t,1))}else wn.call(this.$track,0,this.length),wn.call(this,0,this.length);Yt||(this.$model=N(this)),this.notify(),this._.length=this.length},clear:function(){return this.removeAll()}},wn=$n.splice;bn.forEach(function(e){var t=$n[e];xn[e]=function(){for(var n=[],a=0,r=arguments.length;r>a;a++)n[a]=w(arguments[a],0,1,1);var i=t.apply(this,n);return T(this.$track,e,n),Yt||(this.$model=N(this)),this.notify(),this._.length=this.length,i}}),"sort,reverse".replace(Pt,function(e){xn[e]=function(){var t=this.concat(),n=this,a=Math.random(),r=[],i=!1;$n[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&&(A(this.$track,r),Yt||(this.$model=N(this)),this.notify()),this}});var Cn=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||an[e.type].update||o,e.update=function(){var t=!1;e.getter||(t=!0,Cn.begin({callback:function(t){O(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=Za.$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=M(e.proxies||[],o),s=a.$track||("array"===o?E(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=cn+(e.oneTime?"::":"")+e.expr+un)}finally{t&&Cn.end()}},e.update()};var kn=0,Nn=avalon.$$subscribers=[],An=new Date,En={},Tn=new function(){avalon.mix(this,{option:Dt.createElement("select"),thead:Dt.createElement("table"),td:Dt.createElement("tr"),area:Dt.createElement("map"),tr:Dt.createElement("tbody"),col:Dt.createElement("colgroup"),legend:Dt.createElement("fieldset"),_default:Dt.createElement("div"),g:Dt.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){Tn[e]=Tn.g});var On=/<([\w:]+)/,Mn=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jn=l(["","text/javascript","text/ecmascript","application/ecmascript","application/javascript"]),Sn=Dt.createElement("script"),Hn=/<|&#?\w+;/;avalon.parseHTML=function(e){var t=Zt.cloneNode(!1);if("string"!=typeof e)return t;if(!Hn.test(e))return t.appendChild(Dt.createTextNode(e)),t;e=e.replace(Mn,"<$1></$2>").trim();var n,a=(On.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(jn[o.type]){var s=Sn.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(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-"+R(e||""),arguments.length){case 2:return this.attr(e,t),this;case 1:var n=this.attr(e);return B(n);case 0:var a={};return Wt.forEach.call(this[0].attributes,function(t){t&&(e=t.name,e.indexOf("data-")||(e=q(e.slice(5)),a[e]=B(t.value)))}),a}},removeData:function(e){return e="data-"+R(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||Gt)},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[_(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}}),Gt.dataset&&(avalon.fn.data=function(e,t){e=e&&q(e);var n=this[0].dataset;switch(arguments.length){case 2:return n[e]=t,this;case 1:return t=n[e],B(t);case 0:var a=r();for(e in n)a[e]=B(n[e]);return a}});var Dn=/(?:\{[\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=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 Ln=avalon.cssHooks=r(),Rn=["","-webkit-","-moz-","-ms-"],qn={"float":"cssFloat"};avalon.cssNumber=l("animationIterationCount,animationIterationCount,columnCount,order,flex,flexGrow,flexShrink,fillOpacity,fontWeight,lineHeight,opacity,orphans,widows,zIndex,zoom"),avalon.cssName=function(e,t,n){if(qn[e])return qn[e];t=t||Gt.style;for(var a=0,r=Rn.length;r>a;a++)if(n=q(Rn[a]+e),n in t)return qn[e]=n;return null},Ln["@:set"]=function(e,t,n){e.style[t]=n},Ln["@: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},Ln["opacity:get"]=function(e){var t=Ln["@:get"](e,"opacity");return""===t?"1":t},"top,left".replace(Pt,function(e){Ln[e+":get"]=function(t){var n=Ln["@:get"](t,e);return/px$/.test(n)?n:avalon(t).position()[e]+"px"}});var Bn={position:"absolute",visibility:"hidden",display:"block"},Pn=/^(none|table(?!-c[ea]).+)/;"Width,Height".replace(Pt,function(e){var t=e.toLowerCase(),n="client"+e,a="scroll"+e,r="offset"+e;Ln[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)},Ln[t+"&get"]=function(e){var n=[];F(e,n);for(var a,r=Ln[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 Ln[t+"&get"](o)}return this.css(t,i)},avalon.fn["inner"+e]=function(){return Ln[t+":get"](this[0],void 0,-2)},avalon.fn["outer"+e]=function(e){return Ln[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)}},_n={},Vn=["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(",");Vn.replace(/\w+/g,function(e){_n[e]=!0});var In=/[a-z_$]/i,Un=/[\s\uFEFF\xA0]/,zn=/(\$proxy\$[a-z]+)\d+$/,Wn=new rn(218),Xn=new rn(128);avalon.normalizeExpr=X,avalon.parseExprProxy=W;var Yn=/\)\s*$/,Gn=/\)\s*\|/g,Zn=/\|\s*([$\w]+)/g,Jn=/"\s*\["/g,Kn=/"\s*\(/g,Qn=JSON.stringify;avalon.scan=function(e,t){e=e||Gt;var n=t?[].concat(t):[];at(e,n)};var ea=l("area,base,basefont,br,col,command,embed,hr,img,input,link,meta,param,source,track,wbr,noscript,script,style,textarea".toUpperCase()),ta=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]},na=Qt&&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,aa=/^\s*::/,ra=/ms-(\w+)-?(.*)/,ia=l("animationend,blur,change,input,click,dblclick,focus,keydown,keypress,keyup,mousedown,mouseenter,mouseleave,mousemove,mouseout,mouseover,mouseup,scan,scroll,submit"),oa=l("value,title,alt,checked,selected,disabled,readonly,enabled,href,src"),la=/^if|widget|repeat$/,sa=/^each|with|html|include$/,ca=/^(ms-\S+|data-\S+|on[a-z]+|id|style|class|tabindex)$/,ua=/\|\s*html(?:\b|$)/,fa=/\|\|/g,da=/(['"])(\\\1|.)+?\1/g,pa=function(){this.queue=[]};pa.prototype={render:function(e){if(!this.locked){this.locked=e?Gt.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 pa,ha=[],ma=[],ga={$construct:function(){return avalon.mix.apply(null,arguments)},$ready:o,$init:o,$dispose:o,$container:null,$childReady:o,$replace:!1,$extend:null,$$template:function(e){return e}};avalon.components={},avalon.component=function(t,n){n&&(avalon.components[t]=avalon.mix({},ga,n));for(var a,r=0;a=ha[r];r++)t===a.fullName&&(ha.splice(r,1),r--,function(n,a,r,i){var o=1,l=n.library,s=avalon.libraries[l]||ga,c=et(r),u=lt(n.vmodels,c.config||n.widget),f=c.$id||c.identifier||Kt(i);delete c.config,delete c.$id,delete c.identifier;var d={},p=avalon.components[a.$extend];p?(avalon.mix(!0,d,p),d=p.$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 v=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")||v;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=Zt.cloneNode(!0),E=0;b=N[E++];)A.appendChild(b);y[C]=A}w[C]=null}w=null;var T=r.firstChild;h&&(T=r.firstChild,r.parentNode.replaceChild(T,r),T.msResolved=1,r=n.element=T),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]},S(n,ma),e.chrome&&r.addEventListener("DOMNodeRemovedFromDocument",function(){setTimeout(H)})}});if(at(r,[y].concat(n.vmodels)),avalon.vmodels[y.$id]=y,r.childNodes.length)var j=setTimeout(function(){clearTimeout(j),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(Dt.createEvent){var a=Dt.createEvent("Events");a.initEvent(t,!0,!0,n),avalon.mix(a,n),e.dispatchEvent(a)}else Gt.contains(e)&&(a=Dt.createEventObject(),avalon.mix(a,n),e.fireEvent("on"+t,a))},avalon.libraries=[],avalon.library=function(e,t){Dt.namespaces&&Dt.namespaces.add(e,"http://www.w3.org/1999/xhtml"),avalon.libraries[e]=avalon.mix({$init:o,$ready:o,$dispose:o},t||{})},avalon.library("ms");var ya=["autofocus,autoplay,async,allowTransparency,checked,controls","declare,disabled,defer,defaultChecked,defaultSelected","contentEditable,isMap,loop,multiple,noHref,noResize,noShade","open,readOnly,selected"].join(","),ba={};ya.replace(Pt,function(e){ba[e.toLowerCase()]=e});var $a={"accept-charset":"acceptCharset","char":"ch",charoff:"chOff","class":"className","for":"htmlFor","http-equiv":"httpEquiv"},xa=["accessKey,bgColor,cellPadding,cellSpacing,codeBase,codeType,colSpan","dateTime,defaultValue,frameBorder,longDesc,maxLength,marginWidth,marginHeight","rowSpan,tabIndex,useMap,vSpace,valueType,vAlign"].join(",");xa.replace(Pt,function(e){$a[e.toLowerCase()]=e});var wa=avalon.directive("attr",{init:function(e){if(e.expr=X(e.expr.trim()),"include"===e.type){var t=e.element;pt(t,e),e.includeRendered=ta(t,"data-include-rendered",e.vmodels),e.includeLoaded=ta(t,"data-include-loaded",e.vmodels);var n=e.includeReplace=!!avalon(t).data("includeReplace");avalon(t).data("includeCache")&&(e.templateCache={}),e.start=Dt.createComment("ms-include"),e.end=Dt.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||Gt.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&&$a[a]&&(a=$a[a]);var l=ba[a];if("boolean"==typeof n[l]&&(n[l]=!!t,t||(o=!0)),o)return n.removeAttribute(a);var s=_t.test(n)?!1:Dt.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){an[e]=wa}),avalon.directive("class",{init:function(e){var t=e.param,a=e.type;if(!t||isFinite(t)?(e.param="",an.effect.init(e)):(n("ms-"+a+'-xxx="yyy"这种用法已经过时,请使用ms-'+a+'="xxx:yyy"'),e.expr="["+Qn(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){an[e]=an["class"]}),avalon.directive("css",{init:an.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 Ca=/^(?:checkbox|radio)$/,ka=/^(?:radio|checked)$/,Na=/^(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 i(){d=!1}var s=e.element,c=e.vmodels;e.changed=ta(s,"data-duplex-changed",c)||o;var u=[],f=l("string,number,boolean,checked");"radio"===s.type&&""===e.param&&(e.param="checked"),e.param.replace(Ft,function(a){Ca.test(s.type)&&ka.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,p=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",p);break;case"input":Qt?e.bound("input",p):(e.bound("input",p),e.bound("compositionstart",r),e.bound("compositionend",i),e.bound("DOMAutoComplete",p));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||Na.test(s.type)||("hidden"!==s.type&&(e.bound("focus",function(){s.msFocus=!0}),e.bound("blur",function(){s.msFocus=!1})),s.avalonSetter=p,Ta(function(){if(Gt.contains(s))s.msFocus||e.oldValue===s.value||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=ut);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:ct},"boolean":{get:function(e){return"true"===e},set:ct},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:ct}};var Aa,Ea=[];avalon.tick=function(e){1===Ea.push(e)&&(Aa=setInterval(ft,60))};var Ta=o;!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(dn,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=fn.test(a)?X(t):Qn(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&&(ja||Sa)){var l=r[Ha]||i[Ha];l&&"0s"!==l&&(a.setAttribute("data-effect-driver","t"),o=!0),o||(l=r[Da]||i[Da],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 Oa,Ma,ja=!1,Sa=!1,Ha=avalon.cssName("transition-duration"),Da=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&&(ja=!0,Oa=t),n={AnimationEvent:"animationend",WebKitAnimationEvent:"webkitAnimationEnd"};var i;for(a in n)if(e[a]){i=n[a];break}"string"==typeof i&&(ja=!0,Ma=i)};var La=[],Ra=new pa;ht.prototype={contrustor:ht,enterClass:function(){return mt(this,"enter")},leaveClass:function(){return mt(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";gt(a,"abort"+vt(o)),gt(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&&(gt(a,"after"+vt(e)),n&&n(r)),a.dispose()};a.useCss?(a.cssCallback&&a.cssCallback(!0),a.cssClass=mt(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),Ra.render(!0),Ra.queue.push(a)):gt(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,La.unshift(this)>100&&La.pop()}};var qa=function(e,t){var n=Xt.call(arguments,0);"function"!=typeof n[2]&&n.splice(2,0,o),"function"!=typeof n[3]&&n.splice(3,0,o);var a=n[2],r=n[3],i=n[4],l=dt(e,i);if(!l)return a(),r(),!1;var s=t?"enter":"leave";l[s](a,r)};avalon.mix(avalon.effect,{apply:qa,append:function(e,t,n,a){return qa(e,1,function(){t.appendChild(e)},n,a)},before:function(e,t,n,a){return qa(e,1,function(){t.parentNode.insertBefore(e,t)},n,a)},remove:function(e,t,n,a){return qa(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=Kt("html");r.insertBefore(Dt.createComment(i),n),t.element=Dt.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=Zt.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);nt(l,t.vmodels)}}}),avalon.directive("if",{priority:10,update:function(e){function t(){r.getAttribute(a.name)&&(r.removeAttribute(a.name),Q(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=Dt.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,Rt.appendChild(r),a.rollback=function(){r.parentNode===Rt&&Rt.removeChild(r)})},o)}}});var Ba=function(){return new e.XMLHttpRequest},Pa=avalon.templateCache={};avalon.directive("include",{init:an.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 p=c.apply(u,[n].concat(r));"string"==typeof p&&(n=p)}i&&G(u,function(){i.call(u)},0/0);var v=t.includeLastID||"_default";t.includeLastID=e;var h=l&&l[v]||Dt.createElement(a.tagName||t._element.tagName);o&&(h.className=o,u.insertBefore(h,t.start)),(l||{})[v]=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&&Rt.appendChild(h)},t);var y=u,b=avalon.noop,$=avalon.noop,x=yt(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=bt(w),u.insertBefore(x,t.end),nt(w,r)),y.parentNode===u&&u.removeChild(y)},t.recoverNodes=function(){return t.recoverNodes=avalon.noop,bt(w)}):b=function(){u.insertBefore(x,t.end),nt(w,r)},avalon.effect.apply(y,"enter",b,$)};if("src"===t.param)if("string"==typeof Pa[e])avalon.nextTick(function(){d(Pa[e])});else if(Array.isArray(Pa[e]))Pa[e].push(d);else{var p=Ba();p.onload=function(){for(var t,n=p.responseText,a=0;t=Pa[e][a++];)t(n);Pa[e]=n},p.onerror=function(){n("ms-include load ["+e+"] error")},Pa[e]=[d],p.open("GET",e,!0),"withCredentials"in p&&(p.withCredentials=!0),p.setRequestHeader("X-Requested-With","XMLHttpRequest"),p.send(null)}else{var v=e&&1===e.nodeType?e:Dt.getElementById(e);v&&avalon.nextTick(function(){d(v.value||v.innerText||v.innerHTML)})}}});var Fa=/\(([^)]*)\)/,_a=avalon.directive("on",{priority:3e3,init:function(e){var t=e.expr;e.type="on";var n=e.param.replace(/-\d+$/,"");if("function"==typeof _a[n+"Hook"]&&_a[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||o;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),pt(n,e),e.param=e.param||"el",e.sortedCallback=ta(n,"data-with-sorted",e.vmodels);var a=ta(n,"data-"+t+"-rendered",e.vmodels),r=Kt(t),i=Dt.createComment(r+":start"),o=e.element=Dt.createComment(r+":end");if(e.signature=r,e.start=i,e.template=Zt.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 u=n.sortedCallback.call($,c);u&&Array.isArray(u)&&(c=u)}var d="move";n.$repeat=e;var p=[],v=r&&Zt.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)p.push({}),g[x]=!0;else{if(w=kt(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 k=w.$anchor||(w.$anchor=y.cloneNode(!1));k.nodeValue=this.signature,Ct(n,v,w,p,r&&!n.effectDriver),Et(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=N(e[x]),h.push(w)}if(this.proxies=h,r&&!n.effectDriver)$.insertBefore(v,y),p.forEach(function(e){nt(e.nodes||[],e.vmodels),e.nodes=e.vmodels=null});else{var A=n.staggerIndex=0;for(x in g)g[x]!==!0&&(d="del",wt(g[x].$anchor,n),Mt(this.cache,x,m),g[x]=null);for(s=0;b>s;s++){w=h[s],x="array"===a?w.$id:w.$key;var E=h[s-1],T=E?E.$anchor:n.start;g[x]?w.$index!==w.$oldIndex&&!function(e,t){A=xt(n.effectEnterStagger,function(){var a=wt(e.$anchor),r=avalon.slice(a.childNodes);$.insertBefore(a,t.nextSibling),$t(r,1,n)},A)}(w,T):!function(e,t){var a=e.nodes,r=e.vmodels;a&&(A=xt(n.effectEnterStagger,function(){$.insertBefore(e.content,t.nextSibling),nt(a,r),$t(a,1,n)},A)),e.nodes=e.vmodels=null}(p[s],T)}}if(!e.$track)for(x in this.cache)Mt(this.cache,x,m);!function(e){$.args=e,$.msRendered&&$.msRendered.apply($,e)}(f.newWatch?arguments:[d]);var O=setTimeout(function(){clearTimeout(O),avalon.fireDom($,"datasetchanged",{bubble:$.msHasEvent})});this.enterCount-=1}}),"with,each".replace(Pt,function(e){an[e]=avalon.mix({},an.repeat,{priority:1400})});var Va=[],Ia=[];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=jt,avalon.directive("visible",{init:function(e){pt(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||jt(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=jt(a.nodeName))):a.style.display="none"))}});var Ua=/<script[^>]*>([\S\s]*?)<\/script\s*>/gim,za=/\s+(on[^=\s]+)(?:=("[^"]*"|'[^']*'|[^\s>]+))?/g,Wa=/<\w+\b(?:(["'])[^"]*?(\1)|[^>])*>/gi,Xa={a:/\b(href)\=("javascript[^"]*"|'javascript[^']*')/gi,img:/\b(src)\=("javascript[^"]*"|'javascript[^']*')/gi,form:/\b(action)\=("javascript[^"]*"|'javascript[^']*')/gi},Ya=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ga=/([^\#-~| |!])/g,Za=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:q,sanitize:function(e){return e.replace(Ua,"").replace(Wa,function(e){var t=e.toLowerCase().match(/<(\w+)\s/);if(t){var n=Xa[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(Ya,function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1);return"&#"+(1024*(t-55296)+(n-56320)+65536)+";"}).replace(Ga,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")},currency:function(e,t,n){return(t||"¥")+St(e,isFinite(n)?n:2)},number:St};!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+)\)\/$/;Za.date=function(t,n){var a,r,i=Za.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],p=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 v=p.setFullYear,h=p.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 v=p.setUTCFullYear,h=p.setUTCHours,n&&(m=e(n+a),g=e(n+r)),""}),d[3]-=m,d[4]-=g,v.apply(p,d.slice(0,3)),h.apply(p,d.slice(3)),t=p}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,Za.date.locate=c};var Ja=avalon.modules={"domReady!":{exports:avalon,state:3},avalon:{exports:avalon,state:4}};Ja.exports=Ja.avalon;var Ka,Qa=e.require,er=e.define;hn.loader=function(t){var n=Ka&&t;e.require=n?Ka:Qa,e.define=n?Ka.define:er},new function(){function t(e,t){var a="js";e=e.replace(/^(\w+)\!/,function(e,t){return a=t,""}),"ready"===a&&(n("debug: ready!已经被废弃,请使用domReady!"),a="domReady");var r="";e=e.replace(L,function(e){return r=e,""});var i="."+a,o=/js|css/.test(i)?i:"";e=e.replace(/\.[a-z0-9]+$/g,function(e){return e===i?(o=e,""):e});var l=avalon.mix({query:r,ext:o,res:a,name:e,toUrl:m},t);return l.toUrl(e),l}function i(e){var t=e.name,n=e.res,a=Ja[t],r=t&&e.urlNoQuery;if(a&&a.state>=1)return t;if(a=Ja[r],a&&a.state>=3)return Ka(a.deps||[],a.factory,r),r;if(t&&!a){a=Ja[r]={id:r,state:1};var i=function(r){D[n]=r,r.load(t,e,function(e){arguments.length&&void 0!==e&&(a.exports=e),a.state=4,c()})};D[n]?i(D[n]):Ka([n],i)}return t?r:n+"!"}function l(e,t){for(var n,a=0;n=e[a++];)if(4!==Ja[n].state&&(n===t||l(Ja[n].deps,t)))return!0}function s(e,t){var a=d(e.src);return e.onload=e.onerror=null,t?(setTimeout(function(){Lt.removeChild(e),e=null}),void n("debug: 加载 "+a+" 失败"+t+" "+!Ja[a].state)):!0}function c(){e:for(var e,t=N.length;e=N[--t];){var n=Ja[e],a=n.deps;if(a){for(var r,i=0;r=a[i];i++)if(4!==Object(Ja[r]).state)continue e;4!==n.state&&(N.splice(t,1),h(n.id,n.deps,n.factory),c())}}}function u(e,t,a){var r=Dt.createElement("script");r.className=qt,r.onload=function(){var r=A.pop();r&&r.require(t),a&&a(),n("debug: 已成功加载 "+e),t&&N.push(t),c()},r.onerror=function(){s(r,!0)},Lt.insertBefore(r,Lt.firstChild),r.src=e,n("debug: 正准备加载 "+e)}function d(e){return(e||"").replace(L,"")
|
3
|
-
}function p(e){return/^(?:[a-z]+:)?\/\//i.test(String(e))}function v(){var e;try{a.b.c()}catch(t){e=t.stack}if(e)return e=e.split(/[@ ]/g).pop(),e="("===e[0]?e.slice(1,-1):e.replace(/\s/,""),d(e.replace(/(:\d+)?:\d+$/i,""));for(var n,r=
|
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 r(){return Object.create(null)}function i(){}function o(e){return Function.apply(i,e)}function l(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 s(e){if(e&&"object"==typeof e){var t=e.length,n=Ut.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(an,n.tagName.toLowerCase());zt.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(dn,"\\$&")}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:Yt,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)||"*"===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 p(e,t){var n=this.$events;if(n&&n[e]){t&&(t[2]=e);var a=n[e];if(h(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&&p.call(l,this.$pathname+"."+e,t),p.call(l,"*."+e,t))}else{if(l=this.$up,this.$ups){for(var s in this.$ups)p.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("*")?(p.call(l,u,t),a[1]="*",p.call(l,a.join("."),t)):p.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 xn.collectDependency(a)}if(e=e.$up,!e)break;t=e.$pathname+"."+t}}function h(e,t){if(e){new Date-kn>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(da.render(),i=0;n=r[i++];)if(n.update){var o=M(n);da.queue[o]||(da.queue[o]=1,da.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||qt;var r=t.force||qt,i=t.old,o=i&&i.$accessors||qt,s=new g,c={},u={},f=[],v=[],h={};e.$skipArray&&(h=l(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];hn[y]||(u[y]=!0),"function"==typeof x||x&&x.nodeName&&x.nodeType>0||!r[y]&&("$"===y.charAt(0)||hn[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)):(v.push(y),c[y]=o[y]?o[y]:$(y,x))}c.$model=mn,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 p.call(s,e,[t])})),v.forEach(function(t){var n=i&&i[t],a=s[t]=e[t];a&&"object"==typeof a&&(a.$up=s,a.$pathname=t),p.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&&v(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&&p.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&&t.splice){var a=[0,t.length].concat(e);return t.splice.apply(t,a),t}for(var r in bn)e[r]=bn[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){p.call(e.$up,e.$pathname+".length",[t,n])}),n&&C(e,"$watch",function(){return d.apply(e,arguments)}),Object.defineProperty(e,"$model",mn);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]=Kt("$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-kn>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)+"-"+ ++wn:e.name+"-"+M(t):++wn}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||Kt(),Cn[a]||(Cn[a]=1,Cn.push(e))}function S(e){for(var t=Cn.length,n=t,a=[],r={},i={};e=Cn[--t];){var o=e.type;i[o]?i[o]++:(i[o]=1,a.push(o))}var l=!1;if(a.forEach(function(e){Nn[e]!==i[e]&&(r[e]=1,l=!0)}),t=n,l)for(;e=Cn[--t];)if(null!==e.element){if(r[e.type]&&D(e.element)){Cn.splice(t,1),delete Cn[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 Cn.splice(t,1);Nn=i,kn=new Date}function H(e){delete Cn[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&&!Yt.contains(e.ifRemove)&&Lt===e.parentNode?(e.parentNode&&e.parentNode.removeChild(e),!0):e.msRetain?0:1===e.nodeType?!Yt.contains(e):!avalon.contains(Yt,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 q(e){try{if("object"==typeof e)return e;e="true"===e?!0:"false"===e?!1:"null"===e?null:+e+""===e?+e:Sn.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 P(e,t){if(e.offsetWidth<=0){var n=getComputedStyle(e,null);if(qn.test(n.display)){var a={node:e};for(var r in Rn)a[r]=n[r],e.style[r]=Rn[r];t.push(a)}var i=e.parentNode;i&&1===i.nodeType&&P(i,t)}}function F(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 r="unknown",i="",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(_n.test(s))"unknown"===r?(r="variable",i=s):"maybePath"===r?(i=n.pop(),i+="."+s,r="variable"):"variable"===r&&(i+=s);else if(/\w/.test(s))"variable"===r&&(i+=s);else if("."===s)"variable"===r&&i&&(n.push(i),i="",r="maybePath");else if("["===s){if("variable"===r||"maybePath"===r){i&&(n.push(i),i="");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 p=o(["return "+d])();n[c-1]=u+"."+p}catch(v){}}r="maybePath",l=f.i}}else if("]"===s){if(a)return n.i=l+t,V(n,i),n}else Vn.test(s)&&"\r"!==s&&"\n"!==s?"variable"===r&&(V(n,i)&&(r="maybePath"),i=""):(V(n,i),r="unknown",i="")}return V(n,i),n}function V(e,t){return t&&!Pn[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 U(e){e=e.trim();var t=Un.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 Un.put(e,i).concat()}function z(e,t,n){var a=n.filters;"string"==typeof a&&a.trim()&&!n._filters&&(n._filters=X(a.trim()));var r=U(e),i=new Date-0,l=[],s=[],c=[];n.observers=[];for(var u=0,f=t.length;f>u;u++)if(r.length){var d="vm"+i+"_"+u;s.push(d),c.push(t[u]),l.push.apply(l,I(r,t[u],d,n))}n.args=c;var p=n.type,v=t.map(function(e){return String(e.$id).replace(In,"$1")})+e+p,h=zn.get(v);if(h){if("duplex"===p){var m=zn.get(v+"setter");n.setter=m.apply(m,n.args)}return n.getter=h}if(l.length||l.push("fix"+i),"duplex"===p){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=o(s.concat("'use strict';return function(vvv){"+e+" = vvv\n}\n"));zn.put(v+"setter",y),n.setter=y.apply(y,n.args)}if("on"===p){-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=o(s.concat("'use strict';\nvar "+l.join(",\n")+e)),zn.put(v,h)}function W(e){var t=cn.test(e);if(t){var n=rt(e);return 1===n.length?n[0].expr:n.map(function(e){return e.type?"("+e.expr+")":Jn(e.expr)}).join(" + ")}return e}function X(e){return e=e.replace(Wn,"").replace(Xn,function(){return"],|"}).replace(Yn,function(e,t){return"["+Jn(t)}).replace(Gn,function(){return'"],["'}).replace(Zn,function(){return'",'})+"]",o(["return ["+e+"]"])()}function Y(e,t,n){var a=setTimeout(function(){var r=e.innerHTML;clearTimeout(a),r===n?t():Y(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,tn[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){for(var n,a=e.attributes,r={},i=0;n=a[i++];){var o=n.name;if(n.specified&&!ia.test(o)){var l=R(n.name);r[l]=/^on\-[\w-]+$/.test(o)?Qn(e,o,t):q(n.value)}}return r}function Q(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(na)))){var f=a[1],d=a[2]||"",p=i.value;if(aa[f]?(d=f,f="on"):ra[f]&&(d=f,f="attr",u="ms-"+f+"-"+d,n("warning!请改用"+u+"代替"+i.name+"!")),tn[f]){var v=p.replace(ta,""),h=p!==v,m={type:f,param:d,element:e,name:u,expr:v,oneTime:h,priority:(tn[f].priority||10*f.charCodeAt(0))+(Number(d.replace(/\D/g,""))||0)};if("html"===f||"text"===f){var g=at(p).filters;m.expr=m.expr.replace(g,""),m.filters=g.replace(sa,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&&!Kn[e.tagName]&&(ea&&ea(e),et(e,t))}function et(e,t){var n=avalon.slice(e.childNodes);tt(n,t)}function tt(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=lt(i);if(o){var l=i.localName?i.localName.replace(o+":",""):i.nodeName,s=o+":"+R(l);pa.push({library:o,element:i,fullName:s,widget:l,vmodels:t,name:"widget"}),avalon.components[s]&&n(s)}}nt(a,t),a.msHasEvent&&avalon.fireDom(a,"datasetchanged",{bubble:a.msHasEvent});break;case 3:cn.test(a.nodeValue)&&it(a,t,r)}}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)}Q(e,t),o&&setTimeout(function(){o.$fire("ms-scan-end",e)})}}function at(e){if(e.indexOf("|")>0){var t=e.replace(ua,function(e){return Array(e.length+1).join("1")}),n=t.replace(ca,"ᄢ㍄").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(ln,r),-1===n)break;if(t=e.slice(r,n),t&&a.push({expr:t}),r=n+ln.length,n=e.indexOf(sn,r),-1===n)break;t=e.slice(r,n),t&&a.push(at(t,r)),r=n+sn.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(ta,function(){return i.oneTime=!0,""}),i.element=l,i.filters=i.filters.replace(sa,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(Pt,function(a){var r=avalon.duplexHooks[a];r&&"function"==typeof r[n]&&(e=r[n](e,t))}),e}function ut(){for(var e=Na.length-1;e>=0;e--){var t=Na[e];t()===!1&&Na.splice(e,1)}Na.length||clearInterval(ka)}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=Ha.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?Ta:Ea),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 pt(e){return e.replace(/^[\S]/g,function(e){return e.toUpperCase()})}function vt(){}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=Fa.length;r>a;a++){var i=Fa[a];if(i&&i.hasOwnProperty(n)){Fa.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=Kt("$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 _a.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=Kt("$proxy$with"),e}function Ot(e,t,n){var a=e[t];if(a){var r=0===a.$id.indexOf("$proxy$each")?Fa:_a;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);Yt.appendChild(a),t=Xt?getComputedStyle(a,null).display:a.currentStyle.display,Yt.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,qt={},Bt=/[^, ]+/g,Pt=/\w+/g,Ft=/^\[object SVG\w*Element\]$/,_t=/^\[object (?:Window|DOMWindow|global)\]$/,Vt=Object.prototype,It=Vt.hasOwnProperty,Ut=Vt.toString,zt=Array.prototype,Wt=zt.slice,Xt=e.dispatchEvent,Yt=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=0/0;e.VBArray&&(Jt=document.documentMode||(e.XMLHttpRequest?7:6));var Kt=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?Zt[Ut.call(e)]||"object":typeof e},avalon.isFunction=function(e){return"[object Function]"===Ut.call(e)},avalon.isWindow=function(e){return _t.test(Ut.call(e))},avalon.isPlainObject=function(e){return"[object Object]"===Ut.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||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:Bt,subscribers:Rt,version:1.56,ui:{},log:n,slice:function(e,t,n){return Wt.call(e,t,n)},noop:i,error:function(e,t){throw new(t||Error)(e)},oneObject:l,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=Hn[r+":get"]||Hn["@: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=Hn[r+":set"]||Hn["@: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 Qt=avalon.bindingHandlers={},en=avalon.bindingExecutors={},tn=avalon.directives={};avalon.directive=function(e,t){return Qt[e]=t.init=t.init||i,en[e]=t.update=t.update||i,tn[e]=t};var nn=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 an="http://www.w3.org/2000/svg",rn=Ht.createElementNS(an,"svg");rn.innerHTML='<circle cx="50" cy="50" r="40" fill="red" />',Ft.test(rn.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 on=avalon.eventHooks;"onmouseenter"in Yt||avalon.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){on[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]&&!on.animationend&&(on.animationend={type:n})}),void 0===Ht.onmousewheel&&(on.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=u;var ln,sn,cn,un,fn,dn=/[-.*+?^${}()|[\]\/\\]/g,pn={interpolate:function(e){if(ln=e[0],sn=e[1],ln===sn){throw new SyntaxError("openTag!==closeTag")}u.openTag=ln,u.closeTag=sn;var t=f(ln),n=f(sn);cn=new RegExp(t+"(.*?)"+n),un=new RegExp(t+"(.*?)"+n,"g"),fn=new RegExp(t+".*?"+n+"|\\sms-")}};u.plugins=pn,u.plugins.interpolate(["{{","}}"]),u.async=!0,u.debug=!0,u.paths={},u.shim={},u.maxRepeatSize=100;var vn=avalon.vmodels={};avalon.define=function(e){var t=e.$id;t||n("warning: vm必须指定$id");var a=m(e);return a.$id=t,vn[t]=a};var hn=l("$id,$watch,$fire,$events,$model,$skipArray,$active,$pathname,$up,$ups,$track,$accessors"),mn={get:function(){return k(this)},set:i,enumerable:!1,configurable:!0},gn=["push","pop","shift","unshift","splice"],yn=Array.prototype,bn={notify:function(){p.call(this.$up,this.$pathname)},set:function(e,t){if(e>>>0===e&&this[e]!==t){if(e>this.length)throw Error(e+"set方法的第一个参数不能大于原数组长度");p.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])&&($n.call(this.$track,t,1),$n.call(this,t,1));else if("function"==typeof e)for(t=this.length-1;t>=0;t--){var n=this[t];e(n,t)&&($n.call(this.$track,t,1),$n.call(this,t,1))}else $n.call(this.$track,0,this.length),$n.call(this,0,this.length);Xt||(this.$model=k(this)),this.notify(),this._.length=this.length},clear:function(){return this.removeAll()}},$n=yn.splice;gn.forEach(function(e){var t=yn[e];bn[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),Xt||(this.$model=k(this)),this.notify(),this._.length=this.length,i}}),"sort,reverse".replace(Bt,function(e){bn[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&&(N(this.$track,r),Xt||(this.$model=k(this)),this.notify()),this}});var xn=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||tn[e.type].update||i,e.update=function(){var t=!1;e.getter||(t=!0,xn.begin({callback:function(t){E(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=Ya.$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=O(e.proxies||[],l),c=a.$track||("array"===l?A(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=ln+(e.oneTime?"::":"")+e.expr+sn)}finally{t&&xn.end()}},e.update()};var wn=0,Cn=avalon.$$subscribers=[],kn=new Date,Nn={},An=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){An[e]=An.g});var Tn=/<([\w:]+)/,En=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,On=l(["","text/javascript","text/ecmascript","application/ecmascript","application/javascript"]),Mn=Ht.createElement("script"),jn=/<|&#?\w+;/;avalon.parseHTML=function(e){var t=Gt.cloneNode(!1);if("string"!=typeof e)return t;if(!jn.test(e))return t.appendChild(Ht.createTextNode(e)),t;e=e.replace(En,"<$1></$2>").trim();var n,a=(Tn.exec(e)||["",""])[1].toLowerCase(),r=An[a]||An._default;r.innerHTML=e;var i=r.getElementsByTagName("script");if(i.length)for(var o,l=0;o=i[l++];)if(On[o.type]){var s=Mn.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(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 q(n);case 0:var a={};return zt.forEach.call(this[0].attributes,function(t){t&&(e=t.name,e.indexOf("data-")||(e=R(e.slice(5)),a[e]=q(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;
|
2
|
+
return avalon(e||Yt)},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=Bn[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}}),Yt.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],q(t);case 0:var a=r();for(e in n)a[e]=q(n[e]);return a}});var Sn=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/;avalon.parseJSON=JSON.parse,avalon.fireDom=function(e,t,n){var a=Ht.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=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 Hn=avalon.cssHooks=r(),Dn=["","-webkit-","-moz-","-ms-"],Ln={"float":"cssFloat"};avalon.cssNumber=l("animationIterationCount,animationIterationCount,columnCount,order,flex,flexGrow,flexShrink,fillOpacity,fontWeight,lineHeight,opacity,orphans,widows,zIndex,zoom"),avalon.cssName=function(e,t,n){if(Ln[e])return Ln[e];t=t||Yt.style;for(var a=0,r=Dn.length;r>a;a++)if(n=R(Dn[a]+e),n in t)return Ln[e]=n;return null},Hn["@:set"]=function(e,t,n){e.style[t]=n},Hn["@: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},Hn["opacity:get"]=function(e){var t=Hn["@:get"](e,"opacity");return""===t?"1":t},"top,left".replace(Bt,function(e){Hn[e+":get"]=function(t){var n=Hn["@:get"](t,e);return/px$/.test(n)?n:avalon(t).position()[e]+"px"}});var Rn={position:"absolute",visibility:"hidden",display:"block"},qn=/^(none|table(?!-c[ea]).+)/;"Width,Height".replace(Bt,function(e){var t=e.toLowerCase(),n="client"+e,a="scroll"+e,r="offset"+e;Hn[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)},Hn[t+"&get"]=function(e){var n=[];P(e,n);for(var a,r=Hn[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 Hn[t+"&get"](o)}return this.css(t,i)},avalon.fn["inner"+e]=function(){return Hn[t+":get"](this[0],void 0,-2)},avalon.fn["outer"+e]=function(e){return Hn[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 Bn={"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)}},Pn={},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){Pn[e]=!0});var _n=/[a-z_$]/i,Vn=/[\s\uFEFF\xA0]/,In=/(\$proxy\$[a-z]+)\d+$/,Un=new nn(218),zn=new nn(128);avalon.normalizeExpr=W,avalon.parseExprProxy=z;var Wn=/\)\s*$/,Xn=/\)\s*\|/g,Yn=/\|\s*([$\w]+)/g,Gn=/"\s*\["/g,Zn=/"\s*\(/g,Jn=JSON.stringify;avalon.scan=function(e,t){e=e||Yt;var n=t?[].concat(t):[];nt(e,n)};var Kn=l("area,base,basefont,br,col,command,embed,hr,img,input,link,meta,param,source,track,wbr,noscript,script,style,textarea".toUpperCase()),Qn=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]},ea=Jt&&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,ta=/^\s*::/,na=/ms-(\w+)-?(.*)/,aa=l("animationend,blur,change,input,click,dblclick,focus,keydown,keypress,keyup,mousedown,mouseenter,mouseleave,mousemove,mouseout,mouseover,mouseup,scan,scroll,submit"),ra=l("value,title,alt,checked,selected,disabled,readonly,enabled,href,src"),ia=/^(ms-\S+|data-\S+|on[a-z]+|id|style|class)$/,oa=/^if|widget|repeat$/,la=/^each|with|html|include$/,sa=/\|\s*html(?:\b|$)/,ca=/\|\|/g,ua=/(['"])(\\\1|.)+?\1/g,fa=function(){this.queue=[]};fa.prototype={render:function(e){if(!this.locked){this.locked=e?Yt.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 da=new fa,pa=[],va=[],ha={$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({},ha,n));for(var a,r=0;a=pa[r];r++)t===a.fullName&&(pa.splice(r,1),r--,function(n,a,r,i){if(!avalon.contains(Ht,r)||r.msResolved)return void avalon.Array.remove(pa,n);var o=1,l=n.library,s=avalon.libraries[l]||ha;if(!r.getAttribute("ms-attr-identifier")){var c=K(r,n.vmodels),u=ot(n.vmodels,c.config||n.fullName),f=c.$id||c.identifier||Kt(i);delete c.config,delete c.$id,delete c.identifier;var d={},p=avalon.components[a.$extend];p?(avalon.mix(!0,d,p),d=p.$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 v=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")||v;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.children[0]||r.firstChild;if(h){r.parentNode.replaceChild(E,r),E.msResolved=1;var O=r.style.cssText,M=r.className;r=n.element=E,r.style.cssText+=";"+O,M&&avalon(r).addClass(M)}m&&m.appendChild(r),avalon.fireDom(r,"datasetchanged",{library:l,vm:y,childReady:1});var H=0,D=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&&(H++,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)},H?Math.max(17*H,100):17);avalon.unbind(r,"datasetchanged",D),n.rollback=function(){try{y.$dispose(y,r),s.$dispose(y,r)}catch(e){}delete avalon.vmodels[y.$id]},j(n,va),e.chrome&&r.addEventListener("DOMNodeRemovedFromDocument",function(){setTimeout(S)})}});if(nt(r,[y].concat(n.vmodels)),avalon.vmodels[y.$id]=y,r.childNodes.length)var L=setTimeout(function(){clearTimeout(L),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.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 ma=["autofocus,autoplay,async,allowTransparency,checked,controls","declare,disabled,defer,defaultChecked,defaultSelected","contentEditable,isMap,loop,multiple,noHref,noResize,noShade","open,readOnly,selected"].join(","),ga={};ma.replace(Bt,function(e){ga[e.toLowerCase()]=e});var ya={"accept-charset":"acceptCharset","char":"ch",charoff:"chOff","class":"className","for":"htmlFor","http-equiv":"httpEquiv"},ba=["accessKey,bgColor,cellPadding,cellSpacing,codeBase,codeType,colSpan","dateTime,defaultValue,frameBorder,longDesc,maxLength,marginWidth,marginHeight","rowSpan,tabIndex,useMap,vSpace,valueType,vAlign"].join(",");ba.replace(Bt,function(e){ya[e.toLowerCase()]=e});var $a=avalon.directive("attr",{init:function(e){if(e.expr=W(e.expr.trim()),"include"===e.type){var t=e.element;dt(t,e),e.includeRendered=Qn(t,"data-include-rendered",e.vmodels),e.includeLoaded=Qn(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||Yt.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;!Xt&&ya[a]&&(a=ya[a]);var l=ga[a];if("boolean"==typeof n[l]&&(n[l]=!!t,t||(o=!0)),o)return n.removeAttribute(a);var s=Ft.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){tn[e]=$a}),avalon.directive("class",{init:function(e){var t=e.param,a=e.type;if(!t||isFinite(t)?(e.param="",tn.effect.init(e)):(n("ms-"+a+'-xxx="yyy"这种用法已经过时,请使用ms-'+a+'="xxx:yyy"'),e.expr="["+Jn(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){tn[e]=tn["class"]}),avalon.directive("css",{init:tn.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 xa=/^(?:checkbox|radio)$/,wa=/^(?:radio|checked)$/,Ca=/^(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(){p=!0}function o(){p=!1}var s=e.element,c=e.vmodels;e.changed=Qn(s,"data-duplex-changed",c)||i;var u=[],f=l("string,number,boolean,checked");"radio"===s.type&&""===e.param&&(e.param="checked"),e.param.replace(Pt,function(a){xa.test(s.type)&&wa.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()}},p=!1,v=function(){var t=s.value;if(!p&&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",v);break;case"input":d("input",v),d("keyup",v),Jt||(d("compositionstart",r),d("compositionend",o),d("DOMAutoComplete",v));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||Ca.test(s.type)||("hidden"!==s.type&&(d("focus",function(){s.msFocus=!0}),d("blur",function(){s.msFocus=!1})),s.avalonSetter=v,Aa(function(){if(Yt.contains(s))s.msFocus||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.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: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 ka,Na=[];avalon.tick=function(e){1===Na.push(e)&&(ka=setInterval(ut,60))};var Aa=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){Aa=avalon.tick}},avalon.directive("effect",{priority:5,init:function(e){var t,n,a=e.expr,r=a.replace(un,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=cn.test(a)?W(t):Jn(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&&(Oa||Ma)){var l=r[ja]||i[ja];l&&"0s"!==l&&(a.setAttribute("data-effect-driver","t"),o=!0),o||(l=r[Sa]||i[Sa],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 Ta,Ea,Oa=!1,Ma=!1,ja=avalon.cssName("transition-duration"),Sa=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&&(Oa=!0,Ta=t),n={AnimationEvent:"animationend",WebKitAnimationEvent:"webkitAnimationEnd"};var i;for(a in n)if(e[a]){i=n[a];break}"string"==typeof i&&(Oa=!0,Ea=i)};var Ha=[],Da=new fa;vt.prototype={contrustor:vt,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"+pt(o)),mt(a,"before"+pt(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"+pt(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),Da.render(!0),Da.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,Ha.unshift(this)>100&&Ha.pop()}};var La=function(e,t){var n=Wt.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:La,append:function(e,t,n,a){return La(e,1,function(){t.appendChild(e)},n,a)},before:function(e,t,n,a){return La(e,1,function(){t.parentNode.insertBefore(e,t)},n,a)},remove:function(e,t,n,a){return La(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=Kt("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),Q(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 Ra=function(){return new e.XMLHttpRequest},qa=avalon.templateCache={};avalon.directive("include",{init:tn.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 p=c.apply(u,[n].concat(r));"string"==typeof p&&(n=p)}i&&Y(u,function(){i.call(u)},0/0);var v=t.includeLastID||"_default";t.includeLastID=e;var h=l&&l[v]||Ht.createElement(a.tagName||t._element.tagName);o&&(h.className=o,u.insertBefore(h,t.start)),(l||{})[v]=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 qa[e])avalon.nextTick(function(){d(qa[e])});else if(Array.isArray(qa[e]))qa[e].push(d);else{var p=Ra();p.onload=function(){for(var t,n=p.responseText,a=0;t=qa[e][a++];)t(n);qa[e]=n},p.onerror=function(){n("ms-include load ["+e+"] error")},qa[e]=[d],p.open("GET",e,!0),"withCredentials"in p&&(p.withCredentials=!0),p.setRequestHeader("X-Requested-With","XMLHttpRequest"),p.send(null)}else{var v=e&&1===e.nodeType?e:Ht.getElementById(e);v&&avalon.nextTick(function(){d(v.value||v.innerText||v.innerHTML)})}}});var Ba=/\(([^)]*)\)/,Pa=avalon.directive("on",{priority:3e3,init:function(e){var t=e.expr;e.type="on";var n=e.param.replace(/-\d+$/,"");if("function"==typeof Pa[n+"Hook"]&&Pa[n+"Hook"](e),t.indexOf("(")>0&&t.indexOf(")")>-1){var a=(t.match(Ba)||["",""])[1].trim();(""===a||"$event"===a)&&(t=t.replace(Ba,""))}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=Qn(n,"data-with-sorted",e.vmodels);var a=Qn(n,"data-"+t+"-rendered",e.vmodels),r=Kt(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 p=[],v=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)p.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,v,w,p,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(v,y),p.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}(p[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){tn[e]=avalon.mix({},tn.repeat,{priority:1400})});var Fa=[],_a=[];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 Va=/<script[^>]*>([\S\s]*?)<\/script\s*>/gim,Ia=/\s+(on[^=\s]+)(?:=("[^"]*"|'[^']*'|[^\s>]+))?/g,Ua=/<\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,Xa=/([^\#-~| |!])/g,Ya=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(Va,"").replace(Ua,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(Ia," ").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(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+)\)\/$/;Ya.date=function(t,n){var a,r,i=Ya.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],p=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 v=p.setFullYear,h=p.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 v=p.setUTCFullYear,h=p.setUTCHours,n&&(m=e(n+a),g=e(n+r)),""}),d[3]-=m,d[4]-=g,v.apply(p,d.slice(0,3)),h.apply(p,d.slice(3)),t=p}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,Ya.date.locate=c};var Ga=avalon.modules={"domReady!":{exports:avalon,state:3},avalon:{exports:avalon,state:4}};Ga.exports=Ga.avalon;var Za,Ja=e.require,Ka=e.define;pn.loader=function(t){var n=Za&&t;e.require=n?Za:Ja,e.define=n?Za.define:Ka},new function(){function t(e,t){var a="js";e=e.replace(/^(\w+)\!/,function(e,t){return a=t,""}),"ready"===a&&(n("debug: ready!已经被废弃,请使用domReady!"),a="domReady");var r="";e=e.replace(L,function(e){return r=e,""});var i="."+a,o=/js|css/.test(i)?i:"";e=e.replace(/\.[a-z0-9]+$/g,function(e){return e===i?(o=e,""):e});var l=avalon.mix({query:r,ext:o,res:a,name:e,toUrl:m},t);return l.toUrl(e),l}function o(e){var t=e.name,n=e.res,a=Ga[t],r=t&&e.urlNoQuery;if(a&&a.state>=1)return t;if(a=Ga[r],a&&a.state>=3)return Za(a.deps||[],a.factory,r),r;if(t&&!a){a=Ga[r]={id:r,state:1};var i=function(r){D[n]=r,r.load(t,e,function(e){arguments.length&&void 0!==e&&(a.exports=e),a.state=4,c()})};D[n]?i(D[n]):Za([n],i)}return t?r:n+"!"}function l(e,t){for(var n,a=0;n=e[a++];)if(4!==Ga[n].state&&(n===t||l(Ga[n].deps,t)))return!0}function s(e,t){var a=d(e.src);return e.onload=e.onerror=null,t?(setTimeout(function(){Dt.removeChild(e),e=null}),void n("debug: 加载 "+a+" 失败"+t+" "+!Ga[a].state)):!0}function c(){e:for(var e,t=N.length;e=N[--t];){var n=Ga[e],a=n.deps;if(a){for(var r,i=0;r=a[i];i++)if(4!==Object(Ga[r]).state)continue e;4!==n.state&&(N.splice(t,1),h(n.id,n.deps,n.factory),c())
|
3
|
+
}}}function f(e,t,a){var r=Ht.createElement("script");r.className=Rt,r.onload=function(){var r=A.pop();r&&r.require(t),a&&a(),n("debug: 已成功加载 "+e),t&&N.push(t),c()},r.onerror=function(){s(r,!0)},Dt.insertBefore(r,Dt.firstChild),r.src=e,n("debug: 正准备加载 "+e)}function d(e){return(e||"").replace(L,"")}function p(e){return/^(?:[a-z]+:)?\/\//i.test(String(e))}function v(){var e;try{a.b.c()}catch(t){e=t.stack}if(e)return e=e.split(/[@ ]/g).pop(),e="("===e[0]?e.slice(1,-1):e.replace(/\s/,""),d(e.replace(/(:\d+)?:\d+$/i,""));for(var n,r=Dt.getElementsByTagName("script"),i=r.length;n=r[--i];)if(n.className===Rt&&"interactive"===n.readyState){var o=n.src;return n.className=d(o)}}function h(t,a,i){var o=Object(Ga[t]);o.state=4;for(var l,s=0,c=[];l=a[s++];)if("exports"===l){var u=o.exports||(o.exports=r());c.push(u)}else c.push(Ga[l].exports);try{var f=i.apply(e,c)}catch(d){n("执行["+t+"]模块的factory抛错: ",d)}return void 0!==f&&(o.exports=f),R.test(t)&&delete Ga[t],delete o.factory,f}function m(e){0===e.indexOf(this.res+"!")&&(e=e.slice(this.res.length+1));var t=e,n=0,a=this.baseUrl,r=this.parentUrl||a;x(e,u.paths,function(e,a){t=t.replace(a,e),n=1}),n||x(e,u.packages,function(e,n,a){t=t.replace(a.name,a.location)}),this.mapUrl&&x(this.mapUrl,u.map,function(e){x(t,e,function(e,n){t=t.replace(n,e),r=a})});var i=this.ext;i&&n&&t.slice(-i.length)===i&&(t=t.slice(0,-i.length)),p(t)||(r=this.built||/^\w/.test(t)?a:r,t=C(r,t));var o=t+i;return t=o+this.query,o=t.replace(L,function(e){return this.query=e,""}),x(e,u.urlArgs,function(e){t+=(-1===t.indexOf("?")?"?":"&")+e}),this.url=t,this.urlNoQuery=o}function g(e,t,n){var a=$(e,t,n);return a.sort(w),a}function y(e){return new RegExp("^"+e+"(/|$)")}function b(t){return function(){var n;return t.init&&(n=t.init.apply(e,arguments)),n||t.exports&&k(t.exports)}}function $(e,t,n){var a=[];for(var r in e){var i={name:r,val:e[r]};a.push(i),i.reg="*"===r&&t?/^/:y(r),n&&"*"!==r&&(i.reg=new RegExp("/"+r.replace(/^\//,"")+"(/|$)"))}return a}function x(e,t,n){t=t||[];for(var a,r=0;a=t[r++];)if(a.reg.test(e))return n(a.val,a.name,a),!1}function w(e,t){var n=e.name,a=t.name;return"*"===a?-1:"*"===n?1:a.length-n.length}function C(e,t){if("/"!==e.charAt(e.length-1)&&(e+="/"),"./"===t.slice(0,2))return e+t.slice(2);if(".."===t.slice(0,2)){for(e+=t;q.test(e);)e=e.replace(q,"");return e}return"/"===t.slice(0,1)?e+t.slice(1):e+t}function k(t){if(!t)return t;var n=e;return t.split(".").forEach(function(e){n=n[e]}),n}var N=[],A=[],T=/\.js$/i,E=[],O=!1;Za=avalon.require=function(e,n,a,l){if(O){Array.isArray(e)||avalon.error("require方法的第一个参数应为数组 "+e);var s=[],f=r(),d=a||"callback"+setTimeout("1");l=l||r(),l.baseUrl=u.baseUrl;var p=!!l.built;if(a&&(l.parentUrl=a.substr(0,a.lastIndexOf("/")),l.mapUrl=a.replace(T,"")),p){var v=t(l.defineName,l);d=v.urlNoQuery}else e.forEach(function(e){var n=t(e,l),a=o(n);a&&(f[a]||(s.push(a),f[a]="司徒正美"))});var h=Ga[d];h&&4===h.state||(Ga[d]={id:d,deps:p?e.concat():s,factory:n||i,state:3}),h||N.push(d),c()}else if(E.push(avalon.slice(arguments)),arguments.length<=2){O=!0;for(var m,g=E.splice(0,E.length);m=g.shift();)Za.apply(null,m)}},Za.define=function(e,t,n){"string"!=typeof e&&(n=t,t=e,e="anonymous"),Array.isArray(t)||(n=t,t=[]);var a={built:!O,defineName:e},r=[t,n,a];n.require=function(e){if(r.splice(2,0,e),Ga[e]){Ga[e].state=3;var t=!1;try{t=l(Ga[e].deps,e)}catch(a){}t&&avalon.error(e+"模块与之前的模块存在循环依赖,请不要直接用script标签引入"+e+"模块")}delete n.require,Za.apply(null,r)};var i=a.built?"unknown":v();if(i){var o=Ga[i];o&&(o.state=2),n.require(i)}else A.push(n)},Za.config=u,Za.define.amd=Ga;var M=u["orig.paths"]=r(),j=u["orig.map"]=r(),S=u.packages=[],H=u["orig.args"]=r();avalon.mix(pn,{paths:function(e){avalon.mix(M,e),u.paths=g(M)},map:function(e){avalon.mix(j,e);var t=g(j,1,1);avalon.each(t,function(e,t){t.val=g(t.val)}),u.map=t},packages:function(e){e=e.concat(S);for(var t,n=r(),a=[],i=0;t=e[i++];){t="string"==typeof t?{name:t}:t;var o=t.name;if(!n[o]){var l=C(t.location||o,t.main||"main");l=l.replace(T,""),a.push(t),n[o]=t.location=l,t.reg=y(o)}}u.packages=a.sort()},urlArgs:function(e){"string"==typeof e&&(e={"*":e}),avalon.mix(H,e),u.urlArgs=g(H,1)},baseUrl:function(e){if(!p(e)){var t=Dt.getElementsByTagName("base")[0];t&&Dt.removeChild(t);var n=Ht.createElement("a");n.href=e,e=n.href,t&&Dt.insertBefore(t,Dt.firstChild)}e.length>3&&(u.baseUrl=e)},shim:function(e){for(var t in e){var n=e[t];Array.isArray(n)&&(n=e[t]={deps:n}),n.exportsFn||!n.exports&&!n.init||(n.exportsFn=b(n))}u.shim=e}});var D=Za.plugins={domReady:{load:i},js:{load:function(e,t,n){var a=t.url,r=t.urlNoQuery,i=u.shim[e.replace(T,"")];i?Za(i.deps||[],function(){var e=avalon.slice(arguments);f(a,r,function(){n(i.exportsFn?i.exportsFn.apply(0,e):void 0)})}):f(a,r)}},css:{load:function(e,t,a){var r=t.url;Dt.insertAdjacentHTML("afterBegin",'<link rel="stylesheet" href="'+r+'">'),n("debug: 已成功加载 "+r),a()}},text:{load:function(e,t,a){var r=t.url,i=Ra();i.onload=function(){var e=i.status;e>399&&600>e?avalon.error(r+" 对应资源不存在或没有开启 CORS"):(n("debug: 已成功加载 "+r),a(i.responseText))};var o="_="+(new Date-0),l=-1===r.indexOf("?")?r+"?"+o:r+"&"+o;i.open("GET",l,!0),"withCredentials"in i&&(i.withCredentials=!0),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.send(),n("debug: 正准备加载 "+r)}}};Za.checkDeps=c;var L=/(\?[^#]*)$/,R=/^callback\d+$/,q=/\/\w+\/\.\./,B=Ht.scripts[Ht.scripts.length-1],P=B.getAttribute("data-main");if(P){pn.baseUrl(P);var F=u.baseUrl;u.baseUrl=F.slice(0,F.lastIndexOf("/")+1),f(F.replace(T,"")+".js")}else{var _=d(B.src);u.baseUrl=_.slice(0,_.lastIndexOf("/")+1)}};var Qa,er=[],tr=function(e){Qa=!0;var t=avalon.require;for(t&&t.checkDeps&&(Ga["domReady!"].state=4,t.checkDeps());e=er.shift();)e(avalon)};"complete"===Ht.readyState?setTimeout(tr):Ht.addEventListener("DOMContentLoaded",tr),e.addEventListener("load",tr),avalon.ready=function(e){Qa?e(avalon):er.push(e)},avalon.config({loader:!0}),avalon.ready(function(){avalon.scan(Ht.body)}),"function"==typeof define&&define.amd&&define("avalon",[],function(){return avalon});var nr=e.avalon;return avalon.noConflict=function(t){return t&&e.avalon===avalon&&(e.avalon=nr),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.modern.shim.js 1.5.
|
8
|
+
avalon.modern.shim.js 1.5.6 built in 2015.12.1
|
9
9
|
support IE10+ 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 = Date.now()
|
37
38
|
//http://stackoverflow.com/questions/7290086/javascript-use-strict-and-nicks-find-global-function
|
38
39
|
var DOC = window.document
|
@@ -46,6 +47,7 @@ function log() {
|
|
46
47
|
console.log.apply(console, arguments)
|
47
48
|
}
|
48
49
|
}
|
50
|
+
|
49
51
|
/**
|
50
52
|
* Creates a new object without a prototype. This object is useful for lookup without having to
|
51
53
|
* guard against prototypically inherited properties via hasOwnProperty.
|
@@ -61,11 +63,9 @@ function createMap() {
|
|
61
63
|
|
62
64
|
var subscribers = "$" + expose
|
63
65
|
|
64
|
-
var stopRepeatAssign = false
|
65
66
|
var nullObject = {} //作用类似于noop,只用于代码防御,千万不要在它上面添加属性
|
66
67
|
var rword = /[^, ]+/g //切割字符串为一个个小块,以空格或豆号分开它们,结合replace实现字符串的forEach
|
67
68
|
var rw20g = /\w+/g
|
68
|
-
var rcomplexType = /^(?:object|array)$/
|
69
69
|
var rsvg = /^\[object SVG\w*Element\]$/
|
70
70
|
var rwindow = /^\[object (?:Window|DOMWindow|global)\]$/
|
71
71
|
var oproto = Object.prototype
|
@@ -81,10 +81,16 @@ var class2type = {}
|
|
81
81
|
"Boolean Number String Function Array Date RegExp Object Error".replace(rword, function (name) {
|
82
82
|
class2type["[object " + name + "]"] = name.toLowerCase()
|
83
83
|
})
|
84
|
-
|
85
|
-
|
84
|
+
|
85
|
+
var IEVersion = NaN
|
86
|
+
if (window.VBArray) {
|
87
|
+
IEVersion = document.documentMode || (window.XMLHttpRequest ? 7 : 6)
|
86
88
|
}
|
89
|
+
|
87
90
|
function noop(){}
|
91
|
+
function scpCompile(array){
|
92
|
+
return Function.apply(noop, array)
|
93
|
+
}
|
88
94
|
|
89
95
|
function oneObject(array, val) {
|
90
96
|
if (typeof array === "string") {
|
@@ -103,21 +109,11 @@ var generateID = function (prefix) {
|
|
103
109
|
prefix = prefix || "avalon"
|
104
110
|
return String(Math.random() + Math.random()).replace(/\d\.\d{4}/, prefix)
|
105
111
|
}
|
106
|
-
function IE() {
|
107
|
-
if (window.VBArray) {
|
108
|
-
var mode = document.documentMode
|
109
|
-
return mode ? mode : window.XMLHttpRequest ? 7 : 6
|
110
|
-
} else {
|
111
|
-
return NaN
|
112
|
-
}
|
113
|
-
}
|
114
|
-
var IEVersion = IE()
|
115
112
|
|
116
113
|
avalon = function (el) { //创建jQuery式的无new 实例化结构
|
117
114
|
return new avalon.init(el)
|
118
115
|
}
|
119
116
|
|
120
|
-
|
121
117
|
/*视浏览器情况采用最快的异步回调*/
|
122
118
|
avalon.nextTick = new function () {// jshint ignore:line
|
123
119
|
var tickImmediate = window.setImmediate
|
@@ -151,9 +147,11 @@ avalon.nextTick = new function () {// jshint ignore:line
|
|
151
147
|
setTimeout(fn, 4)
|
152
148
|
}
|
153
149
|
}// jshint ignore:line
|
150
|
+
|
154
151
|
/*********************************************************************
|
155
152
|
* avalon的静态方法定义区 *
|
156
153
|
**********************************************************************/
|
154
|
+
|
157
155
|
avalon.init = function (el) {
|
158
156
|
this[0] = this.element = el
|
159
157
|
}
|
@@ -169,18 +167,15 @@ avalon.type = function (obj) { //取得目标的类型
|
|
169
167
|
typeof obj
|
170
168
|
}
|
171
169
|
|
172
|
-
|
170
|
+
avalon.isFunction = function (fn) {
|
173
171
|
return serialize.call(fn) === "[object Function]"
|
174
172
|
}
|
175
173
|
|
176
|
-
avalon.isFunction = isFunction
|
177
|
-
|
178
174
|
avalon.isWindow = function (obj) {
|
179
175
|
return rwindow.test(serialize.call(obj))
|
180
176
|
}
|
181
177
|
|
182
178
|
/*判定是否是一个朴素的javascript对象(Object),不是DOM对象,不是BOM对象,不是自定义类的实例*/
|
183
|
-
|
184
179
|
avalon.isPlainObject = function (obj) {
|
185
180
|
// 简单的 typeof obj === "object"检测,会致使用isPlainObject(window)在opera下通不过
|
186
181
|
return serialize.call(obj) === "[object Object]" && Object.getPrototypeOf(obj) === oproto
|
@@ -202,7 +197,7 @@ avalon.mix = avalon.fn.mix = function () {
|
|
202
197
|
}
|
203
198
|
|
204
199
|
//确保接受方为一个复杂的数据类型
|
205
|
-
if (typeof target !== "object" && !isFunction(target)) {
|
200
|
+
if (typeof target !== "object" && !avalon.isFunction(target)) {
|
206
201
|
target = {}
|
207
202
|
}
|
208
203
|
|
@@ -242,14 +237,10 @@ avalon.mix = avalon.fn.mix = function () {
|
|
242
237
|
return target
|
243
238
|
}
|
244
239
|
|
245
|
-
function _number(a, len) { //用于模拟slice, splice的效果
|
246
|
-
a = Math.floor(a) || 0
|
247
|
-
return a < 0 ? Math.max(len + a, 0) : Math.min(a, len);
|
248
|
-
}
|
249
240
|
avalon.mix({
|
250
241
|
rword: rword,
|
251
242
|
subscribers: subscribers,
|
252
|
-
version: 1.
|
243
|
+
version: 1.56,
|
253
244
|
ui: {},
|
254
245
|
log: log,
|
255
246
|
slice: function (nodes, start, end) {
|
@@ -397,9 +388,9 @@ var directives = avalon.directives = {}
|
|
397
388
|
avalon.directive = function (name, obj) {
|
398
389
|
bindingHandlers[name] = obj.init = (obj.init || noop)
|
399
390
|
bindingExecutors[name] = obj.update = (obj.update || noop)
|
400
|
-
|
401
391
|
return directives[name] = obj
|
402
392
|
}
|
393
|
+
|
403
394
|
/*判定是否类数组,如节点集合,纯数组,arguments与拥有非负整数的length属性的纯JS对象*/
|
404
395
|
function isArrayLike(obj) {
|
405
396
|
if (obj && typeof obj === "object") {
|
@@ -414,7 +405,6 @@ function isArrayLike(obj) {
|
|
414
405
|
return false
|
415
406
|
}
|
416
407
|
|
417
|
-
|
418
408
|
// https://github.com/rsms/js-lru
|
419
409
|
var Cache = new function() {// jshint ignore:line
|
420
410
|
function LRU(maxLength) {
|
@@ -492,6 +482,7 @@ var Cache = new function() {// jshint ignore:line
|
|
492
482
|
/*********************************************************************
|
493
483
|
* DOM 底层补丁 *
|
494
484
|
**********************************************************************/
|
485
|
+
|
495
486
|
//safari5+是把contains方法放在Element.prototype上而不是Node.prototype
|
496
487
|
if (!DOC.contains) {
|
497
488
|
Node.prototype.contains = function (arg) {
|
@@ -632,6 +623,7 @@ if (DOC.onmousewheel === void 0) {
|
|
632
623
|
}
|
633
624
|
}
|
634
625
|
}
|
626
|
+
|
635
627
|
/*********************************************************************
|
636
628
|
* 配置系统 *
|
637
629
|
**********************************************************************/
|
@@ -651,6 +643,8 @@ function kernel(settings) {
|
|
651
643
|
}
|
652
644
|
return this
|
653
645
|
}
|
646
|
+
avalon.config = kernel
|
647
|
+
|
654
648
|
var openTag, closeTag, rexpr, rexprg, rbind, rregexp = /[-.*+?^${}()|[\]\/\\]/g
|
655
649
|
|
656
650
|
function escapeRegExp(target) {
|
@@ -681,18 +675,20 @@ var plugins = {
|
|
681
675
|
rbind = new RegExp(o + ".*?" + c + "|\\sms-")
|
682
676
|
}
|
683
677
|
}
|
684
|
-
kernel.async =true
|
685
|
-
kernel.debug = true
|
686
678
|
kernel.plugins = plugins
|
687
679
|
kernel.plugins['interpolate'](["{{", "}}"])
|
680
|
+
|
681
|
+
kernel.async =true
|
682
|
+
kernel.debug = true
|
688
683
|
kernel.paths = {}
|
689
684
|
kernel.shim = {}
|
690
685
|
kernel.maxRepeatSize = 100
|
691
|
-
|
686
|
+
|
692
687
|
function $watch(expr, binding) {
|
693
688
|
var $events = this.$events || (this.$events = {})
|
694
689
|
|
695
690
|
var queue = $events[expr] || ($events[expr] = [])
|
691
|
+
|
696
692
|
if (typeof binding === "function") {
|
697
693
|
var backup = binding
|
698
694
|
backup.uniqueNumber = Math.random()
|
@@ -708,7 +704,7 @@ function $watch(expr, binding) {
|
|
708
704
|
}
|
709
705
|
|
710
706
|
if (!binding.update) {
|
711
|
-
if (/\w\.*\B/.test(expr)) {
|
707
|
+
if (/\w\.*\B/.test(expr) || expr === "*") {
|
712
708
|
binding.getter = noop
|
713
709
|
var host = this
|
714
710
|
binding.update = function () {
|
@@ -741,6 +737,14 @@ function $emit(key, args) {
|
|
741
737
|
}
|
742
738
|
var arr = event[key]
|
743
739
|
notifySubscribers(arr, args)
|
740
|
+
if (args && event["*"] && !/\./.test(key)) {
|
741
|
+
for (var sub, k = 0; sub = event["*"][k++]; ) {
|
742
|
+
try {
|
743
|
+
sub.handler.apply(this, args)
|
744
|
+
} catch (e) {
|
745
|
+
}
|
746
|
+
}
|
747
|
+
}
|
744
748
|
var parent = this.$up
|
745
749
|
if (parent) {
|
746
750
|
if (this.$pathname) {
|
@@ -751,10 +755,10 @@ function $emit(key, args) {
|
|
751
755
|
}
|
752
756
|
} else {
|
753
757
|
parent = this.$up
|
754
|
-
|
755
|
-
if(this.$ups
|
756
|
-
for(var i in this.$ups){
|
757
|
-
$emit.call(this.$ups[i], i+"."+key, args)//以确切的值往上冒泡
|
758
|
+
|
759
|
+
if (this.$ups) {
|
760
|
+
for (var i in this.$ups) {
|
761
|
+
$emit.call(this.$ups[i], i + "." + key, args)//以确切的值往上冒泡
|
758
762
|
}
|
759
763
|
return
|
760
764
|
}
|
@@ -775,7 +779,6 @@ function $emit(key, args) {
|
|
775
779
|
}
|
776
780
|
}
|
777
781
|
|
778
|
-
|
779
782
|
function collectDependency(el, key) {
|
780
783
|
do {
|
781
784
|
if (el.$watch) {
|
@@ -794,7 +797,6 @@ function collectDependency(el, key) {
|
|
794
797
|
} while (true)
|
795
798
|
}
|
796
799
|
|
797
|
-
|
798
800
|
function notifySubscribers(subs, args) {
|
799
801
|
if (!subs)
|
800
802
|
return
|
@@ -835,6 +837,7 @@ function notifySubscribers(subs, args) {
|
|
835
837
|
sub.update()
|
836
838
|
}
|
837
839
|
}
|
840
|
+
|
838
841
|
//avalon最核心的方法的两个方法之一(另一个是avalon.scan),返回一个ViewModel(VM)
|
839
842
|
var VMODELS = avalon.vmodels = {} //所有vmodel都储存在这里
|
840
843
|
avalon.define = function (source) {
|
@@ -914,7 +917,6 @@ function observeObject(source, options) {
|
|
914
917
|
}
|
915
918
|
}
|
916
919
|
|
917
|
-
|
918
920
|
for (name in source) {
|
919
921
|
var value = source[name]
|
920
922
|
if (!$$skipArray[name])
|
@@ -954,7 +956,6 @@ function observeObject(source, options) {
|
|
954
956
|
}
|
955
957
|
}
|
956
958
|
|
957
|
-
|
958
959
|
accessors["$model"] = $modelDescriptor
|
959
960
|
$vmodel = Object.defineProperties($vmodel, accessors, source)
|
960
961
|
function trackBy(name) {
|
@@ -1007,6 +1008,7 @@ function observeObject(source, options) {
|
|
1007
1008
|
$vmodel.$active = true
|
1008
1009
|
return $vmodel
|
1009
1010
|
}
|
1011
|
+
|
1010
1012
|
/*
|
1011
1013
|
新的VM拥有如下私有属性
|
1012
1014
|
$id: vm.id
|
@@ -1094,7 +1096,7 @@ function observe(obj, old, hasReturn, watch) {
|
|
1094
1096
|
}
|
1095
1097
|
|
1096
1098
|
function observeArray(array, old, watch) {
|
1097
|
-
if (old) {
|
1099
|
+
if (old && old.splice) {
|
1098
1100
|
var args = [0, old.length].concat(array)
|
1099
1101
|
old.splice.apply(old, args)
|
1100
1102
|
return old
|
@@ -1121,7 +1123,6 @@ function observeArray(array, old, watch) {
|
|
1121
1123
|
})
|
1122
1124
|
}
|
1123
1125
|
|
1124
|
-
|
1125
1126
|
Object.defineProperty(array, "$model", $modelDescriptor)
|
1126
1127
|
|
1127
1128
|
for (var j = 0, n = array.length; j < n; j++) {
|
@@ -1176,7 +1177,6 @@ var $modelDescriptor = {
|
|
1176
1177
|
configurable: true
|
1177
1178
|
}
|
1178
1179
|
|
1179
|
-
|
1180
1180
|
/*********************************************************************
|
1181
1181
|
* 监控数组(与ms-each, ms-repeat配合使用) *
|
1182
1182
|
**********************************************************************/
|
@@ -1253,6 +1253,7 @@ var newProto = {
|
|
1253
1253
|
return this.removeAll()
|
1254
1254
|
}
|
1255
1255
|
}
|
1256
|
+
|
1256
1257
|
var _splice = arrayProto.splice
|
1257
1258
|
arrayMethods.forEach(function (method) {
|
1258
1259
|
var original = arrayProto[method]
|
@@ -1345,9 +1346,11 @@ function addTrack(track, method, args) {
|
|
1345
1346
|
}
|
1346
1347
|
Array.prototype[method].apply(track, args)
|
1347
1348
|
}
|
1349
|
+
|
1348
1350
|
/*********************************************************************
|
1349
|
-
* 依赖调度系统
|
1351
|
+
* 依赖调度系统 *
|
1350
1352
|
**********************************************************************/
|
1353
|
+
|
1351
1354
|
//检测两个对象间的依赖关系
|
1352
1355
|
var dependencyDetection = (function () {
|
1353
1356
|
var outerFrames = []
|
@@ -1369,6 +1372,7 @@ var dependencyDetection = (function () {
|
|
1369
1372
|
}
|
1370
1373
|
};
|
1371
1374
|
})()
|
1375
|
+
|
1372
1376
|
//将绑定对象注入到其依赖项的订阅数组中
|
1373
1377
|
var roneval = /^on$/
|
1374
1378
|
|
@@ -1401,7 +1405,11 @@ avalon.injectBinding = function (binding) {
|
|
1401
1405
|
if (binding.type === "on") {
|
1402
1406
|
a = binding.getter + ""
|
1403
1407
|
} else {
|
1404
|
-
|
1408
|
+
try {
|
1409
|
+
a = binding.getter.apply(0, binding.args)
|
1410
|
+
} catch (ex) {
|
1411
|
+
a = null
|
1412
|
+
}
|
1405
1413
|
}
|
1406
1414
|
} else {
|
1407
1415
|
a = args[0]
|
@@ -1448,7 +1456,6 @@ avalon.injectBinding = function (binding) {
|
|
1448
1456
|
binding.update()
|
1449
1457
|
}
|
1450
1458
|
|
1451
|
-
|
1452
1459
|
//将依赖项(比它高层的访问器或构建视图刷新函数的绑定对象)注入到订阅者数组
|
1453
1460
|
function injectDependency(list, binding) {
|
1454
1461
|
if (binding.oneTime)
|
@@ -1461,7 +1468,6 @@ function injectDependency(list, binding) {
|
|
1461
1468
|
}
|
1462
1469
|
}
|
1463
1470
|
|
1464
|
-
|
1465
1471
|
function getProxyIds(a, isArray) {
|
1466
1472
|
var ret = []
|
1467
1473
|
for (var i = 0, el; el = a[i++]; ) {
|
@@ -1473,6 +1479,7 @@ function getProxyIds(a, isArray) {
|
|
1473
1479
|
/*********************************************************************
|
1474
1480
|
* 定时GC回收机制 *
|
1475
1481
|
**********************************************************************/
|
1482
|
+
|
1476
1483
|
var disposeCount = 0
|
1477
1484
|
var disposeQueue = avalon.$$subscribers = []
|
1478
1485
|
var beginTime = new Date()
|
@@ -1579,11 +1586,10 @@ function shouldDispose(el) {
|
|
1579
1586
|
return el.msRetain ? 0 : (el.nodeType === 1 ? !root.contains(el) : !avalon.contains(root, el))
|
1580
1587
|
}
|
1581
1588
|
|
1582
|
-
|
1583
|
-
|
1584
1589
|
/************************************************************************
|
1585
|
-
* HTML处理(parseHTML, innerHTML, clearHTML)
|
1586
|
-
|
1590
|
+
* HTML处理(parseHTML, innerHTML, clearHTML) *
|
1591
|
+
*************************************************************************/
|
1592
|
+
|
1587
1593
|
//parseHTML的辅助变量
|
1588
1594
|
var tagHooks = new function() {// jshint ignore:line
|
1589
1595
|
avalon.mix(this, {
|
@@ -1601,15 +1607,16 @@ var tagHooks = new function() {// jshint ignore:line
|
|
1601
1607
|
this.tbody = this.tfoot = this.colgroup = this.caption = this.thead
|
1602
1608
|
this.th = this.td
|
1603
1609
|
}// jshint ignore:line
|
1604
|
-
|
1605
1610
|
String("circle,defs,ellipse,image,line,path,polygon,polyline,rect,symbol,text,use").replace(rword, function(tag) {
|
1606
1611
|
tagHooks[tag] = tagHooks.g //处理SVG
|
1607
1612
|
})
|
1613
|
+
|
1608
1614
|
var rtagName = /<([\w:]+)/
|
1609
1615
|
var rxhtml = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig
|
1610
1616
|
var scriptTypes = oneObject(["", "text/javascript", "text/ecmascript", "application/ecmascript", "application/javascript"])
|
1611
1617
|
var script = DOC.createElement("script")
|
1612
1618
|
var rhtml = /<|&#?\w+;/
|
1619
|
+
|
1613
1620
|
avalon.parseHTML = function(html) {
|
1614
1621
|
var fragment = avalonFragment.cloneNode(false)
|
1615
1622
|
if (typeof html !== "string" ) {
|
@@ -1659,7 +1666,7 @@ avalon.clearHTML = function(node) {
|
|
1659
1666
|
}
|
1660
1667
|
|
1661
1668
|
/*********************************************************************
|
1662
|
-
* avalon的原型方法定义区
|
1669
|
+
* avalon的原型方法定义区 *
|
1663
1670
|
**********************************************************************/
|
1664
1671
|
|
1665
1672
|
function hyphen(target) {
|
@@ -1680,7 +1687,7 @@ function camelize(target) {
|
|
1680
1687
|
"add,remove".replace(rword, function (method) {
|
1681
1688
|
avalon.fn[method + "Class"] = function (cls) {
|
1682
1689
|
var el = this[0]
|
1683
|
-
|
1690
|
+
//https://developer.mozilla.org/zh-CN/docs/Mozilla/Firefox/Releases/26
|
1684
1691
|
if (cls && typeof cls === "string" && el && el.nodeType === 1) {
|
1685
1692
|
cls.replace(/\S+/g, function (c) {
|
1686
1693
|
el.classList[method](c)
|
@@ -1716,24 +1723,24 @@ avalon.fn.mix({
|
|
1716
1723
|
data: function (name, value) {
|
1717
1724
|
name = "data-" + hyphen(name || "")
|
1718
1725
|
switch (arguments.length) {
|
1719
|
-
|
1720
|
-
|
1721
|
-
|
1722
|
-
|
1723
|
-
|
1724
|
-
|
1725
|
-
|
1726
|
-
|
1727
|
-
|
1728
|
-
|
1729
|
-
|
1730
|
-
|
1731
|
-
|
1732
|
-
|
1726
|
+
case 2:
|
1727
|
+
this.attr(name, value)
|
1728
|
+
return this
|
1729
|
+
case 1:
|
1730
|
+
var val = this.attr(name)
|
1731
|
+
return parseData(val)
|
1732
|
+
case 0:
|
1733
|
+
var ret = {}
|
1734
|
+
ap.forEach.call(this[0].attributes, function (attr) {
|
1735
|
+
if (attr) {
|
1736
|
+
name = attr.name
|
1737
|
+
if (!name.indexOf("data-")) {
|
1738
|
+
name = camelize(name.slice(5))
|
1739
|
+
ret[name] = parseData(attr.value)
|
1740
|
+
}
|
1733
1741
|
}
|
1734
|
-
}
|
1735
|
-
|
1736
|
-
return ret
|
1742
|
+
})
|
1743
|
+
return ret
|
1737
1744
|
}
|
1738
1745
|
},
|
1739
1746
|
removeData: function (name) {
|
@@ -1753,11 +1760,11 @@ avalon.fn.mix({
|
|
1753
1760
|
},
|
1754
1761
|
position: function () {
|
1755
1762
|
var offsetParent, offset,
|
1756
|
-
|
1757
|
-
|
1758
|
-
|
1759
|
-
|
1760
|
-
|
1763
|
+
elem = this[0],
|
1764
|
+
parentOffset = {
|
1765
|
+
top: 0,
|
1766
|
+
left: 0
|
1767
|
+
};
|
1761
1768
|
if (!elem) {
|
1762
1769
|
return
|
1763
1770
|
}
|
@@ -1771,7 +1778,7 @@ avalon.fn.mix({
|
|
1771
1778
|
}
|
1772
1779
|
parentOffset.top += avalon.css(offsetParent[0], "borderTopWidth", true)
|
1773
1780
|
parentOffset.left += avalon.css(offsetParent[0], "borderLeftWidth", true)
|
1774
|
-
|
1781
|
+
// Subtract offsetParent scroll positions
|
1775
1782
|
parentOffset.top -= offsetParent.scrollTop()
|
1776
1783
|
parentOffset.left -= offsetParent.scrollLeft()
|
1777
1784
|
}
|
@@ -1821,18 +1828,18 @@ if (root.dataset) {
|
|
1821
1828
|
name = name && camelize(name)
|
1822
1829
|
var dataset = this[0].dataset
|
1823
1830
|
switch (arguments.length) {
|
1824
|
-
|
1825
|
-
|
1826
|
-
|
1827
|
-
|
1828
|
-
|
1829
|
-
|
1830
|
-
|
1831
|
-
|
1832
|
-
|
1833
|
-
|
1834
|
-
|
1835
|
-
|
1831
|
+
case 2:
|
1832
|
+
dataset[name] = val
|
1833
|
+
return this
|
1834
|
+
case 1:
|
1835
|
+
val = dataset[name]
|
1836
|
+
return parseData(val)
|
1837
|
+
case 0:
|
1838
|
+
var ret = createMap()
|
1839
|
+
for (name in dataset) {
|
1840
|
+
ret[name] = parseData(dataset[name])
|
1841
|
+
}
|
1842
|
+
return ret
|
1836
1843
|
}
|
1837
1844
|
}
|
1838
1845
|
}
|
@@ -1844,19 +1851,28 @@ function parseData(data) {
|
|
1844
1851
|
if (typeof data === "object")
|
1845
1852
|
return data
|
1846
1853
|
data = data === "true" ? true :
|
1847
|
-
|
1848
|
-
|
1849
|
-
} catch (e) {
|
1854
|
+
data === "false" ? false :
|
1855
|
+
data === "null" ? null : +data + "" === data ? +data : rbrace.test(data) ? JSON.parse(data) : data
|
1856
|
+
} catch (e) {
|
1857
|
+
}
|
1850
1858
|
return data
|
1851
1859
|
}
|
1860
|
+
|
1861
|
+
avalon.fireDom = function (elem, type, opts) {
|
1862
|
+
var hackEvent = DOC.createEvent("Events");
|
1863
|
+
hackEvent.initEvent(type, true, true)
|
1864
|
+
avalon.mix(hackEvent, opts)
|
1865
|
+
elem.dispatchEvent(hackEvent)
|
1866
|
+
}
|
1867
|
+
|
1852
1868
|
avalon.each({
|
1853
1869
|
scrollLeft: "pageXOffset",
|
1854
1870
|
scrollTop: "pageYOffset"
|
1855
1871
|
}, function (method, prop) {
|
1856
1872
|
avalon.fn[method] = function (val) {
|
1857
1873
|
var node = this[0] || {},
|
1858
|
-
|
1859
|
-
|
1874
|
+
win = getWindow(node),
|
1875
|
+
top = method === "scrollTop"
|
1860
1876
|
if (!arguments.length) {
|
1861
1877
|
return win ? win[prop] : node[method]
|
1862
1878
|
} else {
|
@@ -1920,7 +1936,7 @@ cssHooks["opacity:get"] = function (node) {
|
|
1920
1936
|
cssHooks[name + ":get"] = function (node) {
|
1921
1937
|
var computed = cssHooks["@:get"](node, name)
|
1922
1938
|
return /px$/.test(computed) ? computed :
|
1923
|
-
|
1939
|
+
avalon(node).position()[name] + "px"
|
1924
1940
|
}
|
1925
1941
|
})
|
1926
1942
|
var cssShow = {
|
@@ -1953,9 +1969,9 @@ function showHidden(node, array) {
|
|
1953
1969
|
|
1954
1970
|
"Width,Height".replace(rword, function (name) { //fix 481
|
1955
1971
|
var method = name.toLowerCase(),
|
1956
|
-
|
1957
|
-
|
1958
|
-
|
1972
|
+
clientProp = "client" + name,
|
1973
|
+
scrollProp = "scroll" + name,
|
1974
|
+
offsetProp = "offset" + name
|
1959
1975
|
cssHooks[method + ":get"] = function (node, which, override) {
|
1960
1976
|
var boxSizing = -4
|
1961
1977
|
if (typeof override === "number") {
|
@@ -1978,7 +1994,7 @@ function showHidden(node, array) {
|
|
1978
1994
|
var hidden = [];
|
1979
1995
|
showHidden(node, hidden);
|
1980
1996
|
var val = cssHooks[method + ":get"](node)
|
1981
|
-
for (var i = 0, obj; obj = hidden[i++];) {
|
1997
|
+
for (var i = 0, obj; obj = hidden[i++]; ) {
|
1982
1998
|
node = obj.node
|
1983
1999
|
for (var n in obj) {
|
1984
2000
|
if (typeof obj[n] === "string") {
|
@@ -1996,9 +2012,9 @@ function showHidden(node, array) {
|
|
1996
2012
|
}
|
1997
2013
|
if (node.nodeType === 9) { //取得页面尺寸
|
1998
2014
|
var doc = node.documentElement
|
1999
|
-
|
2000
|
-
|
2001
|
-
|
2015
|
+
//FF chrome html.scrollHeight< body.scrollHeight
|
2016
|
+
//IE 标准模式 : html.scrollHeight> body.scrollHeight
|
2017
|
+
//IE 怪异模式 : html.scrollHeight 最大等于可视窗口多一点?
|
2002
2018
|
return Math.max(node.body[scrollProp], doc[scrollProp], node.body[offsetProp], doc[offsetProp], doc[clientProp])
|
2003
2019
|
}
|
2004
2020
|
return cssHooks[method + "&get"](node)
|
@@ -2014,28 +2030,28 @@ function showHidden(node, array) {
|
|
2014
2030
|
}
|
2015
2031
|
})
|
2016
2032
|
avalon.fn.offset = function () { //取得距离页面左右角的坐标
|
2017
|
-
|
2018
|
-
|
2019
|
-
|
2020
|
-
|
2021
|
-
|
2022
|
-
|
2023
|
-
|
2024
|
-
|
2025
|
-
|
2026
|
-
return {
|
2027
|
-
top: rect.top + win.pageYOffset - root.clientTop,
|
2028
|
-
left: rect.left + win.pageXOffset - root.clientLeft
|
2029
|
-
}
|
2030
|
-
}
|
2031
|
-
} catch (e) {
|
2033
|
+
var node = this[0]
|
2034
|
+
try {
|
2035
|
+
var rect = node.getBoundingClientRect()
|
2036
|
+
// Make sure element is not hidden (display: none) or disconnected
|
2037
|
+
// https://github.com/jquery/jquery/pull/2043/files#r23981494
|
2038
|
+
if (rect.width || rect.height || node.getClientRects().length) {
|
2039
|
+
var doc = node.ownerDocument
|
2040
|
+
var root = doc.documentElement
|
2041
|
+
var win = doc.defaultView
|
2032
2042
|
return {
|
2033
|
-
|
2034
|
-
|
2043
|
+
top: rect.top + win.pageYOffset - root.clientTop,
|
2044
|
+
left: rect.left + win.pageXOffset - root.clientLeft
|
2035
2045
|
}
|
2036
2046
|
}
|
2047
|
+
} catch (e) {
|
2048
|
+
return {
|
2049
|
+
left: 0,
|
2050
|
+
top: 0
|
2051
|
+
}
|
2037
2052
|
}
|
2038
|
-
|
2053
|
+
}
|
2054
|
+
//=============================val相关=======================
|
2039
2055
|
|
2040
2056
|
function getValType(elem) {
|
2041
2057
|
var ret = elem.tagName.toLowerCase()
|
@@ -2044,16 +2060,16 @@ function getValType(elem) {
|
|
2044
2060
|
var valHooks = {
|
2045
2061
|
"select:get": function (node, value) {
|
2046
2062
|
var option, options = node.options,
|
2047
|
-
|
2048
|
-
|
2049
|
-
|
2050
|
-
|
2051
|
-
|
2063
|
+
index = node.selectedIndex,
|
2064
|
+
one = node.type === "select-one" || index < 0,
|
2065
|
+
values = one ? null : [],
|
2066
|
+
max = one ? index + 1 : options.length,
|
2067
|
+
i = index < 0 ? max : one ? index : 0
|
2052
2068
|
for (; i < max; i++) {
|
2053
2069
|
option = options[i]
|
2054
|
-
|
2055
|
-
|
2056
|
-
|
2070
|
+
//旧式IE在reset后不会改变selected,需要改用i === index判定
|
2071
|
+
//我们过滤所有disabled的option元素,但在safari5下,如果设置select为disable,那么其所有孩子都disable
|
2072
|
+
//因此当一个元素为disable,需要检测其是否显式设置了disable及其父节点的disable情况
|
2057
2073
|
if ((option.selected || i === index) && !option.disabled) {
|
2058
2074
|
value = option.value
|
2059
2075
|
if (one) {
|
@@ -2067,7 +2083,7 @@ var valHooks = {
|
|
2067
2083
|
},
|
2068
2084
|
"select:set": function (node, values, optionSet) {
|
2069
2085
|
values = [].concat(values) //强制转换为数组
|
2070
|
-
for (var i = 0, el; el = node.options[i++];) {
|
2086
|
+
for (var i = 0, el; el = node.options[i++]; ) {
|
2071
2087
|
if ((el.selected = values.indexOf(el.value) > -1)) {
|
2072
2088
|
optionSet = true
|
2073
2089
|
}
|
@@ -2090,13 +2106,13 @@ var keys = ["break,case,catch,continue,debugger,default,delete,do,else,false",
|
|
2090
2106
|
keys.replace(/\w+/g, function (a) {
|
2091
2107
|
keyMap[a] = true
|
2092
2108
|
})
|
2109
|
+
|
2093
2110
|
var ridentStart = /[a-z_$]/i
|
2094
2111
|
var rwhiteSpace = /[\s\uFEFF\xA0]/
|
2095
2112
|
function getIdent(input, lastIndex) {
|
2096
2113
|
var result = []
|
2097
2114
|
var subroutine = !!lastIndex
|
2098
2115
|
lastIndex = lastIndex || 0
|
2099
|
-
|
2100
2116
|
//将表达式中的标识符抽取出来
|
2101
2117
|
var state = "unknown"
|
2102
2118
|
var variable = ""
|
@@ -2180,12 +2196,14 @@ function getIdent(input, lastIndex) {
|
|
2180
2196
|
addVar(result, variable)
|
2181
2197
|
return result
|
2182
2198
|
}
|
2199
|
+
|
2183
2200
|
function addVar(array, element) {
|
2184
2201
|
if (element && !keyMap[element]) {
|
2185
2202
|
array.push(element)
|
2186
2203
|
return true
|
2187
2204
|
}
|
2188
2205
|
}
|
2206
|
+
|
2189
2207
|
function addAssign(vars, vmodel, name, binding) {
|
2190
2208
|
var ret = [],
|
2191
2209
|
prefix = " = " + name + "."
|
@@ -2207,6 +2225,7 @@ function addAssign(vars, vmodel, name, binding) {
|
|
2207
2225
|
}
|
2208
2226
|
return ret
|
2209
2227
|
}
|
2228
|
+
|
2210
2229
|
var rproxy = /(\$proxy\$[a-z]+)\d+$/
|
2211
2230
|
var variablePool = new Cache(218)
|
2212
2231
|
//缓存求值函数,以便多次利用
|
@@ -2309,7 +2328,6 @@ function parseExpr(expr, vmodels, binding) {
|
|
2309
2328
|
return evaluatorPool.put(exprId, getter)
|
2310
2329
|
|
2311
2330
|
}
|
2312
|
-
//========
|
2313
2331
|
|
2314
2332
|
function normalizeExpr(code) {
|
2315
2333
|
var hasExpr = rexpr.test(code) //比如ms-class="width{{w}}"的情况
|
@@ -2354,10 +2372,13 @@ function parseFilter(filters) {
|
|
2354
2372
|
/* jshint ignore:end */
|
2355
2373
|
|
2356
2374
|
}
|
2375
|
+
|
2357
2376
|
/*********************************************************************
|
2358
2377
|
* 编译系统 *
|
2359
2378
|
**********************************************************************/
|
2379
|
+
|
2360
2380
|
var quote = JSON.stringify
|
2381
|
+
|
2361
2382
|
/*********************************************************************
|
2362
2383
|
* 扫描系统 *
|
2363
2384
|
**********************************************************************/
|
@@ -2383,7 +2404,6 @@ function checkScan(elem, callback, innerHTML) {
|
|
2383
2404
|
})
|
2384
2405
|
}
|
2385
2406
|
|
2386
|
-
|
2387
2407
|
function createSignalTower(elem, vmodel) {
|
2388
2408
|
var id = elem.getAttribute("avalonctrl") || vmodel.$id
|
2389
2409
|
elem.setAttribute("avalonctrl", id)
|
@@ -2444,6 +2464,26 @@ function bindingSorter(a, b) {
|
|
2444
2464
|
return a.priority - b.priority
|
2445
2465
|
}
|
2446
2466
|
|
2467
|
+
var rnoCollect = /^(ms-\S+|data-\S+|on[a-z]+|id|style|class)$/
|
2468
|
+
var ronattr = /^on\-[\w-]+$/
|
2469
|
+
function getOptionsFromTag(elem, vmodels) {
|
2470
|
+
var attributes = elem.attributes
|
2471
|
+
var ret = {}
|
2472
|
+
for (var i = 0, attr; attr = attributes[i++]; ) {
|
2473
|
+
var name = attr.name
|
2474
|
+
if (attr.specified && !rnoCollect.test(name)) {
|
2475
|
+
var camelizeName = camelize(attr.name)
|
2476
|
+
if (/^on\-[\w-]+$/.test(name)) {
|
2477
|
+
ret[camelizeName] = getBindingCallback(elem, name, vmodels)
|
2478
|
+
} else {
|
2479
|
+
ret[camelizeName] = parseData(attr.value)
|
2480
|
+
}
|
2481
|
+
}
|
2482
|
+
|
2483
|
+
}
|
2484
|
+
return ret
|
2485
|
+
}
|
2486
|
+
|
2447
2487
|
function scanAttr(elem, vmodels, match) {
|
2448
2488
|
var scanNode = true
|
2449
2489
|
if (vmodels.length) {
|
@@ -2531,28 +2571,21 @@ function scanAttr(elem, vmodels, match) {
|
|
2531
2571
|
var rnoscanAttrBinding = /^if|widget|repeat$/
|
2532
2572
|
var rnoscanNodeBinding = /^each|with|html|include$/
|
2533
2573
|
|
2534
|
-
var rnoCollect = /^(ms-\S+|data-\S+|on[a-z]+|id|style|class|tabindex)$/
|
2535
|
-
function getOptionsFromTag(elem) {
|
2536
|
-
var attributes = elem.attributes
|
2537
|
-
var ret = {}
|
2538
|
-
for (var i = 0, attr; attr = attributes[i++]; ) {
|
2539
|
-
if (attr.specified && !rnoCollect.test(attr.name)) {
|
2540
|
-
ret[camelize(attr.name)] = parseData(attr.value)
|
2541
|
-
}
|
2542
|
-
}
|
2543
|
-
return ret
|
2544
|
-
}
|
2545
2574
|
function scanNodeList(parent, vmodels) {
|
2546
2575
|
var nodes = avalon.slice(parent.childNodes)
|
2547
2576
|
scanNodeArray(nodes, vmodels)
|
2548
2577
|
}
|
2549
2578
|
|
2550
|
-
|
2551
2579
|
function scanNodeArray(nodes, vmodels) {
|
2580
|
+
function _delay_component(name) {
|
2581
|
+
setTimeout(function () {
|
2582
|
+
avalon.component(name)
|
2583
|
+
})
|
2584
|
+
}
|
2552
2585
|
for (var i = 0, node; node = nodes[i++]; ) {
|
2553
2586
|
switch (node.nodeType) {
|
2554
2587
|
case 1:
|
2555
|
-
var elem = node
|
2588
|
+
var elem = node
|
2556
2589
|
if (!elem.msResolved && elem.parentNode && elem.parentNode.nodeType === 1) {
|
2557
2590
|
var library = isWidget(elem)
|
2558
2591
|
if (library) {
|
@@ -2567,11 +2600,14 @@ function scanNodeArray(nodes, vmodels) {
|
|
2567
2600
|
name: "widget"
|
2568
2601
|
})
|
2569
2602
|
if (avalon.components[fullName]) {
|
2570
|
-
|
2603
|
+
//确保所有ms-attr-name扫描完再处理
|
2604
|
+
_delay_component(fullName)
|
2571
2605
|
}
|
2572
2606
|
}
|
2573
2607
|
}
|
2574
|
-
|
2608
|
+
|
2609
|
+
scanTag(node, vmodels) //扫描元素节点
|
2610
|
+
|
2575
2611
|
if (node.msHasEvent) {
|
2576
2612
|
avalon.fireDom(node, "datasetchanged", {
|
2577
2613
|
bubble: node.msHasEvent
|
@@ -2589,7 +2625,6 @@ function scanNodeArray(nodes, vmodels) {
|
|
2589
2625
|
}
|
2590
2626
|
}
|
2591
2627
|
|
2592
|
-
|
2593
2628
|
function scanTag(elem, vmodels, node) {
|
2594
2629
|
//扫描顺序 ms-skip(0) --> ms-important(1) --> ms-controller(2) --> ms-if(10) --> ms-repeat(100)
|
2595
2630
|
//--> ms-if-loop(110) --> ms-attr(970) ...--> ms-each(1400)-->ms-with(1500)--〉ms-duplex(2000)垫后
|
@@ -2610,6 +2645,12 @@ function scanTag(elem, vmodels, node) {
|
|
2610
2645
|
createSignalTower(elem, newVmodel)
|
2611
2646
|
}
|
2612
2647
|
scanAttr(elem, vmodels) //扫描特性节点
|
2648
|
+
|
2649
|
+
if (newVmodel) {
|
2650
|
+
setTimeout(function () {
|
2651
|
+
newVmodel.$fire("ms-scan-end", elem)
|
2652
|
+
})
|
2653
|
+
}
|
2613
2654
|
}
|
2614
2655
|
var rhasHtml = /\|\s*html(?:\b|$)/,
|
2615
2656
|
r11a = /\|\|/g,
|
@@ -2700,8 +2741,6 @@ function scanText(textNode, vmodels, index) {
|
|
2700
2741
|
}
|
2701
2742
|
}
|
2702
2743
|
|
2703
|
-
|
2704
|
-
|
2705
2744
|
//使用来自游戏界的双缓冲技术,减少对视图的冗余刷新
|
2706
2745
|
var Buffer = function () {
|
2707
2746
|
this.queue = []
|
@@ -2726,6 +2765,7 @@ Buffer.prototype = {
|
|
2726
2765
|
}
|
2727
2766
|
|
2728
2767
|
var buffer = new Buffer()
|
2768
|
+
|
2729
2769
|
var componentQueue = []
|
2730
2770
|
var widgetList = []
|
2731
2771
|
var componentHooks = {
|
@@ -2744,7 +2784,6 @@ var componentHooks = {
|
|
2744
2784
|
}
|
2745
2785
|
}
|
2746
2786
|
|
2747
|
-
|
2748
2787
|
avalon.components = {}
|
2749
2788
|
avalon.component = function (name, opts) {
|
2750
2789
|
if (opts) {
|
@@ -2756,15 +2795,24 @@ avalon.component = function (name, opts) {
|
|
2756
2795
|
i--;
|
2757
2796
|
|
2758
2797
|
(function (host, hooks, elem, widget) {
|
2759
|
-
|
2798
|
+
//如果elem已从Document里移除,直接返回
|
2799
|
+
//issuse : https://github.com/RubyLouvre/avalon2/issues/40
|
2800
|
+
if (!avalon.contains(DOC, elem) || elem.msResolved) {
|
2801
|
+
avalon.Array.remove(componentQueue, host)
|
2802
|
+
return
|
2803
|
+
}
|
2804
|
+
|
2760
2805
|
var dependencies = 1
|
2761
2806
|
var library = host.library
|
2762
2807
|
var global = avalon.libraries[library] || componentHooks
|
2763
2808
|
|
2764
2809
|
//===========收集各种配置=======
|
2765
|
-
|
2766
|
-
|
2767
|
-
|
2810
|
+
if (elem.getAttribute("ms-attr-identifier")) {
|
2811
|
+
//如果还没有解析完,就延迟一下 #1155
|
2812
|
+
return
|
2813
|
+
}
|
2814
|
+
var elemOpts = getOptionsFromTag(elem, host.vmodels)
|
2815
|
+
var vmOpts = getOptionsFromVM(host.vmodels, elemOpts.config || host.fullName)
|
2768
2816
|
var $id = elemOpts.$id || elemOpts.identifier || generateID(widget)
|
2769
2817
|
delete elemOpts.config
|
2770
2818
|
delete elemOpts.$id
|
@@ -2794,7 +2842,7 @@ avalon.component = function (name, opts) {
|
|
2794
2842
|
delete componentDefinition.$construct
|
2795
2843
|
|
2796
2844
|
var vmodel = avalon.define(componentDefinition) || {}
|
2797
|
-
elem.msResolved = 1
|
2845
|
+
elem.msResolved = 1 //防止二进扫描此元素
|
2798
2846
|
vmodel.$init(vmodel, elem)
|
2799
2847
|
global.$init(vmodel, elem)
|
2800
2848
|
var nodes = elem.childNodes
|
@@ -2811,7 +2859,6 @@ avalon.component = function (name, opts) {
|
|
2811
2859
|
}
|
2812
2860
|
}
|
2813
2861
|
|
2814
|
-
|
2815
2862
|
if (vmodel.$$template) {
|
2816
2863
|
avalon.clearHTML(elem)
|
2817
2864
|
elem.innerHTML = vmodel.$$template(keepTemplate)
|
@@ -2830,12 +2877,17 @@ avalon.component = function (name, opts) {
|
|
2830
2877
|
}
|
2831
2878
|
}
|
2832
2879
|
slots = null
|
2833
|
-
var child = elem.firstChild
|
2880
|
+
var child = elem.children[0] || elem.firstChild
|
2834
2881
|
if (keepReplace) {
|
2835
|
-
child = elem.firstChild
|
2836
2882
|
elem.parentNode.replaceChild(child, elem)
|
2837
2883
|
child.msResolved = 1
|
2884
|
+
var cssText = elem.style.cssText
|
2885
|
+
var className = elem.className
|
2838
2886
|
elem = host.element = child
|
2887
|
+
elem.style.cssText += ";"+ cssText
|
2888
|
+
if (className) {
|
2889
|
+
avalon(elem).addClass(className)
|
2890
|
+
}
|
2839
2891
|
}
|
2840
2892
|
if (keepContainer) {
|
2841
2893
|
keepContainer.appendChild(elem)
|
@@ -2858,7 +2910,7 @@ avalon.component = function (name, opts) {
|
|
2858
2910
|
if (dependencies === 0) {
|
2859
2911
|
var id1 = setTimeout(function () {
|
2860
2912
|
clearTimeout(id1)
|
2861
|
-
|
2913
|
+
|
2862
2914
|
vmodel.$ready(vmodel, elem, host.vmodels)
|
2863
2915
|
global.$ready(vmodel, elem, host.vmodels)
|
2864
2916
|
}, children ? Math.max(children * 17, 100) : 17)
|
@@ -2882,7 +2934,6 @@ avalon.component = function (name, opts) {
|
|
2882
2934
|
}
|
2883
2935
|
})
|
2884
2936
|
scanTag(elem, [vmodel].concat(host.vmodels))
|
2885
|
-
|
2886
2937
|
avalon.vmodels[vmodel.$id] = vmodel
|
2887
2938
|
if (!elem.childNodes.length) {
|
2888
2939
|
avalon.fireDom(elem, "datasetchanged", {library: library, vm: vmodel, childReady: -1})
|
@@ -2893,28 +2944,12 @@ avalon.component = function (name, opts) {
|
|
2893
2944
|
}, 17)
|
2894
2945
|
}
|
2895
2946
|
|
2896
|
-
|
2897
2947
|
})(obj, avalon.components[name], obj.element, obj.widget)// jshint ignore:line
|
2898
2948
|
|
2899
|
-
|
2900
2949
|
}
|
2901
2950
|
}
|
2902
2951
|
}
|
2903
2952
|
|
2904
|
-
avalon.fireDom = function (elem, type, opts) {
|
2905
|
-
if (DOC.createEvent) {
|
2906
|
-
var hackEvent = DOC.createEvent("Events");
|
2907
|
-
hackEvent.initEvent(type, true, true, opts)
|
2908
|
-
avalon.mix(hackEvent, opts)
|
2909
|
-
|
2910
|
-
elem.dispatchEvent(hackEvent)
|
2911
|
-
} else if (root.contains(elem)) {//IE6-8触发事件必须保证在DOM树中,否则报"SCRIPT16389: 未指明的错误"
|
2912
|
-
hackEvent = DOC.createEventObject()
|
2913
|
-
avalon.mix(hackEvent, opts)
|
2914
|
-
elem.fireEvent("on" + type, hackEvent)
|
2915
|
-
}
|
2916
|
-
}
|
2917
|
-
|
2918
2953
|
|
2919
2954
|
function getOptionsFromVM(vmodels, pre) {
|
2920
2955
|
if (pre) {
|
@@ -2929,8 +2964,6 @@ function getOptionsFromVM(vmodels, pre) {
|
|
2929
2964
|
return {}
|
2930
2965
|
}
|
2931
2966
|
|
2932
|
-
|
2933
|
-
|
2934
2967
|
avalon.libraries = []
|
2935
2968
|
avalon.library = function (name, opts) {
|
2936
2969
|
if (DOC.namespaces) {
|
@@ -2944,19 +2977,20 @@ avalon.library = function (name, opts) {
|
|
2944
2977
|
}
|
2945
2978
|
|
2946
2979
|
avalon.library("ms")
|
2947
|
-
/*
|
2948
|
-
broswer nodeName scopeName localName
|
2949
|
-
IE9 ONI:BUTTON oni button
|
2950
|
-
IE10 ONI:BUTTON undefined oni:button
|
2951
|
-
IE8 button oni undefined
|
2952
|
-
chrome ONI:BUTTON undefined oni:button
|
2953
2980
|
|
2954
|
-
|
2981
|
+
/*
|
2982
|
+
broswer nodeName scopeName localName
|
2983
|
+
IE9 ONI:BUTTON oni button
|
2984
|
+
IE10 ONI:BUTTON undefined oni:button
|
2985
|
+
IE8 button oni undefined
|
2986
|
+
chrome ONI:BUTTON undefined oni:button
|
2987
|
+
|
2988
|
+
*/
|
2955
2989
|
function isWidget(el) { //如果为自定义标签,返回UI库的名字
|
2956
|
-
if(el.scopeName && el.scopeName !== "HTML"
|
2990
|
+
if (el.scopeName && el.scopeName !== "HTML") {
|
2957
2991
|
return el.scopeName
|
2958
2992
|
}
|
2959
|
-
var fullName = el.nodeName.toLowerCase()
|
2993
|
+
var fullName = el.nodeName.toLowerCase()
|
2960
2994
|
var index = fullName.indexOf(":")
|
2961
2995
|
if (index > 0) {
|
2962
2996
|
return fullName.slice(0, index)
|
@@ -2965,7 +2999,6 @@ function isWidget(el) { //如果为自定义标签,返回UI库的名字
|
|
2965
2999
|
//各种MVVM框架在大型表格下的性能测试
|
2966
3000
|
// https://github.com/RubyLouvre/avalon/issues/859
|
2967
3001
|
|
2968
|
-
|
2969
3002
|
var bools = ["autofocus,autoplay,async,allowTransparency,checked,controls",
|
2970
3003
|
"declare,disabled,defer,defaultChecked,defaultSelected",
|
2971
3004
|
"contentEditable,isMap,loop,multiple,noHref,noResize,noShade",
|
@@ -3065,8 +3098,6 @@ var attrDir = avalon.directive("attr", {
|
|
3065
3098
|
}
|
3066
3099
|
})
|
3067
3100
|
|
3068
|
-
|
3069
|
-
|
3070
3101
|
//这几个指令都可以使用插值表达式,如ms-src="aaa/{{b}}/{{c}}.html"
|
3071
3102
|
"title,alt,src,value,css,include,href".replace(rword, function (name) {
|
3072
3103
|
directives[name] = attrDir
|
@@ -3140,7 +3171,6 @@ avalon.directive("class", {
|
|
3140
3171
|
directives[name] = directives["class"]
|
3141
3172
|
})
|
3142
3173
|
|
3143
|
-
|
3144
3174
|
//ms-controller绑定已经在scanTag 方法中实现
|
3145
3175
|
avalon.directive("css", {
|
3146
3176
|
init: directives.attr.init,
|
@@ -3210,7 +3240,7 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3210
3240
|
"input"
|
3211
3241
|
}
|
3212
3242
|
//===================绑定事件======================
|
3213
|
-
binding.bound = function (type, callback) {
|
3243
|
+
var bound = binding.bound = function (type, callback) {
|
3214
3244
|
elem.addEventListener(type, callback, false)
|
3215
3245
|
var old = binding.rollback
|
3216
3246
|
binding.rollback = function () {
|
@@ -3219,34 +3249,35 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3219
3249
|
old && old()
|
3220
3250
|
}
|
3221
3251
|
}
|
3222
|
-
var composing = false
|
3223
3252
|
function callback(value) {
|
3224
3253
|
binding.changed.call(this, value, binding)
|
3225
3254
|
}
|
3255
|
+
var composing = false
|
3226
3256
|
function compositionStart() {
|
3227
3257
|
composing = true
|
3228
3258
|
}
|
3229
3259
|
function compositionEnd() {
|
3230
3260
|
composing = false
|
3231
3261
|
}
|
3232
|
-
var updateVModel = function () {
|
3262
|
+
var updateVModel = function (e) {
|
3233
3263
|
var val = elem.value //防止递归调用形成死循环
|
3234
3264
|
if (composing || val === binding.oldValue || binding.pipe === null) //处理中文输入法在minlengh下引发的BUG
|
3235
3265
|
return
|
3236
3266
|
var lastValue = binding.pipe(val, binding, "get")
|
3267
|
+
binding.oldValue = val
|
3237
3268
|
binding.setter(lastValue)
|
3238
3269
|
callback.call(elem, lastValue)
|
3239
3270
|
}
|
3240
3271
|
switch (binding.xtype) {
|
3241
3272
|
case "radio":
|
3242
|
-
|
3273
|
+
bound("click", function () {
|
3243
3274
|
var lastValue = binding.pipe(elem.value, binding, "get")
|
3244
3275
|
binding.setter(lastValue)
|
3245
3276
|
callback.call(elem, lastValue)
|
3246
3277
|
})
|
3247
3278
|
break
|
3248
3279
|
case "checkbox":
|
3249
|
-
|
3280
|
+
bound("change", function () {
|
3250
3281
|
var method = elem.checked ? "ensure" : "remove"
|
3251
3282
|
var array = binding.getter.apply(0, binding.vmodels)
|
3252
3283
|
if (!Array.isArray(array)) {
|
@@ -3259,25 +3290,19 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3259
3290
|
})
|
3260
3291
|
break
|
3261
3292
|
case "change":
|
3262
|
-
|
3293
|
+
bound("change", updateVModel)
|
3263
3294
|
break
|
3264
3295
|
case "input":
|
3265
|
-
|
3266
|
-
|
3267
|
-
|
3268
|
-
|
3269
|
-
|
3270
|
-
|
3271
|
-
} else { //onpropertychange事件无法区分是程序触发还是用户触发
|
3272
|
-
// IE下通过selectionchange事件监听IE9+点击input右边的X的清空行为,及粘贴,剪切,删除行为
|
3273
|
-
binding.bound("input", updateVModel) //IE9使用propertychange无法监听中文输入改动
|
3274
|
-
//http://www.cnblogs.com/rubylouvre/archive/2013/02/17/2914604.html
|
3275
|
-
//http://www.matts411.com/post/internet-explorer-9-oninput/
|
3296
|
+
bound("input", updateVModel)
|
3297
|
+
bound("keyup", updateVModel)
|
3298
|
+
if (!IEVersion) {
|
3299
|
+
bound("compositionstart", compositionStart)
|
3300
|
+
bound("compositionend", compositionEnd)
|
3301
|
+
bound("DOMAutoComplete", updateVModel)
|
3276
3302
|
}
|
3277
|
-
|
3278
3303
|
break
|
3279
3304
|
case "select":
|
3280
|
-
|
3305
|
+
bound("change", function () {
|
3281
3306
|
var val = avalon(elem).val() //字符串或字符串数组
|
3282
3307
|
if (Array.isArray(val)) {
|
3283
3308
|
val = val.map(function (v) {
|
@@ -3294,7 +3319,7 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3294
3319
|
}
|
3295
3320
|
}
|
3296
3321
|
})
|
3297
|
-
|
3322
|
+
bound("datasetchanged", function (e) {
|
3298
3323
|
if (e.bubble === "selectDuplex") {
|
3299
3324
|
var value = binding._value
|
3300
3325
|
var curValue = Array.isArray(value) ? value.map(String) : value + ""
|
@@ -3307,17 +3332,17 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3307
3332
|
}
|
3308
3333
|
if (binding.xtype === "input" && !rnoduplexInput.test(elem.type)) {
|
3309
3334
|
if (elem.type !== "hidden") {
|
3310
|
-
|
3335
|
+
bound("focus", function () {
|
3311
3336
|
elem.msFocus = true
|
3312
3337
|
})
|
3313
|
-
|
3338
|
+
bound("blur", function () {
|
3314
3339
|
elem.msFocus = false
|
3315
3340
|
})
|
3316
3341
|
}
|
3317
3342
|
elem.avalonSetter = updateVModel //#765
|
3318
3343
|
watchValueInTimer(function () {
|
3319
3344
|
if (root.contains(elem)) {
|
3320
|
-
if (!elem.msFocus
|
3345
|
+
if (!elem.msFocus) {
|
3321
3346
|
updateVModel()
|
3322
3347
|
}
|
3323
3348
|
} else if (!elem.msRetain) {
|
@@ -3356,7 +3381,7 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3356
3381
|
}
|
3357
3382
|
}
|
3358
3383
|
elem.value = this.oldValue = curValue
|
3359
|
-
if (fixCaret) {
|
3384
|
+
if (fixCaret && !elem.readOnly) {
|
3360
3385
|
elem.selectionStart = elem.selectionEnd = pos
|
3361
3386
|
}
|
3362
3387
|
}
|
@@ -3383,9 +3408,6 @@ var duplexBinding = avalon.directive("duplex", {
|
|
3383
3408
|
}
|
3384
3409
|
break
|
3385
3410
|
}
|
3386
|
-
if (binding.xtype !== "select") {
|
3387
|
-
binding.changed.call(elem, curValue, binding)
|
3388
|
-
}
|
3389
3411
|
}
|
3390
3412
|
})
|
3391
3413
|
|
@@ -3674,7 +3696,7 @@ function upperFirstChar(str) {
|
|
3674
3696
|
}
|
3675
3697
|
var effectBuffer = new Buffer()
|
3676
3698
|
function Effect() {
|
3677
|
-
}
|
3699
|
+
}//动画实例,做成类的形式,是为了共用所有原型方法
|
3678
3700
|
|
3679
3701
|
Effect.prototype = {
|
3680
3702
|
contrustor: Effect,
|
@@ -3697,7 +3719,7 @@ Effect.prototype = {
|
|
3697
3719
|
callEffectHook(me, "abort" + upperFirstChar(oppositeName))
|
3698
3720
|
callEffectHook(me, "before" + upperFirstChar(name))
|
3699
3721
|
if (!isLeave)
|
3700
|
-
before(el)
|
3722
|
+
before(el) //这里可能做插入DOM树的操作,因此必须在修改类名前执行
|
3701
3723
|
var cssCallback = function (cancel) {
|
3702
3724
|
el.removeEventListener(me.cssEvent, me.cssCallback)
|
3703
3725
|
if (isLeave) {
|
@@ -3816,7 +3838,6 @@ avalon.mix(avalon.effect, {
|
|
3816
3838
|
}
|
3817
3839
|
})
|
3818
3840
|
|
3819
|
-
|
3820
3841
|
avalon.directive("html", {
|
3821
3842
|
update: function (val) {
|
3822
3843
|
var binding = this
|
@@ -3924,7 +3945,7 @@ avalon.directive("if", {
|
|
3924
3945
|
elem.required = false
|
3925
3946
|
elem.setAttribute("_required", "true")
|
3926
3947
|
}
|
3927
|
-
try {
|
3948
|
+
try {//如果不支持querySelectorAll或:required,可以直接无视
|
3928
3949
|
avalon.each(elem.querySelectorAll(":required"), function (el) {
|
3929
3950
|
elem.required = false
|
3930
3951
|
el.setAttribute("_required", "true")
|
@@ -3960,8 +3981,6 @@ avalon.directive("if", {
|
|
3960
3981
|
}
|
3961
3982
|
})
|
3962
3983
|
|
3963
|
-
|
3964
|
-
|
3965
3984
|
//ms-important绑定已经在scanTag 方法中实现
|
3966
3985
|
var rnoscripts = /<noscript.*?>(?:[\s\S]+?)<\/noscript>/img
|
3967
3986
|
var rnoscriptText = /<noscript.*?>([\s\S]+?)<\/noscript>/im
|
@@ -4084,7 +4103,7 @@ avalon.directive("include", {
|
|
4084
4103
|
return nodesToFrag(nodes)
|
4085
4104
|
}
|
4086
4105
|
} else {
|
4087
|
-
before = function () {
|
4106
|
+
before = function () {//新添加元素的动画
|
4088
4107
|
target.insertBefore(fragment, binding.end)
|
4089
4108
|
scanNodeArray(nodes, vmodels)
|
4090
4109
|
}
|
@@ -4302,7 +4321,7 @@ avalon.directive("repeat", {
|
|
4302
4321
|
}
|
4303
4322
|
|
4304
4323
|
//重写proxy
|
4305
|
-
if (this.enterCount === 1) {
|
4324
|
+
if (this.enterCount === 1) {//防止多次进入,导致位置不对
|
4306
4325
|
proxy.$active = false
|
4307
4326
|
proxy.$oldIndex = proxy.$index
|
4308
4327
|
proxy.$active = true
|
@@ -4315,7 +4334,7 @@ avalon.directive("repeat", {
|
|
4315
4334
|
proxy.$last = i === length - 1
|
4316
4335
|
// proxy[param] = value[i]
|
4317
4336
|
} else {
|
4318
|
-
proxy.$val = toJson(value[keyOrId])
|
4337
|
+
proxy.$val = toJson(value[keyOrId]) //这里是处理vm.object = newObject的情况
|
4319
4338
|
}
|
4320
4339
|
proxies.push(proxy)
|
4321
4340
|
}
|
@@ -4366,7 +4385,7 @@ avalon.directive("repeat", {
|
|
4366
4385
|
} else if (proxy.$index !== proxy.$oldIndex) {
|
4367
4386
|
(function (proxy2, preElement) {
|
4368
4387
|
staggerIndex = mayStaggerAnimate(binding.effectEnterStagger, function () {
|
4369
|
-
var curNode = removeItem(proxy2.$anchor)
|
4388
|
+
var curNode = removeItem(proxy2.$anchor)//如果位置被挪动了
|
4370
4389
|
var inserted = avalon.slice(curNode.childNodes)
|
4371
4390
|
parent.insertBefore(curNode, preElement.nextSibling)
|
4372
4391
|
animateRepeat(inserted, 1, binding)
|
@@ -4602,9 +4621,11 @@ function proxyRecycler(cache, key, param) {
|
|
4602
4621
|
delete cache[key]
|
4603
4622
|
}
|
4604
4623
|
}
|
4624
|
+
|
4605
4625
|
/*********************************************************************
|
4606
4626
|
* 各种指令 *
|
4607
4627
|
**********************************************************************/
|
4628
|
+
|
4608
4629
|
//ms-skip绑定已经在scanTag 方法中实现
|
4609
4630
|
avalon.directive("text", {
|
4610
4631
|
update: function (val) {
|
@@ -4647,7 +4668,7 @@ avalon.directive("visible", {
|
|
4647
4668
|
var binding = this, elem = this.element, stamp
|
4648
4669
|
var noEffect = !this.effectName
|
4649
4670
|
if (!this.stamp) {
|
4650
|
-
stamp = this.stamp = +new Date
|
4671
|
+
stamp = this.stamp = +new Date()
|
4651
4672
|
if (val) {
|
4652
4673
|
elem.style.display = binding.display || ""
|
4653
4674
|
if (avalon(elem).css("display") === "none") {
|
@@ -4658,7 +4679,7 @@ avalon.directive("visible", {
|
|
4658
4679
|
}
|
4659
4680
|
return
|
4660
4681
|
}
|
4661
|
-
stamp = this.stamp = +new Date
|
4682
|
+
stamp = this.stamp = +new Date()
|
4662
4683
|
if (val) {
|
4663
4684
|
avalon.effect.apply(elem, 1, function () {
|
4664
4685
|
if (stamp !== binding.stamp)
|
@@ -4686,8 +4707,9 @@ avalon.directive("visible", {
|
|
4686
4707
|
})
|
4687
4708
|
|
4688
4709
|
/*********************************************************************
|
4689
|
-
* 自带过滤器
|
4710
|
+
* 自带过滤器 *
|
4690
4711
|
**********************************************************************/
|
4712
|
+
|
4691
4713
|
var rscripts = /<script[^>]*>([\S\s]*?)<\/script\s*>/gim
|
4692
4714
|
var ron = /\s+(on[^=\s]+)(?:=("[^"]*"|'[^']*'|[^\s>]+))?/g
|
4693
4715
|
var ropen = /<\w+\b(?:(["'])[^"]*?(\1)|[^>])*>/ig
|
@@ -4701,10 +4723,10 @@ var rnoalphanumeric = /([^\#-~| |!])/g;
|
|
4701
4723
|
|
4702
4724
|
function numberFormat(number, decimals, point, thousands) {
|
4703
4725
|
//form http://phpjs.org/functions/number_format/
|
4704
|
-
//number
|
4705
|
-
//decimals
|
4706
|
-
//point
|
4707
|
-
//thousands
|
4726
|
+
//number 必需,要格式化的数字
|
4727
|
+
//decimals 可选,规定多少个小数位。
|
4728
|
+
//point 可选,规定用作小数点的字符串(默认为 . )。
|
4729
|
+
//thousands 可选,规定用作千位分隔符的字符串(默认为 , ),如果设置了该参数,那么所有其他参数都是必需的。
|
4708
4730
|
number = (number + '')
|
4709
4731
|
.replace(/[^0-9+\-Ee.]/g, '')
|
4710
4732
|
var n = !isFinite(+number) ? 0 : +number,
|
@@ -4732,7 +4754,6 @@ function numberFormat(number, decimals, point, thousands) {
|
|
4732
4754
|
return s.join(dec)
|
4733
4755
|
}
|
4734
4756
|
|
4735
|
-
|
4736
4757
|
var filters = avalon.filters = {
|
4737
4758
|
uppercase: function(str) {
|
4738
4759
|
return str.toUpperCase()
|
@@ -4799,6 +4820,7 @@ var filters = avalon.filters = {
|
|
4799
4820
|
},
|
4800
4821
|
number: numberFormat
|
4801
4822
|
}
|
4823
|
+
|
4802
4824
|
/*
|
4803
4825
|
'yyyy': 4 digit representation of year (e.g. AD 1 => 0001, AD 2010 => 2010)
|
4804
4826
|
'yy': 2 digit representation of year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)
|
@@ -5033,9 +5055,11 @@ new function() {// jshint ignore:line
|
|
5033
5055
|
locate.SHORTMONTH = locate.MONTH
|
5034
5056
|
filters.date.locate = locate
|
5035
5057
|
}// jshint ignore:line
|
5058
|
+
|
5036
5059
|
/*********************************************************************
|
5037
|
-
* DOMReady
|
5060
|
+
* DOMReady *
|
5038
5061
|
**********************************************************************/
|
5062
|
+
|
5039
5063
|
var readyList = [],
|
5040
5064
|
isReady
|
5041
5065
|
var fireReady = function (fn) {
|
@@ -5050,7 +5074,6 @@ var fireReady = function (fn) {
|
|
5050
5074
|
}
|
5051
5075
|
}
|
5052
5076
|
|
5053
|
-
|
5054
5077
|
if (DOC.readyState === "complete") {
|
5055
5078
|
setTimeout(fireReady) //如果在domReady之外加载
|
5056
5079
|
} else {
|
@@ -5064,6 +5087,7 @@ avalon.ready = function (fn) {
|
|
5064
5087
|
fn(avalon)
|
5065
5088
|
}
|
5066
5089
|
}
|
5090
|
+
|
5067
5091
|
avalon.config({
|
5068
5092
|
loader: true
|
5069
5093
|
})
|