diff --git a/avalon.js b/avalon.js index 28d55fc98..0f05bd119 100644 --- a/avalon.js +++ b/avalon.js @@ -2194,7 +2194,7 @@ } return ret } - + function uniqSet(array) { var ret = [], unique = {} for (var i = 0; i < array.length; i++) { @@ -2218,7 +2218,7 @@ } return cache; } - + var cacheExprs = createCache(256) //取得求值函数及其传参 var rduplex = /\w\[.*\]|\w\.\w/ @@ -2756,7 +2756,7 @@ } elem.$vmodel = vmodels[0] elem.$vmodels = vmodels - var eventType = data.param = data.param.replace(/-\d+$/, "") // ms-on-mousemove-10 + var eventType = data.param.replace(/-\d+$/, "") // ms-on-mousemove-10 if (eventType === "scan") { callback.call(elem, {type: eventType}) } else if (typeof data.specialBind === "function") { @@ -3002,6 +3002,10 @@ "on": function(data, vmodels) { var value = data.value, four = "$event" + var eventType = data.param.replace(/-\d+$/, "") // ms-on-mousemove-10 + if (typeof bindingHandlers.on[eventType + "Hook"] === "function") { + bindingHandlers.on[eventType + "Hook"](data) + } if (value.indexOf("(") > 0 && value.indexOf(")") > -1) { var matched = (value.match(rdash) || ["", ""])[1].trim() if (matched === "" || matched === "$event") { // aaa() aaa($event)当成aaa处理 @@ -3069,7 +3073,7 @@ } } if (window.chrome) { - elem.addEventListener("DOMNodeRemovedFromDocument", function(){ + elem.addEventListener("DOMNodeRemovedFromDocument", function() { setTimeout(offTree) }) } else { diff --git a/avalon.min.js b/avalon.min.js index ef4c0c74d..70328cc0f 100644 --- a/avalon.min.js +++ b/avalon.min.js @@ -1,22 +1,22 @@ -(function(p){function C(){}function y(b){r.console&&avalon.config.debug&&console.log(t?b:b+"")}function J(b,c){"string"===typeof b&&(b=b.match(B)||[]);for(var d={},e=void 0!==c?c:1,f=0,g=b.length;fb?Math.max(c+b,0):Math.min(b,c)}function K(b,c,d){if(Array.isArray(b)){var e= +(function(p){function D(){}function y(b){r.console&&avalon.config.debug&&console.log(t?b:b+"")}function J(b,c){"string"===typeof b&&(b=b.match(C)||[]);for(var d={},e=void 0!==c?c:1,f=0,g=b.length;fb?Math.max(c+b,0):Math.min(b,c)}function K(b,c,d){if(Array.isArray(b)){var e= b.concat();b.length=0;b=Hb(b);b.push.apply(b,e);return b}if("number"===typeof b.nodeType)return b;var f={};c=c||{};var g={},h={},e=[],k=d||{},l=b.$skipArray;d=0;for(var m;m=Ib[d++];)"string"!==typeof m&&y("warning:$skipArray["+m+"] must be a string"),delete b[m],h[m]=!0;if(Array.isArray(l))for(d=0;m=l[d++];)h[m]=!0;for(d in b)Jb(d,b[d],c,h,g,e,k);f=ga(f,Kb(g),h);for(m in h)f[m]=h[m];k.vmodel=f;f.$model=c;f.$events={};f.$id=Va();f.$accessors=g;f[z]=[];for(d in L)b=L[d],t||(b=b.bind(f)),f[d]=b;f.hasOwnProperty= function(b){return b in f.$model};for(d=0;b=e[d++];)U[x]=b,b(),ha(b),delete U[x];return f}function Jb(b,c,d,e,f,g,h){d[b]=c;if(e[b]||c&&c.nodeType||"$"===b.charAt(0)&&!h[b])return e[b]=c;var k=avalon.type(c);if("function"===k)return e[b]=c;var l,m;if("object"===k&&"function"===typeof c.get&&2>=Object.keys(c).length){var n=c.set,q=c.get;l=function(c){var e=h.vmodel,f=d[b];if(arguments.length){if(!ka){if("function"===typeof n){var g=e.$events[b];e.$events[b]=[];n.call(e,c);e.$events[b]=g}if(!Y(m,c)){m= -c;c=d[b]=q.call(e);if(la&&(g=V[e.$id])&&g[b])g[b].$val=c;D(l);e.$events&&L.$fire.call(e,b,c,f)}}}else return avalon.openComputedCollect&&ha(l),c=d[b]=q.call(e),Y(f,c)||(m=void 0,e.$events&&L.$fire.call(e,b,c,f)),c};g.push(l)}else ra.test(k)?(l=function(c){var e=l.$vmodel,f=e.$model;if(arguments.length){if(!ka&&!Y(f,c)){c=l.$vmodel=Mb(e,c,k);var g=sa[c.$id];g&&g();g=h.vmodel;d[b]=c.$model;D(e);g.$events&&L.$fire.call(g,b,d[b],f)}}else return ha(e),e},l.$vmodel=c.$model?c:K(c,c),d[b]=l.$vmodel.$model): -(l=function(c){var e=d[b];if(arguments.length){if(!Y(e,c)){d[b]=c;var f=h.vmodel;if(la){var g=V[f.$id];g&&g[b]&&(g[b].$val=c)}D(l);f.$events&&L.$fire.call(f,b,c,e)}}else return ha(l),e},d[b]=c);l[z]=[];f[b]=l}function Mb(b,c,d){if("array"===d){if(!Array.isArray(c))return b;c=c.concat();b.clear();b.push.apply(b,c);return b}var e=b[z]||[];V[b.$id]&&(la--,delete V[b.$id]);var f=K(c);sa[f.$id]=function(b){for(;b=e.shift();)(function(b){b.type&&avalon.nextTick(function(){b.rollback&&b.rollback();E[b.type](b, +c;c=d[b]=q.call(e);if(la&&(g=V[e.$id])&&g[b])g[b].$val=c;E(l);e.$events&&L.$fire.call(e,b,c,f)}}}else return avalon.openComputedCollect&&ha(l),c=d[b]=q.call(e),Y(f,c)||(m=void 0,e.$events&&L.$fire.call(e,b,c,f)),c};g.push(l)}else ra.test(k)?(l=function(c){var e=l.$vmodel,f=e.$model;if(arguments.length){if(!ka&&!Y(f,c)){c=l.$vmodel=Mb(e,c,k);var g=sa[c.$id];g&&g();g=h.vmodel;d[b]=c.$model;E(e);g.$events&&L.$fire.call(g,b,d[b],f)}}else return ha(e),e},l.$vmodel=c.$model?c:K(c,c),d[b]=l.$vmodel.$model): +(l=function(c){var e=d[b];if(arguments.length){if(!Y(e,c)){d[b]=c;var f=h.vmodel;if(la){var g=V[f.$id];g&&g[b]&&(g[b].$val=c)}E(l);f.$events&&L.$fire.call(f,b,c,e)}}else return ha(l),e},d[b]=c);l[z]=[];f[b]=l}function Mb(b,c,d){if("array"===d){if(!Array.isArray(c))return b;c=c.concat();b.clear();b.push.apply(b,c);return b}var e=b[z]||[];V[b.$id]&&(la--,delete V[b.$id]);var f=K(c);sa[f.$id]=function(b){for(;b=e.shift();)(function(b){b.type&&avalon.nextTick(function(){b.rollback&&b.rollback();B[b.type](b, b.vmodels)})})(b);delete sa[f.$id]};return f}function Z(b,c,d){b="for(var "+b+"i=0,n = this.length; i < n; i++){"+c.replace("_","((i in this) && fn.call(scope,this[i],i,this))")+"}"+d;return Function("fn,scope",b)}function Ya(b,c){if(c)for(;c=c.parentNode;)if(c===b)return!0;return!1}function Za(){return(new XMLSerializer).serializeToString(this)}function ta(b,c){if(b&&b.childNodes)for(var d=b.childNodes,e=0,f;f=d[e++];)if(f.tagName){var g=document.createElementNS($a,f.tagName.toLowerCase());I.forEach.call(f.attributes, function(b){g.setAttribute(b.name,b.value)});ta(f,g);c.appendChild(g)}}function v(b){for(var c in b)if(Q.call(b,c)){var d=b[c];if("function"===typeof v.plugins[c])v.plugins[c](d);else"object"===typeof v[c]?avalon.mix(v[c],d):v[c]=d}return this}function ab(b){return b.replace(/([a-z\d])([A-Z]+)/g,"$1-$2").toLowerCase()}function ma(b){return 0>b.indexOf("-")&&0>b.indexOf("_")?b:b.replace(/[-_][^-_]/g,function(b){return b.charAt(1).toUpperCase()})}function bb(b){"classList"in b||(avalon.mix(b.classList= {node:b},cb),b.classList.toString=cb.toString);return b.classList}function db(b){try{b="true"===b?!0:"false"===b?!1:"null"===b?null:+b+""===b?+b:Nb.test(b)?avalon.parseJSON(b):b}catch(c){}return b}function eb(b,c){if(0>=b.offsetWidth){if(Ob.test(w["@:get"](b,"display"))){var d={node:b},e;for(e in fb)d[e]=b.style[e],b.style[e]=fb[e];c.push(d)}(d=b.parentNode)&&1==d.nodeType&&eb(d,c)}}function ua(b,c){U[x]=b;avalon.openComputedCollect=!0;var d=b.evaluator;if(d)if("duplex"===b.type)b.handler();else try{var e= -"on"===b.type?b:d.apply(0,b.args);b.handler(e,b.element,b)}catch(f){delete b.evaluator,3===b.nodeType&&(v.commentInterpolate?b.element.replaceChild(p.createComment(b.value),b.node):b.node.data=M+b.value+N),y("warning:evaluator of ["+b.value+"] throws error!")}else b();avalon.openComputedCollect=!1;delete U[x]}function ha(b){U[x]&&(b=b[z])&&avalon.Array.ensure(b,U[x])}function D(b){var c=b[z];if(c&&c.length)for(var d=$.call(arguments,1),e=c.length,f;f=c[--e];){var g=f.element,h;g&&!avalon.contains(aa, +"on"===b.type?b:d.apply(0,b.args);b.handler(e,b.element,b)}catch(f){delete b.evaluator,3===b.nodeType&&(v.commentInterpolate?b.element.replaceChild(p.createComment(b.value),b.node):b.node.data=M+b.value+N),y("warning:evaluator of ["+b.value+"] throws error!")}else b();avalon.openComputedCollect=!1;delete U[x]}function ha(b){U[x]&&(b=b[z])&&avalon.Array.ensure(b,U[x])}function E(b){var c=b[z];if(c&&c.length)for(var d=$.call(arguments,1),e=c.length,f;f=c[--e];){var g=f.element,h;g&&!avalon.contains(aa, g)&&(h="number"==typeof g.sourceIndex?0===g.sourceIndex:!avalon.contains(A,g));h?(c.splice(e,1),y("debug: remove "+f.name)):"function"===typeof f?f.apply(0,d):f.getter?f.handler.apply(f,d):f.handler(f.evaluator.apply(0,f.args||[]),g,f)}}function gb(b,c){var d=NaN,e=setInterval(function(){var f=b.innerHTML;f===d?(clearInterval(e),c()):d=f},Pb)}function na(b,c,d){d=b.getAttribute(va+"skip");if(!b.getAttributeNode)return y("warning "+b.tagName+" no getAttributeNode method");var e=b.getAttributeNode(va+ "important"),f=b.getAttributeNode(va+"controller");if("string"!==typeof d){if(d=e||f){var g=W[d.value];if(!g)return;c=d===e?[g]:[g].concat(c);b.removeAttribute(d.name);g.$events.element=b;avalon.bind(b,"dataavailable",function(c){"object"===typeof c.detail&&b!==c.target&&g.$fire.apply(g,c.detail)});avalon(b).removeClass(d.name)}hb(b,c)}}function wa(b,c){for(var d=b.firstChild;d;){var e=d.nextSibling,f=d.nodeType;1===f?na(d,c):3===f&&ba.test(d.data)?ib(d,c):v.commentInterpolate&&(8===f&&!ba.test(d.nodeValue))&& ib(d,c);d=e}}function ib(b,c){var d=[];if(8===b.nodeType){var e=[],f={expr:!0,value:jb(b.nodeValue,e)};e.length&&(f.filters=e);e=[f]}else e=xa(b.data);if(e.length){for(var g=0;f=e[g++];){var h=p.createTextNode(f.value);if(f.expr){var k=f.filters,f={type:"text",node:h,nodeType:3,value:f.value,filters:k};k&&-1!==k.indexOf("html")&&(avalon.Array.remove(k,"html"),f.type="html",f.replaceNodes=[h],k.length||delete d.filters);d.push(f)}R.appendChild(h)}b.parentNode.replaceChild(R,b);d.length&&ya(d,c)}}function hb(b, -c){for(var d=kb?kb(b):avalon.slice(b.attributes),e=[],f={},g,h=0,k;k=d[h++];)if(k.specified&&(g=k.name.match(lb))){var l=g[1],m=g[2]||"",n=k.value;k=k.name;f[k]=n;Qb[l]?(m=l,l="on"):"enabled"===l&&(l="disabled",n="!("+n+")");if("checked"===l||"selected"===l||"disabled"===l||"readonly"===l)m=l,l="attr",b.removeAttribute(k),k="ms-attr-"+m,b.setAttribute(k,n),g=[k],f[k]=n;"function"===typeof E[l]&&(n={type:l,param:m,element:b,name:g[0],value:n,priority:l in mb?mb[l]:10*l.charCodeAt(0)+(Number(m)||0)}, +c){for(var d=kb?kb(b):avalon.slice(b.attributes),e=[],f={},g,h=0,k;k=d[h++];)if(k.specified&&(g=k.name.match(lb))){var l=g[1],m=g[2]||"",n=k.value;k=k.name;f[k]=n;Qb[l]?(m=l,l="on"):"enabled"===l&&(l="disabled",n="!("+n+")");if("checked"===l||"selected"===l||"disabled"===l||"readonly"===l)m=l,l="attr",b.removeAttribute(k),k="ms-attr-"+m,b.setAttribute(k,n),g=[k],f[k]=n;"function"===typeof B[l]&&(n={type:l,param:m,element:b,name:g[0],value:n,priority:l in mb?mb[l]:10*l.charCodeAt(0)+(Number(m)||0)}, "if"===l&&-1"))&&wa(b,c)}if(b.patchRepeat){b.patchRepeat(); -try{b.patchRepeat="",b.removeAttribute("patchRepeat")}catch(q){}}}function ya(b,c){for(var d=0,e;e=b[d++];)e.vmodels=c,E[e.type](e,c),e.evaluator&&e.name&&e.element.removeAttribute(e.name);b.length=0}function jb(b,c){0b&&delete c[d.shift()];return c[e]=f}var d=[];return c}function oa(b,c,d){var e=d.type,f="html"==e||"text"===e?d.filters:"",g=c.map(function(b){return b.$id.replace(Wb,"$1")})+b+e+f,h=Xb(b).concat(),k=[],l=[],m=[],n="";c=pb(c);for(var q=0,n=c.length;q> 0)-(d.clientLeft>>0),c.pageY=b.clientY+(d.scrollTop>>0)-(d.clientTop>>0));c.timeStamp=new Date-0;c.originalEvent=b;c.preventDefault=function(){b.returnValue=!1};c.stopPropagation=function(){b.cancelBubble=!0};return c}function Hb(b){var c=[];c.$id=Va();c[z]=[];c.$model=b;c.$events={};c._=K({length:b.length});c._.$watch("length",function(b,d){c.$fire("length",b,d)});for(var d in L)c[d]=L[d];avalon.mix(c,rb);return c}function Fa(b){for(var c=ec(b),d=0,e;e=c[d++];)"ms-if"==e.nodeValue&&P.appendChild(e.elem); @@ -25,27 +25,27 @@ h.checked=b.checked,h.value!==b.value&&(h.value=b.value);else if("OBJECT"===g)h. function(b,c){delete k[c]}).replace(/(\w+)='/g,function(b,c){delete k[c]});delete k.urn;delete k.implementation;for(var l in k)h.setAttribute(l,k[l]);hc(h)}}return c}function hc(b){"url(#default#VML)"!==b.currentStyle.behavior&&(b.style.behavior="url(#default#VML)",b.style.display="inline-block",b.style.zoom=1)}function tb(b,c,d,e){function f(){delete W[h];b.group=1;if(!b.fastRepeat){b.group=k.childNodes.length;for(k.parentNode.removeChild(k);k.firstChild;)c.appendChild(k.firstChild);void 0!==f.node&& f.parent.insertBefore(c,f.node)}}var g=gc(b.template),h=e.$id,k=g.firstChild;b.fastRepeat||(k=p.createElement("msloop"),k.style.display="none",k.appendChild(g));k.setAttribute("ms-controller",h);k.removeAttribute(b.callbackName);k.removeAttribute("data-with-sorted");d.push(k);c.appendChild(k);e.$outer=b.$outer;W[h]=e;return k.patchRepeat=f}function Ga(b,c,d){if(c.startRepeat){b=c.startRepeat;c=c.endRepeat;d+=1;for(var e=0;ev.maxRepeatSize&&ea.pop()}function S(){p.body&&(s["ready!"].state=2,F.checkDeps(),S=C)}function vb(){try{A.doScroll("left"),S()}catch(b){setTimeout(vb)}}var va="ms-",x=new Date-0,z="$"+x,r=this||(0,eval)("this"),mc=r.require,nc=r.define,ka=!1,B=/[^, ]+/g,wb=/\[native code\]/, -ra=/^(?:object|array)$/,Gb=/^\[object (Window|DOMWindow|global)\]$/,Ha=Object.prototype,Q=Ha.hasOwnProperty,Xa=Ha.toString,I=Array.prototype,$=I.slice,U={},t=r.dispatchEvent,A=p.documentElement,H=p.getElementsByTagName("head")[0],R=p.createDocumentFragment(),P=p.createElement("div"),xb={};"Boolean Number String Function Array Date RegExp Object Error".replace(B,function(b){xb["[object "+b+"]"]=b.toLowerCase()});avalon=function(b){return new avalon.init(b)};avalon.init=function(b){this[0]=this.element= +(b.$skipArray=[f]);g=K(b,0,kc);g.$id="$proxy$"+d.type+Math.random();return g}function lc(b){var c=b.$accessors,d=b.$itemName;["$index","$last","$first"].forEach(function(b){c[b][z].length=0});b[d][z]&&(b[d][z].length=0);ea.unshift(b)>v.maxRepeatSize&&ea.pop()}function S(){p.body&&(s["ready!"].state=2,F.checkDeps(),S=D)}function vb(){try{A.doScroll("left"),S()}catch(b){setTimeout(vb)}}var va="ms-",x=new Date-0,z="$"+x,r=this||(0,eval)("this"),mc=r.require,nc=r.define,ka=!1,C=/[^, ]+/g,wb=/\[native code\]/, +ra=/^(?:object|array)$/,Gb=/^\[object (Window|DOMWindow|global)\]$/,Ha=Object.prototype,Q=Ha.hasOwnProperty,Xa=Ha.toString,I=Array.prototype,$=I.slice,U={},t=r.dispatchEvent,A=p.documentElement,H=p.getElementsByTagName("head")[0],R=p.createDocumentFragment(),P=p.createElement("div"),xb={};"Boolean Number String Function Array Date RegExp Object Error".replace(C,function(b){xb["[object "+b+"]"]=b.toLowerCase()});avalon=function(b){return new avalon.init(b)};avalon.init=function(b){this[0]=this.element= b};avalon.fn=avalon.prototype=avalon.init.prototype;avalon.type=function(b){return null==b?String(b):"object"===typeof b||"function"===typeof b?xb[Xa.call(b)]||"object":typeof b};avalon.isWindow=function(b){return!b?!1:b==b.document&&b.document!=b};Wa(r)&&(avalon.isWindow=Wa);avalon.isPlainObject=function(b,c){if(!b||"object"!==avalon.type(b)||b.nodeType||avalon.isWindow(b))return!1;try{if(b.constructor&&!Q.call(b,"constructor")&&!Q.call(b.constructor.prototype,"isPrototypeOf"))return!1}catch(d){return!1}for(c in b); return void 0===c||Q.call(b,c)};wb.test(Object.getPrototypeOf)&&(avalon.isPlainObject=function(b){return!!b&&"object"===typeof b&&Object.getPrototypeOf(b)===Ha});avalon.mix=avalon.fn.mix=function(){var b,c,d,e,f,g=arguments[0]||{},h=1,k=arguments.length,l=!1;"boolean"===typeof g&&(l=g,g=arguments[1]||{},h++);"object"!==typeof g&&"function"!==avalon.type(g)&&(g={});h===k&&(g=this,h--);for(;h 0 Then","\t\t["+b+'] = [__proxy__]([__data__],"'+b+'")',"\tEnd If","\tOn Error Goto 0","\tEnd Property");f.push("End Class");b=f.join("\r\n");b=r.findOrDefineVBClass(e,b);b==e&&r.parseVB(["Function "+e+"Factory(a, b)","\tDim o", "\tSet o = (New "+e+")(a, b)","\tSet "+e+"Factory = o","End Function"].join("\r\n"));return r[b+"Factory"](c,oc)}}if(!"\u53f8\u5f92\u6b63\u7f8e".trim){var pc=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;String.prototype.trim=function(){return this.replace(pc,"")}}var qc=!{toString:null}.propertyIsEnumerable("toString"),rc=function(){}.propertyIsEnumerable("prototype"),yb="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),sc=yb.length;Object.keys||(Object.keys= -function(b){var c=[],d=rc&&"function"===typeof b;if("string"===typeof b||b&&b.callee)for(d=0;darguments.length&&void 0===b)return this; +function(b){var c=[],d=rc&&"function"===typeof b;if("string"===typeof b||b&&b.callee)for(d=0;darguments.length&&void 0===b)return this; var c=this,d=arguments;return function(){var e=[],f;for(f=1;fe&&(e+=d);ee&&(e=Math.max(0,d+e));0<=e;e--)if(this[e]===b)return e;return-1},forEach:Z("","_",""),filter:Z("r=[],j=0,","if(_)r[j++]=this[i]","return r"), map:Z("r=[],","r[i]=_","return r"),some:Z("","if(_)return true","return false"),every:Z("","if(!_)return false","return true")});A.contains||(Node.prototype.contains=function(b){return!!(this.compareDocumentPosition(b)&16)});p.contains||(p.contains=function(b){return Ya(this,b)});var $a="http://www.w3.org/2000/svg";if(r.SVGElement){var Ja=document.createElementNS($a,"svg");Ja.innerHTML='';Ja.firstChild&&"rect"===Ja.firstChild.tagName||Object.defineProperties(SVGElement.prototype, {outerHTML:{enumerable:!0,configurable:!0,get:Za,set:function(b){var c=this.tagName.toLowerCase(),d=this.parentNode;b=avalon.parseHTML(b);"svg"===c?d.insertBefore(b,this):(c=document.createDocumentFragment(),ta(b,c),d.insertBefore(c,this));d.removeChild(this)}},innerHTML:{enumerable:!0,configurable:!0,get:function(){var b=RegExp("$","i");return this.outerHTML.replace(RegExp("<"+this.nodeName+'\\b(?:(["\'])[^"]*?(\\1)|[^>])*>',"i"),"").replace(b,"")},set:function(b){avalon.clearHTML(this); b=avalon.parseHTML(b);ta(b,this)}}})}!A.outerHTML&&r.HTMLElement&&HTMLElement.prototype.__defineGetter__("outerHTML",Za);var M,N,ba,zb,za,Ab=/[-.*+?^${}()|[\]\/\\]/g,T={loader:function(b){r.define=b?F.define:nc;r.require=b?F:mc},interpolate:function(b){M=b[0];N=b[1];if(M===N)throw new SyntaxError("openTag!==closeTag");if("\x3c!--,--\x3e"===b+"")v.commentInterpolate=!0;else{b=M+"test"+N;P.innerHTML=b;if(P.innerHTML!==b&&0<=P.innerHTML.indexOf("<"))throw new SyntaxError("\u6b64\u5b9a\u754c\u7b26\u4e0d\u5408\u6cd5"); P.innerHTML=""}b=(M+"").replace(Ab,"\\$&");var c=(N+"").replace(Ab,"\\$&");ba=RegExp(b+"(.*?)"+c);zb=RegExp(b+"(.*?)"+c,"g");za=RegExp(b+".*?"+c+"|\\sms-")}};v.debug=!0;v.plugins=T;v.plugins.interpolate(["{{","}}"]);v.paths={};v.shim={};v.maxRepeatSize=100;avalon.config=v;var cb={toString:function(){var b=this.node.className;return("string"===typeof b?b:b.baseVal).split(/\s+/).join(" ")},contains:function(b){return-1<(" "+this+" ").indexOf(" "+b+" ")},add:function(b){this.contains(b)||this._set(this+ -" "+b)},remove:function(b){this._set((" "+this+" ").replace(" "+b+" "," ").trim())},_set:function(b){var c=this.node;"string"==typeof c.className?c.className=b:c.setAttribute("class",b)}};"add,remove".replace(B,function(b){avalon.fn[b+"Class"]=function(c){var d=this[0];c&&("string"===typeof c&&d&&1==d.nodeType)&&c.replace(/\S+/g,function(c){bb(d)[b](c)});return this}});avalon.fn.mix({hasClass:function(b){var c=this[0]||{};return 1===c.nodeType&&bb(c).contains(b)},toggleClass:function(b,c){for(var d, +" "+b)},remove:function(b){this._set((" "+this+" ").replace(" "+b+" "," ").trim())},_set:function(b){var c=this.node;"string"==typeof c.className?c.className=b:c.setAttribute("class",b)}};"add,remove".replace(C,function(b){avalon.fn[b+"Class"]=function(c){var d=this[0];c&&("string"===typeof c&&d&&1==d.nodeType)&&c.replace(/\S+/g,function(c){bb(d)[b](c)});return this}});avalon.fn.mix({hasClass:function(b){var c=this[0]||{};return 1===c.nodeType&&bb(c).contains(b)},toggleClass:function(b,c){for(var d, e=0,f=b.split(/\s+/),g="boolean"===typeof c;d=f[e++];)this[(g?c:!this.hasClass(d))?"addClass":"removeClass"](d);return this},attr:function(b,c){return 2===arguments.length?(this[0].setAttribute(b,c),this):this[0].getAttribute(b)},data:function(b,c){b="data-"+ab(b||"");switch(arguments.length){case 2:return this.attr(b,c),this;case 1:var d=this.attr(b);return db(d);case 0:var e={};I.forEach.call(this[0].attributes,function(c){c&&(b=c.name,b.indexOf("data-")||(b=ma(b.slice(5)),e[b]=db(c.value)))}); return e}},removeData:function(b){b="data-"+ab(b);this[0].removeAttribute(b);return this},css:function(b,c){if(avalon.isPlainObject(b))for(var d in b)avalon.css(this,d,b[d]);else var e=avalon.css(this,b,c);return void 0!==e?e:this},position:function(){var b,c,d=this[0],e={top:0,left:0};if(d)return"fixed"===this.css("position")?c=d.getBoundingClientRect():(b=this.offsetParent(),c=this.offset(),"HTML"!==b[0].tagName&&(e=b.offset()),e.top+=avalon.css(b[0],"borderTopWidth",!0),e.left+=avalon.css(b[0], "borderLeftWidth",!0)),{top:c.top-e.top-avalon.css(d,"marginTop",!0),left:c.left-e.left-avalon.css(d,"marginLeft",!0)}},offsetParent:function(){for(var b=this[0].offsetParent||A;b&&"HTML"!==b.tagName&&"static"===avalon.css(b,"position");)b=b.offsetParent;return avalon(b||A)},bind:function(b,c,d){if(this[0])return avalon.bind(this[0],b,c,d)},unbind:function(b,c,d){this[0]&&avalon.unbind(this[0],b,c,d);return this},val:function(b){var c=this[0];if(c&&1===c.nodeType){var d=0===arguments.length,e=d?":get": @@ -53,8 +53,8 @@ return e}},removeData:function(b){b="data-"+ab(b);this[0].removeAttribute(b);ret "@").replace(wc,"]").replace(uc,"")))return(new Function("return "+b))();avalon.error("Invalid JSON: "+b)}};avalon.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){avalon.fn[b]=function(d){var e=this[0]||{},f=e.window&&e.document?e:9===e.nodeType?e.defaultView||e.parentWindow:!1,g="scrollTop"===b;if(arguments.length)f?f.scrollTo(!g?d:avalon(f).scrollLeft(),g?d:avalon(f).scrollTop()):e[b]=d;else return f?c in f?f[c]:A[b]:e[b]}});var w=avalon.cssHooks={},Bb=["","-webkit-","-o-", "-moz-","-ms-"],La={"float":"cssFloat",background:"backgroundColor"};avalon.cssNumber=J("columnCount,order,fillOpacity,fontWeight,lineHeight,opacity,orphans,widows,zIndex,zoom");avalon.cssName=function(b,c,d){if(La[b])return La[b];c=c||A.style;for(var e=0,f=Bb.length;e]+))?)*\s+value[\s=]/i,Ka={"option:get":function(b){return b.hasAttribute?b.hasAttribute("value")?b.value:b.text.trim():Ac.test(b.outerHTML)?b.value:b.text},"select:get":function(b,c){for(var d,e=b.options, @@ -68,7 +68,7 @@ if(d=d.element){var l=[b].concat(g);if("up"===c)t?Ea(d,"dataavailable",l):(h=doc Ic=/<\w+\b(?:(["'])[^"]*?(\1)|[^>])*>/i,Jc=/&/g,kb=function(b){b=b.outerHTML;if(".avalonHide{ display: none!important }"),H.firstChild);var Rc=/(?:[\s\S]+?)<\/noscript>/img,Sc=/([\s\S]+?)<\/noscript>/im,Pa=function(){return new (r.XMLHttpRequest||ActiveXObject)("Microsoft.XMLHTTP")},da=function(b,c,d){if(b=b.getAttribute(c)){c=0;for(var e;e=d[c++];)if(e.hasOwnProperty(b)&&"function"===typeof e[b])return e[b]}},Qa=avalon.templateCache= {},aa=p.createElement("div");aa.innerHTML="a";try{aa.contains(aa.firstChild),avalon.contains=function(b,c){return b.contains(c)}}catch(cd){avalon.contains=Ya}var Ca=avalon.bindingExecutors={attr:function(b,c,d){var e=d.type,f=d.param;if("css"===e)avalon(c).css(f,b);else if("attr"===e)(d=!1===b||null===b||void 0===b)?c.removeAttribute(f):t?d||c.setAttribute(f,b):(f=Db[f]||f,d?c.removeAttribute(f):c[f]=b);else if("include"===e&&b){var g=d.vmodels,h=da(c,"data-include-rendered",g),k=da(c,"data-include-loaded", g),l=function(b){k&&(b=k.apply(c,[b].concat(g)));avalon.innerHTML(c,b);wa(c,g);h&&gb(c,function(){h.call(c)})};if("src"===d.param)if(Qa[b])l(Qa[b]);else{var m=Pa();m.onreadystatechange=function(){if(4===m.readyState){var c=m.status;if(200<=c&&300>c||304===c||1223===c)l(Qa[b]=m.responseText)}};m.open("GET",b,!0);"withCredentials"in m&&(m.withCredentials=!0);m.setRequestHeader("X-Requested-With","XMLHttpRequest");m.send(null)}else{var n=b&&1==b.nodeType?b:p.getElementById(b);if(n){if("NOSCRIPT"===n.tagName&& @@ -78,28 +78,28 @@ c,d){d="data-"+d.param;b&&"object"===typeof b?c[d]=b:c.setAttribute(d,String(b)) 0;f=e[n++];)na(f,this.vmodels);break;case "del":f=g.splice(c,d);for(n=0;m=f[n++];)lc(m);Fa(ub(k,e,d));break;case "index":for(l=g.length-1;d=g[c];c++)d.$index=c,d.$first=0===c,d.$last=c===l;break;case "clear":if(this.startRepeat)for(;;)if((f=this.startRepeat.nextSibling)&&f!==this.endRepeat)h.appendChild(f);else break;else h=f;Fa(h);g.length=0;break;case "move":if(h=g.splice(c,1)[0])g.splice(d,0,h),h=ub(k,e),k=Ga(f,this,d),f.insertBefore(h,k);break;case "set":(m=g[c])&&(m[m.$itemName]=d);break;case "append":g= d;n=da(this.callbackElement,"data-with-sorted",this.vmodels);k=[];e=[];m={};for(l in c)c.hasOwnProperty(l)&&"hasOwnProperty"!==l&&k.push(l);n&&(n=n.call(f,k))&&(Array.isArray(n)&&n.length)&&(k=n);for(n=0;l=k[n++];)"hasOwnProperty"!==l&&(m=tb(this,h,e,g[l]));m.parent=f;m.node=this.endRepeat||null;f.insertBefore(h,m.node);for(n=0;d=e[n++];)na(d,this.vmodels)}fc.call(this,arguments)}},html:function(b,c,d){b=null==b?"":b;c||(c=d.element=d.node.parentNode);if(d.replaceNodes){var e;if(11===b.nodeType)e= b;else if(1===b.nodeType||b.item){b=1===b.nodeType?b.childNodes:b.item?b:[];for(e=R.cloneNode(!0);b[0];)e.appendChild(b[0])}else e=avalon.parseHTML(b);b=avalon.slice(e.childNodes);c.insertBefore(e,d.replaceNodes[0]||null);e=0;for(var f;f=d.replaceNodes[e++];)c.removeChild(f);d.replaceNodes=b}else avalon.innerHTML(c,b);avalon.nextTick(function(){wa(c,d.vmodels)})},"if":function(b,c,d){var e=d.placehoder;if(b){if(!d.msInDocument){d.msInDocument=!0;try{e.parentNode.replaceChild(c,e)}catch(f){y("debug: ms-if "+ -f.message)}}za.test(c.outerHTML.replace(nb,"<").replace(ob,">"))&&hb(c,d.vmodels)}else if(d.msInDocument){d.msInDocument=!1;try{c.parentNode.replaceChild(e,c)}catch(g){y("debug: ms-if: elem.parentNode= "+c.parentNode)}e.elem=c;aa.appendChild(c)}},on:function(b,c,d){var e=d.evaluator,f=d.args,g=d.vmodels;b=d.hasArgs?function(b){return e.apply(this,f.concat(b))}:function(b){return e.apply(0,f).call(this,b)};c.$vmodel=g[0];c.$vmodels=g;var h=d.param=d.param.replace(/-\d+$/,"");if("scan"===h)b.call(c, -{type:h});else if("function"===typeof d.specialBind)d.specialBind(c,b);else var k=avalon.bind(c,h,b);d.rollback=function(){"function"===typeof d.specialUnbind?d.specialUnbind():avalon.unbind(c,h,k)};d.evaluator=d.handler=C},text:function(b,c,d){b=null==b?"":b;var e=d.node;if(3===d.nodeType)try{e.data=b}catch(f){}else c||(c=d.element=e.parentNode),"textContent"in c?c.textContent=b:c.innerText=b},visible:function(b,c,d){c.style.display=b?d.display:"none"},widget:C},Tc=/^\s+$/,E=avalon.bindingHandlers= -{attr:function(b,c){var d=b.value.trim(),e=!0;-1c||37<=c&&40>=c)||("cut"===b.type?avalon.nextTick(u):u())};ia.forEach(function(c){b.attachEvent("on"+c,ja)});d.rollback=function(){ia.forEach(function(c){b.detachEvent("on"+c,ja)})}}b.oldValue=b.value;Fb(function(){if(avalon.contains(A,b))$b.call(b);else if(!b.msRetain)return!1}); -ua(d);var Lb=setTimeout(function(){k||m.call(b,b.value);clearTimeout(Lb)},31)};var qb,ca=[],Fb=C;avalon.tick=function(b){1===ca.push(b)&&(qb=setInterval(ac,30))};try{var Sa=HTMLInputElement.prototype;Object.getOwnPropertyNames(Sa);var cc=Object.getOwnPropertyDescriptor(Sa,"value").set;Object.defineProperty(Sa,"value",{set:bc})}catch(dd){Fb=avalon.tick}X.SELECT=function(b,c,d){var e=avalon(b);d.handler=function(){var d=c(),d=d&&d.$model||d,d=Array.isArray(d)?d.map(String):d+"";d+""!==b.oldValue&&(e.val(d), -b.oldValue=d+"")};d.bound("change",function(){if(!1!==e.data("duplex-observe")){var f=e.val();f+""!==b.oldValue&&(c(f),b.oldValue=f+"");d.changed.call(b,f)}});var f=NaN,g=setInterval(function(){var e=b.innerHTML;e===f?(clearInterval(g),ua(d),d.changed.call(b,c())):f=e},20)};X.TEXTAREA=X.INPUT;var fa=avalon.eventHooks;"onmouseenter"in A||avalon.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(b,c){fa[b]={type:c,deel:function(c,e){return function(f){var g=f.relatedTarget;if(!g||g!==c&&!(c.compareDocumentPosition(g)& -16))return delete f.type,f.type=b,e.call(c,f)}}}});avalon.each({AnimationEvent:"animationend",WebKitAnimationEvent:"webkitAnimationEnd"},function(b,c){r[b]&&!fa.animationend&&(fa.animationend={type:c})});"oninput"in document.createElement("input")||(fa.input={type:"propertychange",deel:function(b,c){return function(d){if("value"===d.propertyName)return d.type="input",c.call(b,d)}}});void 0===document.onmousewheel&&(fa.mousewheel={type:"DOMMouseScroll",deel:function(b,c){return function(d){d.wheelDelta= -0"))&&hb(c,d.vmodels)}else if(d.msInDocument){d.msInDocument=!1;try{c.parentNode.replaceChild(e,c)}catch(g){y("debug: ms-if: elem.parentNode= "+c.parentNode)}e.elem=c;aa.appendChild(c)}},on:function(b,c,d){var e=d.evaluator,f=d.args,g=d.vmodels;b=d.hasArgs?function(b){return e.apply(this,f.concat(b))}:function(b){return e.apply(0,f).call(this,b)};c.$vmodel=g[0];c.$vmodels=g;var h=d.param.replace(/-\d+$/,"");if("scan"===h)b.call(c,{type:h}); +else if("function"===typeof d.specialBind)d.specialBind(c,b);else var k=avalon.bind(c,h,b);d.rollback=function(){"function"===typeof d.specialUnbind?d.specialUnbind():avalon.unbind(c,h,k)};d.evaluator=d.handler=D},text:function(b,c,d){b=null==b?"":b;var e=d.node;if(3===d.nodeType)try{e.data=b}catch(f){}else c||(c=d.element=e.parentNode),"textContent"in c?c.textContent=b:c.innerText=b},visible:function(b,c,d){c.style.display=b?d.display:"none"},widget:D},Tc=/^\s+$/,B=avalon.bindingHandlers={attr:function(b, +c){var d=b.value.trim(),e=!0;-1c||37<=c&&40>=c)||("cut"===b.type?avalon.nextTick(u):u())};ia.forEach(function(c){b.attachEvent("on"+c,ja)});d.rollback=function(){ia.forEach(function(c){b.detachEvent("on"+c,ja)})}}b.oldValue=b.value;Fb(function(){if(avalon.contains(A, +b))$b.call(b);else if(!b.msRetain)return!1});ua(d);var Lb=setTimeout(function(){k||m.call(b,b.value);clearTimeout(Lb)},31)};var qb,ca=[],Fb=D;avalon.tick=function(b){1===ca.push(b)&&(qb=setInterval(ac,30))};try{var Sa=HTMLInputElement.prototype;Object.getOwnPropertyNames(Sa);var cc=Object.getOwnPropertyDescriptor(Sa,"value").set;Object.defineProperty(Sa,"value",{set:bc})}catch(dd){Fb=avalon.tick}X.SELECT=function(b,c,d){var e=avalon(b);d.handler=function(){var d=c(),d=d&&d.$model||d,d=Array.isArray(d)? +d.map(String):d+"";d+""!==b.oldValue&&(e.val(d),b.oldValue=d+"")};d.bound("change",function(){if(!1!==e.data("duplex-observe")){var f=e.val();f+""!==b.oldValue&&(c(f),b.oldValue=f+"");d.changed.call(b,f)}});var f=NaN,g=setInterval(function(){var e=b.innerHTML;e===f?(clearInterval(g),ua(d),d.changed.call(b,c())):f=e},20)};X.TEXTAREA=X.INPUT;var fa=avalon.eventHooks;"onmouseenter"in A||avalon.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(b,c){fa[b]={type:c,deel:function(c,e){return function(f){var g= +f.relatedTarget;if(!g||g!==c&&!(c.compareDocumentPosition(g)&16))return delete f.type,f.type=b,e.call(c,f)}}}});avalon.each({AnimationEvent:"animationend",WebKitAnimationEvent:"webkitAnimationEnd"},function(b,c){r[b]&&!fa.animationend&&(fa.animationend={type:c})});"oninput"in document.createElement("input")||(fa.input={type:"propertychange",deel:function(b,c){return function(d){if("value"===d.propertyName)return d.type="input",c.call(b,d)}}});void 0===document.onmousewheel&&(fa.mousewheel={type:"DOMMouseScroll", +deel:function(b,c){return function(d){d.wheelDelta=0]*>([\S\s]*?)<\/script\s*>/gim,Vc=/^<(a|img)\s/i,Wc=/\s+(on[^=\s]+)(?:=("[^"]*"|'[^']*'|[^\s>]+))?/g,Xc=/<\w+\b(?:(["'])[^"]*?(\1)|[^>])*>/ig,Yc=/\s+(src|href)(?:=("javascript[^"]*"|'javascript[^']*'))?/ig,Zc=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,$c=/([^\#-~| |!])/g,Ua=avalon.filters={uppercase:function(b){return b.toUpperCase()}, lowercase:function(b){return b.toLowerCase()},truncate:function(b,c,d){c=c||30;d=void 0===d?"...":d;return b.length>c?b.slice(0,c-d.length)+d:String(b)},camelize:ma,sanitize:function(b){return b.replace(Uc,"").replace(Xc,function(b,d){Vc.test(b)&&(b=b.replace(Yc," $1=''"));return b.replace(Wc," ").replace(/\s+/g," ")})},escape:function(b){return String(b).replace(/&/g,"&").replace(Zc,function(b){var d=b.charCodeAt(0);b=b.charCodeAt(1);return"&#"+(1024*(d-55296)+(b-56320)+65536)+";"}).replace($c, function(b){return"&#"+b.charCodeAt(0)+";"}).replace(//g,">")},currency:function(b,c){return(c||"\uffe5")+avalon.filters.number(b)},number:function(b,c,d,e){b=(b+"").replace(/[^0-9+\-Ee.]/g,"");b=!isFinite(+b)?0:+b;c=!isFinite(+c)?0:Math.abs(c);e=e||",";d=d||".";var f="",f=function(b,c){var d=Math.pow(10,c);return""+Math.round(b*d)/d},f=(c?f(b,c):""+Math.round(b)).split(".");3e?avalon.error(b+" \u5bf9\u5e94\u8d44\u6e90\u4e0d\u5b58\u5728\u6216\u6ca1\u6709\u5f00\u542f CORS"):(s[d].state=2,s[d].exports=c.responseText,F.checkDeps())}};c.open("GET",b,!0);"withCredentials"in c&&(c.withCredentials=!0);c.setRequestHeader("X-Requested-With","XMLHttpRequest");c.send();return d};var q=c(!0);q||(q=avalon.slice(p.scripts).pop().src);q=b(q);n=v.base=q.slice(0,q.lastIndexOf("/")+1);var u=/\/\w+\/\.\./;F=avalon.require=function(b,c,d){var f={}, -h=[],m=0,q=0,p=d||"callback"+setTimeout("1");d=d||n;String(b).replace(B,function(b){if(b=g(b,d))m++,s[b]&&2===s[b].state&&q++,f[b]||(h.push(b),f[b]="\u53f8\u5f92\u6b63\u7f8e")});s[p]={id:p,factory:c,deps:f,args:h,state:1};m===q?k(p,h,c):l.unshift(p);e()};F.define=function(e,f,g){var h=$.call(arguments);if("string"===typeof e)var k=h.shift();"function"===typeof h[0]&&h.unshift([]);var l=s[k]&&1<=s[k].state?k:b(c());!s[l]&&k&&(s[l]={id:l,factory:g,state:1});g=h[1];g.id=k;g.delay=function(b){h.push(b); +h=[],m=0,q=0,p=d||"callback"+setTimeout("1");d=d||n;String(b).replace(C,function(b){if(b=g(b,d))m++,s[b]&&2===s[b].state&&q++,f[b]||(h.push(b),f[b]="\u53f8\u5f92\u6b63\u7f8e")});s[p]={id:p,factory:c,deps:f,args:h,state:1};m===q?k(p,h,c):l.unshift(p);e()};F.define=function(e,f,g){var h=$.call(arguments);if("string"===typeof e)var k=h.shift();"function"===typeof h[0]&&h.unshift([]);var l=s[k]&&1<=s[k].state?k:b(c());!s[l]&&k&&(s[l]={id:l,factory:g,state:1});g=h[1];g.id=k;g.delay=function(b){h.push(b); var c=!0;try{c=d(s[b].deps,b)}catch(e){}c&&avalon.error(b+"\u6a21\u5757\u4e0e\u4e4b\u524d\u7684\u6a21\u5757\u5b58\u5728\u5faa\u73af\u4f9d\u8d56\uff0c\u8bf7\u4e0d\u8981\u76f4\u63a5\u7528script\u6807\u7b7e\u5f15\u5165"+b+"\u6a21\u5757");delete g.delay;F.apply(null,h)};l?g.delay(l,h):m.push(g)};F.define.amd=s;F.config=v;F.checkDeps=e};var ad=t?"DOMContentLoaded":"readystatechange";"complete"===p.readyState?setTimeout(S):t?(p.addEventListener(ad,S),r.addEventListener("load",S)):(p.attachEvent("onreadystatechange", function(){"complete"===p.readyState&&S()}),r.attachEvent("onload",S),A.doScroll&&vb());avalon.config({loader:!0});avalon.ready=function(b){F("ready!",b)};avalon.ready(function(){if(r.VBArray&&!r.setImmediate){var b=[];avalon.nextTick=function(c){"function"===typeof c&&b.push(c);var d=p.createElement("script");d.onreadystatechange=function(){var c=b.shift();c&&(c(),b.length&&avalon.nextTick());d.onreadystatechange=null;H.removeChild(d);d=null};H.appendChild(d)}}avalon.scan(p.body)})})(document); diff --git a/avalon.mobile.js b/avalon.mobile.js index 128e8aefe..6d4825da6 100644 --- a/avalon.mobile.js +++ b/avalon.mobile.js @@ -2137,7 +2137,7 @@ } elem.$vmodel = vmodels[0] elem.$vmodels = vmodels - var eventType = data.param = data.param.replace(/-\d+$/, "") // ms-on-mousemove-10 + var eventType = data.param.replace(/-\d+$/, "") // ms-on-mousemove-10 if (eventType === "scan") { callback.call(elem, {type: eventType}) } else if (typeof data.specialBind === "function") { @@ -2372,6 +2372,10 @@ "on": function(data, vmodels) { var value = data.value, four = "$event" + var eventType = data.param.replace(/-\d+$/, "") // ms-on-mousemove-10 + if (typeof bindingHandlers.on[eventType + "Hook"] === "function") { + bindingHandlers.on[eventType + "Hook"](data) + } if (value.indexOf("(") > 0 && value.indexOf(")") > -1) { var matched = (value.match(rdash) || ["", ""])[1].trim() if (matched === "" || matched === "$event") { // aaa() aaa($event)当成aaa处理 diff --git a/avalon.mobile.min.js b/avalon.mobile.min.js index 98afd49c3..cf53c13f4 100644 --- a/avalon.mobile.min.js +++ b/avalon.mobile.min.js @@ -1,52 +1,52 @@ -(function(q){function E(){}function w(b){avalon.config.debug&&console.log(b)}function F(b,c){"string"===typeof b&&(b=b.match(A)||[]);for(var d={},e=void 0!==c?c:1,f=0,g=b.length;f=Object.keys(c).length){var n=c.set,p=c.get;k=function(c){var e=h.vmodel,f=d[b];if(arguments.length){if(!aa){if("function"===typeof n){var g=e.$events[b];e.$events[b]=[];n.call(e,c);e.$events[b]=g}if(!V(m,c)){m=c;c=d[b]=p.call(e);if(ba&&(g=R[e.$id])&& -g[b])g[b].$val=c;B(k);e.$events&&I.$fire.call(e,b,c,f)}}}else return avalon.openComputedCollect&&$(k),c=d[b]=p.call(e),V(f,c)||(m=void 0,e.$events&&I.$fire.call(e,b,c,f)),c};g.push(k)}else oa.test(l)?(k=function(c){var e=k.$vmodel,f=e.$model;if(arguments.length){if(!aa&&!V(f,c)){c=k.$vmodel=rb(e,c,l);var g=pa[c.$id];g&&g();g=h.vmodel;d[b]=c.$model;B(e);g.$events&&I.$fire.call(g,b,d[b],f)}}else return $(e),e},k.$vmodel=c.$model?c:H(c,c),d[b]=k.$vmodel.$model):(k=function(c){var e=d[b];if(arguments.length){if(!V(e, -c)){d[b]=c;var f=h.vmodel;if(ba){var g=R[f.$id];g&&g[b]&&(g[b].$val=c)}B(k);f.$events&&I.$fire.call(f,b,c,e)}}else return $(k),e},d[b]=c);k[t]=[];f[b]=k}function rb(b,c,d){if("array"===d){if(!Array.isArray(c))return b;c=c.concat();b.clear();b.push.apply(b,c);return b}var e=b[t]||[];R[b.$id]&&(ba--,delete R[b.$id]);var f=H(c);pa[f.$id]=function(b){for(;b=e.shift();)(function(b){b.type&&avalon.nextTick(function(){b.rollback&&b.rollback();C[b.type](b,b.vmodels)})})(b);delete pa[f.$id]};return f}function s(b){for(var c in b)if(Ka.call(b, +g[b])g[b].$val=c;C(k);e.$events&&I.$fire.call(e,b,c,f)}}}else return avalon.openComputedCollect&&$(k),c=d[b]=p.call(e),V(f,c)||(m=void 0,e.$events&&I.$fire.call(e,b,c,f)),c};g.push(k)}else oa.test(l)?(k=function(c){var e=k.$vmodel,f=e.$model;if(arguments.length){if(!aa&&!V(f,c)){c=k.$vmodel=rb(e,c,l);var g=pa[c.$id];g&&g();g=h.vmodel;d[b]=c.$model;C(e);g.$events&&I.$fire.call(g,b,d[b],f)}}else return $(e),e},k.$vmodel=c.$model?c:H(c,c),d[b]=k.$vmodel.$model):(k=function(c){var e=d[b];if(arguments.length){if(!V(e, +c)){d[b]=c;var f=h.vmodel;if(ba){var g=R[f.$id];g&&g[b]&&(g[b].$val=c)}C(k);f.$events&&I.$fire.call(f,b,c,e)}}else return $(k),e},d[b]=c);k[t]=[];f[b]=k}function rb(b,c,d){if("array"===d){if(!Array.isArray(c))return b;c=c.concat();b.clear();b.push.apply(b,c);return b}var e=b[t]||[];R[b.$id]&&(ba--,delete R[b.$id]);var f=H(c);pa[f.$id]=function(b){for(;b=e.shift();)(function(b){b.type&&avalon.nextTick(function(){b.rollback&&b.rollback();y[b.type](b,b.vmodels)})})(b);delete pa[f.$id]};return f}function s(b){for(var c in b)if(Ka.call(b, c)){var d=b[c];if("function"===typeof s.plugins[c])s.plugins[c](d);else"object"===typeof s[c]?avalon.mix(s[c],d):s[c]=d}return this}function La(b){return b.replace(/([a-z\d])([A-Z]+)/g,"$1-$2").toLowerCase()}function ca(b){return 0>b.indexOf("-")&&0>b.indexOf("_")?b:b.replace(/[-_][^-_]/g,function(b){return b.charAt(1).toUpperCase()})}function da(b){try{b="true"===b?!0:"false"===b?!1:"null"===b?null:+b+""===b?+b:sb.test(b)?JSON.parse(b):b}catch(c){}return b}function Ma(b,c){if(0>=b.offsetWidth){var d= getComputedStyle(b,null);if(tb.test(d.display)){var e={node:b},f;for(f in Na)e[f]=d[f],b.style[f]=Na[f];c.push(e)}(d=b.parentNode)&&1==d.nodeType&&Ma(d,c)}}function qa(b,c){Q[x]=b;avalon.openComputedCollect=!0;var d=b.evaluator;if(d)if("duplex"===b.type)b.handler();else try{var e="on"===b.type?b:d.apply(0,b.args);b.handler(e,b.element,b)}catch(f){delete b.evaluator,3===b.nodeType&&(s.commentInterpolate?b.element.replaceChild(q.createComment(b.value),b.node):b.node.data=J+b.value+K),w("warning:evaluator of ["+ -b.value+"] throws error!")}else b();avalon.openComputedCollect=!1;delete Q[x]}function $(b){Q[x]&&(b=b[t])&&avalon.Array.ensure(b,Q[x])}function B(b){var c=b[t];if(c&&c.length)for(var d=ea.call(arguments,1),e=c.length,f;f=c[--e];){var g=f.element;g&&!Oa.contains(g)&&!z.contains(g)?(c.splice(e,1),w("debug: remove "+f.name)):"function"===typeof f?f.apply(0,d):f.getter?f.handler.apply(f,d):f.handler(f.evaluator.apply(0,f.args||[]),g,f)}}function Pa(b,c){var d=NaN,e=setInterval(function(){var f=b.innerHTML; +b.value+"] throws error!")}else b();avalon.openComputedCollect=!1;delete Q[x]}function $(b){Q[x]&&(b=b[t])&&avalon.Array.ensure(b,Q[x])}function C(b){var c=b[t];if(c&&c.length)for(var d=ea.call(arguments,1),e=c.length,f;f=c[--e];){var g=f.element;g&&!Oa.contains(g)&&!A.contains(g)?(c.splice(e,1),w("debug: remove "+f.name)):"function"===typeof f?f.apply(0,d):f.getter?f.handler.apply(f,d):f.handler(f.evaluator.apply(0,f.args||[]),g,f)}}function Pa(b,c){var d=NaN,e=setInterval(function(){var f=b.innerHTML; f===d?(clearInterval(e),c()):d=f},15)}function fa(b,c,d){d=b.getAttribute(ra+"skip");var e=b.getAttributeNode(ra+"important"),f=b.getAttributeNode(ra+"controller");if("string"!==typeof d){if(d=e||f){var g=S[d.value];if(!g)return;c=d===e?[g]:[g].concat(c);b.removeAttribute(d.name);b.classList.remove(d.name);g.$events.element=b;b.addEventListener("dataavailable",function(c){"object"===typeof c.detail&&b!==c.target&&g.$fire.apply(g,c.detail)})}Qa(b,c)}}function sa(b,c){for(var d=b.firstChild;d;){var e= d.nextSibling,f=d.nodeType;1===f?fa(d,c):3===f&&W.test(d.data)?Ra(d,c):s.commentInterpolate&&(8===f&&!W.test(d.nodeValue))&&Ra(d,c);d=e}}function Ra(b,c){var d=[];if(8===b.nodeType){var e=[],f={expr:!0,value:Sa(b.nodeValue,e)};e.length&&(f.filters=e);e=[f]}else e=ta(b.data);if(e.length){for(var g=0;f=e[g++];){var h=q.createTextNode(f.value);if(f.expr){var l=f.filters,f={type:"text",node:h,nodeType:3,value:f.value,filters:l};l&&-1!==l.indexOf("html")&&(avalon.Array.remove(l,"html"),f.type="html",f.replaceNodes= [h],l.length||delete d.filters);d.push(f)}O.appendChild(h)}b.parentNode.replaceChild(O,b);d.length&&ua(d,c)}}function Qa(b,c){for(var d=b.hasAttributes()?avalon.slice(b.attributes):[],e=[],f={},g,h=0,l;l=d[h++];)if(l.specified&&(g=l.name.match(ub))){var k=g[1],m=g[2]||"",n=l.value;l=l.name;f[l]=n;vb[k]?(m=k,k="on"):"enabled"===k&&(k="disabled",n="!("+n+")");if("checked"===k||"selected"===k||"disabled"===k||"readonly"===k)m=k,k="attr",b.removeAttribute(l),l="ms-attr-"+m,b.setAttribute(l,n),g=[l],f[l]= -n;"function"===typeof C[k]&&(n={type:k,param:m,element:b,name:g[0],value:n,priority:k in Ta?Ta[k]:10*k.charCodeAt(0)+(Number(m)||0)},"if"===k&&"loop"===m&&(n.priority+=100),c.length&&(e.push(n),"widget"===k&&(b.msData=b.msData||f)))}f["ms-checked"]&&f["ms-duplex"]&&w("warning!\u4e00\u4e2a\u5143\u7d20\u4e0a\u4e0d\u80fd\u540c\u65f6\u5b9a\u4e49ms-checked\u4e0ems-duplex");e.sort(function(b,c){return b.priority-c.priority});d=e[0]||{};switch(d.type){case "if":case "repeat":case "widget":ua([d],c);break; -default:ua(e,c),!wb[b.tagName]&&va.test(b.innerHTML+b.textContent)&&sa(b,c)}b.patchRepeat&&(b.patchRepeat(),b.patchRepeat="",b.removeAttribute("patchRepeat"))}function ua(b,c){for(var d=0,e;e=b[d++];)e.vmodels=c,C[e.type](e,c),e.evaluator&&e.name&&e.element.removeAttribute(e.name);b.length=0}function Sa(b,c){0b&&delete c[d.shift()];return c[e]=f}var d=[];return c}function ga(b,c,d){var e=d.type,f="html"===e||"text"===e?d.filters:"",g=c.map(function(b){return b.$id.replace(Bb,"$1")})+b+e+f,h=Cb(b).concat(),l=[],k=[],m=[],n="";c=Ua(c);for(var p=0,n=c.length;pb&&delete c[d.shift()];return c[e]=f}var d=[];return c}function ga(b,c,d){var e=d.type,f="html"===e||"text"===e?d.filters:"",g=c.map(function(b){return b.$id.replace(Bb,"$1")})+b+e+f,h=Cb(b).concat(),l=[],k=[],m=[],n="";c=Ua(c);for(var p=0,n=c.length;ps.maxRepeatSize&&Z.pop()}function ja(){r["ready!"].state=2;D.checkDeps();ja=E}var ra="ms-",x=Date.now(),t="$"+x,u=this||(0,eval)("this"),Nb=u.require,Ob=u.define,aa=!1,A=/[^, ]+/g,oa=/^(?:object|array)$/,Pb=/^\[object (Window|DOMWindow|global)\]$/, -Aa=Object.prototype,Ka=Aa.hasOwnProperty,la=Aa.toString,G=Array.prototype,ea=G.slice,Q={},M=q.head,z=q.documentElement,O=q.createDocumentFragment(),P=q.createElement("div"),ab={};"Boolean Number String Function Array Date RegExp Object Error".replace(A,function(b){ab["[object "+b+"]"]=b.toLowerCase()});u.avalon=function(b){return new avalon.init(b)};avalon.init=function(b){this[0]=this.element=b};avalon.fn=avalon.prototype=avalon.init.prototype;avalon.type=function(b){return null==b?String(b):"object"=== +avalon.type(c);if("object"===c||"function"===c)b.$skipArray=[f];g=H(b,0,Lb);g.$id="$proxy$"+d.type+Math.random();return g}function Mb(b){var c=b.$accessors,d=b.$itemName;["$index","$last","$first"].forEach(function(b){c[b][t].length=0});b[d][t]&&(b[d][t].length=0);Z.unshift(b)>s.maxRepeatSize&&Z.pop()}function ja(){r["ready!"].state=2;D.checkDeps();ja=E}var ra="ms-",x=Date.now(),t="$"+x,u=this||(0,eval)("this"),Nb=u.require,Ob=u.define,aa=!1,B=/[^, ]+/g,oa=/^(?:object|array)$/,Pb=/^\[object (Window|DOMWindow|global)\]$/, +Aa=Object.prototype,Ka=Aa.hasOwnProperty,la=Aa.toString,G=Array.prototype,ea=G.slice,Q={},M=q.head,A=q.documentElement,O=q.createDocumentFragment(),P=q.createElement("div"),ab={};"Boolean Number String Function Array Date RegExp Object Error".replace(B,function(b){ab["[object "+b+"]"]=b.toLowerCase()});u.avalon=function(b){return new avalon.init(b)};avalon.init=function(b){this[0]=this.element=b};avalon.fn=avalon.prototype=avalon.init.prototype;avalon.type=function(b){return null==b?String(b):"object"=== typeof b||"function"===typeof b?ab[la.call(b)]||"object":typeof b};avalon.isWindow=function(b){return Pb.test(la.call(b))};avalon.isPlainObject=function(b){return!!b&&"object"===typeof b&&Object.getPrototypeOf(b)===Aa};avalon.mix=avalon.fn.mix=function(){var b,c,d,e,f,g=arguments[0]||{},h=1,l=arguments.length,k=!1;"boolean"===typeof g&&(k=g,g=arguments[1]||{},h++);"object"!==typeof g&&"function"!==avalon.type(g)&&(g={});h===l&&(g=this,h--);for(;h';var Qb=Ba.firstChild&& +b.indexOf(c)&&b.push(c);return b},removeAt:function(b,c){return!!b.splice(c,1).length},remove:function(b,c){var d=b.indexOf(c);return~d?avalon.Array.removeAt(b,d):!1}}});avalon.isArrayLike=Ia;avalon.nextTick=u.setImmediate?setImmediate.bind(u):function(b){setTimeout(b,0)};A.contains||(Node.prototype.contains=function(b){return!!(this.compareDocumentPosition(b)&16)});var Ja="http://www.w3.org/2000/svg",Ba=document.createElementNS(Ja,"svg");Ba.innerHTML='';var Qb=Ba.firstChild&& "rect"===Ba.firstChild.tagName;u.SVGElement&&!Qb&&Object.defineProperties(SVGElement.prototype,{outerHTML:{enumerable:!0,configurable:!0,get:lb,set:function(b){var c=this.tagName.toLowerCase(),d=this.parentNode;b=avalon.parseHTML(b);"svg"===c?d.insertBefore(b,this):(c=document.createDocumentFragment(),ma(b,c),d.insertBefore(c,this));d.removeChild(this)}},innerHTML:{enumerable:!0,configurable:!0,get:function(){var b=RegExp("$","i");return this.outerHTML.replace(RegExp("<"+this.nodeName+ '\\b(?:(["\'])[^"]*?(\\1)|[^>])*>',"i"),"").replace(b,"")},set:function(b){avalon.clearHTML(this);b=avalon.parseHTML(b);ma(b,this)}}});var S=avalon.vmodels={};avalon.define=function(b,c){var d=b.$id||b;d||w("warning: \u5fc5\u987b\u6307\u5b9a$id");S[b]&&w("warning: "+d+" \u5df2\u7ecf\u5b58\u5728\u4e8eavalon.vmodels\u4e2d");if("object"==typeof b)var e=H(b);else e={$watch:E},c(e),e=H(e),aa=!0,c(e),aa=!1;e.$id=d;return S[d]=e};var nb=String("$id,$watch,$unwatch,$fire,$events,$model,$skipArray,$accessors,"+ -t).match(A),V=Object.is||function(b,c){return 0===b&&0===c?1/b===1/c:b!==b?c!==c:b===c},R={},ba=0,pa={},J,K,W,bb,va,cb=/[-.*+?^${}()|[\]\/\\]/g,N={loader:function(b){u.define=b?D.define:Ob;u.require=b?D:Nb},interpolate:function(b){J=b[0];K=b[1];J===K?avalon.error("openTag!==closeTag",SyntaxError):"\x3c!--,--\x3e"===b+""?s.commentInterpolate=!0:(b=J+"test"+K,P.innerHTML=b,P.innerHTML!==b&&0<=P.innerHTML.indexOf("<")&&avalon.error("\u6b64\u5b9a\u754c\u7b26\u4e0d\u5408\u6cd5",SyntaxError),P.innerHTML= -"");b=(J+"").replace(cb,"\\$&");var c=(K+"").replace(cb,"\\$&");W=RegExp(b+"(.*?)"+c);bb=RegExp(b+"(.*?)"+c,"g");va=RegExp(b+".*?"+c+"|\\sms-")}};s.debug=!0;s.plugins=N;s.plugins.interpolate(["{{","}}"]);s.paths={};s.shim={};s.maxRepeatSize=100;avalon.config=s;"add,remove".replace(A,function(b){avalon.fn[b+"Class"]=function(c){var d=this[0];c&&("string"===typeof c&&d&&1==d.nodeType)&&c.replace(/\S+/g,function(c){d.classList[b](c)});return this}});avalon.fn.mix({hasClass:function(b){var c=this[0]|| +t).match(B),V=Object.is||function(b,c){return 0===b&&0===c?1/b===1/c:b!==b?c!==c:b===c},R={},ba=0,pa={},J,K,W,bb,va,cb=/[-.*+?^${}()|[\]\/\\]/g,N={loader:function(b){u.define=b?D.define:Ob;u.require=b?D:Nb},interpolate:function(b){J=b[0];K=b[1];J===K?avalon.error("openTag!==closeTag",SyntaxError):"\x3c!--,--\x3e"===b+""?s.commentInterpolate=!0:(b=J+"test"+K,P.innerHTML=b,P.innerHTML!==b&&0<=P.innerHTML.indexOf("<")&&avalon.error("\u6b64\u5b9a\u754c\u7b26\u4e0d\u5408\u6cd5",SyntaxError),P.innerHTML= +"");b=(J+"").replace(cb,"\\$&");var c=(K+"").replace(cb,"\\$&");W=RegExp(b+"(.*?)"+c);bb=RegExp(b+"(.*?)"+c,"g");va=RegExp(b+".*?"+c+"|\\sms-")}};s.debug=!0;s.plugins=N;s.plugins.interpolate(["{{","}}"]);s.paths={};s.shim={};s.maxRepeatSize=100;avalon.config=s;"add,remove".replace(B,function(b){avalon.fn[b+"Class"]=function(c){var d=this[0];c&&("string"===typeof c&&d&&1==d.nodeType)&&c.replace(/\S+/g,function(c){d.classList[b](c)});return this}});avalon.fn.mix({hasClass:function(b){var c=this[0]|| {};return 1===c.nodeType&&c.classList.contains(b)},toggleClass:function(b,c){for(var d,e=0,f=b.split(/\s+/),g="boolean"===typeof c;d=f[e++];)this[(g?c:!this.hasClass(d))?"addClass":"removeClass"](d);return this},attr:function(b,c){return 2===arguments.length?(this[0].setAttribute(b,c),this):this[0].getAttribute(b)},data:function(b,c){b="data-"+La(b||"");switch(arguments.length){case 2:return this.attr(b,c),this;case 1:var d=this.attr(b);return da(d);case 0:var e={};G.forEach.call(this[0].attributes, function(c){c&&(b=c.name,b.indexOf("data-")||(b=ca(b.slice(5)),e[b]=da(c.value)))});return e}},removeData:function(b){b="data-"+La(b);this[0].removeAttribute(b);return this},css:function(b,c){if(avalon.isPlainObject(b))for(var d in b)avalon.css(this,d,b[d]);else var e=avalon.css(this,b,c);return void 0!==e?e:this},position:function(){var b,c,d=this[0],e={top:0,left:0};if(d)return"fixed"===this.css("position")?c=d.getBoundingClientRect():(b=this.offsetParent(),c=this.offset(),"HTML"!==b[0].tagName&& -(e=b.offset()),e.top+=avalon.css(b[0],"borderTopWidth",!0),e.left+=avalon.css(b[0],"borderLeftWidth",!0)),{top:c.top-e.top-avalon.css(d,"marginTop",!0),left:c.left-e.left-avalon.css(d,"marginLeft",!0)}},offsetParent:function(){for(var b=this[0].offsetParent||z;b&&"HTML"!==b.tagName&&"static"===avalon.css(b,"position");)b=b.offsetParent;return avalon(b||z)},bind:function(b,c,d){if(this[0])return avalon.bind(this[0],b,c,d)},unbind:function(b,c,d){this[0]&&avalon.unbind(this[0],b,c,d);return this},val:function(b){var c= -this[0];if(c&&1===c.nodeType){var d=0===arguments.length,e=d?":get":":set",f=Rb,g;g=c.tagName.toLowerCase();g="input"===g&&/checkbox|radio/.test(c.type)?"checked":g;if(e=f[g+e])var h=e(c,b);else{if(d)return(c.value||"").replace(/\r/g,"");c.value=b}}return d?h:this}});z.dataset&&(avalon.data=function(b,c){var d=this[0].dataset;switch(arguments.length){case 2:return d[b]=c,this;case 1:return c=d[b],da(c);case 0:var e={};for(b in d)e[b]=da(d[b]);return e}});var sb=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/;avalon.each({scrollLeft:"pageXOffset", +(e=b.offset()),e.top+=avalon.css(b[0],"borderTopWidth",!0),e.left+=avalon.css(b[0],"borderLeftWidth",!0)),{top:c.top-e.top-avalon.css(d,"marginTop",!0),left:c.left-e.left-avalon.css(d,"marginLeft",!0)}},offsetParent:function(){for(var b=this[0].offsetParent||A;b&&"HTML"!==b.tagName&&"static"===avalon.css(b,"position");)b=b.offsetParent;return avalon(b||A)},bind:function(b,c,d){if(this[0])return avalon.bind(this[0],b,c,d)},unbind:function(b,c,d){this[0]&&avalon.unbind(this[0],b,c,d);return this},val:function(b){var c= +this[0];if(c&&1===c.nodeType){var d=0===arguments.length,e=d?":get":":set",f=Rb,g;g=c.tagName.toLowerCase();g="input"===g&&/checkbox|radio/.test(c.type)?"checked":g;if(e=f[g+e])var h=e(c,b);else{if(d)return(c.value||"").replace(/\r/g,"");c.value=b}}return d?h:this}});A.dataset&&(avalon.data=function(b,c){var d=this[0].dataset;switch(arguments.length){case 2:return d[b]=c,this;case 1:return c=d[b],da(c);case 0:var e={};for(b in d)e[b]=da(d[b]);return e}});var sb=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/;avalon.each({scrollLeft:"pageXOffset", scrollTop:"pageYOffset"},function(b,c){avalon.fn[b]=function(d){var e=this[0]||{},f=e.window&&e.document?e:9===e.nodeType?e.defaultView:!1,g="scrollTop"===b;if(arguments.length)f?f.scrollTo(!g?d:avalon(f).scrollLeft(),g?d:avalon(f).scrollTop()):e[b]=d;else return f?f[c]:e[b]}});var v=avalon.cssHooks={},db=["","-webkit-","-o-","-moz-","-ms-"],Ca={"float":"cssFloat",background:"backgroundColor"};avalon.cssNumber=F("columnCount,order,fillOpacity,fontWeight,lineHeight,opacity,orphans,widows,zIndex,zoom"); -avalon.cssName=function(b,c,d){if(Ca[b])return Ca[b];c=c||z.style;for(var e=0,f=db.length;ef,h=g?null:[],l=g?f+1:e.length,k=0>f?l:g?f:0;k]*)\/>/ig,Ub=F("text/javascript","text/ecmascript","application/ecmascript","application/javascript","text/vbscript"),eb=/<(?:tb|td|tf|th|tr|col|opt|leg|cap|area)/,fb=new function(){avalon.mix(this,{option:q.createElement("select"),thead:q.createElement("table"),td:q.createElement("tr"),area:q.createElement("map"),tr:q.createElement("tbody"),col:q.createElement("colgroup"),legend:q.createElement("fieldset"),"*":q.createElement("div")}); -this.optgroup=this.option;this.tbody=this.tfoot=this.colgroup=this.caption=this.thead;this.th=this.td};avalon.clearHTML=function(b){b.textContent="";return b};var Vb=q.createElement("script");avalon.parseHTML=function(b){"string"!==typeof b&&(b+="");b=b.replace(Tb,"<$1>").trim();if(Wb.createContextualFragment&&!eb.test(b)&&!/