/* Ext JS 4.1 - JavaScript Library Copyright (c) 2006-2012, Sencha Inc. All rights reserved. licensing@sencha.com http://www.sencha.com/license Open Source License ------------------------------------------------------------------------------------------ This version of Ext JS is licensed under the terms of the Open Source GPL 3.0 license. http://www.gnu.org/licenses/gpl.html There are several FLOSS exceptions available for use with this release for open source applications that are distributed under a license other than GPL. * Open Source License Exception for Applications http://www.sencha.com/products/floss-exception.php * Open Source License Exception for Development http://www.sencha.com/products/ux-exception.php Alternate Licensing ------------------------------------------------------------------------------------------ Commercial and OEM Licenses are available for an alternate download of Ext JS. This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application under the GPL v3 license. Please visit http://www.sencha.com/license for more details. -- This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT OF THIRD-PARTY INTELLECTUAL PROPERTY RIGHTS. See the GNU General Public License for more details. */ (function(Ext){Ext.sandboxName="Ext4";Ext.isSandboxed=true;Ext.buildSettings={baseCSSPrefix:"x4-",scopeResetCSS:true};var Ext=Ext||{};Ext._startTime=new Date().getTime();(function(){var global=this,objectPrototype=Object.prototype,toString=objectPrototype.toString,enumerables=true,enumerablesTest={toString:1},emptyFn=function(){},callOverrideParent=function(){var method=callOverrideParent.caller.caller;return method.$owner.prototype[method.$name].apply(this,arguments)},i;Ext.global=global;for(i in enumerablesTest){enumerables=null}if(enumerables){enumerables=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"]}Ext.enumerables=enumerables;Ext.apply=function(object,config,defaults){if(defaults){Ext.apply(object,defaults)}if(object&&config&&typeof config==="object"){var i,j,k;for(i in config){object[i]=config[i]}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];if(config.hasOwnProperty(k)){object[k]=config[k]}}}}return object};Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-",scopeResetCSS:false},Ext.buildSettings||{});Ext.apply(Ext,{name:Ext.sandboxName||"Ext",emptyFn:emptyFn,emptyString:new String(),baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,applyIf:function(object,config){var property;if(object){for(property in config){if(object[property]===undefined){object[property]=config[property]}}}return object},iterate:function(object,fn,scope){if(Ext.isEmpty(object)){return}if(scope===undefined){scope=object}if(Ext.isIterable(object)){Ext.Array.each.call(Ext.Array,object,fn,scope)}else{Ext.Object.each.call(Ext.Object,object,fn,scope)}}});Ext.apply(Ext,{extend:(function(){var objectConstructor=objectPrototype.constructor,inlineOverrides=function(o){for(var m in o){if(!o.hasOwnProperty(m)){continue}this[m]=o[m]}};return function(subclass,superclass,overrides){if(Ext.isObject(superclass)){overrides=superclass;superclass=subclass;subclass=overrides.constructor!==objectConstructor?overrides.constructor:function(){superclass.apply(this,arguments)}}var F=function(){},subclassProto,superclassProto=superclass.prototype;F.prototype=superclassProto;subclassProto=subclass.prototype=new F();subclassProto.constructor=subclass;subclass.superclass=superclassProto;if(superclassProto.constructor===objectConstructor){superclassProto.constructor=superclass}subclass.override=function(overrides){Ext.override(subclass,overrides)};subclassProto.override=inlineOverrides;subclassProto.proto=subclassProto;subclass.override(overrides);subclass.extend=function(o){return Ext.extend(subclass,o)};return subclass}}()),override:function(target,overrides){if(target.$isClass){target.override(overrides)}else{if(typeof target=="function"){Ext.apply(target.prototype,overrides)}else{var owner=target.self,name,value;if(owner&&owner.$isClass){for(name in overrides){if(overrides.hasOwnProperty(name)){value=overrides[name];if(typeof value=="function"){value.$name=name;value.$owner=owner;value.$previous=target.hasOwnProperty(name)?target[name]:callOverrideParent}target[name]=value}}}else{Ext.apply(target,overrides)}}}return target}});Ext.apply(Ext,{valueFrom:function(value,defaultValue,allowBlank){return Ext.isEmpty(value,allowBlank)?defaultValue:value},typeOf:function(value){var type,typeToString;if(value===null){return"null"}type=typeof value;if(type==="undefined"||type==="string"||type==="number"||type==="boolean"){return type}typeToString=toString.call(value);switch(typeToString){case"[object Array]":return"array";case"[object Date]":return"date";case"[object Boolean]":return"boolean";case"[object Number]":return"number";case"[object RegExp]":return"regexp"}if(type==="function"){return"function"}if(type==="object"){if(value.nodeType!==undefined){if(value.nodeType===3){return(/\S/).test(value.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}},isEmpty:function(value,allowEmptyString){return(value===null)||(value===undefined)||(!allowEmptyString?value==="":false)||(Ext.isArray(value)&&value.length===0)},isArray:("isArray" in Array)?Array.isArray:function(value){return toString.call(value)==="[object Array]"},isDate:function(value){return toString.call(value)==="[object Date]"},isObject:(toString.call(null)==="[object Object]")?function(value){return value!==null&&value!==undefined&&toString.call(value)==="[object Object]"&&value.ownerDocument===undefined}:function(value){return toString.call(value)==="[object Object]"},isSimpleObject:function(value){return value instanceof Object&&value.constructor===Object},isPrimitive:function(value){var type=typeof value;return type==="string"||type==="number"||type==="boolean"},isFunction:(typeof document!=="undefined"&&typeof document.getElementsByTagName("body")==="function")?function(value){return toString.call(value)==="[object Function]"}:function(value){return typeof value==="function"},isNumber:function(value){return typeof value==="number"&&isFinite(value)},isNumeric:function(value){return !isNaN(parseFloat(value))&&isFinite(value)},isString:function(value){return typeof value==="string"},isBoolean:function(value){return typeof value==="boolean"},isElement:function(value){return value?value.nodeType===1:false},isTextNode:function(value){return value?value.nodeName==="#text":false},isDefined:function(value){return typeof value!=="undefined"},isIterable:function(value){var type=typeof value,checkLength=false;if(value&&type!="string"){if(type=="function"){if(Ext.isSafari){checkLength=value instanceof NodeList||value instanceof HTMLCollection}}else{checkLength=true}}return checkLength?value.length!==undefined:false}});Ext.apply(Ext,{clone:function(item){var type,i,j,k,clone,key;if(item===null||item===undefined){return item}if(item.nodeType&&item.cloneNode){return item.cloneNode(true)}type=toString.call(item);if(type==="[object Date]"){return new Date(item.getTime())}if(type==="[object Array]"){i=item.length;clone=[];while(i--){clone[i]=Ext.clone(item[i])}}else{if(type==="[object Object]"&&item.constructor===Object){clone={};for(key in item){clone[key]=Ext.clone(item[key])}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];clone[k]=item[k]}}}}return clone||item},getUniqueGlobalNamespace:function(){var uniqueGlobalNamespace=this.uniqueGlobalNamespace,i;if(uniqueGlobalNamespace===undefined){i=0;do{uniqueGlobalNamespace="ExtBox"+(++i)}while(Ext.global[uniqueGlobalNamespace]!==undefined);Ext.global[uniqueGlobalNamespace]=Ext;this.uniqueGlobalNamespace=uniqueGlobalNamespace}return uniqueGlobalNamespace},functionFactoryCache:{},cacheableFunctionFactory:function(){var me=this,args=Array.prototype.slice.call(arguments),cache=me.functionFactoryCache,idx,fn,ln;if(Ext.isSandboxed){ln=args.length;if(ln>0){ln--;args[ln]="var Ext=window."+Ext.name+";"+args[ln]}}idx=args.join("");fn=cache[idx];if(!fn){fn=Function.prototype.constructor.apply(Function.prototype,args);cache[idx]=fn}return fn},functionFactory:function(){var me=this,args=Array.prototype.slice.call(arguments),ln;if(Ext.isSandboxed){ln=args.length;if(ln>0){ln--;args[ln]="var Ext=window."+Ext.name+";"+args[ln]}}return Function.prototype.constructor.apply(Function.prototype,args)},Logger:{verbose:emptyFn,log:emptyFn,info:emptyFn,warn:emptyFn,error:function(message){throw new Error(message)},deprecate:emptyFn}});Ext.type=Ext.typeOf}());Ext.globalEval=Ext.global.execScript?function(code){execScript(code)}:function($$code){(function(){eval($$code)}())};(function(){var version="4.1.1.1",Version;Ext.Version=Version=Ext.extend(Object,{constructor:function(version){var parts,releaseStartIndex;if(version instanceof Version){return version}this.version=this.shortVersion=String(version).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,"");releaseStartIndex=this.version.search(/([^\d\.])/);if(releaseStartIndex!==-1){this.release=this.version.substr(releaseStartIndex,version.length);this.shortVersion=this.version.substr(0,releaseStartIndex)}this.shortVersion=this.shortVersion.replace(/[^\d]/g,"");parts=this.version.split(".");this.major=parseInt(parts.shift()||0,10);this.minor=parseInt(parts.shift()||0,10);this.patch=parseInt(parts.shift()||0,10);this.build=parseInt(parts.shift()||0,10);return this},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(target){return Version.compare(this.version,target)===1},isGreaterThanOrEqual:function(target){return Version.compare(this.version,target)>=0},isLessThan:function(target){return Version.compare(this.version,target)===-1},isLessThanOrEqual:function(target){return Version.compare(this.version,target)<=0},equals:function(target){return Version.compare(this.version,target)===0},match:function(target){target=String(target);return this.version.substr(0,target.length)===target},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(){return this.isGreaterThan.apply(this,arguments)},lt:function(){return this.isLessThan.apply(this,arguments)},gtEq:function(){return this.isGreaterThanOrEqual.apply(this,arguments)},ltEq:function(){return this.isLessThanOrEqual.apply(this,arguments)}});Ext.apply(Version,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(value){return !value?0:(isNaN(value)?this.releaseValueMap[value]||value:parseInt(value,10))},compare:function(current,target){var currentValue,targetValue,i;current=new Version(current).toArray();target=new Version(target).toArray();for(i=0;itargetValue){return 1}}}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(packageName,version){Ext.versions[packageName]=new Version(version);Ext.lastRegisteredVersion=Ext.versions[packageName];return this},getVersion:function(packageName){if(packageName===undefined){return Ext.lastRegisteredVersion}return Ext.versions[packageName]},deprecate:function(packageName,since,closure,scope){if(Version.compare(Ext.getVersion(packageName),since)<1){closure.call(scope)}}});Ext.setVersion("core",version)}());Ext.String=(function(){var trimRegex=/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,escapeRe=/('|\\)/g,formatRe=/\{(\d+)\}/g,escapeRegexRe=/([-.*+?\^${}()|\[\]\/\\])/g,basicTrimRe=/^\s+|\s+$/g,whitespaceRe=/\s+/,varReplace=/(^[^a-z]*|[^\w])/gi,charToEntity,entityToChar,charToEntityRegex,entityToCharRegex,htmlEncodeReplaceFn=function(match,capture){return charToEntity[capture]},htmlDecodeReplaceFn=function(match,capture){return(capture in entityToChar)?entityToChar[capture]:String.fromCharCode(parseInt(capture.substr(2),10))};return{createVarName:function(s){return s.replace(varReplace,"")},htmlEncode:function(value){return(!value)?value:String(value).replace(charToEntityRegex,htmlEncodeReplaceFn)},htmlDecode:function(value){return(!value)?value:String(value).replace(entityToCharRegex,htmlDecodeReplaceFn)},addCharacterEntities:function(newEntities){var charKeys=[],entityKeys=[],key,echar;for(key in newEntities){echar=newEntities[key];entityToChar[key]=echar;charToEntity[echar]=key;charKeys.push(echar);entityKeys.push(key)}charToEntityRegex=new RegExp("("+charKeys.join("|")+")","g");entityToCharRegex=new RegExp("("+entityKeys.join("|")+"|&#[0-9]{1,5};)","g")},resetCharacterEntities:function(){charToEntity={};entityToChar={};this.addCharacterEntities({"&":"&",">":">","<":"<",""":'"',"'":"'"})},urlAppend:function(url,string){if(!Ext.isEmpty(string)){return url+(url.indexOf("?")===-1?"?":"&")+string}return url},trim:function(string){return string.replace(trimRegex,"")},capitalize:function(string){return string.charAt(0).toUpperCase()+string.substr(1)},uncapitalize:function(string){return string.charAt(0).toLowerCase()+string.substr(1)},ellipsis:function(value,len,word){if(value&&value.length>len){if(word){var vs=value.substr(0,len-2),index=Math.max(vs.lastIndexOf(" "),vs.lastIndexOf("."),vs.lastIndexOf("!"),vs.lastIndexOf("?"));if(index!==-1&&index>=(len-15)){return vs.substr(0,index)+"..."}}return value.substr(0,len-3)+"..."}return value},escapeRegex:function(string){return string.replace(escapeRegexRe,"\\$1")},escape:function(string){return string.replace(escapeRe,"\\$1")},toggle:function(string,value,other){return string===value?other:value},leftPad:function(string,size,character){var result=String(string);character=character||" ";while(result.lengthmax)?max:x)},snap:function(value,increment,minValue,maxValue){var m;if(value===undefined||value=increment){value+=increment}else{if(m*2<-increment){value-=increment}}}}return me.constrain(value,minValue,maxValue)},snapInRange:function(value,increment,minValue,maxValue){var tween;minValue=(minValue||0);if(value===undefined||value=increment){value+=increment}}if(maxValue!==undefined){if(value>(maxValue=me.snapInRange(maxValue,increment,minValue))){value=maxValue}}return value},toFixed:isToFixedBroken?function(value,precision){precision=precision||0;var pow=math.pow(10,precision);return(math.round(value*pow)/pow).toFixed(precision)}:function(value,precision){return value.toFixed(precision)},from:function(value,defaultValue){if(isFinite(value)){value=parseFloat(value)}return !isNaN(value)?value:defaultValue},randomInt:function(from,to){return math.floor(math.random()*(to-from+1)+from)}});Ext.num=function(){return me.from.apply(this,arguments)}};(function(){var arrayPrototype=Array.prototype,slice=arrayPrototype.slice,supportsSplice=(function(){var array=[],lengthBefore,j=20;if(!array.splice){return false}while(j--){array.push("A")}array.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F");lengthBefore=array.length;array.splice(13,0,"XXX");if(lengthBefore+1!=array.length){return false}return true}()),supportsForEach="forEach" in arrayPrototype,supportsMap="map" in arrayPrototype,supportsIndexOf="indexOf" in arrayPrototype,supportsEvery="every" in arrayPrototype,supportsSome="some" in arrayPrototype,supportsFilter="filter" in arrayPrototype,supportsSort=(function(){var a=[1,2,3,4,5].sort(function(){return 0});return a[0]===1&&a[1]===2&&a[2]===3&&a[3]===4&&a[4]===5}()),supportsSliceOnNodeList=true,ExtArray,erase,replace,splice;try{if(typeof document!=="undefined"){slice.call(document.getElementsByTagName("body"))}}catch(e){supportsSliceOnNodeList=false}function fixArrayIndex(array,index){return(index<0)?Math.max(0,array.length+index):Math.min(array.length,index)}function replaceSim(array,index,removeCount,insert){var add=insert?insert.length:0,length=array.length,pos=fixArrayIndex(array,index),remove,tailOldPos,tailNewPos,tailCount,lengthAfterRemove,i;if(pos===length){if(add){array.push.apply(array,insert)}}else{remove=Math.min(removeCount,length-pos);tailOldPos=pos+remove;tailNewPos=tailOldPos+add-remove;tailCount=length-tailOldPos;lengthAfterRemove=length-remove;if(tailNewPostailOldPos){for(i=tailCount;i--;){array[tailNewPos+i]=array[tailOldPos+i]}}}if(add&&pos===lengthAfterRemove){array.length=lengthAfterRemove;array.push.apply(array,insert)}else{array.length=lengthAfterRemove+add;for(i=0;i-1;i--){if(fn.call(scope||array[i],array[i],i,array)===false){return i}}}return true},forEach:supportsForEach?function(array,fn,scope){return array.forEach(fn,scope)}:function(array,fn,scope){var i=0,ln=array.length;for(;imax){max=item}}}return max},mean:function(array){return array.length>0?ExtArray.sum(array)/array.length:undefined},sum:function(array){var sum=0,i,ln,item;for(i=0,ln=array.length;i0){return setTimeout(Ext.supports.TimeoutActualLateness?function(){fn()}:fn,millis)}fn();return 0},createSequence:function(originalFn,newFn,scope){if(!newFn){return originalFn}else{return function(){var result=originalFn.apply(this,arguments);newFn.apply(scope||this,arguments);return result}}},createBuffered:function(fn,buffer,scope,args){var timerId;return function(){var callArgs=args||Array.prototype.slice.call(arguments,0),me=scope||this;if(timerId){clearTimeout(timerId)}timerId=setTimeout(function(){fn.apply(me,callArgs)},buffer)}},createThrottled:function(fn,interval,scope){var lastCallTime,elapsed,lastArgs,timer,execute=function(){fn.apply(scope||this,lastArgs);lastCallTime=new Date().getTime()};return function(){elapsed=new Date().getTime()-lastCallTime;lastArgs=arguments;clearTimeout(timer);if(!lastCallTime||(elapsed>=interval)){execute()}else{timer=setTimeout(execute,interval-elapsed)}}},interceptBefore:function(object,methodName,fn,scope){var method=object[methodName]||Ext.emptyFn;return(object[methodName]=function(){var ret=fn.apply(scope||this,arguments);method.apply(this,arguments);return ret})},interceptAfter:function(object,methodName,fn,scope){var method=object[methodName]||Ext.emptyFn;return(object[methodName]=function(){method.apply(this,arguments);return fn.apply(scope||this,arguments)})}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind");(function(){var TemplateClass=function(){},ExtObject=Ext.Object={chain:function(object){TemplateClass.prototype=object;var result=new TemplateClass();TemplateClass.prototype=null;return result},toQueryObjects:function(name,value,recursive){var self=ExtObject.toQueryObjects,objects=[],i,ln;if(Ext.isArray(value)){for(i=0,ln=value.length;i0){components=part.split("=");name=decodeURIComponent(components[0]);value=(components[1]!==undefined)?decodeURIComponent(components[1]):"";if(!recursive){if(object.hasOwnProperty(name)){if(!Ext.isArray(object[name])){object[name]=[object[name]]}object[name].push(value)}else{object[name]=value}}else{matchedKeys=name.match(/(\[):?([^\]]*)\]/g);matchedName=name.match(/^([^\[]+)/);name=matchedName[0];keys=[];if(matchedKeys===null){object[name]=value;continue}for(j=0,subLn=matchedKeys.length;j 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){var c,code,i,l,e;for(c="Y-m-dTH:i:sP",code=[],i=0,l=c.length;i= 0 && y >= 0){","v = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);","}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(format){var regexNum=utilDate.parseRegexes.length,currentGroup=1,calc=[],regex=[],special=false,ch="",i=0,len=format.length,atEnd=[],obj;for(;i Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)",calcAtEnd:true},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)",calcAtEnd:true},g:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|[0-9])"},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|1[0-9]|[0-9])"},h:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|0[1-9])"},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|[0-1][0-9])"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var calc=[],arr=[utilDate.formatCodeToRegex("Y",1),utilDate.formatCodeToRegex("m",2),utilDate.formatCodeToRegex("d",3),utilDate.formatCodeToRegex("H",4),utilDate.formatCodeToRegex("i",5),utilDate.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",utilDate.formatCodeToRegex("P",8).c,"}else{",utilDate.formatCodeToRegex("O",8).c,"}","}"].join("\n")}],i,l;for(i=0,l=arr.length;i0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(offset)/60),2,"0")+(colon?":":"")+Ext.String.leftPad(Math.abs(offset%60),2,"0")},getDayOfYear:function(date){var num=0,d=Ext.Date.clone(date),m=date.getMonth(),i;for(i=0,d.setDate(1),d.setMonth(0);i28){day=Math.min(day,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(date),Ext.Date.MONTH,value)).getDate())}d.setDate(day);d.setMonth(date.getMonth()+value);break;case Ext.Date.YEAR:day=date.getDate();if(day>28){day=Math.min(day,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(date),Ext.Date.YEAR,value)).getDate())}d.setDate(day);d.setFullYear(date.getFullYear()+value);break}return d},between:function(date,start,end){var t=date.getTime();return start.getTime()<=t&&t<=end.getTime()},compat:function(){var nativeDate=window.Date,p,u,statics=["useStrict","formatCodeToRegex","parseFunctions","parseRegexes","formatFunctions","y2kYear","MILLI","SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","defaults","dayNames","monthNames","monthNumbers","getShortMonthName","getShortDayName","getMonthNumber","formatCodes","isValid","parseDate","getFormatCode","createFormat","createParser","parseCodes"],proto=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"],sLen=statics.length,pLen=proto.length,stat,prot,s;for(s=0;s0){for(i=0;i0){if(prefix===className){return paths[prefix]}path=paths[prefix];className=className.substring(prefix.length+1)}if(path.length>0){path+="/"}return path.replace(slashDotSlashRe,"/")+className.replace(dotRe,"/")+".js"},getPrefix:function(className){var paths=Loader.config.paths,prefix,deepestPrefix="";if(paths.hasOwnProperty(className)){return className}for(prefix in paths){if(paths.hasOwnProperty(prefix)&&prefix+"."===className.substring(0,prefix.length+1)){if(prefix.length>deepestPrefix.length){deepestPrefix=prefix}}}return deepestPrefix},isAClassNameWithAKnownPrefix:function(className){var prefix=Loader.getPrefix(className);return prefix!==""&&prefix!==className},require:function(expressions,fn,scope,excludes){if(fn){fn.call(scope)}},syncRequire:function(){},exclude:function(excludes){return{require:function(expressions,fn,scope){return Loader.require(expressions,fn,scope,excludes)},syncRequire:function(expressions,fn,scope){return Loader.syncRequire(expressions,fn,scope,excludes)}}},onReady:function(fn,scope,withDomReady,options){var oldFn;if(withDomReady!==false&&Ext.onDocumentReady){oldFn=fn;fn=function(){Ext.onDocumentReady(oldFn,scope,options)}}fn.call(scope)}});var queue=[],isClassFileLoaded={},isFileLoaded={},classNameToFilePathMap={},scriptElements={},readyListeners=[],usedClasses=[],requiresMap={};Ext.apply(Loader,{documentHead:typeof document!="undefined"&&(document.head||document.getElementsByTagName("head")[0]),isLoading:false,queue:queue,isClassFileLoaded:isClassFileLoaded,isFileLoaded:isFileLoaded,readyListeners:readyListeners,optionalRequires:usedClasses,requiresMap:requiresMap,numPendingFiles:0,numLoadedFiles:0,hasFileLoadError:false,classNameToFilePathMap:classNameToFilePathMap,scriptsLoading:0,syncModeEnabled:false,scriptElements:scriptElements,refreshQueue:function(){var ln=queue.length,i,item,j,requires;if(!ln&&!Loader.scriptsLoading){return Loader.triggerReady()}for(i=0;iLoader.numLoadedFiles){continue}for(j=0;j=200&&status<300)||(status===304)){if(!Ext.isIE){debugSourceURL="\n//@ sourceURL="+url}Ext.globalEval(xhr.responseText+debugSourceURL);onLoad.call(scope)}else{}}xhr=null}},syncRequire:function(){var syncModeEnabled=Loader.syncModeEnabled;if(!syncModeEnabled){Loader.syncModeEnabled=true}Loader.require.apply(Loader,arguments);if(!syncModeEnabled){Loader.syncModeEnabled=false}Loader.refreshQueue()},require:function(expressions,fn,scope,excludes){var excluded={},included={},excludedClassNames=[],possibleClassNames=[],classNames=[],references=[],callback,syncModeEnabled,filePath,expression,exclude,className,possibleClassName,i,j,ln,subLn;if(excludes){excludes=(typeof excludes==="string")?[excludes]:excludes;for(i=0,ln=excludes.length;i0){excludedClassNames=Manager.getNamesByExpression(exclude);for(j=0,subLn=excludedClassNames.length;j0){callback=function(){var classes=[],i,ln;for(i=0,ln=references.length;i0){possibleClassNames=Manager.getNamesByExpression(expression);subLn=possibleClassNames.length;for(j=0;j0){if(!Loader.config.enabled){throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((classNames.length>1)?"es":"")+": "+classNames.join(", "))}}else{callback.call(scope);return Loader}syncModeEnabled=Loader.syncModeEnabled;if(!syncModeEnabled){queue.push({requires:classNames.slice(),callback:callback,scope:scope})}ln=classNames.length;for(i=0;iwindow.innerWidth?"portrait":"landscape"},destroy:function(){var ln=arguments.length,i,arg;for(i=0;i]+>/gi,stripScriptsRe=/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe=/\r?\n/g,formatCleanRe=/[^\d\.]/g,I18NFormatCleanRe;Ext.apply(UtilFormat,{thousandSeparator:",",decimalSeparator:".",currencyPrecision:2,currencySign:"$",currencyAtEnd:false,undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},substr:"ab".substr(-1)!="b"?function(value,start,length){var str=String(value);return(start<0)?str.substr(Math.max(str.length+start,0),length):str.substr(start,length)}:function(value,start,length){return String(value).substr(start,length)},lowercase:function(value){return String(value).toLowerCase()},uppercase:function(value){return String(value).toUpperCase()},usMoney:function(v){return UtilFormat.currency(v,"$",2)},currency:function(v,currencySign,decimals,end){var negativeSign="",format=",0",i=0;v=v-0;if(v<0){v=-v;negativeSign="-"}decimals=Ext.isDefined(decimals)?decimals:UtilFormat.currencyPrecision;format+=format+(decimals>0?".":"");for(;i2){}else{if(psplit.length>1){v=Ext.Number.toFixed(v,psplit[1].length)}else{v=Ext.Number.toFixed(v,0)}}fnum=v.toString();psplit=fnum.split(".");if(hasComma){cnum=psplit[0];parr=[];j=cnum.length;m=Math.floor(j/3);n=cnum.length%3||3;for(i=0;i")},capitalize:Ext.String.capitalize,ellipsis:Ext.String.ellipsis,format:Ext.String.format,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,trim:Ext.String.trim,parseBox:function(box){box=Ext.isEmpty(box)?"":box;if(Ext.isNumber(box)){box=box.toString()}var parts=box.split(" "),ln=parts.length;if(ln==1){parts[1]=parts[2]=parts[3]=parts[0]}else{if(ln==2){parts[2]=parts[0];parts[3]=parts[1]}else{if(ln==3){parts[3]=parts[1]}}}return{top:parseInt(parts[0],10)||0,right:parseInt(parts[1],10)||0,bottom:parseInt(parts[2],10)||0,left:parseInt(parts[3],10)||0}},escapeRegex:function(s){return s.replace(/([\-.*+?\^${}()|\[\]\/\\])/g,"\\$1")}})}());Ext.define("Ext.util.TaskRunner",{interval:10,timerId:null,constructor:function(interval){var me=this;if(typeof interval=="number"){me.interval=interval}else{if(interval){Ext.apply(me,interval)}}me.tasks=[];me.timerFn=Ext.Function.bind(me.onTick,me)},newTask:function(config){var task=new Ext.util.TaskRunner.Task(config);task.manager=this;return task},start:function(task){var me=this,now=new Date().getTime();if(!task.pending){me.tasks.push(task);task.pending=true}task.stopped=false;task.taskStartTime=now;task.taskRunTime=task.fireOnStart!==false?0:task.taskStartTime;task.taskRunCount=0;if(!me.firing){if(task.fireOnStart!==false){me.startTimer(0,now)}else{me.startTimer(task.interval,now)}}return task},stop:function(task){if(!task.stopped){task.stopped=true;if(task.onStop){task.onStop.call(task.scope||task,task)}}return task},stopAll:function(){Ext.each(this.tasks,this.stop,this)},firing:false,nextExpires:1e+99,onTick:function(){var me=this,tasks=me.tasks,now=new Date().getTime(),nextExpires=1e+99,len=tasks.length,expires,newTasks,i,task,rt,remove;me.timerId=null;me.firing=true;for(i=0;iexpires){nextExpires=expires}}}if(newTasks){me.tasks=newTasks}me.firing=false;if(me.tasks.length){me.startTimer(nextExpires-now,new Date().getTime())}},startTimer:function(timeout,now){var me=this,expires=now+timeout,timerId=me.timerId;if(timerId&&me.nextExpires-expires>me.interval){clearTimeout(timerId);timerId=null}if(!timerId){if(timeout',''," ({childCount} children)","",''," ({depth} deep)","",'',", {type}: {[this.time(values.sum)]} msec (","avg={[this.time(values.sum / parent.count)]}",")","",""].join(""),{time:function(t){return Math.round(t*100)/100}})}var data=this.getData(calibration);data.name=this.name;data.pure.type="Pure";data.total.type="Total";data.times=[data.pure,data.total];return formatTpl.apply(data)},getData:function(calibration){var me=this;return{count:me.count,childCount:me.childCount,depth:me.maxDepth,pure:setToJSON(me.count,me.childCount,calibration,me.pure),total:setToJSON(me.count,me.childCount,calibration,me.total)}},enter:function(){var me=this,frame={accum:me,leave:leaveFrame,childTime:0,parent:currentFrame};++me.depth;if(me.maxDepth','
',"",'
','
',"
",'
','
'].join("");doc.body.appendChild(div)}while(n--){test=tests[n];if(div||test.early){me[test.identity]=test.fn.call(me,doc,div)}else{notRun.push(test)}}if(div){doc.body.removeChild(div)}me.tests=notRun},PointerEvents:"pointerEvents" in document.documentElement.style,CSS3BoxShadow:"boxShadow" in document.documentElement.style||"WebkitBoxShadow" in document.documentElement.style||"MozBoxShadow" in document.documentElement.style,ClassList:!!document.documentElement.classList,OrientationChange:((typeof window.orientation!="undefined")&&("onorientationchange" in window)),DeviceMotion:("ondevicemotion" in window),Touch:("ontouchstart" in window)&&(!Ext.is.Desktop),TimeoutActualLateness:(function(){setTimeout(function(){Ext.supports.TimeoutActualLateness=arguments.length!==0},0)}()),tests:[{identity:"Transitions",fn:function(doc,div){var prefix=["webkit","Moz","o","ms","khtml"],TE="TransitionEnd",transitionEndName=[prefix[0]+TE,"transitionend",prefix[2]+TE,prefix[3]+TE,prefix[4]+TE],ln=prefix.length,i=0,out=false;for(;i

";return(d.childNodes.length==2)}},{identity:"Float",fn:function(doc,div){return !!div.lastChild.style.cssFloat}},{identity:"AudioTag",fn:function(doc){return !!doc.createElement("audio").canPlayType}},{identity:"History",fn:function(){var history=window.history;return !!(history&&history.pushState)}},{identity:"CSS3DTransform",fn:function(){return(typeof WebKitCSSMatrix!="undefined"&&new WebKitCSSMatrix().hasOwnProperty("m41"))}},{identity:"CSS3LinearGradient",fn:function(doc,div){var property="background-image:",webkit="-webkit-gradient(linear, left top, right bottom, from(black), to(white))",w3c="linear-gradient(left top, black, white)",moz="-moz-"+w3c,opera="-o-"+w3c,options=[property+webkit,property+w3c,property+moz,property+opera];div.style.cssText=options.join(";");return(""+div.style.backgroundImage).indexOf("gradient")!==-1}},{identity:"CSS3BorderRadius",fn:function(doc,div){var domPrefixes=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],pass=false,i;for(i=0;i=534.16}},{identity:"TextAreaMaxLength",fn:function(){var el=document.createElement("textarea");return("maxlength" in el)}},{identity:"GetPositionPercentage",fn:function(doc,div){return getStyle(div.childNodes[2],"left")=="10%"}}]}}());Ext.supports.init();Ext.util.DelayedTask=function(fn,scope,args){var me=this,id,call=function(){clearInterval(id);id=null;fn.apply(scope,args||[])};this.delay=function(delay,newFn,newScope,newArgs){me.cancel();fn=newFn||fn;scope=newScope||scope;args=newArgs||args;id=setInterval(call,delay)};this.cancel=function(){if(id){clearInterval(id);id=null}}};Ext.require("Ext.util.DelayedTask",function(){Ext.util.Event=Ext.extend(Object,(function(){var noOptions={};function createTargeted(handler,listener,o,scope){return function(){if(o.target===arguments[0]){handler.apply(scope,arguments)}}}function createBuffered(handler,listener,o,scope){listener.task=new Ext.util.DelayedTask();return function(){listener.task.delay(o.buffer,handler,scope,Ext.Array.toArray(arguments))}}function createDelayed(handler,listener,o,scope){return function(){var task=new Ext.util.DelayedTask();if(!listener.tasks){listener.tasks=[]}listener.tasks.push(task);task.delay(o.delay||10,handler,scope,Ext.Array.toArray(arguments))}}function createSingle(handler,listener,o,scope){return function(){var event=listener.ev;if(event.removeListener(listener.fn,scope)&&event.observable){event.observable.hasListeners[event.name]--}return handler.apply(scope,arguments)}}return{isEvent:true,constructor:function(observable,name){this.name=name;this.observable=observable;this.listeners=[]},addListener:function(fn,scope,options){var me=this,listener;scope=scope||me.observable;if(!me.isListening(fn,scope)){listener=me.createListener(fn,scope,options);if(me.firing){me.listeners=me.listeners.slice(0)}me.listeners.push(listener)}},createListener:function(fn,scope,options){options=options||noOptions;scope=scope||this.observable;var listener={fn:fn,scope:scope,o:options,ev:this},handler=fn;if(options.single){handler=createSingle(handler,listener,options,scope)}if(options.target){handler=createTargeted(handler,listener,options,scope)}if(options.delay){handler=createDelayed(handler,listener,options,scope)}if(options.buffer){handler=createBuffered(handler,listener,options,scope)}listener.fireFn=handler;return listener},findListener:function(fn,scope){var listeners=this.listeners,i=listeners.length,listener,s;while(i--){listener=listeners[i];if(listener){s=listener.scope;if(listener.fn==fn&&(s==(scope||this.observable))){return i}}}return -1},isListening:function(fn,scope){return this.findListener(fn,scope)!==-1},removeListener:function(fn,scope){var me=this,index,listener,k;index=me.findListener(fn,scope);if(index!=-1){listener=me.listeners[index];if(me.firing){me.listeners=me.listeners.slice(0)}if(listener.task){listener.task.cancel();delete listener.task}k=listener.tasks&&listener.tasks.length;if(k){while(k--){listener.tasks[k].cancel()}delete listener.tasks}Ext.Array.erase(me.listeners,index,1);return true}return false},clearListeners:function(){var listeners=this.listeners,i=listeners.length;while(i--){this.removeListener(listeners[i].fn,listeners[i].scope)}},fire:function(){var me=this,listeners=me.listeners,count=listeners.length,i,args,listener;if(count>0){me.firing=true;for(i=0;i";for(;i\^])\s?|\s|$)/,tokenRe=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,matchers=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:filterByXType},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:filterByAttribute},{re:/^#([\w\-]+)/,method:filterById},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:filterByPseudo},{re:/^(?:\{([^\}]+)\})/,method:filterFnPattern}];cq.Query=Ext.extend(Object,{constructor:function(cfg){cfg=cfg||{};Ext.apply(this,cfg)},execute:function(root){var operations=this.operations,i=0,length=operations.length,operation,workingItems;if(!root){workingItems=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(root)){workingItems=root}else{if(root.isMixedCollection){workingItems=root.items}}}for(;i1){for(i=0,ln=components.length;i0){ret.push(components[0])}return ret},last:function(components){var len=components.length,ret=[];if(len>0){ret.push(components[len-1])}return ret}},query:function(selector,root){var selectors=selector.split(","),length=selectors.length,i=0,results=[],noDupResults=[],dupMatcher={},query,resultsLn,cmp;for(;i1){resultsLn=results.length;for(i=0;i111&&event.keyCode<124){event.keyCode=-1}}catch(e){}}},getRelatedTarget:function(event){event=event.browserEvent||event;var target=event.relatedTarget;if(!target){if(EventManager.mouseLeaveRe.test(event.type)){target=event.toElement}else{if(EventManager.mouseEnterRe.test(event.type)){target=event.fromElement}}}return EventManager.resolveTextNode(target)},getPageX:function(event){return EventManager.getPageXY(event)[0]},getPageY:function(event){return EventManager.getPageXY(event)[1]},getPageXY:function(event){event=event.browserEvent||event;var x=event.pageX,y=event.pageY,docEl=doc.documentElement,body=doc.body;if(!x&&x!==0){x=event.clientX+(docEl&&docEl.scrollLeft||body&&body.scrollLeft||0)-(docEl&&docEl.clientLeft||body&&body.clientLeft||0);y=event.clientY+(docEl&&docEl.scrollTop||body&&body.scrollTop||0)-(docEl&&docEl.clientTop||body&&body.clientTop||0)}return[x,y]},getTarget:function(event){event=event.browserEvent||event;return EventManager.resolveTextNode(event.target||event.srcElement)},resolveTextNode:Ext.isGecko?function(node){if(!node){return}var s=HTMLElement.prototype.toString.call(node);if(s=="[xpconnect wrapped native prototype]"||s=="[object XULElement]"){return}return node.nodeType==3?node.parentNode:node}:function(node){return node&&node.nodeType==3?node.parentNode:node},curWidth:0,curHeight:0,onWindowResize:function(fn,scope,options){var resize=EventManager.resizeEvent;if(!resize){EventManager.resizeEvent=resize=new Ext.util.Event();EventManager.on(win,"resize",EventManager.fireResize,null,{buffer:100})}resize.addListener(fn,scope,options)},fireResize:function(){var w=Ext.Element.getViewWidth(),h=Ext.Element.getViewHeight();if(EventManager.curHeight!=h||EventManager.curWidth!=w){EventManager.curHeight=h;EventManager.curWidth=w;EventManager.resizeEvent.fire(w,h)}},removeResizeListener:function(fn,scope){var resize=EventManager.resizeEvent;if(resize){resize.removeListener(fn,scope)}},onWindowUnload:function(fn,scope,options){var unload=EventManager.unloadEvent;if(!unload){EventManager.unloadEvent=unload=new Ext.util.Event();EventManager.addListener(win,"unload",EventManager.fireUnload)}if(fn){unload.addListener(fn,scope,options)}},fireUnload:function(){try{doc=win=undefined;var gridviews,i,ln,el,cache;EventManager.unloadEvent.fire();if(Ext.isGecko3){gridviews=Ext.ComponentQuery.query("gridview");i=0;ln=gridviews.length;for(;i=525:!((Ext.isGecko&&!Ext.isWindows)||Ext.isOpera),getKeyEvent:function(){return EventManager.useKeyDown?"keydown":"keypress"}});if(!("addEventListener" in document)&&document.attachEvent){Ext.apply(EventManager,{pollScroll:function(){var scrollable=true;try{document.documentElement.doScroll("left")}catch(e){scrollable=false}if(scrollable&&document.body){EventManager.onReadyEvent({type:"doScroll"})}else{EventManager.scrollTimeout=setTimeout(EventManager.pollScroll,20)}return scrollable},scrollTimeout:null,readyStatesRe:/complete/i,checkReadyState:function(){var state=document.readyState;if(EventManager.readyStatesRe.test(state)){EventManager.onReadyEvent({type:state})}},bindReadyEvent:function(){var topContext=true;if(EventManager.hasBoundOnReady){return}try{topContext=window.frameElement===undefined}catch(e){topContext=false}if(!topContext||!doc.documentElement.doScroll){EventManager.pollScroll=Ext.emptyFn}if(EventManager.pollScroll()===true){return}if(doc.readyState=="complete"){EventManager.onReadyEvent({type:"already "+(doc.readyState||"body")})}else{doc.attachEvent("onreadystatechange",EventManager.checkReadyState);window.attachEvent("onload",EventManager.onReadyEvent);EventManager.hasBoundOnReady=true}},onReadyEvent:function(e){if(e&&e.type){EventManager.onReadyChain.push(e.type)}if(EventManager.hasBoundOnReady){document.detachEvent("onreadystatechange",EventManager.checkReadyState);window.detachEvent("onload",EventManager.onReadyEvent)}if(Ext.isNumber(EventManager.scrollTimeout)){clearTimeout(EventManager.scrollTimeout);delete EventManager.scrollTimeout}if(!Ext.isReady){EventManager.fireDocReady()}},onReadyChain:[]})}Ext.onReady=function(fn,scope,options){Ext.Loader.onReady(fn,scope,true,options)};Ext.onDocumentReady=EventManager.onDocumentReady;EventManager.on=EventManager.addListener;EventManager.un=EventManager.removeListener;Ext.onReady(initExtCss)};Ext.define("Ext.EventObjectImpl",{uses:["Ext.util.Point"],BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,WHEEL_SCALE:(function(){var scale;if(Ext.isGecko){scale=3}else{if(Ext.isMac){if(Ext.isSafari&&Ext.webKitVersion>=532){scale=120}else{scale=12}scale*=3}else{scale=120}}return scale}()),clickRe:/(dbl)?click/,safariKeys:{3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},btnMap:Ext.isIE?{1:0,4:1,2:2}:{0:0,1:1,2:2},constructor:function(event,freezeEvent){if(event){this.setEvent(event.browserEvent||event,freezeEvent)}},setEvent:function(event,freezeEvent){var me=this,button,options;if(event==me||(event&&event.browserEvent)){return event}me.browserEvent=event;if(event){button=event.button?me.btnMap[event.button]:(event.which?event.which-1:-1);if(me.clickRe.test(event.type)&&button==-1){button=0}options={type:event.type,button:button,shiftKey:event.shiftKey,ctrlKey:event.ctrlKey||event.metaKey||false,altKey:event.altKey,keyCode:event.keyCode,charCode:event.charCode,target:Ext.EventManager.getTarget(event),relatedTarget:Ext.EventManager.getRelatedTarget(event),currentTarget:event.currentTarget,xy:(freezeEvent?me.getXY():null)}}else{options={button:-1,shiftKey:false,ctrlKey:false,altKey:false,keyCode:0,charCode:0,target:null,xy:[0,0]}}Ext.apply(me,options);return me},stopEvent:function(){this.stopPropagation();this.preventDefault()},preventDefault:function(){if(this.browserEvent){Ext.EventManager.preventDefault(this.browserEvent)}},stopPropagation:function(){var browserEvent=this.browserEvent;if(browserEvent){if(browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}Ext.EventManager.stopPropagation(browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(key){return Ext.isWebKit?(this.safariKeys[key]||key):key},getPageX:function(){return this.getX()},getPageY:function(){return this.getY()},getX:function(){return this.getXY()[0]},getY:function(){return this.getXY()[1]},getXY:function(){if(!this.xy){this.xy=Ext.EventManager.getPageXY(this.browserEvent)}return this.xy},getTarget:function(selector,maxDepth,returnEl){if(selector){return Ext.fly(this.target).findParent(selector,maxDepth,returnEl)}return returnEl?Ext.get(this.target):this.target},getRelatedTarget:function(selector,maxDepth,returnEl){if(selector){return Ext.fly(this.relatedTarget).findParent(selector,maxDepth,returnEl)}return returnEl?Ext.get(this.relatedTarget):this.relatedTarget},correctWheelDelta:function(delta){var scale=this.WHEEL_SCALE,ret=Math.round(delta/scale);if(!ret&&delta){ret=(delta<0)?-1:1}return ret},getWheelDeltas:function(){var me=this,event=me.browserEvent,dx=0,dy=0;if(Ext.isDefined(event.wheelDeltaX)){dx=event.wheelDeltaX;dy=event.wheelDeltaY}else{if(event.wheelDelta){dy=event.wheelDelta}else{if(event.detail){dy=-event.detail;if(dy>100){dy=3}else{if(dy<-100){dy=-3}}if(Ext.isDefined(event.axis)&&event.axis===event.HORIZONTAL_AXIS){dx=dy;dy=0}}}}return{x:me.correctWheelDelta(dx),y:me.correctWheelDelta(dy)}},getWheelDelta:function(){var deltas=this.getWheelDeltas();return deltas.y},within:function(el,related,allowEl){if(el){var t=related?this.getRelatedTarget():this.getTarget(),result;if(t){result=Ext.fly(el).contains(t);if(!result&&allowEl){result=t==Ext.getDom(el)}return result}}return false},isNavKeyPress:function(){var me=this,k=this.normalizeKey(me.keyCode);return(k>=33&&k<=40)||k==me.RETURN||k==me.TAB||k==me.ESC},isSpecialKey:function(){var k=this.normalizeKey(this.keyCode);return(this.type=="keypress"&&this.ctrlKey)||this.isNavKeyPress()||(k==this.BACKSPACE)||(k>=16&&k<=20)||(k>=44&&k<=46)},getPoint:function(){var xy=this.getXY();return new Ext.util.Point(xy[0],xy[1])},hasModifier:function(){return this.ctrlKey||this.altKey||this.shiftKey||this.metaKey},injectEvent:(function(){var API,dispatchers={},crazyIEButtons;if(!Ext.isIE&&document.createEvent){API={createHtmlEvent:function(doc,type,bubbles,cancelable){var event=doc.createEvent("HTMLEvents");event.initEvent(type,bubbles,cancelable);return event},createMouseEvent:function(doc,type,bubbles,cancelable,detail,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget){var event=doc.createEvent("MouseEvents"),view=doc.defaultView||window;if(event.initMouseEvent){event.initMouseEvent(type,bubbles,cancelable,view,detail,clientX,clientY,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget)}else{event=doc.createEvent("UIEvents");event.initEvent(type,bubbles,cancelable);event.view=view;event.detail=detail;event.screenX=clientX;event.screenY=clientY;event.clientX=clientX;event.clientY=clientY;event.ctrlKey=ctrlKey;event.altKey=altKey;event.metaKey=metaKey;event.shiftKey=shiftKey;event.button=button;event.relatedTarget=relatedTarget}return event},createUIEvent:function(doc,type,bubbles,cancelable,detail){var event=doc.createEvent("UIEvents"),view=doc.defaultView||window;event.initUIEvent(type,bubbles,cancelable,view,detail);return event},fireEvent:function(target,type,event){target.dispatchEvent(event)},fixTarget:function(target){if(target==window&&!target.dispatchEvent){return document}return target}}}else{if(document.createEventObject){crazyIEButtons={0:1,1:4,2:2};API={createHtmlEvent:function(doc,type,bubbles,cancelable){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;return event},createMouseEvent:function(doc,type,bubbles,cancelable,detail,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;event.detail=detail;event.screenX=clientX;event.screenY=clientY;event.clientX=clientX;event.clientY=clientY;event.ctrlKey=ctrlKey;event.altKey=altKey;event.shiftKey=shiftKey;event.metaKey=metaKey;event.button=crazyIEButtons[button]||button;event.relatedTarget=relatedTarget;return event},createUIEvent:function(doc,type,bubbles,cancelable,detail){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;return event},fireEvent:function(target,type,event){target.fireEvent("on"+type,event)},fixTarget:function(target){if(target==document){return document.documentElement}return target}}}}Ext.Object.each({load:[false,false],unload:[false,false],select:[true,false],change:[true,false],submit:[true,true],reset:[true,false],resize:[true,false],scroll:[true,false]},function(name,value){var bubbles=value[0],cancelable=value[1];dispatchers[name]=function(targetEl,srcEvent){var e=API.createHtmlEvent(name,bubbles,cancelable);API.fireEvent(targetEl,name,e)}});function createMouseEventDispatcher(type,detail){var cancelable=(type!="mousemove");return function(targetEl,srcEvent){var xy=srcEvent.getXY(),e=API.createMouseEvent(targetEl.ownerDocument,type,true,cancelable,detail,xy[0],xy[1],srcEvent.ctrlKey,srcEvent.altKey,srcEvent.shiftKey,srcEvent.metaKey,srcEvent.button,srcEvent.relatedTarget);API.fireEvent(targetEl,type,e)}}Ext.each(["click","dblclick","mousedown","mouseup","mouseover","mousemove","mouseout"],function(eventName){dispatchers[eventName]=createMouseEventDispatcher(eventName,1)});Ext.Object.each({focusin:[true,false],focusout:[true,false],activate:[true,true],focus:[false,false],blur:[false,false]},function(name,value){var bubbles=value[0],cancelable=value[1];dispatchers[name]=function(targetEl,srcEvent){var e=API.createUIEvent(targetEl.ownerDocument,name,bubbles,cancelable,1);API.fireEvent(targetEl,name,e)}});if(!API){dispatchers={};API={fixTarget:function(t){return t}}}function cannotInject(target,srcEvent){}return function(target){var me=this,dispatcher=dispatchers[me.type]||cannotInject,t=target?(target.dom||target):me.getTarget();t=API.fixTarget(t);dispatcher(t,me)}}())},function(){Ext.EventObject=new Ext.EventObjectImpl()});Ext.define("Ext.dom.AbstractQuery",{select:function(q,root){var results=[],nodes,i,j,qlen,nlen;root=root||document;if(typeof root=="string"){root=document.getElementById(root)}q=q.split(",");for(i=0,qlen=q.length;i")}else{buffer.push(">");if((val=spec.tpl)){val.applyOut(spec.tplData,buffer)}if((val=spec.html)){buffer.push(val)}if((val=spec.cn||spec.children)){me.generateMarkup(val,buffer)}closeTags=me.closeTags;buffer.push(closeTags[tag]||(closeTags[tag]=""))}}}return buffer},generateStyles:function(styles,buffer){var a=buffer||[],name;for(name in styles){if(styles.hasOwnProperty(name)){a.push(this.decamelizeName(name),":",styles[name],";")}}return buffer||a.join("")},markup:function(spec){if(typeof spec=="string"){return spec}var buf=this.generateMarkup(spec,[]);return buf.join("")},applyStyles:function(el,styles){if(styles){var i=0,len,style;el=Ext.fly(el);if(typeof styles=="function"){styles=styles.call()}if(typeof styles=="string"){styles=Ext.util.Format.trim(styles).split(/\s*(?::|;)\s*/);for(len=styles.length;i "'+where+'"'},insertBefore:function(el,o,returnElement){return this.doInsert(el,o,returnElement,"beforebegin")},insertAfter:function(el,o,returnElement){return this.doInsert(el,o,returnElement,"afterend","nextSibling")},insertFirst:function(el,o,returnElement){return this.doInsert(el,o,returnElement,"afterbegin","firstChild")},append:function(el,o,returnElement){return this.doInsert(el,o,returnElement,"beforeend","",true)},overwrite:function(el,o,returnElement){el=Ext.getDom(el);el.innerHTML=this.markup(o);return returnElement?Ext.get(el.firstChild):el.firstChild},doInsert:function(el,o,returnElement,pos,sibling,append){var newNode=this.insertHtml(pos,Ext.getDom(el),this.markup(o));return returnElement?Ext.get(newNode,true):newNode}});(function(){var document=window.document,trimRe=/^\s+|\s+$/g,whitespaceRe=/\s/;if(!Ext.cache){Ext.cache={}}Ext.define("Ext.dom.AbstractElement",{inheritableStatics:{get:function(el){var me=this,El=Ext.dom.Element,cacheItem,extEl,dom,id;if(!el){return null}if(typeof el=="string"){if(el==Ext.windowId){return El.get(window)}else{if(el==Ext.documentId){return El.get(document)}}cacheItem=Ext.cache[el];if(cacheItem&&cacheItem.skipGarbageCollection){extEl=cacheItem.el;return extEl}if(!(dom=document.getElementById(el))){return null}if(cacheItem&&cacheItem.el){extEl=Ext.updateCacheEntry(cacheItem,dom).el}else{extEl=new El(dom,!!cacheItem)}return extEl}else{if(el.tagName){if(!(id=el.id)){id=Ext.id(el)}cacheItem=Ext.cache[id];if(cacheItem&&cacheItem.el){extEl=Ext.updateCacheEntry(cacheItem,el).el}else{extEl=new El(el,!!cacheItem)}return extEl}else{if(el instanceof me){if(el!=me.docEl&&el!=me.winEl){id=el.id;cacheItem=Ext.cache[id];if(cacheItem){Ext.updateCacheEntry(cacheItem,document.getElementById(id)||el.dom)}}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return me.select(el)}else{if(el===document){if(!me.docEl){me.docEl=Ext.Object.chain(El.prototype);me.docEl.dom=document;me.docEl.id=Ext.id(document);me.addToCache(me.docEl)}return me.docEl}else{if(el===window){if(!me.winEl){me.winEl=Ext.Object.chain(El.prototype);me.winEl.dom=window;me.winEl.id=Ext.id(window);me.addToCache(me.winEl)}return me.winEl}}}}}}}return null},addToCache:function(el,id){if(el){Ext.addCacheEntry(id,el)}return el},addMethods:function(){this.override.apply(this,arguments)},mergeClsList:function(){var clsList,clsHash={},i,length,j,listLength,clsName,result=[],changed=false;for(i=0,length=arguments.length;iwindow.innerWidth)?"portrait":"landscape"},fromPoint:function(x,y){return Ext.get(document.elementFromPoint(x,y))},parseStyles:function(styles){var out={},cssRe=this.cssRe,matches;if(styles){cssRe.lastIndex=0;while((matches=cssRe.exec(styles))){out[matches[1]]=matches[2]}}return out}});(function(){var doc=document,AbstractElement=Ext.dom.AbstractElement,activeElement=null,isCSS1=doc.compatMode=="CSS1Compat",flyInstance,fly=function(el){if(!flyInstance){flyInstance=new AbstractElement.Fly()}flyInstance.attach(el);return flyInstance};if(!("activeElement" in doc)&&doc.addEventListener){doc.addEventListener("focus",function(ev){if(ev&&ev.target){activeElement=(ev.target==doc)?null:ev.target}},true)}function makeSelectionRestoreFn(activeEl,start,end){return function(){activeEl.selectionStart=start;activeEl.selectionEnd=end}}AbstractElement.addInheritableStatics({getActiveElement:function(){return doc.activeElement||activeElement},getRightMarginFixCleaner:function(target){var supports=Ext.supports,hasInputBug=supports.DisplayChangeInputSelectionBug,hasTextAreaBug=supports.DisplayChangeTextAreaSelectionBug,activeEl,tag,start,end;if(hasInputBug||hasTextAreaBug){activeEl=doc.activeElement||activeElement;tag=activeEl&&activeEl.tagName;if((hasTextAreaBug&&tag=="TEXTAREA")||(hasInputBug&&tag=="INPUT"&&activeEl.type=="text")){if(Ext.dom.Element.isAncestor(target,activeEl)){start=activeEl.selectionStart;end=activeEl.selectionEnd;if(Ext.isNumber(start)&&Ext.isNumber(end)){return makeSelectionRestoreFn(activeEl,start,end)}}}}return Ext.emptyFn},getViewWidth:function(full){return full?Ext.dom.Element.getDocumentWidth():Ext.dom.Element.getViewportWidth()},getViewHeight:function(full){return full?Ext.dom.Element.getDocumentHeight():Ext.dom.Element.getViewportHeight()},getDocumentHeight:function(){return Math.max(!isCSS1?doc.body.scrollHeight:doc.documentElement.scrollHeight,Ext.dom.Element.getViewportHeight())},getDocumentWidth:function(){return Math.max(!isCSS1?doc.body.scrollWidth:doc.documentElement.scrollWidth,Ext.dom.Element.getViewportWidth())},getViewportHeight:function(){return Ext.isIE?(Ext.isStrict?doc.documentElement.clientHeight:doc.body.clientHeight):self.innerHeight},getViewportWidth:function(){return(!Ext.isStrict&&!Ext.isOpera)?doc.body.clientWidth:Ext.isIE?doc.documentElement.clientWidth:self.innerWidth},getY:function(el){return Ext.dom.Element.getXY(el)[1]},getX:function(el){return Ext.dom.Element.getXY(el)[0]},getXY:function(el){var bd=doc.body,docEl=doc.documentElement,leftBorder=0,topBorder=0,ret=[0,0],round=Math.round,box,scroll;el=Ext.getDom(el);if(el!=doc&&el!=bd){if(Ext.isIE){try{box=el.getBoundingClientRect();topBorder=docEl.clientTop||bd.clientTop;leftBorder=docEl.clientLeft||bd.clientLeft}catch(ex){box={left:0,top:0}}}else{box=el.getBoundingClientRect()}scroll=fly(document).getScroll();ret=[round(box.left+scroll.left-leftBorder),round(box.top+scroll.top-topBorder)]}return ret},setXY:function(el,xy){(el=Ext.fly(el,"_setXY")).position();var pts=el.translatePoints(xy),style=el.dom.style,pos;for(pos in pts){if(!isNaN(pts[pos])){style[pos]=pts[pos]+"px"}}},setX:function(el,x){Ext.dom.Element.setXY(el,[x,false])},setY:function(el,y){Ext.dom.Element.setXY(el,[false,y])},serializeForm:function(form){var fElements=form.elements||(document.forms[form]||Ext.getDom(form)).elements,hasSubmit=false,encoder=encodeURIComponent,data="",eLen=fElements.length,element,name,type,options,hasValue,e,o,oLen,opt;for(e=0;edw){x=swapX?region.left-width:dw-width}if(x<0){x=swapX?region.right:0}if(y+height>dh){y=swapY?region.top-height:dh-height}if(y<0){y=swapY?region.bottom:0}}return[x,y]},getAnchor:function(){var data=(this.$cache||this.getCache()).data,anchor;if(!this.dom){return}anchor=data._anchor;if(!anchor){anchor=data._anchor={}}return anchor},adjustForConstraints:function(xy,parent){var vector=this.getConstrainVector(parent,xy);if(vector){xy[0]+=vector[0];xy[1]+=vector[1]}return xy}});Ext.dom.AbstractElement.addMethods({appendChild:function(el){return Ext.get(el).appendTo(this)},appendTo:function(el){Ext.getDom(el).appendChild(this.dom);return this},insertBefore:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el);return this},insertAfter:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el.nextSibling);return this},insertFirst:function(el,returnDom){el=el||{};if(el.nodeType||el.dom||typeof el=="string"){el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !returnDom?Ext.get(el):el}else{return this.createChild(el,this.dom.firstChild,returnDom)}},insertSibling:function(el,where,returnDom){var me=this,isAfter=(where||"before").toLowerCase()=="after",rt,insertEl,eLen,e;if(Ext.isArray(el)){insertEl=me;eLen=el.length;for(e=0;e1){pos=[pos,arguments[1]]}pts=me.translatePoints(pos);style=me.dom.style;for(pt in pts){if(!pts.hasOwnProperty(pt)){continue}if(!isNaN(pts[pt])){style[pt]=pts[pt]+"px"}}return me},getLeft:function(local){return parseInt(this.getStyle("left"),10)||0},getRight:function(local){return parseInt(this.getStyle("right"),10)||0},getTop:function(local){return parseInt(this.getStyle("top"),10)||0},getBottom:function(local){return parseInt(this.getStyle("bottom"),10)||0},translatePoints:function(x,y){y=isNaN(x[1])?y:x[1];x=isNaN(x[0])?x:x[0];var me=this,relative=me.isStyle("position","relative"),o=me.getXY(),l=parseInt(me.getStyle("left"),10),t=parseInt(me.getStyle("top"),10);l=!isNaN(l)?l:(relative?0:me.dom.offsetLeft);t=!isNaN(t)?t:(relative?0:me.dom.offsetTop);return{left:(x-o[0]+l),top:(y-o[1]+t)}},setBox:function(box){var me=this,width=box.width,height=box.height,top=box.top,left=box.left;if(left!==undefined){me.setLeft(left)}if(top!==undefined){me.setTop(top)}if(width!==undefined){me.setWidth(width)}if(height!==undefined){me.setHeight(height)}return this},getBox:function(contentBox,local){var me=this,dom=me.dom,width=dom.offsetWidth,height=dom.offsetHeight,xy,box,l,r,t,b;if(!local){xy=me.getXY()}else{if(contentBox){xy=[0,0]}else{xy=[parseInt(me.getStyle("left"),10)||0,parseInt(me.getStyle("top"),10)||0]}}if(!contentBox){box={x:xy[0],y:xy[1],0:xy[0],1:xy[1],width:width,height:height}}else{l=me.getBorderWidth.call(me,"l")+me.getPadding.call(me,"l");r=me.getBorderWidth.call(me,"r")+me.getPadding.call(me,"r");t=me.getBorderWidth.call(me,"t")+me.getPadding.call(me,"t");b=me.getBorderWidth.call(me,"b")+me.getPadding.call(me,"b");box={x:xy[0]+l,y:xy[1]+t,0:xy[0]+l,1:xy[1]+t,width:width-(l+r),height:height-(t+b)}}box.left=box.x;box.top=box.y;box.right=box.x+box.width;box.bottom=box.y+box.height;return box},getPageBox:function(getRegion){var me=this,el=me.dom,w=el.offsetWidth,h=el.offsetHeight,xy=me.getXY(),t=xy[1],r=xy[0]+w,b=xy[1]+h,l=xy[0];if(!el){return new Ext.util.Region()}if(getRegion){return new Ext.util.Region(t,r,b,l)}else{return{left:l,top:t,width:w,height:h,right:r,bottom:b}}}})}());(function(){var Element=Ext.dom.AbstractElement,view=document.defaultView,array=Ext.Array,trimRe=/^\s+|\s+$/g,wordsRe=/\w/g,spacesRe=/\s+/,transparentRe=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,hasClassList=Ext.supports.ClassList,PADDING="padding",MARGIN="margin",BORDER="border",LEFT_SUFFIX="-left",RIGHT_SUFFIX="-right",TOP_SUFFIX="-top",BOTTOM_SUFFIX="-bottom",WIDTH="-width",borders={l:BORDER+LEFT_SUFFIX+WIDTH,r:BORDER+RIGHT_SUFFIX+WIDTH,t:BORDER+TOP_SUFFIX+WIDTH,b:BORDER+BOTTOM_SUFFIX+WIDTH},paddings={l:PADDING+LEFT_SUFFIX,r:PADDING+RIGHT_SUFFIX,t:PADDING+TOP_SUFFIX,b:PADDING+BOTTOM_SUFFIX},margins={l:MARGIN+LEFT_SUFFIX,r:MARGIN+RIGHT_SUFFIX,t:MARGIN+TOP_SUFFIX,b:MARGIN+BOTTOM_SUFFIX};Element.override({styleHooks:{},addStyles:function(sides,styles){var totalSize=0,sidesArr=(sides||"").match(wordsRe),i,len=sidesArr.length,side,styleSides=[];if(len==1){totalSize=Math.abs(parseFloat(this.getStyle(styles[sidesArr[0]]))||0)}else{if(len){for(i=0;i0?height:0},getWidth:function(contentWidth){var dom=this.dom,width=contentWidth?(dom.clientWidth-this.getPadding("lr")):dom.offsetWidth;return width>0?width:0},setWidth:function(width){var me=this;me.dom.style.width=Element.addUnits(width);return me},setHeight:function(height){var me=this;me.dom.style.height=Element.addUnits(height);return me},getBorderWidth:function(side){return this.addStyles(side,borders)},getPadding:function(side){return this.addStyles(side,paddings)},margins:margins,applyStyles:function(styles){if(styles){var i,len,dom=this.dom;if(typeof styles=="function"){styles=styles.call()}if(typeof styles=="string"){styles=Ext.util.Format.trim(styles).split(/\s*(?::|;)\s*/);for(i=0,len=styles.length;i'+msg+""):""});size=me.getSize();data.mask=mask;if(dom===document.body){size.height=window.innerHeight;if(me.orientationHandler){Ext.EventManager.unOrientationChange(me.orientationHandler,me)}me.orientationHandler=function(){size=me.getSize();size.height=window.innerHeight;mask.setSize(size)};Ext.EventManager.onOrientationChange(me.orientationHandler,me)}mask.setSize(size);if(Ext.is.iPad){Ext.repaint()}},unmask:function(){var me=this,data=(me.$cache||me.getCache()).data,mask=data.mask,prefix=Ext.baseCSSPrefix;if(mask){mask.remove();delete data.mask}me.removeCls([prefix+"masked",prefix+"masked-relative"]);if(me.dom===document.body){Ext.EventManager.unOrientationChange(me.orientationHandler,me);delete me.orientationHandler}}});Element.populateStyleMap=function(map,order){var baseStyles=["margin-","padding-","border-width-"],beforeAfter=["before","after"],index,style,name,i;for(index=baseStyles.length;index--;){for(i=2;i--;){style=baseStyles[index]+beforeAfter[i];map[Element.normalize(style)]=map[style]={name:Element.normalize(baseStyles[index]+order[i])}}}};Ext.onReady(function(){var supports=Ext.supports,styleHooks,colorStyles,i,name,camel;function fixTransparent(dom,el,inline,style){var value=style[this.name]||"";return transparentRe.test(value)?"transparent":value}function fixRightMargin(dom,el,inline,style){var result=style.marginRight,domStyle,display;if(result!="0px"){domStyle=dom.style;display=domStyle.display;domStyle.display="inline-block";result=(inline?style:dom.ownerDocument.defaultView.getComputedStyle(dom,null)).marginRight;domStyle.display=display}return result}function fixRightMarginAndInputFocus(dom,el,inline,style){var result=style.marginRight,domStyle,cleaner,display;if(result!="0px"){domStyle=dom.style;cleaner=Element.getRightMarginFixCleaner(dom);display=domStyle.display;domStyle.display="inline-block";result=(inline?style:dom.ownerDocument.defaultView.getComputedStyle(dom,"")).marginRight;domStyle.display=display;cleaner()}return result}styleHooks=Element.prototype.styleHooks;Element.populateStyleMap(styleHooks,["left","right"]);if(supports.init){supports.init()}if(!supports.RightMargin){styleHooks.marginRight=styleHooks["margin-right"]={name:"marginRight",get:(supports.DisplayChangeInputSelectionBug||supports.DisplayChangeTextAreaSelectionBug)?fixRightMarginAndInputFocus:fixRightMargin}}if(!supports.TransparentColor){colorStyles=["background-color","border-color","color","outline-color"];for(i=colorStyles.length;i--;){name=colorStyles[i];camel=Element.normalize(name);styleHooks[name]=styleHooks[camel]={name:camel,get:fixTransparent}}}})}());Ext.dom.AbstractElement.override({findParent:function(simpleSelector,limit,returnEl){var target=this.dom,topmost=document.documentElement,depth=0,stopEl;limit=limit||50;if(isNaN(limit)){stopEl=Ext.getDom(limit);limit=Number.MAX_VALUE}while(target&&target.nodeType==1&&depth "+selector,me.dom);return returnDom?node:Ext.get(node)},parent:function(selector,returnDom){return this.matchNode("parentNode","parentNode",selector,returnDom)},next:function(selector,returnDom){return this.matchNode("nextSibling","nextSibling",selector,returnDom)},prev:function(selector,returnDom){return this.matchNode("previousSibling","previousSibling",selector,returnDom)},first:function(selector,returnDom){return this.matchNode("nextSibling","firstChild",selector,returnDom)},last:function(selector,returnDom){return this.matchNode("previousSibling","lastChild",selector,returnDom)},matchNode:function(dir,start,selector,returnDom){if(!this.dom){return null}var n=this.dom[start];while(n){if(n.nodeType==1&&(!selector||Ext.DomQuery.is(n,selector))){return !returnDom?Ext.get(n):n}n=n[dir]}return null},isAncestor:function(element){return this.self.isAncestor.call(this.self,this.dom,element)}});(function(){var afterbegin="afterbegin",afterend="afterend",beforebegin="beforebegin",beforeend="beforeend",ts="",te="
",tbs=ts+"",tbe=""+te,trs=tbs+"",tre=""+tbe,detachedDiv=document.createElement("div"),bbValues=["BeforeBegin","previousSibling"],aeValues=["AfterEnd","nextSibling"],bb_ae_PositionHash={beforebegin:bbValues,afterend:aeValues},fullPositionHash={beforebegin:bbValues,afterend:aeValues,afterbegin:["AfterBegin","firstChild"],beforeend:["BeforeEnd","lastChild"]};Ext.define("Ext.dom.Helper",{extend:"Ext.dom.AbstractHelper",requires:["Ext.dom.AbstractElement"],tableRe:/^table|tbody|tr|td$/i,tableElRe:/td|tr|tbody/i,useDom:false,createDom:function(o,parentNode){var el,doc=document,useSet,attr,val,cn,i,l;if(Ext.isArray(o)){el=doc.createDocumentFragment();for(i=0,l=o.length;i+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w\-\*\\]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,startIdRe=/^\s*\#/,isIE=window.ActiveXObject?true:false,key=30803,longHex=/\\([0-9a-fA-F]{6})/g,shortHex=/\\([0-9a-fA-F]{1,6})\s{0,1}/g,nonHex=/\\([^0-9a-fA-F]{1})/g,escapes=/\\/g,num,hasEscapes,longHexToChar=function($0,$1){return String.fromCharCode(parseInt($1,16))},shortToLongHex=function($0,$1){while($1.length<6){$1="0"+$1}return"\\"+$1},charToLongHex=function($0,$1){num=$1.charCodeAt(0).toString(16);if(num.length===1){num="0"+num}return"\\0000"+num},unescapeCssSelector=function(selector){return(hasEscapes)?selector.replace(longHex,longHexToChar):selector},setupEscapes=function(path){hasEscapes=(path.indexOf("\\")>-1);if(hasEscapes){path=path.replace(shortHex,shortToLongHex).replace(nonHex,charToLongHex).replace(escapes,"\\\\")}return path};eval("var batch = 30803;");function child(parent,index){var i=0,n=parent.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null}function next(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n}function children(parent){var n=parent.firstChild,nodeIndex=-1,nextNode;while(n){nextNode=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){parent.removeChild(n)}else{n.nodeIndex=++nodeIndex}n=nextNode}return this}function byClassName(nodeSet,cls){cls=unescapeCssSelector(cls);if(!cls){return nodeSet}var result=[],ri=-1,i,ci;for(i=0,ci;ci=nodeSet[i];i++){if((" "+ci.className+" ").indexOf(cls)!=-1){result[++ri]=ci}}return result}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs,i,ni,j,ci,cn,utag,n,cj;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){utag=tagName.toUpperCase();for(i=0,ni,cn;ni=ns[i];i++){cn=ni.childNodes;for(j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){utag=tagName.toUpperCase();for(i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){utag=tagName.toUpperCase();for(i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i1){return nodup(results)}return results},isXml:function(el){var docEl=(el?el.ownerDocument||el:0).documentElement;return docEl?docEl.nodeName!=="HTML":false},select:document.querySelectorAll?function(path,root,type){root=root||document;if(!Ext.DomQuery.isXml(root)){try{if(root.parentNode&&(root.nodeType!==9)&&path.indexOf(",")===-1&&!startIdRe.test(path)){path="#"+Ext.escapeId(Ext.id(root))+" "+path;root=root.parentNode}return Ext.Array.toArray(root.querySelectorAll(path))}catch(e){}}return Ext.DomQuery.jsSelect.call(this,path,root,type)}:function(path,root,type){return Ext.DomQuery.jsSelect.call(this,path,root,type)},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}else{setupEscapes(path)}var n=valueCache[path](root),v;n=n[0]?n[0]:n;if(typeof n.normalize=="function"){n.normalize()}v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el),result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}else{setupEscapes(ss)}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w\-\\]+)/,select:'n = byClassName(n, " {1} ");'},{re:/^\:([\w\-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w\-\\]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w\-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,v){return a==v},"!=":function(a,v){return a!=v},"^=":function(a,v){return a&&a.substr(0,v.length)==v},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v},"*=":function(a,v){return a&&a.indexOf(v)!==-1},"%=":function(a,v){return(a%v)==0},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n,i,ci;for(i=0;(ci=n=c[i]);i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n,i,ci;for(i=0;(ci=n=c[i]);i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0,i,n,j,cn,pn;for(i=0;n=c[i];i++){pn=n.parentNode;if(batch!=pn._batch){j=0;for(cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1,i,ci,cns,j,cn,empty;for(i=0,ci;ci=c[i];i++){cns=ci.childNodes;j=0;empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if((ci.textContent||ci.innerText||ci.text||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s,i,ci,j;for(i=0;ci=c[i];i++){for(j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select,r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1,i,ci,n;for(i=0;ci=c[i];i++){n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1,i,ci,n;for(i=0;ci=c[i];i++){n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}());Ext.query=Ext.DomQuery.select;(function(){var HIDDEN="hidden",DOC=document,VISIBILITY="visibility",DISPLAY="display",NONE="none",XMASKED=Ext.baseCSSPrefix+"masked",XMASKEDRELATIVE=Ext.baseCSSPrefix+"masked-relative",EXTELMASKMSG=Ext.baseCSSPrefix+"mask-msg",bodyRe=/^body/i,visFly,noBoxAdjust=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1},isScrolled=function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.scrollTop>0||ci.scrollLeft>0){r[++ri]=ci}}return r},Element=Ext.define("Ext.dom.Element",{extend:"Ext.dom.AbstractElement",alternateClassName:["Ext.Element","Ext.core.Element"],addUnits:function(){return this.self.addUnits.apply(this.self,arguments)},focus:function(defer,dom){var me=this,scrollTop,body;dom=dom||me.dom;body=(dom.ownerDocument||DOC).body||DOC.body;try{if(Number(defer)){Ext.defer(me.focus,defer,me,[null,dom])}else{if(dom.offsetHeight>Element.getViewHeight()){scrollTop=body.scrollTop}dom.focus();if(scrollTop!==undefined){body.scrollTop=scrollTop}}}catch(e){}return me},blur:function(){try{this.dom.blur()}catch(e){}return this},isBorderBox:function(){var box=Ext.isBorderBox;if(box){box=!((this.dom.tagName||"").toLowerCase() in noBoxAdjust)}return box},hover:function(overFn,outFn,scope,options){var me=this;me.on("mouseenter",overFn,scope||me.dom,options);me.on("mouseleave",outFn,scope||me.dom,options);return me},getAttributeNS:function(ns,name){return this.getAttribute(name,ns)},getAttribute:(Ext.isIE&&!(Ext.isIE9&&DOC.documentMode===9))?function(name,ns){var d=this.dom,type;if(ns){type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name]||null}return null}if(name==="for"){name="htmlFor"}return d[name]||null}:function(name,ns){var d=this.dom;if(ns){return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+name)}return d.getAttribute(name)||d[name]||null},cacheScrollValues:function(){var me=this,scrolledDescendants,el,i,scrollValues=[],result=function(){for(i=0;i]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,replaceScriptTagRe=/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,srcRe=/\ssrc=([\'\"])(.*?)\1/i,typeRe=/\stype=([\'\"])(.*?)\1/i,useDocForId=!(Ext.isIE6||Ext.isIE7||Ext.isIE8);El.boxMarkup='
';function garbageCollect(){if(!Ext.enableGarbageCollector){clearInterval(El.collectorThreadId)}else{var eid,d,o,t;for(eid in EC){if(!EC.hasOwnProperty(eid)){continue}o=EC[eid];if(o.skipGarbageCollection){continue}d=o.dom;if(!d.parentNode||(!d.offsetParent&&!Ext.getElementById(eid))){if(d&&Ext.enableListenerCollection){Ext.EventManager.removeAll(d)}delete EC[eid]}}if(Ext.isIE){t={};for(eid in EC){if(!EC.hasOwnProperty(eid)){continue}t[eid]=EC[eid]}EC=Ext.cache=t}}}El.collectorThreadId=setInterval(garbageCollect,30000);El.addMethods({monitorMouseLeave:function(delay,handler,scope){var me=this,timer,listeners={mouseleave:function(e){timer=setTimeout(Ext.Function.bind(handler,scope||me,[e]),delay)},mouseenter:function(){clearTimeout(timer)},freezeEvent:true};me.on(listeners);return listeners},swallowEvent:function(eventName,preventDefault){var me=this,e,eLen;function fn(e){e.stopPropagation();if(preventDefault){e.preventDefault()}}if(Ext.isArray(eventName)){eLen=eventName.length;for(e=0;e';interval=setInterval(function(){var hd,match,attrs,srcMatch,typeMatch,el,s;if(!(el=DOC.getElementById(id))){return false}clearInterval(interval);Ext.removeNode(el);hd=Ext.getHead().dom;while((match=scriptTagRe.exec(html))){attrs=match[1];srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){s=DOC.createElement("script");s.src=srcMatch[2];typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}Ext.callback(callback,me)},20);dom.innerHTML=html.replace(replaceScriptTagRe,"");return me},removeAllListeners:function(){this.removeAnchor();Ext.EventManager.removeAll(this.dom);return this},createProxy:function(config,renderTo,matchBox){config=(typeof config=="object")?config:{tag:"div",cls:config};var me=this,proxy=renderTo?Ext.DomHelper.append(renderTo,config,true):Ext.DomHelper.insertBefore(me.dom,config,true);proxy.setVisibilityMode(Element.DISPLAY);proxy.hide();if(matchBox&&me.setBox&&me.getBox){proxy.setBox(me.getBox())}return proxy},getScopeParent:function(){var parent=this.dom.parentNode;if(Ext.scopeResetCSS){parent=parent.parentNode;if(!Ext.supports.CSS3LinearGradient||!Ext.supports.CSS3BorderRadius){parent=parent.parentNode}}return parent},needsTabIndex:function(){if(this.dom){if((this.dom.nodeName==="a")&&(!this.dom.href)){return true}return !focusRe.test(this.dom.nodeName)}},focusable:function(){var dom=this.dom,nodeName=dom.nodeName,canFocus=false;if(!dom.disabled){if(focusRe.test(nodeName)){if((nodeName!=="a")||dom.href){canFocus=true}}else{canFocus=!isNaN(dom.tabIndex)}}return canFocus&&this.isVisible(true)}});if(Ext.isIE){El.prototype.getById=function(id,asDom){var dom=this.dom,cacheItem,el,ret;if(dom){el=(useDocForId&&DOC.getElementById(id))||dom.all[id];if(el){if(asDom){ret=el}else{cacheItem=EC[id];if(cacheItem&&cacheItem.el){ret=Ext.updateCacheEntry(cacheItem,el).el}else{ret=new Element(el)}}return ret}}return asDom?Ext.getDom(id):El.get(id)}}El.createAlias({addListener:"on",removeListener:"un",clearListeners:"removeAllListeners"});El.Fly=AbstractElement.Fly=new Ext.Class({extend:El,constructor:function(dom){this.dom=dom},attach:AbstractElement.Fly.prototype.attach});if(Ext.isIE){Ext.getElementById=function(id){var el=DOC.getElementById(id),detachedBodyEl;if(!el&&(detachedBodyEl=AbstractElement.detachedBodyEl)){el=detachedBodyEl.dom.all[id]}return el}}else{if(!DOC.querySelector){Ext.getDetachedBody=Ext.getBody;Ext.getElementById=function(id){return DOC.getElementById(id)}}}})}());Ext.dom.Element.override((function(){var doc=document,win=window,alignRe=/^([a-z]+)-([a-z]+)(\?)?$/,round=Math.round;return{getAnchorXY:function(anchor,local,mySize){anchor=(anchor||"tl").toLowerCase();mySize=mySize||{};var me=this,isViewport=me.dom==doc.body||me.dom==doc,myWidth=mySize.width||isViewport?Ext.dom.Element.getViewWidth():me.getWidth(),myHeight=mySize.height||isViewport?Ext.dom.Element.getViewHeight():me.getHeight(),xy,myPos=me.getXY(),scroll=me.getScroll(),extraX=isViewport?scroll.left:!local?myPos[0]:0,extraY=isViewport?scroll.top:!local?myPos[1]:0;switch(anchor){case"tl":xy=[0,0];break;case"bl":xy=[0,myHeight];break;case"tr":xy=[myWidth,0];break;case"c":xy=[round(myWidth*0.5),round(myHeight*0.5)];break;case"t":xy=[round(myWidth*0.5),0];break;case"l":xy=[0,round(myHeight*0.5)];break;case"r":xy=[myWidth,round(myHeight*0.5)];break;case"b":xy=[round(myWidth*0.5),myHeight];break;case"br":xy=[myWidth,myHeight]}return[xy[0]+extraX,xy[1]+extraY]},getAlignToXY:function(alignToEl,posSpec,offset){alignToEl=Ext.get(alignToEl);if(!alignToEl||!alignToEl.dom){}offset=offset||[0,0];posSpec=(!posSpec||posSpec=="?"?"tl-bl?":(!(/-/).test(posSpec)&&posSpec!==""?"tl-"+posSpec:posSpec||"tl-bl")).toLowerCase();var me=this,myPosition,alignToElPosition,x,y,myWidth,myHeight,alignToElRegion,viewportWidth=Ext.dom.Element.getViewWidth()-10,viewportHeight=Ext.dom.Element.getViewHeight()-10,p1y,p1x,p2y,p2x,swapY,swapX,docElement=doc.documentElement,docBody=doc.body,scrollX=(docElement.scrollLeft||docBody.scrollLeft||0),scrollY=(docElement.scrollTop||docBody.scrollTop||0),constrain,align1,align2,alignMatch=posSpec.match(alignRe);align1=alignMatch[1];align2=alignMatch[2];constrain=!!alignMatch[3];myPosition=me.getAnchorXY(align1,true);alignToElPosition=alignToEl.getAnchorXY(align2,false);x=alignToElPosition[0]-myPosition[0]+offset[0];y=alignToElPosition[1]-myPosition[1]+offset[1];if(constrain){myWidth=me.getWidth();myHeight=me.getHeight();alignToElRegion=alignToEl.getRegion();p1y=align1.charAt(0);p1x=align1.charAt(align1.length-1);p2y=align2.charAt(0);p2x=align2.charAt(align2.length-1);swapY=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));swapX=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));if(x+myWidth>viewportWidth+scrollX){x=swapX?alignToElRegion.left-myWidth:viewportWidth+scrollX-myWidth}if(xviewportHeight+scrollY){y=swapY?alignToElRegion.top-myHeight:viewportHeight+scrollY-myHeight}if(yconstrainTo.right){overflowed=true;vector[0]=(constrainTo.right-thisRegion.right)}if(thisRegion.left+vector[0]constrainTo.bottom){overflowed=true;vector[1]=(constrainTo.bottom-thisRegion.bottom)}if(thisRegion.top+vector[1]dom.clientHeight||dom.scrollWidth>dom.clientWidth},getScroll:function(){var d=this.dom,doc=document,body=doc.body,docElement=doc.documentElement,l,t,ret;if(d==doc||d==body){if(Ext.isIE&&Ext.isStrict){l=docElement.scrollLeft;t=docElement.scrollTop}else{l=window.pageXOffset;t=window.pageYOffset}ret={left:l||(body?body.scrollLeft:0),top:t||(body?body.scrollTop:0)}}else{ret={left:d.scrollLeft,top:d.scrollTop}}return ret},scrollBy:function(deltaX,deltaY,animate){var me=this,dom=me.dom;if(deltaX.length){animate=deltaY;deltaY=deltaX[1];deltaX=deltaX[0]}else{if(typeof deltaX!="number"){animate=deltaY;deltaY=deltaX.y;deltaX=deltaX.x}}if(deltaX){me.scrollTo("left",Math.max(Math.min(dom.scrollLeft+deltaX,dom.scrollWidth-dom.clientWidth),0),animate)}if(deltaY){me.scrollTo("top",Math.max(Math.min(dom.scrollTop+deltaY,dom.scrollHeight-dom.clientHeight),0),animate)}return me},scrollTo:function(side,value,animate){var top=/top/i.test(side),me=this,dom=me.dom,animCfg,prop;if(!animate||!me.anim){prop="scroll"+(top?"Top":"Left");dom[prop]=value;dom[prop]=value}else{animCfg={to:{}};animCfg.to["scroll"+(top?"Top":"Left")]=value;if(Ext.isObject(animate)){Ext.applyIf(animCfg,animate)}me.animate(animCfg)}return me},scrollIntoView:function(container,hscroll,animate){container=Ext.getDom(container)||Ext.getBody().dom;var el=this.dom,offsets=this.getOffsetsTo(container),left=offsets[0]+container.scrollLeft,top=offsets[1]+container.scrollTop,bottom=top+el.offsetHeight,right=left+el.offsetWidth,ctClientHeight=container.clientHeight,ctScrollTop=parseInt(container.scrollTop,10),ctScrollLeft=parseInt(container.scrollLeft,10),ctBottom=ctScrollTop+ctClientHeight,ctRight=ctScrollLeft+container.clientWidth,newPos;if(el.offsetHeight>ctClientHeight||topctBottom){newPos=bottom-ctClientHeight}}if(newPos!=null){Ext.get(container).scrollTo("top",newPos,animate)}if(hscroll!==false){newPos=null;if(el.offsetWidth>container.clientWidth||leftctRight){newPos=right-container.clientWidth}}if(newPos!=null){Ext.get(container).scrollTo("left",newPos,animate)}}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},scroll:function(direction,distance,animate){if(!this.isScrollable()){return false}var el=this.dom,l=el.scrollLeft,t=el.scrollTop,w=el.scrollWidth,h=el.scrollHeight,cw=el.clientWidth,ch=el.clientHeight,scrolled=false,v,hash={l:Math.min(l+distance,w-cw),r:v=Math.max(l-distance,0),t:Math.max(t-distance,0),b:Math.min(t+distance,h-ch)};hash.d=hash.b;hash.u=hash.t;direction=direction.substr(0,1);if((v=hash[direction])>-1){scrolled=true;this.scrollTo(direction=="l"||direction=="r"?"left":"top",v,this.anim(animate))}return scrolled}});(function(){var Element=Ext.dom.Element,view=document.defaultView,adjustDirect2DTableRe=/table-row|table-.*-group/,INTERNAL="_internal",HIDDEN="hidden",HEIGHT="height",WIDTH="width",ISCLIPPED="isClipped",OVERFLOW="overflow",OVERFLOWX="overflow-x",OVERFLOWY="overflow-y",ORIGINALCLIP="originalClip",DOCORBODYRE=/#document|body/i,styleHooks,edges,k,edge,borderWidth;if(!view||!view.getComputedStyle){Element.prototype.getStyle=function(property,inline){var me=this,dom=me.dom,multiple=typeof property!="string",hooks=me.styleHooks,prop=property,props=prop,len=1,isInline=inline,camel,domStyle,values,hook,out,style,i;if(multiple){values={};prop=props[0];i=0;if(!(len=props.length)){return values}}if(!dom||dom.documentElement){return values||""}domStyle=dom.style;if(inline){style=domStyle}else{style=dom.currentStyle;if(!style){isInline=true;style=domStyle}}do{hook=hooks[prop];if(!hook){hooks[prop]=hook={name:Element.normalize(prop)}}if(hook.get){out=hook.get(dom,me,isInline,style)}else{camel=hook.name;if(hook.canThrow){try{out=style[camel]}catch(e){out=""}}else{out=style?style[camel]:""}}if(!multiple){return out}values[prop]=out;prop=props[++i]}while(i0&&floating<0.5){height++}}}if(contentHeight){height-=me.getBorderWidth("tb")+me.getPadding("tb")}return(height<0)?0:height},getWidth:function(contentWidth,preciseWidth){var me=this,dom=me.dom,hidden=me.isStyle("display","none"),rect,width,floating;if(hidden){return 0}if(Ext.supports.BoundingClientRect){rect=dom.getBoundingClientRect();width=rect.right-rect.left;width=preciseWidth?width:Math.ceil(width)}else{width=dom.offsetWidth}width=Math.max(width,dom.clientWidth)||0;if(Ext.supports.Direct2DBug){floating=me.adjustDirect2DDimension(WIDTH);if(preciseWidth){width+=floating}else{if(floating>0&&floating<0.5){width++}}}if(contentWidth){width-=me.getBorderWidth("lr")+me.getPadding("lr")}return(width<0)?0:width},setWidth:function(width,animate){var me=this;width=me.adjustWidth(width);if(!animate||!me.anim){me.dom.style.width=me.addUnits(width)}else{if(!Ext.isObject(animate)){animate={}}me.animate(Ext.applyIf({to:{width:width}},animate))}return me},setHeight:function(height,animate){var me=this;height=me.adjustHeight(height);if(!animate||!me.anim){me.dom.style.height=me.addUnits(height)}else{if(!Ext.isObject(animate)){animate={}}me.animate(Ext.applyIf({to:{height:height}},animate))}return me},applyStyles:function(style){Ext.DomHelper.applyStyles(this.dom,style);return this},setSize:function(width,height,animate){var me=this;if(Ext.isObject(width)){animate=height;height=width.height;width=width.width}width=me.adjustWidth(width);height=me.adjustHeight(height);if(!animate||!me.anim){me.dom.style.width=me.addUnits(width);me.dom.style.height=me.addUnits(height)}else{if(animate===true){animate={}}me.animate(Ext.applyIf({to:{width:width,height:height}},animate))}return me},getViewSize:function(){var me=this,dom=me.dom,isDoc=DOCORBODYRE.test(dom.nodeName),ret;if(isDoc){ret={width:Element.getViewWidth(),height:Element.getViewHeight()}}else{ret={width:dom.clientWidth,height:dom.clientHeight}}return ret},getSize:function(contentSize){return{width:this.getWidth(contentSize),height:this.getHeight(contentSize)}},adjustWidth:function(width){var me=this,isNum=(typeof width=="number");if(isNum&&me.autoBoxAdjust&&!me.isBorderBox()){width-=(me.getBorderWidth("lr")+me.getPadding("lr"))}return(isNum&&width<0)?0:width},adjustHeight:function(height){var me=this,isNum=(typeof height=="number");if(isNum&&me.autoBoxAdjust&&!me.isBorderBox()){height-=(me.getBorderWidth("tb")+me.getPadding("tb"))}return(isNum&&height<0)?0:height},getColor:function(attr,defaultValue,prefix){var v=this.getStyle(attr),color=prefix||prefix===""?prefix:"#",h,len,i=0;if(!v||(/transparent|inherit/.test(v))){return defaultValue}if(/^r/.test(v)){v=v.slice(4,v.length-1).split(",");len=v.length;for(;i5?color.toLowerCase():defaultValue)},setOpacity:function(opacity,animate){var me=this;if(!me.dom){return me}if(!animate||!me.anim){me.setStyle("opacity",opacity)}else{if(typeof animate!="object"){animate={duration:350,easing:"ease-in"}}me.animate(Ext.applyIf({to:{opacity:opacity}},animate))}return me},clearOpacity:function(){return this.setOpacity("")},adjustDirect2DDimension:function(dimension){var me=this,dom=me.dom,display=me.getStyle("display"),inlineDisplay=dom.style.display,inlinePosition=dom.style.position,originIndex=dimension===WIDTH?0:1,currentStyle=dom.currentStyle,floating;if(display==="inline"){dom.style.display="inline-block"}dom.style.position=display.match(adjustDirect2DTableRe)?"absolute":"static";floating=(parseFloat(currentStyle[dimension])||parseFloat(currentStyle.msTransformOrigin.split(" ")[originIndex])*2)%1;dom.style.position=inlinePosition;if(display==="inline"){dom.style.display=inlineDisplay}return floating},clip:function(){var me=this,data=(me.$cache||me.getCache()).data,style;if(!data[ISCLIPPED]){data[ISCLIPPED]=true;style=me.getStyle([OVERFLOW,OVERFLOWX,OVERFLOWY]);data[ORIGINALCLIP]={o:style[OVERFLOW],x:style[OVERFLOWX],y:style[OVERFLOWY]};me.setStyle(OVERFLOW,HIDDEN);me.setStyle(OVERFLOWX,HIDDEN);me.setStyle(OVERFLOWY,HIDDEN)}return me},unclip:function(){var me=this,data=(me.$cache||me.getCache()).data,clip;if(data[ISCLIPPED]){data[ISCLIPPED]=false;clip=data[ORIGINALCLIP];if(clip.o){me.setStyle(OVERFLOW,clip.o)}if(clip.x){me.setStyle(OVERFLOWX,clip.x)}if(clip.y){me.setStyle(OVERFLOWY,clip.y)}}return me},boxWrap:function(cls){cls=cls||Ext.baseCSSPrefix+"box";var el=Ext.get(this.insertHtml("beforeBegin","
"+Ext.String.format(Element.boxMarkup,cls)+"
"));Ext.DomQuery.selectNode("."+cls+"-mc",el.dom).appendChild(this.dom);return el},getComputedHeight:function(){var me=this,h=Math.max(me.dom.offsetHeight,me.dom.clientHeight);if(!h){h=parseFloat(me.getStyle(HEIGHT))||0;if(!me.isBorderBox()){h+=me.getFrameWidth("tb")}}return h},getComputedWidth:function(){var me=this,w=Math.max(me.dom.offsetWidth,me.dom.clientWidth);if(!w){w=parseFloat(me.getStyle(WIDTH))||0;if(!me.isBorderBox()){w+=me.getFrameWidth("lr")}}return w},getFrameWidth:function(sides,onlyContentBox){return(onlyContentBox&&this.isBorderBox())?0:(this.getPadding(sides)+this.getBorderWidth(sides))},addClsOnOver:function(className,testFn,scope){var me=this,dom=me.dom,hasTest=Ext.isFunction(testFn);me.hover(function(){if(hasTest&&testFn.call(scope||me,me)===false){return}Ext.fly(dom,INTERNAL).addCls(className)},function(){Ext.fly(dom,INTERNAL).removeCls(className)});return me},addClsOnFocus:function(className,testFn,scope){var me=this,dom=me.dom,hasTest=Ext.isFunction(testFn);me.on("focus",function(){if(hasTest&&testFn.call(scope||me,me)===false){return false}Ext.fly(dom,INTERNAL).addCls(className)});me.on("blur",function(){Ext.fly(dom,INTERNAL).removeCls(className)});return me},addClsOnClick:function(className,testFn,scope){var me=this,dom=me.dom,hasTest=Ext.isFunction(testFn);me.on("mousedown",function(){if(hasTest&&testFn.call(scope||me,me)===false){return false}Ext.fly(dom,INTERNAL).addCls(className);var d=Ext.getDoc(),fn=function(){Ext.fly(dom,INTERNAL).removeCls(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return me},getStyleSize:function(){var me=this,d=this.dom,isDoc=DOCORBODYRE.test(d.nodeName),s,w,h;if(isDoc){return{width:Element.getViewWidth(),height:Element.getViewHeight()}}s=me.getStyle([HEIGHT,WIDTH],true);if(s.width&&s.width!="auto"){w=parseFloat(s.width);if(me.isBorderBox()){w-=me.getFrameWidth("lr")}}if(s.height&&s.height!="auto"){h=parseFloat(s.height);if(me.isBorderBox()){h-=me.getFrameWidth("tb")}}return{width:w||me.getWidth(true),height:h||me.getHeight(true)}},selectable:function(){var me=this;me.dom.unselectable="off";me.on("selectstart",function(e){e.stopPropagation();return true});me.applyStyles("-moz-user-select: text; -khtml-user-select: text;");me.removeCls(Ext.baseCSSPrefix+"unselectable");return me},unselectable:function(){var me=this;me.dom.unselectable="on";me.swallowEvent("selectstart",true);me.applyStyles("-moz-user-select:-moz-none;-khtml-user-select:none;");me.addCls(Ext.baseCSSPrefix+"unselectable");return me}});Element.prototype.styleHooks=styleHooks=Ext.dom.AbstractElement.prototype.styleHooks;if(Ext.isIE6||Ext.isIE7){styleHooks.fontSize=styleHooks["font-size"]={name:"fontSize",canThrow:true};styleHooks.fontStyle=styleHooks["font-style"]={name:"fontStyle",canThrow:true};styleHooks.fontFamily=styleHooks["font-family"]={name:"fontFamily",canThrow:true}}if(Ext.isIEQuirks||Ext.isIE&&Ext.ieVersion<=8){function getBorderWidth(dom,el,inline,style){if(style[this.styleName]=="none"){return"0px"}return style[this.name]}edges=["Top","Right","Bottom","Left"];k=edges.length;while(k--){edge=edges[k];borderWidth="border"+edge+"Width";styleHooks["border-"+edge.toLowerCase()+"-width"]=styleHooks[borderWidth]={name:borderWidth,styleName:"border"+edge+"Style",get:getBorderWidth}}}}());Ext.onReady(function(){var opacityRe=/alpha\(opacity=(.*)\)/i,trimRe=/^\s+|\s+$/g,hooks=Ext.dom.Element.prototype.styleHooks;hooks.opacity={name:"opacity",afterSet:function(dom,value,el){if(el.isLayer){el.onOpacitySet(value)}}};if(!Ext.supports.Opacity&&Ext.isIE){Ext.apply(hooks.opacity,{get:function(dom){var filter=dom.style.filter,match,opacity;if(filter.match){match=filter.match(opacityRe);if(match){opacity=parseFloat(match[1]);if(!isNaN(opacity)){return opacity?opacity/100:0}}}return 1},set:function(dom,value){var style=dom.style,val=style.filter.replace(opacityRe,"").replace(trimRe,"");style.zoom=1;if(typeof(value)=="number"&&value>=0&&value<1){value*=100;style.filter=val+(val.length?" ":"")+"alpha(opacity="+value+")"}else{style.filter=val}}})}});Ext.dom.Element.override({select:function(selector){return Ext.dom.Element.select(selector,false,this.dom)}});Ext.define("Ext.dom.CompositeElementLite",{alternateClassName:"Ext.CompositeElementLite",requires:["Ext.dom.Element","Ext.dom.Query"],statics:{importElementMethods:function(){var name,elementPrototype=Ext.dom.Element.prototype,prototype=this.prototype;for(name in elementPrototype){if(typeof elementPrototype[name]=="function"){(function(key){prototype[key]=prototype[key]||function(){return this.invoke(key,arguments)}}).call(prototype,name)}}}},constructor:function(elements,root){this.elements=[];this.add(elements,root);this.el=new Ext.dom.AbstractElement.Fly()},isComposite:true,getElement:function(el){return this.el.attach(el)},transformElement:function(el){return Ext.getDom(el)},getCount:function(){return this.elements.length},add:function(els,root){var elements=this.elements,i,ln;if(!els){return this}if(typeof els=="string"){els=Ext.dom.Element.selectorFunction(els,root)}else{if(els.isComposite){els=els.elements}else{if(!Ext.isIterable(els)){els=[els]}}}for(i=0,ln=els.length;i-1){replacement=Ext.getDom(replacement);if(domReplace){d=this.elements[index];d.parentNode.insertBefore(replacement,d);Ext.removeNode(d)}Ext.Array.splice(this.elements,index,1,replacement)}return this},clear:function(){this.elements=[]},addElements:function(els,root){if(!els){return this}if(typeof els=="string"){els=Ext.dom.Element.selectorFunction(els,root)}var yels=this.elements,eLen=els.length,e;for(e=0;e','
{parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation">
','
','
',"",'
{parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-mc" role="presentation">',"{%this.applyRenderTpl(out, values)%}","
",'
','
','','
{parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation">
','
','
',"
","{%this.renderDockedItems(out,values,1);%}"],frameTableTpl:["{%this.renderDockedItems(out,values,0);%}","",'',"",'','','',"","","",'','",'',"",'',"",'','','',"","","
{parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mc" style="background-position: 0 0;" role="presentation">',"{%this.applyRenderTpl(out, values)%}"," {parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation">
","{%this.renderDockedItems(out,values,1);%}"],afterRender:function(){var me=this,data={},protoEl=me.protoEl,target=me.getTargetEl(),item;me.finishRenderChildren();if(me.styleHtmlContent){target.addCls(me.styleHtmlCls)}protoEl.writeTo(data);item=data.removed;if(item){target.removeCls(item)}item=data.cls;if(item.length){target.addCls(item)}item=data.style;if(data.style){target.setStyle(item)}me.protoEl=null;if(!me.ownerCt){me.updateLayout()}},afterFirstLayout:function(width,height){var me=this,hasX=Ext.isDefined(me.x),hasY=Ext.isDefined(me.y),pos,xy;if(me.floating&&(!hasX||!hasY)){if(me.floatParent){pos=me.floatParent.getTargetEl().getViewRegion();xy=me.el.getAlignToXY(me.floatParent.getTargetEl(),"c-c");pos.left=xy[0]-pos.left;pos.top=xy[1]-pos.top}else{xy=me.el.getAlignToXY(me.container,"c-c");pos=me.container.translatePoints(xy[0],xy[1])}me.x=hasX?me.x:pos.left;me.y=hasY?me.y:pos.top;hasX=hasY=true}if(hasX||hasY){me.setPosition(me.x,me.y)}me.onBoxReady(width,height);if(me.hasListeners.boxready){me.fireEvent("boxready",me,width,height)}},onBoxReady:Ext.emptyFn,applyRenderSelectors:function(){var me=this,selectors=me.renderSelectors,el=me.el,dom=el.dom,selector;me.applyChildEls(el);if(selectors){for(selector in selectors){if(selectors.hasOwnProperty(selector)&&selectors[selector]){me[selector]=Ext.get(Ext.DomQuery.selectNode(selectors[selector],dom))}}}},beforeRender:function(){var me=this,target=me.getTargetEl(),layout=me.getComponentLayout();me.frame=me.frame||me.alwaysFramed;if(!layout.initialized){layout.initLayout()}if(target){target.setStyle(me.getOverflowStyle());me.overflowStyleSet=true}me.setUI(me.ui);if(me.disabled){me.disable(true)}},doApplyRenderTpl:function(out,values){var me=values.$comp,tpl;if(!me.rendered){tpl=me.initRenderTpl();tpl.applyOut(values.renderData,out)}},doAutoRender:function(){var me=this;if(!me.rendered){if(me.floating){me.render(document.body)}else{me.render(Ext.isBoolean(me.autoRender)?Ext.getBody():me.autoRender)}}},doRenderContent:function(out,renderData){var me=renderData.$comp;if(me.html){Ext.DomHelper.generateMarkup(me.html,out);delete me.html}if(me.tpl){if(!me.tpl.isTemplate){me.tpl=new Ext.XTemplate(me.tpl)}if(me.data){me.tpl.applyOut(me.data,out);delete me.data}}},doRenderFramingDockedItems:function(out,renderData,after){var me=renderData.$comp;if(!me.rendered&&me.doRenderDockedItems){renderData.renderData.$skipDockedItems=true;me.doRenderDockedItems.call(this,out,renderData,after)}},finishRender:function(containerIdx){var me=this,tpl,data,contentEl,el,pre,hide;if(!me.el||me.$pid){if(me.container){el=me.container.getById(me.id,true)}else{el=Ext.getDom(me.id)}if(!me.el){me.wrapPrimaryEl(el)}else{delete me.$pid;if(!me.el.dom){me.wrapPrimaryEl(me.el)}el.parentNode.insertBefore(me.el.dom,el);Ext.removeNode(el)}}else{if(!me.rendering){tpl=me.initRenderTpl();if(tpl){data=me.initRenderData();tpl.insertFirst(me.getTargetEl(),data)}}}if(!me.container){me.container=Ext.get(me.el.dom.parentNode)}if(me.ctCls){me.container.addCls(me.ctCls)}me.onRender(me.container,containerIdx);if(!me.overflowStyleSet){me.getTargetEl().setStyle(me.getOverflowStyle())}me.el.setVisibilityMode(Ext.Element[me.hideMode.toUpperCase()]);if(me.overCls){me.el.hover(me.addOverCls,me.removeOverCls,me)}if(me.hasListeners.render){me.fireEvent("render",me)}if(me.contentEl){pre=Ext.baseCSSPrefix;hide=pre+"hide-";contentEl=Ext.get(me.contentEl);contentEl.removeCls([pre+"hidden",hide+"display",hide+"offsets",hide+"nosize"]);me.getTargetEl().appendChild(contentEl.dom)}me.afterRender();if(me.hasListeners.afterrender){me.fireEvent("afterrender",me)}me.initEvents();if(me.hidden){me.el.hide()}},finishRenderChildren:function(){var layout=this.getComponentLayout();layout.finishRender()},getElConfig:function(){var me=this,autoEl=me.autoEl,frameInfo=me.getFrameInfo(),config={tag:"div",tpl:frameInfo?me.initFramingTpl(frameInfo.table):me.initRenderTpl()},i,frameElNames,len,suffix,frameGenId;me.initStyles(me.protoEl);me.protoEl.writeTo(config);me.protoEl.flush();if(Ext.isString(autoEl)){config.tag=autoEl}else{Ext.apply(config,autoEl)}config.id=me.id;if(config.tpl){if(frameInfo){frameElNames=me.frameElNames;len=frameElNames.length;frameGenId=me.id+"-frame1";me.frameGenId=1;config.tplData=Ext.apply({},{$comp:me,fgid:frameGenId,ui:me.ui,uiCls:me.uiCls,frameCls:me.frameCls,baseCls:me.baseCls,frameWidth:frameInfo.maxWidth,top:!!frameInfo.top,left:!!frameInfo.left,right:!!frameInfo.right,bottom:!!frameInfo.bottom,renderData:me.initRenderData()},me.getFramePositions(frameInfo));for(i=0;i table")[1].remove()}else{if(oldFrameTL){oldFrameTL.remove()}if(oldFrameBL){oldFrameBL.remove()}if(oldFrameML){oldFrameML.remove()}}}}else{if(me.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius||!this.frame){return false}var me=this,frameInfoCache=me.frameInfoCache,el=me.el||me.protoEl,cls=el.dom?el.dom.className:el.classList.join(" "),frameInfo=frameInfoCache[cls],styleEl,left,top,info;if(frameInfo==null){styleEl=Ext.fly(me.getStyleProxy(cls),"frame-style-el");left=styleEl.getStyle("background-position-x");top=styleEl.getStyle("background-position-y");if(!left&&!top){info=styleEl.getStyle("background-position").split(" ");left=info[0];top=info[1]}frameInfo=me.calculateFrame(left,top);if(frameInfo){el.setStyle("background-image","none")}frameInfoCache[cls]=frameInfo}me.frame=!!frameInfo;me.frameSize=frameInfo;return frameInfo},calculateFrame:function(left,top){if(!(parseInt(left,10)>=1000000&&parseInt(top,10)>=1000000)){return false}var max=Math.max,tl=parseInt(left.substr(3,2),10),tr=parseInt(left.substr(5,2),10),br=parseInt(top.substr(3,2),10),bl=parseInt(top.substr(5,2),10),frameInfo={table:left.substr(0,3)=="110",vertical:top.substr(0,3)=="110",top:max(tl,tr),right:max(tr,br),bottom:max(bl,br),left:max(tl,bl)};frameInfo.maxWidth=max(frameInfo.top,frameInfo.right,frameInfo.bottom,frameInfo.left);frameInfo.width=frameInfo.left+frameInfo.right;frameInfo.height=frameInfo.top+frameInfo.bottom;return frameInfo},getStyleProxy:function(cls){var result=this.styleProxyEl||(Ext.AbstractComponent.prototype.styleProxyEl=Ext.resetElement.createChild({style:{position:"absolute",top:"-10000px"}},null,true));result.className=cls;return result},getFramePositions:function(frameInfo){var me=this,frameWidth=frameInfo.maxWidth,dock=me.dock,positions,tc,bc,ml,mr;if(frameInfo.vertical){tc="0 -"+(frameWidth*0)+"px";bc="0 -"+(frameWidth*1)+"px";if(dock&&dock=="right"){tc="right -"+(frameWidth*0)+"px";bc="right -"+(frameWidth*1)+"px"}positions={tl:"0 -"+(frameWidth*0)+"px",tr:"0 -"+(frameWidth*1)+"px",bl:"0 -"+(frameWidth*2)+"px",br:"0 -"+(frameWidth*3)+"px",ml:"-"+(frameWidth*1)+"px 0",mr:"right 0",tc:tc,bc:bc}}else{ml="-"+(frameWidth*0)+"px 0";mr="right 0";if(dock&&dock=="bottom"){ml="left bottom";mr="right bottom"}positions={tl:"0 -"+(frameWidth*2)+"px",tr:"right -"+(frameWidth*3)+"px",bl:"0 -"+(frameWidth*4)+"px",br:"right -"+(frameWidth*5)+"px",ml:ml,mr:mr,tc:"0 -"+(frameWidth*0)+"px",bc:"0 -"+(frameWidth*1)+"px"}}return positions},getFrameTpl:function(table){return this.getTpl(table?"frameTableTpl":"frameTpl")},frameInfoCache:{}});Ext.define("Ext.state.Provider",{mixins:{observable:"Ext.util.Observable"},prefix:"ext-",constructor:function(config){config=config||{};var me=this;Ext.apply(me,config);me.addEvents("statechange");me.state={};me.mixins.observable.constructor.call(me)},get:function(name,defaultValue){return typeof this.state[name]=="undefined"?defaultValue:this.state[name]},clear:function(name){var me=this;delete me.state[name];me.fireEvent("statechange",me,name,null)},set:function(name,value){var me=this;me.state[name]=value;me.fireEvent("statechange",me,name,value)},decodeValue:function(value){var me=this,re=/^(a|n|d|b|s|o|e)\:(.*)$/,matches=re.exec(unescape(value)),all,type,keyValue,values,vLen,v;if(!matches||!matches[1]){return}type=matches[1];value=matches[2];switch(type){case"e":return null;case"n":return parseFloat(value);case"d":return new Date(Date.parse(value));case"b":return(value=="1");case"a":all=[];if(value!=""){values=value.split("^");vLen=values.length;for(v=0;vcurHeight){h=toHeight;needsResize=true}if(hasToWidth&&toWidth>curWidth){w=toWidth;needsResize=true}if(needsResize){clearWidth=!Ext.isNumber(me.width);clearHeight=!Ext.isNumber(me.height);me.setSize(w,h);me.el.setSize(curWidth,curHeight);if(clearWidth){delete me.width}if(clearHeight){delete me.height}}if(hasToWidth){to.width=toWidth}if(hasToHeight){to.height=toHeight}}return me.mixins.animate.animate.apply(me,arguments)},onHide:function(){this.updateLayout({isRoot:false})},onShow:function(){this.updateLayout({isRoot:false})},constructPlugin:function(plugin){if(plugin.ptype&&typeof plugin.init!="function"){plugin.cmp=this;plugin=Ext.PluginManager.create(plugin)}else{if(typeof plugin=="string"){plugin=Ext.PluginManager.create({ptype:plugin,cmp:this})}}return plugin},constructPlugins:function(){var me=this,plugins,result=[],i,len;if(me.plugins){plugins=Ext.isArray(me.plugins)?me.plugins:[me.plugins];for(i=0,len=plugins.length;i=0;idx--){if((c=it.getAt(idx)).is(selector)){return c}}}else{if(idx){return it.getAt(--idx)}}}}return null},previousNode:function(selector,includeSelf){var node=this,ownerCt=node.ownerCt,result,it,i,sib;if(includeSelf&&node.is(selector)){return node}if(ownerCt){for(it=ownerCt.items.items,i=Ext.Array.indexOf(it,node)-1;i>-1;i--){sib=it[i];if(sib.query){result=sib.query(selector);result=result[result.length-1];if(result){return result}}if(sib.is(selector)){return sib}}return ownerCt.previousNode(selector,true)}return null},nextNode:function(selector,includeSelf){var node=this,ownerCt=node.ownerCt,result,it,len,i,sib;if(includeSelf&&node.is(selector)){return node}if(ownerCt){for(it=ownerCt.items.items,i=Ext.Array.indexOf(it,node)+1,len=it.length;i=8){xhr=new XDomainRequest()}else{xhr=this.getXhrInstance()}return xhr},openRequest:function(options,requestOptions,async,username,password){var xhr=this.newRequest(options);if(username){xhr.open(requestOptions.method,requestOptions.url,async,username,password)}else{xhr.open(requestOptions.method,requestOptions.url,async)}if(options.withCredentials||this.withCredentials){xhr.withCredentials=true}return xhr},getXhrInstance:(function(){var options=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],i=0,len=options.length,xhr;for(;i=200&&status<300)||status==304,isException=false;if(!success){switch(status){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:isException=true;break}}return{success:success,isException:isException}},createResponse:function(request){var xhr=request.xhr,headers={},lines=xhr.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),count=lines.length,line,index,key,value,response;while(count--){line=lines[count];index=line.indexOf(":");if(index>=0){key=line.substr(0,index).toLowerCase();if(line.charAt(index+1)==" "){++index}headers[key]=line.substr(index+1)}}request.xhr=null;delete request.xhr;response={request:request,requestId:request.id,status:xhr.status,statusText:xhr.statusText,getResponseHeader:function(header){return headers[header.toLowerCase()]},getAllResponseHeaders:function(){return headers},responseText:xhr.responseText,responseXML:xhr.responseXML};xhr=null;return response},createException:function(request){return{request:request,requestId:request.id,status:request.aborted?-1:0,statusText:request.aborted?"transaction aborted":"communication failure",aborted:request.aborted,timedout:request.timedout}}});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.util.Floating",{uses:["Ext.Layer","Ext.window.Window"],focusOnToFront:true,shadow:"sides",constructor:function(dom){var me=this;me.el=new Ext.Layer(Ext.apply({hideMode:me.hideMode,hidden:me.hidden,shadow:(typeof me.shadow!="undefined")?me.shadow:"sides",shadowOffset:me.shadowOffset,constrain:false,shim:(me.shim===false)?false:undefined},me.floating),dom);me.floating=true;me.registerWithOwnerCt()},registerWithOwnerCt:function(){var me=this;if(me.zIndexParent){me.zIndexParent.unregisterFloatingItem(me)}me.zIndexParent=me.up("[floating]");me.setFloatParent(me.ownerCt);delete me.ownerCt;if(me.zIndexParent){me.zIndexParent.registerFloatingItem(me)}else{Ext.WindowManager.register(me)}},setFloatParent:function(floatParent){var me=this;if(me.floatParent){me.mun(me.floatParent,{hide:me.onFloatParentHide,show:me.onFloatParentShow,scope:me})}me.floatParent=floatParent;if(floatParent){me.mon(me.floatParent,{hide:me.onFloatParentHide,show:me.onFloatParentShow,scope:me})}if((me.constrain||me.constrainHeader)&&!me.constrainTo){me.constrainTo=floatParent?floatParent.getTargetEl():me.container}},onAfterFloatLayout:function(){this.syncShadow()},onFloatParentHide:function(){var me=this;if(me.hideOnParentHide!==false&&me.isVisible()){me.hide();me.showOnParentShow=true}},onFloatParentShow:function(){if(this.showOnParentShow){delete this.showOnParentShow;this.show()}},setZIndex:function(index){var me=this;me.el.setZIndex(index);index+=10;if(me.floatingDescendants){index=Math.floor(me.floatingDescendants.setBase(index)/100)*100+10000}return index},doConstrain:function(constrainTo){var me=this,vector=me.getConstrainVector(constrainTo),xy;if(vector){xy=me.getPosition(!!me.floatParent);xy[0]+=vector[0];xy[1]+=vector[1];me.setPosition(xy)}},getConstrainVector:function(constrainTo){var me=this;if(me.constrain||me.constrainHeader){constrainTo=constrainTo||(me.floatParent&&me.floatParent.getTargetEl())||me.container||me.el.getScopeParent();return(me.constrainHeader?me.header.el:me.el).getConstrainVector(constrainTo)}},alignTo:function(element,position,offsets){this.setPagePosition(this.el.getAlignToXY(element.el||element,position,offsets));return this},toFront:function(preventFocus){var me=this;if(me.zIndexParent&&me.bringParentToFront!==false){me.zIndexParent.toFront(true)}if(!Ext.isDefined(preventFocus)){preventFocus=!me.focusOnToFront}if(preventFocus){me.preventFocusOnActivate=true}if(me.zIndexManager.bringToFront(me)){if(!preventFocus){me.focus(false,true)}}delete me.preventFocusOnActivate;return me},setActive:function(active,newActive){var me=this;if(active){if(me.el.shadow&&!me.maximized){me.el.enableShadow(true)}if(me.modal&&!me.preventFocusOnActivate){me.focus(false,true)}me.fireEvent("activate",me)}else{if(me.isWindow&&(newActive&&newActive.isWindow)){me.el.disableShadow()}me.fireEvent("deactivate",me)}},toBack:function(){this.zIndexManager.sendToBack(this);return this},center:function(){var me=this,xy;if(me.isVisible()){xy=me.el.getAlignToXY(me.container,"c-c");me.setPagePosition(xy)}else{me.needsCenter=true}return me},onFloatShow:function(){if(this.needsCenter){this.center()}delete this.needsCenter},syncShadow:function(){if(this.floating){this.el.sync(true)}},fitContainer:function(){var me=this,parent=me.floatParent,container=parent?parent.getTargetEl():me.container;me.setSize(container.getViewSize(false));me.setPosition.apply(me,parent?[0,0]:container.getXY())}});Ext.define("Ext.Component",{alias:["widget.component","widget.box"],extend:"Ext.AbstractComponent",requires:["Ext.util.DelayedTask"],uses:["Ext.Layer","Ext.resizer.Resizer","Ext.util.ComponentDragger"],mixins:{floating:"Ext.util.Floating"},statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g},resizeHandles:"all",floating:false,toFrontOnShow:true,hideMode:"display",bubbleEvents:[],monPropRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,defaultComponentLayoutType:"autocomponent",constructor:function(config){var me=this;config=config||{};if(config.initialConfig){if(config.isAction){me.baseAction=config}config=config.initialConfig}else{if(config.tagName||config.dom||Ext.isString(config)){config={applyTo:config,id:config.id||config}}}me.callParent([config]);if(me.baseAction){me.baseAction.addComponent(me)}},initComponent:function(){var me=this;me.callParent();if(me.listeners){me.on(me.listeners);me.listeners=null}me.enableBubble(me.bubbleEvents);me.mons=[]},afterRender:function(){var me=this;me.callParent();if(!(me.x&&me.y)&&(me.pageX||me.pageY)){me.setPagePosition(me.pageX,me.pageY)}},setAutoScroll:function(scroll){var me=this;me.autoScroll=!!scroll;if(me.rendered){me.getTargetEl().setStyle(me.getOverflowStyle())}me.updateLayout();return me},setOverflowXY:function(overflowX,overflowY){var me=this,argCount=arguments.length;if(argCount){me.overflowX=overflowX||"";if(argCount>1){me.overflowY=overflowY||""}}if(me.rendered){me.getTargetEl().setStyle(me.getOverflowStyle())}me.updateLayout();return me},beforeRender:function(){var me=this,floating=me.floating,cls;if(floating){me.addCls(Ext.baseCSSPrefix+"layer");cls=floating.cls;if(cls){me.addCls(cls)}}return me.callParent()},afterComponentLayout:function(){this.callParent(arguments);if(this.floating){this.onAfterFloatLayout()}},makeFloating:function(dom){this.mixins.floating.constructor.call(this,dom)},wrapPrimaryEl:function(dom){if(this.floating){this.makeFloating(dom)}else{this.callParent(arguments)}},initResizable:function(resizable){var me=this;resizable=Ext.apply({target:me,dynamic:false,constrainTo:me.constrainTo||(me.floatParent?me.floatParent.getTargetEl():null),handles:me.resizeHandles},resizable);resizable.target=me;me.resizer=new Ext.resizer.Resizer(resizable)},getDragEl:function(){return this.el},initDraggable:function(){var me=this,dragTarget=(me.resizer&&me.resizer.el!==me.el)?me.resizerComponent=new Ext.Component({el:me.resizer.el,rendered:true,container:me.container}):me,ddConfig=Ext.applyIf({el:dragTarget.getDragEl(),constrainTo:me.constrain?(me.constrainTo||(me.floatParent?me.floatParent.getTargetEl():me.el.getScopeParent())):undefined},me.draggable);if(me.constrain||me.constrainDelegate){ddConfig.constrain=me.constrain;ddConfig.constrainDelegate=me.constrainDelegate}me.dd=new Ext.util.ComponentDragger(dragTarget,ddConfig)},scrollBy:function(deltaX,deltaY,animate){var el;if((el=this.getTargetEl())&&el.dom){el.scrollBy.apply(el,arguments)}},setLoading:function(load,targetEl){var me=this,config;if(me.rendered){Ext.destroy(me.loadMask);me.loadMask=null;if(load!==false&&!me.collapsed){if(Ext.isObject(load)){config=Ext.apply({},load)}else{if(Ext.isString(load)){config={msg:load}}else{config={}}}if(targetEl){Ext.applyIf(config,{useTargetEl:true})}me.loadMask=new Ext.LoadMask(me,config);me.loadMask.show()}}return me.loadMask},beforeSetPosition:function(){var me=this,pos=me.callParent(arguments),adj;if(pos){adj=me.adjustPosition(pos.x,pos.y);pos.x=adj.x;pos.y=adj.y}return pos||null},afterSetPosition:function(ax,ay){this.onPosition(ax,ay);this.fireEvent("move",this,ax,ay)},showAt:function(x,y,animate){var me=this;if(!me.rendered&&(me.autoRender||me.floating)){me.doAutoRender();me.hidden=true}if(me.floating){me.setPosition(x,y,animate)}else{me.setPagePosition(x,y,animate)}me.show()},setPagePosition:function(x,y,animate){var me=this,p,floatParentBox;if(Ext.isArray(x)){y=x[1];x=x[0]}me.pageX=x;me.pageY=y;if(me.floating){if(me.isContainedFloater()){floatParentBox=me.floatParent.getTargetEl().getViewRegion();if(Ext.isNumber(x)&&Ext.isNumber(floatParentBox.left)){x-=floatParentBox.left}if(Ext.isNumber(y)&&Ext.isNumber(floatParentBox.top)){y-=floatParentBox.top}}else{p=me.el.translatePoints(x,y);x=p.left;y=p.top}me.setPosition(x,y,animate)}else{p=me.el.translatePoints(x,y);me.setPosition(p.left,p.top,animate)}return me},isContainedFloater:function(){return(this.floating&&this.floatParent)},getBox:function(local){var pos=local?this.getPosition(local):this.el.getXY(),size=this.getSize();size.x=pos[0];size.y=pos[1];return size},updateBox:function(box){this.setSize(box.width,box.height);this.setPagePosition(box.x,box.y);return this},getOuterSize:function(){var el=this.el;return{width:el.getWidth()+el.getMargin("lr"),height:el.getHeight()+el.getMargin("tb")}},adjustPosition:function(x,y){var me=this,floatParentBox;if(me.isContainedFloater()){floatParentBox=me.floatParent.getTargetEl().getViewRegion();x+=floatParentBox.left;y+=floatParentBox.top}return{x:x,y:y}},getPosition:function(local){var me=this,el=me.el,xy,isContainedFloater=me.isContainedFloater(),floatParentBox;if((local===true)&&!isContainedFloater){return[el.getLocalX(),el.getLocalY()]}xy=me.el.getXY();if((local===true)&&isContainedFloater){floatParentBox=me.floatParent.getTargetEl().getViewRegion();xy[0]-=floatParentBox.left;xy[1]-=floatParentBox.top}return xy},getId:function(){var me=this,xtype;if(!me.id){xtype=me.getXType();if(xtype){xtype=xtype.replace(Ext.Component.INVALID_ID_CHARS_Re,"-")}else{xtype=Ext.name.toLowerCase()+"-comp"}me.id=xtype+"-"+me.getAutoId()}return me.id},show:function(animateTarget,cb,scope){var me=this,rendered=me.rendered;if(rendered&&me.isVisible()){if(me.toFrontOnShow&&me.floating){me.toFront()}}else{if(me.fireEvent("beforeshow",me)!==false){me.hidden=false;if(!rendered&&(me.autoRender||me.floating)){me.doAutoRender();rendered=me.rendered}if(rendered){me.beforeShow();me.onShow.apply(me,arguments);me.afterShow.apply(me,arguments)}}else{me.onShowVeto()}}return me},onShowVeto:Ext.emptyFn,beforeShow:Ext.emptyFn,onShow:function(){var me=this;me.el.show();me.callParent(arguments);if(me.floating){if(me.maximized){me.fitContainer()}else{if(me.constrain){me.doConstrain()}}}},afterShow:function(animateTarget,cb,scope){var me=this,fromBox,toBox,ghostPanel;animateTarget=animateTarget||me.animateTarget;if(!me.ghost){animateTarget=null}if(animateTarget){animateTarget=animateTarget.el?animateTarget.el:Ext.get(animateTarget);toBox=me.el.getBox();fromBox=animateTarget.getBox();me.el.addCls(Ext.baseCSSPrefix+"hide-offsets");ghostPanel=me.ghost();ghostPanel.el.stopAnimation();ghostPanel.el.setX(-10000);ghostPanel.el.animate({from:fromBox,to:toBox,listeners:{afteranimate:function(){delete ghostPanel.componentLayout.lastComponentSize;me.unghost();me.el.removeCls(Ext.baseCSSPrefix+"hide-offsets");me.onShowComplete(cb,scope)}}})}else{me.onShowComplete(cb,scope)}},onShowComplete:function(cb,scope){var me=this;if(me.floating){me.toFront();me.onFloatShow()}Ext.callback(cb,scope||me);me.fireEvent("show",me);delete me.hiddenByLayout},hide:function(){var me=this;me.showOnParentShow=false;if(!(me.rendered&&!me.isVisible())&&me.fireEvent("beforehide",me)!==false){me.hidden=true;if(me.rendered){me.onHide.apply(me,arguments)}}return me},onHide:function(animateTarget,cb,scope){var me=this,ghostPanel,toBox;animateTarget=animateTarget||me.animateTarget;if(!me.ghost){animateTarget=null}if(animateTarget){animateTarget=animateTarget.el?animateTarget.el:Ext.get(animateTarget);ghostPanel=me.ghost();ghostPanel.el.stopAnimation();toBox=animateTarget.getBox();toBox.width+="px";toBox.height+="px";ghostPanel.el.animate({to:toBox,listeners:{afteranimate:function(){delete ghostPanel.componentLayout.lastComponentSize;ghostPanel.el.hide();me.afterHide(cb,scope)}}})}me.el.hide();if(!animateTarget){me.afterHide(cb,scope)}},afterHide:function(cb,scope){var me=this;delete me.hiddenByLayout;Ext.AbstractComponent.prototype.onHide.call(this);Ext.callback(cb,scope||me);me.fireEvent("hide",me)},onDestroy:function(){var me=this;if(me.rendered){Ext.destroy(me.proxy,me.proxyWrap,me.resizer,me.resizerComponent)}delete me.focusTask;me.callParent()},deleteMembers:function(){var args=arguments,len=args.length,i=0;for(;i1){for(;i]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|exec|switch|case|eval)\s*\=\s*(?:(?:"([^"]*)")|(?:'([^']*)'))\s*/g,propRe:/prop=(?:(?:"([^"]*)")|(?:'([^']*)'))/,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/});Ext.define("Ext.XTemplateCompiler",{extend:"Ext.XTemplateParser",useEval:Ext.isGecko,useIndex:Ext.isIE6||Ext.isIE7,useFormat:true,propNameRe:/^[\w\d\$]*$/,compile:function(tpl){var me=this,code=me.generate(tpl);return me.useEval?me.evalTpl(code):(new Function("Ext",code))(Ext)},generate:function(tpl){var me=this,definitions="var fm=Ext.util.Format,ts=Object.prototype.toString;",code;me.maxLevel=0;me.body=["var c0=values, a0="+me.createArrayTest(0)+", p0=parent, n0=xcount, i0=xindex, v;\n"];if(me.definitions){if(typeof me.definitions==="string"){me.definitions=[me.definitions,definitions]}else{me.definitions.push(definitions)}}else{me.definitions=[definitions]}me.switches=[];me.parse(tpl);me.definitions.push((me.useEval?"$=":"return")+" function ("+me.fnArgs+") {",me.body.join(""),"}");code=me.definitions.join("\n");me.definitions.length=me.body.length=me.switches.length=0;delete me.definitions;delete me.body;delete me.switches;return code},doText:function(text){var me=this,out=me.body;text=text.replace(me.aposRe,"\\'").replace(me.newLineRe,"\\n");if(me.useIndex){out.push("out[out.length]='",text,"'\n")}else{out.push("out.push('",text,"')\n")}},doExpr:function(expr){var out=this.body;out.push("if ((v="+expr+")!==undefined) out");if(this.useIndex){out.push("[out.length]=v+''\n")}else{out.push(".push(v+'')\n")}},doTag:function(tag){this.doExpr(this.parseTag(tag))},doElse:function(){this.body.push("} else {\n")},doEval:function(text){this.body.push(text,"\n")},doIf:function(action,actions){var me=this;if(action==="."){me.body.push("if (values) {\n")}else{if(me.propNameRe.test(action)){me.body.push("if (",me.parseTag(action),") {\n")}else{me.body.push("if (",me.addFn(action),me.callFn,") {\n")}}if(actions.exec){me.doExec(actions.exec)}},doElseIf:function(action,actions){var me=this;if(action==="."){me.body.push("else if (values) {\n")}else{if(me.propNameRe.test(action)){me.body.push("} else if (",me.parseTag(action),") {\n")}else{me.body.push("} else if (",me.addFn(action),me.callFn,") {\n")}}if(actions.exec){me.doExec(actions.exec)}},doSwitch:function(action){var me=this;if(action==="."){me.body.push("switch (values) {\n")}else{if(me.propNameRe.test(action)){me.body.push("switch (",me.parseTag(action),") {\n")}else{me.body.push("switch (",me.addFn(action),me.callFn,") {\n")}}me.switches.push(0)},doCase:function(action){var me=this,cases=Ext.isArray(action)?action:[action],n=me.switches.length-1,match,i;if(me.switches[n]){me.body.push("break;\n")}else{me.switches[n]++}for(i=0,n=cases.length;i');me.scrollRangeFlags=scrollRangeFlags}}},finishRender:function(){var me=this,target,items;me.callParent();me.cacheElements();target=me.getRenderTarget();items=me.getLayoutItems();if(me.targetCls){me.getTarget().addCls(me.targetCls)}me.finishRenderItems(target,items)},notifyOwner:function(){this.owner.afterLayout(this)},getContainerSize:function(ownerContext,inDom){var targetContext=ownerContext.targetContext,frameInfo=targetContext.getFrameInfo(),padding=targetContext.getPaddingInfo(),got=0,needed=0,overflowAdjust=ownerContext.state.overflowAdjust,gotWidth,gotHeight,width,height;if(!ownerContext.widthModel.shrinkWrap){++needed;width=inDom?targetContext.getDomProp("width"):targetContext.getProp("width");gotWidth=(typeof width=="number");if(gotWidth){++got;width-=frameInfo.width+padding.width;if(overflowAdjust){width-=overflowAdjust.width}}}if(!ownerContext.heightModel.shrinkWrap){++needed;height=inDom?targetContext.getDomProp("height"):targetContext.getProp("height");gotHeight=(typeof height=="number");if(gotHeight){++got;height-=frameInfo.height+padding.height;if(overflowAdjust){height-=overflowAdjust.height}}}return{width:width,height:height,needed:needed,got:got,gotAll:got==needed,gotWidth:gotWidth,gotHeight:gotHeight}},getLayoutItems:function(){var owner=this.owner,items=owner&&owner.items;return(items&&items.items)||[]},getRenderData:function(){var comp=this.owner;return{$comp:comp,$layout:this,ownerId:comp.id}},getRenderedItems:function(){var me=this,target=me.getRenderTarget(),items=me.getLayoutItems(),ln=items.length,renderedItems=[],i,item;for(i=0;i'],calculate:function(ownerContext){var me=this,containerSize;if(!ownerContext.hasDomProp("containerChildrenDone")){me.done=false}else{containerSize=me.getContainerSize(ownerContext);if(!containerSize.gotAll){me.done=false}me.calculateContentSize(ownerContext)}}});Ext.define("Ext.util.Filter",{anyMatch:false,exactMatch:false,caseSensitive:false,constructor:function(config){var me=this;Ext.apply(me,config);me.filter=me.filter||me.filterFn;if(me.filter===undefined){if(me.property===undefined||me.value===undefined){}else{me.filter=me.createFilterFn()}me.filterFn=me.filter}},createFilterFn:function(){var me=this,matcher=me.createValueMatcher(),property=me.property;return function(item){var value=me.getRoot.call(me,item)[property];return matcher===null?value===null:matcher.test(value)}},getRoot:function(item){var root=this.root;return root===undefined?item:item[root]},createValueMatcher:function(){var me=this,value=me.value,anyMatch=me.anyMatch,exactMatch=me.exactMatch,caseSensitive=me.caseSensitive,escapeRe=Ext.String.escapeRegex;if(value===null){return value}if(!value.exec){value=String(value);if(anyMatch===true){value=escapeRe(value)}else{value="^"+escapeRe(value);if(exactMatch===true){value+="$"}}value=new RegExp(value,caseSensitive?"":"i")}return value}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.util.Observable"},isMixedCollection:true,generation:0,constructor:function(allowFunctions,keyFn){var me=this;me.items=[];me.map={};me.keys=[];me.length=0;me.allowFunctions=allowFunctions===true;if(keyFn){me.getKey=keyFn}me.mixins.observable.constructor.call(me)},allowFunctions:false,add:function(key,obj){var me=this,myObj=obj,myKey=key,old;if(arguments.length==1){myObj=myKey;myKey=me.getKey(myObj)}if(typeof myKey!="undefined"&&myKey!==null){old=me.map[myKey];if(typeof old!="undefined"){return me.replace(myKey,myObj)}me.map[myKey]=myObj}me.generation++;me.length++;me.items.push(myObj);me.keys.push(myKey);if(me.hasListeners.add){me.fireEvent("add",me.length-1,myObj,myKey)}return myObj},getKey:function(o){return o.id},replace:function(key,o){var me=this,old,index;if(arguments.length==1){o=arguments[0];key=me.getKey(o)}old=me.map[key];if(typeof key=="undefined"||key===null||typeof old=="undefined"){return me.add(key,o)}me.generation++;index=me.indexOfKey(key);me.items[index]=o;me.map[key]=o;if(me.hasListeners.replace){me.fireEvent("replace",key,old,o)}return o},addAll:function(objs){var me=this,i=0,args,len,key;if(arguments.length>1||Ext.isArray(objs)){args=arguments.length>1?arguments:objs;for(len=args.length;i=me.length){return me.add(myKey,myObj)}me.generation++;me.length++;Ext.Array.splice(me.items,index,0,myObj);if(typeof myKey!="undefined"&&myKey!==null){me.map[myKey]=myObj}Ext.Array.splice(me.keys,index,0,myKey);if(me.hasListeners.add){me.fireEvent("add",index,myObj,myKey)}return myObj},remove:function(o){this.generation++;return this.removeAt(this.indexOf(o))},removeAll:function(items){items=[].concat(items);var i,iLen=items.length;for(i=0;i=0){me.length--;o=me.items[index];Ext.Array.erase(me.items,index,1);key=me.keys[index];if(typeof key!="undefined"){delete me.map[key]}Ext.Array.erase(me.keys,index,1);if(me.hasListeners.remove){me.fireEvent("remove",o,key)}me.generation++;return o}return false},removeAtKey:function(key){return this.removeAt(this.indexOfKey(key))},getCount:function(){return this.length},indexOf:function(o){return Ext.Array.indexOf(this.items,o)},indexOfKey:function(key){return Ext.Array.indexOf(this.keys,key)},get:function(key){var me=this,mk=me.map[key],item=mk!==undefined?mk:(typeof key=="number")?me.items[key]:undefined;return typeof item!="function"||me.allowFunctions?item:null},getAt:function(index){return this.items[index]},getByKey:function(key){return this.map[key]},contains:function(o){return typeof this.map[this.getKey(o)]!="undefined"},containsKey:function(key){return typeof this.map[key]!="undefined"},clear:function(){var me=this;me.length=0;me.items=[];me.keys=[];me.map={};me.generation++;if(me.hasListeners.clear){me.fireEvent("clear")}},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(property,root,start,end){var values=this.extractValues(property,root),length=values.length,sum=0,i;start=start||0;end=(end||end===0)?end:length-1;for(i=start;i<=end;i++){sum+=values[i]}return sum},collect:function(property,root,allowNull){var values=this.extractValues(property,root),length=values.length,hits={},unique=[],value,strValue,i;for(i=0;i=end;i--){range[range.length]=items[i]}}return range},filter:function(property,value,anyMatch,caseSensitive){var filters=[],filterFn;if(Ext.isString(property)){filters.push(new Ext.util.Filter({property:property,value:value,anyMatch:anyMatch,caseSensitive:caseSensitive}))}else{if(Ext.isArray(property)||property instanceof Ext.util.Filter){filters=filters.concat(property)}}filterFn=function(record){var isMatch=true,length=filters.length,i,filter,fn,scope;for(i=0;iv2?1:(v1>1;comparison=sorterFn(newItem,items[middle]);if(comparison>=0){start=middle+1}else{if(comparison<0){end=middle-1}}}return start},reorder:function(mapping){var me=this,items=me.items,index=0,length=items.length,order=[],remaining=[],oldIndex;me.suspendEvents();for(oldIndex in mapping){order[mapping[oldIndex]]=items[oldIndex]}for(index=0;indexv2?1:(v1=0&&stack[i].hidden;--i){}if((comp=stack[i])){me._setActiveChild(comp,oldFront);if(comp.modal){return}}for(;i>=0;--i){comp=stack[i];if(comp.isVisible()&&comp.modal){me._showModalMask(comp);return}}me._hideModalMask()},_showModalMask:function(comp){var me=this,zIndex=comp.el.getStyle("zIndex")-4,maskTarget=comp.floatParent?comp.floatParent.getTargetEl():comp.container,viewSize=maskTarget.getBox();if(maskTarget.dom===document.body){viewSize.height=Math.max(document.body.scrollHeight,Ext.dom.Element.getDocumentHeight());viewSize.width=Math.max(document.body.scrollWidth,viewSize.width)}if(!me.mask){me.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask"});me.mask.setVisibilityMode(Ext.Element.DISPLAY);me.mask.on("click",me._onMaskClick,me)}me.mask.maskTarget=maskTarget;maskTarget.addCls(Ext.baseCSSPrefix+"body-masked");me.mask.setStyle("zIndex",zIndex);me.mask.show();me.mask.setBox(viewSize)},_hideModalMask:function(){var mask=this.mask;if(mask&&mask.isVisible()){mask.maskTarget.removeCls(Ext.baseCSSPrefix+"body-masked");mask.maskTarget=undefined;mask.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){var mask=this.mask,maskTarget,viewSize;if(mask&&mask.isVisible()){mask.hide();maskTarget=mask.maskTarget;if(maskTarget.dom===document.body){viewSize={height:Math.max(document.body.scrollHeight,Ext.dom.Element.getDocumentHeight()),width:Math.max(document.body.scrollWidth,document.documentElement.clientWidth)}}else{viewSize=maskTarget.getViewSize(true)}mask.setSize(viewSize);mask.show()}},register:function(comp){var me=this;if(comp.zIndexManager){comp.zIndexManager.unregister(comp)}comp.zIndexManager=me;me.list[comp.id]=comp;me.zIndexStack.push(comp);comp.on("hide",me.onComponentHide,me)},unregister:function(comp){var me=this,list=me.list;delete comp.zIndexManager;if(list&&list[comp.id]){delete list[comp.id];comp.un("hide",me.onComponentHide);Ext.Array.remove(me.zIndexStack,comp);me._activateLast()}},get:function(id){return id.isComponent?id:this.list[id]},bringToFront:function(comp){var me=this,result=false,zIndexStack=me.zIndexStack;comp=me.get(comp);if(comp!==me.front){Ext.Array.remove(zIndexStack,comp);if(comp.preventBringToFront){zIndexStack.unshift(comp)}else{zIndexStack.push(comp)}me.assignZIndices();result=true;this.front=comp}if(result&&comp.modal){me._showModalMask(comp)}return result},sendToBack:function(comp){var me=this;comp=me.get(comp);Ext.Array.remove(me.zIndexStack,comp);me.zIndexStack.unshift(comp);me.assignZIndices();this._activateLast();return comp},hideAll:function(){var list=this.list,item,id;for(id in list){if(list.hasOwnProperty(id)){item=list[id];if(item.isComponent&&item.isVisible()){item.hide()}}}},hide:function(){var me=this,mask=me.mask,i=0,stack=me.zIndexStack,len=stack.length,comp;me.tempHidden=me.tempHidden||[];for(;i0;){comp=stack[i];if(comp.isComponent&&fn.call(scope||comp,comp)===false){return}}},destroy:function(){var me=this,list=me.list,comp,id;for(id in list){if(list.hasOwnProperty(id)){comp=list[id];if(comp.isComponent){comp.destroy()}}}delete me.zIndexStack;delete me.list;delete me.container;delete me.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.container.AbstractContainer",{extend:"Ext.Component",requires:["Ext.util.MixedCollection","Ext.layout.container.Auto","Ext.ZIndexManager"],renderTpl:"{%this.renderContainer(out,values)%}",suspendLayout:false,autoDestroy:true,defaultType:"panel",detachOnRemove:true,isContainer:true,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",bubbleEvents:["add","remove"],defaultLayoutType:"auto",initComponent:function(){var me=this;me.addEvents("afterlayout","beforeadd","beforeremove","add","remove");me.callParent();me.getLayout();me.initItems()},initItems:function(){var me=this,items=me.items;me.items=new Ext.util.AbstractMixedCollection(false,me.getComponentId);if(items){if(!Ext.isArray(items)){items=[items]}me.add(items)}},getFocusEl:function(){return this.getTargetEl()},finishRenderChildren:function(){this.callParent();var layout=this.getLayout();if(layout){layout.finishRender()}},beforeRender:function(){var me=this,layout=me.getLayout();me.callParent();if(!layout.initialized){layout.initLayout()}},setupRenderTpl:function(renderTpl){var layout=this.getLayout();this.callParent(arguments);layout.setupRenderTpl(renderTpl)},setLayout:function(layout){var currentLayout=this.layout;if(currentLayout&¤tLayout.isLayout&¤tLayout!=layout){currentLayout.setOwner(null)}this.layout=layout;layout.setOwner(this)},getLayout:function(){var me=this;if(!me.layout||!me.layout.isLayout){me.setLayout(Ext.layout.Layout.create(me.layout,me.self.prototype.layout||"autocontainer"))}return me.layout},doLayout:function(){this.updateLayout();return this},afterLayout:function(layout){var me=this;++me.layoutCounter;if(me.hasListeners.afterlayout){me.fireEvent("afterlayout",me,layout)}},prepareItems:function(items,applyDefaults){if(Ext.isArray(items)){items=items.slice()}else{items=[items]}var me=this,i=0,len=items.length,item;for(;i "+selector)[0]||null},nextChild:function(child,selector){var me=this,result,childIndex=me.items.indexOf(child);if(childIndex!==-1){result=selector?Ext.ComponentQuery(selector,me.items.items.slice(childIndex+1)):me.items.getAt(childIndex+1);if(!result&&me.ownerCt){result=me.ownerCt.nextChild(me,selector)}}return result},prevChild:function(child,selector){var me=this,result,childIndex=me.items.indexOf(child);if(childIndex!==-1){result=selector?Ext.ComponentQuery(selector,me.items.items.slice(childIndex+1)):me.items.getAt(childIndex+1);if(!result&&me.ownerCt){result=me.ownerCt.nextChild(me,selector)}}return result},down:function(selector){return this.query(selector)[0]||null},enable:function(){this.callParent(arguments);var itemsToDisable=this.getChildItemsToDisable(),length=itemsToDisable.length,item,i;for(i=0;i=len){i=0}else{if(i<0){i=len-1}}if(i===idx){return[]}if((c=cmps[i]).isFocusable()){return[c]}}return[]},prevFocus:function(cmps,idx){return this.nextFocus(cmps,idx,-1)},root:function(cmps){var len=cmps.length,results=[],i=0,c;for(;ib.el.getZIndex()});return floating.concat(inline)},initDOM:function(options){var me=this,cls=me.focusFrameCls,needListeners=Ext.ComponentQuery.query("{getFocusEl()}:not([focusListenerAdded])"),i=0,len=needListeners.length;if(!Ext.isReady){return Ext.onReady(me.initDOM,me)}for(;i:focusable",focusedCmp)[0]:focusedCmp;if(firstChild){firstChild.focus()}else{if(Ext.isFunction(focusedCmp.onClick)){e.button=0;focusedCmp.onClick(e);if(focusedCmp.isVisible(true)){focusedCmp.focus()}else{me.navigateOut()}}}}},navigateOut:function(e){var me=this,parent;if(!me.focusedCmp||!(parent=me.focusedCmp.up(":focusable"))){me.focusEl.focus()}else{parent.focus()}return true},navigateSiblings:function(e,source,parent){var me=this,src=source||me,key=e.getKey(),EO=Ext.EventObject,goBack=e.shiftKey||key==EO.LEFT||key==EO.UP,checkWhitelist=key==EO.LEFT||key==EO.RIGHT||key==EO.UP||key==EO.DOWN,nextSelector=goBack?"prev":"next",idx,next,focusedCmp,siblings;focusedCmp=(src.focusedCmp&&src.focusedCmp.comp)||src.focusedCmp;if(!focusedCmp&&!parent){return true}if(checkWhitelist&&me.isWhitelisted(focusedCmp)){return true}if(!focusedCmp||focusedCmp.is(":root")){siblings=me.getRootComponents()}else{parent=parent||focusedCmp.up();if(parent){siblings=parent.getRefItems()}}if(siblings){idx=focusedCmp?Ext.Array.indexOf(siblings,focusedCmp):-1;next=Ext.ComponentQuery.query(":"+nextSelector+"Focus("+idx+")",siblings)[0];if(next&&focusedCmp!==next){next.focus();return next}}},onComponentBlur:function(cmp,e){var me=this;if(me.focusedCmp===cmp){me.previousFocusedCmp=cmp;delete me.focusedCmp}if(me.focusFrame){me.focusFrame.hide()}},onComponentFocus:function(cmp,e){var me=this,chain=me.focusChain,parent;if(!cmp.isFocusable()){me.clearComponent(cmp);if(chain[cmp.id]){return}parent=cmp.up();if(parent){chain[cmp.id]=true;parent.focus()}return}me.focusChain={};me.focusTask.delay(10,null,null,[cmp,cmp.getFocusEl()])},handleComponentFocus:function(cmp,focusEl){var me=this,cls,ff,fw,box,bt,bl,bw,bh,ft,fb,fl,fr;if(me.fireEvent("beforecomponentfocus",me,cmp,me.previousFocusedCmp)===false){me.clearComponent(cmp);return}me.focusedCmp=cmp;if(me.shouldShowFocusFrame(cmp)){cls="."+me.focusFrameCls+"-";ff=me.focusFrame;box=focusEl.getPageBox();bt=box.top;bl=box.left;bw=box.width;bh=box.height;ft=ff.child(cls+"top");fb=ff.child(cls+"bottom");fl=ff.child(cls+"left");fr=ff.child(cls+"right");ft.setWidth(bw).setLeftTop(bl,bt);fb.setWidth(bw).setLeftTop(bl,bt+bh-2);fl.setHeight(bh-2).setLeftTop(bl,bt+2);fr.setHeight(bh-2).setLeftTop(bl+bw-2,bt+2);ff.show()}me.fireEvent("componentfocus",me,cmp,me.previousFocusedCmp)},onComponentHide:function(cmp){var me=this,cmpHadFocus=false,focusedCmp=me.focusedCmp,parent;if(focusedCmp){cmpHadFocus=cmp.hasFocus||(cmp.isContainer&&cmp.isAncestor(me.focusedCmp))}me.clearComponent(cmp);if(cmpHadFocus&&(parent=cmp.up(":focusable"))){parent.focus()}else{me.focusEl.focus()}},onComponentDestroy:function(){},removeDOM:function(){var me=this;if(me.enabled||me.subscribers.length){return}Ext.destroy(me.focusFrame);delete me.focusEl;delete me.focusFrame},removeXTypeFromWhitelist:function(xtype){var me=this;if(Ext.isArray(xtype)){Ext.Array.forEach(xtype,me.removeXTypeFromWhitelist,me);return}Ext.Array.remove(me.whitelist,xtype)},setupSubscriberKeys:function(container,keys){var me=this,el=container.getFocusEl(),scope=keys.scope,handlers={backspace:me.focusLast,enter:me.navigateIn,esc:me.navigateOut,scope:me},navSiblings=function(e){if(me.focusedCmp===container){return me.navigateSiblings(e,me,container)}else{return me.navigateSiblings(e)}};Ext.iterate(keys,function(key,cb){handlers[key]=function(e){var ret=navSiblings(e);if(Ext.isFunction(cb)&&cb.call(scope||container,e,ret)===true){return true}return ret}},me);return new Ext.util.KeyNav(el,handlers)},shouldShowFocusFrame:function(cmp){var me=this,opts=me.options||{},cmpFocusEl=cmp.getFocusEl(),cmpFocusElTag=Ext.getDom(cmpFocusEl).tagName;if(!me.focusFrame||!cmp){return false}if(opts.focusFrame){return true}if(me.focusData[cmp.id].focusFrame){return true}return false}});Ext.define("Ext.Img",{extend:"Ext.Component",alias:["widget.image","widget.imagecomponent"],autoEl:"img",src:"",alt:"",imgCls:"",getElConfig:function(){var me=this,config=me.callParent(),img;if(me.autoEl=="img"){img=config}else{config.cn=[img={tag:"img",id:me.id+"-img"}]}if(me.imgCls){img.cls=(img.cls?img.cls+" ":"")+me.imgCls}img.src=me.src||Ext.BLANK_IMAGE_URL;if(me.alt){img.alt=me.alt}return config},onRender:function(){var me=this,el;me.callParent(arguments);el=me.el;me.imgEl=(me.autoEl=="img")?el:el.getById(me.id+"-img")},onDestroy:function(){Ext.destroy(this.imgEl);this.imgEl=null;this.callParent()},setSrc:function(src){var me=this,imgEl=me.imgEl;me.src=src;if(imgEl){imgEl.dom.src=src||Ext.BLANK_IMAGE_URL}}});Ext.define("Ext.Layer",{extend:"Ext.Element",uses:["Ext.Shadow"],statics:{shims:[]},isLayer:true,constructor:function(config,existingEl){config=config||{};var me=this,dh=Ext.DomHelper,cp=config.parentEl,pel=cp?Ext.getDom(cp):document.body,hm=config.hideMode;if(existingEl){me.dom=Ext.getDom(existingEl)}if(!me.dom){me.dom=dh.append(pel,config.dh||{tag:"div",cls:Ext.baseCSSPrefix+"layer"})}else{me.addCls(Ext.baseCSSPrefix+"layer");if(!me.dom.parentNode){pel.appendChild(me.dom)}}if(config.id){me.id=me.dom.id=config.id}else{me.id=Ext.id(me.dom)}Ext.Element.addToCache(me);if(config.cls){me.addCls(config.cls)}me.constrain=config.constrain!==false;if(hm){me.setVisibilityMode(Ext.Element[hm.toUpperCase()]);if(me.visibilityMode==Ext.Element.ASCLASS){me.visibilityCls=config.visibilityCls}}else{if(config.useDisplay){me.setVisibilityMode(Ext.Element.DISPLAY)}else{me.setVisibilityMode(Ext.Element.VISIBILITY)}}if(config.shadow){me.shadowOffset=config.shadowOffset||4;me.shadow=new Ext.Shadow({offset:me.shadowOffset,mode:config.shadow});me.disableShadow()}else{me.shadowOffset=0}me.useShim=config.shim!==false&&Ext.useShims;if(config.hidden===true){me.hide()}else{me.show()}},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var me=this,shim,pn;if(!me.useShim){return null}if(!me.shim){shim=me.self.shims.shift();if(!shim){shim=me.createShim();shim.enableDisplayMode("block");shim.hide()}pn=me.dom.parentNode;if(shim.dom.parentNode!=pn){pn.insertBefore(shim.dom,me.dom)}me.shim=shim}return me.shim},hideShim:function(){var me=this;if(me.shim){me.shim.setDisplayed(false);me.self.shims.push(me.shim);delete me.shim}},disableShadow:function(){var me=this;if(me.shadow&&!me.shadowDisabled){me.shadowDisabled=true;me.shadow.hide();me.lastShadowOffset=me.shadowOffset;me.shadowOffset=0}},enableShadow:function(show){var me=this;if(me.shadow&&me.shadowDisabled){me.shadowDisabled=false;me.shadowOffset=me.lastShadowOffset;delete me.lastShadowOffset;if(show){me.sync(true)}}},sync:function(doShow){var me=this,shadow=me.shadow,shadowPos,shimStyle,shadowSize,shim,l,t,w,h,shimIndex;if(!me.updating&&me.isVisible()&&(shadow||me.useShim)){shim=me.getShim();l=me.getLocalX();t=me.getLocalY();w=me.dom.offsetWidth;h=me.dom.offsetHeight;if(shadow&&!me.shadowDisabled){if(doShow&&!shadow.isVisible()){shadow.show(me)}else{shadow.realign(l,t,w,h)}if(shim){shimIndex=shim.getStyle("z-index");if(shimIndex>me.zindex){me.shim.setStyle("z-index",me.zindex-2)}shim.show();if(shadow.isVisible()){shadowPos=shadow.el.getXY();shimStyle=shim.dom.style;shadowSize=shadow.el.getSize();if(Ext.supports.CSS3BoxShadow){shadowSize.height+=6;shadowSize.width+=4;shadowPos[0]-=2;shadowPos[1]-=4}shimStyle.left=(shadowPos[0])+"px";shimStyle.top=(shadowPos[1])+"px";shimStyle.width=(shadowSize.width)+"px";shimStyle.height=(shadowSize.height)+"px"}else{shim.setSize(w,h);shim.setLeftTop(l,t)}}}else{if(shim){shimIndex=shim.getStyle("z-index");if(shimIndex>me.zindex){me.shim.setStyle("z-index",me.zindex-2)}shim.show();shim.setSize(w,h);shim.setLeftTop(l,t)}}}return me},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var vw=Ext.Element.getViewWidth(),vh=Ext.Element.getViewHeight(),s=Ext.getDoc().getScroll(),xy=this.getXY(),x=xy[0],y=xy[1],so=this.shadowOffset,w=this.dom.offsetWidth+so,h=this.dom.offsetHeight+so,moved=false;if((x+w)>vw+s.left){x=vw-w-so;moved=true}if((y+h)>vh+s.top){y=vh-h-so;moved=true}if(x',floating:{shadow:"frame"},focusOnToFront:false,bringParentToFront:false,constructor:function(comp,config){var me=this;if(!comp.isComponent){comp=Ext.get(comp);this.isElement=true}me.ownerCt=comp;if(!this.isElement){me.bindComponent(comp)}me.callParent([config]);if(me.store){me.bindStore(me.store,true)}},bindComponent:function(comp){var me=this,listeners={scope:this,resize:me.sizeMask,added:me.onComponentAdded,removed:me.onComponentRemoved},hierarchyEventSource=Ext.container.Container.hierarchyEventSource;if(comp.floating){listeners.move=me.sizeMask;me.activeOwner=comp}else{if(comp.ownerCt){me.onComponentAdded(comp.ownerCt)}else{me.preventBringToFront=true}}me.mon(comp,listeners);me.mon(hierarchyEventSource,{show:me.onContainerShow,hide:me.onContainerHide,expand:me.onContainerExpand,collapse:me.onContainerCollapse,scope:me})},onComponentAdded:function(owner){var me=this;delete me.activeOwner;me.floatParent=owner;if(!owner.floating){owner=owner.up("[floating]")}if(owner){me.activeOwner=owner;me.mon(owner,"move",me.sizeMask,me)}owner=me.floatParent.ownerCt;if(me.rendered&&me.isVisible()&&owner){me.floatOwner=owner;me.mon(owner,"afterlayout",me.sizeMask,me,{single:true})}},onComponentRemoved:function(owner){var me=this,activeOwner=me.activeOwner,floatOwner=me.floatOwner;if(activeOwner){me.mun(activeOwner,"move",me.sizeMask,me)}if(floatOwner){me.mun(floatOwner,"afterlayout",me.sizeMask,me)}delete me.activeOwner;delete me.floatOwner},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onContainerShow:function(container){if(this.isActiveContainer(container)){this.onComponentShow()}},onContainerHide:function(container){if(this.isActiveContainer(container)){this.onComponentHide()}},onContainerExpand:function(container){if(this.isActiveContainer(container)){this.onComponentShow()}},onContainerCollapse:function(container){if(this.isActiveContainer(container)){this.onComponentHide()}},isActiveContainer:function(container){return this.isDescendantOf(container)},onComponentHide:function(){var me=this;if(me.rendered&&me.isVisible()){me.hide();me.showNext=true}},onComponentShow:function(){if(this.showNext){this.show()}delete this.showNext},sizeMask:function(){var me=this,target;if(me.rendered&&me.isVisible()){me.center();target=me.getMaskTarget();me.getMaskEl().show().setSize(target.getSize()).alignTo(target,"tl-tl")}},bindStore:function(store,initial){var me=this;me.mixins.bindable.bindStore.apply(me,arguments);store=me.store;if(store&&store.isLoading()){me.onBeforeLoad()}},getStoreListeners:function(){return{beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.onLoad,cachemiss:this.onBeforeLoad,cachefilled:this.onLoad}},onDisable:function(){this.callParent(arguments);if(this.loading){this.onLoad()}},getOwner:function(){return this.ownerCt||this.floatParent},getMaskTarget:function(){var owner=this.getOwner();return this.useTargetEl?owner.getTargetEl():owner.getEl()},onBeforeLoad:function(){var me=this,owner=me.getOwner(),origin;if(!me.disabled){me.loading=true;if(owner.componentLayoutCounter){me.maybeShow()}else{origin=owner.afterComponentLayout;owner.afterComponentLayout=function(){owner.afterComponentLayout=origin;origin.apply(owner,arguments);me.maybeShow()}}}},maybeShow:function(){var me=this,owner=me.getOwner();if(!owner.isVisible(true)){me.showNext=true}else{if(me.loading&&owner.rendered){me.show()}}},getMaskEl:function(){var me=this;return me.maskEl||(me.maskEl=me.el.insertSibling({cls:me.maskCls,style:{zIndex:me.el.getStyle("zIndex")-2}},"before"))},onShow:function(){var me=this,msgEl=me.msgEl;me.callParent(arguments);me.loading=true;if(me.useMsg){msgEl.show().update(me.msg)}else{msgEl.parent().hide()}},hide:function(){if(this.isElement){this.ownerCt.unmask();this.fireEvent("hide",this);return}delete this.showNext;return this.callParent(arguments)},onHide:function(){this.callParent();this.getMaskEl().hide()},show:function(){if(this.isElement){this.ownerCt.mask(this.useMsg?this.msg:"",this.msgCls);this.fireEvent("show",this);return}return this.callParent(arguments)},afterShow:function(){this.callParent(arguments);this.sizeMask()},setZIndex:function(index){var me=this,owner=me.activeOwner;if(owner){index=parseInt(owner.el.getStyle("zIndex"),10)+1}me.getMaskEl().setStyle("zIndex",index-1);return me.mixins.floating.setZIndex.apply(me,arguments)},onLoad:function(){this.loading=false;this.hide()},onDestroy:function(){var me=this;if(me.isElement){me.ownerCt.unmask()}Ext.destroy(me.maskEl);me.callParent()}});Ext.define("Ext.data.association.Association",{alternateClassName:"Ext.data.Association",primaryKey:"id",defaultReaderType:"json",isAssociation:true,initialConfig:null,statics:{AUTO_ID:1000,create:function(association){if(Ext.isString(association)){association={type:association}}switch(association.type){case"belongsTo":return new Ext.data.association.BelongsTo(association);case"hasMany":return new Ext.data.association.HasMany(association);case"hasOne":return new Ext.data.association.HasOne(association);default:}return association}},constructor:function(config){Ext.apply(this,config);var me=this,types=Ext.ModelManager.types,ownerName=config.ownerModel,associatedName=config.associatedModel,ownerModel=types[ownerName],associatedModel=types[associatedName];me.initialConfig=config;me.ownerModel=ownerModel;me.associatedModel=associatedModel;Ext.applyIf(me,{ownerName:ownerName,associatedName:associatedName});me.associationId="association"+(++me.statics().AUTO_ID)},getReader:function(){var me=this,reader=me.reader,model=me.associatedModel;if(reader){if(Ext.isString(reader)){reader={type:reader}}if(reader.isReader){reader.setModel(model)}else{Ext.applyIf(reader,{model:model,type:me.defaultReaderType})}me.reader=Ext.createByAlias("reader."+reader.type,reader)}return me.reader||null}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.association.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(name,config){var proto=config.prototype,model;if(proto&&proto.isModel){model=config}else{if(!config.extend){config.extend="Ext.data.Model"}model=Ext.define(name,config)}this.types[name]=model;return model},onModelDefined:function(model){var stack=this.associationStack,length=stack.length,create=[],association,i,created;for(i=0;i','
{text}
',"",'
','','
',"
{text}
","
","
","
"],componentLayout:"progressbar",initComponent:function(){this.callParent();this.addEvents("update")},initRenderData:function(){var me=this;return Ext.apply(me.callParent(),{internalText:!me.hasOwnProperty("textEl"),text:me.text||" ",percentage:me.value?me.value*100:0})},onRender:function(){var me=this;me.callParent(arguments);if(me.textEl){me.textEl=Ext.get(me.textEl);me.updateText(me.text)}else{me.textEl=me.el.select("."+me.baseCls+"-text")}},updateProgress:function(value,text,animate){var me=this,oldValue=me.value;me.value=value||0;if(text){me.updateText(text)}if(me.rendered&&!me.isDestroyed){if(animate===true||(animate!==false&&me.animate)){me.bar.stopAnimation();me.bar.animate(Ext.apply({from:{width:(oldValue*100)+"%"},to:{width:(me.value*100)+"%"}},me.animate))}else{me.bar.setStyle("width",(me.value*100)+"%")}}me.fireEvent("update",me,me.value,text);return me},updateText:function(text){var me=this;me.text=text;if(me.rendered){me.textEl.update(me.text)}return me},applyText:function(text){this.updateText(text)},getText:function(){return this.text},wait:function(o){var me=this,scope;if(!me.waitTimer){scope=me;o=o||{};me.updateText(o.text);me.waitTimer=Ext.TaskManager.start({run:function(i){var inc=o.increment||10;i-=1;me.updateProgress(((((i+inc)%inc)+1)*(100/inc))*0.01,null,o.animate)},interval:o.interval||1000,duration:o.duration,onStop:function(){if(o.fn){o.fn.apply(o.scope||me)}me.reset()},scope:scope})}return me},isWaiting:function(){return this.waitTimer!==null},reset:function(hide){var me=this;me.updateProgress(0);me.clearTimer();if(hide===true){me.hide()}return me},clearTimer:function(){var me=this;if(me.waitTimer){me.waitTimer.onStop=null;Ext.TaskManager.stop(me.waitTimer);me.waitTimer=null}},onDestroy:function(){var me=this;me.clearTimer();if(me.rendered){if(me.textEl.isComposite){me.textEl.clear()}Ext.destroyMembers(me,"textEl","progressBar")}me.callParent()}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.DomHelper"],markup:(function(){return Ext.String.format('',Ext.baseCSSPrefix,Ext.isIE&&!Ext.supports.CSS3BoxShadow?"ie":"css")}()),shadows:[],pull:function(){var sh=this.shadows.shift();if(!sh){sh=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));sh.autoBoxAdjust=false}return sh},push:function(sh){this.shadows.push(sh)},reset:function(){var shadows=[].concat(this.shadows),s,sLen=shadows.length;for(s=0;s]+>/gi,asText:function(s){return String(s).replace(this.stripTagsRE,"")},asUCText:function(s){return String(s).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(s){return String(s).toUpperCase()},asDate:function(s){if(!s){return 0}if(Ext.isDate(s)){return s.getTime()}return Date.parse(String(s))},asFloat:function(s){var val=parseFloat(String(s).replace(/,/g,""));return isNaN(val)?0:val},asInt:function(s){var val=parseInt(String(s).replace(/,/g,""),10);return isNaN(val)?0:val}});Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"]},function(){var st=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{sortType:st.none,type:"auto"},STRING:{convert:function(v){var defaultValue=this.useNull?null:"";return(v===undefined||v===null)?defaultValue:String(v)},sortType:st.asUCString,type:"string"},INT:{convert:function(v){return v!==undefined&&v!==null&&v!==""?parseInt(String(v).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:st.none,type:"int"},FLOAT:{convert:function(v){return v!==undefined&&v!==null&&v!==""?parseFloat(String(v).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:st.none,type:"float"},BOOL:{convert:function(v){if(this.useNull&&(v===undefined||v===null||v==="")){return null}return v===true||v==="true"||v==1},sortType:st.none,type:"bool"},DATE:{convert:function(v){var df=this.dateFormat,parsed;if(!v){return null}if(Ext.isDate(v)){return v}if(df){if(df=="timestamp"){return new Date(v*1000)}if(df=="time"){return new Date(parseInt(v,10))}return Ext.Date.parse(v,df)}parsed=Date.parse(v);return parsed?new Date(parsed):null},sortType:st.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",isField:true,constructor:function(config){var me=this,types=Ext.data.Types,st;if(Ext.isString(config)){config={name:config}}Ext.apply(me,config);st=me.sortType;if(me.type){if(Ext.isString(me.type)){me.type=types[me.type.toUpperCase()]||types.AUTO}}else{me.type=types.AUTO}if(Ext.isString(st)){me.sortType=Ext.data.SortTypes[st]}else{if(Ext.isEmpty(st)){me.sortType=me.type.sortType}}if(!config.hasOwnProperty("convert")){me.convert=me.type.convert}else{if(!me.convert&&me.type.convert&&!config.hasOwnProperty("defaultValue")){me.defaultValue=me.type.convert(me.defaultValue)}}if(config.convert){me.hasCustomConvert=true}},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true,persist:true});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(fieldName){var errors=[],error,field,i;for(i=0;i1){if(me.action=="update"||clientRecords[0].clientIdProperty){mc=new Ext.util.MixedCollection();mc.addAll(serverRecords);for(index=clientRecords.length;index--;){clientRec=clientRecords[index];serverRec=mc.findBy(me.matchClientRec,clientRec);clientRec.copyFrom(serverRec)}}else{for(i=0,len=clientRecords.length;imax)){return false}else{return true}},email:function(config,email){return Ext.data.validations.emailRe.test(email)},format:function(config,value){return !!(config.matcher&&config.matcher.test(value))},inclusion:function(config,value){return config.list&&Ext.Array.indexOf(config.list,value)!=-1},exclusion:function(config,value){return config.list&&Ext.Array.indexOf(config.list,value)==-1}});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.IdGenerator","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.util.MixedCollection"],compareConvertFields:function(f1,f2){var f1SpecialConvert=f1.convert&&f1.type&&f1.convert!==f1.type.convert,f2SpecialConvert=f2.convert&&f2.type&&f2.convert!==f2.type.convert;if(f1SpecialConvert&&!f2SpecialConvert){return 1}if(!f1SpecialConvert&&f2SpecialConvert){return -1}return 0},itemNameFn:function(item){return item.name},onClassExtended:function(cls,data,hooks){var onBeforeClassCreated=hooks.onBeforeCreated;hooks.onBeforeCreated=function(cls,data){var me=this,name=Ext.getClassName(cls),prototype=cls.prototype,superCls=cls.prototype.superclass,validations=data.validations||[],fields=data.fields||[],field,associationsConfigs=data.associations||[],addAssociations=function(items,type){var i=0,len,item;if(items){items=Ext.Array.from(items);for(len=items.length;i0;delete me.modifiedSave;delete me.dataSave;delete me.dirtySave;if(changed&&silent!==true){me.afterEdit(modifiedFieldNames)}}},getModifiedFieldNames:function(){var me=this,saved=me.dataSave,data=me[me.persistenceProperty],modified=[],key;for(key in data){if(data.hasOwnProperty(key)){if(!me.isEqual(data[key],saved[key])){modified.push(key)}}}return modified},getChanges:function(){var modified=this.modified,changes={},field;for(field in modified){if(modified.hasOwnProperty(field)){changes[field]=this.get(field)}}return changes},isModified:function(fieldName){return this.modified.hasOwnProperty(fieldName)},setDirty:function(){var me=this,fields=me.fields.items,fLen=fields.length,field,name,f;me.dirty=true;for(f=0;f0){associatedRecords=associatedStore.data.items;associatedRecordCount=associatedRecords.length;for(j=0;jhorz.maxSize){widthModel=sizeModels.constrainedMax;width=horz.maxSize}else{width=size}}}if(publishHeight){size=vert.size;if(sizevert.maxSize){heightModel=sizeModels.constrainedMax;height=vert.maxSize}else{if(!ownerContext.collapsedVert&&!this.owner.manageHeight){dirty=false;ownerContext.bodyContext.setProp("margin-bottom",vert.dockedPixelsEnd)}height=size}}}if(widthModel||heightModel){if(widthModel&&heightModel&&widthModel.constrainedMax&&heightModel.constrainedMin){ownerContext.invalidate({widthModel:widthModel});return false}if(!ownerContext.widthModel.calculatedFromShrinkWrap&&!ownerContext.heightModel.calculatedFromShrinkWrap){ownerContext.invalidate({widthModel:widthModel,heightModel:heightModel});return false}}if(publishWidth){ownerContext.setWidth(width);if(widthModel){ownerContext.widthModel=widthModel}}if(publishHeight){ownerContext.setHeight(height,dirty);if(heightModel){ownerContext.heightModel=heightModel}}return true},finishPositions:function(ownerContext,horz,vert){var dockedItems=ownerContext.dockedItems,length=dockedItems.length,deltaX=horz.delta,deltaY=vert.delta,index,itemContext;for(index=0;index/,constructor:function(){this.callParent(arguments);this.hackWidth=Ext.isIE&&(!Ext.isStrict||Ext.isIE6||Ext.isIE7||Ext.isIE8);this.heightIncludesPadding=Ext.isIE6&&Ext.isStrict},beginLayout:function(ownerContext){this.callParent(arguments);this.cacheTargetInfo(ownerContext)},beginLayoutCycle:function(ownerContext){var me=this,empty="",owner=me.owner,btnEl=owner.btnEl,btnInnerEl=owner.btnInnerEl,text=owner.text,htmlAutoHeight;me.callParent(arguments);btnInnerEl.setStyle("overflow",empty);if(!ownerContext.widthModel.natural){owner.el.setStyle("width",empty)}htmlAutoHeight=ownerContext.heightModel.shrinkWrap&&text&&me.htmlRE.test(text);btnEl.setStyle("width",empty);btnEl.setStyle("height",htmlAutoHeight?"auto":empty);btnInnerEl.setStyle("width",empty);btnInnerEl.setStyle("height",htmlAutoHeight?"auto":empty);btnInnerEl.setStyle("line-height",htmlAutoHeight?"normal":empty);btnInnerEl.setStyle("padding-top",empty);owner.btnIconEl.setStyle("width",empty)},calculateOwnerHeightFromContentHeight:function(ownerContext,contentHeight){return contentHeight},calculateOwnerWidthFromContentWidth:function(ownerContext,contentWidth){return contentWidth},measureContentWidth:function(ownerContext){var me=this,owner=me.owner,btnEl=owner.btnEl,btnInnerEl=owner.btnInnerEl,text=owner.text,btnFrameWidth,metrics,sizeIconEl,width,btnElContext,btnInnerElContext;if(owner.text&&me.hackWidth&&btnEl){btnFrameWidth=me.btnFrameWidth;if(text.indexOf(">")===-1){text=text.replace(/=0){btnInnerItem.setProp("line-height",btnHeight-btnFrameHeight+"px")}if(text&&me.htmlRE.test(text)){btnInnerItem.setProp("line-height","normal");btnInnerEl.setStyle("line-height","normal");textHeight=Ext.util.TextMetrics.measure(btnInnerEl,text).height;paddingTop=Math.floor(Math.max(btnHeight-btnFrameHeight-textHeight,0)/2);btnInnerItem.setProp("padding-top",me.btnFrameTop+paddingTop);btnInnerItem.setHeight(btnHeight-(me.heightIncludesPadding?paddingTop:0))}},publishInnerWidth:function(ownerContext,width){var me=this,isNum=Ext.isNumber,btnItem=ownerContext.getEl("btnEl"),btnInnerItem=ownerContext.getEl("btnInnerEl"),btnWidth=isNum(width)?width-me.adjWidth:width;btnItem.setWidth(btnWidth);btnInnerItem.setWidth(btnWidth)},clearTargetCache:function(){delete this.adjWidth},cacheTargetInfo:function(ownerContext){var me=this,owner=me.owner,scale=owner.scale,padding,frameSize,btnWrapPadding,btnInnerEl,innerFrameSize;if(!("adjWidth" in me)||me.lastScale!==scale){if(me.lastScale){owner.btnInnerEl.setStyle("line-height","")}me.lastScale=scale;padding=ownerContext.getPaddingInfo();frameSize=ownerContext.getFrameInfo();btnWrapPadding=ownerContext.getEl("btnWrap").getPaddingInfo();btnInnerEl=ownerContext.getEl("btnInnerEl");innerFrameSize=btnInnerEl.getPaddingInfo();Ext.apply(me,{adjWidth:btnWrapPadding.width+frameSize.width+padding.width,adjHeight:btnWrapPadding.height+frameSize.height+padding.height,btnFrameWidth:innerFrameSize.width,btnFrameHeight:innerFrameSize.height,btnFrameTop:innerFrameSize.top,minTextHeight:parseInt(btnInnerEl.getStyle("line-height"),10)})}me.callParent(arguments)},finishedLayout:function(){var owner=this.owner;this.callParent(arguments);if(Ext.isWebKit){owner.el.dom.offsetWidth}}});Ext.define("Ext.menu.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.util.KeyMap"],alternateClassName:"Ext.menu.MenuMgr",uses:["Ext.menu.Menu"],menus:{},groups:{},attached:false,lastShow:new Date(),init:function(){var me=this;me.active=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(me.active.length>0){me.hideAll()}},me)},hideAll:function(){var active=this.active,clone,menus,m,mLen;if(active&&active.length>0){clone=active.clone();menus=clone.items;mLen=menus.length;for(m=0;m50&&active.length>0&&!e.getTarget("."+Ext.baseCSSPrefix+"menu")){me.hideAll()}},register:function(menu){var me=this;if(!me.active){me.init()}if(menu.floating){me.menus[menu.id]=menu;menu.on({beforehide:me.onBeforeHide,hide:me.onHide,beforeshow:me.onBeforeShow,show:me.onShow,scope:me})}},get:function(menu){var menus=this.menus;if(typeof menu=="string"){if(!menus){return null}return menus[menu]}else{if(menu.isMenu){return menu}else{if(Ext.isArray(menu)){return new Ext.menu.Menu({items:menu})}else{return Ext.ComponentManager.create(menu,"menu")}}}},unregister:function(menu){var me=this,menus=me.menus,active=me.active;delete menus[menu.id];active.remove(menu);menu.un({beforehide:me.onBeforeHide,hide:me.onHide,beforeshow:me.onBeforeShow,show:me.onShow,scope:me})},registerCheckable:function(menuItem){var groups=this.groups,groupId=menuItem.group;if(groupId){if(!groups[groupId]){groups[groupId]=[]}groups[groupId].push(menuItem)}},unregisterCheckable:function(menuItem){var groups=this.groups,groupId=menuItem.group;if(groupId){Ext.Array.remove(groups[groupId],menuItem)}},onCheckChange:function(menuItem,state){var groups=this.groups,groupId=menuItem.group,i=0,group,ln,curr;if(groupId&&state){group=groups[groupId];ln=group.length;for(;i class="{splitCls}">','',' tabIndex="{tabIndex}"',' disabled="disabled"',' role="link">','',"{text}","",' style="background-image:url({iconUrl})">',"","",'","","",'','',""],scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,persistentPadding:undefined,shrinkWrap:3,frame:true,initComponent:function(){var me=this;me.callParent(arguments);me.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(me.menu){me.split=true;me.menu=Ext.menu.Manager.get(me.menu);me.menu.ownerButton=me}if(me.url){me.href=me.url}if(me.href&&!me.hasOwnProperty("preventDefault")){me.preventDefault=false}if(Ext.isString(me.toggleGroup)&&me.toggleGroup!==""){me.enableToggle=true}if(me.html&&!me.text){me.text=me.html;delete me.html}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.useElForFocus?this.el:this.btnEl},onFocus:function(e){var me=this;me.useElForFocus=true;me.callParent(arguments);me.useElForFocus=false},onBlur:function(e){this.useElForFocus=true;this.callParent(arguments);this.useElForFocus=false},onDisable:function(){this.useElForFocus=true;this.callParent(arguments);this.useElForFocus=false},setComponentCls:function(){var me=this,cls=me.getComponentCls();if(!Ext.isEmpty(me.oldCls)){me.removeClsWithUI(me.oldCls);me.removeClsWithUI(me.pressedCls)}me.oldCls=cls;me.addClsWithUI(cls)},getComponentCls:function(){var me=this,cls=[];if(me.iconCls||me.icon){if(me.text){cls.push("icon-text-"+me.iconAlign)}else{cls.push("icon")}}else{if(me.text){cls.push("noicon")}}if(me.pressed){cls.push(me.pressedCls)}return cls},beforeRender:function(){var me=this;me.callParent();me.oldCls=me.getComponentCls();me.addClsWithUI(me.oldCls);Ext.applyIf(me.renderData,me.getTemplateArgs());if(me.scale){me.setScale(me.scale)}},onRender:function(){var me=this,addOnclick,btn,btnListeners;me.doc=Ext.getDoc();me.callParent(arguments);if(me.split&&me.arrowTooltip){me.arrowEl.dom.setAttribute(me.getTipAttr(),me.arrowTooltip)}btn=me.el;if(me.tooltip){me.setTooltip(me.tooltip,true)}if(me.handleMouseEvents){btnListeners={scope:me,mouseover:me.onMouseOver,mouseout:me.onMouseOut,mousedown:me.onMouseDown};if(me.split){btnListeners.mousemove=me.onMouseMove}}else{btnListeners={scope:me}}if(me.menu){me.mon(me.menu,{scope:me,show:me.onMenuShow,hide:me.onMenuHide});me.keyMap=new Ext.util.KeyMap({target:me.el,key:Ext.EventObject.DOWN,handler:me.onDownKey,scope:me})}if(me.repeat){me.mon(new Ext.util.ClickRepeater(btn,Ext.isObject(me.repeat)?me.repeat:{}),"click",me.onRepeatClick,me)}else{if(btnListeners[me.clickEvent]){addOnclick=true}else{btnListeners[me.clickEvent]=me.onClick}}me.mon(btn,btnListeners);if(addOnclick){me.mon(btn,me.clickEvent,me.onClick,me)}Ext.ButtonToggleManager.register(me)},getTemplateArgs:function(){var me=this,persistentPadding=me.getPersistentPadding(),innerSpanStyle="";if(Math.max.apply(Math,persistentPadding)>0){innerSpanStyle="margin:"+Ext.Array.map(persistentPadding,function(pad){return -pad+"px"}).join(" ")}return{href:me.getHref(),disabled:me.disabled,hrefTarget:me.hrefTarget,type:me.type,btnCls:me.getBtnCls(),splitCls:me.getSplitCls(),iconUrl:me.icon,iconCls:me.iconCls,text:me.text||" ",tabIndex:me.tabIndex,innerSpanStyle:innerSpanStyle}},getHref:function(){var me=this,params=Ext.apply({},me.baseParams);params=Ext.apply(params,me.params);return me.href?Ext.urlAppend(me.href,Ext.Object.toQueryString(params)):false},setParams:function(params){this.params=params;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var me=this;return me.split?(me.baseCls+"-"+me.arrowCls)+" "+(me.baseCls+"-"+me.arrowCls+"-"+me.arrowAlign):""},getBtnCls:function(){return this.textAlign?this.baseCls+"-"+this.textAlign:""},setIconCls:function(cls){var me=this,btnIconEl=me.btnIconEl,oldCls=me.iconCls;me.iconCls=cls;if(btnIconEl){btnIconEl.removeCls(oldCls);btnIconEl.addCls(cls||"");me.setComponentCls();if(me.didIconStateChange(oldCls,cls)){me.updateLayout()}}return me},setTooltip:function(tooltip,initial){var me=this;if(me.rendered){if(!initial){me.clearTip()}if(Ext.isObject(tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:me.btnEl.id},tooltip));me.tooltip=tooltip}else{me.btnEl.dom.setAttribute(me.getTipAttr(),tooltip)}}else{me.tooltip=tooltip}return me},setTextAlign:function(align){var me=this,btnEl=me.btnEl;if(btnEl){btnEl.removeCls(me.baseCls+"-"+me.textAlign);btnEl.addCls(me.baseCls+"-"+align)}me.textAlign=align;return me},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(deep){var menu=this.menu,items;if(menu){items=menu.getRefItems(deep);items.unshift(menu)}return items||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var me=this;if(me.rendered){me.clearTip()}if(me.menu&&me.destroyMenu!==false){Ext.destroy(me.menu)}Ext.destroy(me.btnInnerEl,me.repeater);me.callParent()},onDestroy:function(){var me=this;if(me.rendered){me.doc.un("mouseover",me.monitorMouseOver,me);me.doc.un("mouseup",me.onMouseUp,me);delete me.doc;Ext.ButtonToggleManager.unregister(me);Ext.destroy(me.keyMap);delete me.keyMap}me.callParent()},setHandler:function(handler,scope){this.handler=handler;this.scope=scope;return this},setText:function(text){var me=this;me.text=text;if(me.rendered){me.btnInnerEl.update(text||" ");me.setComponentCls();if(Ext.isStrict&&Ext.isIE8){me.el.repaint()}me.updateLayout()}return me},setIcon:function(icon){var me=this,btnIconEl=me.btnIconEl,oldIcon=me.icon;me.icon=icon;if(btnIconEl){btnIconEl.setStyle("background-image",icon?"url("+icon+")":"");me.setComponentCls();if(me.didIconStateChange(oldIcon,icon)){me.updateLayout()}}return me},didIconStateChange:function(old,current){var currentEmpty=Ext.isEmpty(current);return Ext.isEmpty(old)?!currentEmpty:currentEmpty},getText:function(){return this.text},toggle:function(state,suppressEvent){var me=this;state=state===undefined?!me.pressed:!!state;if(state!==me.pressed){if(me.rendered){me[state?"addClsWithUI":"removeClsWithUI"](me.pressedCls)}me.pressed=state;if(!suppressEvent){me.fireEvent("toggle",me,state);Ext.callback(me.toggleHandler,me.scope||me,[me,state])}}return me},maybeShowMenu:function(){var me=this;if(me.menu&&!me.hasVisibleMenu()&&!me.ignoreNextClick){me.showMenu()}},showMenu:function(){var me=this;if(me.rendered&&me.menu){if(me.tooltip&&me.getTipAttr()!="title"){Ext.tip.QuickTipManager.getQuickTip().cancelShow(me.btnEl)}if(me.menu.isVisible()){me.menu.hide()}me.menu.showBy(me.el,me.menuAlign,((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)?[-2,-2]:undefined)}return me},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var menu=this.menu;return menu&&menu.rendered&&menu.isVisible()},onRepeatClick:function(repeat,e){this.onClick(e)},onClick:function(e){var me=this;if(me.preventDefault||(me.disabled&&me.getHref())&&e){e.preventDefault()}if(e.button!==0){return}if(!me.disabled){me.doToggle();me.maybeShowMenu();me.fireHandler(e)}},fireHandler:function(e){var me=this,handler=me.handler;if(me.fireEvent("click",me,e)!==false){if(handler){handler.call(me.scope||me,me,e)}me.blur()}},doToggle:function(){var me=this;if(me.enableToggle&&(me.allowDepress!==false||!me.pressed)){me.toggle()}},onMouseOver:function(e){var me=this;if(!me.disabled&&!e.within(me.el,true,true)){me.onMouseEnter(e)}},onMouseOut:function(e){var me=this;if(!e.within(me.el,true,true)){if(me.overMenuTrigger){me.onMenuTriggerOut(e)}me.onMouseLeave(e)}},onMouseMove:function(e){var me=this,el=me.el,over=me.overMenuTrigger,overlap,btnSize;if(me.split){if(me.arrowAlign==="right"){overlap=e.getX()-el.getX();btnSize=el.getWidth()}else{overlap=e.getY()-el.getY();btnSize=el.getHeight()}if(overlap>(btnSize-me.getTriggerSize())){if(!over){me.onMenuTriggerOver(e)}}else{if(over){me.onMenuTriggerOut(e)}}}},getTriggerSize:function(){var me=this,size=me.triggerSize,side,sideFirstLetter,undef;if(size===undef){side=me.arrowAlign;sideFirstLetter=side.charAt(0);size=me.triggerSize=me.el.getFrameWidth(sideFirstLetter)+me.btnWrap.getFrameWidth(sideFirstLetter)+me.frameSize[side]}return size},onMouseEnter:function(e){var me=this;me.addClsWithUI(me.overCls);me.fireEvent("mouseover",me,e)},onMouseLeave:function(e){var me=this;me.removeClsWithUI(me.overCls);me.fireEvent("mouseout",me,e)},onMenuTriggerOver:function(e){var me=this;me.overMenuTrigger=true;me.fireEvent("menutriggerover",me,me.menu,e)},onMenuTriggerOut:function(e){var me=this;delete me.overMenuTrigger;me.fireEvent("menutriggerout",me,me.menu,e)},enable:function(silent){var me=this;me.callParent(arguments);if(me.btnEl){me.btnEl.dom.disabled=false}me.removeClsWithUI("disabled");return me},disable:function(silent){var me=this;me.callParent(arguments);if(me.btnEl){me.btnEl.dom.disabled=true}me.addClsWithUI("disabled");me.removeClsWithUI(me.overCls);if(me.btnInnerEl&&(Ext.isIE6||Ext.isIE7)){me.btnInnerEl.repaint()}return me},setScale:function(scale){var me=this,ui=me.ui.replace("-"+me.scale,"");if(!Ext.Array.contains(me.allowedScales,scale)){throw ("#setScale: scale must be an allowed scale ("+me.allowedScales.join(", ")+")")}me.scale=scale;me.setUI(ui)},setUI:function(ui){var me=this;if(me.scale&&!ui.match(me.scale)){ui=ui+"-"+me.scale}me.callParent([ui])},onMouseDown:function(e){var me=this;if(!me.disabled&&e.button===0){me.addClsWithUI(me.pressedCls);me.doc.on("mouseup",me.onMouseUp,me)}},onMouseUp:function(e){var me=this;if(e.button===0){if(!me.pressed){me.removeClsWithUI(me.pressedCls)}me.doc.un("mouseup",me.onMouseUp,me)}},onMenuShow:function(e){var me=this;me.ignoreNextClick=0;me.addClsWithUI(me.menuActiveCls);me.fireEvent("menushow",me,me.menu)},onMenuHide:function(e){var me=this;me.removeClsWithUI(me.menuActiveCls);me.ignoreNextClick=Ext.defer(me.restoreClick,250,me);me.fireEvent("menuhide",me,me.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var me=this;if(!me.disabled){if(me.menu){me.showMenu()}}},getPersistentPadding:function(){var me=this,reset=Ext.scopeResetCSS,padding=me.persistentPadding,btn,leftTop,btnEl,btnInnerEl,wrap;if(!padding){padding=me.self.prototype.persistentPadding=[0,0,0,0];if(!Ext.isIE){btn=new Ext.button.Button({text:"test",style:"position:absolute;top:-999px;"});btn.el=Ext.DomHelper.append(Ext.resetElement,btn.getRenderTree(),true);btn.applyChildEls(btn.el);btnEl=btn.btnEl;btnInnerEl=btn.btnInnerEl;btnEl.setSize(null,null);leftTop=btnInnerEl.getOffsetsTo(btnEl);padding[0]=leftTop[1];padding[1]=btnEl.getWidth()-btnInnerEl.getWidth()-leftTop[0];padding[2]=btnEl.getHeight()-btnInnerEl.getHeight()-leftTop[1];padding[3]=leftTop[0];btn.destroy();btn.el.remove()}}return padding}},function(){var groups={},toggleGroup=function(btn,state){if(state){var g=groups[btn.toggleGroup],length=g.length,i;for(i=0;i(None)',constructor:function(layout){var me=this;me.callParent(arguments);me.triggerButtonCls=me.triggerButtonCls||Ext.baseCSSPrefix+"box-menu-"+layout.getNames().right;me.menuItems=[]},beginLayout:function(ownerContext){this.callParent(arguments);this.clearOverflow(ownerContext)},beginLayoutCycle:function(ownerContext,firstCycle){this.callParent(arguments);if(!firstCycle){this.clearOverflow(ownerContext);this.layout.cacheChildItems(ownerContext)}},onRemove:function(comp){Ext.Array.remove(this.menuItems,comp)},getSuffixConfig:function(){var me=this,layout=me.layout,oid=layout.owner.id;me.menu=new Ext.menu.Menu({listeners:{scope:me,beforeshow:me.beforeMenuShow}});me.menuTrigger=new Ext.button.Button({id:oid+"-menu-trigger",cls:Ext.layout.container.Box.prototype.innerCls+" "+me.triggerButtonCls,hidden:true,ownerCt:layout.owner,ownerLayout:layout,iconCls:Ext.baseCSSPrefix+me.getOwnerType(layout.owner)+"-more-icon",ui:layout.owner instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:me.menu,getSplitCls:function(){return""}});return me.menuTrigger.getRenderTree()},getOverflowCls:function(){return Ext.baseCSSPrefix+this.layout.direction+"-box-overflow-body"},handleOverflow:function(ownerContext){var me=this,layout=me.layout,names=layout.getNames(),plan=ownerContext.state.boxPlan,posArgs=[null,null];me.showTrigger(ownerContext);posArgs[names.heightIndex]=(plan.maxSize-me.menuTrigger[names.getHeight]())/2;me.menuTrigger.setPosition.apply(me.menuTrigger,posArgs);return{reservedSpace:me.menuTrigger[names.getWidth]()}},captureChildElements:function(){var menuTrigger=this.menuTrigger;if(menuTrigger.rendering){menuTrigger.finishRender()}},_asLayoutRoot:{isRoot:true},clearOverflow:function(ownerContext){var me=this,items=me.menuItems,item,i=0,length=items.length,owner=me.layout.owner,asLayoutRoot=me._asLayoutRoot;owner.suspendLayouts();me.captureChildElements();me.hideTrigger();owner.resumeLayouts();for(;iavailable){comp=childContext.target;me.menuItems.push(comp);comp.hide()}}owner.resumeLayouts()},hideTrigger:function(){var menuTrigger=this.menuTrigger;if(menuTrigger){menuTrigger.hide()}},beforeMenuShow:function(menu){var me=this,items=me.menuItems,i=0,len=items.length,item,prev,needsSep=function(group,prev){return group.isXType("buttongroup")&&!(prev instanceof Ext.toolbar.Separator)};menu.suspendLayouts();me.clearMenu();menu.removeAll();for(;i=this.getMaxScrollPosition()},scrollTo:function(position,animate){var me=this,layout=me.layout,names=layout.getNames(),oldPosition=me.getScrollPosition(),newPosition=Ext.Number.constrain(position,0,me.getMaxScrollPosition());if(newPosition!=oldPosition&&!me.scrolling){delete me.scrollPosition;if(animate===undefined){animate=me.animateScroll}layout.innerCt.scrollTo(names.left,newPosition,animate?me.getScrollAnim():false);if(animate){me.scrolling=true}else{me.updateScrollButtons()}me.fireEvent("scroll",me,newPosition,animate?me.getScrollAnim():false)}},scrollToItem:function(item,animate){var me=this,layout=me.layout,names=layout.getNames(),visibility,box,newPos;item=me.getItem(item);if(item!==undefined){visibility=me.getItemVisibility(item);if(!visibility.fullyVisible){box=item.getBox(true,true);newPos=box[names.x];if(visibility.hiddenEnd){newPos-=(me.layout.innerCt["get"+names.widthCap]()-box[names.width])}me.scrollTo(newPos,animate)}}},getItemVisibility:function(item){var me=this,box=me.getItem(item).getBox(true,true),layout=me.layout,names=layout.getNames(),itemStart=box[names.x],itemEnd=itemStart+box[names.width],scrollStart=me.getScrollPosition(),scrollEnd=scrollStart+layout.innerCt["get"+names.widthCap]();return{hiddenStart:itemStartscrollEnd,fullyVisible:itemStart>scrollStart&&itemEnd=me.x&®ion.right<=me.right&®ion.y>=me.y&®ion.bottom<=me.bottom)},intersect:function(region){var me=this,t=Math.max(me.y,region.y),r=Math.min(me.right,region.right),b=Math.min(me.bottom,region.bottom),l=Math.max(me.x,region.x);if(b>t&&r>l){return new this.self(t,r,b,l)}else{return false}},union:function(region){var me=this,t=Math.min(me.y,region.y),r=Math.max(me.right,region.right),b=Math.max(me.bottom,region.bottom),l=Math.min(me.x,region.x);return new this.self(t,r,b,l)},constrainTo:function(r){var me=this,constrain=Ext.Number.constrain;me.top=me.y=constrain(me.top,r.y,r.bottom);me.bottom=constrain(me.bottom,r.y,r.bottom);me.left=me.x=constrain(me.left,r.x,r.right);me.right=constrain(me.right,r.x,r.right);return me},adjust:function(t,r,b,l){var me=this;me.top=me.y+=t;me.left=me.x+=l;me.right+=r;me.bottom+=b;return me},getOutOfBoundOffset:function(axis,p){if(!Ext.isObject(axis)){if(axis=="x"){return this.getOutOfBoundOffsetX(p)}else{return this.getOutOfBoundOffsetY(p)}}else{p=axis;var d=new Ext.util.Offset();d.x=this.getOutOfBoundOffsetX(p.x);d.y=this.getOutOfBoundOffsetY(p.y);return d}},getOutOfBoundOffsetX:function(p){if(p<=this.x){return this.x-p}else{if(p>=this.right){return this.right-p}}return 0},getOutOfBoundOffsetY:function(p){if(p<=this.y){return this.y-p}else{if(p>=this.bottom){return this.bottom-p}}return 0},isOutOfBound:function(axis,p){if(!Ext.isObject(axis)){if(axis=="x"){return this.isOutOfBoundX(p)}else{return this.isOutOfBoundY(p)}}else{p=axis;return(this.isOutOfBoundX(p.x)||this.isOutOfBoundY(p.y))}},isOutOfBoundX:function(p){return(pthis.right)},isOutOfBoundY:function(p){return(pthis.bottom)},restrict:function(axis,p,factor){if(Ext.isObject(axis)){var newP;factor=p;p=axis;if(p.copy){newP=p.copy()}else{newP={x:p.x,y:p.y}}newP.x=this.restrictX(p.x,factor);newP.y=this.restrictY(p.y,factor);return newP}else{if(axis=="x"){return this.restrictX(p,factor)}else{return this.restrictY(p,factor)}}},restrictX:function(p,factor){if(!factor){factor=1}if(p<=this.x){p-=(p-this.x)*factor}else{if(p>=this.right){p-=(p-this.right)*factor}}return p},restrictY:function(p,factor){if(!factor){factor=1}if(p<=this.y){p-=(p-this.y)*factor}else{if(p>=this.bottom){p-=(p-this.bottom)*factor}}return p},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(p){var me=this;me.top=me.y=me[1]=p.y;me.right=p.right;me.bottom=p.bottom;me.left=me.x=me[0]=p.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(x,y){if(arguments.length==1){y=x.y;x=x.x}var me=this;me.top=me.y+=y;me.right+=x;me.bottom+=y;me.left=me.x+=x;return me},round:function(){var me=this;me.top=me.y=Math.round(me.y);me.right=Math.round(me.right);me.bottom=Math.round(me.bottom);me.left=me.x=Math.round(me.x);return me},equals:function(region){return(this.top==region.top&&this.right==region.right&&this.bottom==region.bottom&&this.left==region.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,notifyOccluded:false,_execOnAll:function(sMethod,args){var i,j,oDD;for(i in this.ids){for(j in this.ids[i]){oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue}oDD[sMethod].apply(oDD,args)}}},_onLoad:function(){this.init();var Event=Ext.EventManager;Event.on(document,"mouseup",this.handleMouseUp,this,true);Event.on(document,"mousemove",this.handleMouseMove,this,true);Event.on(window,"unload",this._onUnload,this,true);Event.on(window,"resize",this._onResize,this,true)},_onResize:function(e){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(oDD,sGroup){if(!this.initialized){this.init()}if(!this.ids[sGroup]){this.ids[sGroup]={}}this.ids[sGroup][oDD.id]=oDD},removeDDFromGroup:function(oDD,sGroup){if(!this.ids[sGroup]){this.ids[sGroup]={}}var obj=this.ids[sGroup];if(obj&&obj[oDD.id]){delete obj[oDD.id]}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g]&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id]}}delete this.handleIds[oDD.id]},regHandle:function(sDDId,sHandleId){if(!this.handleIds[sDDId]){this.handleIds[sDDId]={}}this.handleIds[sDDId][sHandleId]=sHandleId},isDragDrop:function(id){return(this.getDDById(id))?true:false},getRelated:function(p_oDD,bTargetsOnly){var oDDs=[],i,j,dd;for(i in p_oDD.groups){for(j in this.ids[i]){dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue}if(!bTargetsOnly||dd.isTarget){oDDs[oDDs.length]=dd}}}return oDDs},isLegalTarget:function(oDD,oTargetDD){var targets=this.getRelated(oDD,true),i,len;for(i=0,len=targets.length;ime.clickPixelThresh||diffY>me.clickPixelThresh){me.startDrag(me.startX,me.startY)}}if(me.dragThreshMet){me.dragCurrent.b4Drag(e);me.dragCurrent.onDrag(e);if(!me.dragCurrent.moveOnly){me.fireEvents(e,false)}}me.stopEvent(e);return true},fireEvents:function(e,isDrop){var me=this,dragCurrent=me.dragCurrent,mousePoint=e.getPoint(),overTarget,overTargetEl,allTargets=[],oldOvers=[],outEvts=[],overEvts=[],dropEvts=[],enterEvts=[],needsSort,i,len,sGroup;if(!dragCurrent||dragCurrent.isLocked()){return}for(i in me.dragOvers){overTarget=me.dragOvers[i];if(!me.isTypeOfDD(overTarget)){continue}if(!this.isOverTarget(mousePoint,overTarget,me.mode)){outEvts.push(overTarget)}oldOvers[i]=true;delete me.dragOvers[i]}for(sGroup in dragCurrent.groups){if("string"!=typeof sGroup){continue}for(i in me.ids[sGroup]){overTarget=me.ids[sGroup][i];if(me.isTypeOfDD(overTarget)&&(overTargetEl=overTarget.getEl())&&(overTarget.isTarget)&&(!overTarget.isLocked())&&(Ext.fly(overTargetEl).isVisible(true))&&((overTarget!=dragCurrent)||(dragCurrent.ignoreSelf===false))){if((overTarget.zIndex=me.getZIndex(overTargetEl))!==-1){needsSort=true}allTargets.push(overTarget)}}}if(needsSort){Ext.Array.sort(allTargets,me.byZIndex)}for(i=0,len=allTargets.length;i','
',"{%this.renderBody(out, values)%}","
","","{%if (oh.getSuffixConfig!==Ext.emptyFn) {","if(oc=oh.getSuffixConfig())dh.generateMarkup(oc, out)","}%}",{disableFormats:true,definitions:"var dh=Ext.DomHelper;"}],constructor:function(config){var me=this,type;me.callParent(arguments);me.flexSortFn=Ext.Function.bind(me.flexSort,me);me.initOverflowHandler();type=typeof me.padding;if(type=="string"||type=="number"){me.padding=Ext.util.Format.parseBox(me.padding);me.padding.height=me.padding.top+me.padding.bottom;me.padding.width=me.padding.left+me.padding.right}},getNames:function(){return this.names},_percentageRe:/^\s*(\d+(?:\.\d*)?)\s*[%]\s*$/,getItemSizePolicy:function(item,ownerSizeModel){var me=this,policy=me.sizePolicy,align=me.align,flex=item.flex,key=align,names=me.names,width=item[names.width],height=item[names.height],percentageRe=me._percentageRe,percentageWidth=percentageRe.test(width),isStretch=(align=="stretch");if((isStretch||flex||percentageWidth)&&!ownerSizeModel){ownerSizeModel=me.owner.getSizeModel()}if(isStretch){if(!percentageRe.test(height)&&ownerSizeModel[names.height].shrinkWrap){key="stretchmax"}}else{if(align!="stretchmax"){if(percentageRe.test(height)){key="stretch"}else{key=""}}}if(flex||percentageWidth){if(!ownerSizeModel[names.width].shrinkWrap){policy=policy.flex}}return policy[key]},flexSort:function(a,b){var maxWidthName=this.getNames().maxWidth,infiniteValue=Infinity;a=a.target[maxWidthName]||infiniteValue;b=b.target[maxWidthName]||infiniteValue;if(!isFinite(a)&&!isFinite(b)){return 0}return a-b},isItemBoxParent:function(itemContext){return true},isItemShrinkWrap:function(item){return true},minSizeSortFn:function(a,b){return b.available-a.available},roundFlex:function(width){return Math.ceil(width)},beginCollapse:function(child){var me=this;if(me.direction==="vertical"&&child.collapsedVertical()){child.collapseMemento.capture(["flex"]);delete child.flex}else{if(me.direction==="horizontal"&&child.collapsedHorizontal()){child.collapseMemento.capture(["flex"]);delete child.flex}}},beginExpand:function(child){child.collapseMemento.restore(["flex"])},beginLayout:function(ownerContext){var me=this,smp=me.owner.stretchMaxPartner,style=me.innerCt.dom.style,names=me.getNames();ownerContext.boxNames=names;me.overflowHandler.beginLayout(ownerContext);if(typeof smp==="string"){smp=Ext.getCmp(smp)||me.owner.query(smp)[0]}ownerContext.stretchMaxPartner=smp&&ownerContext.context.getCmp(smp);me.callParent(arguments);ownerContext.innerCtContext=ownerContext.getEl("innerCt",me);me.scrollParallel=!!(me.owner.autoScroll||me.owner[names.overflowX]);me.scrollPerpendicular=!!(me.owner.autoScroll||me.owner[names.overflowY]);if(me.scrollParallel){me.scrollPos=me.owner.getTargetEl().dom[names.scrollLeft]}style.width="";style.height=""},beginLayoutCycle:function(ownerContext,firstCycle){var me=this,align=me.align,names=ownerContext.boxNames,pack=me.pack,heightModelName=names.heightModel;me.overflowHandler.beginLayoutCycle(ownerContext,firstCycle);me.callParent(arguments);ownerContext.parallelSizeModel=ownerContext[names.widthModel];ownerContext.perpendicularSizeModel=ownerContext[heightModelName];ownerContext.boxOptions={align:align={stretch:align=="stretch",stretchmax:align=="stretchmax",center:align==names.center},pack:pack={center:pack=="center",end:pack=="end"}};if(align.stretch&&ownerContext.perpendicularSizeModel.shrinkWrap){align.stretchmax=true;align.stretch=false}align.nostretch=!(align.stretch||align.stretchmax);if(ownerContext.parallelSizeModel.shrinkWrap){pack.center=pack.end=false}me.cacheFlexes(ownerContext);if(Ext.isWebKit){me.targetEl.setWidth(20000)}},cacheFlexes:function(ownerContext){var me=this,names=ownerContext.boxNames,widthModelName=names.widthModel,heightModelName=names.heightModel,nostretch=ownerContext.boxOptions.align.nostretch,totalFlex=0,childItems=ownerContext.childItems,i=childItems.length,flexedItems=[],minWidth=0,minWidthName=names.minWidth,percentageRe=me._percentageRe,percentageWidths=0,percentageHeights=0,child,childContext,flex,match;while(i--){childContext=childItems[i];child=childContext.target;if(childContext[widthModelName].calculated){childContext.flex=flex=child.flex;if(flex){totalFlex+=flex;flexedItems.push(childContext);minWidth+=child[minWidthName]||0}else{match=percentageRe.exec(child[names.width]);childContext.percentageParallel=parseFloat(match[1])/100;++percentageWidths}}if(nostretch&&childContext[heightModelName].calculated){match=percentageRe.exec(child[names.height]);childContext.percentagePerpendicular=parseFloat(match[1])/100;++percentageHeights}}ownerContext.flexedItems=flexedItems;ownerContext.flexedMinSize=minWidth;ownerContext.totalFlex=totalFlex;ownerContext.percentageWidths=percentageWidths;ownerContext.percentageHeights=percentageHeights;Ext.Array.sort(flexedItems,me.flexSortFn)},calculate:function(ownerContext){var me=this,targetSize=me.getContainerSize(ownerContext),names=ownerContext.boxNames,state=ownerContext.state,plan=state.boxPlan||(state.boxPlan={});plan.targetSize=targetSize;if(!ownerContext.parallelSizeModel.shrinkWrap&&!targetSize[names.gotWidth]){me.done=false;return}if(!state.parallelDone){state.parallelDone=me.calculateParallel(ownerContext,names,plan)}if(!state.perpendicularDone){state.perpendicularDone=me.calculatePerpendicular(ownerContext,names,plan)}if(state.parallelDone&&state.perpendicularDone){if(me.owner.dock&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&!me.owner.width&&!me.horizontal){plan.isIEVerticalDock=true;plan.calculatedWidth=plan.maxSize+ownerContext.getPaddingInfo().width+ownerContext.getFrameInfo().width}me.publishInnerCtSize(ownerContext,me.reserveOffset?me.availableSpaceOffset:0);if(me.done&&ownerContext.childItems.length>1&&ownerContext.boxOptions.align.stretchmax&&!state.stretchMaxDone){me.calculateStretchMax(ownerContext,names,plan);state.stretchMaxDone=true}}else{me.done=false}},calculateParallel:function(ownerContext,names,plan){var me=this,widthName=names.width,childItems=ownerContext.childItems,leftName=names.left,rightName=names.right,setWidthName=names.setWidth,childItemsLength=childItems.length,flexedItems=ownerContext.flexedItems,flexedItemsLength=flexedItems.length,pack=ownerContext.boxOptions.pack,padding=me.padding,containerWidth=plan.targetSize[widthName],totalMargin=0,left=padding[leftName],nonFlexWidth=left+padding[rightName]+me.scrollOffset+(me.reserveOffset?me.availableSpaceOffset:0),scrollbarWidth=Ext.getScrollbarSize()[names.width],i,childMargins,remainingWidth,remainingFlex,childContext,flex,flexedWidth,contentWidth,mayNeedScrollbarAdjust,childWidth,percentageSpace;if(scrollbarWidth&&me.scrollPerpendicular&&ownerContext.parallelSizeModel.shrinkWrap&&!ownerContext.boxOptions.align.stretch&&!ownerContext.perpendicularSizeModel.shrinkWrap){if(!ownerContext.state.perpendicularDone){return false}mayNeedScrollbarAdjust=true}for(i=0;iplan.targetSize[names.height])){contentWidth+=scrollbarWidth;ownerContext[names.hasOverflowY]=true;ownerContext.target.componentLayout[names.setWidthInDom]=true;ownerContext[names.invalidateScrollY]=(Ext.isStrict&&Ext.isIE8)}ownerContext[names.setContentWidth](contentWidth);return true},calculatePerpendicular:function(ownerContext,names,plan){var me=this,heightShrinkWrap=ownerContext.perpendicularSizeModel.shrinkWrap,targetSize=plan.targetSize,childItems=ownerContext.childItems,childItemsLength=childItems.length,mmax=Math.max,heightName=names.height,setHeightName=names.setHeight,topName=names.top,topPositionName=names.y,padding=me.padding,top=padding[topName],availHeight=targetSize[heightName]-top-padding[names.bottom],align=ownerContext.boxOptions.align,isStretch=align.stretch,isStretchMax=align.stretchmax,isCenter=align.center,maxHeight=0,hasPercentageSizes=0,scrollbarHeight=Ext.getScrollbarSize().height,childTop,i,childHeight,childMargins,diff,height,childContext,stretchMaxPartner,stretchMaxChildren,shrinkWrapParallelOverflow,percentagePerpendicular;if(isStretch||(isCenter&&!heightShrinkWrap)){if(isNaN(availHeight)){return false}}if(me.scrollParallel&&plan.tooNarrow){if(heightShrinkWrap){shrinkWrapParallelOverflow=true}else{availHeight-=scrollbarHeight;plan.targetSize[heightName]-=scrollbarHeight}}if(isStretch){height=availHeight}else{for(i=0;i0){childTop=top+Math.round(diff/2)}}}childContext.setProp(topPositionName,childTop)}return true},calculateStretchMax:function(ownerContext,names,plan){var me=this,heightName=names.height,widthName=names.width,childItems=ownerContext.childItems,length=childItems.length,height=plan.maxSize,onBeforeInvalidateChild=me.onBeforeInvalidateChild,onAfterInvalidateChild=me.onAfterInvalidateChild,childContext,props,i,childHeight;for(i=0;i":{xtype:"tbfill",height:0}},1:{"->":{xtype:"tbfill",width:0}}}},initComponent:function(){var me=this,keys;if(!me.layout&&me.enableOverflow){me.layout={overflowHandler:"Menu"}}if(me.dock==="right"||me.dock==="left"){me.vertical=true}me.layout=Ext.applyIf(Ext.isString(me.layout)?{type:me.layout}:me.layout||{},{type:me.vertical?"vbox":"hbox",align:me.vertical?"stretchmax":"middle"});if(me.vertical){me.addClsWithUI("vertical")}if(me.ui==="footer"){me.ignoreBorderManagement=true}me.callParent();me.addEvents("overflowchange")},getRefItems:function(deep){var me=this,items=me.callParent(arguments),layout=me.layout,handler;if(deep&&me.enableOverflow){handler=layout.overflowHandler;if(handler&&handler.menu){items=items.concat(handler.menu.getRefItems(deep))}}return items},lookupComponent:function(c){if(typeof c=="string"){var T=Ext.toolbar.Toolbar,shortcut=T.shortcutsHV[this.vertical?1:0][c]||T.shortcuts[c];if(typeof shortcut=="string"){c={xtype:shortcut}}else{if(shortcut){c=Ext.apply({},shortcut)}else{c={xtype:"tbtext",text:c}}}this.applyDefaults(c)}return this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments)}return c},trackMenu:function(item,remove){if(this.trackMenus&&item.menu){var method=remove?"mun":"mon",me=this;me[method](item,"mouseover",me.onButtonOver,me);me[method](item,"menushow",me.onButtonMenuShow,me);me[method](item,"menuhide",me.onButtonMenuHide,me)}},constructButton:function(item){return item.events?item:Ext.widget(item.split?"splitbutton":this.defaultType,item)},onBeforeAdd:function(component){if(component.is("field")||(component.is("button")&&this.ui!="footer")){component.ui=component.ui+"-toolbar"}if(component instanceof Ext.toolbar.Separator){component.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(component){this.callParent(arguments);this.trackMenu(component)},onRemove:function(c){this.callParent(arguments);this.trackMenu(c,true)},getChildItemsToDisable:function(){return this.items.getRange()},onButtonOver:function(btn){if(this.activeMenuBtn&&this.activeMenuBtn!=btn){this.activeMenuBtn.hideMenu();btn.showMenu();this.activeMenuBtn=btn}},onButtonMenuShow:function(btn){this.activeMenuBtn=btn},onButtonMenuHide:function(btn){delete this.activeMenuBtn}});Ext.define("Ext.container.DockingContainer",{requires:["Ext.util.MixedCollection","Ext.Element"],isDockingContainer:true,defaultDockWeights:{top:{render:1,visual:1},left:{render:3,visual:5},right:{render:5,visual:7},bottom:{render:7,visual:3}},dockOrder:{top:-1,left:-1,right:1,bottom:1},addDocked:function(items,pos){var me=this,i=0,item,length;items=me.prepareItems(items);length=items.length;for(;i":"",'
{bodyCls}',' {baseCls}-body-{ui}',' {parent.baseCls}-body-{parent.ui}-{.}','" style="{bodyStyle}">',"{%this.renderContainer(out,values);%}","
","{% this.renderDockedItems(out,values,1); %}"],bodyPosProps:{x:"x",y:"y"},border:true,emptyArray:[],initComponent:function(){var me=this;if(me.frame&&me.border&&me.bodyBorder===undefined){me.bodyBorder=false}if(me.frame&&me.border&&(me.bodyBorder===false||me.bodyBorder===0)){me.manageBodyBorders=true}me.callParent()},beforeDestroy:function(){this.destroyDockedItems();this.callParent()},initItems:function(){this.callParent();this.initDockingItems()},initRenderData:function(){var me=this,data=me.callParent();me.initBodyStyles();me.protoBody.writeTo(data);delete me.protoBody;return data},getComponent:function(comp){var component=this.callParent(arguments);if(component===undefined&&!Ext.isNumber(comp)){component=this.getDockedComponent(comp)}return component},getProtoBody:function(){var me=this,body=me.protoBody;if(!body){me.protoBody=body=new Ext.util.ProtoElement({cls:me.bodyCls,style:me.bodyStyle,clsProp:"bodyCls",styleProp:"bodyStyle",styleIsText:true})}return body},initBodyStyles:function(){var me=this,body=me.getProtoBody(),Element=Ext.Element;if(me.bodyPadding!==undefined){body.setStyle("padding",Element.unitizeBox((me.bodyPadding===true)?5:me.bodyPadding))}if(me.frame&&me.bodyBorder){if(!Ext.isNumber(me.bodyBorder)){me.bodyBorder=1}body.setStyle("border-width",Element.unitizeBox(me.bodyBorder))}},getCollapsedDockedItems:function(){var me=this;return me.collapseMode=="placeholder"?me.emptyArray:[me.getReExpander()]},setBodyStyle:function(style,value){var me=this,body=me.rendered?me.body:me.getProtoBody();if(Ext.isFunction(style)){style=style()}if(arguments.length==1){if(Ext.isString(style)){style=Ext.Element.parseStyles(style)}body.setStyle(style)}else{body.setStyle(style,value)}return me},addBodyCls:function(cls){var me=this,body=me.rendered?me.body:me.getProtoBody();body.addCls(cls);return me},removeBodyCls:function(cls){var me=this,body=me.rendered?me.body:me.getProtoBody();body.removeCls(cls);return me},addUIClsToElement:function(cls){var me=this,result=me.callParent(arguments);me.addBodyCls([Ext.baseCSSPrefix+cls,me.baseCls+"-body-"+cls,me.baseCls+"-body-"+me.ui+"-"+cls]);return result},removeUIClsFromElement:function(cls){var me=this,result=me.callParent(arguments);me.removeBodyCls([Ext.baseCSSPrefix+cls,me.baseCls+"-body-"+cls,me.baseCls+"-body-"+me.ui+"-"+cls]);return result},addUIToElement:function(){var me=this;me.callParent(arguments);me.addBodyCls(me.baseCls+"-body-"+me.ui)},removeUIFromElement:function(){var me=this;me.callParent(arguments);me.removeBodyCls(me.baseCls+"-body-"+me.ui)},getTargetEl:function(){return this.body},getRefItems:function(deep){var items=this.callParent(arguments);return this.getDockingRefItems(deep,items)},setupRenderTpl:function(renderTpl){this.callParent(arguments);this.setupDockingRenderTpl(renderTpl)}});Ext.define("Ext.layout.component.Body",{alias:["layout.body"],extend:"Ext.layout.component.Auto",type:"body",beginLayout:function(ownerContext){this.callParent(arguments);ownerContext.bodyContext=ownerContext.getEl("body")},calculateOwnerHeightFromContentHeight:function(ownerContext,contentHeight){var height=this.callParent(arguments);if(ownerContext.targetContext!=ownerContext){height+=ownerContext.getPaddingInfo().height}return height},calculateOwnerWidthFromContentWidth:function(ownerContext,contentWidth){var width=this.callParent(arguments);if(ownerContext.targetContext!=ownerContext){width+=ownerContext.getPaddingInfo().width}return width},measureContentWidth:function(ownerContext){return ownerContext.bodyContext.setWidth(ownerContext.bodyContext.el.dom.offsetWidth,false)},measureContentHeight:function(ownerContext){return ownerContext.bodyContext.setHeight(ownerContext.bodyContext.el.dom.offsetHeight,false)},publishInnerHeight:function(ownerContext,height){var innerHeight=height-ownerContext.getFrameInfo().height,targetContext=ownerContext.targetContext;if(targetContext!=ownerContext){innerHeight-=ownerContext.getPaddingInfo().height}return ownerContext.bodyContext.setHeight(innerHeight,!ownerContext.heightModel.natural)},publishInnerWidth:function(ownerContext,width){var innerWidth=width-ownerContext.getFrameInfo().width,targetContext=ownerContext.targetContext;if(targetContext!=ownerContext){innerWidth-=ownerContext.getPaddingInfo().width}ownerContext.bodyContext.setWidth(innerWidth,!ownerContext.widthModel.natural)}});Ext.define("Ext.panel.Header",{extend:"Ext.container.Container",uses:["Ext.panel.Tool","Ext.draw.Component","Ext.util.CSS","Ext.layout.component.Body","Ext.Img"],alias:"widget.header",isHeader:true,defaultType:"tool",indicateDrag:false,weight:-1,componentLayout:"body",titleAlign:"left",childEls:["body"],renderTpl:['
{parent.baseCls}-body-{parent.ui}-{.}"',' style="{bodyStyle}">',"{%this.renderContainer(out,values)%}","
"],headingTpl:'{title}',shrinkWrap:3,initComponent:function(){var me=this,ruleStyle,rule,style,ui,tempEl;me.addEvents("click","dblclick");me.indicateDragCls=me.baseCls+"-draggable";me.title=me.title||" ";me.tools=me.tools||[];me.items=me.items||[];me.orientation=me.orientation||"horizontal";me.dock=(me.dock)?me.dock:(me.orientation=="horizontal")?"top":"left";me.addClsWithUI([me.orientation,me.dock]);if(me.indicateDrag){me.addCls(me.indicateDragCls)}if(!Ext.isEmpty(me.iconCls)||!Ext.isEmpty(me.icon)){me.initIconCmp();me.items.push(me.iconCmp)}if(me.orientation=="vertical"){me.layout={type:"vbox",align:"center"};me.textConfig={width:16,cls:me.baseCls+"-text",type:"text",text:me.title,rotate:{degrees:90}};ui=me.ui;if(Ext.isArray(ui)){ui=ui[0]}ruleStyle="."+me.baseCls+"-text-"+ui;if(Ext.scopeResetCSS){ruleStyle="."+Ext.baseCSSPrefix+"reset "+ruleStyle}rule=Ext.util.CSS.getRule(ruleStyle);if(rule){style=rule.style}else{style=(tempEl=Ext.resetElement.createChild({style:"position:absolute",cls:me.baseCls+"-text-"+ui})).getStyles("fontFamily","fontWeight","fontSize","color");tempEl.remove()}if(style){Ext.apply(me.textConfig,{"font-family":style.fontFamily,"font-weight":style.fontWeight,"font-size":style.fontSize,fill:style.color})}me.titleCmp=new Ext.draw.Component({width:16,ariaRole:"heading",focusable:false,viewBox:false,flex:1,id:me.id+"_hd",autoSize:true,items:me.textConfig,xhooks:{setSize:function(width){this.callParent([width])}},childEls:[{name:"textEl",select:"."+me.baseCls+"-text"}]})}else{me.layout={type:"hbox",align:"middle"};me.titleCmp=new Ext.Component({ariaRole:"heading",focusable:false,noWrap:true,flex:1,id:me.id+"_hd",style:"text-align:"+me.titleAlign,cls:me.baseCls+"-text-container",renderTpl:me.getTpl("headingTpl"),renderData:{title:me.title,cls:me.baseCls,ui:me.ui},childEls:["textEl"]})}me.items.push(me.titleCmp);me.items=me.items.concat(me.tools);me.callParent();me.on({dblclick:me.onDblClick,click:me.onClick,element:"el",scope:me})},initIconCmp:function(){var me=this,cfg={focusable:false,src:Ext.BLANK_IMAGE_URL,cls:[me.baseCls+"-icon",me.iconCls],id:me.id+"-iconEl",iconCls:me.iconCls};if(!Ext.isEmpty(me.icon)){delete cfg.iconCls;cfg.src=me.icon}me.iconCmp=new Ext.Img(cfg)},afterRender:function(){this.el.unselectable();this.callParent()},addUIClsToElement:function(cls){var me=this,result=me.callParent(arguments),classes=[me.baseCls+"-body-"+cls,me.baseCls+"-body-"+me.ui+"-"+cls],array,i;if(me.bodyCls){array=me.bodyCls.split(" ");for(i=0;i=anim.duration),target,o;target=this.collectTargetData(anim,elapsedTime,useCSS3,lastFrame);if(useCSS3){anim.target.setAttr(target.anims[anim.id].attributes,true);me.collectTargetData(anim,anim.duration,useCSS3,lastFrame);anim.paused=true;target=anim.target.target;if(anim.target.isComposite){target=anim.target.target.last()}o={};o[Ext.supports.CSS3TransitionEnd]=anim.lastFrame;o.scope=anim;o.single=true;target.on(o)}},collectTargetData:function(anim,elapsedTime,useCSS3,isLastFrame){var targetId=anim.target.getId(),target=this.targetArr[targetId];if(!target){target=this.targetArr[targetId]={id:targetId,el:anim.target,anims:{}}}target.anims[anim.id]={id:anim.id,anim:anim,elapsed:elapsedTime,isLastFrame:isLastFrame,attributes:[{duration:anim.duration,easing:(useCSS3&&anim.reverse)?anim.easingFn.reverse().toCSS3():anim.easing,attrs:anim.runAnim(elapsedTime)}]};return target},applyPendingAttrs:function(){var targetArr=this.targetArr,target,targetId,animWrap,anim,animId;for(targetId in targetArr){if(targetArr.hasOwnProperty(targetId)){target=targetArr[targetId];for(animId in target.anims){if(target.anims.hasOwnProperty(animId)){animWrap=target.anims[animId];anim=animWrap.anim;if(animWrap.attributes&&anim.isRunning()){target.el.setAttr(animWrap.attributes,false,animWrap.isLastFrame);if(animWrap.isLastFrame){anim.lastFrame()}}}}}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(config){var me=this;config=Ext.apply(me,config||{});me.config=config;me.id=Ext.id(null,"ext-animator-");me.addEvents("beforeanimate","keyframe","afteranimate");me.mixins.observable.constructor.call(me,config);me.timeline=[];me.createTimeline(me.keyframes);if(me.target){me.applyAnimator(me.target);Ext.fx.Manager.addAnim(me)}},sorter:function(a,b){return a.pct-b.pct},createTimeline:function(keyframes){var me=this,attrs=[],to=me.to||{},duration=me.duration,prevMs,ms,i,ln,pct,anim,nextAnim,attr;for(pct in keyframes){if(keyframes.hasOwnProperty(pct)&&me.animKeyFramesRE.test(pct)){attr={attrs:Ext.apply(keyframes[pct],to)};if(pct=="from"){pct=0}else{if(pct=="to"){pct=100}}attr.pct=parseInt(pct,10);attrs.push(attr)}}Ext.Array.sort(attrs,me.sorter);ln=attrs.length;for(i=0;i0},isRunning:function(){return false}});Ext.define("Ext.fx.CubicBezier",{singleton:true,cubicBezierAtTime:function(t,p1x,p1y,p2x,p2y,duration){var cx=3*p1x,bx=3*(p2x-p1x)-cx,ax=1-cx-bx,cy=3*p1y,by=3*(p2y-p1y)-cy,ay=1-cy-by;function sampleCurveX(t){return((ax*t+bx)*t+cx)*t}function solve(x,epsilon){var t=solveCurveX(x,epsilon);return((ay*t+by)*t+cy)*t}function solveCurveX(x,epsilon){var t0,t1,t2,x2,d2,i;for(t2=x,i=0;i<8;i++){x2=sampleCurveX(t2)-x;if(Math.abs(x2)t1){return t1}while(t0x2){t0=t2}else{t1=t2}t2=(t1-t0)/2+t0}return t2}return solve(t,1/(200*duration))},cubicBezier:function(x1,y1,x2,y2){var fn=function(pos){return Ext.fx.CubicBezier.cubicBezierAtTime(pos,x1,y1,x2,y2,1)};fn.toCSS3=function(){return"cubic-bezier("+[x1,y1,x2,y2].join(",")+")"};fn.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-x2,1-y2,1-x1,1-y1)};return fn}});Ext.ns("Ext.fx");Ext.require("Ext.fx.CubicBezier",function(){var math=Math,pi=math.PI,pow=math.pow,sin=math.sin,sqrt=math.sqrt,abs=math.abs,backInSeed=1.70158;Ext.fx.Easing={};Ext.apply(Ext.fx.Easing,{linear:function(n){return n},ease:function(n){var q=0.07813-n/2,alpha=-0.25,Q=sqrt(0.0066+q*q),x=Q-q,X=pow(abs(x),1/3)*(x<0?-1:1),y=-Q-q,Y=pow(abs(y),1/3)*(y<0?-1:1),t=X+Y+0.25;return pow(1-t,2)*3*t*0.1+(1-t)*3*t*t+t*t*t},easeIn:function(n){return pow(n,1.7)},easeOut:function(n){return pow(n,0.48)},easeInOut:function(n){var q=0.48-n/1.04,Q=sqrt(0.1734+q*q),x=Q-q,X=pow(abs(x),1/3)*(x<0?-1:1),y=-Q-q,Y=pow(abs(y),1/3)*(y<0?-1:1),t=X+Y+0.5;return(1-t)*3*t*t+t*t*t},backIn:function(n){return n*n*((backInSeed+1)*n-backInSeed)},backOut:function(n){n=n-1;return n*n*((backInSeed+1)*n+backInSeed)+1},elasticIn:function(n){if(n===0||n===1){return n}var p=0.3,s=p/4;return pow(2,-10*n)*sin((n-s)*(2*pi)/p)+1},elasticOut:function(n){return 1-Ext.fx.Easing.elasticIn(1-n)},bounceIn:function(n){return 1-Ext.fx.Easing.bounceOut(1-n)},bounceOut:function(n){var s=7.5625,p=2.75,l;if(n<(1/p)){l=s*n*n}else{if(n<(2/p)){n-=(1.5/p);l=s*n*n+0.75}else{if(n<(2.5/p)){n-=(2.25/p);l=s*n*n+0.9375}else{n-=(2.625/p);l=s*n*n+0.984375}}}return l}});Ext.apply(Ext.fx.Easing,{"back-in":Ext.fx.Easing.backIn,"back-out":Ext.fx.Easing.backOut,"ease-in":Ext.fx.Easing.easeIn,"ease-out":Ext.fx.Easing.easeOut,"elastic-in":Ext.fx.Easing.elasticIn,"elastic-out":Ext.fx.Easing.elasticIn,"bounce-in":Ext.fx.Easing.bounceIn,"bounce-out":Ext.fx.Easing.bounceOut,"ease-in-out":Ext.fx.Easing.easeInOut})});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:0.2,constructor:function(red,green,blue){var me=this,clamp=Ext.Number.constrain;me.r=clamp(red,0,255);me.g=clamp(green,0,255);me.b=clamp(blue,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var me=this;return[me.r,me.g,me.b]},getHSL:function(){var me=this,r=me.r/255,g=me.g/255,b=me.b/255,max=Math.max(r,g,b),min=Math.min(r,g,b),delta=max-min,h,s=0,l=0.5*(max+min);if(min!=max){s=(l<0.5)?delta/(max+min):delta/(2-max-min);if(r==max){h=60*(g-b)/delta}else{if(g==max){h=120+60*(b-r)/delta}else{h=240+60*(r-g)/delta}}if(h<0){h+=360}if(h>=360){h-=360}}return[h,s,l]},getLighter:function(factor){var hsl=this.getHSL();factor=factor||this.lightnessFactor;hsl[2]=Ext.Number.constrain(hsl[2]+factor,0,1);return this.fromHSL(hsl[0],hsl[1],hsl[2])},getDarker:function(factor){factor=factor||this.lightnessFactor;return this.getLighter(-factor)},toString:function(){var me=this,round=Math.round,r=round(me.r).toString(16),g=round(me.g).toString(16),b=round(me.b).toString(16);r=(r.length==1)?"0"+r:r;g=(g.length==1)?"0"+g:g;b=(b.length==1)?"0"+b:b;return["#",r,g,b].join("")},toHex:function(color){if(Ext.isArray(color)){color=color[0]}if(!Ext.isString(color)){return""}if(color.substr(0,1)==="#"){return color}var digits=this.colorToHexRe.exec(color),red,green,blue,rgb;if(Ext.isArray(digits)){red=parseInt(digits[2],10);green=parseInt(digits[3],10);blue=parseInt(digits[4],10);rgb=blue|(green<<8)|(red<<16);return digits[1]+"#"+("000000"+rgb.toString(16)).slice(-6)}else{return color}},fromString:function(str){var values,r,g,b,parse=parseInt;if((str.length==4||str.length==7)&&str.substr(0,1)==="#"){values=str.match(this.hexRe);if(values){r=parse(values[1],16)>>0;g=parse(values[2],16)>>0;b=parse(values[3],16)>>0;if(str.length==4){r+=(r*16);g+=(g*16);b+=(b*16)}}}else{values=str.match(this.rgbRe);if(values){r=values[1];g=values[2];b=values[3]}}return(typeof r=="undefined")?undefined:new Ext.draw.Color(r,g,b)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(h,s,l){var C,X,m,i,rgb=[],abs=Math.abs,floor=Math.floor;if(s==0||h==null){rgb=[l,l,l]}else{h/=60;C=s*(1-abs(2*l-1));X=C*(1-abs(h-2*floor(h/2)-1));m=l-C/2;switch(floor(h)){case 0:rgb=[C,X,0];break;case 1:rgb=[X,C,0];break;case 2:rgb=[0,C,X];break;case 3:rgb=[0,X,C];break;case 4:rgb=[X,0,C];break;case 5:rgb=[C,0,X];break}rgb=[rgb[0]+m,rgb[1]+m,rgb[2]+m]}return new Ext.draw.Color(rgb[0]*255,rgb[1]*255,rgb[2]*255)}},function(){var prototype=this.prototype;this.addStatics({fromHSL:function(){return prototype.fromHSL.apply(prototype,arguments)},fromString:function(){return prototype.fromString.apply(prototype,arguments)},toHex:function(){return prototype.toHex.apply(prototype,arguments)}})});Ext.define("Ext.draw.Draw",{singleton:true,requires:["Ext.draw.Color"],pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(o,type){type=String(type).toLowerCase();return(type=="object"&&o===Object(o))||(type=="undefined"&&typeof o==type)||(type=="null"&&o===null)||(type=="array"&&Array.isArray&&Array.isArray(o))||(Object.prototype.toString.call(o).toLowerCase().slice(8,-1))==type},ellipsePath:function(sprite){var attr=sprite.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",attr.x,attr.y-attr.ry,attr.rx,attr.ry,attr.y+attr.ry)},rectPath:function(sprite){var attr=sprite.attr;if(attr.radius){return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",attr.x+attr.radius,attr.y,attr.width-attr.radius*2,attr.radius,-attr.radius,attr.height-attr.radius*2,attr.radius*2-attr.width,attr.radius*2-attr.height)}else{return Ext.String.format("M{0},{1}L{2},{1},{2},{3},{0},{3}z",attr.x,attr.y,attr.width+attr.x,attr.height+attr.y)}},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(arrayPath){return arrayPath.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(pathString){if(!pathString){return null}var paramCounts={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},data=[],me=this;if(me.is(pathString,"array")&&me.is(pathString[0],"array")){data=me.pathClone(pathString)}if(!data.length){String(pathString).replace(me.pathCommandRE,function(a,b,c){var params=[],name=b.toLowerCase();c.replace(me.pathValuesRE,function(a,b){b&¶ms.push(+b)});if(name=="m"&¶ms.length>2){data.push([b].concat(Ext.Array.splice(params,0,2)));name="l";b=(b=="m")?"l":"L"}while(params.length>=paramCounts[name]){data.push([b].concat(Ext.Array.splice(params,0,paramCounts[name])));if(!paramCounts[name]){break}}})}data.toString=me.path2string;return data},mapPath:function(path,matrix){if(!matrix){return path}var x,y,i,ii,j,jj,pathi;path=this.path2curve(path);for(i=0,ii=path.length;i7){points[i].shift();point=points[i];while(point.length){Ext.Array.splice(points,i++,0,["C"].concat(Ext.Array.splice(point,0,6)))}Ext.Array.erase(points,i,1);ln=points.length;i--}seg=points[i];segLn=seg.length;attrs.x=seg[segLn-2];attrs.y=seg[segLn-1];attrs.bx=parseFloat(seg[segLn-4])||attrs.x;attrs.by=parseFloat(seg[segLn-3])||attrs.y}return points},interpolatePaths:function(path,path2){var me=this,p=me.pathToAbsolute(path),p2=me.pathToAbsolute(path2),attrs={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},attrs2={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},fixArc=function(pp,i){if(pp[i].length>7){pp[i].shift();var pi=pp[i];while(pi.length){Ext.Array.splice(pp,i++,0,["C"].concat(Ext.Array.splice(pi,0,6)))}Ext.Array.erase(pp,i,1);ii=Math.max(p.length,p2.length||0)}},fixM=function(path1,path2,a1,a2,i){if(path1&&path2&&path1[i][0]=="M"&&path2[i][0]!="M"){Ext.Array.splice(path2,i,0,["M",a2.x,a2.y]);a1.bx=0;a1.by=0;a1.x=path1[i][1];a1.y=path1[i][2];ii=Math.max(p.length,p2.length||0)}},i,ii,seg,seg2,seglen,seg2len;for(i=0,ii=Math.max(p.length,p2.length||0);i1){h=msqrt(h);rx=h*rx;ry=h*ry}rx2=rx*rx;ry2=ry*ry;k=(large_arc_flag==sweep_flag?-1:1)*msqrt(mabs((rx2*ry2-rx2*y*y-ry2*x*x)/(rx2*y*y+ry2*x*x)));cx=k*rx*y/ry+(x1+x2)/2;cy=k*-ry*x/rx+(y1+y2)/2;f1=masin(((y1-cy)/ry).toFixed(7));f2=masin(((y2-cy)/ry).toFixed(7));f1=x1f2){f1=f1-PI*2}if(!sweep_flag&&f2>f1){f2=f2-PI*2}}else{f1=recursive[0];f2=recursive[1];cx=recursive[2];cy=recursive[3]}df=f2-f1;if(mabs(df)>_120){f2old=f2;x2old=x2;y2old=y2;f2=f1+_120*(sweep_flag&&f2>f1?1:-1);x2=cx+rx*mcos(f2);y2=cy+ry*msin(f2);res=me.arc2curve(x2,y2,rx,ry,angle,0,sweep_flag,x2old,y2old,[f2,f2old,cx,cy])}df=f2-f1;c1=mcos(f1);s1=msin(f1);c2=mcos(f2);s2=msin(f2);t=math.tan(df/4);hx=4/3*rx*t;hy=4/3*ry*t;m1=[x1,y1];m2=[x1+hx*s1,y1-hy*c1];m3=[x2+hx*s2,y2-hy*c2];m4=[x2,y2];m2[0]=2*m1[0]-m2[0];m2[1]=2*m1[1]-m2[1];if(recursive){return[m2,m3,m4].concat(res)}else{res=[m2,m3,m4].concat(res).join().split(",");newres=[];ln=res.length;for(i=0;i(cp2[1]-cp1[1])*(path[0]-cp1[0])},intersectIntersection:function(s,e,cp1,cp2){var p=[],dcx=cp1[0]-cp2[0],dcy=cp1[1]-cp2[1],dpx=s[0]-e[0],dpy=s[1]-e[1],n1=cp1[0]*cp2[1]-cp1[1]*cp2[0],n2=s[0]*e[1]-s[1]*e[0],n3=1/(dcx*dpy-dcy*dpx);p[0]=(n1*dpx-n2*dcx)*n3;p[1]=(n1*dpy-n2*dcy)*n3;return p},intersect:function(subjectPolygon,clipPolygon){var me=this,i=0,ln=clipPolygon.length,cp1=clipPolygon[ln-1],outputList=subjectPolygon,cp2,s,e,point,ln2,inputList,j;for(;i0){points.push(r)}}else{A=a-3*b+3*c-d;top=2*(a-b-b+c);C=a-b;delta=top*top-4*A*C;bottom=A+A;if(delta===0){r=top/bottom;if(r<1&&r>0){points.push(r)}}else{if(delta>0){s=Math.sqrt(delta);r=(s+top)/bottom;if(r<1&&r>0){points.push(r)}r=(top-s)/bottom;if(r<1&&r>0){points.push(r)}}}}min=Math.min(a,d);max=Math.max(a,d);for(i=0;i=prevY&&curY>=nextY)||(curY<=prevY&&curY<=nextY)){control1Angle=control2Angle=halfPI}else{control1Angle=atan((curX-prevX)/abs(curY-prevY));if(prevYhalfPI){alpha-=PI}control1Angle+=alpha;control2Angle+=alpha;control1X=curX-control1Length*sin(control1Angle);control1Y=curY+control1Length*cos(control1Angle);control2X=curX+control2Length*sin(control2Angle);control2Y=curY+control2Length*cos(control2Angle);if((curY>prevY&&control1YprevY)){control1X+=abs(prevY-control1Y)*(control1X-curX)/(control1Y-curY);control1Y=prevY}if((curY>nextY&&control2YnextY)){control2X-=abs(nextY-control2Y)*(control2X-curX)/(control2Y-curY);control2Y=nextY}return{x1:control1X,y1:control1Y,x2:control2X,y2:control2Y}},smooth:function(originalPath,value){var path=this.path2curve(originalPath),newp=[path[0]],x=path[0][1],y=path[0][2],j,points,i=1,ii=path.length,beg=1,mx=x,my=y,cx=0,cy=0,pathi,pathil,pathim,pathiml,pathip,pathipl,begl;for(;i=bbox.x&&x<=(bbox.x+bbox.width)&&y>=bbox.y&&y<=(bbox.y+bbox.height))},parseGradient:function(gradient){var me=this,type=gradient.type||"linear",angle=gradient.angle||0,radian=me.radian,stops=gradient.stops,stopsArr=[],stop,vector,max,stopObj;if(type=="linear"){vector=[0,0,Math.cos(angle*radian),Math.sin(angle*radian)];max=1/(Math.max(Math.abs(vector[2]),Math.abs(vector[3]))||1);vector[2]*=max;vector[3]*=max;if(vector[2]<0){vector[0]=-vector[2];vector[2]=0}if(vector[3]<0){vector[1]=-vector[3];vector[3]=0}}for(stop in stops){if(stops.hasOwnProperty(stop)&&me.stopsRE.test(stop)){stopObj={offset:parseInt(stop,10),color:Ext.draw.Color.toHex(stops[stop].color)||"#ffffff",opacity:stops[stop].opacity||1};stopsArr.push(stopObj)}}Ext.Array.sort(stopsArr,me.sorter);if(type=="linear"){return{id:gradient.id,type:type,vector:vector,stops:stopsArr}}else{return{id:gradient.id,type:type,centerX:gradient.centerX,centerY:gradient.centerY,focalX:gradient.focalX,focalY:gradient.focalY,radius:gradient.radius,vector:vector,stops:stopsArr}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(from,end,damper,initial,attr){damper=(typeof damper=="number")?damper:1;var unitRE=this.unitRE,match=unitRE.exec(from),start,units;if(match){from=match[1];units=match[2];if(!this.scrollRE.test(attr)&&!units&&this.pixelDefaultsRE.test(attr)){units="px"}}from=+from||0;match=unitRE.exec(end);if(match){end=match[1];units=match[2]||units}end=+end||0;start=(initial!=null)?initial:from;return{from:from,delta:(end-start)*damper,units:units}},get:function(from,end,damper,initialFrom,attr){var ln=from.length,out=[],i,initial,res,j,len;for(i=0;i=duration){elapsedTime=duration;lastFrame=true}if(me.reverse){elapsedTime=duration-elapsedTime}for(attr in attrs){if(attrs.hasOwnProperty(attr)){values=attrs[attr];easing=lastFrame?1:easingFn(elapsedTime/duration);ret[attr]=propHandlers[attr].set(values,easing)}}me.frameCount++;return ret},lastFrame:function(){var me=this,iter=me.iterations,iterCount=me.currentIteration;iterCount++;if(iterCount0},isRunning:function(){return this.paused===false&&this.running===true&&this.isAnimator!==true}});Ext.enableFx=true;Ext.define("Ext.dd.DragDrop",{requires:["Ext.dd.DragDropManager"],constructor:function(id,sGroup,config){if(id){this.init(id,sGroup,config)}},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},onInvalidDrop:function(e){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(constrainTo,pad,inContent){if(Ext.isNumber(pad)){pad={left:pad,right:pad,top:pad,bottom:pad}}pad=pad||this.defaultPadding;var b=Ext.get(this.getEl()).getBox(),ce=Ext.get(constrainTo),s=ce.getScroll(),c,cd=ce.dom,xy,topSpace,leftSpace;if(cd==document.body){c={x:s.left,y:s.top,width:Ext.Element.getViewWidth(),height:Ext.Element.getViewHeight()}}else{xy=ce.getXY();c={x:xy[0],y:xy[1],width:cd.clientWidth,height:cd.clientHeight}}topSpace=b.y-c.y;leftSpace=b.x-c.x;this.resetConstraints();this.setXConstraint(leftSpace-(pad.left||0),c.width-leftSpace-b.width-(pad.right||0),this.xTickSize);this.setYConstraint(topSpace-(pad.top||0),c.height-topSpace-b.height-(pad.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(id,sGroup,config){this.initTarget(id,sGroup,config);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(id,sGroup,config){this.config=config||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};if(typeof id!=="string"){id=Ext.id(id)}this.id=id;this.addToGroup((sGroup)?sGroup:"default");this.handleElId=id;this.setDragElId(id);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(iTop,iRight,iBot,iLeft){if(!iRight&&0!==iRight){this.padding=[iTop,iTop,iTop,iTop]}else{if(!iBot&&0!==iBot){this.padding=[iTop,iRight,iTop,iRight]}else{this.padding=[iTop,iRight,iBot,iLeft]}}},setInitPosition:function(diffX,diffY){var el=this.getEl(),dx,dy,p;if(!this.DDMInstance.verifyEl(el)){return}dx=diffX||0;dy=diffY||0;p=Ext.Element.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p)},setStartPosition:function(pos){var p=pos||Ext.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=p[0];this.startPageY=p[1]},addToGroup:function(sGroup){this.groups[sGroup]=true;this.DDMInstance.regDragDrop(this,sGroup)},removeFromGroup:function(sGroup){if(this.groups[sGroup]){delete this.groups[sGroup]}this.DDMInstance.removeDDFromGroup(this,sGroup)},setDragElId:function(id){this.dragElId=id},setHandleElId:function(id){if(typeof id!=="string"){id=Ext.id(id)}this.handleElId=id;this.DDMInstance.regHandle(this.id,id)},setOuterHandleElId:function(id){if(typeof id!=="string"){id=Ext.id(id)}Ext.EventManager.on(id,"mousedown",this.handleMouseDown,this);this.setHandleElId(id);this.hasOuterHandles=true},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDMInstance.isLocked()||this.locked)},handleMouseDown:function(e,oDD){if(this.primaryButtonOnly&&e.button!=0){return}if(this.isLocked()){return}this.DDMInstance.refreshCache(this.groups);if(this.hasOuterHandles||this.DDMInstance.isOverTarget(e.getPoint(),this)){if(this.clickValidator(e)){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDMInstance.handleMouseDown(e,this);this.DDMInstance.stopEvent(e)}}},clickValidator:function(e){var target=e.getTarget();return(this.isValidHandleChild(target)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(target,this.id)))},addInvalidHandleType:function(tagName){var type=tagName.toUpperCase();this.invalidHandleTypes[type]=type},addInvalidHandleId:function(id){if(typeof id!=="string"){id=Ext.id(id)}this.invalidHandleIds[id]=id},addInvalidHandleClass:function(cssClass){this.invalidHandleClasses.push(cssClass)},removeInvalidHandleType:function(tagName){var type=tagName.toUpperCase();delete this.invalidHandleTypes[type]},removeInvalidHandleId:function(id){if(typeof id!=="string"){id=Ext.id(id)}delete this.invalidHandleIds[id]},removeInvalidHandleClass:function(cssClass){for(var i=0,len=this.invalidHandleClasses.length;i=this.minX;i=i-iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true}}for(i=this.initPageX;i<=this.maxX;i=i+iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(iStartY,iTickSize){this.yTicks=[];this.yTickSize=iTickSize;var tickMap={},i;for(i=this.initPageY;i>=this.minY;i=i-iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true}}for(i=this.initPageY;i<=this.maxY;i=i+iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(iLeft,iRight,iTickSize){this.leftConstraint=iLeft;this.rightConstraint=iRight;this.minX=this.initPageX-iLeft;this.maxX=this.initPageX+iRight;if(iTickSize){this.setXTicks(this.initPageX,iTickSize)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(iUp,iDown,iTickSize){this.topConstraint=iUp;this.bottomConstraint=iDown;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+iDown;if(iTickSize){this.setYTicks(this.initPageY,iTickSize)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0,dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(val,tickArray){if(!tickArray){return val}else{if(tickArray[0]>=val){return tickArray[0]}else{var i,len,next,diff1,diff2;for(i=0,len=tickArray.length;i=val){diff1=val-tickArray[i];diff2=tickArray[next]-val;return(diff2>diff1)?tickArray[i]:tickArray[next]}}return tickArray[tickArray.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(id,sGroup,config){if(id){this.init(id,sGroup,config)}},scroll:true,autoOffset:function(iPageX,iPageY){var x=iPageX-this.startPageX,y=iPageY-this.startPageY;this.setDelta(x,y)},setDelta:function(iDeltaX,iDeltaY){this.deltaX=iDeltaX;this.deltaY=iDeltaY},setDragElPos:function(iPageX,iPageY){var el=this.getDragEl();this.alignElWithMouse(el,iPageX,iPageY)},alignElWithMouse:function(el,iPageX,iPageY){var oCoord=this.getTargetCoord(iPageX,iPageY),fly=el.dom?el:Ext.fly(el,"_dd"),elSize=fly.getSize(),EL=Ext.Element,vpSize,aCoord,newLeft,newTop;if(!this.deltaSetXY){vpSize=this.cachedViewportSize={width:EL.getDocumentWidth(),height:EL.getDocumentHeight()};aCoord=[Math.max(0,Math.min(oCoord.x,vpSize.width-elSize.width)),Math.max(0,Math.min(oCoord.y,vpSize.height-elSize.height))];fly.setXY(aCoord);newLeft=fly.getLocalX();newTop=fly.getLocalY();this.deltaSetXY=[newLeft-oCoord.x,newTop-oCoord.y]}else{vpSize=this.cachedViewportSize;fly.setLeftTop(Math.max(0,Math.min(oCoord.x+this.deltaSetXY[0],vpSize.width-elSize.width)),Math.max(0,Math.min(oCoord.y+this.deltaSetXY[1],vpSize.height-elSize.height)))}this.cachePosition(oCoord.x,oCoord.y);this.autoScroll(oCoord.x,oCoord.y,el.offsetHeight,el.offsetWidth);return oCoord},cachePosition:function(iPageX,iPageY){if(iPageX){this.lastPageX=iPageX;this.lastPageY=iPageY}else{var aCoord=Ext.Element.getXY(this.getEl());this.lastPageX=aCoord[0];this.lastPageY=aCoord[1]}},autoScroll:function(x,y,h,w){if(this.scroll){var clientH=Ext.Element.getViewHeight(),clientW=Ext.Element.getViewWidth(),st=this.DDMInstance.getScrollTop(),sl=this.DDMInstance.getScrollLeft(),bot=h+y,right=w+x,toBot=(clientH+st-y-this.deltaY),toRight=(clientW+sl-x-this.deltaX),thresh=40,scrAmt=(document.all)?80:30;if(bot>clientH&&toBot0&&y-stclientW&&toRight0&&x-slthis.maxX){x=this.maxX}}if(this.constrainY){if(ythis.maxY){y=this.maxY}}x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y}},applyConfig:function(){this.callParent();this.scroll=(this.config.scroll!==false)},b4MouseDown:function(e){this.autoOffset(e.getPageX(),e.getPageY())},b4Drag:function(e){this.setDragElPos(e.getPageX(),e.getPageY())},toString:function(){return("DD "+this.id)}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(id,sGroup,config){if(id){this.init(id,sGroup,config);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var self=this,body=document.body,div,s;if(!body||!body.firstChild){setTimeout(function(){self.createFrame()},50);return}div=this.getDragEl();if(!div){div=document.createElement("div");div.id=this.dragElId;s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;body.insertBefore(div,body.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(iPageX,iPageY){var el=this.getEl(),dragEl=this.getDragEl(),s=dragEl.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2))}this.setDragElPos(iPageX,iPageY);Ext.fly(dragEl).show()},_resizeProxy:function(){if(this.resizeFrame){var el=this.getEl();Ext.fly(this.getDragEl()).setSize(el.offsetWidth,el.offsetHeight)}},b4MouseDown:function(e){var x=e.getPageX(),y=e.getPageY();this.autoOffset(x,y);this.setDragElPos(x,y)},b4StartDrag:function(x,y){this.showFrame(x,y)},b4EndDrag:function(e){Ext.fly(this.getDragEl()).hide()},endDrag:function(e){var lel=this.getEl(),del=this.getDragEl();del.style.visibility="";this.beforeMove();lel.style.visibility="hidden";Ext.dd.DDM.moveToEl(lel,del);del.style.visibility="hidden";lel.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.define("Ext.dd.StatusProxy",{extend:"Ext.Component",animRepair:false,childEls:["ghost"],renderTpl:['
'],constructor:function(config){var me=this;config=config||{};Ext.apply(me,{hideMode:"visibility",hidden:true,floating:true,id:me.id||Ext.id(),cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:config.shadow||false,renderTo:Ext.getDetachedBody()});me.callParent(arguments);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(cssClass){cssClass=cssClass||this.dropNotAllowed;if(this.dropStatus!=cssClass){this.el.replaceCls(this.dropStatus,cssClass);this.dropStatus=cssClass}},reset:function(clearGhost){var me=this,clsPrefix=Ext.baseCSSPrefix+"dd-drag-proxy ";me.el.replaceCls(clsPrefix+me.dropAllowed,clsPrefix+me.dropNotAllowed);me.dropStatus=me.dropNotAllowed;if(clearGhost){me.ghost.update("")}},update:function(html){if(typeof html=="string"){this.ghost.update(html)}else{this.ghost.update("");html.style.margin="0";this.ghost.dom.appendChild(html)}var el=this.ghost.dom.firstChild;if(el){Ext.fly(el).setStyle("float","none")}},getGhost:function(){return this.ghost},hide:function(clear){this.callParent();if(clear){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},sync:function(){this.el.sync()},repair:function(xy,callback,scope){var me=this;me.callback=callback;me.scope=scope;if(xy&&me.animRepair!==false){me.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");me.el.hideUnders(true);me.anim=me.el.animate({duration:me.repairDuration||500,easing:"ease-out",to:{x:xy[0],y:xy[1]},stopAnimation:true,callback:me.afterRepair,scope:me})}else{me.afterRepair()}},afterRepair:function(){var me=this;me.hide(true);me.el.removeCls(Ext.baseCSSPrefix+"dd-drag-repair");if(typeof me.callback=="function"){me.callback.call(me.scope||me)}delete me.callback;delete me.scope}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(el,config){this.el=Ext.get(el);if(!this.dragData){this.dragData={}}Ext.apply(this,config);if(!this.proxy){this.proxy=new Ext.dd.StatusProxy({id:this.el.id+"-drag-status-proxy",animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(e){return this.dragData},onDragEnter:function(e,id){var target=Ext.dd.DragDropManager.getDDById(id),status;this.cachedTarget=target;if(this.beforeDragEnter(target,e,id)!==false){if(target.isNotifyTarget){status=target.notifyEnter(this,e,this.dragData);this.proxy.setStatus(status)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(target,e,id)}}},beforeDragEnter:function(target,e,id){return true},onDragOver:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id),status;if(this.beforeDragOver(target,e,id)!==false){if(target.isNotifyTarget){status=target.notifyOver(this,e,this.dragData);this.proxy.setStatus(status)}if(this.afterDragOver){this.afterDragOver(target,e,id)}}},beforeDragOver:function(target,e,id){return true},onDragOut:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id);if(this.beforeDragOut(target,e,id)!==false){if(target.isNotifyTarget){target.notifyOut(this,e,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(target,e,id)}}this.cachedTarget=null},beforeDragOut:function(target,e,id){return true},onDragDrop:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id);if(this.beforeDragDrop(target,e,id)!==false){if(target.isNotifyTarget){if(target.notifyDrop(this,e,this.dragData)!==false){this.onValidDrop(target,e,id)}else{this.onInvalidDrop(target,e,id)}}else{this.onValidDrop(target,e,id)}if(this.afterDragDrop){this.afterDragDrop(target,e,id)}}delete this.cachedTarget},beforeDragDrop:function(target,e,id){return true},onValidDrop:function(target,e,id){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(target,e,id)}},getRepairXY:function(e,data){return this.el.getXY()},onInvalidDrop:function(target,e,id){if(!e){e=target;target=null;id=e.getTarget().id}this.beforeInvalidDrop(target,e,id);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,id)}},afterRepair:function(){var me=this;if(Ext.enableFx){me.el.highlight(me.repairHighlightColor)}me.dragging=false},beforeInvalidDrop:function(target,e,id){return true},handleMouseDown:function(e){if(this.dragging){return}var data=this.getDragData(e);if(data&&this.onBeforeDrag(data,e)!==false){this.dragData=data;this.proxy.stop();this.callParent(arguments)}},onBeforeDrag:function(data,e){return true},onStartDrag:Ext.emptyFn,alignElWithMouse:function(){this.proxy.ensureAttachedToBody(true);return this.callParent(arguments)},startDrag:function(x,y){this.proxy.reset();this.proxy.hidden=false;this.dragging=true;this.proxy.update("");this.onInitDrag(x,y);this.proxy.show()},onInitDrag:function(x,y){var clone=this.el.dom.cloneNode(true);clone.id=Ext.id();this.proxy.update(clone);this.onStartDrag(x,y);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(e){},endDrag:function(e){this.onEndDrag(this.dragData,e)},onEndDrag:function(data,e){},autoOffset:function(x,y){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",moveOnDrag:true,constructor:function(panel,config){var me=this;me.panel=panel;me.id=me.panel.id+"-ddproxy";Ext.apply(me,config)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){var me=this;if(me.ghost){if(me.proxy){me.proxy.remove();delete me.proxy}me.panel.unghost(null,me.moveOnDrag);delete me.ghost}},show:function(){var me=this,panelSize;if(!me.ghost){panelSize=me.panel.getSize();me.panel.el.setVisibilityMode(Ext.Element.DISPLAY);me.ghost=me.panel.ghost();if(me.insertProxy){me.proxy=me.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});me.proxy.setSize(panelSize)}}},repair:function(xy,callback,scope){this.hide();Ext.callback(callback,scope||this)},moveProxy:function(parentNode,before){if(this.proxy){parentNode.insertBefore(this.proxy.dom,before)}}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(panel,cfg){var me=this;me.panel=panel;me.dragData={panel:panel};me.panelProxy=new Ext.panel.Proxy(panel,cfg);me.proxy=me.panelProxy.proxy;me.callParent([panel.el,cfg]);me.setupEl(panel)},setupEl:function(panel){var me=this,header=panel.header,el=panel.body;if(header){me.setHandleElId(header.id);el=header.el}if(el){el.setStyle("cursor","move");me.scroll=false}else{panel.on("boxready",me.setupEl,me,{single:true})}},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(x,y){this.panelProxy.show()},b4MouseDown:function(e){var x=e.getPageX(),y=e.getPageY();this.autoOffset(x,y)},onInitDrag:function(x,y){this.onStartDrag(x,y);return true},createFrame:Ext.emptyFn,getDragEl:function(e){return this.panelProxy.ghost.el.dom},endDrag:function(e){this.panelProxy.hide();this.panel.saveState()},autoOffset:function(x,y){x-=this.startPageX;y-=this.startPageY;this.setDelta(x,y)},onInvalidDrop:function(target,e,id){var me=this;me.beforeInvalidDrop(target,e,id);if(me.cachedTarget){if(me.cachedTarget.isNotifyTarget){me.cachedTarget.notifyOut(me,e,me.dragData)}me.cacheTarget=null}if(me.afterInvalidDrop){me.afterInvalidDrop(e,id)}}});Ext.define("Ext.util.Memento",(function(){function captureOne(src,target,prop,prefix){src[prefix?prefix+prop:prop]=target[prop]}function removeOne(src,target,prop){delete src[prop]}function restoreOne(src,target,prop,prefix){var name=prefix?prefix+prop:prop,value=src[name];if(value||src.hasOwnProperty(name)){restoreValue(target,prop,value)}}function restoreValue(target,prop,value){if(Ext.isDefined(value)){target[prop]=value}else{delete target[prop]}}function doMany(doOne,src,target,props,prefix){if(src){if(Ext.isArray(props)){var p,pLen=props.length;for(p=0;pdw){if(me.anchorToTarget){me.defaultAlign="r-l";if(me.mouseOffset){me.mouseOffset[0]*=-1}}me.anchor="right";return me.getTargetXY()}if(axy[1]dh){if(me.anchorToTarget){me.defaultAlign="b-t";if(me.mouseOffset){me.mouseOffset[1]*=-1}}me.anchor="bottom";return me.getTargetXY()}}me.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+me.getAnchorPosition();me.anchorEl.addCls(me.anchorCls);me.targetCounter=0;return axy}else{mouseOffset=me.getMouseOffset();return(me.targetXY)?[me.targetXY[0]+mouseOffset[0],me.targetXY[1]+mouseOffset[1]]:mouseOffset}},getMouseOffset:function(){var me=this,offset=me.anchor?[0,0]:[15,18];if(me.mouseOffset){offset[0]+=me.mouseOffset[0];offset[1]+=me.mouseOffset[1]}return offset},getAnchorPosition:function(){var me=this,m;if(me.anchor){me.tipAnchor=me.anchor.charAt(0)}else{m=me.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);me.tipAnchor=m[1].charAt(0)}switch(me.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var me=this,mouseOffset,offsets,ap=me.getAnchorPosition().charAt(0);if(me.anchorToTarget&&!me.trackMouse){switch(ap){case"t":offsets=[0,9];break;case"b":offsets=[0,-13];break;case"r":offsets=[-13,0];break;default:offsets=[9,0];break}}else{switch(ap){case"t":offsets=[-15-me.anchorOffset,30];break;case"b":offsets=[-19-me.anchorOffset,-13-me.el.dom.offsetHeight];break;case"r":offsets=[-15-me.el.dom.offsetWidth,-13-me.anchorOffset];break;default:offsets=[25,-13-me.anchorOffset];break}}mouseOffset=me.getMouseOffset();offsets[0]+=mouseOffset[0];offsets[1]+=mouseOffset[1];return offsets},onTargetOver:function(e){var me=this,t;if(me.disabled||e.within(me.target.dom,true)){return}t=e.getTarget(me.delegate);if(t){me.triggerElement=t;me.clearTimer("hide");me.targetXY=e.getXY();me.delayShow()}},delayShow:function(){var me=this;if(me.hidden&&!me.showTimer){if(Ext.Date.getElapsed(me.lastActive)index){co=calloutsArray[len];for(p in co){if(co[p]){co[p].hide(true)}}}}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",measureContentWidth:function(ownerContext){var target=ownerContext.target,paddingInfo=ownerContext.getPaddingInfo(),bbox=this.getBBox(ownerContext);if(!target.viewBox){if(target.autoSize){return bbox.width+paddingInfo.width}else{return bbox.x+bbox.width+paddingInfo.width}}else{if(ownerContext.heightModel.shrinkWrap){return paddingInfo.width}else{return bbox.width/bbox.height*(ownerContext.getProp("contentHeight")-paddingInfo.height)+paddingInfo.width}}},measureContentHeight:function(ownerContext){var target=ownerContext.target,paddingInfo=ownerContext.getPaddingInfo(),bbox=this.getBBox(ownerContext);if(!ownerContext.target.viewBox){if(target.autoSize){return bbox.height+paddingInfo.height}else{return bbox.y+bbox.height+paddingInfo.height}}else{if(ownerContext.widthModel.shrinkWrap){return paddingInfo.height}else{return bbox.height/bbox.width*(ownerContext.getProp("contentWidth")-paddingInfo.width)+paddingInfo.height}}},getBBox:function(ownerContext){var bbox=ownerContext.surfaceBBox;if(!bbox){bbox=ownerContext.target.surface.items.getBBox();if(bbox.width===-Infinity&&bbox.height===-Infinity){bbox.width=bbox.height=bbox.x=bbox.y=0}ownerContext.surfaceBBox=bbox}return bbox},publishInnerWidth:function(ownerContext,width){ownerContext.setContentWidth(width-ownerContext.getFrameInfo().width,true)},publishInnerHeight:function(ownerContext,height){ownerContext.setContentHeight(height-ownerContext.getFrameInfo().height,true)},finishedLayout:function(ownerContext){var props=ownerContext.props,paddingInfo=ownerContext.getPaddingInfo();this.owner.setSurfaceSize(props.contentWidth-paddingInfo.width,props.contentHeight-paddingInfo.height);this.callParent(arguments)}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},autoDestroy:false,isCompositeSprite:true,constructor:function(config){var me=this;config=config||{};Ext.apply(me,config);me.addEvents("mousedown","mouseup","mouseover","mouseout","click");me.id=Ext.id(null,"ext-sprite-group-");me.callParent()},onClick:function(e){this.fireEvent("click",e)},onMouseUp:function(e){this.fireEvent("mouseup",e)},onMouseDown:function(e){this.fireEvent("mousedown",e)},onMouseOver:function(e){this.fireEvent("mouseover",e)},onMouseOut:function(e){this.fireEvent("mouseout",e)},attachEvents:function(o){var me=this;o.on({scope:me,mousedown:me.onMouseDown,mouseup:me.onMouseUp,mouseover:me.onMouseOver,mouseout:me.onMouseOut,click:me.onClick})},add:function(key,o){var result=this.callParent(arguments);this.attachEvents(result);return result},insert:function(index,key,o){return this.callParent(arguments)},remove:function(o){var me=this;o.un({scope:me,mousedown:me.onMouseDown,mouseup:me.onMouseUp,mouseover:me.onMouseOver,mouseout:me.onMouseOut,click:me.onClick});return me.callParent(arguments)},getBBox:function(){var i=0,sprite,bb,items=this.items,len=this.length,infinity=Infinity,minX=infinity,maxHeight=-infinity,minY=infinity,maxWidth=-infinity,maxWidthBBox,maxHeightBBox;for(;i0){item=me.first();me.remove(item);surface.remove(item,destroySprites)}}me.clearListeners()}});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml","Ext.draw.engine.SvgExporter","Ext.draw.engine.ImageExporter"],separatorRe:/[, ]+/,statics:{create:function(config,enginePriority){enginePriority=enginePriority||["Svg","Vml"];var i=0,len=enginePriority.length,surfaceClass;for(;i1,items,results,i,ln,item;if(hasMultipleArgs||Ext.isArray(args[0])){items=hasMultipleArgs?args:args[0];results=[];for(i=0,ln=items.length;izIndex){high=idx-1}else{if(otherZIndex-1;i--){this.remove(items[i],destroySprites)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var me=this,viewBox=me.viewBox,width=me.width||1,height=me.height||1,viewBoxX,viewBoxY,viewBoxWidth,viewBoxHeight,relativeHeight,relativeWidth,size;if(viewBox&&(width||height)){viewBoxX=viewBox.x;viewBoxY=viewBox.y;viewBoxWidth=viewBox.width;viewBoxHeight=viewBox.height;relativeHeight=height/viewBoxHeight;relativeWidth=width/viewBoxWidth;size=Math.min(relativeWidth,relativeHeight);if(viewBoxWidth*size0.85){midColor=midColor.getDarker(0.3)}else{if(midL>0.7){midColor=midColor.getDarker(0.15)}}}}config.colors=[midColor.getDarker(0.3).toString(),midColor.getDarker(0.15).toString(),midColor.toString(),midColor.getLighter(0.15).toString(),midColor.getLighter(0.3).toString()];delete config.baseColor}if(config.colors){colors=config.colors.slice();markerThemes=base.markerThemes;seriesThemes=base.seriesThemes;l=colors.length;base.colors=colors;for(;i0?staticX:staticX+width,y:height>0?staticY:staticY+height,width:abs(width),height:abs(height)};me.mask.updateBox(me.maskSelection);me.mask.show();me.maskSprite.setAttributes({hidden:true},true)}else{if(mask=="horizontal"){path=["M",staticX,y,"L",staticX,height]}else{if(mask=="vertical"){path=["M",x,staticY,"L",width,staticY]}else{path=["M",staticX,y,"L",staticX,height,"M",x,staticY,"L",width,staticY]}}me.maskSprite.setAttributes({path:path,fill:me.maskMouseDown?me.maskSprite.stroke:false,"stroke-width":mask===true?1:3,hidden:false},true)}},onMouseLeave:function(e){var me=this;me.mouseMoved=false;me.mouseDown=false;me.maskMouseDown=false;me.mask.hide();me.maskSprite.hide(true)}});Ext.define("Ext.chart.Navigation",{constructor:function(){this.originalStore=this.store},setZoom:function(zoomConfig){var me=this,axes=me.axes,axesItems=axes.items,i,ln,axis,bbox=me.chartBBox,xScale=1/bbox.width,yScale=1/bbox.height,zoomer={x:zoomConfig.x*xScale,y:zoomConfig.y*yScale,width:zoomConfig.width*xScale,height:zoomConfig.height*yScale},ends,from,to;for(i=0,ln=axesItems.length;i0.5?0.2:0.8;label.setAttributes({fill:String(Color.fromHSL.apply({},labelColor))},true)}}count++;index++}}groupLength=group.length;while(groupLength>groupIndex){hides.push(groupIndex);groupIndex++}}me.hideLabels(hides)},hideLabels:function(hides){var labelsGroup=this.labelsGroup,hlen=!!hides&&hides.length;if(!labelsGroup){return}if(hlen===false){hlen=labelsGroup.getCount();while(hlen--){labelsGroup.getAt(hlen).hide(true)}}else{while(hlen--){labelsGroup.getAt(hides[hlen]).hide(true)}}}});Ext.define("Ext.chart.TipSurface",{extend:"Ext.draw.Component",spriteArray:false,renderFirst:true,constructor:function(config){this.callParent([config]);if(config.sprites){this.spriteArray=[].concat(config.sprites);delete config.sprites}},onRender:function(){var me=this,i=0,l=0,sp,sprites;this.callParent(arguments);sprites=me.spriteArray;if(me.renderFirst&&sprites){me.renderFirst=false;for(l=sprites.length;ivalue){min=value}if(max0){min=0}if(max=max){max=min+1}return{min:min,max:max}},calcEnds:function(){var me=this,range=me.getRange(),min=range.min,max=range.max,steps,prettyNumbers,out,changedRange;steps=(Ext.isNumber(me.majorTickSteps)?me.majorTickSteps+1:me.steps);prettyNumbers=!(Ext.isNumber(me.maximum)&&Ext.isNumber(me.minimum)&&Ext.isNumber(me.majorTickSteps)&&me.majorTickSteps>0);out=Ext.draw.Draw.snapEnds(min,max,steps,prettyNumbers);if(Ext.isNumber(me.maximum)){out.to=me.maximum;changedRange=true}if(Ext.isNumber(me.minimum)){out.from=me.minimum;changedRange=true}if(me.adjustMaximumByMajorUnit){out.to=Math.ceil(out.to/out.step)*out.step;changedRange=true}if(me.adjustMinimumByMajorUnit){out.from=Math.floor(out.from/out.step)*out.step;changedRange=true}if(changedRange){out.steps=Math.ceil((out.to-out.from)/out.step)}me.prevMin=(min==max?0:min);me.prevMax=max;return out},drawAxis:function(init){var me=this,i,x=me.x,y=me.y,gutterX=me.chart.maxGutter[0],gutterY=me.chart.maxGutter[1],dashSize=me.dashSize,subDashesX=me.minorTickSteps||0,subDashesY=me.minorTickSteps||0,length=me.length,position=me.position,inflections=[],calcLabels=false,stepCalcs=me.applyData(),step=stepCalcs.step,steps=stepCalcs.steps,from=stepCalcs.from,to=stepCalcs.to,trueLength,currentX,currentY,path,dashesX,dashesY,delta;if(me.hidden||isNaN(step)||(from>to)){return}me.from=stepCalcs.from;me.to=stepCalcs.to;if(position=="left"||position=="right"){currentX=Math.floor(x)+0.5;path=["M",currentX,y,"l",0,-length];trueLength=length-(gutterY*2)}else{currentY=Math.floor(y)+0.5;path=["M",x,currentY,"l",length,0];trueLength=length-(gutterX*2)}delta=steps&&trueLength/steps;dashesX=Math.max(subDashesX+1,0);dashesY=Math.max(subDashesY+1,0);if(me.type=="Numeric"||me.type=="Time"){calcLabels=true;me.labels=[stepCalcs.from]}if(position=="right"||position=="left"){currentY=y-gutterY;currentX=x-((position=="left")*dashSize*2);while(currentY>=y-gutterY-trueLength){path.push("M",currentX,Math.floor(currentY)+0.5,"l",dashSize*2+1,0);if(currentY!=y-gutterY){for(i=1;i=0){if(!this.sprites){for(i=0;i<=steps;i++){sprite=surface.add({type:"path",path:["M",centerX+(rho-margin)*cos(i/steps*pi-pi),centerY+(rho-margin)*sin(i/steps*pi-pi),"L",centerX+rho*cos(i/steps*pi-pi),centerY+rho*sin(i/steps*pi-pi),"Z"],stroke:"#ccc"});sprite.setAttributes({hidden:false},true);sprites.push(sprite)}}else{sprites=this.sprites;for(i=0;i<=steps;i++){sprites[i].setAttributes({path:["M",centerX+(rho-margin)*cos(i/steps*pi-pi),centerY+(rho-margin)*sin(i/steps*pi-pi),"L",centerX+rho*cos(i/steps*pi-pi),centerY+rho*sin(i/steps*pi-pi),"Z"],stroke:"#ccc"},true)}}}this.sprites=sprites;this.drawLabel();if(this.title){this.drawTitle()}},drawTitle:function(){var me=this,chart=me.chart,surface=chart.surface,bbox=chart.chartBBox,labelSprite=me.titleSprite,labelBBox;if(!labelSprite){me.titleSprite=labelSprite=surface.add({type:"text",zIndex:2})}labelSprite.setAttributes(Ext.apply({text:me.title},me.label||{}),true);labelBBox=labelSprite.getBBox();labelSprite.setAttributes({x:bbox.x+(bbox.width/2)-(labelBBox.width/2),y:bbox.y+bbox.height-(labelBBox.height/2)-4},true)},setTitle:function(title){this.title=title;this.drawTitle()},drawLabel:function(){var chart=this.chart,surface=chart.surface,bbox=chart.chartBBox,centerX=bbox.x+(bbox.width/2),centerY=bbox.y+bbox.height,margin=this.margin||10,rho=Math.min(bbox.width,2*bbox.height)/2+2*margin,round=Math.round,labelArray=[],label,maxValue=this.maximum||0,minValue=this.minimum||0,steps=this.steps,i=0,adjY,pi=Math.PI,cos=Math.cos,sin=Math.sin,labelConf=this.label,renderer=labelConf.renderer||function(v){return v};if(!this.labelArray){for(i=0;i<=steps;i++){adjY=(i===0||i===steps)?7:0;label=surface.add({type:"text",text:renderer(round(minValue+i/steps*(maxValue-minValue))),x:centerX+rho*cos(i/steps*pi-pi),y:centerY+rho*sin(i/steps*pi-pi)-adjY,"text-anchor":"middle","stroke-width":0.2,zIndex:10,stroke:"#333"});label.setAttributes({hidden:false},true);labelArray.push(label)}}else{labelArray=this.labelArray;for(i=0;i<=steps;i++){adjY=(i===0||i===steps)?7:0;labelArray[i].setAttributes({text:renderer(round(minValue+i/steps*(maxValue-minValue))),x:centerX+rho*cos(i/steps*pi-pi),y:centerY+rho*sin(i/steps*pi-pi)-adjY},true)}}this.labelArray=labelArray}});Ext.define("Ext.chart.axis.Numeric",{extend:"Ext.chart.axis.Axis",alternateClassName:"Ext.chart.NumericAxis",type:"numeric",alias:"axis.numeric",uses:["Ext.data.Store"],constructor:function(config){var me=this,hasLabel=!!(config.label&&config.label.renderer),label;me.callParent([config]);label=me.label;if(config.constrain==null){me.constrain=(config.minimum!=null&&config.maximum!=null)}if(!hasLabel){label.renderer=function(v){return me.roundToDecimal(v,me.decimals)}}},roundToDecimal:function(v,dec){var val=Math.pow(10,dec||0);return Math.round(v*val)/val},minimum:NaN,maximum:NaN,constrain:true,decimals:2,scale:"linear",doConstrain:function(){var me=this,store=me.chart.store,items=store.data.items,d,dLen,record,series=me.chart.series.items,fields=me.fields,ln=fields.length,range=me.calcEnds(),min=range.from,max=range.to,i,l,useAcum=false,value,data=[],addRecord;for(i=0,l=series.length;i+max){addRecord=false;break}}if(addRecord){data.push(record)}}me.chart.substore=Ext.create("Ext.data.Store",{model:store.model});me.chart.substore.loadData(data)},position:"left",adjustMaximumByMajorUnit:false,adjustMinimumByMajorUnit:false,processView:function(){var me=this,constrain=me.constrain;if(constrain){me.doConstrain()}},applyData:function(){this.callParent();return this.calcEnds()}});Ext.define("Ext.chart.axis.Radial",{extend:"Ext.chart.axis.Abstract",position:"radial",alias:"axis.radial",drawAxis:function(init){var chart=this.chart,surface=chart.surface,bbox=chart.chartBBox,store=chart.store,l=store.getCount(),centerX=bbox.x+(bbox.width/2),centerY=bbox.y+(bbox.height/2),rho=Math.min(bbox.width,bbox.height)/2,sprites=[],sprite,steps=this.steps,i,j,pi2=Math.PI*2,cos=Math.cos,sin=Math.sin;if(this.sprites&&!chart.resizing){this.drawLabel();return}if(!this.sprites){for(i=1;i<=steps;i++){sprite=surface.add({type:"circle",x:centerX,y:centerY,radius:Math.max(rho*i/steps,0),stroke:"#ccc"});sprite.setAttributes({hidden:false},true);sprites.push(sprite)}for(i=0;i>0),df)}}}},processView:function(){var me=this;if(me.fromDate){me.minimum=+me.fromDate}if(me.toDate){me.maximum=+me.toDate}if(me.constrain){me.doConstrain()}},calcEnds:function(){var me=this,range,step=me.step;if(step){range=me.getRange();range=Ext.draw.Draw.snapEndsByDateAndStep(new Date(range.min),new Date(range.max),Ext.isNumber(step)?[Date.MILLI,step]:step);if(me.minimum){range.from=me.minimum}if(me.maximum){range.to=me.maximum}range.step=(range.to-range.from)/range.steps;return range}else{return me.callParent(arguments)}}});Ext.define("Ext.chart.series.Series",{mixins:{observable:"Ext.util.Observable",labels:"Ext.chart.Label",highlights:"Ext.chart.Highlight",tips:"Ext.chart.Tip",callouts:"Ext.chart.Callout"},type:null,title:null,showInLegend:true,renderer:function(sprite,record,attributes,index,store){return attributes},shadowAttributes:null,animating:false,constructor:function(config){var me=this;if(config){Ext.apply(me,config)}me.shadowGroups=[];me.mixins.labels.constructor.call(me,config);me.mixins.highlights.constructor.call(me,config);me.mixins.tips.constructor.call(me,config);me.mixins.callouts.constructor.call(me,config);me.addEvents({scope:me,itemmouseover:true,itemmouseout:true,itemmousedown:true,itemmouseup:true,mouseleave:true,afterdraw:true,titlechange:true});me.mixins.observable.constructor.call(me,config);me.on({scope:me,itemmouseover:me.onItemMouseOver,itemmouseout:me.onItemMouseOut,mouseleave:me.onMouseLeave});if(me.style){Ext.apply(me.seriesStyle,me.style)}},eachRecord:function(fn,scope){var chart=this.chart;(chart.substore||chart.store).each(fn,scope)},getRecordCount:function(){var chart=this.chart,store=chart.substore||chart.store;return store?store.getCount():0},isExcluded:function(index){var excludes=this.__excludes;return !!(excludes&&excludes[index])},setBBox:function(noGutter){var me=this,chart=me.chart,chartBBox=chart.chartBBox,gutterX=noGutter?0:chart.maxGutter[0],gutterY=noGutter?0:chart.maxGutter[1],clipBox,bbox;clipBox={x:chartBBox.x,y:chartBBox.y,width:chartBBox.width,height:chartBBox.height};me.clipBox=clipBox;bbox={x:(clipBox.x+gutterX)-(chart.zoom.x*chart.zoom.width),y:(clipBox.y+gutterY)-(chart.zoom.y*chart.zoom.height),width:(clipBox.width-(gutterX*2))*chart.zoom.width,height:(clipBox.height-(gutterY*2))*chart.zoom.height};me.bbox=bbox},onAnimate:function(sprite,attr){var me=this;sprite.stopAnimation();if(me.animating){return sprite.animate(Ext.applyIf(attr,me.chart.animate))}else{me.animating=true;return sprite.animate(Ext.apply(Ext.applyIf(attr,me.chart.animate),{listeners:{afteranimate:function(){me.animating=false;me.fireEvent("afterrender")}}}))}},getGutters:function(){return[0,0]},onItemMouseOver:function(item){var me=this;if(item.series===me){if(me.highlight){me.highlightItem(item)}if(me.tooltip){me.showTip(item)}}},onItemMouseOut:function(item){var me=this;if(item.series===me){me.unHighlightItem();if(me.tooltip){me.hideTip(item)}}},onMouseLeave:function(){var me=this;me.unHighlightItem();if(me.tooltip){me.hideTip()}},getItemForPoint:function(x,y){if(!this.items||!this.items.length||this.seriesIsHidden){return null}var me=this,items=me.items,bbox=me.bbox,item,i,ln;if(!Ext.draw.Draw.withinBox(x,y,bbox)){return null}for(i=0,ln=items.length;i0){min=Infinity;max=-min;for(i=0,ln=data.length;imax){max=xValue}if(xValuemax){max=yValue}if(yValue0){min=Infinity;max=-min;for(i=0,ln=data.length;imax){max=positiveTotal}if(negativeTotal-1){xAxis="top"}else{if(Ext.Array.indexOf(axis,"bottom")>-1){xAxis="bottom"}else{if(axes.get("top")&&axes.get("bottom")){for(i=0,ln=xFieldList.length;i-1){yAxis="left"}else{if(Ext.Array.indexOf(axis,"right")>-1){yAxis="right"}else{if(axes.get("left")&&axes.get("right")){for(i=0,ln=yFieldList.length;ibbox.width)&&me.areas){sumValues=me.shrink(xValues,yValues,bbox.width);xValues=sumValues.x;yValues=sumValues.y}return{bbox:bbox,minX:minX,minY:minY,xValues:xValues,yValues:yValues,xScale:xScale,yScale:yScale,areasLen:areasLen}},getPaths:function(){var me=this,chart=me.chart,store=chart.getChartStore(),first=true,bounds=me.getBounds(),bbox=bounds.bbox,items=me.items=[],componentPaths=[],componentPath,count=0,paths=[],i,ln,x,y,xValue,yValue,acumY,areaIndex,prevAreaIndex,areaElem,path;ln=bounds.xValues.length;for(i=0;ibbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y;if(me.chart.animate&&!me.chart.resizing){label.show(true);me.onAnimate(label,{to:{x:x,y:y}})}else{label.setAttributes({x:x,y:y},true);if(resizing){me.animation.on("afteranimate",function(){label.show(true)})}else{label.show(true)}}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,prev=(i==0)?false:items[i-1].point,next=(i==items.length-1)?false:items[i+1].point,cur=item.point,dir,norm,normal,a,aprev,anext,bbox=callout.label.getBBox(),offsetFromViz=30,offsetToSide=10,offsetBox=3,boxx,boxy,boxw,boxh,p,clipRect=me.clipRect,x,y;if(!prev){prev=cur}if(!next){next=cur}a=(next[1]-prev[1])/(next[0]-prev[0]);aprev=(cur[1]-prev[1])/(cur[0]-prev[0]);anext=(next[1]-cur[1])/(next[0]-cur[0]);norm=Math.sqrt(1+a*a);dir=[1/norm,a/norm];normal=[-dir[1],dir[0]];if(aprev>0&&anext<0&&normal[1]<0||aprev<0&&anext>0&&normal[1]>0){normal[0]*=-1;normal[1]*=-1}else{if(Math.abs(aprev)Math.abs(anext)&&normal[0]>0){normal[0]*=-1;normal[1]*=-1}}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);callout.box.setAttributes({x:boxx,y:boxy,width:boxw,height:boxh},true);callout.label.setAttributes({x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y},true);for(p in callout){callout[p].show(true)}},isItemInPoint:function(x,y,item,i){var me=this,pointsUp=item.pointsUp,pointsDown=item.pointsDown,abs=Math.abs,distChanged=false,last=false,dist=Infinity,p,pln,point;for(p=0,pln=pointsUp.length;pabs(x-point[0])){dist=abs(x-point[0]);distChanged=true;if(last){++p}}if(!distChanged||(distChanged&&last)){point=pointsUp[p-1];if(y>=point[1]&&(!pointsDown.length||y<=(pointsDown[p-1][1]))){item.storeIndex=p-1;item.storeField=me.yField[i];item.storeItem=me.chart.store.getAt(p-1);item._points=pointsDown.length?[point,pointsDown[p-1]]:[point];return true}else{break}}}return false},highlightSeries:function(){var area,to,fillColor;if(this._index!==undefined){area=this.areas[this._index];if(area.__highlightAnim){area.__highlightAnim.paused=true}area.__highlighted=true;area.__prevOpacity=area.__prevOpacity||area.attr.opacity||1;area.__prevFill=area.__prevFill||area.attr.fill;area.__prevLineWidth=area.__prevLineWidth||area.attr.lineWidth;fillColor=Ext.draw.Color.fromString(area.__prevFill);to={lineWidth:(area.__prevLineWidth||0)+2};if(fillColor){to.fill=fillColor.getLighter(0.2).toString()}else{to.opacity=Math.max(area.__prevOpacity-0.3,0)}if(this.chart.animate){area.__highlightAnim=new Ext.fx.Anim(Ext.apply({target:area,to:to},this.chart.animate))}else{area.setAttributes(to,true)}}},unHighlightSeries:function(){var area;if(this._index!==undefined){area=this.areas[this._index];if(area.__highlightAnim){area.__highlightAnim.paused=true}if(area.__highlighted){area.__highlighted=false;area.__highlightAnim=new Ext.fx.Anim({target:area,to:{fill:area.__prevFill,opacity:area.__prevOpacity,lineWidth:area.__prevLineWidth}})}}},highlightItem:function(item){var me=this,points,path;if(!item){this.highlightSeries();return}points=item._points;path=points.length==2?["M",points[0][0],points[0][1],"L",points[1][0],points[1][1]]:["M",points[0][0],points[0][1],"L",points[0][0],me.bbox.y+me.bbox.height];me.highlightSprite.setAttributes({path:path,hidden:false},true)},unHighlightItem:function(item){if(!item){this.unHighlightSeries()}if(this.highlightSprite){this.highlightSprite.hide(true)}},hideAll:function(index){var me=this;index=(isNaN(me._index)?index:me._index)||0;me.__excludes[index]=true;me.areas[index].hide(true);me.redraw()},showAll:function(index){var me=this;index=(isNaN(me._index)?index:me._index)||0;me.__excludes[index]=false;me.areas[index].show(true);me.redraw()},redraw:function(){var me=this,prevLegendConfig;prevLegendConfig=me.chart.legend.rebuild;me.chart.legend.rebuild=false;me.chart.redraw();me.chart.legend.rebuild=prevLegendConfig},hide:function(){if(this.areas){var me=this,areas=me.areas,i,j,l,ln,shadows;if(areas&&areas.length){for(i=0,ln=areas.length;i0)][i]+=mabs(rec)}}total[+(maxY>0)].push(mabs(maxY));total[+(minY>0)].push(mabs(minY));minus=mmax.apply(math,total[0]);plus=mmax.apply(math,total[1]);scale=(column?bbox.height-yPadding*2:bbox.width-xPadding*2)/(plus+minus);zero=zero+minus*scale*(column?-1:1)}else{if(minY/maxY<0){zero=zero-minY*scale*(column?-1:1)}}return{bars:bars,bbox:bbox,shrunkBarWidth:shrunkBarWidth,barsLen:barsLen,groupBarsLen:groupBarsLen,barWidth:barWidth,groupBarWidth:groupBarWidth,scale:scale,zero:zero,xPadding:xPadding,yPadding:yPadding,signed:minY/maxY<0,minY:minY,maxY:maxY}},getPaths:function(){var me=this,chart=me.chart,store=chart.getChartStore(),data=store.data.items,i,total,record,bounds=me.bounds=me.getBounds(),items=me.items=[],yFields=me.yField,gutter=me.gutter/100,groupGutter=me.groupGutter/100,animate=chart.animate,column=me.column,group=me.group,enableShadows=chart.shadow,shadowGroups=me.shadowGroups,shadowAttributes=me.shadowAttributes,shadowGroupsLn=shadowGroups.length,bbox=bounds.bbox,barWidth=bounds.barWidth,shrunkBarWidth=bounds.shrunkBarWidth,xPadding=me.xPadding,yPadding=me.yPadding,stacked=me.stacked,barsLen=bounds.barsLen,colors=me.colorArrayStyle,colorLength=colors&&colors.length||0,math=Math,mmax=math.max,mmin=math.min,mabs=math.abs,j,yValue,height,totalDim,totalNegDim,bottom,top,hasShadow,barAttr,attrs,counter,shadowIndex,shadow,sprite,offset,floorY;for(i=0,total=data.length;i1?j:0)%colorLength]};if(column){Ext.apply(barAttr,{height:height,width:mmax(bounds.groupBarWidth,0),x:(bbox.x+xPadding+(barWidth-shrunkBarWidth)*0.5+i*barWidth*(1+gutter)+counter*bounds.groupBarWidth*(1+groupGutter)*!stacked),y:bottom-height})}else{offset=(total-1)-i;Ext.apply(barAttr,{height:mmax(bounds.groupBarWidth,0),width:height+(bottom==bounds.zero),x:bottom+(bottom!=bounds.zero),y:(bbox.y+yPadding+(barWidth-shrunkBarWidth)*0.5+offset*barWidth*(1+gutter)+counter*bounds.groupBarWidth*(1+groupGutter)*!stacked+1)})}if(height<0){if(column){barAttr.y=top;barAttr.height=mabs(height)}else{barAttr.x=top+height;barAttr.width=mabs(height)}}if(stacked){if(height<0){top+=height*(column?-1:1)}else{bottom+=height*(column?-1:1)}totalDim+=mabs(height);if(height<0){totalNegDim+=mabs(height)}}barAttr.x=Math.floor(barAttr.x)+1;floorY=Math.floor(barAttr.y);if(!Ext.isIE9&&barAttr.y>floorY){floorY--}barAttr.y=floorY;barAttr.width=Math.floor(barAttr.width);barAttr.height=Math.floor(barAttr.height);items.push({series:me,yField:yFields[j],storeItem:record,value:[record.get(me.xField),yValue],attr:barAttr,point:column?[barAttr.x+barAttr.width/2,yValue>=0?barAttr.y:barAttr.y+barAttr.height]:[yValue>=0?barAttr.x+barAttr.width:barAttr.x,barAttr.y+barAttr.height/2]});if(animate&&chart.resizing){attrs=column?{x:barAttr.x,y:bounds.zero,width:barAttr.width,height:0}:{x:bounds.zero,y:barAttr.y,width:0,height:barAttr.height};if(enableShadows&&(stacked&&!hasShadow||!stacked)){hasShadow=true;for(shadowIndex=0;shadowIndex(yValue>=0?zero-chartBBox.y:chartBBox.y+chartBBox.height-zero)){display=insideEnd}}else{if(height+offsetY>attr.height){display=outside;label.isOutside=true}}x=attr.x+groupBarWidth/2;y=display==insideStart?(zero+((height/2+3)*(yValue>=0?-1:1))):(yValue>=0?(attr.y+((height/2+3)*(display==outside?-1:1))):(attr.y+attr.height+((height/2+3)*(display===outside?1:-1))))}else{if(display==outside){if(width+offsetX+attr.width>(yValue>=0?chartBBox.x+chartBBox.width-zero:zero-chartBBox.x)){display=insideEnd}}else{if(width+offsetX>attr.width){display=outside;label.isOutside=true}}x=display==insideStart?(zero+((width/2+5)*(yValue>=0?1:-1))):(yValue>=0?(attr.x+attr.width+((width/2+5)*(display===outside?1:-1))):(attr.x+((width/2+5)*(display===outside?-1:1))));y=attr.y+groupBarWidth/2}finalAttr={x:x,y:y};if(rotate){finalAttr.rotate={x:x,y:y,degrees:270}}if(animate&&resizing){if(column){x=attr.x+attr.width/2;y=zero}else{x=zero;y=attr.y+attr.height/2}label.setAttributes({x:x,y:y},true);if(rotate){label.setAttributes({rotate:{x:x,y:y,degrees:270}},true)}}if(animate){me.onAnimate(label,{to:finalAttr})}else{label.setAttributes(Ext.apply(finalAttr,{hidden:false}),true)}},getLabelSize:function(value){var tester=this.testerLabel,config=this.label,endLabelStyle=Ext.apply({},config,this.seriesLabelStyle||{}),rotated=config.orientation==="vertical",bbox,w,h,undef;if(!tester){tester=this.testerLabel=this.chart.surface.add(Ext.apply({type:"text",opacity:0},endLabelStyle))}tester.setAttributes({text:value},true);bbox=tester.getBBox();w=bbox.width;h=bbox.height;return{width:rotated?h:w,height:rotated?w:h}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item){var bbox=item.sprite.getBBox();return bbox.x<=x&&bbox.y<=y&&(bbox.x+bbox.width)>=x&&(bbox.y+bbox.height)>=y},hideAll:function(index){var axes=this.chart.axes,axesItems=axes.items,ln=axesItems.length,i=0;index=(isNaN(this._index)?index:this._index)||0;if(!this.__excludes){this.__excludes=[]}this.__excludes[index]=true;this.drawSeries();for(i;i180,a1=Math.min(startAngle,endAngle)*rad,a2=Math.max(startAngle,endAngle)*rad,singleSlice=false;x+=margin*cos(midAngle);y+=margin*sin(midAngle);x1=x+opt.startRho*cos(a1);y1=y+opt.startRho*sin(a1);x2=x+opt.endRho*cos(a1);y2=y+opt.endRho*sin(a1);x3=x+opt.startRho*cos(a2);y3=y+opt.startRho*sin(a2);x4=x+opt.endRho*cos(a2);y4=y+opt.endRho*sin(a2);if(abs(x1-x3)<=delta&&abs(y1-y3)<=delta){singleSlice=true}if(singleSlice){return{path:[["M",x1,y1],["L",x2,y2],["A",opt.endRho,opt.endRho,0,+flag,1,x4,y4],["Z"]]}}else{return{path:[["M",x1,y1],["L",x2,y2],["A",opt.endRho,opt.endRho,0,+flag,1,x4,y4],["L",x3,y3],["A",opt.startRho,opt.startRho,0,+flag,0,x1,y1],["Z"]]}}},calcMiddle:function(item){var me=this,rad=me.rad,slice=item.slice,x=me.centerX,y=me.centerY,startAngle=slice.startAngle,endAngle=slice.endAngle,radius=Math.max(("rho" in slice)?slice.rho:me.radius,me.label.minMargin),donut=+me.donut,a1=Math.min(startAngle,endAngle)*rad,a2=Math.max(startAngle,endAngle)*rad,midAngle=-(a1+(a2-a1)/2),xm=x+(item.endRho+item.startRho)/2*Math.cos(midAngle),ym=y-(item.endRho+item.startRho)/2*Math.sin(midAngle);item.middle={x:xm,y:ym}},drawSeries:function(){var me=this,chart=me.chart,store=chart.getChartStore(),group=me.group,animate=me.chart.animate,axis=me.chart.axes.get(0),minimum=axis&&axis.minimum||me.minimum||0,maximum=axis&&axis.maximum||me.maximum||0,field=me.angleField||me.field||me.xField,surface=chart.surface,chartBBox=chart.chartBBox,rad=me.rad,donut=+me.donut,values={},items=[],seriesStyle=me.seriesStyle,seriesLabelStyle=me.seriesLabelStyle,colorArrayStyle=me.colorArrayStyle,colorArrayLength=colorArrayStyle&&colorArrayStyle.length||0,gutterX=chart.maxGutter[0],gutterY=chart.maxGutter[1],cos=Math.cos,sin=Math.sin,rendererAttributes,centerX,centerY,slice,slices,sprite,value,item,ln,record,i,j,startAngle,endAngle,middleAngle,sliceLength,path,p,spriteOptions,bbox,splitAngle,sliceA,sliceB;Ext.apply(seriesStyle,me.style||{});me.setBBox();bbox=me.bbox;if(me.colorSet){colorArrayStyle=me.colorSet;colorArrayLength=colorArrayStyle.length}if(!store||!store.getCount()||me.seriesIsHidden){me.hide();me.items=[];return}centerX=me.centerX=chartBBox.x+(chartBBox.width/2);centerY=me.centerY=chartBBox.y+chartBBox.height;me.radius=Math.min(centerX-chartBBox.x,centerY-chartBBox.y);me.slices=slices=[];me.items=items=[];if(!me.value){record=store.getAt(0);me.value=record.get(field)}value=me.value;if(me.needle){sliceA={series:me,value:value,startAngle:-180,endAngle:0,rho:me.radius};splitAngle=-180*(1-(value-minimum)/(maximum-minimum));slices.push(sliceA)}else{splitAngle=-180*(1-(value-minimum)/(maximum-minimum));sliceA={series:me,value:value,startAngle:-180,endAngle:splitAngle,rho:me.radius};sliceB={series:me,value:me.maximum-value,startAngle:splitAngle,endAngle:0,rho:me.radius};slices.push(sliceA,sliceB)}for(i=0,ln=slices.length;i=startAngle&&angle=item.startRho&&rho<=item.endRho)},showAll:function(){if(!isNaN(this._index)){this.__excludes[this._index]=false;this.drawSeries()}},getLegendColor:function(index){var me=this;return me.colorArrayStyle[index%me.colorArrayStyle.length]}});Ext.define("Ext.chart.series.Line",{extend:"Ext.chart.series.Cartesian",alternateClassName:["Ext.chart.LineSeries","Ext.chart.LineChart"],requires:["Ext.chart.axis.Axis","Ext.chart.Shape","Ext.draw.Draw","Ext.fx.Anim"],type:"line",alias:"series.line",selectionTolerance:20,showMarkers:true,markerConfig:{},style:{},smooth:false,defaultSmoothness:3,fill:false,constructor:function(config){this.callParent(arguments);var me=this,surface=me.chart.surface,shadow=me.chart.shadow,i,l;config.highlightCfg=Ext.Object.merge({"stroke-width":3},config.highlightCfg);Ext.apply(me,config,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":0.05,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":4,"stroke-opacity":0.1,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":2,"stroke-opacity":0.15,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}}]});me.group=surface.getGroup(me.seriesId);if(me.showMarkers){me.markerGroup=surface.getGroup(me.seriesId+"-markers")}if(shadow){for(i=0,l=me.shadowAttributes.length;ibbox.width){coords=me.shrink(xValues,yValues,bbox.width);xValues=coords.x;yValues=coords.y}me.items=[];count=0;ln=xValues.length;for(i=0;ibbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=(y-heightbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y}}if(me.chart.animate&&!me.chart.resizing){label.show(true);me.onAnimate(label,{to:{x:x,y:y}})}else{label.setAttributes({x:x,y:y},true);if(resizing&&me.animation){me.animation.on("afteranimate",function(){label.show(true)})}else{label.show(true)}}},highlightItem:function(){var me=this;me.callParent(arguments);if(me.line&&!me.highlighted){if(!("__strokeWidth" in me.line)){me.line.__strokeWidth=parseFloat(me.line.attr["stroke-width"])||0}if(me.line.__anim){me.line.__anim.paused=true}me.line.__anim=Ext.create("Ext.fx.Anim",{target:me.line,to:{"stroke-width":me.line.__strokeWidth+3}});me.highlighted=true}},unHighlightItem:function(){var me=this;me.callParent(arguments);if(me.line&&me.highlighted){me.line.__anim=Ext.create("Ext.fx.Anim",{target:me.line,to:{"stroke-width":me.line.__strokeWidth}});me.highlighted=false}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){if(!display){return}var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,prev=i==0?false:items[i-1].point,next=(i==items.length-1)?false:items[i+1].point,cur=[+item.point[0],+item.point[1]],dir,norm,normal,a,aprev,anext,offsetFromViz=config.offsetFromViz||30,offsetToSide=config.offsetToSide||10,offsetBox=config.offsetBox||3,boxx,boxy,boxw,boxh,p,clipRect=me.clipRect,bbox={width:config.styles.width||10,height:config.styles.height||10},x,y;if(!prev){prev=cur}if(!next){next=cur}a=(next[1]-prev[1])/(next[0]-prev[0]);aprev=(cur[1]-prev[1])/(cur[0]-prev[0]);anext=(next[1]-cur[1])/(next[0]-cur[0]);norm=Math.sqrt(1+a*a);dir=[1/norm,a/norm];normal=[-dir[1],dir[0]];if(aprev>0&&anext<0&&normal[1]<0||aprev<0&&anext>0&&normal[1]>0){normal[0]*=-1;normal[1]*=-1}else{if(Math.abs(aprev)Math.abs(anext)&&normal[0]>0){normal[0]*=-1;normal[1]*=-1}}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",cur[0],cur[1],"L",x,y,"Z"]}});if(callout.panel){callout.panel.setPosition(boxx,boxy,true)}}else{callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);if(callout.panel){callout.panel.setPosition(boxx,boxy)}}for(p in callout){callout[p].show(true)}},isItemInPoint:function(x,y,item,i){var me=this,items=me.items,tolerance=me.selectionTolerance,result=null,prevItem,nextItem,prevPoint,nextPoint,ln,x1,y1,x2,y2,xIntersect,yIntersect,dist1,dist2,dist,midx,midy,sqrt=Math.sqrt,abs=Math.abs;nextItem=items[i];prevItem=i&&items[i-1];if(i>=ln){prevItem=items[ln-1]}prevPoint=prevItem&&prevItem.point;nextPoint=nextItem&&nextItem.point;x1=prevItem?prevPoint[0]:nextPoint[0]-tolerance;y1=prevItem?prevPoint[1]:nextPoint[1];x2=nextItem?nextPoint[0]:prevPoint[0]+tolerance;y2=nextItem?nextPoint[1]:prevPoint[1];dist1=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));dist2=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));dist=Math.min(dist1,dist2);if(dist<=tolerance){return dist==dist1?prevItem:nextItem}return false},toggleAll:function(show){var me=this,i,ln,shadow,shadows;if(!show){Ext.chart.series.Cartesian.prototype.hideAll.call(me)}else{Ext.chart.series.Cartesian.prototype.showAll.call(me)}if(me.line){me.line.setAttributes({hidden:!show},true);if(me.line.shadows){for(i=0,shadows=me.line.shadows,ln=shadows.length;i1?j:i)%colorArrayLength]}||{}));item=Ext.apply({},rendererAttributes.segment,{slice:slice,series:me,storeItem:slice.storeItem,index:i});me.calcMiddle(item);if(enableShadows){item.shadows=slice.shadowAttrs[j]}items[i]=item;if(!sprite){spriteOptions=Ext.apply({type:"path",group:group,middle:item.middle},Ext.apply(seriesStyle,colorArrayStyle&&{fill:colorArrayStyle[(layers>1?j:i)%colorArrayLength]}||{}));sprite=surface.add(Ext.apply(spriteOptions,rendererAttributes))}slice.sprite=slice.sprite||[];item.sprite=sprite;slice.sprite.push(sprite);slice.point=[item.middle.x,item.middle.y];if(animate){rendererAttributes=me.renderer(sprite,store.getAt(i),rendererAttributes,i,store);sprite._to=rendererAttributes;sprite._animating=true;me.onAnimate(sprite,{to:rendererAttributes,listeners:{afteranimate:{fn:function(){this._animating=false},scope:sprite}}})}else{rendererAttributes=me.renderer(sprite,store.getAt(i),Ext.apply(rendererAttributes,{hidden:false}),i,store);sprite.setAttributes(rendererAttributes,true)}rhoAcum+=deltaRho}}ln=group.getCount();for(i=0;i>0]&&group.getAt(i)){group.getAt(i).hide(true)}}if(enableShadows){lnsh=shadowGroups.length;for(shindex=0;shindex>0]){for(j=0;j90&&dg<270)?dg+180:dg;prevDg=label.attr.rotation.degrees;if(prevDg!=null&&Math.abs(prevDg-dg)>180*0.5){if(dg>prevDg){dg-=360}else{dg+=360}dg=dg%360}else{dg=fixAngle(dg)}opt.rotate={degrees:dg,x:opt.x,y:opt.y};break;default:break}opt.translate={x:0,y:0};if(animate&&!resizing&&(display!="rotate"||prevDg!=null)){me.onAnimate(label,{to:opt})}else{label.setAttributes(opt,true)}label._from=from},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,centerX=me.centerX,centerY=me.centerY,middle=item.middle,opt={x:middle.x,y:middle.y},x=middle.x-centerX,y=middle.y-centerY,rho=1,rhoCenter,theta=Math.atan2(y,x||1),bbox=callout.label.getBBox(),offsetFromViz=20,offsetToSide=10,offsetBox=10,p;rho=item.endRho+offsetFromViz;rhoCenter=(item.endRho+item.startRho)/2+(item.endRho-item.startRho)/3;opt.x=rho*Math.cos(theta)+centerX;opt.y=rho*Math.sin(theta)+centerY;x=rhoCenter*Math.cos(theta);y=rhoCenter*Math.sin(theta);if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",x+centerX,y+centerY,"L",opt.x,opt.y,"Z","M",opt.x,opt.y,"l",x>0?offsetToSide:-offsetToSide,0,"z"]}});me.onAnimate(callout.box,{to:{x:opt.x+(x>0?offsetToSide:-(offsetToSide+bbox.width+2*offsetBox)),y:opt.y+(y>0?(-bbox.height-offsetBox/2):(-bbox.height-offsetBox/2)),width:bbox.width+2*offsetBox,height:bbox.height+2*offsetBox}});me.onAnimate(callout.label,{to:{x:opt.x+(x>0?(offsetToSide+offsetBox):-(offsetToSide+bbox.width+offsetBox)),y:opt.y+(y>0?-bbox.height/4:-bbox.height/4)}})}else{callout.lines.setAttributes({path:["M",x+centerX,y+centerY,"L",opt.x,opt.y,"Z","M",opt.x,opt.y,"l",x>0?offsetToSide:-offsetToSide,0,"z"]},true);callout.box.setAttributes({x:opt.x+(x>0?offsetToSide:-(offsetToSide+bbox.width+2*offsetBox)),y:opt.y+(y>0?(-bbox.height-offsetBox/2):(-bbox.height-offsetBox/2)),width:bbox.width+2*offsetBox,height:bbox.height+2*offsetBox},true);callout.label.setAttributes({x:opt.x+(x>0?(offsetToSide+offsetBox):-(offsetToSide+bbox.width+offsetBox)),y:opt.y+(y>0?-bbox.height/4:-bbox.height/4)},true)}for(p in callout){callout[p].show(true)}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item,i){var me=this,cx=me.centerX,cy=me.centerY,abs=Math.abs,dx=abs(x-cx),dy=abs(y-cy),startAngle=item.startAngle,endAngle=item.endAngle,rho=Math.sqrt(dx*dx+dy*dy),angle=Math.atan2(y-cy,x-cx)/me.rad;if(angle>me.firstAngle){angle-=me.accuracy}return(angle<=startAngle&&angle>endAngle&&rho>=item.startRho&&rho<=item.endRho)},hideAll:function(index){var i,l,shadow,shadows,sh,lsh,sprite;index=(isNaN(this._index)?index:this._index)||0;this.__excludes=this.__excludes||[];this.__excludes[index]=true;sprite=this.slices[index].sprite;for(sh=0,lsh=sprite.length;shbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=(y-heightbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y}}if(!chart.animate){label.setAttributes({x:x,y:y},true);label.show(true)}else{if(resizing){anim=item.sprite.getActiveAnimation();if(anim){anim.on("afteranimate",function(){label.setAttributes({x:x,y:y},true);label.show(true)})}else{label.show(true)}}else{me.onAnimate(label,{to:{x:x,y:y}})}}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,cur=item.point,normal,bbox=callout.label.getBBox(),offsetFromViz=30,offsetToSide=10,offsetBox=3,boxx,boxy,boxw,boxh,p,clipRect=me.bbox,x,y;normal=[Math.cos(Math.PI/4),-Math.sin(Math.PI/4)];x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",cur[0],cur[1],"L",x,y,"Z"]}},true);me.onAnimate(callout.box,{to:{x:boxx,y:boxy,width:boxw,height:boxh}},true);me.onAnimate(callout.label,{to:{x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y}},true)}else{callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);callout.box.setAttributes({x:boxx,y:boxy,width:boxw,height:boxh},true);callout.label.setAttributes({x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y},true)}for(p in callout){callout[p].show(true)}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item){var point,tolerance=10,abs=Math.abs;function dist(point){var dx=abs(point[0]-x),dy=abs(point[1]-y);return Math.sqrt(dx*dx+dy*dy)}point=item.point;return(point[0]-tolerance<=x&&point[0]+tolerance>=x&&point[1]-tolerance<=y&&point[1]+tolerance>=y)}});Ext.define("Ext.layout.container.Table",{alias:["layout.table"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.TableLayout",monitorResize:false,type:"table",clearEl:true,targetCls:Ext.baseCSSPrefix+"table-layout-ct",tableCls:Ext.baseCSSPrefix+"table-layout",cellCls:Ext.baseCSSPrefix+"table-layout-cell",tableAttrs:null,itemSizePolicy:{setsWidth:0,setsHeight:0},getItemSizePolicy:function(item){return this.itemSizePolicy},getLayoutItems:function(){var me=this,result=[],items=me.callParent(),item,len=items.length,i;for(i=0;i=totalCols||rowspans[colIdx]>0){if(colIdx>=totalCols){colIdx=0;cellIdx=0;rowIdx++;for(j=0;j0){rowspans[j]--}}}else{colIdx++}}cells.push({rowIdx:rowIdx,cellIdx:cellIdx});for(j=item.colspan||1;j;--j){rowspans[colIdx]=item.rowspan||1;++colIdx}++cellIdx}return cells},getRenderTree:function(){var me=this,items=me.getLayoutItems(),cells,rows=[],result=Ext.apply({tag:"table",role:"presentation",cls:me.tableCls,cellspacing:0,cn:{tag:"tbody",cn:rows}},me.tableAttrs),tdAttrs=me.tdAttrs,needsDivWrap=me.needsDivWrap(),i,len=items.length,item,curCell,tr,rowIdx,cellIdx,cell;cells=me.calculateCells(items);for(i=0;i0){operations.create=toCreate;needsSync=true}if(toUpdate.length>0){operations.update=toUpdate;needsSync=true}if(toDestroy.length>0){operations.destroy=toDestroy;needsSync=true}if(needsSync&&me.fireEvent("beforesync",operations)!==false){options=options||{};me.proxy.batch(Ext.apply(options,{operations:operations,listeners:me.getBatchListeners()}))}return me},getBatchListeners:function(){var me=this,listeners={scope:me,exception:me.onBatchException};if(me.batchUpdateMode=="operation"){listeners.operationcomplete=me.onBatchOperationComplete}else{listeners.complete=me.onBatchComplete}return listeners},save:function(){return this.sync.apply(this,arguments)},load:function(options){var me=this,operation;options=Ext.apply({action:"read",filters:me.filters.items,sorters:me.getSorters()},options);me.lastOptions=options;operation=new Ext.data.Operation(options);if(me.fireEvent("beforeload",me,operation)!==false){me.loading=true;me.proxy.read(operation,me.onProxyLoad,me)}return me},reload:function(options){return this.load(Ext.apply(this.lastOptions,options))},afterEdit:function(record,modifiedFieldNames){var me=this,i,shouldSync;if(me.autoSync&&!me.autoSyncSuspended){for(i=modifiedFieldNames.length;i--;){if(record.fields.get(modifiedFieldNames[i]).persist){shouldSync=true;break}}if(shouldSync){me.sync()}}me.fireEvent("update",me,record,Ext.data.Model.EDIT,modifiedFieldNames)},afterReject:function(record){this.fireEvent("update",this,record,Ext.data.Model.REJECT,null)},afterCommit:function(record){this.fireEvent("update",this,record,Ext.data.Model.COMMIT,null)},destroyStore:function(){var me=this;if(!me.isDestroyed){if(me.storeId){Ext.data.StoreManager.unregister(me)}me.clearData();me.data=me.tree=me.sorters=me.filters=me.groupers=null;if(me.reader){me.reader.destroyReader()}me.proxy=me.reader=me.writer=null;me.clearListeners();me.isDestroyed=true;if(me.implicitModel){Ext.destroy(me.model)}else{me.model=null}}},doSort:function(sorterFn){var me=this;if(me.remoteSort){me.load()}else{me.data.sortBy(sorterFn);me.fireEvent("datachanged",me);me.fireEvent("refresh",me)}},clearData:Ext.emptyFn,getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return !!this.loading},suspendAutoSync:function(){this.autoSyncSuspended=true},resumeAutoSync:function(){this.autoSyncSuspended=false}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(config){Ext.apply(this,config);this.totalRecords=this.total;if(config.count===undefined){this.count=this.records.length}}});Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet","Ext.XTemplate"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],mixins:{observable:"Ext.util.Observable"},totalProperty:"total",successProperty:"success",root:"",implicitIncludes:true,readRecordsOnFailure:true,isReader:true,applyDefaults:true,lastFieldGeneration:null,constructor:function(config){var me=this;me.mixins.observable.constructor.call(me,config);me.fieldCount=0;me.model=Ext.ModelManager.getModel(me.model);me.accessExpressionFn=Ext.Function.bind(me.createFieldAccessExpression,me);if(me.model&&me.model.prototype.fields){me.buildExtractors()}this.addEvents("exception")},setModel:function(model,setOnProxy){var me=this;me.model=Ext.ModelManager.getModel(model);me.buildExtractors(true);if(setOnProxy&&me.proxy){me.proxy.setModel(me.model,true)}},read:function(response){var data;if(response){data=response.responseText?this.getResponseData(response):this.readRecords(response)}return data||this.nullResultSet},readRecords:function(data){var me=this,success,recordCount,records,root,total,value,message;if(me.lastFieldGeneration!==me.model.prototype.fields.generation){me.buildExtractors(true)}me.rawData=data;data=me.getData(data);success=true;recordCount=0;records=[];if(me.successProperty){value=me.getSuccess(data);if(value===false||value==="false"){success=false}}if(me.messageProperty){message=me.getMessage(data)}if(me.readRecordsOnFailure||success){root=Ext.isArray(data)?data:me.getRoot(data);if(root){total=root.length}if(me.totalProperty){value=parseInt(me.getTotal(data),10);if(!isNaN(value)){total=value}}if(root){records=me.extractData(root);recordCount=records.length}}return new Ext.data.ResultSet({total:total||recordCount,count:recordCount,records:records,success:success,message:message})},extractData:function(root){var me=this,records=[],Model=me.model,length=root.length,convertedValues,node,record,i;if(!root.length&&Ext.isObject(root)){root=[root];length=1}for(i=0;i',' ,__field{#} = fields.get("{name}")\n',"",";\n","return function(dest, source, record) {\n",'',' value = {[ this.createFieldAccessExpression(values, "__field" + xindex, "source") ]};\n','',' dest["{name}"] = value === undefined ? __field{#}.convert(__field{#}.defaultValue, record) : __field{#}.convert(value, record);\n',''," if (value === undefined) {\n"," if (me.applyDefaults) {\n",'',' dest["{name}"] = __field{#}.convert(__field{#}.defaultValue, record);\n',"",' dest["{name}"] = __field{#}.defaultValue\n',""," };\n"," } else {\n",'',' dest["{name}"] = __field{#}.convert(value, record);\n',"",' dest["{name}"] = value;\n',""," };",""," if (value !== undefined) {\n",'',' dest["{name}"] = __field{#}.convert(value, record);\n',"",' dest["{name}"] = value;\n',""," }\n","","",'',' if (record && (internalId = {[ this.createFieldAccessExpression({mapping: values.clientIdProp}, null, "source") ]})) {\n',' record.{["internalId"]} = internalId;\n'," }\n","","};"],buildRecordDataExtractor:function(){var me=this,modelProto=me.model.prototype,templateData={clientIdProp:modelProto.clientIdProperty,fields:modelProto.fields.items};me.recordDataExtractorTemplate.createFieldAccessExpression=me.accessExpressionFn;return Ext.functionFactory(me.recordDataExtractorTemplate.apply(templateData)).call(me)},destroyReader:function(){var me=this;delete me.proxy;delete me.model;delete me.convertRecordData;delete me.getId;delete me.getTotal;delete me.getSuccess;delete me.getMessage}},function(){var proto=this.prototype;Ext.apply(proto,{nullResultSet:new Ext.data.ResultSet({total:0,count:0,records:[],success:true}),recordDataExtractorTemplate:new Ext.XTemplate(proto.recordDataExtractorTemplate)})});Ext.define("Ext.data.reader.Json",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.JsonReader",alias:"reader.json",root:"",useSimpleAccessors:false,readRecords:function(data){if(data.metaData){this.onMetaChange(data.metaData)}this.jsonData=data;return this.callParent([data])},getResponseData:function(response){var data,error;try{data=Ext.decode(response.responseText);return this.readRecords(data)}catch(ex){error=new Ext.data.ResultSet({total:0,count:0,records:[],success:false,message:ex.message});this.fireEvent("exception",this,response,error);Ext.Logger.warn("Unable to parse the JSON returned by the server");return error}},buildExtractors:function(){var me=this;me.callParent(arguments);if(me.root){me.getRoot=me.createAccessor(me.root)}else{me.getRoot=function(root){return root}}},extractData:function(root){var recordName=this.record,data=[],length,i;if(recordName){length=root.length;if(!length&&Ext.isObject(root)){length=1;root=[root]}for(i=0;i=0){return Ext.functionFactory("obj","return obj"+(i>0?".":"")+expr)}}return function(obj){return obj[expr]}}}()),createFieldAccessExpression:(function(){var re=/[\[\.]/;return function(field,fieldVarName,dataName){var me=this,hasMap=(field.mapping!==null),map=hasMap?field.mapping:field.name,result,operatorSearch;if(typeof map==="function"){result=fieldVarName+".mapping("+dataName+", this)"}else{if(this.useSimpleAccessors===true||((operatorSearch=String(map).search(re))<0)){if(!hasMap||isNaN(map)){map='"'+map+'"'}result=dataName+"["+map+"]"}else{result=dataName+(operatorSearch>0?".":"")+map}}return result}}())});Ext.define("Ext.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",isWriter:true,constructor:function(config){Ext.apply(this,config)},write:function(request){var operation=request.operation,records=operation.records||[],len=records.length,i=0,data=[];for(;i1){data[clientIdProperty]=record.internalId}}else{data[record.idProperty]=record.getId()}return data}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(request,data){var root=this.root;if(this.allowSingle&&data.length==1){data=data[0]}if(this.encode){if(root){request.params[root]=Ext.encode(data)}else{}}else{request.jsonData=request.jsonData||{};if(root){request.jsonData[root]=data}else{request.jsonData=data}}return request}});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",groupDirectionParam:"groupDir",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,simpleGroupMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(config){var me=this;config=config||{};me.callParent([config]);me.extraParams=config.extraParams||{};me.api=Ext.apply({},config.api||me.api);me.nocache=me.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},setExtraParam:function(name,value){this.extraParams[name]=value},buildRequest:function(operation){var me=this,params=Ext.applyIf(operation.params||{},me.extraParams||{}),request;params=Ext.applyIf(params,me.getParams(operation));if(operation.id!==undefined&¶ms.id===undefined){params.id=operation.id}request=new Ext.data.Request({params:params,action:operation.action,records:operation.records,operation:operation,url:operation.url,proxy:me});request.url=me.buildUrl(request);operation.request=request;return request},processResponse:function(success,operation,request,response,callback,scope){var me=this,reader,result;if(success===true){reader=me.getReader();reader.applyDefaults=operation.action==="read";result=reader.read(me.extractResponseData(response));if(result.success!==false){Ext.apply(operation,{response:response,resultSet:result});operation.commitRecords(result.records);operation.setCompleted();operation.setSuccessful()}else{operation.setException(result.message);me.fireEvent("exception",this,response,operation)}}else{me.setException(operation,response);me.fireEvent("exception",this,response,operation)}if(typeof callback=="function"){callback.call(scope||me,operation)}me.afterRequest(request,success)},setException:function(operation,response){operation.setException({status:response.status,statusText:response.statusText})},extractResponseData:function(response){return response},applyEncoding:function(value){return Ext.encode(value)},encodeSorters:function(sorters){var min=[],length=sorters.length,i=0;for(;i0){if(simpleGroupMode){params[groupParam]=groupers[0].property;params[groupDirectionParam]=groupers[0].direction||"ASC"}else{params[groupParam]=me.encodeSorters(groupers)}}if(sortParam&&sorters&&sorters.length>0){if(simpleSortMode){params[sortParam]=sorters[0].property;params[directionParam]=sorters[0].direction}else{params[sortParam]=me.encodeSorters(sorters)}}if(filterParam&&filters&&filters.length>0){params[filterParam]=me.encodeFilters(filters)}return params},buildUrl:function(request){var me=this,url=me.getUrl(request);if(me.noCache){url=Ext.urlAppend(url,Ext.String.format("{0}={1}",me.cacheString,Ext.Date.now()))}return url},getUrl:function(request){return request.url||this.api[request.action]||this.url},doRequest:function(operation,callback,scope){},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(operation,callback,scope){var writer=this.getWriter(),request=this.buildRequest(operation,callback,scope);if(operation.allowWrite()){request=writer.write(request)}Ext.apply(request,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(request,operation,callback,scope),method:this.getMethod(request),disableCaching:false});Ext.Ajax.request(request);return request},getMethod:function(request){return this.actionMethods[request.action]},createRequestCallback:function(request,operation,callback,scope){var me=this;return function(options,success,response){me.processResponse(success,operation,request,response,callback,scope)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",isSynchronous:true,clear:function(){}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",constructor:function(config){this.callParent([config]);this.setReader(this.reader)},updateOperation:function(operation,callback,scope){var i=0,recs=operation.getRecords(),len=recs.length;for(i;i0){for(;me.first&&purgeCount;purgeCount--){me.removeAtKey(me.first.key)}}}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.data.StoreManager","Ext.data.Model","Ext.data.proxy.Ajax","Ext.data.proxy.Memory","Ext.data.reader.Json","Ext.data.writer.Json","Ext.util.LruCache"],uses:["Ext.ModelManager","Ext.util.Grouper"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",trailingBufferZone:25,leadingBufferZone:200,pageSize:undefined,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,clearRemovedOnLoad:true,defaultPageSize:25,addRecordsOptions:{addRecords:true},statics:{recordIdFn:function(record){return record.internalId},recordIndexFn:function(record){return record.index}},onClassExtended:function(cls,data,hooks){var model=data.model,onBeforeClassCreated;if(typeof model=="string"){onBeforeClassCreated=hooks.onBeforeCreated;hooks.onBeforeCreated=function(){var me=this,args=arguments;Ext.require(model,function(){onBeforeClassCreated.apply(me,args)})}}},constructor:function(config){config=Ext.Object.merge({},config);var me=this,groupers=config.groupers||me.groupers,groupField=config.groupField||me.groupField,proxy,data;data=config.data||me.data;me.data=new Ext.util.MixedCollection(false,Ext.data.Store.recordIdFn);if(data){me.inlineData=data;delete config.data}if(!groupers&&groupField){groupers=[{property:groupField,direction:config.groupDir||me.groupDir}]}delete config.groupers;me.groupers=new Ext.util.MixedCollection();me.groupers.addAll(me.decodeGroupers(groupers));this.callParent([config]);if(me.buffered){me.pageMap=new me.PageMap({pageSize:me.pageSize,maxSize:me.purgePageCount,listeners:{clear:me.cancelAllPrefetches,scope:me}});me.pageRequests={};me.sortOnLoad=false;me.filterOnLoad=false}if(me.remoteGroup){me.remoteSort=true}if(me.groupers.items.length&&!me.remoteGroup){me.sort(me.groupers.items,"prepend",false)}proxy=me.proxy;data=me.inlineData;if(!me.buffered&&!me.pageSize){me.pageSize=me.defaultPageSize}if(data){if(proxy instanceof Ext.data.proxy.Memory){proxy.data=data;me.read()}else{me.add.apply(me,[data])}me.sort();delete me.inlineData}else{if(me.autoLoad){Ext.defer(me.load,10,me,[typeof me.autoLoad==="object"?me.autoLoad:undefined])}}},destroyStore:function(){this.callParent(arguments);if(this.pageMap){this.pageMap.clear()}},onBeforeSort:function(){var groupers=this.groupers;if(groupers.getCount()>0){this.sort(groupers.items,"prepend",false)}},decodeGroupers:function(groupers){if(!Ext.isArray(groupers)){if(groupers===undefined){groupers=[]}else{groupers=[groupers]}}var length=groupers.length,Grouper=Ext.util.Grouper,config,i,result=[];for(i=0;i0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(requestGroupString){var records=this.data.items,length=records.length,groups=[],pointers={},record,groupStr,group,i;for(i=0;i-1){isNotPhantom=record.phantom!==true;if(!isMove&&isNotPhantom){record.removedFrom=index;me.removed.push(record)}record.unjoin(me);me.data.remove(record);sync=sync||isNotPhantom;me.fireEvent("remove",me,record,index)}}me.fireEvent("datachanged",me);if(!isMove&&me.autoSync&&sync&&!me.autoSyncSuspended){me.sync()}},removeAt:function(index){var record=this.getAt(index);if(record){this.remove(record)}},load:function(options){var me=this;options=options||{};if(typeof options=="function"){options={callback:options}}options.groupers=options.groupers||me.groupers.items;options.page=options.page||me.currentPage;options.start=(options.start!==undefined)?options.start:(options.page-1)*me.pageSize;options.limit=options.limit||me.pageSize;options.addRecords=options.addRecords||false;if(me.buffered){return me.loadToPrefetch(options)}return me.callParent([options])},reload:function(options){var me=this,startIdx,endIdx,startPage,endPage,i,waitForReload,bufferZone,records;if(!options){options={}}if(me.buffered){delete me.totalCount;waitForReload=function(){if(me.rangeCached(startIdx,endIdx)){me.loading=false;me.pageMap.un("pageAdded",waitForReload);records=me.pageMap.getRange(startIdx,endIdx);me.loadRecords(records,{start:startIdx});me.fireEvent("load",me,records,true)}};bufferZone=Math.ceil((me.leadingBufferZone+me.trailingBufferZone)/2);startIdx=options.start||me.getAt(0).index;endIdx=startIdx+(options.count||me.getCount())-1;startPage=me.getPageFromRecordIndex(Math.max(startIdx-bufferZone,0));endPage=me.getPageFromRecordIndex(endIdx+bufferZone);me.pageMap.clear(true);if(me.fireEvent("beforeload",me,options)!==false){me.loading=true;for(i=startPage;i<=endPage;i++){me.prefetchPage(i,options)}me.pageMap.on("pageAdded",waitForReload)}}else{return me.callParent(arguments)}},onProxyLoad:function(operation){var me=this,resultSet=operation.getResultSet(),records=operation.getRecords(),successful=operation.wasSuccessful();if(resultSet){me.totalCount=resultSet.total}if(successful){me.loadRecords(records,operation)}me.loading=false;if(me.hasListeners.load){me.fireEvent("load",me,records,successful)}if(me.hasListeners.read){me.fireEvent("read",me,records,successful)}Ext.callback(operation.callback,operation.scope||me,[records,operation,successful])},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(filters,value){if(Ext.isString(filters)){filters={property:filters,value:value}}var me=this,decoded=me.decodeFilters(filters),i=0,doLocalSort=me.sorters.length&&me.sortOnFilter&&!me.remoteSort,length=decoded.length;for(;ithis.totalCount)?this.totalCount-1:end;var me=this,lastRequestStart=me.lastRequestStart,options={prefetchStart:start,prefetchEnd:end,cb:cb,scope:scope},pageAddHandler;me.lastRequestStart=start;if(me.rangeCached(start,end)){if(start0){min=records[0].get(field)}for(;i0){max=records[0].get(field)}for(;imax){max=value}}return max},average:function(field,grouped){var me=this;if(grouped&&me.isGrouped()){return me.aggregate(me.getAverage,me,true,[field])}else{return me.getAverage(me.data.items,field)}},getAverage:function(records,field){var i=0,len=records.length,sum=0;if(records.length>0){for(;i1){for(len=args.length;i0){request.timeout=setTimeout(Ext.bind(me.handleTimeout,me,[request]),timeout)}me.setupErrorHandling(request);me[callbackName]=Ext.bind(me.handleResponse,me,[request],true);me.loadScript(request);return request},abort:function(request){var me=this,requests=me.requests,key;if(request){if(!request.id){request=requests[request]}me.handleAbort(request)}else{for(key in requests){if(requests.hasOwnProperty(key)){me.abort(requests[key])}}}},setupErrorHandling:function(request){request.script.onerror=Ext.bind(this.handleError,this,[request])},handleAbort:function(request){request.errorType="abort";this.handleResponse(null,request)},handleError:function(request){request.errorType="error";this.handleResponse(null,request)},cleanupErrorHandling:function(request){request.script.onerror=null},handleTimeout:function(request){request.errorType="timeout";this.handleResponse(null,request)},handleResponse:function(result,request){var success=true;if(request.timeout){clearTimeout(request.timeout)}delete this[request.callbackName];delete this.requests[request.id];this.cleanupErrorHandling(request);Ext.fly(request.script).remove();if(request.errorType){success=false;Ext.callback(request.failure,request.scope,[request.errorType])}else{Ext.callback(request.success,request.scope,[result])}Ext.callback(request.callback,request.scope,[success,result,request.errorType])},createScript:function(url,params,options){var script=document.createElement("script");script.setAttribute("src",Ext.urlAppend(url,Ext.Object.toQueryString(params)));script.setAttribute("async",true);script.setAttribute("type","text/javascript");return script},loadScript:function(request){Ext.getHead().appendChild(request.script)}});Ext.define("Ext.data.proxy.JsonP",{extend:"Ext.data.proxy.Server",alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],requires:["Ext.data.JsonP"],defaultWriterType:"base",callbackKey:"callback",recordParam:"records",autoAppendParams:true,constructor:function(){this.addEvents("exception");this.callParent(arguments)},doRequest:function(operation,callback,scope){var me=this,writer=me.getWriter(),request=me.buildRequest(operation),params=request.params;if(operation.allowWrite()){request=writer.write(request)}Ext.apply(request,{callbackKey:me.callbackKey,timeout:me.timeout,scope:me,disableCaching:false,callback:me.createRequestCallback(request,operation,callback,scope)});if(me.autoAppendParams){request.params={}}request.jsonp=Ext.data.JsonP.request(request);request.params=params;operation.setStarted();me.lastRequest=request;return request},createRequestCallback:function(request,operation,callback,scope){var me=this;return function(success,response,errorType){delete me.lastRequest;me.processResponse(success,operation,request,response,callback,scope)}},setException:function(operation,response){operation.setException(operation.request.jsonp.errorType)},buildUrl:function(request){var me=this,url=me.callParent(arguments),params=Ext.apply({},request.params),filters=params.filters,records,filter,i;delete params.filters;if(me.autoAppendParams){url=Ext.urlAppend(url,Ext.Object.toQueryString(params))}if(filters&&filters.length){for(i=0;i0){url=Ext.urlAppend(url,Ext.String.format("{0}={1}",me.recordParam,me.encodeRecords(records)))}return url},destroy:function(){this.abort();this.callParent(arguments)},abort:function(){var lastRequest=this.lastRequest;if(lastRequest){Ext.data.JsonP.abort(lastRequest.jsonp)}},encodeRecords:function(records){var encoded="",i=0,len=records.length;for(;i0},isExpandable:function(){var me=this;if(me.get("expandable")){return !(me.isLeaf()||(me.isLoaded()&&!me.hasChildNodes()))}return false},triggerUIUpdate:function(){this.afterEdit([])},appendChild:function(node,suppressEvents,commit){var me=this,i,ln,index,oldParent,ps;if(Ext.isArray(node)){me.callStore("suspendAutoSync");for(i=0,ln=node.length-1;i0?index-1:0,childCount=me.childNodes.length;i0?refIndex-1:0,childCount=me.childNodes.length;i0){Ext.Array.sort(cs,sortFn);for(i=0;ilength){ret=ret.substring(ret.length-length)}else{if(ret.length>>16)&4095)|(me.version<<12),4);parts[3]=toHex(128|((me.clockSeq>>>8)&63),2)+toHex(me.clockSeq&255,2);parts[4]=toHex(me.salt.hi,4)+toHex(me.salt.lo,8);if(me.version==4){me.init()}else{++ts.lo;if(ts.lo>=twoPow32){ts.lo=0;++ts.hi}}return parts.join("-").toLowerCase()},getRecId:function(rec){return rec.getId()},init:function(){var me=this,salt,time;if(me.version==4){me.clockSeq=rand(0,twoPow14-1);salt=me.salt||(me.salt={});time=me.timestamp||(me.timestamp={});salt.lo=rand(0,twoPow32-1);salt.hi=rand(0,twoPow16-1);time.lo=rand(0,twoPow32-1);time.hi=rand(0,twoPow28-1)}else{me.salt=split(me.salt);me.timestamp=split(me.timestamp);me.salt.hi|=256}},reconfigure:function(config){Ext.apply(this,config);this.init()}}}()));Ext.define("Ext.data.reader.Xml",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.XmlReader",alias:"reader.xml",createAccessor:function(expr){var me=this;if(Ext.isEmpty(expr)){return Ext.emptyFn}if(Ext.isFunction(expr)){return expr}return function(root){return me.getNodeValue(Ext.DomQuery.selectNode(expr,root))}},getNodeValue:function(node){if(node&&node.firstChild){return node.firstChild.nodeValue}return undefined},getResponseData:function(response){var xml=response.responseXML,error,msg;if(!xml){msg="XML data not found in the response";error=new Ext.data.ResultSet({total:0,count:0,records:[],success:false,message:msg});this.fireEvent("exception",this,response,error);Ext.Logger.warn(msg);return error}return this.readRecords(xml)},getData:function(data){return data.documentElement||data},getRoot:function(data){var nodeName=data.nodeName,root=this.root;if(!root||(nodeName&&nodeName==root)){return data}else{if(Ext.DomQuery.isXml(data)){return Ext.DomQuery.selectNode(root,data)}}},extractData:function(root){var recordName=this.record;if(recordName!=root.nodeName){root=Ext.DomQuery.select(recordName,root)}else{root=[root]}return this.callParent([root])},getAssociatedDataRoot:function(data,associationName){return Ext.DomQuery.select(associationName,data)[0]},readRecords:function(doc){if(Ext.isArray(doc)){doc=doc[0]}this.xmlData=doc;return this.callParent([doc])},createFieldAccessExpression:function(field,fieldVarName,dataName){var selector=field.mapping||field.name,result;if(typeof selector==="function"){result=fieldVarName+".mapping("+dataName+", this)"}else{result='me.getNodeValue(Ext.DomQuery.selectNode("'+selector+'", '+dataName+"))"}return result}});Ext.define("Ext.data.writer.Xml",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.XmlWriter",alias:"writer.xml",documentRoot:"xmlData",defaultDocumentRoot:"xmlData",header:"",record:"record",writeRecords:function(request,data){var me=this,xml=[],i=0,len=data.length,root=me.documentRoot,record=me.record,needsRoot=data.length!==1,item,key;xml.push(me.header||"");if(!root&&needsRoot){root=me.defaultDocumentRoot}if(root){xml.push("<",root,">")}for(;i");for(key in item){if(item.hasOwnProperty(key)){xml.push("<",key,">",item[key],"")}}xml.push("")}if(root){xml.push("")}request.xmlData=xml.join("");return request}});Ext.define("Ext.data.XmlStore",{extend:"Ext.data.Store",alias:"store.xml",requires:["Ext.data.proxy.Ajax","Ext.data.reader.Xml","Ext.data.writer.Xml"],constructor:function(config){config=Ext.apply({proxy:{type:"ajax",reader:"xml",writer:"xml"}},config);this.callParent([config])}});Ext.define("Ext.data.association.BelongsTo",{extend:"Ext.data.association.Association",alternateClassName:"Ext.data.BelongsToAssociation",alias:"association.belongsto",constructor:function(config){this.callParent(arguments);var me=this,ownerProto=me.ownerModel.prototype,associatedName=me.associatedName,getterName=me.getterName||"get"+associatedName,setterName=me.setterName||"set"+associatedName;Ext.applyIf(me,{name:associatedName,foreignKey:associatedName.toLowerCase()+"_id",instanceName:associatedName+"BelongsToInstance",associationKey:associatedName.toLowerCase()});ownerProto[getterName]=me.createGetter();ownerProto[setterName]=me.createSetter()},createSetter:function(){var me=this,foreignKey=me.foreignKey;return function(value,options,scope){if(value&&value.isModel){value=value.getId()}this.set(foreignKey,value);if(Ext.isFunction(options)){options={callback:options,scope:scope||this}}if(Ext.isObject(options)){return this.save(options)}}},createGetter:function(){var me=this,associatedName=me.associatedName,associatedModel=me.associatedModel,foreignKey=me.foreignKey,primaryKey=me.primaryKey,instanceName=me.instanceName;return function(options,scope){options=options||{};var model=this,foreignKeyId=model.get(foreignKey),success,instance,args;if(options.reload===true||model[instanceName]===undefined){instance=Ext.ModelManager.create({},associatedName);instance.set(primaryKey,foreignKeyId);if(typeof options=="function"){options={callback:options,scope:scope||model}}success=options.success;options.success=function(rec){model[instanceName]=rec;if(success){success.apply(this,arguments)}};associatedModel.load(foreignKeyId,options);model[instanceName]=instance;return instance}else{instance=model[instanceName];args=[instance];scope=scope||options.scope||model;Ext.callback(options,scope,args);Ext.callback(options.success,scope,args);Ext.callback(options.failure,scope,args);Ext.callback(options.callback,scope,args);return instance}}},read:function(record,reader,associationData){record[this.instanceName]=reader.read([associationData]).records[0]}});Ext.define("Ext.util.Inflector",{singleton:true,plurals:[[(/(quiz)$/i),"$1zes"],[(/^(ox)$/i),"$1en"],[(/([m|l])ouse$/i),"$1ice"],[(/(matr|vert|ind)ix|ex$/i),"$1ices"],[(/(x|ch|ss|sh)$/i),"$1es"],[(/([^aeiouy]|qu)y$/i),"$1ies"],[(/(hive)$/i),"$1s"],[(/(?:([^f])fe|([lr])f)$/i),"$1$2ves"],[(/sis$/i),"ses"],[(/([ti])um$/i),"$1a"],[(/(buffal|tomat|potat)o$/i),"$1oes"],[(/(bu)s$/i),"$1ses"],[(/(alias|status|sex)$/i),"$1es"],[(/(octop|vir)us$/i),"$1i"],[(/(ax|test)is$/i),"$1es"],[(/^person$/),"people"],[(/^man$/),"men"],[(/^(child)$/),"$1ren"],[(/s$/i),"s"],[(/$/),"s"]],singulars:[[(/(quiz)zes$/i),"$1"],[(/(matr)ices$/i),"$1ix"],[(/(vert|ind)ices$/i),"$1ex"],[(/^(ox)en/i),"$1"],[(/(alias|status)es$/i),"$1"],[(/(octop|vir)i$/i),"$1us"],[(/(cris|ax|test)es$/i),"$1is"],[(/(shoe)s$/i),"$1"],[(/(o)es$/i),"$1"],[(/(bus)es$/i),"$1"],[(/([m|l])ice$/i),"$1ouse"],[(/(x|ch|ss|sh)es$/i),"$1"],[(/(m)ovies$/i),"$1ovie"],[(/(s)eries$/i),"$1eries"],[(/([^aeiouy]|qu)ies$/i),"$1y"],[(/([lr])ves$/i),"$1f"],[(/(tive)s$/i),"$1"],[(/(hive)s$/i),"$1"],[(/([^f])ves$/i),"$1fe"],[(/(^analy)ses$/i),"$1sis"],[(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i),"$1$2sis"],[(/([ti])a$/i),"$1um"],[(/(n)ews$/i),"$1ews"],[(/people$/i),"person"],[(/s$/i),""]],uncountable:["sheep","fish","series","species","money","rice","information","equipment","grass","mud","offspring","deer","means"],singular:function(matcher,replacer){this.singulars.unshift([matcher,replacer])},plural:function(matcher,replacer){this.plurals.unshift([matcher,replacer])},clearSingulars:function(){this.singulars=[]},clearPlurals:function(){this.plurals=[]},isTransnumeral:function(word){return Ext.Array.indexOf(this.uncountable,word)!=-1},pluralize:function(word){if(this.isTransnumeral(word)){return word}var plurals=this.plurals,length=plurals.length,tuple,regex,i;for(i=0;ime.tolerance){me.triggerStart(e)}else{return}}if(me.fireEvent("mousemove",me,e)===false){me.onMouseUp(e)}else{me.onDrag(e);me.fireEvent("drag",me,e)}},onMouseUp:function(e){var me=this;me.mouseIsDown=false;if(me.mouseIsOut){me.mouseIsOut=false;me.onMouseOut(e)}e.preventDefault();if(Ext.isIE&&document.releaseCapture){document.releaseCapture()}me.fireEvent("mouseup",me,e);me.endDrag(e)},endDrag:function(e){var me=this,doc=Ext.getDoc(),wasActive=me.active;doc.un("mousemove",me.onMouseMove,me);doc.un("mouseup",me.onMouseUp,me);doc.un("selectstart",me.stopSelect,me);me.clearStart();me.active=false;if(wasActive){me.onEnd(e);me.fireEvent("dragend",me,e)}delete me._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(e){var me=this;me.clearStart();me.active=true;me.onStart(e);me.fireEvent("dragstart",me,e)},clearStart:function(){var timer=this.timer;if(timer){clearTimeout(timer);delete this.timer}},stopSelect:function(e){e.stopEvent();return false},onBeforeStart:function(e){},onStart:function(xy){},onDrag:function(e){},onEnd:function(e){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){var me=this;if(me.constrainTo){if(me.constrainTo instanceof Ext.util.Region){return me.constrainTo}if(!me._constrainRegion){me._constrainRegion=Ext.fly(me.constrainTo).getViewRegion()}}else{if(!me._constrainRegion){me._constrainRegion=me.getDragCt().getViewRegion()}}return me._constrainRegion},getXY:function(constrain){return constrain?this.constrainModes[constrain](this,this.lastXY):this.lastXY},getOffset:function(constrain){var xy=this.getXY(constrain),s=this.startXY;return[xy[0]-s[0],xy[1]-s[1]]},constrainModes:{point:function(me,xy){var dr=me.dragRegion,constrainTo=me.getConstrainRegion();if(!constrainTo){return xy}dr.x=dr.left=dr[0]=dr.right=xy[0];dr.y=dr.top=dr[1]=dr.bottom=xy[1];dr.constrainTo(constrainTo);return[dr.left,dr.top]},dragTarget:function(me,xy){var s=me.startXY,dr=me.startRegion.copy(),constrainTo=me.getConstrainRegion(),adjust;if(!constrainTo){return xy}dr.translateBy(xy[0]-s[0],xy[1]-s[1]);if(dr.right>constrainTo.right){xy[0]+=adjust=(constrainTo.right-dr.right);dr.left+=adjust}if(dr.leftconstrainTo.bottom){xy[1]+=adjust=(constrainTo.bottom-dr.bottom);dr.top+=adjust}if(dr.top0){if(paramOrder){for(i=0,len=paramOrder.length;i0){this.sendRequest(len==1?buffer[0]:buffer);this.callBuffer=[]}},configureFormRequest:function(action,method,form,callback,scope){var me=this,transaction=new Ext.direct.Transaction({provider:me,action:action,method:method.name,args:[form,callback,scope],callback:scope&&Ext.isFunction(callback)?Ext.Function.bind(callback,scope):callback,isForm:true}),isUpload,params;if(me.fireEvent("beforecall",me,transaction,method)!==false){Ext.direct.Manager.addTransaction(transaction);isUpload=String(form.getAttribute("enctype")).toLowerCase()=="multipart/form-data";params={extTID:transaction.id,extAction:action,extMethod:method.name,extType:"rpc",extUpload:String(isUpload)};Ext.apply(transaction,{form:Ext.getDom(form),isUpload:isUpload,params:callback&&Ext.isObject(callback.params)?Ext.apply(params,callback.params):params});me.fireEvent("call",me,transaction,method);me.sendFormRequest(transaction)}},sendFormRequest:function(transaction){Ext.Ajax.request({url:this.url,params:transaction.params,callback:this.onData,scope:this,form:transaction.form,isUpload:transaction.isUpload,transaction:transaction})}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(a,b,c,d,e,f){if(a!=null){this.matrix=[[a,c,e],[b,d,f],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(a,b,c,d,e,f){var me=this,out=[[],[],[]],matrix=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,res;for(x=0;x<3;x++){for(y=0;y<3;y++){res=0;for(z=0;z<3;z++){res+=me.matrix[x][z]*matrix[z][y]}out[x][y]=res}}me.matrix=out},prepend:function(a,b,c,d,e,f){var me=this,out=[[],[],[]],matrix=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,res;for(x=0;x<3;x++){for(y=0;y<3;y++){res=0;for(z=0;z<3;z++){res+=matrix[x][z]*me.matrix[z][y]}out[x][y]=res}}me.matrix=out},invert:function(){var matrix=this.matrix,a=matrix[0][0],b=matrix[1][0],c=matrix[0][1],d=matrix[1][1],e=matrix[0][2],f=matrix[1][2],x=a*d-b*c;return new Ext.draw.Matrix(d/x,-b/x,-c/x,a/x,(c*f-d*e)/x,(b*e-a*f)/x)},clone:function(){var matrix=this.matrix,a=matrix[0][0],b=matrix[1][0],c=matrix[0][1],d=matrix[1][1],e=matrix[0][2],f=matrix[1][2];return new Ext.draw.Matrix(a,b,c,d,e,f)},translate:function(x,y){this.prepend(1,0,0,1,x,y)},scale:function(x,y,cx,cy){var me=this;if(y==null){y=x}me.add(x,0,0,y,cx*(1-x),cy*(1-y))},rotate:function(a,x,y){a=Ext.draw.Draw.rad(a);var me=this,cos=+Math.cos(a).toFixed(9),sin=+Math.sin(a).toFixed(9);me.add(cos,sin,-sin,cos,x-cos*x+sin*y,-(sin*x)+y-cos*y)},x:function(x,y){var matrix=this.matrix;return x*matrix[0][0]+y*matrix[0][1]+matrix[0][2]},y:function(x,y){var matrix=this.matrix;return x*matrix[1][0]+y*matrix[1][1]+matrix[1][2]},get:function(i,j){return +this.matrix[i][j].toFixed(4)},toString:function(){var me=this;return[me.get(0,0),me.get(0,1),me.get(1,0),me.get(1,1),0,0].join()},toSvg:function(){var me=this;return"matrix("+[me.get(0,0),me.get(1,0),me.get(0,1),me.get(1,1),me.get(0,2),me.get(1,2)].join()+")"},toFilter:function(dx,dy){var me=this;dx=dx||0;dy=dy||0;return"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', filterType='bilinear', M11="+me.get(0,0)+", M12="+me.get(0,1)+", M21="+me.get(1,0)+", M22="+me.get(1,1)+", Dx="+(me.get(0,2)+dx)+", Dy="+(me.get(1,2)+dy)+")"},offset:function(){var matrix=this.matrix;return[(matrix[0][2]||0).toFixed(4),(matrix[1][2]||0).toFixed(4)]},split:function(){function norm(a){return a[0]*a[0]+a[1]*a[1]}function normalize(a){var mag=Math.sqrt(norm(a));a[0]/=mag;a[1]/=mag}var matrix=this.matrix,out={translateX:matrix[0][2],translateY:matrix[1][2]},row;row=[[matrix[0][0],matrix[0][1]],[matrix[1][1],matrix[1][1]]];out.scaleX=Math.sqrt(norm(row[0]));normalize(row[0]);out.shear=row[0][0]*row[1][0]+row[0][1]*row[1][1];row[1]=[row[1][0]-row[0][0]*out.shear,row[1][1]-row[0][1]*out.shear];out.scaleY=Math.sqrt(norm(row[1]));normalize(row[1]);out.shear/=out.scaleY;out.rotate=Math.asin(-row[0][1]);out.isSimple=!+out.shear.toFixed(9)&&(out.scaleX.toFixed(9)==out.scaleY.toFixed(9)||!out.rotate);return out}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(sprite,cfg){var me=this,el=sprite.el;me.sprite=sprite;me.el=el;me.dragData={el:el,sprite:sprite};me.callParent([el,cfg]);me.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(e){return this.el},getRegion:function(){var me=this,el=me.el,pos,x1,x2,y1,y2,t,r,b,l,bbox,sprite;sprite=me.sprite;bbox=sprite.getBBox();try{pos=Ext.Element.getXY(el)}catch(e){}if(!pos){return null}x1=pos[0];x2=x1+bbox.width;y1=pos[1];y2=y1+bbox.height;return new Ext.util.Region(y1,x2,y2,x1)},startDrag:function(x,y){var me=this,attr=me.sprite.attr;me.prev=me.sprite.surface.transformToViewBox(x,y)},onDrag:function(e){var xy=e.getXY(),me=this,sprite=me.sprite,attr=sprite.attr,dx,dy;xy=me.sprite.surface.transformToViewBox(xy[0],xy[1]);dx=xy[0]-me.prev[0];dy=xy[1]-me.prev[1];sprite.setAttributes({translate:{x:attr.translation.x+dx,y:attr.translation.y+dy}},true);me.prev=xy},setDragElPos:function(){return false}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(config){var me=this;config=Ext.merge({},config||{});me.id=Ext.id(null,"ext-sprite-");me.transformations=[];Ext.copyTo(this,config,"surface,group,type,draggable");me.bbox={};me.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete config.surface;delete config.group;delete config.type;delete config.draggable;me.setAttributes(config);me.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");me.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var me=this;me.draggable=true;if(!me.el){me.surface.createSpriteElement(me)}me.dd=new Ext.draw.SpriteDD(me,Ext.isBoolean(me.draggable)?null:me.draggable);me.on("beforedestroy",me.dd.destroy,me.dd)},setAttributes:function(attrs,redraw){var me=this,fontProps=me.fontProperties,fontPropsLength=fontProps.length,pathProps=me.pathProperties,pathPropsLength=pathProps.length,hasSurface=!!me.surface,custom=hasSurface&&me.surface.customAttributes||{},spriteAttrs=me.attr,dirtyBBox=false,attr,i,newTranslation,translation,newRotate,rotation,newScaling,scaling;attrs=Ext.apply({},attrs);for(attr in custom){if(attrs.hasOwnProperty(attr)&&typeof custom[attr]=="function"){Ext.apply(attrs,custom[attr].apply(me,[].concat(attrs[attr])))}}if(!!attrs.hidden!==!!spriteAttrs.hidden){me.dirtyHidden=true}for(i=0;i-1)&&(attrs[key] in gradientsMap)){attrs[key]=gradientsMap[attrs[key]]}if(key=="hidden"&&sprite.type=="text"){continue}if(key in parsers){el.dom.setAttribute(key,parsers[key](attrs[key],sprite,me))}else{el.dom.setAttribute(key,attrs[key])}}}if(sprite.type=="text"){me.tuneText(sprite,attrs)}sprite.dirtyFont=false;style=sattr.style;if(style){el.setStyle(style)}sprite.dirty=false;if(Ext.isSafari3){me.webkitRect.show();setTimeout(function(){me.webkitRect.hide()})}},setClip:function(sprite,params){var me=this,rect=params["clip-rect"],clipEl,clipPath;if(rect){if(sprite.clip){sprite.clip.parentNode.parentNode.removeChild(sprite.clip.parentNode)}clipEl=me.createSvgElement("clipPath");clipPath=me.createSvgElement("rect");clipEl.id=Ext.id(null,"ext-clip-");clipPath.setAttribute("x",rect.x);clipPath.setAttribute("y",rect.y);clipPath.setAttribute("width",rect.width);clipPath.setAttribute("height",rect.height);clipEl.appendChild(clipPath);me.getDefs().appendChild(clipEl);sprite.el.dom.setAttribute("clip-path","url(#"+clipEl.id+")");sprite.clip=clipPath}},applyZIndex:function(sprite){var me=this,items=me.items,idx=items.indexOf(sprite),el=sprite.el,prevEl;if(me.el.dom.childNodes[idx+2]!==el.dom){if(idx>0){do{prevEl=items.getAt(--idx).el}while(!prevEl&&idx>0)}el.insertAfter(prevEl||me.bgRect)}sprite.zIndexDirty=false},createItem:function(config){var sprite=new Ext.draw.Sprite(config);sprite.surface=this;return sprite},addGradient:function(gradient){gradient=Ext.draw.Draw.parseGradient(gradient);var me=this,ln=gradient.stops.length,vector=gradient.vector,usePlain=Ext.isSafari&&!Ext.isStrict,gradientEl,stop,stopEl,i,gradientsMap;gradientsMap=me.gradientsMap||{};if(!usePlain){if(gradient.type=="linear"){gradientEl=me.createSvgElement("linearGradient");gradientEl.setAttribute("x1",vector[0]);gradientEl.setAttribute("y1",vector[1]);gradientEl.setAttribute("x2",vector[2]);gradientEl.setAttribute("y2",vector[3])}else{gradientEl=me.createSvgElement("radialGradient");gradientEl.setAttribute("cx",gradient.centerX);gradientEl.setAttribute("cy",gradient.centerY);gradientEl.setAttribute("r",gradient.radius);if(Ext.isNumber(gradient.focalX)&&Ext.isNumber(gradient.focalY)){gradientEl.setAttribute("fx",gradient.focalX);gradientEl.setAttribute("fy",gradient.focalY)}}gradientEl.id=gradient.id;me.getDefs().appendChild(gradientEl);for(i=0;i"},text:function(sprite){var attr=sprite.attr,match=fontRegex.exec(attr.font),size=(match&&match[1])||"12",family=(match&&match[3])||"Arial",text=attr.text,factor=(Ext.isFF3_0||Ext.isFF3_5)?2:4,tspanString="",props;sprite.getBBox();tspanString+='';tspanString+=Ext.htmlEncode(text)+"";props=toPropertyString({x:attr.x,y:attr.y,"font-size":size,"font-family":family,"font-weight":attr["font-weight"],"text-anchor":attr["text-anchor"],fill:attr.fill||"#000","fill-opacity":attr.opacity,transform:sprite.matrix.toSvg()});return""+tspanString+""},rect:function(sprite){var attr=sprite.attr,props=toPropertyString({x:attr.x,y:attr.y,rx:attr.rx,ry:attr.ry,width:attr.width,height:attr.height,fill:attr.fill||"none","fill-opacity":attr.opacity,stroke:attr.stroke,"stroke-opacity":attr["stroke-opacity"],"stroke-width":attr["stroke-width"],transform:sprite.matrix&&sprite.matrix.toSvg()});return""},circle:function(sprite){var attr=sprite.attr,props=toPropertyString({cx:attr.x,cy:attr.y,r:attr.radius,fill:attr.translation.fill||attr.fill||"none","fill-opacity":attr.opacity,stroke:attr.stroke,"stroke-opacity":attr["stroke-opacity"],"stroke-width":attr["stroke-width"],transform:sprite.matrix.toSvg()});return""},image:function(sprite){var attr=sprite.attr,props=toPropertyString({x:attr.x-(attr.width/2>>0),y:attr.y-(attr.height/2>>0),width:attr.width,height:attr.height,"xlink:href":attr.src,transform:sprite.matrix.toSvg()});return""}},svgHeader=function(){var svg='';svg+='';return svg},svgContent=function(){var svg='',defs="",item,itemsLen,items,gradient,getSvgString,colorstops,stop,coll,keys,colls,k,kLen,key,collI,i,j,stopsLen,sortedItems,za,zb;items=surface.items.items;itemsLen=items.length;getSvgString=function(node){var childs=node.childNodes,childLength=childs.length,i=0,attrLength,j,svgString="",child,attr,tagName,attrItem;for(;i0){svgString+=getSvgString(child)}svgString+=""}return svgString};if(surface.getDefs){defs=getSvgString(surface.getDefs())}else{coll=surface.gradientsColl;if(coll){keys=coll.keys;colls=coll.items;k=0;kLen=keys.length}for(;k';var color=gradient.colors.replace(rgbColorRe,"rgb($1|$2|$3)");color=color.replace(rgbaColorRe,"rgba($1|$2|$3|$4)");colorstops=color.split(",");for(i=0,stopsLen=colorstops.length;i'}defs+=""}}svg+=""+defs+"";svg+=spriteProcessor.rect({attr:{width:"100%",height:"100%",fill:"#fff",stroke:"none",opacity:"0"}});sortedItems=new Array(itemsLen);for(i=0;i";return svg},toPropertyString=function(obj){var propString="",key;for(key in obj){if(obj.hasOwnProperty(key)&&obj[key]!=null){propString+=key+'="'+obj[key]+'" '}}return propString};return{singleton:true,generate:function(surface,config){config=config||{};init(surface);return svgHeader()+svgContent()}}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s\-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1000,coordorigin:"0 0",zIndexShift:0,orderSpritesByZIndex:false,path2vml:function(path){var me=this,nonVML=me.NonVmlPathRe,map=me.map,val=me.valRe,zoom=me.zoom,bites=me.bitesRe,command=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),res,pa,p,r,i,ii,j,jj;if(String(path).match(nonVML)){command=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw)}else{if(!String(path).match(me.partialPathRe)){res=String(path).replace(bites,function(all,command,args){var vals=[],isMove=command.toLowerCase()=="m",res=map[command];args.replace(val,function(value){if(isMove&&vals.length===2){res+=vals+map[command=="m"?"l":"L"];vals=[]}vals.push(Math.round(value*zoom))});return res+vals});return res}}pa=command(path);res=[];for(i=0,ii=pa.length;i")}vml.W=me.span.offsetWidth;vml.H=me.span.offsetHeight+2;if(params["text-anchor"]=="middle"){textStyle["v-text-align"]="center"}else{if(params["text-anchor"]=="end"){textStyle["v-text-align"]="right";vml.bbx=-Math.round(vml.W/2)}else{textStyle["v-text-align"]="left";vml.bbx=Math.round(vml.W/2)}}}vml.X=params.x;vml.Y=params.y;vml.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(vml.X*zoom),Math.round(vml.Y*zoom),Math.round(vml.X*zoom)+1);sprite.bbox.plain=null;sprite.bbox.transform=null;sprite.dirtyFont=false},setText:function(sprite,text){sprite.vml.textpath.string=Ext.htmlDecode(text)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(sprite){sprite.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(sprite){sprite.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(width,height){var me=this;width=width||me.width;height=height||me.height;me.width=width;me.height=height;if(me.el){if(width!=undefined){me.el.setWidth(width)}if(height!=undefined){me.el.setHeight(height)}}me.callParent(arguments)},applyViewBox:function(){var me=this,viewBox=me.viewBox,width=me.width,height=me.height,items,iLen,i;me.callParent();if(viewBox&&(width||height)){items=me.items.items;iLen=items.length;for(i=0;i')}}catch(e){me.createNode=function(tagName){return doc.createElement("<"+tagName+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}}if(!me.el){el=doc.createElement("div");me.el=Ext.get(el);me.el.addCls(me.baseVmlCls);me.span=doc.createElement("span");Ext.get(me.span).addCls(me.measureSpanCls);el.appendChild(me.span);me.el.setSize(me.width||0,me.height||0);container.appendChild(el);me.el.on({scope:me,mouseup:me.onMouseUp,mousedown:me.onMouseDown,mouseover:me.onMouseOver,mouseout:me.onMouseOut,mousemove:me.onMouseMove,mouseenter:me.onMouseEnter,mouseleave:me.onMouseLeave,click:me.onClick,dblclick:me.onDblClick})}me.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(sprite){sprite.dirty=true;this.renderItem(sprite)},renderItem:function(sprite){if(!this.el){return}if(!sprite.el){this.createSpriteElement(sprite)}if(sprite.dirty){this.applyAttrs(sprite);if(sprite.dirtyTransform){this.applyTransformations(sprite)}}},rotationCompensation:function(deg,dx,dy){var matrix=new Ext.draw.Matrix();matrix.rotate(-deg,0.5,0.5);return{x:matrix.x(dx,dy),y:matrix.y(dx,dy)}},transform:function(sprite,matrixOnly){var me=this,bbox=me.getBBox(sprite,true),cx=bbox.x+bbox.width*0.5,cy=bbox.y+bbox.height*0.5,matrix=new Ext.draw.Matrix(),transforms=sprite.transformations,transformsLength=transforms.length,i=0,deltaDegrees=0,deltaScaleX=1,deltaScaleY=1,flip="",el=sprite.el,dom=el.dom,domStyle=dom.style,zoom=me.zoom,skew=sprite.skew,shift=me.viewBoxShift,deltaX,deltaY,transform,type,compensate,y,fill,newAngle,zoomScaleX,zoomScaleY,newOrigin,offset;for(;i32767){offset[0]=32767}else{if(offset[0]<-32768){offset[0]=-32768}}if(offset[1]>32767){offset[1]=32767}else{if(offset[1]<-32768){offset[1]=-32768}}skew.offset=offset}else{domStyle.filter=matrix.toFilter();domStyle.left=Math.min(matrix.x(bbox.x,bbox.y),matrix.x(bbox.x+bbox.width,bbox.y),matrix.x(bbox.x,bbox.y+bbox.height),matrix.x(bbox.x+bbox.width,bbox.y+bbox.height))+"px";domStyle.top=Math.min(matrix.y(bbox.x,bbox.y),matrix.y(bbox.x+bbox.width,bbox.y),matrix.y(bbox.x,bbox.y+bbox.height),matrix.y(bbox.x+bbox.width,bbox.y+bbox.height))+"px"}},createItem:function(config){return Ext.create("Ext.draw.Sprite",config)},getRegion:function(){return this.el.getRegion()},addCls:function(sprite,className){if(sprite&&sprite.el){sprite.el.addCls(className)}},removeCls:function(sprite,className){if(sprite&&sprite.el){sprite.el.removeCls(className)}},addGradient:function(gradient){var gradients=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),colors=[],stops=Ext.create("Ext.util.MixedCollection"),keys,items,iLen,key,item,i;stops.addAll(gradient.stops);stops.sortByKey("ASC",function(a,b){a=parseInt(a,10);b=parseInt(b,10);return a>b?1:(a'],initComponent:function(){this.callParent();this.addEvents("success","failure")},beforeRender:function(){this.callParent();Ext.applyIf(this.renderData,{swfId:this.getSwfId()})},afterRender:function(){var me=this,flashParams=Ext.apply({},me.flashParams),flashVars=Ext.apply({},me.flashVars);me.callParent();flashParams=Ext.apply({allowScriptAccess:"always",bgcolor:me.backgroundColor,wmode:me.wmode},flashParams);flashVars=Ext.apply({allowedDomain:document.location.hostname},flashVars);new swfobject.embedSWF(me.url,me.getSwfId(),me.swfWidth,me.swfHeight,me.flashVersion,me.expressInstall?me.statics.EXPRESS_INSTALL_URL:undefined,flashVars,flashParams,me.flashAttributes,Ext.bind(me.swfCallback,me))},swfCallback:function(e){var me=this;if(e.success){me.swf=Ext.get(e.ref);me.onSuccess();me.fireEvent("success",me)}else{me.onFailure();me.fireEvent("failure",me)}},getSwfId:function(){return this.swfId||(this.swfId="extswf"+this.getAutoId())},onSuccess:function(){this.swf.setStyle("visibility","inherit")},onFailure:Ext.emptyFn,beforeDestroy:function(){var me=this,swf=me.swf;if(swf){swfobject.removeSWF(me.getSwfId());Ext.destroy(swf);delete me.swf}me.callParent()},statics:{EXPRESS_INSTALL_URL:"http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf"}});Ext.define("Ext.form.action.Action",{alternateClassName:"Ext.form.Action",submitEmptyText:true,constructor:function(config){if(config){Ext.apply(this,config)}var params=config.params;if(Ext.isString(params)){this.params=Ext.Object.fromQueryString(params)}},run:Ext.emptyFn,onFailure:function(response){this.response=response;this.failureType=Ext.form.action.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(response){this.response=response;if(!response.responseText&&!response.responseXML){return true}return(this.result=this.handleResponse(response))},getUrl:function(){return this.url||this.form.url},getMethod:function(){return(this.method||this.form.method||"POST").toUpperCase()},getParams:function(){return Ext.apply({},this.params,this.form.baseParams)},createCallback:function(){var me=this,undef,form=me.form;return{success:me.onSuccess,failure:me.onFailure,scope:me,timeout:(this.timeout*1000)||(form.timeout*1000),upload:form.fileUpload?me.onSuccess:undef}},statics:{CLIENT_INVALID:"client",SERVER_INVALID:"server",CONNECT_FAILURE:"connect",LOAD_FAILURE:"load"}});Ext.define("Ext.form.action.Load",{extend:"Ext.form.action.Action",requires:["Ext.data.Connection"],alternateClassName:"Ext.form.Action.Load",alias:"formaction.load",type:"load",run:function(){Ext.Ajax.request(Ext.apply(this.createCallback(),{method:this.getMethod(),url:this.getUrl(),headers:this.headers,params:this.getParams()}))},onSuccess:function(response){var result=this.processResponse(response),form=this.form;if(result===true||!result.success||!result.data){this.failureType=Ext.form.action.Action.LOAD_FAILURE;form.afterAction(this,false);return}form.clearInvalid();form.setValues(result.data);form.afterAction(this,true)},handleResponse:function(response){var reader=this.form.reader,rs,data;if(reader){rs=reader.read(response);data=rs.records&&rs.records[0]?rs.records[0].data:null;return{success:rs.success,data:data}}return Ext.decode(response.responseText)}});Ext.define("Ext.form.action.Submit",{extend:"Ext.form.action.Action",alternateClassName:"Ext.form.Action.Submit",alias:"formaction.submit",type:"submit",run:function(){var form=this.form;if(this.clientValidation===false||form.isValid()){this.doSubmit()}else{this.failureType=Ext.form.action.Action.CLIENT_INVALID;form.afterAction(this,false)}},doSubmit:function(){var formEl,ajaxOptions=Ext.apply(this.createCallback(),{url:this.getUrl(),method:this.getMethod(),headers:this.headers});if(this.form.hasUpload()){formEl=ajaxOptions.form=this.buildForm();ajaxOptions.isUpload=true}else{ajaxOptions.params=this.getParams()}Ext.Ajax.request(ajaxOptions);if(formEl){Ext.removeNode(formEl)}},getParams:function(){var nope=false,configParams=this.callParent(),fieldParams=this.form.getValues(nope,nope,this.submitEmptyText!==nope);return Ext.apply({},fieldParams,configParams)},buildForm:function(){var fieldsSpec=[],formSpec,formEl,basicForm=this.form,params=this.getParams(),uploadFields=[],fields=basicForm.getFields().items,f,fLen=fields.length,field,key,value,v,vLen,u,uLen;for(f=0;fid="{id}">','','',"{beforeLabelTpl}",' class="{labelCls}"',' style="{labelStyle}">',"{beforeLabelTextTpl}",'{fieldLabel}{labelSeparator}',"{afterLabelTextTpl}","","{afterLabelTpl}","","",'',"{beforeBodyEl}","","{beforeLabelTpl}",'
','","
","{afterLabelTpl}","
","{beforeSubTpl}","{[values.$comp.getSubTplMarkup()]}","{afterSubTpl}","","{afterBodyEl}","","",'',"","",'',"{afterBodyEl}","","","",{disableFormats:true}],activeErrorsTpl:['','
  • {.}
',"
"],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",noWrap:true,labelableInsertions:["beforeBodyEl","afterBodyEl","beforeLabelTpl","afterLabelTpl","beforeSubTpl","afterSubTpl","beforeLabelTextTpl","afterLabelTextTpl","labelAttrTpl"],labelableRenderProps:["allowBlank","id","labelAlign","fieldBodyCls","baseBodyCls","clearCls","labelSeparator","msgTarget"],initLabelable:function(){var me=this,padding=me.padding;if(padding){me.padding=undefined;me.extraMargins=Ext.Element.parseBox(padding)}me.addCls(me.formItemCls);me.lastActiveError="";me.addEvents("errorchange")},trimLabelSeparator:function(){var me=this,separator=me.labelSeparator,label=me.fieldLabel||"",lastChar=label.substr(label.length-1);return lastChar===separator?label.slice(0,-1):label},getFieldLabel:function(){return this.trimLabelSeparator()},setFieldLabel:function(label){label=label||"";var me=this,separator=me.labelSeparator,labelEl=me.labelEl;me.fieldLabel=label;if(me.rendered){if(Ext.isEmpty(label)&&me.hideEmptyLabel){labelEl.parent().setDisplayed("none")}else{if(separator){label=me.trimLabelSeparator()+separator}labelEl.update(label);labelEl.parent().setDisplayed("")}me.updateLayout()}},getInsertionRenderData:function(data,names){var i=names.length,name,value;while(i--){name=names[i];value=this[name];if(value){if(typeof value!="string"){if(!value.isTemplate){value=Ext.XTemplate.getTpl(this,name)}value=value.apply(data)}}data[name]=value||""}return data},getLabelableRenderData:function(){var me=this,data,tempEl,topLabel=me.labelAlign==="top";if(!Ext.form.Labelable.errorIconWidth){Ext.form.Labelable.errorIconWidth=(tempEl=Ext.resetElement.createChild({style:"position:absolute",cls:Ext.baseCSSPrefix+"form-invalid-icon"})).getWidth();tempEl.remove()}data=Ext.copyTo({inFormLayout:me.ownerLayout&&me.ownerLayout.type==="form",inputId:me.getInputId(),labelOnLeft:!topLabel,hideLabel:!me.hasVisibleLabel(),fieldLabel:me.getFieldLabel(),labelCellStyle:me.getLabelCellStyle(),labelCellAttrs:me.getLabelCellAttrs(),labelCls:me.getLabelCls(),labelStyle:me.getLabelStyle(),bodyColspan:me.getBodyColspan(),externalError:!me.autoFitErrors,errorMsgCls:me.getErrorMsgCls(),errorIconWidth:Ext.form.Labelable.errorIconWidth},me,me.labelableRenderProps,true);me.getInsertionRenderData(data,me.labelableInsertions);return data},beforeLabelableRender:function(){var me=this;if(me.ownerLayout){me.addCls(Ext.baseCSSPrefix+me.ownerLayout.type+"-form-item")}},onLabelableRender:function(){var me=this,margins,side,style={};if(me.extraMargins){margins=me.el.getMargin();for(side in margins){if(margins.hasOwnProperty(side)){style["margin-"+side]=(margins[side]+me.extraMargins[side])+"px"}}me.el.setStyle(style)}},hasVisibleLabel:function(){if(this.hideLabel){return false}return !(this.hideEmptyLabel&&!this.getFieldLabel())},getBodyColspan:function(){var me=this,result;if(me.msgTarget==="side"&&(!me.autoFitErrors||me.hasActiveError())){result=1}else{result=2}if(me.labelAlign!=="top"&&!me.hasVisibleLabel()){result++}return result},getLabelCls:function(){var labelCls=this.labelCls,labelClsExtra=this.labelClsExtra;if(this.labelAlign==="top"){labelCls+="-top"}return labelClsExtra?labelCls+" "+labelClsExtra:labelCls},getLabelCellStyle:function(){var me=this,hideLabelCell=me.hideLabel||(!me.fieldLabel&&me.hideEmptyLabel);return hideLabelCell?"display:none;":""},getErrorMsgCls:function(){var me=this,hideLabelCell=(me.hideLabel||(!me.fieldLabel&&me.hideEmptyLabel));return me.errorMsgCls+(!hideLabelCell&&me.labelAlign==="top"?" "+Ext.baseCSSPrefix+"lbl-top-err-icon":"")},getLabelCellAttrs:function(){var me=this,labelAlign=me.labelAlign,result="";if(labelAlign!=="top"){result='valign="top" halign="'+labelAlign+'" width="'+(me.labelWidth+me.labelPad)+'"'}return result+' class="'+Ext.baseCSSPrefix+'field-label-cell"'},getLabelStyle:function(){var me=this,labelPad=me.labelPad,labelStyle="";if(me.labelAlign!=="top"){if(me.labelWidth){labelStyle="width:"+me.labelWidth+"px;"}labelStyle+="margin-right:"+labelPad+"px;"}return labelStyle+(me.labelStyle||"")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(msg){this.setActiveErrors(msg)},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(errors){errors=Ext.Array.from(errors);this.activeError=errors[0];this.activeErrors=errors;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:errors});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var me=this,activeError=me.getActiveError(),hasError=!!activeError;if(activeError!==me.lastActiveError){me.fireEvent("errorchange",me,activeError);me.lastActiveError=activeError}if(me.rendered&&!me.isDestroyed&&!me.preventMark){me.el[hasError?"addCls":"removeCls"](me.invalidCls);me.getActionEl().dom.setAttribute("aria-invalid",hasError);if(me.errorEl){me.errorEl.dom.innerHTML=activeError}}},setFieldDefaults:function(defaults){var me=this,val,key;for(key in defaults){if(defaults.hasOwnProperty(key)){val=defaults[key];if(!me.hasOwnProperty(key)){me[key]=val}}}}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var me=this;me.value=me.transformOriginalValue(me.value);me.originalValue=me.lastValue=me.value;me.suspendCheckChange++;me.setValue(me.value);me.suspendCheckChange--},transformOriginalValue:function(value){return value},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(value){var me=this;me.value=value;me.checkChange();return me},isEqual:function(value1,value2){return String(value1)===String(value2)},isEqualAsString:function(value1,value2){return String(Ext.value(value1,""))===String(Ext.value(value2,""))},getSubmitData:function(){var me=this,data=null;if(!me.disabled&&me.submitValue&&!me.isFileUpload()){data={};data[me.getName()]=""+me.getValue()}return data},getModelData:function(){var me=this,data=null;if(!me.disabled&&!me.isFileUpload()){data={};data[me.getName()]=me.getValue()}return data},reset:function(){var me=this;me.beforeReset();me.setValue(me.originalValue);me.clearInvalid();delete me.wasValid},beforeReset:Ext.emptyFn,resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var me=this,newVal=me.getValue(),oldVal=me.lastValue;if(!me.isEqual(newVal,oldVal)&&!me.isDestroyed){me.lastValue=newVal;me.fireEvent("change",me,newVal,oldVal);me.onChange(newVal,oldVal)}}},onChange:function(newVal,oldVal){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var me=this;return !me.disabled&&!me.isEqual(me.getValue(),me.originalValue)},checkDirty:function(){var me=this,isDirty=me.isDirty();if(isDirty!==me.wasDirty){me.fireEvent("dirtychange",me,isDirty);me.onDirtyChange(isDirty);me.wasDirty=isDirty}},onDirtyChange:Ext.emptyFn,getErrors:function(value){return[]},isValid:function(){var me=this;return me.disabled||Ext.isEmpty(me.getErrors())},validate:function(){var me=this,isValid=me.isValid();if(isValid!==me.wasValid){me.wasValid=isValid;me.fireEvent("validitychange",me,isValid)}return isValid},batchChanges:function(fn){try{this.suspendCheckChange++;fn()}catch(e){throw e}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.form.field.Base",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.field",alternateClassName:["Ext.form.Field","Ext.form.BaseField"],requires:["Ext.util.DelayedTask","Ext.XTemplate","Ext.layout.component.field.Field"],fieldSubTpl:[' name="{name}"
',' value="{[Ext.util.Format.htmlEncode(values.value)]}"',' placeholder="{placeholder}"','{%if (values.maxLength !== undefined){%} maxlength="{maxLength}"{%}%}',' readonly="readonly"',' disabled="disabled"',' tabIndex="{tabIdx}"',' style="{fieldStyle}"',' class="{fieldCls} {typeCls} {editableCls}" autocomplete="off"/>',{disableFormats:true}],subTplInsertions:["inputAttrTpl"],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var me=this;me.callParent();me.subTplData=me.subTplData||{};me.addEvents("specialkey","writeablechange");me.initLabelable();me.initField();if(!me.name){me.name=me.getInputId()}},beforeRender:function(){var me=this;me.callParent(arguments);me.beforeLabelableRender(arguments);if(me.readOnly){me.addCls(me.readOnlyCls)}},getInputId:function(){return this.inputId||(this.inputId=this.id+"-inputEl")},getSubTplData:function(){var me=this,type=me.inputType,inputId=me.getInputId(),data;data=Ext.apply({id:inputId,cmpId:me.id,name:me.name||inputId,disabled:me.disabled,readOnly:me.readOnly,value:me.getRawValue(),type:type,fieldCls:me.fieldCls,fieldStyle:me.getFieldStyle(),tabIdx:me.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(type==="password"?"text":type)},me.subTplData);me.getInsertionRenderData(data,me.subTplInsertions);return data},afterFirstLayout:function(){this.callParent();var el=this.inputEl;if(el){el.selectable()}},applyRenderSelectors:function(){var me=this;me.callParent();me.inputEl=me.el.getById(me.getInputId())},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var me=this;if(!me.hasOwnProperty("renderTpl")){me.renderTpl=me.getTpl("labelableRenderTpl")}return me.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(style){var me=this,inputEl=me.inputEl;if(inputEl){inputEl.applyStyles(style)}me.fieldStyle=style},getFieldStyle:function(){return"width:100%;"+(Ext.isObject(this.fieldStyle)?Ext.DomHelper.generateStyles(this.fieldStyle):this.fieldStyle||"")},onRender:function(){var me=this;me.callParent(arguments);me.onLabelableRender();me.renderActiveError()},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var me=this,fileInput=me.isFileUpload()?me.inputEl.dom:null,clone;if(fileInput){clone=fileInput.cloneNode(true);fileInput.parentNode.replaceChild(clone,fileInput);me.inputEl=Ext.get(clone)}return fileInput},getSubmitData:function(){var me=this,data=null,val;if(!me.disabled&&me.submitValue&&!me.isFileUpload()){val=me.getSubmitValue();if(val!==null){data={};data[me.getName()]=val}}return data},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var me=this,v=(me.inputEl?me.inputEl.getValue():Ext.value(me.rawValue,""));me.rawValue=v;return v},setRawValue:function(value){var me=this;value=Ext.value(me.transformRawValue(value),"");me.rawValue=value;if(me.inputEl){me.inputEl.dom.value=value}return value},transformRawValue:function(value){return value},valueToRaw:function(value){return""+Ext.value(value,"")},rawToValue:function(rawValue){return rawValue},processRawValue:function(value){return value},getValue:function(){var me=this,val=me.rawToValue(me.processRawValue(me.getRawValue()));me.value=val;return val},setValue:function(value){var me=this;me.setRawValue(me.valueToRaw(value));return me.mixins.field.setValue.call(me,value)},onBoxReady:function(){var me=this;me.callParent();if(me.setReadOnlyOnBoxReady){me.setReadOnly(me.readOnly)}},onDisable:function(){var me=this,inputEl=me.inputEl;me.callParent();if(inputEl){inputEl.dom.disabled=true;if(me.hasActiveError()){me.clearInvalid();me.needsValidateOnEnable=true}}},onEnable:function(){var me=this,inputEl=me.inputEl;me.callParent();if(inputEl){inputEl.dom.disabled=false;if(me.needsValidateOnEnable){delete me.needsValidateOnEnable;me.forceValidation=true;me.isValid();delete me.forceValidation}}},setReadOnly:function(readOnly){var me=this,inputEl=me.inputEl;readOnly=!!readOnly;me[readOnly?"addCls":"removeCls"](me.readOnlyCls);me.readOnly=readOnly;if(inputEl){inputEl.dom.readOnly=readOnly}else{if(me.rendering){me.setReadOnlyOnBoxReady=true}}me.fireEvent("writeablechange",me,readOnly)},fireKey:function(e){if(e.isSpecialKey()){this.fireEvent("specialkey",this,new Ext.EventObjectImpl(e))}},initEvents:function(){var me=this,inputEl=me.inputEl,onChangeTask,onChangeEvent,events=me.checkChangeEvents,e,eLen=events.length,event;if(me.inEditor){me.onBlur=Ext.Function.createBuffered(me.onBlur,10)}if(inputEl){me.mon(inputEl,Ext.EventManager.getKeyEvent(),me.fireKey,me);onChangeTask=new Ext.util.DelayedTask(me.checkChange,me);me.onChangeEvent=onChangeEvent=function(){onChangeTask.delay(me.checkChangeBuffer)};for(e=0;eme.maxLength){errors.push(format(me.maxLengthText,me.maxLength))}if(vtype){if(!vtypes[vtype](value,me)){errors.push(me.vtypeText||vtypes[vtype+"Text"])}}if(regex&&!regex.test(value)){errors.push(me.regexText||me.invalidText)}return errors},selectText:function(start,end){var me=this,v=me.getRawValue(),doFocus=true,el=me.inputEl.dom,undef,range;if(v.length>0){start=start===undef?0:start;end=end===undef?v.length:end;if(el.setSelectionRange){el.setSelectionRange(start,end)}else{if(el.createTextRange){range=el.createTextRange();range.moveStart("character",start);range.moveEnd("character",end-v.length);range.select()}}doFocus=Ext.isGecko||Ext.isOpera}if(doFocus){me.focus()}},autoSize:function(){var me=this;if(me.grow&&me.rendered){me.autoSizing=true;me.updateLayout()}},afterComponentLayout:function(){var me=this,width;me.callParent(arguments);if(me.autoSizing){width=me.inputEl.getWidth();if(width!==me.lastInputWidth){me.fireEvent("autosize",me,width);me.lastInputWidth=width;delete me.autoSizing}}}});Ext.define("Ext.layout.component.field.TextArea",{extend:"Ext.layout.component.field.Text",alias:"layout.textareafield",type:"textareafield",canGrowWidth:false,naturalSizingProp:"cols",beginLayout:function(ownerContext){this.callParent(arguments);ownerContext.target.inputEl.setStyle("height","")},measureContentHeight:function(ownerContext){var me=this,owner=me.owner,height=me.callParent(arguments),inputContext,inputEl,value,max,curWidth,calcHeight;if(owner.grow&&!ownerContext.state.growHandled){inputContext=ownerContext.inputContext;inputEl=owner.inputEl;curWidth=inputEl.getWidth(true);value=Ext.util.Format.htmlEncode(inputEl.dom.value)||" ";value+=owner.growAppend;value=value.replace(/\n/g,"
");calcHeight=Ext.util.TextMetrics.measure(inputEl,value,curWidth).height+inputContext.getBorderInfo().height+inputContext.getPaddingInfo().height;calcHeight=Ext.Number.constrain(calcHeight,owner.growMin,owner.growMax);inputContext.setHeight(calcHeight);ownerContext.state.growHandled=true;inputContext.domBlock(me,"height");height=NaN}return height}});Ext.define("Ext.form.field.TextArea",{extend:"Ext.form.field.Text",alias:["widget.textareafield","widget.textarea"],alternateClassName:"Ext.form.TextArea",requires:["Ext.XTemplate","Ext.layout.component.field.TextArea","Ext.util.DelayedTask"],fieldSubTpl:['",{disableFormats:true}],growMin:60,growMax:1000,growAppend:"\n-",cols:20,rows:4,enterIsSpecial:false,preventScrollbars:false,componentLayout:"textareafield",setGrowSizePolicy:Ext.emptyFn,returnRe:/\r/g,getSubTplData:function(){var me=this,fieldStyle=me.getFieldStyle(),ret=me.callParent();if(me.grow){if(me.preventScrollbars){ret.fieldStyle=(fieldStyle||"")+";overflow:hidden;height:"+me.growMin+"px"}}Ext.applyIf(ret,{cols:me.cols,rows:me.rows});return ret},afterRender:function(){var me=this;me.callParent(arguments);me.needsMaxCheck=me.enforceMaxLength&&me.maxLength!==Number.MAX_VALUE&&!Ext.supports.TextAreaMaxLength;if(me.needsMaxCheck){me.inputEl.on("paste",me.onPaste,me)}},transformRawValue:function(value){return this.stripReturns(value)},transformOriginalValue:function(value){return this.stripReturns(value)},valueToRaw:function(value){value=this.stripReturns(value);return this.callParent([value])},stripReturns:function(value){if(value){value=value.replace(this.returnRe,"")}return value},onPaste:function(e){var me=this;if(!me.pasteTask){me.pasteTask=new Ext.util.DelayedTask(me.pasteCheck,me)}me.pasteTask.delay(1)},pasteCheck:function(){var me=this,value=me.getValue(),max=me.maxLength;if(value.length>max){value=value.substr(0,max);me.setValue(value)}},fireKey:function(e){var me=this,key=e.getKey(),value;if(e.isSpecialKey()&&(me.enterIsSpecial||(key!==e.ENTER||e.hasModifier()))){me.fireEvent("specialkey",me,e)}if(me.needsMaxCheck&&key!==e.BACKSPACE&&key!==e.DELETE&&!e.isNavKeyPress()&&!me.isCutCopyPasteSelectAll(e,key)){value=me.getValue();if(value.length>=me.maxLength){e.stopEvent()}}},isCutCopyPasteSelectAll:function(e,key){if(e.CTRL){return key===e.A||key===e.C||key===e.V||key===e.X}return false},autoSize:function(){var me=this,height;if(me.grow&&me.rendered){me.updateLayout();height=me.inputEl.getHeight();if(height!==me.lastInputHeight){me.fireEvent("autosize",me,height);me.lastInputHeight=height}}},initAria:function(){this.callParent(arguments);this.getActionEl().dom.setAttribute("aria-multiline",true)},beforeDestroy:function(){var task=this.pasteTask;if(task){task.delay()}this.callParent()}});Ext.define("Ext.form.field.Display",{extend:"Ext.form.field.Base",alias:"widget.displayfield",requires:["Ext.util.Format","Ext.XTemplate"],alternateClassName:["Ext.form.DisplayField","Ext.form.Display"],fieldSubTpl:['
style="{fieldStyle}"',' class="{fieldCls}">{value}
',{compiled:true,disableFormats:true}],fieldCls:Ext.baseCSSPrefix+"form-display-field",htmlEncode:false,validateOnChange:false,initEvents:Ext.emptyFn,submitValue:false,isDirty:function(){return false},isValid:function(){return true},validate:function(){return true},getRawValue:function(){return this.rawValue},setRawValue:function(value){var me=this,display;value=Ext.value(value,"");me.rawValue=value;if(me.rendered){me.inputEl.dom.innerHTML=me.getDisplayValue();me.updateLayout()}return value},getDisplayValue:function(){var me=this,value=this.getRawValue(),display;if(me.renderer){display=me.renderer.call(me.scope||me,value,me)}else{display=me.htmlEncode?Ext.util.Format.htmlEncode(value):value}return display},getSubTplData:function(){var ret=this.callParent(arguments);ret.value=this.getDisplayValue();return ret}});Ext.define("Ext.layout.container.Anchor",{alias:"layout.anchor",extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.AnchorLayout",type:"anchor",manageOverflow:2,renderTpl:["{%this.renderBody(out,values);this.renderPadder(out,values)%}"],defaultAnchor:"100%",parseAnchorRE:/^(r|right|b|bottom)$/i,beginLayout:function(ownerContext){var me=this,dimensions=0,anchorSpec,childContext,childItems,i,length,target;me.callParent(arguments);childItems=ownerContext.childItems;length=childItems.length;for(i=0;i','','',"{% this.renderColumn(out,parent,xindex-1) %}","","",""],lastOwnerItemsGeneration:null,beginLayout:function(ownerContext){var me=this,columns,numCols,i,width,cwidth,totalFlex=0,flexedCols=0,autoFlex=me.autoFlex,innerCtStyle=me.innerCt.dom.style;me.callParent(arguments);columns=me.columnNodes;ownerContext.innerCtContext=ownerContext.getEl("innerCt",me);if(!ownerContext.widthModel.shrinkWrap){numCols=columns.length;if(me.columnsArray){for(i=0;iitemsCount){exceedingColumnsCount=existingColumnsCount-itemsCount;row=me.rowEl;for(i=0;i',"{%this.renderContainer(out,values);%}",""],stateEvents:["collapse","expand"],maskOnDisable:false,beforeDestroy:function(){var me=this,legend=me.legend;if(legend){delete legend.ownerCt;legend.destroy();me.legend=null}me.callParent()},initComponent:function(){var me=this,baseCls=me.baseCls;me.callParent();me.addEvents("beforeexpand","beforecollapse","expand","collapse");if(me.collapsed){me.addCls(baseCls+"-collapsed");me.collapse()}if(me.title){me.addCls(baseCls+"-with-title")}if(me.title||me.checkboxToggle||me.collapsible){me.addCls(baseCls+"-with-legend");me.legend=Ext.widget(me.createLegendCt())}},initRenderData:function(){var data=this.callParent();data.baseCls=this.baseCls;return data},getState:function(){var state=this.callParent();state=this.addPropertyToState(state,"collapsed");return state},afterCollapse:Ext.emptyFn,afterExpand:Ext.emptyFn,collapsedHorizontal:function(){return true},collapsedVertical:function(){return true},createLegendCt:function(){var me=this,items=[],legend={xtype:"container",baseCls:me.baseCls+"-header",id:me.id+"-legend",autoEl:"legend",items:items,ownerCt:me,ownerLayout:me.componentLayout};if(me.checkboxToggle){items.push(me.createCheckboxCmp())}else{if(me.collapsible){items.push(me.createToggleCmp())}}items.push(me.createTitleCmp());return legend},createTitleCmp:function(){var me=this,cfg={xtype:"component",html:me.title,cls:me.baseCls+"-header-text",id:me.id+"-legendTitle"};if(me.collapsible&&me.toggleOnTitleClick){cfg.listeners={el:{scope:me,click:me.toggle}};cfg.cls+=" "+me.baseCls+"-header-text-collapsible"}return(me.titleCmp=Ext.widget(cfg))},createCheckboxCmp:function(){var me=this,suffix="-checkbox";me.checkboxCmp=Ext.widget({xtype:"checkbox",hideEmptyLabel:true,name:me.checkboxName||me.id+suffix,cls:me.baseCls+"-header"+suffix,id:me.id+"-legendChk",checked:!me.collapsed,listeners:{change:me.onCheckChange,scope:me}});return me.checkboxCmp},createToggleCmp:function(){var me=this;me.toggleCmp=Ext.widget({xtype:"tool",type:"toggle",handler:me.toggle,id:me.id+"-legendToggle",scope:me});return me.toggleCmp},doRenderLegend:function(out,renderData){var me=renderData.$comp,legend=me.legend,tree;if(legend){legend.ownerLayout.configureItem(legend);tree=legend.getRenderTree();Ext.DomHelper.generateMarkup(tree,out)}},finishRender:function(){var legend=this.legend;this.callParent();if(legend){legend.finishRender()}},getCollapsed:function(){return this.collapsed?"top":false},getCollapsedDockedItems:function(){var legend=this.legend;return legend?[legend]:[]},setTitle:function(title){var me=this,legend=me.legend;me.title=title;if(me.rendered){if(!me.legend){me.legend=legend=Ext.widget(me.createLegendCt());legend.ownerLayout.configureItem(legend);legend.render(me.el,0)}me.titleCmp.update(title)}return me},getTargetEl:function(){return this.body||this.frameBody||this.el},getContentTarget:function(){return this.body},expand:function(){return this.setExpanded(true)},collapse:function(){return this.setExpanded(false)},setExpanded:function(expanded){var me=this,checkboxCmp=me.checkboxCmp,operation=expanded?"expand":"collapse";if(!me.rendered||me.fireEvent("before"+operation,me)!==false){expanded=!!expanded;if(checkboxCmp){checkboxCmp.setValue(expanded)}if(expanded){me.removeCls(me.baseCls+"-collapsed")}else{me.addCls(me.baseCls+"-collapsed")}me.collapsed=!expanded;if(me.rendered){me.updateLayout({isRoot:false});me.fireEvent(operation,me)}}return me},getRefItems:function(deep){var refItems=this.callParent(arguments),legend=this.legend;if(legend){refItems.unshift(legend);if(deep){refItems.unshift.apply(refItems,legend.getRefItems(true))}}return refItems},toggle:function(){this.setExpanded(!!this.collapsed)},onCheckChange:function(cmp,checked){this.setExpanded(checked)},setupRenderTpl:function(renderTpl){this.callParent(arguments);renderTpl.renderLegend=this.doRenderLegend}});Ext.define("Ext.form.Label",{extend:"Ext.Component",alias:"widget.label",requires:["Ext.util.Format"],autoEl:"label",maskOnDisable:false,getElConfig:function(){var me=this;me.html=me.text?Ext.util.Format.htmlEncode(me.text):(me.html||"");return Ext.apply(me.callParent(),{htmlFor:me.forId||""})},setText:function(text,encode){var me=this;encode=encode!==false;if(encode){me.text=text;delete me.html}else{me.html=text;delete me.text}if(me.rendered){me.el.dom.innerHTML=encode!==false?Ext.util.Format.htmlEncode(text):text;me.updateLayout()}return me}});Ext.define("Ext.form.Panel",{extend:"Ext.panel.Panel",mixins:{fieldAncestor:"Ext.form.FieldAncestor"},alias:"widget.form",alternateClassName:["Ext.FormPanel","Ext.form.FormPanel"],requires:["Ext.form.Basic","Ext.util.TaskRunner"],layout:"anchor",ariaRole:"form",basicFormConfigs:["api","baseParams","errorReader","method","paramOrder","paramsAsHash","reader","standardSubmit","timeout","trackResetOnLoad","url","waitMsgTarget","waitTitle"],initComponent:function(){var me=this;if(me.frame){me.border=false}me.initFieldAncestor();me.callParent();me.relayEvents(me.form,["beforeaction","actionfailed","actioncomplete","validitychange","dirtychange"]);if(me.pollForChanges){me.startPolling(me.pollInterval||500)}},initItems:function(){var me=this;me.form=me.createForm();me.callParent()},afterFirstLayout:function(){this.callParent();this.form.initialize()},createForm:function(){var cfg={},props=this.basicFormConfigs,len=props.length,i=0,prop;for(;i","{beforeBoxLabelTpl}",'","{afterBoxLabelTpl}","
",' tabIndex="{tabIdx}"
',' disabled="disabled"',' style="{fieldStyle}"',' class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"","{beforeBoxLabelTpl}",'","{afterBoxLabelTpl}","",{disableFormats:true,compiled:true}],subTplInsertions:["beforeBoxLabelTpl","afterBoxLabelTpl","beforeBoxLabelTextTpl","afterBoxLabelTextTpl","boxLabelAttrTpl","inputAttrTpl"],isCheckbox:true,focusCls:"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var me=this,checked=!!me.checked;me.originalValue=me.lastValue=checked;me.setValue(checked)},getElConfig:function(){var me=this;if(me.isChecked(me.rawValue,me.inputValue)){me.addCls(me.checkedCls)}return me.callParent()},getFieldStyle:function(){return Ext.isObject(this.fieldStyle)?Ext.DomHelper.generateStyles(this.fieldStyle):this.fieldStyle||""},getSubTplData:function(){var me=this;return Ext.apply(me.callParent(),{disabled:me.readOnly||me.disabled,boxLabel:me.boxLabel,boxLabelCls:me.boxLabelCls,boxLabelAlign:me.boxLabelAlign})},initEvents:function(){var me=this;me.callParent();me.mon(me.inputEl,"click",me.onBoxClick,me)},onBoxClick:function(e){var me=this;if(!me.disabled&&!me.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var unchecked=this.uncheckedValue,uncheckedVal=Ext.isDefined(unchecked)?unchecked:null;return this.checked?this.inputValue:uncheckedVal},isChecked:function(rawValue,inputValue){return(rawValue===true||rawValue==="true"||rawValue==="1"||rawValue===1||(((Ext.isString(rawValue)||Ext.isNumber(rawValue))&&inputValue)?rawValue==inputValue:this.onRe.test(rawValue)))},setRawValue:function(value){var me=this,inputEl=me.inputEl,checked=me.isChecked(value,me.inputValue);if(inputEl){me[checked?"addCls":"removeCls"](me.checkedCls)}me.checked=me.rawValue=checked;return checked},setValue:function(checked){var me=this,boxes,i,len,box;if(Ext.isArray(checked)){boxes=me.getManager().getByName(me.name,me.getFormId()).items;len=boxes.length;for(i=0;in){n=ln;value=item}}width=Math.max(me.callParent(arguments),owner.inputEl.getTextWidth(value+owner.growAppend));if(!me.startingWidth||owner.removingRecords){me.startingWidth=width;if(width'+field+""+me.getTriggerMarkup()+""},getSubTplData:function(){var me=this,data=me.callParent(),readOnly=me.readOnly===true,editable=me.editable!==false;return Ext.apply(data,{editableCls:(readOnly||!editable)?" "+me.triggerNoEditCls:"",readOnly:!editable||readOnly})},getLabelableRenderData:function(){var me=this,triggerWrapCls=me.triggerWrapCls,result=me.callParent(arguments);return Ext.applyIf(result,{triggerWrapCls:triggerWrapCls,triggerMarkup:me.getTriggerMarkup()})},getTriggerMarkup:function(){var me=this,i=0,hideTrigger=(me.readOnly||me.hideTrigger),triggerCls,triggerBaseCls=me.triggerBaseCls,triggerConfigs=[];if(!me.trigger1Cls){me.trigger1Cls=me.triggerCls}for(i=0;(triggerCls=me["trigger"+(i+1)+"Cls"])||i<1;i++){triggerConfigs.push({tag:"td",valign:"top",cls:Ext.baseCSSPrefix+"trigger-cell",style:"width:"+me.triggerWidth+(hideTrigger?"px;display:none":"px"),cn:{cls:[Ext.baseCSSPrefix+"trigger-index-"+i,triggerBaseCls,triggerCls].join(" "),role:"button"}})}triggerConfigs[i-1].cn.cls+=" "+triggerBaseCls+"-last";return Ext.DomHelper.markup(triggerConfigs)},disableCheck:function(){return !this.disabled},beforeRender:function(){var me=this,triggerBaseCls=me.triggerBaseCls,tempEl;if(!me.triggerWidth){tempEl=Ext.resetElement.createChild({style:"position: absolute;",cls:Ext.baseCSSPrefix+"form-trigger"});Ext.form.field.Trigger.prototype.triggerWidth=tempEl.getWidth();tempEl.remove()}me.callParent();if(triggerBaseCls!=Ext.baseCSSPrefix+"form-trigger"){me.addChildEls({name:"triggerEl",select:"."+triggerBaseCls})}me.lastTriggerStateFlags=me.getTriggerStateFlags()},onRender:function(){var me=this;me.callParent(arguments);me.doc=Ext.getDoc();me.initTrigger();me.triggerEl.unselectable()},getTriggerWidth:function(){var me=this,totalTriggerWidth=0;if(me.triggerWrap&&!me.hideTrigger&&!me.readOnly){totalTriggerWidth=me.triggerEl.getCount()*me.triggerWidth}return totalTriggerWidth},setHideTrigger:function(hideTrigger){if(hideTrigger!=this.hideTrigger){this.hideTrigger=hideTrigger;this.updateLayout()}},setEditable:function(editable){if(editable!=this.editable){this.editable=editable;this.updateLayout()}},setReadOnly:function(readOnly){if(readOnly!=this.readOnly){this.readOnly=readOnly;this.updateLayout()}},initTrigger:function(){var me=this,triggerWrap=me.triggerWrap,triggerEl=me.triggerEl,disableCheck=me.disableCheck,els,eLen,el,e,idx;if(me.repeatTriggerClick){me.triggerRepeater=new Ext.util.ClickRepeater(triggerWrap,{preventDefault:true,handler:me.onTriggerWrapClick,listeners:{mouseup:me.onTriggerWrapMouseup,scope:me},scope:me})}else{me.mon(triggerWrap,{click:me.onTriggerWrapClick,mouseup:me.onTriggerWrapMouseup,scope:me})}triggerEl.setVisibilityMode(Ext.Element.DISPLAY);triggerEl.addClsOnOver(me.triggerBaseCls+"-over",disableCheck,me);els=triggerEl.elements;eLen=els.length;for(e=0;e1){me.doSelect(record,keepExisting,false)}else{me.doSelect(record,false)}}}}break;case"SIMPLE":if(me.isSelected(record)){me.doDeselect(record)}else{me.doSelect(record,true)}break;case"SINGLE":if(me.allowDeselect&&me.isSelected(record)){me.doDeselect(record)}else{me.doSelect(record,false)}break}},selectRange:function(startRow,endRow,keepExisting,dir){var me=this,store=me.store,selectedCount=0,i,tmp,dontDeselect,records=[];if(me.isLocked()){return}if(!keepExisting){me.deselectAll(true)}if(!Ext.isNumber(startRow)){startRow=store.indexOf(startRow)}if(!Ext.isNumber(endRow)){endRow=store.indexOf(endRow)}if(startRow>endRow){tmp=endRow;endRow=startRow;startRow=tmp}for(i=startRow;i<=endRow;i++){if(me.isSelected(store.getAt(i))){selectedCount++}}if(!dir){dontDeselect=-1}else{dontDeselect=(dir=="up")?startRow:endRow}for(i=startRow;i<=endRow;i++){if(selectedCount==(endRow-startRow+1)){if(i!=dontDeselect){me.doDeselect(i,true)}}else{records.push(store.getAt(i))}}me.doMultiSelect(records,true)},select:function(records,keepExisting,suppressEvent){if(Ext.isDefined(records)){this.doSelect(records,keepExisting,suppressEvent)}},deselect:function(records,suppressEvent){this.doDeselect(records,suppressEvent)},doSelect:function(records,keepExisting,suppressEvent){var me=this,record;if(me.locked||!me.store){return}if(typeof records==="number"){records=[me.store.getAt(records)]}if(me.selectionMode=="SINGLE"&&records){record=records.length?records[0]:records;me.doSingleSelect(record,suppressEvent)}else{me.doMultiSelect(records,keepExisting,suppressEvent)}},doMultiSelect:function(records,keepExisting,suppressEvent){var me=this,selected=me.selected,change=false,i=0,len,record;if(me.locked){return}records=!Ext.isArray(records)?[records]:records;len=records.length;if(!keepExisting&&selected.getCount()>0){if(me.doDeselect(me.getSelection(),suppressEvent)===false){return}}function commit(){selected.add(record);change=true}for(;i0&&!suppressEvent);return accepted===attempted},doSingleSelect:function(record,suppressEvent){var me=this,changed=false,selected=me.selected;if(me.locked){return}if(me.isSelected(record)){return}function commit(){me.bulkChange=true;if(selected.getCount()>0&&me.doDeselect(me.lastSelected,suppressEvent)===false){delete me.bulkChange;return false}delete me.bulkChange;selected.add(record);me.lastSelected=record;changed=true}me.onSelectChange(record,true,suppressEvent,commit);if(changed){if(!suppressEvent){me.setLastFocused(record)}me.maybeFireSelectionChange(!suppressEvent)}},setLastFocused:function(record,supressFocus){var me=this,recordBeforeLast=me.lastFocused;me.lastFocused=record;if(record!==recordBeforeLast){me.onLastFocusChanged(recordBeforeLast,record,supressFocus)}},isFocused:function(record){return record===this.getLastFocused()},maybeFireSelectionChange:function(fireEvent){var me=this;if(fireEvent&&!me.bulkChange){me.fireEvent("selectionchange",me,me.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(selMode){selMode=selMode?selMode.toUpperCase():"SINGLE";this.selectionMode=this.modes[selMode]?selMode:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(locked){this.locked=!!locked},isSelected:function(record){record=Ext.isNumber(record)?this.store.getAt(record):record;return this.selected.indexOf(record)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var me=this,store=me.store,toBeSelected=[],oldSelections=me.getSelection(),len=oldSelections.length,selection,change,i=0,lastFocused=me.getLastFocused();if(!store){return}for(;i0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(store,record,index){var me=this,selected=me.selected;if(me.locked||!me.pruneRemoved){return}if(selected.remove(record)){if(me.lastSelected==record){me.lastSelected=null}if(me.getLastFocused()==record){me.setLastFocused(null)}me.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:Ext.emptyFn,onStoreUpdate:Ext.emptyFn,onStoreLoad:Ext.emptyFn,onSelectChange:Ext.emptyFn,onLastFocusChanged:function(oldFocused,newFocused){this.fireEvent("focuschange",this,oldFocused,newFocused)},onEditorKey:Ext.emptyFn,bindComponent:Ext.emptyFn,beforeViewRender:Ext.emptyFn});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(cfg){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(view){var me=this,eventListeners={refresh:me.refresh,scope:me};me.view=view;me.bindStore(view.getStore());eventListeners[view.triggerEvent]=me.onItemClick;eventListeners[view.triggerCtEvent]=me.onContainerClick;view.on(eventListeners);if(me.enableKeyNav){me.initKeyNav(view)}},onItemClick:function(view,record,item,index,e){this.selectWithEvent(record,e)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(view){var me=this;if(!view.rendered){view.on({render:Ext.Function.bind(me.initKeyNav,me,[view]),single:true});return}view.el.set({tabIndex:-1});me.keyNav=new Ext.util.KeyNav({target:view.el,ignoreInputFields:true,down:Ext.pass(me.onNavKey,[1],me),right:Ext.pass(me.onNavKey,[1],me),left:Ext.pass(me.onNavKey,[-1],me),up:Ext.pass(me.onNavKey,[-1],me),scope:me})},onNavKey:function(step){step=step||1;var me=this,view=me.view,selected=me.getSelection()[0],numRecords=me.view.store.getCount(),idx;if(selected){idx=view.indexOf(view.getNode(selected))+step}else{idx=0}if(idx<0){idx=numRecords-1}else{if(idx>=numRecords){idx=0}}me.select(idx)},onSelectChange:function(record,isSelected,suppressEvent,commitFn){var me=this,view=me.view,eventName=isSelected?"select":"deselect";if((suppressEvent||me.fireEvent("before"+eventName,me,record))!==false&&commitFn()!==false){if(view){if(isSelected){view.onItemSelect(record)}else{view.onItemDeselect(record)}}if(!suppressEvent){me.fireEvent(eventName,me,record)}}},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],mixins:{bindable:"Ext.util.Bindable"},inheritableStatics:{getRecord:function(node){return this.getBoundView(node).getRecord(node)},getBoundView:function(node){return Ext.getCmp(node.boundView)}},deferInitialRefresh:true,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,preserveScrollOnRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var me=this,isDef=Ext.isDefined,itemTpl=me.itemTpl,memberFn={};if(itemTpl){if(Ext.isArray(itemTpl)){itemTpl=itemTpl.join("")}else{if(Ext.isObject(itemTpl)){memberFn=Ext.apply(memberFn,itemTpl.initialConfig);itemTpl=itemTpl.html}}if(!me.itemSelector){me.itemSelector="."+me.itemCls}itemTpl=Ext.String.format('
{1}
',me.itemCls,itemTpl);me.tpl=new Ext.XTemplate(itemTpl,memberFn)}me.callParent();if(Ext.isString(me.tpl)||Ext.isArray(me.tpl)){me.tpl=new Ext.XTemplate(me.tpl)}me.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");me.addCmpEvents();me.store=Ext.data.StoreManager.lookup(me.store||"ext-empty-store");me.bindStore(me.store,true);me.all=new Ext.CompositeElementLite();me.scrollState={top:0,left:0};me.on({scroll:me.onViewScroll,element:"el",scope:me})},onRender:function(){var me=this,mask=me.loadMask,cfg={msg:me.loadingText,msgCls:me.loadingCls,useMsg:me.loadingUseMsg,store:me.getMaskStore()};me.callParent(arguments);if(mask){if(Ext.isObject(mask)){cfg=Ext.apply(cfg,mask)}me.loadMask=new Ext.LoadMask(me,cfg);me.loadMask.on({scope:me,beforeshow:me.onMaskBeforeShow,hide:me.onMaskHide})}},finishRender:function(){var me=this;me.callParent(arguments);if(!me.up("[collapsed],[hidden]")){me.doFirstRefresh(me.store)}},onBoxReady:function(){var me=this;me.callParent(arguments);if(!me.firstRefreshDone){me.doFirstRefresh(me.store)}},getMaskStore:function(){return this.store},onMaskBeforeShow:function(){var me=this,loadingHeight=me.loadingHeight;me.getSelectionModel().deselectAll();me.all.clear();if(loadingHeight&&loadingHeight>me.getHeight()){me.hasLoadingHeight=true;me.oldMinHeight=me.minHeight;me.minHeight=loadingHeight;me.updateLayout()}},onMaskHide:function(){var me=this;if(!me.destroying&&me.hasLoadingHeight){me.minHeight=me.oldMinHeight;me.updateLayout();delete me.hasLoadingHeight}},beforeRender:function(){this.callParent(arguments);this.getSelectionModel().beforeViewRender(this)},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var me=this,mode="SINGLE";if(!me.selModel){me.selModel={}}if(me.simpleSelect){mode="SIMPLE"}else{if(me.multiSelect){mode="MULTI"}}Ext.applyIf(me.selModel,{allowDeselect:me.allowDeselect,mode:mode});if(!me.selModel.events){me.selModel=new Ext.selection.DataViewModel(me.selModel)}if(!me.selModel.hasRelaySetup){me.relayEvents(me.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect","focuschange"]);me.selModel.hasRelaySetup=true}if(me.disableSelection){me.selModel.locked=true}return me.selModel},refresh:function(){var me=this,targetEl,targetParent,oldDisplay,nextSibling,dom,records;if(!me.rendered||me.isDestroyed){return}if(!me.hasListeners.beforerefresh||me.fireEvent("beforerefresh",me)!==false){targetEl=me.getTargetEl();records=me.store.getRange();dom=targetEl.dom;if(!me.preserveScrollOnRefresh){targetParent=dom.parentNode;oldDisplay=dom.style.display;dom.style.display="none";nextSibling=dom.nextSibling;targetParent.removeChild(dom)}if(me.refreshCounter){me.clearViewEl()}else{me.fixedNodes=targetEl.dom.childNodes.length;me.refreshCounter=1}me.tpl.append(targetEl,me.collectData(records,0));if(records.length<1){if(!me.deferEmptyText||me.hasSkippedEmptyText){Ext.core.DomHelper.insertHtml("beforeEnd",targetEl.dom,me.emptyText)}me.all.clear()}else{me.all.fill(Ext.query(me.getItemSelector(),targetEl.dom));me.updateIndexes(0)}me.selModel.refresh();me.hasSkippedEmptyText=true;if(!me.preserveScrollOnRefresh){targetParent.insertBefore(dom,nextSibling);dom.style.display=oldDisplay}this.refreshSize();me.fireEvent("refresh",me);if(!me.viewReady){me.viewReady=true;me.fireEvent("viewready",me)}}},refreshSize:function(){var sizeModel=this.getSizeModel();if(sizeModel.height.shrinkWrap||sizeModel.width.shrinkWrap){this.updateLayout()}},clearViewEl:function(){var me=this,el=me.getTargetEl();if(me.fixedNodes){while(el.dom.childNodes[me.fixedNodes]){el.dom.removeChild(el.dom.childNodes[me.fixedNodes])}}else{el.update("")}me.refreshCounter++},onViewScroll:Ext.emptyFn,saveScrollState:function(){if(this.rendered){var dom=this.el.dom,state=this.scrollState;state.left=dom.scrollLeft;state.top=dom.scrollTop}},restoreScrollState:function(){if(this.rendered){var dom=this.el.dom,state=this.scrollState;dom.scrollLeft=state.left;dom.scrollTop=state.top}},prepareData:function(data,index,record){var associatedData,attr;if(record){associatedData=record.getAssociatedData();for(attr in associatedData){if(associatedData.hasOwnProperty(attr)){data[attr]=associatedData[attr]}}}return data},collectData:function(records,startIndex){var data=[],i=0,len=records.length,record;for(;i-1){node=me.bufferRender([record],index)[0];if(me.getNode(record)){me.all.replaceElement(index,node,true);me.updateIndexes(index,index);me.selModel.refresh();if(me.hasListeners.itemupdate){me.fireEvent("itemupdate",record,index,node)}return node}}}},onAdd:function(ds,records,index){var me=this,nodes;if(me.rendered){if(me.all.getCount()===0){me.refresh();return}nodes=me.bufferRender(records,index);me.doAdd(nodes,records,index);me.selModel.refresh();me.updateIndexes(index);me.refreshSize();if(me.hasListeners.itemadd){me.fireEvent("itemadd",records,index,nodes)}}},doAdd:function(nodes,records,index){var all=this.all,count=all.getCount();if(count===0){this.clearViewEl();this.getTargetEl().appendChild(nodes)}else{if(index
',initComponent:function(){this.callParent();this.addEvents("spin","spinup","spindown")},onRender:function(){var me=this,triggers;me.callParent(arguments);triggers=me.triggerEl;me.spinUpEl=triggers.item(0);me.spinDownEl=triggers.item(1);me.triggerCell=me.spinUpEl.parent();me.setSpinUpEnabled(me.spinUpEnabled);me.setSpinDownEnabled(me.spinDownEnabled);if(me.keyNavEnabled){me.spinnerKeyNav=new Ext.util.KeyNav(me.inputEl,{scope:me,up:me.spinUp,down:me.spinDown})}if(me.mouseWheelEnabled){me.mon(me.bodyEl,"mousewheel",me.onMouseWheel,me)}},getSubTplMarkup:function(){var me=this,field=Ext.form.field.Base.prototype.getSubTplMarkup.apply(me,arguments);return'"+me.getTriggerMarkup()+"
'+field+"
"},getTriggerMarkup:function(){var me=this,hideTrigger=(me.readOnly||me.hideTrigger);return me.getTpl("triggerTpl").apply({triggerStyle:"width:"+me.triggerWidth+(hideTrigger?"px;display:none":"px")})},getTriggerWidth:function(){var me=this,totalTriggerWidth=0;if(me.triggerWrap&&!me.hideTrigger&&!me.readOnly){totalTriggerWidth=me.triggerWidth}return totalTriggerWidth},onTrigger1Click:function(){this.spinUp()},onTrigger2Click:function(){this.spinDown()},onTriggerWrapMouseup:function(){this.inputEl.focus()},spinUp:function(){var me=this;if(me.spinUpEnabled&&!me.disabled){me.fireEvent("spin",me,"up");me.fireEvent("spinup",me);me.onSpinUp()}},spinDown:function(){var me=this;if(me.spinDownEnabled&&!me.disabled){me.fireEvent("spin",me,"down");me.fireEvent("spindown",me);me.onSpinDown()}},setSpinUpEnabled:function(enabled){var me=this,wasEnabled=me.spinUpEnabled;me.spinUpEnabled=enabled;if(wasEnabled!==enabled&&me.rendered){me.spinUpEl[enabled?"removeCls":"addCls"](me.trigger1Cls+"-disabled")}},setSpinDownEnabled:function(enabled){var me=this,wasEnabled=me.spinDownEnabled;me.spinDownEnabled=enabled;if(wasEnabled!==enabled&&me.rendered){me.spinDownEl[enabled?"removeCls":"addCls"](me.trigger2Cls+"-disabled")}},onMouseWheel:function(e){var me=this,delta;if(me.hasFocus){delta=e.getWheelDelta();if(delta>0){me.spinUp()}else{if(delta<0){me.spinDown()}}e.stopEvent()}},onDestroy:function(){Ext.destroyMembers(this,"spinnerKeyNav","spinUpEl","spinDownEl");this.callParent()}});Ext.define("Ext.form.field.Number",{extend:"Ext.form.field.Spinner",alias:"widget.numberfield",alternateClassName:["Ext.form.NumberField","Ext.form.Number"],allowDecimals:true,decimalSeparator:".",submitLocaleSeparator:true,decimalPrecision:2,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,step:1,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",negativeText:"The value cannot be negative",baseChars:"0123456789",autoStripChars:false,initComponent:function(){var me=this,allowed;me.callParent();me.setMinValue(me.minValue);me.setMaxValue(me.maxValue);if(me.disableKeyFilter!==true){allowed=me.baseChars+"";if(me.allowDecimals){allowed+=me.decimalSeparator}if(me.minValue<0){allowed+="-"}allowed=Ext.String.escapeRegex(allowed);me.maskRe=new RegExp("["+allowed+"]");if(me.autoStripChars){me.stripCharsRe=new RegExp("[^"+allowed+"]","gi")}}},getErrors:function(value){var me=this,errors=me.callParent(arguments),format=Ext.String.format,num;value=Ext.isDefined(value)?value:this.processRawValue(this.getRawValue());if(value.length<1){return errors}value=String(value).replace(me.decimalSeparator,".");if(isNaN(value)){errors.push(format(me.nanText,value))}num=me.parseValue(value);if(me.minValue===0&&num<0){errors.push(this.negativeText)}else{if(numme.maxValue){errors.push(format(me.maxText,me.maxValue))}return errors},rawToValue:function(rawValue){var value=this.fixPrecision(this.parseValue(rawValue));if(value===null){value=rawValue||null}return value},valueToRaw:function(value){var me=this,decimalSeparator=me.decimalSeparator;value=me.parseValue(value);value=me.fixPrecision(value);value=Ext.isNumber(value)?value:parseFloat(String(value).replace(decimalSeparator,"."));value=isNaN(value)?"":String(value).replace(".",decimalSeparator);return value},getSubmitValue:function(){var me=this,value=me.callParent();if(!me.submitLocaleSeparator){value=value.replace(me.decimalSeparator,".")}return value},onChange:function(){this.toggleSpinners();this.callParent(arguments)},toggleSpinners:function(){var me=this,value=me.getValue(),valueIsNull=value===null;me.setSpinUpEnabled(valueIsNull||valueme.minValue)},setMinValue:function(value){this.minValue=Ext.Number.from(value,Number.NEGATIVE_INFINITY);this.toggleSpinners()},setMaxValue:function(value){this.maxValue=Ext.Number.from(value,Number.MAX_VALUE);this.toggleSpinners()},parseValue:function(value){value=parseFloat(String(value).replace(this.decimalSeparator,"."));return isNaN(value)?null:value},fixPrecision:function(value){var me=this,nan=isNaN(value),precision=me.decimalPrecision;if(nan||!value){return nan?"":value}else{if(!me.allowDecimals||precision<=0){precision=0}}return parseFloat(Ext.Number.toFixed(parseFloat(value),precision))},beforeBlur:function(){var me=this,v=me.parseValue(me.getRawValue());if(!Ext.isEmpty(v)){me.setValue(v)}},onSpinUp:function(){var me=this;if(!me.readOnly){me.setValue(Ext.Number.constrain(me.getValue()+me.step,me.minValue,me.maxValue))}},onSpinDown:function(){var me=this;if(!me.readOnly){me.setValue(Ext.Number.constrain(me.getValue()-me.step,me.minValue,me.maxValue))}}});Ext.define("Ext.toolbar.Paging",{extend:"Ext.toolbar.Toolbar",alias:"widget.pagingtoolbar",alternateClassName:"Ext.PagingToolbar",requires:["Ext.toolbar.TextItem","Ext.form.field.Number"],mixins:{bindable:"Ext.util.Bindable"},displayInfo:false,prependButtons:false,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",inputItemWidth:30,getPagingItems:function(){var me=this;return[{itemId:"first",tooltip:me.firstText,overflowText:me.firstText,iconCls:Ext.baseCSSPrefix+"tbar-page-first",disabled:true,handler:me.moveFirst,scope:me},{itemId:"prev",tooltip:me.prevText,overflowText:me.prevText,iconCls:Ext.baseCSSPrefix+"tbar-page-prev",disabled:true,handler:me.movePrevious,scope:me},"-",me.beforePageText,{xtype:"numberfield",itemId:"inputItem",name:"inputItem",cls:Ext.baseCSSPrefix+"tbar-page-number",allowDecimals:false,minValue:1,hideTrigger:true,enableKeyEvents:true,keyNavEnabled:false,selectOnFocus:true,submitValue:false,isFormField:false,width:me.inputItemWidth,margins:"-1 2 3 2",listeners:{scope:me,keydown:me.onPagingKeyDown,blur:me.onPagingBlur}},{xtype:"tbtext",itemId:"afterTextItem",text:Ext.String.format(me.afterPageText,1)},"-",{itemId:"next",tooltip:me.nextText,overflowText:me.nextText,iconCls:Ext.baseCSSPrefix+"tbar-page-next",disabled:true,handler:me.moveNext,scope:me},{itemId:"last",tooltip:me.lastText,overflowText:me.lastText,iconCls:Ext.baseCSSPrefix+"tbar-page-last",disabled:true,handler:me.moveLast,scope:me},"-",{itemId:"refresh",tooltip:me.refreshText,overflowText:me.refreshText,iconCls:Ext.baseCSSPrefix+"tbar-loading",handler:me.doRefresh,scope:me}]},initComponent:function(){var me=this,pagingItems=me.getPagingItems(),userItems=me.items||me.buttons||[];if(me.prependButtons){me.items=userItems.concat(pagingItems)}else{me.items=pagingItems.concat(userItems)}delete me.buttons;if(me.displayInfo){me.items.push("->");me.items.push({xtype:"tbtext",itemId:"displayItem"})}me.callParent();me.addEvents("change","beforechange");me.on("beforerender",me.onLoad,me,{single:true});me.bindStore(me.store||"ext-empty-store",true)},updateInfo:function(){var me=this,displayItem=me.child("#displayItem"),store=me.store,pageData=me.getPageData(),count,msg;if(displayItem){count=store.getCount();if(count===0){msg=me.emptyMsg}else{msg=Ext.String.format(me.displayMsg,pageData.fromRecord,pageData.toRecord,pageData.total)}displayItem.setText(msg)}},onLoad:function(){var me=this,pageData,currPage,pageCount,afterText,count,isEmpty;count=me.store.getCount();isEmpty=count===0;if(!isEmpty){pageData=me.getPageData();currPage=pageData.currentPage;pageCount=pageData.pageCount;afterText=Ext.String.format(me.afterPageText,isNaN(pageCount)?1:pageCount)}else{currPage=0;pageCount=0;afterText=Ext.String.format(me.afterPageText,0)}Ext.suspendLayouts();me.child("#afterTextItem").setText(afterText);me.child("#inputItem").setDisabled(isEmpty).setValue(currPage);me.child("#first").setDisabled(currPage===1||isEmpty);me.child("#prev").setDisabled(currPage===1||isEmpty);me.child("#next").setDisabled(currPage===pageCount||isEmpty);me.child("#last").setDisabled(currPage===pageCount||isEmpty);me.child("#refresh").enable();me.updateInfo();Ext.resumeLayouts(true);if(me.rendered){me.fireEvent("change",me,pageData)}},getPageData:function(){var store=this.store,totalCount=store.getTotalCount();return{total:totalCount,currentPage:store.currentPage,pageCount:Math.ceil(totalCount/store.pageSize),fromRecord:((store.currentPage-1)*store.pageSize)+1,toRecord:Math.min(store.currentPage*store.pageSize,totalCount)}},onLoadError:function(){if(!this.rendered){return}this.child("#refresh").enable()},readPageFromInput:function(pageData){var v=this.child("#inputItem").getValue(),pageNum=parseInt(v,10);if(!v||isNaN(pageNum)){this.child("#inputItem").setValue(pageData.currentPage);return false}return pageNum},onPagingFocus:function(){this.child("#inputItem").select()},onPagingBlur:function(e){var curPage=this.getPageData().currentPage;this.child("#inputItem").setValue(curPage)},onPagingKeyDown:function(field,e){var me=this,k=e.getKey(),pageData=me.getPageData(),increment=e.shiftKey?10:1,pageNum;if(k==e.RETURN){e.stopEvent();pageNum=me.readPageFromInput(pageData);if(pageNum!==false){pageNum=Math.min(Math.max(1,pageNum),pageData.pageCount);if(me.fireEvent("beforechange",me,pageNum)!==false){me.store.loadPage(pageNum)}}}else{if(k==e.HOME||k==e.END){e.stopEvent();pageNum=k==e.HOME?1:pageData.pageCount;field.setValue(pageNum)}else{if(k==e.UP||k==e.PAGE_UP||k==e.DOWN||k==e.PAGE_DOWN){e.stopEvent();pageNum=me.readPageFromInput(pageData);if(pageNum){if(k==e.DOWN||k==e.PAGE_DOWN){increment*=-1}pageNum+=increment;if(pageNum>=1&&pageNum<=pageData.pageCount){field.setValue(pageNum)}}}}}},beforeLoad:function(){if(this.rendered&&this.refresh){this.refresh.disable()}},moveFirst:function(){if(this.fireEvent("beforechange",this,1)!==false){this.store.loadPage(1)}},movePrevious:function(){var me=this,prev=me.store.currentPage-1;if(prev>0){if(me.fireEvent("beforechange",me,prev)!==false){me.store.previousPage()}}},moveNext:function(){var me=this,total=me.getPageData().pageCount,next=me.store.currentPage+1;if(next<=total){if(me.fireEvent("beforechange",me,next)!==false){me.store.nextPage()}}},moveLast:function(){var me=this,last=me.getPageData().pageCount;if(me.fireEvent("beforechange",me,last)!==false){me.store.loadPage(last)}},doRefresh:function(){var me=this,current=me.store.currentPage;if(me.fireEvent("beforechange",me,current)!==false){me.store.loadPage(current)}},getStoreListeners:function(){return{beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError}},unbind:function(store){this.bindStore(null)},bind:function(store){this.bindStore(store)},onDestroy:function(){this.unbind();this.callParent()}});Ext.define("Ext.view.BoundList",{extend:"Ext.view.View",alias:"widget.boundlist",alternateClassName:"Ext.BoundList",requires:["Ext.layout.component.BoundList","Ext.toolbar.Paging"],pageSize:0,baseCls:Ext.baseCSSPrefix+"boundlist",itemCls:Ext.baseCSSPrefix+"boundlist-item",listItemCls:"",shadow:false,trackOver:true,refreshed:0,deferInitialRefresh:false,componentLayout:"boundlist",childEls:["listEl"],renderTpl:['
',"{%","var me=values.$comp, pagingToolbar=me.pagingToolbar;","if (pagingToolbar) {","pagingToolbar.ownerLayout = me.componentLayout;","Ext.DomHelper.generateMarkup(pagingToolbar.getRenderTree(), out);","}","%}",{disableFormats:true}],initComponent:function(){var me=this,baseCls=me.baseCls,itemCls=me.itemCls;me.selectedItemCls=baseCls+"-selected";me.overItemCls=baseCls+"-item-over";me.itemSelector="."+itemCls;if(me.floating){me.addCls(baseCls+"-floating")}if(!me.tpl){me.tpl=new Ext.XTemplate('
    ','
  • '+me.getInnerTpl(me.displayField)+"
  • ","
")}else{if(Ext.isString(me.tpl)){me.tpl=new Ext.XTemplate(me.tpl)}}if(me.pageSize){me.pagingToolbar=me.createPagingToolbar()}me.callParent()},beforeRender:function(){var me=this;me.callParent(arguments);if(me.up("menu")){me.addCls(Ext.baseCSSPrefix+"menu")}},getBubbleTarget:function(){return this.pickerField},getRefItems:function(){return this.pagingToolbar?[this.pagingToolbar]:[]},createPagingToolbar:function(){return Ext.widget("pagingtoolbar",{id:this.id+"-paging-toolbar",pageSize:this.pageSize,store:this.store,border:false,ownerCt:this,ownerLayout:this.getComponentLayout()})},finishRenderChildren:function(){var toolbar=this.pagingToolbar;this.callParent(arguments);if(toolbar){toolbar.finishRender()}},refresh:function(){var me=this,toolbar=me.pagingToolbar;me.callParent();if(me.rendered&&toolbar&&toolbar.rendered&&!me.preserveScrollOnRefresh){me.el.appendChild(toolbar.el)}},bindStore:function(store,initial){var toolbar=this.pagingToolbar;this.callParent(arguments);if(toolbar){toolbar.bindStore(this.store,initial)}},getTargetEl:function(){return this.listEl||this.el},getInnerTpl:function(displayField){return"{"+displayField+"}"},onDestroy:function(){Ext.destroyMembers(this,"pagingToolbar","listEl");this.callParent()}});Ext.define("Ext.view.BoundListKeyNav",{extend:"Ext.util.KeyNav",requires:"Ext.view.BoundList",constructor:function(el,config){var me=this;me.boundList=config.boundList;me.callParent([el,Ext.apply({},config,me.defaultHandlers)])},defaultHandlers:{up:function(){var me=this,boundList=me.boundList,allItems=boundList.all,oldItem=boundList.highlightedItem,oldItemIdx=oldItem?boundList.indexOf(oldItem):-1,newItemIdx=oldItemIdx>0?oldItemIdx-1:allItems.getCount()-1;me.highlightAt(newItemIdx)},down:function(){var me=this,boundList=me.boundList,allItems=boundList.all,oldItem=boundList.highlightedItem,oldItemIdx=oldItem?boundList.indexOf(oldItem):-1,newItemIdx=oldItemIdx',' value="{[Ext.util.Format.htmlEncode(values.value)]}"
',' name="{name}"',' placeholder="{placeholder}"',' size="{size}"',' maxlength="{maxLength}"',' readonly="readonly"',' disabled="disabled"',' tabIndex="{tabIdx}"',' style="{fieldStyle}"',"/>",{compiled:true,disableFormats:true}],getSubTplData:function(){var me=this;Ext.applyIf(me.subTplData,{hiddenDataCls:me.hiddenDataCls});return me.callParent(arguments)},afterRender:function(){var me=this;me.callParent(arguments);me.setHiddenValue(me.value)},multiSelect:false,delimiter:", ",displayField:"text",triggerAction:"all",allQuery:"",queryParam:"query",queryMode:"remote",queryCaching:true,pageSize:0,autoSelect:true,typeAhead:false,typeAheadDelay:250,selectOnTab:true,forceSelection:false,growToLongestValue:true,defaultListConfig:{loadingHeight:70,minWidth:70,maxHeight:300,shadow:"sides"},ignoreSelection:0,removingRecords:null,resizeComboToGrow:function(){var me=this;return me.grow&&me.growToLongestValue},initComponent:function(){var me=this,isDefined=Ext.isDefined,store=me.store,transform=me.transform,transformSelect,isLocalMode;Ext.applyIf(me.renderSelectors,{hiddenDataEl:"."+me.hiddenDataCls.split(" ").join(".")});this.addEvents("beforequery","select","beforeselect","beforedeselect");if(transform){transformSelect=Ext.getDom(transform);if(transformSelect){if(!me.store){store=Ext.Array.map(Ext.Array.from(transformSelect.options),function(option){return[option.value,option.text]})}if(!me.name){me.name=transformSelect.name}if(!("value" in me)){me.value=transformSelect.value}}}me.bindStore(store||"ext-empty-store",true);store=me.store;if(store.autoCreated){me.queryMode="local";me.valueField=me.displayField="field1";if(!store.expanded){me.displayField="field2"}}if(!isDefined(me.valueField)){me.valueField=me.displayField}isLocalMode=me.queryMode==="local";if(!isDefined(me.queryDelay)){me.queryDelay=isLocalMode?10:500}if(!isDefined(me.minChars)){me.minChars=isLocalMode?0:4}if(!me.displayTpl){me.displayTpl=new Ext.XTemplate('{[typeof values === "string" ? values : values["'+me.displayField+'"]]}'+me.delimiter+"")}else{if(Ext.isString(me.displayTpl)){me.displayTpl=new Ext.XTemplate(me.displayTpl)}}me.callParent();me.doQueryTask=new Ext.util.DelayedTask(me.doRawQuery,me);if(me.store.getCount()>0){me.setValue(me.value)}if(transformSelect){me.render(transformSelect.parentNode,transformSelect);Ext.removeNode(transformSelect);delete me.renderTo}},getStore:function(){return this.store},beforeBlur:function(){this.doQueryTask.cancel();this.assertValue()},assertValue:function(){var me=this,value=me.getRawValue(),rec;if(me.forceSelection){if(me.multiSelect){if(value!==me.getDisplayValue()){me.setValue(me.lastSelection)}}else{rec=me.findRecordByDisplay(value);if(rec){me.select(rec)}else{me.setValue(me.lastSelection)}}}me.collapse()},onTypeAhead:function(){var me=this,displayField=me.displayField,record=me.store.findRecord(displayField,me.getRawValue()),boundList=me.getPicker(),newValue,len,selStart;if(record){newValue=record.get(displayField);len=newValue.length;selStart=me.getRawValue().length;boundList.highlightItem(boundList.getNode(record));if(selStart!==0&&selStart!==len){me.setRawValue(newValue);me.selectText(selStart,newValue.length)}}},resetToDefault:Ext.emptyFn,beforeReset:function(){this.callParent();this.clearFilter()},onUnbindStore:function(store){var picker=this.picker;if(!store&&picker){picker.bindStore(null)}this.clearFilter()},onBindStore:function(store,initial){var picker=this.picker;if(!initial){this.resetToDefault()}if(picker){picker.bindStore(store)}},getStoreListeners:function(){var me=this;return{beforeload:me.onBeforeLoad,clear:me.onClear,datachanged:me.onDataChanged,load:me.onLoad,exception:me.onException,remove:me.onRemove}},onBeforeLoad:function(){++this.ignoreSelection},onDataChanged:function(){var me=this;if(me.resizeComboToGrow()){me.updateLayout()}},onClear:function(){var me=this;if(me.resizeComboToGrow()){me.removingRecords=true;me.onDataChanged()}},onRemove:function(){var me=this;if(me.resizeComboToGrow()){me.removingRecords=true}},onException:function(){if(this.ignoreSelection>0){--this.ignoreSelection}this.collapse()},onLoad:function(){var me=this,value=me.value;if(me.ignoreSelection>0){--me.ignoreSelection}if(me.rawQuery){me.rawQuery=false;me.syncSelection();if(me.picker&&!me.picker.getSelectionModel().hasSelection()){me.doAutoSelect()}}else{if(me.value||me.value===0){me.setValue(me.value)}else{if(me.store.getCount()){me.doAutoSelect()}else{me.setValue(me.value)}}}},doRawQuery:function(){this.doQuery(this.getRawValue(),false,true)},doQuery:function(queryString,forceAll,rawQuery){queryString=queryString||"";var me=this,qe={query:queryString,forceAll:forceAll,combo:me,cancel:false},store=me.store,isLocalMode=me.queryMode==="local",needsRefresh;if(me.fireEvent("beforequery",qe)===false||qe.cancel){return false}queryString=qe.query;forceAll=qe.forceAll;if(forceAll||(queryString.length>=me.minChars)){me.expand();if(!me.queryCaching||me.lastQuery!==queryString){me.lastQuery=queryString;if(isLocalMode){store.suspendEvents();needsRefresh=me.clearFilter();if(queryString||!forceAll){me.activeFilter=new Ext.util.Filter({root:"data",property:me.displayField,value:queryString});store.filter(me.activeFilter);needsRefresh=true}else{delete me.activeFilter}store.resumeEvents();if(me.rendered&&needsRefresh){me.getPicker().refresh()}}else{me.rawQuery=rawQuery;if(me.pageSize){me.loadPage(1)}else{store.load({params:me.getParams(queryString)})}}}if(me.getRawValue()!==me.getDisplayValue()){me.ignoreSelection++;me.picker.getSelectionModel().deselectAll();me.ignoreSelection--}if(isLocalMode){me.doAutoSelect()}if(me.typeAhead){me.doTypeAhead()}}return true},clearFilter:function(){var store=this.store,filter=this.activeFilter,filters=store.filters,remaining;if(filter){if(filters.getCount()>1){filters.remove(filter);remaining=filters.getRange()}store.clearFilter(true);if(remaining){store.filter(remaining)}}return !!filter},loadPage:function(pageNum){this.store.loadPage(pageNum,{params:this.getParams(this.lastQuery)})},onPageChange:function(toolbar,newPage){this.loadPage(newPage);return false},getParams:function(queryString){var params={},param=this.queryParam;if(param){params[param]=queryString}return params},doAutoSelect:function(){var me=this,picker=me.picker,lastSelected,itemNode;if(picker&&me.autoSelect&&me.store.getCount()>0){lastSelected=picker.getSelectionModel().lastSelected;itemNode=picker.getNode(lastSelected||0);if(itemNode){picker.highlightItem(itemNode);picker.listEl.scrollChildIntoView(itemNode,false)}}},doTypeAhead:function(){if(!this.typeAheadTask){this.typeAheadTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.typeAheadTask.delay(this.typeAheadDelay)}},onTriggerClick:function(){var me=this;if(!me.readOnly&&!me.disabled){if(me.isExpanded){me.collapse()}else{me.onFocus({});if(me.triggerAction==="all"){me.doQuery(me.allQuery,true)}else{me.doQuery(me.getRawValue(),false,true)}}me.inputEl.focus()}},onKeyUp:function(e,t){var me=this,key=e.getKey();if(!me.readOnly&&!me.disabled&&me.editable){me.lastKey=key;if(!e.isSpecialKey()||key==e.BACKSPACE||key==e.DELETE){me.doQueryTask.delay(me.queryDelay)}}if(me.enableKeyEvents){me.callParent(arguments)}},initEvents:function(){var me=this;me.callParent();if(!me.enableKeyEvents){me.mon(me.inputEl,"keyup",me.onKeyUp,me)}},onDestroy:function(){this.bindStore(null);this.callParent()},onAdded:function(){var me=this;me.callParent(arguments);if(me.picker){me.picker.ownerCt=me.up("[floating]");me.picker.registerWithOwnerCt()}},createPicker:function(){var me=this,picker,pickerCfg=Ext.apply({xtype:"boundlist",pickerField:me,selModel:{mode:me.multiSelect?"SIMPLE":"SINGLE"},floating:true,hidden:true,store:me.store,displayField:me.displayField,focusOnToFront:false,pageSize:me.pageSize,tpl:me.tpl},me.listConfig,me.defaultListConfig);picker=me.picker=Ext.widget(pickerCfg);if(me.pageSize){picker.pagingToolbar.on("beforechange",me.onPageChange,me)}me.mon(picker,{itemclick:me.onItemClick,refresh:me.onListRefresh,scope:me});me.mon(picker.getSelectionModel(),{beforeselect:me.onBeforeSelect,beforedeselect:me.onBeforeDeselect,selectionchange:me.onListSelectionChange,scope:me});return picker},alignPicker:function(){var me=this,picker=me.getPicker(),heightAbove=me.getPosition()[1]-Ext.getBody().getScroll().top,heightBelow=Ext.Element.getViewHeight()-heightAbove-me.getHeight(),space=Math.max(heightAbove,heightBelow);if(picker.height){delete picker.height;picker.updateLayout()}if(picker.getHeight()>space-5){picker.setHeight(space-5)}me.callParent()},onListRefresh:function(){this.alignPicker();this.syncSelection()},onItemClick:function(picker,record){var me=this,selection=me.picker.getSelectionModel().getSelection(),valueField=me.valueField;if(!me.multiSelect&&selection.length){if(record.get(valueField)===selection[0].get(valueField)){me.displayTplData=[record.data];me.setRawValue(me.getDisplayValue());me.collapse()}}},onBeforeSelect:function(list,record){return this.fireEvent("beforeselect",this,record,record.index)},onBeforeDeselect:function(list,record){return this.fireEvent("beforedeselect",this,record,record.index)},onListSelectionChange:function(list,selectedRecords){var me=this,isMulti=me.multiSelect,hasRecords=selectedRecords.length>0;if(!me.ignoreSelection&&me.isExpanded){if(!isMulti){Ext.defer(me.collapse,1,me)}if(isMulti||hasRecords){me.setValue(selectedRecords,false)}if(hasRecords){me.fireEvent("select",me,selectedRecords)}me.inputEl.focus()}},onExpand:function(){var me=this,keyNav=me.listKeyNav,selectOnTab=me.selectOnTab,picker=me.getPicker();if(keyNav){keyNav.enable()}else{keyNav=me.listKeyNav=new Ext.view.BoundListKeyNav(this.inputEl,{boundList:picker,forceKeyDown:true,tab:function(e){if(selectOnTab){this.selectHighlighted(e);me.triggerBlur()}return true}})}if(selectOnTab){me.ignoreMonitorTab=true}Ext.defer(keyNav.enable,1,keyNav);me.inputEl.focus()},onCollapse:function(){var me=this,keyNav=me.listKeyNav;if(keyNav){keyNav.disable();me.ignoreMonitorTab=false}},select:function(r){this.setValue(r,true)},findRecord:function(field,value){var ds=this.store,idx=ds.findExact(field,value);return idx!==-1?ds.getAt(idx):false},findRecordByValue:function(value){return this.findRecord(this.valueField,value)},findRecordByDisplay:function(value){return this.findRecord(this.displayField,value)},setValue:function(value,doSelect){var me=this,valueNotFoundText=me.valueNotFoundText,inputEl=me.inputEl,i,len,record,dataObj,matchedRecords=[],displayTplData=[],processedValue=[];if(me.store.loading){me.value=value;me.setHiddenValue(me.value);return me}value=Ext.Array.from(value);for(i=0,len=value.length;i0){me.hiddenDataEl.update(Ext.DomHelper.markup({tag:"input",type:"hidden",name:name}));childrenCount=1;input=dom.firstChild}while(childrenCount>valueCount){dom.removeChild(childNodes[0]);--childrenCount}while(childrenCount=0){selection.push(value)}}me.ignoreSelection++;selModel=picker.getSelectionModel();selModel.deselectAll();if(selection.length){selModel.select(selection)}me.ignoreSelection--}},onEditorTab:function(e){var keyNav=this.listKeyNav;if(this.selectOnTab&&keyNav){keyNav.selectHighlighted(e)}}});Ext.define("Ext.picker.Month",{extend:"Ext.Component",requires:["Ext.XTemplate","Ext.util.ClickRepeater","Ext.Date","Ext.button.Button"],alias:"widget.monthpicker",alternateClassName:"Ext.MonthPicker",childEls:["bodyEl","prevEl","nextEl","buttonsEl","monthEl","yearEl"],renderTpl:['
','
','','',"","
",'
','
','','',"
",'','',"","
",'
',"
",'','
{%',"var me=values.$comp, okBtn=me.okBtn, cancelBtn=me.cancelBtn;","okBtn.ownerLayout = cancelBtn.ownerLayout = me.componentLayout;","okBtn.ownerCt = cancelBtn.ownerCt = me;","Ext.DomHelper.generateMarkup(okBtn.getRenderTree(), out);","Ext.DomHelper.generateMarkup(cancelBtn.getRenderTree(), out);","%}
","
"],okText:"OK",cancelText:"Cancel",baseCls:Ext.baseCSSPrefix+"monthpicker",showButtons:true,width:178,measureWidth:35,measureMaxHeight:20,smallCls:Ext.baseCSSPrefix+"monthpicker-small",totalYears:10,yearOffset:5,monthOffset:6,initComponent:function(){var me=this;me.selectedCls=me.baseCls+"-selected";me.addEvents("cancelclick","monthclick","monthdblclick","okclick","select","yearclick","yeardblclick");if(me.small){me.addCls(me.smallCls)}me.setValue(me.value);me.activeYear=me.getYear(new Date().getFullYear()-4,-4);if(me.showButtons){me.okBtn=new Ext.button.Button({text:me.okText,handler:me.onOkClick,scope:me});me.cancelBtn=new Ext.button.Button({text:me.cancelText,handler:me.onCancelClick,scope:me})}this.callParent()},beforeRender:function(){var me=this,i=0,months=[],shortName=Ext.Date.getShortMonthName,monthLen=me.monthOffset,margin=me.monthMargin,style="";me.callParent();for(;ime.measureMaxHeight){--itemMargin;months.setStyle("margin","0 "+itemMargin+"px")}return itemMargin},getLargest:function(months){var largest=0;this.months.each(function(item){var h=item.getHeight();if(h>largest){largest=h}});return largest},setValue:function(value){var me=this,active=me.activeYear,offset=me.monthOffset,year,index;if(!value){me.value=[null,null]}else{if(Ext.isDate(value)){me.value=[value.getMonth(),value.getFullYear()]}else{me.value=[value[0],value[1]]}}if(me.rendered){year=me.value[1];if(year!==null){if((yearactive+me.yearOffset)){me.activeYear=year-me.yearOffset+1}}me.updateBody()}return me},getValue:function(){return this.value},hasSelection:function(){var value=this.value;return value[0]!==null&&value[1]!==null},getYears:function(){var me=this,offset=me.yearOffset,start=me.activeYear,end=start+offset,i=start,years=[];for(;i','",'','','','',"","",'','',"{#:this.isEndOfWeek}",'","","","",'','',"","",{firstInitial:function(value){return Ext.picker.Date.prototype.getDayInitial(value)},isEndOfWeek:function(value){value--;var end=value%7===0&&value!==0;return end?'':""},renderTodayBtn:function(values,out){Ext.DomHelper.generateMarkup(values.$comp.todayBtn.getRenderTree(),out)},renderMonthBtn:function(values,out){Ext.DomHelper.generateMarkup(values.$comp.monthBtn.getRenderTree(),out)}}],todayText:"Today",ariaTitle:"Date Picker: {0}",ariaTitleDateFormat:"F d, Y",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",disabledDaysText:"Disabled",disabledDatesText:"Disabled",nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",monthYearFormat:"F Y",startDay:0,showToday:true,disableAnim:false,baseCls:Ext.baseCSSPrefix+"datepicker",longDayFormat:"F d, Y",focusOnShow:false,focusOnSelect:true,width:178,initHour:12,numDays:42,initComponent:function(){var me=this,clearTime=Ext.Date.clearTime;me.selectedCls=me.baseCls+"-selected";me.disabledCellCls=me.baseCls+"-disabled";me.prevCls=me.baseCls+"-prevday";me.activeCls=me.baseCls+"-active";me.nextCls=me.baseCls+"-prevday";me.todayCls=me.baseCls+"-today";me.dayNames=me.dayNames.slice(me.startDay).concat(me.dayNames.slice(0,me.startDay));me.listeners=Ext.apply(me.listeners||{},{mousewheel:{element:"eventEl",fn:me.handleMouseWheel,scope:me},click:{element:"eventEl",fn:me.handleDateClick,scope:me,delegate:"a."+me.baseCls+"-date"}});this.callParent();me.value=me.value?clearTime(me.value,true):clearTime(new Date());me.addEvents("select");me.initDisabledDays()},beforeRender:function(){var me=this,days=new Array(me.numDays),today=Ext.Date.format(new Date(),me.format);if(me.up("menu")){me.addCls(Ext.baseCSSPrefix+"menu")}me.monthBtn=new Ext.button.Split({ownerCt:me,ownerLayout:me.getComponentLayout(),text:"",tooltip:me.monthYearText,listeners:{click:me.showMonthPicker,arrowclick:me.showMonthPicker,scope:me}});if(this.showToday){me.todayBtn=new Ext.button.Button({ownerCt:me,ownerLayout:me.getComponentLayout(),text:Ext.String.format(me.todayText,today),tooltip:Ext.String.format(me.todayTip,today),tooltipType:"title",handler:me.selectToday,scope:me})}me.callParent();Ext.applyIf(me,{renderData:{}});Ext.apply(me.renderData,{dayNames:me.dayNames,showToday:me.showToday,prevText:me.prevText,nextText:me.nextText,days:days})},finishRenderChildren:function(){var me=this;me.callParent();me.monthBtn.finishRender();if(me.showToday){me.todayBtn.finishRender()}},onRender:function(container,position){var me=this;me.callParent(arguments);me.el.unselectable();me.cells=me.eventEl.select("tbody td");me.textNodes=me.eventEl.query("tbody td span")},initEvents:function(){var me=this,eDate=Ext.Date,day=eDate.DAY;me.callParent();me.prevRepeater=new Ext.util.ClickRepeater(me.prevEl,{handler:me.showPrevMonth,scope:me,preventDefault:true,stopDefault:true});me.nextRepeater=new Ext.util.ClickRepeater(me.nextEl,{handler:me.showNextMonth,scope:me,preventDefault:true,stopDefault:true});me.keyNav=new Ext.util.KeyNav(me.eventEl,Ext.apply({scope:me,left:function(e){if(e.ctrlKey){me.showPrevMonth()}else{me.update(eDate.add(me.activeDate,day,-1))}},right:function(e){if(e.ctrlKey){me.showNextMonth()}else{me.update(eDate.add(me.activeDate,day,1))}},up:function(e){if(e.ctrlKey){me.showNextYear()}else{me.update(eDate.add(me.activeDate,day,-7))}},down:function(e){if(e.ctrlKey){me.showPrevYear()}else{me.update(eDate.add(me.activeDate,day,7))}},pageUp:me.showNextMonth,pageDown:me.showPrevMonth,enter:function(e){e.stopPropagation();return true}},me.keyNavConfig));if(me.showToday){me.todayKeyListener=me.eventEl.addKeyListener(Ext.EventObject.SPACE,me.selectToday,me)}me.update(me.value)},initDisabledDays:function(){var me=this,dd=me.disabledDates,re="(?:",len,d,dLen,dI;if(!me.disabledDatesRE&&dd){len=dd.length-1;dLen=dd.length;for(d=0;d0){this.showPrevMonth()}else{if(delta<0){this.showNextMonth()}}}},handleDateClick:function(e,t){var me=this,handler=me.handler;e.stopEvent();if(!me.disabled&&t.dateValue&&!Ext.fly(t.parentNode).hasCls(me.disabledCellCls)){me.doCancelFocus=me.focusOnSelect===false;me.setValue(new Date(t.dateValue));delete me.doCancelFocus;me.fireEvent("select",me,me.value);if(handler){handler.call(me.scope||me,me,me.value)}me.onSelect()}},onSelect:function(){if(this.hideOnSelect){this.hide()}},selectToday:function(){var me=this,btn=me.todayBtn,handler=me.handler;if(btn&&!btn.disabled){me.setValue(Ext.Date.clearTime(new Date()));me.fireEvent("select",me,me.value);if(handler){handler.call(me.scope||me,me,me.value)}me.onSelect()}return me},selectedUpdate:function(date){var me=this,t=date.getTime(),cells=me.cells,cls=me.selectedCls,cellItems=cells.elements,c,cLen=cellItems.length,cell;cells.removeCls(cls);for(c=0;cmax||(ddMatch&&format&&ddMatch.test(eDate.dateFormat(tempDate,format)))||(ddays&&ddays.indexOf(tempDate.getDay())!=-1));if(!me.disabled){me.todayBtn.setDisabled(disableToday);me.todayKeyListener.setDisabled(disableToday)}}setCellClass=function(cell){value=+eDate.clearTime(current,true);cell.title=eDate.format(current,longDayFormat);cell.firstChild.dateValue=value;if(value==today){cell.className+=" "+me.todayCls;cell.title=me.todayText}if(value==sel){cell.className+=" "+me.selectedCls;me.fireEvent("highlightitem",me,cell);if(visible&&me.floating){Ext.fly(cell.firstChild).focus(50)}}if(valuemax){cell.className=disabledCls;cell.title=me.maxText;return}if(ddays){if(ddays.indexOf(current.getDay())!=-1){cell.title=ddaysText;cell.className=disabledCls}}if(ddMatch&&format){formatValue=eDate.dateFormat(current,format);if(ddMatch.test(formatValue)){cell.title=ddText.replace("%0",formatValue);cell.className=disabledCls}}};for(;i=days){html=(++extraDays);cls=me.nextCls}else{html=i-startingPos+1;cls=me.activeCls}}textNodes[i].innerHTML=html;cells[i].className=cls;current.setDate(current.getDate()+1);setCellClass(cells[i])}me.monthBtn.setText(Ext.Date.format(date,me.monthYearFormat))},update:function(date,forceRefresh){var me=this,active=me.activeDate;if(me.rendered){me.activeDate=date;if(!forceRefresh&&active&&me.el&&active.getMonth()==date.getMonth()&&active.getFullYear()==date.getFullYear()){me.selectedUpdate(date,active)}else{me.fullUpdate(date,active)}me.innerEl.dom.title=Ext.String.format(me.ariaTitle,Ext.Date.format(me.activeDate,me.ariaTitleDateFormat))}return me},beforeDestroy:function(){var me=this;if(me.rendered){Ext.destroy(me.todayKeyListener,me.keyNav,me.monthPicker,me.monthBtn,me.nextRepeater,me.prevRepeater,me.todayBtn);delete me.textNodes;delete me.cells.elements}me.callParent()},onShow:function(){this.callParent(arguments);if(this.focusOnShow){this.focus()}}},function(){var proto=this.prototype,date=Ext.Date;proto.monthNames=date.monthNames;proto.dayNames=date.dayNames;proto.format=date.defaultFormat});Ext.define("Ext.form.field.Date",{extend:"Ext.form.field.Picker",alias:"widget.datefield",requires:["Ext.picker.Date"],alternateClassName:["Ext.form.DateField","Ext.form.Date"],format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerCls:Ext.baseCSSPrefix+"form-date-trigger",showToday:true,useStrict:undefined,initTime:"12",initTimeFormat:"H",matchFieldWidth:false,startDay:0,initComponent:function(){var me=this,isString=Ext.isString,min,max;min=me.minValue;max=me.maxValue;if(isString(min)){me.minValue=me.parseDate(min)}if(isString(max)){me.maxValue=me.parseDate(max)}me.disabledDatesRE=null;me.initDisabledDays();me.callParent()},initValue:function(){var me=this,value=me.value;if(Ext.isString(value)){me.value=me.rawToValue(value)}me.callParent()},initDisabledDays:function(){if(this.disabledDates){var dd=this.disabledDates,len=dd.length-1,re="(?:",d,dLen=dd.length,date;for(d=0;dclearTime(maxValue).getTime()){errors.push(format(me.maxText,me.formatDate(maxValue)))}if(disabledDays){day=value.getDay();for(;i'+Ext.DomHelper.markup(btnCfg)+"";btn.destroy();return result},createFileInput:function(){var me=this;me.fileInputEl=me.buttonEl.createChild({name:me.getName(),id:me.id+"-fileInputEl",cls:Ext.baseCSSPrefix+"form-file-input",tag:"input",type:"file",size:1});me.fileInputEl.on({scope:me,change:me.onFileChange})},onFileChange:function(){this.lastValue=null;Ext.form.field.File.superclass.setValue.call(this,this.fileInputEl.dom.value)},setValue:Ext.emptyFn,reset:function(){var me=this;if(me.rendered){me.fileInputEl.remove();me.createFileInput();me.inputEl.dom.value=""}me.callParent()},onDisable:function(){this.callParent();this.disableItems()},disableItems:function(){var file=this.fileInputEl;if(file){file.dom.disabled=true}this["buttonEl-btnEl"].dom.disabled=true},onEnable:function(){var me=this;me.callParent();me.fileInputEl.dom.disabled=false;this["buttonEl-btnEl"].dom.disabled=false},isFileUpload:function(){return true},extractFileInput:function(){var fileInput=this.fileInputEl.dom;this.reset();return fileInput},onDestroy:function(){Ext.destroyMembers(this,"fileInputEl","buttonEl");this.callParent()}});Ext.define("Ext.form.field.Hidden",{extend:"Ext.form.field.Base",alias:["widget.hiddenfield","widget.hidden"],alternateClassName:"Ext.form.Hidden",inputType:"hidden",hideLabel:true,initComponent:function(){this.formItemCls+="-hidden";this.callParent()},isEqual:function(value1,value2){return this.isEqualAsString(value1,value2)},initEvents:Ext.emptyFn,setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.layout.component.field.HtmlEditor",{extend:"Ext.layout.component.field.Field",alias:["layout.htmleditor"],type:"htmleditor",toolbarSizePolicy:{setsWidth:0,setsHeight:0},beginLayout:function(ownerContext){this.callParent(arguments);ownerContext.textAreaContext=ownerContext.getEl("textareaEl");ownerContext.iframeContext=ownerContext.getEl("iframeEl");ownerContext.toolbarContext=ownerContext.context.getCmp(this.owner.getToolbar())},renderItems:Ext.emptyFn,getItemSizePolicy:function(item){return this.toolbarSizePolicy},getLayoutItems:function(){var toolbar=this.owner.getToolbar();return toolbar?[toolbar]:[]},getRenderTarget:function(){return this.owner.bodyEl},publishInnerHeight:function(ownerContext,height){var me=this,innerHeight=height-me.measureLabelErrorHeight(ownerContext)-ownerContext.toolbarContext.getProp("height")-ownerContext.bodyCellContext.getPaddingInfo().height;if(Ext.isNumber(innerHeight)){ownerContext.textAreaContext.setHeight(innerHeight);ownerContext.iframeContext.setHeight(innerHeight)}else{me.done=false}}});Ext.define("Ext.picker.Color",{extend:"Ext.Component",requires:"Ext.XTemplate",alias:"widget.colorpicker",alternateClassName:"Ext.ColorPalette",componentCls:Ext.baseCSSPrefix+"color-picker",selectedCls:Ext.baseCSSPrefix+"color-picker-selected",value:null,clickEvent:"click",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],colorRe:/(?:^|\s)color-(.{6})(?:\s|$)/,renderTpl:['','',' ',"",""],initComponent:function(){var me=this;me.callParent(arguments);me.addEvents("select");if(me.handler){me.on("select",me.handler,me.scope,true)}},initRenderData:function(){var me=this;return Ext.apply(me.callParent(),{itemCls:me.itemCls,colors:me.colors})},onRender:function(){var me=this,clickEvent=me.clickEvent;me.callParent(arguments);me.mon(me.el,clickEvent,me.handleClick,me,{delegate:"a"});if(clickEvent!="click"){me.mon(me.el,"click",Ext.emptyFn,me,{delegate:"a",stopEvent:true})}},afterRender:function(){var me=this,value;me.callParent(arguments);if(me.value){value=me.value;me.value=null;me.select(value,true)}},handleClick:function(event,target){var me=this,color;event.stopEvent();if(!me.disabled){color=target.className.match(me.colorRe)[1];me.select(color.toUpperCase())}},select:function(color,suppressEvent){var me=this,selectedCls=me.selectedCls,value=me.value,el;color=color.replace("#","");if(!me.rendered){me.value=color;return}if(color!=value||me.allowReselect){el=me.el;if(me.value){el.down("a.color-"+value).removeCls(selectedCls)}el.down("a.color-"+color).addCls(selectedCls);me.value=color;if(suppressEvent!==true){me.fireEvent("select",me,color)}}},getValue:function(){return this.value||null}});Ext.define("Ext.form.field.HtmlEditor",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.htmleditor",alternateClassName:"Ext.form.HtmlEditor",requires:["Ext.tip.QuickTipManager","Ext.picker.Color","Ext.toolbar.Item","Ext.toolbar.Toolbar","Ext.util.Format","Ext.layout.component.field.HtmlEditor"],childEls:["iframeEl","textareaEl"],fieldSubTpl:["{beforeTextAreaTpl}",'","{afterTextAreaTpl}","{beforeIFrameTpl}",'',"{afterIFrameTpl}",{disableFormats:true}],subTplInsertions:["beforeTextAreaTpl","afterTextAreaTpl","beforeIFrameTpl","afterIFrameTpl","iframeAttrTpl","inputAttrTpl"],enableFormat:true,enableFontSize:true,enableColors:true,enableAlignments:true,enableLists:true,enableSourceEdit:true,enableLinks:true,enableFont:true,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",defaultValue:(Ext.isOpera||Ext.isIE6)?" ":"​",editorWrapCls:Ext.baseCSSPrefix+"html-editor-wrap",componentLayout:"htmleditor",initialized:false,activated:false,sourceEditMode:false,iframePad:3,hideMode:"offsets",afterBodyEl:"",maskOnDisable:true,initComponent:function(){var me=this;me.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange");me.callParent(arguments);me.createToolbar(me);me.initLabelable();me.initField()},getRefItems:function(){return[this.toolbar]},createToolbar:function(editor){var me=this,items=[],i,tipsEnabled=Ext.tip.QuickTipManager&&Ext.tip.QuickTipManager.isEnabled(),baseCSSPrefix=Ext.baseCSSPrefix,fontSelectItem,toolbar,undef;function btn(id,toggle,handler){return{itemId:id,cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-"+id,enableToggle:toggle!==false,scope:editor,handler:handler||editor.relayBtnCmd,clickEvent:"mousedown",tooltip:tipsEnabled?editor.buttonTips[id]||undef:undef,overflowText:editor.buttonTips[id].title||undef,tabIndex:-1}}if(me.enableFont&&!Ext.isSafari2){fontSelectItem=Ext.widget("component",{renderTpl:['"],renderData:{cls:baseCSSPrefix+"font-select",fonts:me.fontFamilies,defaultFont:me.defaultFont},childEls:["selectEl"],afterRender:function(){me.fontSelect=this.selectEl;Ext.Component.prototype.afterRender.apply(this,arguments)},onDisable:function(){var selectEl=this.selectEl;if(selectEl){selectEl.dom.disabled=true}Ext.Component.prototype.onDisable.apply(this,arguments)},onEnable:function(){var selectEl=this.selectEl;if(selectEl){selectEl.dom.disabled=false}Ext.Component.prototype.onEnable.apply(this,arguments)},listeners:{change:function(){me.relayCmd("fontname",me.fontSelect.dom.value);me.deferFocus()},element:"selectEl"}});items.push(fontSelectItem,"-")}if(me.enableFormat){items.push(btn("bold"),btn("italic"),btn("underline"))}if(me.enableFontSize){items.push("-",btn("increasefontsize",false,me.adjustFont),btn("decreasefontsize",false,me.adjustFont))}if(me.enableColors){items.push("-",{itemId:"forecolor",cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-forecolor",overflowText:editor.buttonTips.forecolor.title,tooltip:tipsEnabled?editor.buttonTips.forecolor||undef:undef,tabIndex:-1,menu:Ext.widget("menu",{plain:true,items:[{xtype:"colorpicker",allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,clickEvent:"mousedown",handler:function(cp,color){me.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+color:color);me.deferFocus();this.up("menu").hide()}}]})},{itemId:"backcolor",cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-backcolor",overflowText:editor.buttonTips.backcolor.title,tooltip:tipsEnabled?editor.buttonTips.backcolor||undef:undef,tabIndex:-1,menu:Ext.widget("menu",{plain:true,items:[{xtype:"colorpicker",focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,clickEvent:"mousedown",handler:function(cp,color){if(Ext.isGecko){me.execCmd("useCSS",false);me.execCmd("hilitecolor",color);me.execCmd("useCSS",true);me.deferFocus()}else{me.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+color:color);me.deferFocus()}this.up("menu").hide()}}]})})}if(me.enableAlignments){items.push("-",btn("justifyleft"),btn("justifycenter"),btn("justifyright"))}if(!Ext.isSafari2){if(me.enableLinks){items.push("-",btn("createlink",false,me.createLink))}if(me.enableLists){items.push("-",btn("insertorderedlist"),btn("insertunorderedlist"))}if(me.enableSourceEdit){items.push("-",btn("sourceedit",true,function(btn){me.toggleSourceEdit(!me.sourceEditMode)}))}}for(i=0;i',me.iframePad,h)},getEditorBody:function(){var doc=this.getDoc();return doc.body||doc.documentElement},getDoc:function(){return(!Ext.isIE&&this.iframeEl.dom.contentDocument)||this.getWin().document},getWin:function(){return Ext.isIE?this.iframeEl.dom.contentWindow:window.frames[this.iframeEl.dom.name]},finishRenderChildren:function(){this.callParent();this.toolbar.finishRender()},onRender:function(){var me=this;me.callParent(arguments);me.inputEl=me.iframeEl;me.monitorTask=Ext.TaskManager.start({run:me.checkDesignMode,scope:me,interval:100})},initRenderTpl:function(){var me=this;if(!me.hasOwnProperty("renderTpl")){me.renderTpl=me.getTpl("labelableRenderTpl")}return me.callParent()},initRenderData:function(){this.beforeSubTpl='
'+Ext.DomHelper.markup(this.toolbar.getRenderTree());return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},getSubTplData:function(){return{$comp:this,cmpId:this.id,id:this.getInputId(),textareaCls:Ext.baseCSSPrefix+"hidden",value:this.value,iframeName:Ext.id(),iframeSrc:Ext.SSL_SECURE_URL,size:"height:100px;width:100%"}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initFrameDoc:function(){var me=this,doc,task;Ext.TaskManager.stop(me.monitorTask);doc=me.getDoc();me.win=me.getWin();doc.open();doc.write(me.getDocMarkup());doc.close();task={run:function(){var doc=me.getDoc();if(doc.body||doc.readyState==="complete"){Ext.TaskManager.stop(task);me.setDesignMode(true);Ext.defer(me.initEditor,10,me)}},interval:10,duration:10000,scope:me};Ext.TaskManager.start(task)},checkDesignMode:function(){var me=this,doc=me.getDoc();if(doc&&(!doc.editorInitialized||me.getDesignMode()!=="on")){me.initFrameDoc()}},setDesignMode:function(mode){var me=this,doc=me.getDoc();if(doc){if(me.readOnly){mode=false}doc.designMode=(/on|true/i).test(String(mode).toLowerCase())?"on":"off"}},getDesignMode:function(){var doc=this.getDoc();return !doc?"":String(doc.designMode).toLowerCase()},disableItems:function(disabled){var items=this.getToolbar().items.items,i,iLen=items.length,item;for(i=0;i'+html+"
"}}html=me.cleanHtml(html);if(me.fireEvent("beforesync",me,html)!==false){if(me.textareaEl.dom.value!=html){me.textareaEl.dom.value=html;changed=true}me.fireEvent("sync",me,html);if(changed){me.checkChange()}}}},getValue:function(){var me=this,value;if(!me.sourceEditMode){me.syncValue()}value=me.rendered?me.textareaEl.dom.value:me.value;me.value=value;return value},pushValue:function(){var me=this,v;if(me.initialized){v=me.textareaEl.dom.value||"";if(!me.activated&&v.length<1){v=me.defaultValue}if(me.fireEvent("beforepush",me,v)!==false){me.getEditorBody().innerHTML=v;if(Ext.isGecko){me.setDesignMode(false);me.setDesignMode(true)}me.fireEvent("push",me,v)}}},deferFocus:function(){this.focus(false,true)},getFocusEl:function(){var me=this,win=me.win;return win&&!me.sourceEditMode?win:me.textareaEl},initEditor:function(){try{var me=this,dbody=me.getEditorBody(),ss=me.textareaEl.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),doc,fn;ss["background-attachment"]="fixed";dbody.bgProperties="fixed";Ext.DomHelper.applyStyles(dbody,ss);doc=me.getDoc();if(doc){try{Ext.EventManager.removeAll(doc)}catch(e){}}fn=Ext.Function.bind(me.onEditorEvent,me);Ext.EventManager.on(doc,{mousedown:fn,dblclick:fn,click:fn,keyup:fn,buffer:100});fn=me.onRelayedEvent;Ext.EventManager.on(doc,{mousedown:fn,mousemove:fn,mouseup:fn,click:fn,dblclick:fn,scope:me});if(Ext.isGecko){Ext.EventManager.on(doc,"keypress",me.applyCommand,me)}if(me.fixKeys){Ext.EventManager.on(doc,"keydown",me.fixKeys,me)}Ext.EventManager.on(window,"unload",me.beforeDestroy,me);doc.editorInitialized=true;me.initialized=true;me.pushValue();me.setReadOnly(me.readOnly);me.fireEvent("initialize",me)}catch(ex){}},beforeDestroy:function(){var me=this,monitorTask=me.monitorTask,doc,prop;if(monitorTask){Ext.TaskManager.stop(monitorTask)}if(me.rendered){try{doc=me.getDoc();if(doc){Ext.EventManager.removeAll(Ext.fly(doc));for(prop in doc){if(doc.hasOwnProperty&&doc.hasOwnProperty(prop)){delete doc[prop]}}}}catch(e){}Ext.destroyMembers(me,"toolbar","iframeEl","textareaEl")}me.callParent()},onRelayedEvent:function(event){var iframeEl=this.iframeEl,iframeXY=iframeEl.getXY(),eventXY=event.getXY();event.xy=[iframeXY[0]+eventXY[0],iframeXY[1]+eventXY[1]];event.injectEvent(iframeEl);event.xy=eventXY},onFirstFocus:function(){var me=this,selection,range;me.activated=true;me.disableItems(me.readOnly);if(Ext.isGecko){me.win.focus();selection=me.win.getSelection();if(!selection.focusNode||selection.focusNode.nodeType!==3){range=selection.getRangeAt(0);range.selectNodeContents(me.getEditorBody());range.collapse(true);me.deferFocus()}try{me.execCmd("useCSS",true);me.execCmd("styleWithCSS",false)}catch(e){}}me.fireEvent("activate",me)},adjustFont:function(btn){var adjust=btn.getItemId()==="increasefontsize"?1:-1,size=this.getDoc().queryCommandValue("FontSize")||"2",isPxSize=Ext.isString(size)&&size.indexOf("px")!==-1,isSafari;size=parseInt(size,10);if(isPxSize){if(size<=10){size=1+adjust}else{if(size<=13){size=2+adjust}else{if(size<=16){size=3+adjust}else{if(size<=18){size=4+adjust}else{if(size<=24){size=5+adjust}else{size=6+adjust}}}}}size=Ext.Number.constrain(size,1,6)}else{isSafari=Ext.isSafari;if(isSafari){adjust*=2}size=Math.max(1,size+adjust)+(isSafari?"px":0)}this.execCmd("FontSize",size)},onEditorEvent:function(e){this.updateToolbar()},updateToolbar:function(){var me=this,btns,doc,name,fontSelect;if(me.readOnly){return}if(!me.activated){me.onFirstFocus();return}btns=me.getToolbar().items.map;doc=me.getDoc();if(me.enableFont&&!Ext.isSafari2){name=(doc.queryCommandValue("FontName")||me.defaultFont).toLowerCase();fontSelect=me.fontSelect.dom;if(name!==fontSelect.value){fontSelect.value=name}}function updateButtons(){for(var i=0,l=arguments.length,name;i0){c=String.fromCharCode(c);switch(c){case"b":cmd="bold";break;case"i":cmd="italic";break;case"u":cmd="underline";break}if(cmd){me.win.focus();me.execCmd(cmd);me.deferFocus();e.preventDefault()}}}},insertAtCursor:function(text){var me=this,range;if(me.activated){me.win.focus();if(Ext.isIE){range=me.getDoc().selection.createRange();if(range){range.pasteHTML(text);me.syncValue();me.deferFocus()}}else{me.execCmd("InsertHTML",text);me.deferFocus()}}},fixKeys:(function(){if(Ext.isIE){return function(e){var me=this,k=e.getKey(),doc=me.getDoc(),readOnly=me.readOnly,range,target;if(k===e.TAB){e.stopEvent();if(!readOnly){range=doc.selection.createRange();if(range){range.collapse(true);range.pasteHTML("    ");me.deferFocus()}}}else{if(k===e.ENTER){if(!readOnly){range=doc.selection.createRange();if(range){target=range.parentElement();if(!target||target.tagName.toLowerCase()!=="li"){e.stopEvent();range.pasteHTML("
");range.collapse(false);range.select()}}}}}}}if(Ext.isOpera){return function(e){var me=this;if(e.getKey()===e.TAB){e.stopEvent();if(!me.readOnly){me.win.focus();me.execCmd("InsertHTML","    ");me.deferFocus()}}}}if(Ext.isWebKit){return function(e){var me=this,k=e.getKey(),readOnly=me.readOnly;if(k===e.TAB){e.stopEvent();if(!readOnly){me.execCmd("InsertText","\t");me.deferFocus()}}else{if(k===e.ENTER){e.stopEvent();if(!readOnly){me.execCmd("InsertHtml","

");me.deferFocus()}}}}}return null}()),getToolbar:function(){return this.toolbar},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:Ext.baseCSSPrefix+"html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:Ext.baseCSSPrefix+"html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:Ext.baseCSSPrefix+"html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:Ext.baseCSSPrefix+"html-editor-tip"}}});Ext.define("Ext.form.field.Radio",{extend:"Ext.form.field.Checkbox",alias:["widget.radiofield","widget.radio"],alternateClassName:"Ext.form.Radio",requires:["Ext.form.RadioManager"],isRadio:true,inputType:"radio",ariaRole:"radio",formId:null,getGroupValue:function(){var selected=this.getManager().getChecked(this.name,this.getFormId());return selected?selected.inputValue:null},onBoxClick:function(e){var me=this;if(!me.disabled&&!me.readOnly){this.setValue(true)}},onRemoved:function(){this.callParent(arguments);this.formId=null},setValue:function(v){var me=this,active;if(Ext.isBoolean(v)){me.callParent(arguments)}else{active=me.getManager().getWithValue(me.name,v,me.getFormId()).getAt(0);if(active){active.setValue(true)}}return me},getSubmitValue:function(){return this.checked?this.inputValue:null},getModelData:function(){return this.getSubmitData()},onChange:function(newVal,oldVal){var me=this,r,rLen,radio,radios;me.callParent(arguments);if(newVal){radios=me.getManager().getByName(me.name,me.getFormId()).items;rLen=radios.length;for(r=0;r=min&&date<=max})},createStore:function(){var me=this,utilDate=Ext.Date,times=[],min=me.absMin,max=me.absMax;while(min<=max){times.push({disp:utilDate.dateFormat(min,me.format),date:min});min=utilDate.add(min,"mi",me.increment)}return new Ext.data.Store({fields:["disp","date"],data:times})}});Ext.define("Ext.form.field.Time",{extend:"Ext.form.field.ComboBox",alias:"widget.timefield",requires:["Ext.form.field.Date","Ext.picker.Time","Ext.view.BoundListKeyNav","Ext.Date"],alternateClassName:["Ext.form.TimeField","Ext.form.Time"],triggerCls:Ext.baseCSSPrefix+"form-time-trigger",minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A",increment:15,pickerMaxHeight:300,selectOnTab:true,snapToIncrement:false,initDate:"1/1/2008",initDateFormat:"j/n/Y",ignoreSelection:0,queryMode:"local",displayField:"disp",valueField:"date",initComponent:function(){var me=this,min=me.minValue,max=me.maxValue;if(min){me.setMinValue(min)}if(max){me.setMaxValue(max)}me.displayTpl=new Ext.XTemplate('{[typeof values === "string" ? values : this.formatDate(values["'+me.displayField+'"])]}'+me.delimiter+"",{formatDate:Ext.Function.bind(me.formatDate,me)});this.callParent()},transformOriginalValue:function(value){if(Ext.isString(value)){return this.rawToValue(value)}return value},isEqual:function(v1,v2){return Ext.Date.isEqual(v1,v2)},setMinValue:function(value){var me=this,picker=me.picker;me.setLimit(value,true);if(picker){picker.setMinValue(me.minValue)}},setMaxValue:function(value){var me=this,picker=me.picker;me.setLimit(value,false);if(picker){picker.setMaxValue(me.maxValue)}},setLimit:function(value,isMin){var me=this,d,val;if(Ext.isString(value)){d=me.parseDate(value)}else{if(Ext.isDate(value)){d=value}}if(d){val=Ext.Date.clearTime(new Date(me.initDate));val.setHours(d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds())}else{val=null}me[isMin?"minValue":"maxValue"]=val},rawToValue:function(rawValue){return this.parseDate(rawValue)||rawValue||null},valueToRaw:function(value){return this.formatDate(this.parseDate(value))},getErrors:function(value){var me=this,format=Ext.String.format,errors=me.callParent(arguments),minValue=me.minValue,maxValue=me.maxValue,date;value=me.formatDate(value||me.processRawValue(me.getRawValue()));if(value===null||value.length<1){return errors}date=me.parseDate(value);if(!date){errors.push(format(me.invalidText,value,Ext.Date.unescapeFormat(me.format)));return errors}if(minValue&&datemaxValue){errors.push(format(me.maxText,me.formatDate(maxValue)))}return errors},formatDate:function(){return Ext.form.field.Date.prototype.formatDate.apply(this,arguments)},parseDate:function(value){var me=this,val=value,altFormats=me.altFormats,altFormatsArray=me.altFormatsArray,i=0,len;if(value&&!Ext.isDate(value)){val=me.safeParse(value,me.format);if(!val&&altFormats){altFormatsArray=altFormatsArray||altFormats.split("|");len=altFormatsArray.length;for(;i0){selected=selected[0];if(selected&&Ext.Date.isEqual(record.get("date"),selected.get("date"))){me.collapse()}}},onListSelectionChange:function(list,recordArray){var me=this,record=recordArray[0],val=record?record.get("date"):null;if(!me.ignoreSelection){me.skipSync=true;me.setValue(val);me.skipSync=false;me.fireEvent("select",me,val);me.picker.clearHighlight();me.collapse();me.inputEl.focus()}},syncSelection:function(){var me=this,picker=me.picker,toSelect,selModel,value,data,d,dLen,rec;if(picker&&!me.skipSync){picker.clearHighlight();value=me.getValue();selModel=picker.getSelectionModel();me.ignoreSelection++;if(value===null){selModel.deselectAll()}else{if(Ext.isDate(value)){data=picker.store.data.items;dLen=data.length;for(d=0;d1||(childCount===1&&children[0].nodeType!==3))){lastChild=innerCell.last();leftBound=lastChild.getOffsetsTo(innerCell)[0]+lastChild.getWidth();rightBound=innerCell.getWidth();width=rightBound-leftBound;if(!me.editingPlugin.grid.columnLines){width--}offsets[0]+=leftBound;me.addCls(Ext.baseCSSPrefix+"grid-editor-on-text-node")}else{width=boundEl.getWidth()-1}if(autoSize===true){me.field.setWidth(width)}me.alignTo(boundEl,me.alignment,offsets)},onEditorTab:function(e){var field=this.field;if(field.onEditorTab){field.onEditorTab(e)}},alignment:"tl-tl",hideEl:false,cls:Ext.baseCSSPrefix+"small-editor "+Ext.baseCSSPrefix+"grid-editor",shim:false,shadow:false});Ext.define("Ext.grid.ColumnComponentLayout",{extend:"Ext.layout.component.Auto",alias:"layout.columncomponent",type:"columncomponent",setWidthInDom:true,getContentHeight:function(ownerContext){return this.owner.isGroupHeader?ownerContext.getProp("contentHeight"):this.callParent(arguments)},calculateOwnerHeightFromContentHeight:function(ownerContext,contentHeight){var result=this.callParent(arguments);if(this.owner.isGroupHeader){result+=this.owner.titleEl.dom.offsetHeight}return result},getContentWidth:function(ownerContext){return this.owner.isGroupHeader?ownerContext.getProp("contentWidth"):this.callParent(arguments)},calculateOwnerWidthFromContentWidth:function(ownerContext,contentWidth){return contentWidth+ownerContext.getPaddingInfo().width}});Ext.define("Ext.grid.ColumnLayout",{extend:"Ext.layout.container.HBox",alias:"layout.gridcolumn",type:"gridcolumn",reserveOffset:false,firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",initLayout:function(){this.grid=this.owner.up("[scrollerOwner]");this.callParent()},beginLayout:function(ownerContext){var me=this,grid=me.grid,view=grid.view,i=0,items=me.getVisibleItems(),len=items.length,item;ownerContext.gridContext=ownerContext.context.getCmp(me.grid);if(grid.lockable){if(me.owner.up("tablepanel")===view.normalGrid){view=view.normalGrid.getView()}else{view=null}}me.callParent(arguments);for(;i0){items[0].addCls(me.firstHeaderCls);items[len-1].addCls(me.lastHeaderCls)}if(!me.owner.isHeader&&Ext.getScrollbarSize().width&&!grid.collapsed&&view&&view.table.dom&&(view.autoScroll||view.overflowY)){ownerContext.viewContext=ownerContext.context.getCmp(view)}},roundFlex:function(width){return Math.floor(width)},calculate:function(ownerContext){var me=this,viewContext=ownerContext.viewContext,tableHeight,viewHeight;me.callParent(arguments);if(ownerContext.state.parallelDone){ownerContext.setProp("columnWidthsDone",true)}if(viewContext&&!ownerContext.state.overflowAdjust.width&&!ownerContext.gridContext.heightModel.shrinkWrap){tableHeight=viewContext.tableContext.getProp("height");viewHeight=viewContext.getProp("height");if(isNaN(tableHeight+viewHeight)){me.done=false}else{if(tableHeight>=viewHeight){ownerContext.gridContext.invalidate({after:function(){ownerContext.state.overflowAdjust={width:Ext.getScrollbarSize().width,height:0}}})}}}},completeLayout:function(ownerContext){var me=this,owner=me.owner,state=ownerContext.state,needsInvalidate=false,calculated=me.sizeModels.calculated,childItems,len,i,childContext,item;me.callParent(arguments);if(!state.flexesCalculated&&owner.forceFit&&!owner.isHeader){childItems=ownerContext.childItems;len=childItems.length;for(i=0;i",initComponent:function(){var me=this,scroll=me.scroll;me.table=new Ext.dom.Element.Fly();me.table.id=me.id+"gridTable";me.autoScroll=undefined;if(scroll===true||scroll==="both"){me.autoScroll=true}else{if(scroll==="horizontal"){me.overflowX="auto"}else{if(scroll==="vertical"){me.overflowY="auto"}}}me.selModel.view=me;me.headerCt.view=me;me.headerCt.markDirty=me.markDirty;me.initFeatures(me.grid);delete me.grid;me.tpl=me.getTpl("initialTpl");me.callParent()},moveColumn:function(fromIdx,toIdx,colsToMove){var me=this,fragment=(colsToMove>1)?document.createDocumentFragment():undefined,destinationCellIdx=toIdx,colCount=me.getGridColumns().length,lastIdx=colCount-1,doFirstLastClasses=(me.firstCls||me.lastCls)&&(toIdx===0||toIdx==colCount||fromIdx===0||fromIdx==lastIdx),i,j,rows,len,tr,headerRows;if(me.rendered){headerRows=me.el.query(me.headerRowSelector);rows=me.el.query(me.rowSelector);if(toIdx>fromIdx&&fragment){destinationCellIdx-=colsToMove}for(i=0,len=headerRows.length;ielBottom){adjustment=rowRegion.bottom-elBottom}}record=me.getRecord(row);rowIdx=me.store.indexOf(record);if(adjustment){panel.scrollByDeltaY(adjustment)}me.fireEvent("rowfocus",record,row,rowIdx)}},focusCell:function(position){var me=this,cell=me.getCellByPosition(position),el=me.el,adjustmentY=0,adjustmentX=0,elRegion=el.getRegion(),panel=me.ownerCt,cellRegion,record;elRegion.bottom=elRegion.top+el.dom.clientHeight;elRegion.right=elRegion.left+el.dom.clientWidth;if(cell){cellRegion=cell.getRegion();if(cellRegion.topelRegion.bottom){adjustmentY=cellRegion.bottom-elRegion.bottom}}if(cellRegion.leftelRegion.right){adjustmentX=cellRegion.right-elRegion.right}}if(adjustmentY){panel.scrollByDeltaY(adjustmentY)}if(adjustmentX){panel.scrollByDeltaX(adjustmentX)}el.focus();me.fireEvent("cellfocus",record,cell,position)}},scrollByDelta:function(delta,dir){dir=dir||"scrollTop";var elDom=this.el.dom;elDom[dir]=(elDom[dir]+=delta)},onUpdate:function(store,record,operation,changedFieldNames){var me=this,index,newRow,newAttrs,attLen,i,attName,oldRow,oldRowDom,oldCells,newCells,len,i,columns,overItemCls,isHovered,row,isEditing=me.editingPlugin&&me.editingPlugin.editing;if(me.viewReady){index=me.store.indexOf(record);columns=me.headerCt.getGridColumns();overItemCls=me.overItemCls;if(columns.length&&index>-1){newRow=me.bufferRender([record],index)[0];oldRow=me.all.item(index);if(oldRow){oldRowDom=oldRow.dom;isHovered=oldRow.hasCls(overItemCls);if(oldRowDom.mergeAttributes){oldRowDom.mergeAttributes(newRow,true)}else{newAttrs=newRow.attributes;attLen=newAttrs.length;for(i=0;imaxWidth){maxWidth=scrollWidth}}return maxWidth},getPositionByEvent:function(e){var me=this,cellNode=e.getTarget(me.cellSelector),rowNode=e.getTarget(me.itemSelector),record=me.getRecord(rowNode),header=me.getHeaderByCell(cellNode);return me.getPosition(record,header)},getHeaderByCell:function(cell){if(cell){var m=cell.className.match(this.cellRe);if(m&&m[1]){return Ext.getCmp(m[1])}}return false},walkCells:function(pos,direction,e,preventWrap,verifierFn,scope){if(!pos){return}var me=this,row=pos.row,column=pos.column,rowCount=me.store.getCount(),firstCol=me.getFirstVisibleColumnIndex(),lastCol=me.getLastVisibleColumnIndex(),newPos={row:row,column:column},activeHeader=me.headerCt.getHeaderAtIndex(column);if(!activeHeader||activeHeader.hidden){return false}e=e||{};direction=direction.toLowerCase();switch(direction){case"right":if(column===lastCol){if(preventWrap||row===rowCount-1){return false}if(!e.ctrlKey){newPos.row=row+1;newPos.column=firstCol}}else{if(!e.ctrlKey){newPos.column=column+me.getRightGap(activeHeader)}else{newPos.column=lastCol}}break;case"left":if(column===firstCol){if(preventWrap||row===0){return false}if(!e.ctrlKey){newPos.row=row-1;newPos.column=lastCol}}else{if(!e.ctrlKey){newPos.column=column+me.getLeftGap(activeHeader)}else{newPos.column=firstCol}}break;case"up":if(row===0){return false}else{if(!e.ctrlKey){newPos.row=row-1}else{newPos.row=0}}break;case"down":if(row===rowCount-1){return false}else{if(!e.ctrlKey){newPos.row=row+1}else{newPos.row=rowCount-1}}break}if(verifierFn&&verifierFn.call(scope||window,newPos)!==true){return false}else{return newPos}},getFirstVisibleColumnIndex:function(){var firstVisibleHeader=this.getHeaderCt().getVisibleGridColumns()[0];return firstVisibleHeader?firstVisibleHeader.getIndex():-1},getLastVisibleColumnIndex:function(){var visHeaders=this.getHeaderCt().getVisibleGridColumns(),lastHeader=visHeaders[visHeaders.length-1];return lastHeader.getIndex()},getHeaderCt:function(){return this.headerCt},getPosition:function(record,header){var me=this,store=me.store,gridCols=me.headerCt.getGridColumns();return{row:store.indexOf(record),column:Ext.Array.indexOf(gridCols,header)}},getRightGap:function(activeHeader){var headerCt=this.getHeaderCt(),headers=headerCt.getGridColumns(),activeHeaderIdx=Ext.Array.indexOf(headers,activeHeader),i=activeHeaderIdx+1,nextIdx;for(;i<=headers.length;i++){if(!headers[i].hidden){nextIdx=i;break}}return nextIdx-activeHeaderIdx},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(activeHeader){var headerCt=this.getHeaderCt(),headers=headerCt.getGridColumns(),activeHeaderIdx=Ext.Array.indexOf(headers,activeHeader),i=activeHeaderIdx-1,prevIdx;for(;i>=0;i--){if(!headers[i].hidden){prevIdx=i;break}}return prevIdx-activeHeaderIdx},onAdd:function(ds,records,index){this.callParent(arguments);this.doStripeRows(index)},onRemove:function(ds,records,index){this.callParent(arguments);this.doStripeRows(index)},doStripeRows:function(startRow,endRow){var me=this,rows,rowsLn,i,row;if(me.rendered&&me.stripeRows){rows=me.getNodes(startRow,endRow);for(i=0,rowsLn=rows.length;i>#normalHeaderCt"},normal:{items:normalHeaders,itemId:"normalHeaderCt",stretchMaxPartner:"^^>>#lockedHeaderCt"}}},onLockedViewMouseWheel:function(e){var me=this,scrollDelta=-me.scrollDelta,deltaY=scrollDelta*e.getWheelDeltas().y,vertScrollerEl=me.lockedGrid.getView().el.dom,verticalCanScrollDown,verticalCanScrollUp;if(vertScrollerEl){verticalCanScrollDown=vertScrollerEl.scrollTop!==vertScrollerEl.scrollHeight-vertScrollerEl.clientHeight;verticalCanScrollUp=vertScrollerEl.scrollTop!==0}if((deltaY<0&&verticalCanScrollUp)||(deltaY>0&&verticalCanScrollDown)){e.stopEvent();me.scrolling=true;vertScrollerEl.scrollTop+=deltaY;me.normalGrid.getView().el.dom.scrollTop=vertScrollerEl.scrollTop;me.scrolling=false;me.onNormalViewScroll()}},onLockedViewScroll:function(){var me=this,lockedView=me.lockedGrid.getView(),normalView=me.normalGrid.getView(),normalTable,lockedTable;if(!me.scrolling){me.scrolling=true;normalView.el.dom.scrollTop=lockedView.el.dom.scrollTop;if(me.store.buffered){lockedTable=lockedView.el.child("table",true);normalTable=normalView.el.child("table",true);lockedTable.style.position="absolute"}me.scrolling=false}},onNormalViewScroll:function(){var me=this,lockedView=me.lockedGrid.getView(),normalView=me.normalGrid.getView(),normalTable,lockedTable;if(!me.scrolling){me.scrolling=true;lockedView.el.dom.scrollTop=normalView.el.dom.scrollTop;if(me.store.buffered){lockedTable=lockedView.el.child("table",true);normalTable=normalView.el.child("table",true);lockedTable.style.position="absolute";lockedTable.style.top=normalTable.style.top}me.scrolling=false}},onLockedHeaderMove:function(){if(this.syncRowHeight){this.onNormalViewRefresh()}},onNormalHeaderMove:function(){if(this.syncRowHeight){this.onLockedViewRefresh()}},updateSpacer:function(){var me=this,lockedViewEl=me.lockedGrid.getView().el,normalViewEl=me.normalGrid.getView().el.dom,spacerId=lockedViewEl.dom.id+"-spacer",spacerHeight=(normalViewEl.offsetHeight-normalViewEl.clientHeight)+"px";me.spacerEl=Ext.getDom(spacerId);if(me.spacerEl){me.spacerEl.style.height=spacerHeight}else{Ext.core.DomHelper.append(lockedViewEl,{id:spacerId,style:"height: "+spacerHeight})}},onLockedViewRefresh:function(){if(this.normalGrid.headerCt.getGridColumns().length){var me=this,view=me.lockedGrid.getView(),el=view.el,rowEls=el.query(view.getItemSelector()),ln=rowEls.length,i=0;me.lockedHeights=[];for(;inormalHeights[i]){Ext.fly(normalRowEls[i]).setHeight(lockedHeights[i])}else{if(lockedHeights[i]0){locked.setWidth(width);locked.show()}else{locked.hide()}Ext.resumeLayouts(true);return width>0},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(headerCt,header,sortState){if(sortState){this.normalGrid.headerCt.clearOtherSortStates(null,true)}},onNormalHeaderSortChange:function(headerCt,header,sortState){if(sortState){this.lockedGrid.headerCt.clearOtherSortStates(null,true)}},unlock:function(activeHd,toIdx){var me=this,normalGrid=me.normalGrid,lockedGrid=me.lockedGrid,normalHCt=normalGrid.headerCt,lockedHCt=lockedGrid.headerCt,refreshLocked=false;if(!Ext.isDefined(toIdx)){toIdx=0}activeHd=activeHd||lockedHCt.getMenu().activeHeader;Ext.suspendLayouts();activeHd.ownerCt.remove(activeHd,false);if(me.syncLockedWidth()){refreshLocked=true}activeHd.locked=false;normalHCt.insert(toIdx,activeHd);me.normalGrid.getView().refresh();if(refreshLocked){me.lockedGrid.getView().refresh()}Ext.resumeLayouts(true);me.fireEvent("unlockcolumn",me,activeHd)},applyColumnsState:function(columns){var me=this,lockedGrid=me.lockedGrid,lockedHeaderCt=lockedGrid.headerCt,normalHeaderCt=me.normalGrid.headerCt,lockedCols=Ext.Array.toMap(lockedHeaderCt.items,"headerId"),normalCols=Ext.Array.toMap(normalHeaderCt.items,"headerId"),locked=[],normal=[],lockedWidth=1,length=columns.length,i,existing,lockedDefault,col;for(i=0;ime.viewSize){me.viewSize=me.store.viewSize=newViewSize;me.handleViewScroll(me.lastScrollDirection||1)}},beforeViewRefresh:function(){var me=this,view=me.view,rows,direction;me.focusOnRefresh=Ext.Element.getActiveElement===view.el.dom;if(me.variableRowHeight){direction=me.lastScrollDirection;me.commonRecordIndex=undefined;if(direction&&(me.previousStart!==undefined)&&(me.scrollProportion===undefined)&&(rows=view.getNodes()).length){if(direction===1){if(me.tableStart<=me.previousEnd){me.commonRecordIndex=rows.length-1}}else{if(direction===-1){if(me.tableEnd>=me.previousStart){me.commonRecordIndex=0}}}me.scrollOffset=-view.el.getOffsetsTo(rows[me.commonRecordIndex])[1];me.commonRecordIndex-=(me.tableStart-me.previousStart)}else{me.scrollOffset=undefined}}},onLockRefresh:function(view){view.table.dom.style.position="absolute"},onViewRefresh:function(){var me=this,store=me.store,newScrollHeight,view=me.view,viewEl=view.el,viewDom=viewEl.dom,rows,newScrollOffset,scrollDelta,table=view.table.dom,tableTop,scrollTop;if(me.focusOnRefresh){viewEl.focus();me.focusOnRefresh=false}me.disabled=true;if(store.getCount()===store.getTotalCount()||(store.isFiltered()&&!store.remoteFilter)){me.stretcher.setHeight(0);me.position=viewDom.scrollTop=0;me.setTablePosition("absolute");return}me.stretcher.setHeight(newScrollHeight=me.getScrollHeight());scrollTop=viewDom.scrollTop;me.isScrollRefresh=(scrollTop>0);if(me.scrollProportion!==undefined){me.setTablePosition("absolute");me.setTableTop((me.scrollProportion?(newScrollHeight*me.scrollProportion)-(table.offsetHeight*me.scrollProportion):0)+"px")}else{me.setTablePosition("absolute");me.setTableTop((tableTop=(me.tableStart||0)*me.rowHeight)+"px");if(me.scrollOffset){rows=view.getNodes();newScrollOffset=-viewEl.getOffsetsTo(rows[me.commonRecordIndex])[1];scrollDelta=newScrollOffset-me.scrollOffset;me.position=(viewDom.scrollTop+=scrollDelta)}else{if((tableTop>scrollTop)||((tableTop+table.offsetHeight)lastPosition?1:-1;if(lastPosition!==me.position){me.handleViewScroll(me.lastScrollDirection)}}},handleViewScroll:function(direction){var me=this,store=me.store,view=me.view,viewSize=me.viewSize,totalCount=store.getTotalCount(),highestStartPoint=totalCount-viewSize,visibleStart=me.getFirstVisibleRowIndex(),visibleEnd=me.getLastVisibleRowIndex(),el=view.el.dom,requestStart,requestEnd;if(totalCount>=viewSize){me.scrollProportion=undefined;if(direction==-1){if(me.tableStart){if(visibleStart!==undefined){if(visibleStart<(me.tableStart+me.numFromEdge)){requestStart=Math.max(0,visibleEnd+me.trailingBufferZone-viewSize)}}else{me.scrollProportion=el.scrollTop/(el.scrollHeight-el.clientHeight);requestStart=Math.max(0,totalCount*me.scrollProportion-(viewSize/2)-me.numFromEdge-((me.leadingBufferZone+me.trailingBufferZone)/2))}}}else{if(visibleStart!==undefined){if(visibleEnd>(me.tableEnd-me.numFromEdge)){requestStart=Math.max(0,visibleStart-me.trailingBufferZone)}}else{me.scrollProportion=el.scrollTop/(el.scrollHeight-el.clientHeight);requestStart=totalCount*me.scrollProportion-(viewSize/2)-me.numFromEdge-((me.leadingBufferZone+me.trailingBufferZone)/2)}}if(requestStart!==undefined){if(requestStart>highestStartPoint){requestStart=highestStartPoint&~1;requestEnd=totalCount-1}else{requestStart=requestStart&~1;requestEnd=requestStart+viewSize-1}if(store.rangeCached(requestStart,requestEnd)){me.cancelLoad();store.guaranteeRange(requestStart,requestEnd)}else{me.attemptLoad(requestStart,requestEnd)}}}},getFirstVisibleRowIndex:function(){var me=this,view=me.view,scrollTop=view.el.dom.scrollTop,rows,count,i,rowBottom;if(me.variableRowHeight){rows=view.getNodes();count=rows.length;if(!count){return}rowBottom=Ext.fly(rows[0]).getOffsetsTo(view.el)[1];for(i=0;iview.el.dom.clientHeight){return}if(rowBottom>0){return view.getRecord(rows[i]).index}}}else{return Math.floor(scrollTop/me.rowHeight)}},getLastVisibleRowIndex:function(){var me=this,store=me.store,view=me.view,clientHeight=view.el.dom.clientHeight,rows,count,i,rowTop;if(me.variableRowHeight){rows=view.getNodes();if(!rows.length){return}count=store.getCount()-1;rowTop=Ext.fly(rows[count]).getOffsetsTo(view.el)[1]+rows[count].offsetHeight;for(i=count;i>=0;i--){rowTop-=rows[i].offsetHeight;if(rowTop<0){return}if(rowTopme.viewSize){deltaHeight-=me.rowHeight}}}else{if(doCalcHeight){firstRow=view.el.down(view.getItemSelector());if(firstRow){me.rowHeight=firstRow.getHeight(false,true)}}}return Math.floor(store.getTotalCount()*me.rowHeight)+deltaHeight},attemptLoad:function(start,end){var me=this;if(me.scrollToLoadBuffer){if(!me.loadTask){me.loadTask=new Ext.util.DelayedTask(me.doAttemptLoad,me,[])}me.loadTask.delay(me.scrollToLoadBuffer,me.doAttemptLoad,me,[start,end])}else{me.store.guaranteeRange(start,end)}},cancelLoad:function(){if(this.loadTask){this.loadTask.cancel()}},doAttemptLoad:function(start,end){this.store.guaranteeRange(start,end)},destroy:function(){var me=this,scrollListener=me.viewListeners.scroll;me.store.un({guaranteedrange:me.onGuaranteedRange,scope:me});me.view.un(me.viewListeners);if(me.view.rendered){me.stretcher.remove();me.view.el.un("scroll",scrollListener.fn,scrollListener.scope)}}});Ext.define("Ext.layout.container.Fit",{extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.FitLayout",alias:"layout.fit",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit",defaultMargins:{top:0,right:0,bottom:0,left:0},manageMargins:true,sizePolicies:{0:{setsWidth:0,setsHeight:0},1:{setsWidth:1,setsHeight:0},2:{setsWidth:0,setsHeight:1},3:{setsWidth:1,setsHeight:1}},getItemSizePolicy:function(item,ownerSizeModel){var sizeModel=ownerSizeModel||this.owner.getSizeModel(),mode=(sizeModel.width.shrinkWrap?0:1)|(sizeModel.height.shrinkWrap?0:2);return this.sizePolicies[mode]},beginLayoutCycle:function(ownerContext,firstCycle){var me=this,resetHeight=me.lastHeightModel&&me.lastHeightModel.calculated,resetWidth=me.lastWidthModel&&me.lastWidthModel.calculated,resetSizes=resetWidth||resetHeight,maxChildMinHeight=0,maxChildMinWidth=0,c,childItems,i,item,length,margins,minHeight,minWidth,style,undef;me.callParent(arguments);if(resetSizes&&ownerContext.targetContext.el.dom.tagName.toUpperCase()!="TD"){resetSizes=resetWidth=resetHeight=false}childItems=ownerContext.childItems;length=childItems.length;for(i=0;i'+me.emptyText+"":""}));me.view.getComponentLayout().headerCt=me.headerCt;me.mon(me.view,{uievent:me.processEvent,scope:me});sm.view=me.view;me.headerCt.view=me.view;me.relayEvents(me.view,["cellclick","celldblclick"])}return me.view},setAutoScroll:Ext.emptyFn,processEvent:function(type,view,cell,recordIndex,cellIndex,e){var me=this,header;if(cellIndex!==-1){header=me.headerCt.getGridColumns()[cellIndex];return header.processEvent.apply(header,arguments)}},determineScrollbars:function(){},invalidateScroller:function(){},scrollByDeltaY:function(yDelta,animate){this.getView().scrollBy(0,yDelta,animate)},scrollByDeltaX:function(xDelta,animate){this.getView().scrollBy(xDelta,0,animate)},afterCollapse:function(){var me=this;me.saveScrollPos();me.saveScrollPos();me.callParent(arguments)},afterExpand:function(){var me=this;me.callParent(arguments);me.restoreScrollPos();me.restoreScrollPos()},saveScrollPos:Ext.emptyFn,restoreScrollPos:Ext.emptyFn,onHeaderResize:function(){this.delayScroll()},onHeaderMove:function(headerCt,header,colsToMove,fromIdx,toIdx){var me=this;if(me.optimizedColumnMove===false){me.view.refresh()}else{me.view.moveColumn(fromIdx,toIdx,colsToMove)}me.delayScroll()},onHeaderHide:function(headerCt,header){this.delayScroll()},onHeaderShow:function(headerCt,header){this.delayScroll()},delayScroll:function(){var target=this.getScrollTarget().el;if(target){this.scrollTask.delay(10,null,null,[target.dom.scrollLeft])}},onViewReady:function(){this.fireEvent("viewready",this)},onRestoreHorzScroll:function(){var left=this.scrollLeftPos;if(left){this.syncHorizontalScroll(left,true)}},getScrollerOwner:function(){var rootCmp=this;if(!this.scrollerOwner){rootCmp=this.up("[scrollerOwner]")}return rootCmp},getLhsMarker:function(){var me=this;return me.lhsMarker||(me.lhsMarker=Ext.DomHelper.append(me.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true))},getRhsMarker:function(){var me=this;return me.rhsMarker||(me.rhsMarker=Ext.DomHelper.append(me.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true))},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var mode="SINGLE",type;if(this.simpleSelect){mode="SIMPLE"}else{if(this.multiSelect){mode="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:mode});if(!this.selModel.events){type=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+type,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},getScrollTarget:function(){var owner=this.getScrollerOwner(),items=owner.query("tableview");return items[1]||items[0]},onHorizontalScroll:function(event,target){this.syncHorizontalScroll(target.scrollLeft)},syncHorizontalScroll:function(left,setBody){var me=this,scrollTarget;setBody=setBody===true;if(me.rendered&&(setBody||left!==me.scrollLeftPos)){if(setBody){scrollTarget=me.getScrollTarget();scrollTarget.el.dom.scrollLeft=left}me.headerCt.el.dom.scrollLeft=left;me.scrollLeftPos=left}},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(store){var me=this;me.store=store;me.getView().bindStore(store)},beforeDestroy:function(){Ext.destroy(this.verticalScroller);this.callParent()},reconfigure:function(store,columns){var me=this,headerCt=me.headerCt;if(me.lockable){me.reconfigureLockable(store,columns)}else{Ext.suspendLayouts();if(columns){delete me.scrollLeftPos;headerCt.removeAll();headerCt.add(columns)}if(store){store=Ext.StoreManager.lookup(store);me.bindStore(store)}else{me.getView().refresh()}headerCt.setSortState();Ext.resumeLayouts(true)}me.fireEvent("reconfigure",me,store,columns)}});Ext.define("Ext.grid.View",{extend:"Ext.view.Table",alias:"widget.gridview",stripeRows:true,autoScroll:true});Ext.define("Ext.grid.Panel",{extend:"Ext.panel.Table",requires:["Ext.grid.View"],alias:["widget.gridpanel","widget.grid"],alternateClassName:["Ext.list.ListView","Ext.ListView","Ext.grid.GridPanel"],viewType:"gridview",lockable:false,bothCfgCopy:["invalidateScrollerOnRefresh","hideHeaders","enableColumnHide","enableColumnMove","enableColumnResize","sortableColumns"],normalCfgCopy:["verticalScroller","verticalScrollDock","verticalScrollerType","scroll"],lockedCfgCopy:[],rowLines:true});Ext.define("Ext.grid.RowEditor",{extend:"Ext.form.Panel",requires:["Ext.tip.ToolTip","Ext.util.HashMap","Ext.util.KeyNav"],saveBtnText:"Update",cancelBtnText:"Cancel",errorsText:"Errors",dirtyText:"You need to commit or cancel your changes",lastScrollLeft:0,lastScrollTop:0,border:false,hideMode:"offsets",initComponent:function(){var me=this,form;me.cls=Ext.baseCSSPrefix+"grid-row-editor";me.layout={type:"hbox",align:"middle"};me.columns=new Ext.util.HashMap();me.columns.getKey=function(columnHeader){var f;if(columnHeader.getEditor){f=columnHeader.getEditor();if(f){return f.id}}return columnHeader.id};me.mon(me.columns,{add:me.onFieldAdd,remove:me.onFieldRemove,replace:me.onFieldReplace,scope:me});me.callParent(arguments);if(me.fields){me.setField(me.fields);delete me.fields}me.mon(Ext.container.Container.hierarchyEventSource,{scope:me,show:me.repositionIfVisible});form=me.getForm();form.trackResetOnLoad=true},onFieldChange:function(){var me=this,form=me.getForm(),valid=form.isValid();if(me.errorSummary&&me.isVisible()){me[valid?"hideToolTip":"showToolTip"]()}me.updateButton(valid);me.isValid=valid},updateButton:function(valid){var buttons=this.floatingButtons;if(buttons){buttons.child("#update").setDisabled(!valid)}},afterRender:function(){var me=this,plugin=me.editingPlugin;me.callParent(arguments);me.mon(me.renderTo,"scroll",me.onCtScroll,me,{buffer:100});me.mon(me.el,{click:Ext.emptyFn,stopPropagation:true});me.el.swallowEvent(["keypress","keydown"]);me.keyNav=new Ext.util.KeyNav(me.el,{enter:plugin.completeEdit,esc:plugin.onEscKey,scope:plugin});me.mon(plugin.view,{beforerefresh:me.onBeforeViewRefresh,refresh:me.onViewRefresh,itemremove:me.onViewItemRemove,scope:me})},onBeforeViewRefresh:function(view){var me=this,viewDom=view.el.dom;if(me.el.dom.parentNode===viewDom){viewDom.removeChild(me.el.dom)}},onViewRefresh:function(view){var me=this,viewDom=view.el.dom,context=me.context,idx;viewDom.appendChild(me.el.dom);if(context&&(idx=context.store.indexOf(context.record))>=0){context.row=view.getNode(idx);me.reposition();if(me.tooltip&&me.tooltip.isVisible()){me.tooltip.setTarget(context.row)}}else{me.editingPlugin.cancelEdit()}},onViewItemRemove:function(record,index){var context=this.context;if(context&&record===context.record){this.editingPlugin.cancelEdit()}},onCtScroll:function(e,target){var me=this,scrollTop=target.scrollTop,scrollLeft=target.scrollLeft;if(scrollTop!==me.lastScrollTop){me.lastScrollTop=scrollTop;if((me.tooltip&&me.tooltip.isVisible())||me.hiddenTip){me.repositionTip()}}if(scrollLeft!==me.lastScrollLeft){me.lastScrollLeft=scrollLeft;me.reposition()}},onColumnAdd:function(column){if(!column.isGroupHeader){this.setField(column)}},onColumnRemove:function(column){this.columns.remove(column)},onColumnResize:function(column,width){if(!column.isGroupHeader){column.getEditor().setWidth(width-2);this.repositionIfVisible()}},onColumnHide:function(column){if(!column.isGroupHeader){column.getEditor().hide();this.repositionIfVisible()}},onColumnShow:function(column){var field=column.getEditor();field.setWidth(column.getWidth()-2).show();this.repositionIfVisible()},onColumnMove:function(column,fromIdx,toIdx){if(!column.isGroupHeader){var field=column.getEditor();if(this.items.indexOf(field)!=toIdx){this.move(fromIdx,toIdx)}}},onFieldAdd:function(map,fieldId,column){var me=this,colIdx,field;if(!column.isGroupHeader){colIdx=me.editingPlugin.grid.headerCt.getHeaderIndex(column);field=column.getEditor({xtype:"displayfield"});me.insert(colIdx,field)}},onFieldRemove:function(map,fieldId,column){var me=this,field,fieldEl;if(!column.isGroupHeader){field=column.getEditor();fieldEl=field.el;me.remove(field,false);if(fieldEl){fieldEl.remove()}}},onFieldReplace:function(map,fieldId,column,oldColumn){this.onFieldRemove(map,fieldId,oldColumn)},clearFields:function(){var map=this.columns,key;for(key in map){if(map.hasOwnProperty(key)){map.removeAtKey(key)}}},getFloatingButtons:function(){var me=this,cssPrefix=Ext.baseCSSPrefix,btnsCss=cssPrefix+"grid-row-editor-buttons",plugin=me.editingPlugin,minWidth=Ext.panel.Panel.prototype.minButtonWidth,btns;if(!me.floatingButtons){btns=me.floatingButtons=new Ext.Container({renderTpl:['
','
','
','
','
',"{%this.renderContainer(out,values)%}"],width:200,renderTo:me.el,baseCls:btnsCss,layout:{type:"hbox",align:"middle"},defaults:{flex:1,margins:"0 1 0 1"},items:[{itemId:"update",xtype:"button",handler:plugin.completeEdit,scope:plugin,text:me.saveBtnText,minWidth:minWidth},{xtype:"button",handler:plugin.cancelEdit,scope:plugin,text:me.cancelBtnText,minWidth:minWidth}]});me.mon(btns.el,{mousedown:Ext.emptyFn,click:Ext.emptyFn,stopEvent:true})}return me.floatingButtons},repositionIfVisible:function(c){var me=this,view=me.view;if(c&&(c==me||!view.isDescendantOf(c))){return}if(me.isVisible()&&view.isVisible(true)){me.reposition()}},reposition:function(animateConfig){var me=this,context=me.context,row=context&&Ext.get(context.row),btns=me.getFloatingButtons(),btnEl=btns.el,grid=me.editingPlugin.grid,viewEl=grid.view.el,mainBodyWidth=grid.headerCt.getFullWidth(),scrollerWidth=grid.getWidth(),width=Math.min(mainBodyWidth,scrollerWidth),scrollLeft=grid.view.el.dom.scrollLeft,btnWidth=btns.getWidth(),left=(width-btnWidth)/2+scrollLeft,y,rowH,newHeight,invalidateScroller=function(){btnEl.scrollIntoView(viewEl,false);if(animateConfig&&animateConfig.callback){animateConfig.callback.call(animateConfig.scope||me)}},animObj;if(row&&Ext.isElement(row.dom)){row.scrollIntoView(viewEl,false);y=row.getXY()[1]-5;rowH=row.getHeight();newHeight=rowH+(me.editingPlugin.grid.rowLines?9:10);if(me.getHeight()!=newHeight){me.setHeight(newHeight);me.el.setLeft(0)}if(animateConfig){animObj={to:{y:y},duration:animateConfig.duration||125,listeners:{afteranimate:function(){invalidateScroller();y=row.getXY()[1]-5}}};me.el.animate(animObj)}else{me.el.setY(y);invalidateScroller()}}if(me.getWidth()!=mainBodyWidth){me.setWidth(mainBodyWidth)}btnEl.setLeft(left)},getEditor:function(fieldInfo){var me=this;if(Ext.isNumber(fieldInfo)){return me.query(">[isFormField]")[fieldInfo]}else{if(fieldInfo.isHeader&&!fieldInfo.isGroupHeader){return fieldInfo.getEditor()}}},removeField:function(field){var me=this;field=me.getEditor(field);me.mun(field,"validitychange",me.onValidityChange,me);me.columns.removeAtKey(field.id);Ext.destroy(field)},setField:function(column){var me=this,i,length,field;if(Ext.isArray(column)){length=column.length;for(i=0;idisplayfield");length=displayFields.length;for(i=0;iviewTop&&rowTop":"",errors=[],fields=me.query(">[isFormField]"),length=fields.length,i;function createListItem(e){return"
  • "+e+"
  • "}for(i=0;i"+errors.join("")+""},beforeDestroy:function(){Ext.destroy(this.floatingButtons,this.tooltip);this.callParent()}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.AbstractPlugin",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,config:{dynamic:false},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(headerCt){this.headerCt=headerCt;headerCt.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var headerCt=this.headerCt,el=headerCt.el;headerCt.mon(el,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=new Ext.dd.DragTracker({disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:el})},onHeaderCtMouseMove:function(e,t){var me=this,prevSiblings,headerEl,overHeader,resizeHeader,resizeHeaderOwnerGrid,ownerGrid;if(me.headerCt.dragging){if(me.activeHd){me.activeHd.el.dom.style.cursor="";delete me.activeHd}}else{headerEl=e.getTarget("."+me.colHeaderCls,3,true);if(headerEl){overHeader=Ext.getCmp(headerEl.id);if(overHeader.isOnLeftEdge(e)){resizeHeader=overHeader.previousNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(resizeHeader){ownerGrid=me.headerCt.up("tablepanel");resizeHeaderOwnerGrid=resizeHeader.up("tablepanel");if(!((resizeHeaderOwnerGrid===ownerGrid)||((ownerGrid.ownerCt.isXType("tablepanel"))&&ownerGrid.ownerCt.view.lockedGrid===resizeHeaderOwnerGrid))){resizeHeader=null}}}else{if(overHeader.isOnRightEdge(e)){resizeHeader=overHeader}else{resizeHeader=null}}if(resizeHeader){if(resizeHeader.isGroupHeader){prevSiblings=resizeHeader.getGridColumns();resizeHeader=prevSiblings[prevSiblings.length-1]}if(resizeHeader&&!(resizeHeader.fixed||(resizeHeader.resizable===false)||me.disabled)){me.activeHd=resizeHeader;overHeader.el.dom.style.cursor=me.eResizeCursor}}else{overHeader.el.dom.style.cursor="";delete me.activeHd}}}},onBeforeStart:function(e){var t=e.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(t).hasCls(Ext.baseCSSPrefix+"column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var me=this,dragHdEl=me.dragHd.el,region=Ext.util.Region.getRegion(dragHdEl),nextHd;if(me.headerCt.forceFit){nextHd=me.dragHd.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])")}return region.adjust(0,me.headerCt.forceFit?(nextHd?nextHd.getWidth()-me.minColWidth:0):me.maxColWidth-dragHdEl.getWidth(),0,me.minColWidth)},onStart:function(e){var me=this,dragHd=me.dragHd,dragHdEl=dragHd.el,width=dragHdEl.getWidth(),headerCt=me.headerCt,t=e.getTarget(),xy,gridSection,dragHct,firstSection,lhsMarker,rhsMarker,el,offsetLeft,offsetTop,topLeft,markerHeight,top;if(me.dragHd&&!Ext.fly(t).hasCls(Ext.baseCSSPrefix+"column-header-trigger")){headerCt.dragging=true}me.origWidth=width;if(!me.dynamic){xy=dragHdEl.getXY();gridSection=headerCt.up("[scrollerOwner]");dragHct=me.dragHd.up(":not([isGroupHeader])");firstSection=dragHct.up();lhsMarker=gridSection.getLhsMarker();rhsMarker=gridSection.getRhsMarker();el=rhsMarker.parent();offsetLeft=el.getLocalX();offsetTop=el.getLocalY();topLeft=el.translatePoints(xy);markerHeight=firstSection.body.getHeight()+headerCt.getHeight();top=topLeft.top-offsetTop;lhsMarker.setTop(top);rhsMarker.setTop(top);lhsMarker.setHeight(markerHeight);rhsMarker.setHeight(markerHeight);lhsMarker.setLeft(topLeft.left-offsetLeft);rhsMarker.setLeft(topLeft.left+width-offsetLeft)}},onDrag:function(e){if(!this.dynamic){var xy=this.tracker.getXY("point"),gridSection=this.headerCt.up("[scrollerOwner]"),rhsMarker=gridSection.getRhsMarker(),el=rhsMarker.parent(),topLeft=el.translatePoints(xy),offsetLeft=el.getLocalX();rhsMarker.setLeft(topLeft.left-offsetLeft)}else{this.doResize()}},onEnd:function(e){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var dragHd=this.dragHd,gridSection=this.headerCt.up("[scrollerOwner]"),lhsMarker=gridSection.getLhsMarker(),rhsMarker=gridSection.getRhsMarker(),offscreen=-9999;lhsMarker.setLeft(offscreen);rhsMarker.setLeft(offscreen)}this.doResize()}},doResize:function(){if(this.dragHd){var dragHd=this.dragHd,nextHd,offset=this.tracker.getOffset("point");if(dragHd.flex){delete dragHd.flex}Ext.suspendLayouts();dragHd.setWidth(this.origWidth+offset[0]);if(this.headerCt.forceFit){nextHd=dragHd.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(nextHd){delete nextHd.flex;nextHd.setWidth(nextHd.getWidth()-offset[0])}}Ext.resumeLayouts(true)}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.header.DragZone",{extend:"Ext.dd.DragZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",maxProxyWidth:120,constructor:function(headerCt){this.headerCt=headerCt;this.ddGroup=this.getDDGroup();this.callParent([headerCt.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(e){var header=e.getTarget("."+this.colHeaderCls),headerCmp,ddel;if(header){headerCmp=Ext.getCmp(header.id);if(!this.headerCt.dragging&&headerCmp.draggable&&!(headerCmp.isOnLeftEdge(e)||headerCmp.isOnRightEdge(e))){ddel=document.createElement("div");ddel.innerHTML=Ext.getCmp(header.id).text;return{ddel:ddel,header:headerCmp}}}return false},onBeforeDrag:function(){return !(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=true;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=false;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=false},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=true},enable:function(){this.disabled=false}});Ext.define("Ext.grid.header.DropZone",{extend:"Ext.dd.DropZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(headerCt){this.headerCt=headerCt;this.ddGroup=this.getDDGroup();this.callParent([headerCt.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(e){return e.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){if(!this.topIndicator){this.topIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:" "},true)}return this.topIndicator},getBottomIndicator:function(){if(!this.bottomIndicator){this.bottomIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:" "},true)}return this.bottomIndicator},getLocation:function(e,t){var x=e.getXY()[0],region=Ext.fly(t).getRegion(),pos,header;if((region.right-x)<=(region.right-region.left)/2){pos="after"}else{pos="before"}return{pos:pos,header:Ext.getCmp(t.id),node:t}},positionIndicator:function(draggedHeader,node,e){var location=this.getLocation(e,node),header=location.header,pos=location.pos,nextHd=draggedHeader.nextSibling("gridcolumn:not([hidden])"),prevHd=draggedHeader.previousSibling("gridcolumn:not([hidden])"),topIndicator,bottomIndicator,topAnchor,bottomAnchor,topXY,bottomXY,headerCtEl,minX,maxX,allDropZones,ln,i,dropZone;if(!header.draggable&&header.getIndex()===0){return false}this.lastLocation=location;if((draggedHeader!==header)&&((pos==="before"&&nextHd!==header)||(pos==="after"&&prevHd!==header))&&!header.isDescendantOf(draggedHeader)){allDropZones=Ext.dd.DragDropManager.getRelated(this);ln=allDropZones.length;i=0;for(;ilocalFromIdx)){localToIdx-=1}Ext.suspendLayouts();if(fromCt!==toCt){fromCt.remove(dragHeader,false);if(fromCt.isGroupHeader){if(!fromCt.items.getCount()){groupCt=fromCt.ownerCt;groupCt.remove(fromCt,false);fromCt.el.dom.parentNode.removeChild(fromCt.el.dom)}}}if(fromCt===toCt){toCt.move(localFromIdx,localToIdx)}else{toCt.insert(localToIdx,dragHeader)}if(toCt.isGroupHeader){if(toCt!==fromCt){dragHeader.savedFlex=dragHeader.flex;delete dragHeader.flex;dragHeader.width=dragHeader.getWidth()}}else{if(dragHeader.savedFlex){dragHeader.flex=dragHeader.savedFlex;delete dragHeader.width}}headerCt.purgeCache();Ext.resumeLayouts(true);headerCt.onHeaderMoved(dragHeader,colsToMove,fromIdx,toIdx);if(!fromCt.items.getCount()){fromCt.destroy()}}}}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.AbstractPlugin",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(headerCt){this.headerCt=headerCt;headerCt.on({render:this.onHeaderCtRender,single:true,scope:this})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){var me=this;me.dragZone=new Ext.grid.header.DragZone(me.headerCt);me.dropZone=new Ext.grid.header.DropZone(me.headerCt);if(me.disabled){me.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",requires:["Ext.grid.ColumnLayout","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],uses:["Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",detachOnRemove:false,defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var me=this;me.headerCounter=0;me.plugins=me.plugins||[];if(!me.isHeader){if(me.enableColumnResize){me.resizer=new Ext.grid.plugin.HeaderResizer();me.plugins.push(me.resizer)}if(me.enableColumnMove){me.reorderer=new Ext.grid.plugin.HeaderReorderer();me.plugins.push(me.reorderer)}}if(me.isHeader&&!me.items){me.layout=me.layout||"auto"}else{me.layout=Ext.apply({type:"gridcolumn",align:"stretchmax"},me.initialConfig.layout)}me.defaults=me.defaults||{};Ext.applyIf(me.defaults,{triStateSort:me.triStateSort,sortable:me.sortable});me.menuTask=new Ext.util.DelayedTask(me.updateMenuDisabledState,me);me.callParent();me.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){var me=this;me.menuTask.cancel();Ext.destroy(me.resizer,me.reorderer);me.callParent()},applyColumnsState:function(columns){if(!columns||!columns.length){return}var me=this,items=me.items.items,count=items.length,i=0,length=columns.length,c,col,columnState,index;for(c=0;cgridcolumn[hideable]"),itemsLn=items.length,menuItem;for(;i{text}
    {%this.renderContainer(out,values)%}',dataIndex:null,text:" ",menuText:null,emptyCellText:" ",sortable:true,resizable:true,hideable:true,menuDisabled:false,renderer:false,editRenderer:false,align:"left",draggable:true,tooltipType:"qtip",initDraggable:Ext.emptyFn,isHeader:true,componentLayout:"columncomponent",initResizable:Ext.emptyFn,initComponent:function(){var me=this,renderer;if(Ext.isDefined(me.header)){me.text=me.header;delete me.header}if(!me.triStateSort){me.possibleSortStates.length=2}if(Ext.isDefined(me.columns)){me.isGroupHeader=true;me.items=me.columns;delete me.columns;delete me.flex;delete me.width;me.cls=(me.cls||"")+" "+Ext.baseCSSPrefix+"group-header";me.sortable=false;me.resizable=false;me.align="center"}else{me.isContainer=false;if(me.flex){me.minWidth=me.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}}me.addCls(Ext.baseCSSPrefix+"column-header-align-"+me.align);renderer=me.renderer;if(renderer){if(typeof renderer=="string"){me.renderer=Ext.util.Format[renderer]}me.hasCustomRenderer=true}else{if(me.defaultRenderer){me.scope=me;me.renderer=me.defaultRenderer}}me.callParent(arguments);me.on({element:"el",click:me.onElClick,dblclick:me.onElDblClick,scope:me});me.on({element:"titleEl",mouseenter:me.onTitleMouseOver,mouseleave:me.onTitleMouseOut,scope:me})},onAdd:function(childHeader){childHeader.isSubHeader=true;childHeader.addCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},onRemove:function(childHeader){childHeader.isSubHeader=false;childHeader.removeCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},initRenderData:function(){var me=this,tipMarkup="",tip=me.tooltip,attr=me.tooltipType=="qtip"?"data-qtip":"title";if(!Ext.isEmpty(tip)){tipMarkup=attr+'="'+tip+'" '}return Ext.applyIf(me.callParent(arguments),{text:me.text,menuDisabled:me.menuDisabled,tipMarkup:tipMarkup})},applyColumnState:function(state){var me=this,defined=Ext.isDefined;me.applyColumnsState(state.columns);if(defined(state.hidden)){me.hidden=state.hidden}if(defined(state.locked)){me.locked=state.locked}if(defined(state.sortable)){me.sortable=state.sortable}if(defined(state.width)){delete me.flex;me.width=state.width}else{if(defined(state.flex)){delete me.width;me.flex=state.flex}}},getColumnState:function(){var me=this,items=me.items.items,iLen=items?items.length:0,i,columns=[],state={id:me.getStateId()};me.savePropsToState(["hidden","sortable","locked","flex","width"],state);if(me.isGroupHeader){for(i=0;i:not([hidden])");if(items.length===1&&items[0]==me){me.ownerCt.hide();return}}Ext.suspendLayouts();if(me.isGroupHeader){items=me.items.items;for(i=0,len=items.length;i*");for(i=0,len=items.length;i
    ',indicatorCls:Ext.baseCSSPrefix+"grid-drop-indicator",constructor:function(config){var me=this;Ext.apply(me,config);if(!me.ddGroup){me.ddGroup="view-dd-zone-"+me.view.id}me.callParent([me.view.el])},fireViewEvent:function(){var me=this,result;me.lock();result=me.view.fireEvent.apply(me.view,arguments);me.unlock();return result},getTargetFromEvent:function(e){var node=e.getTarget(this.view.getItemSelector()),mouseY,nodeList,testNode,i,len,box;if(!node){mouseY=e.getPageY();for(i=0,nodeList=this.view.getNodes(),len=nodeList.length;i=(region.bottom-region.top)/2){pos="before"}else{pos="after"}return pos},containsRecordAtOffset:function(records,record,offset){if(!record){return false}var view=this.view,recordIndex=view.indexOf(record),nodeBefore=view.getNode(recordIndex+offset),recordBefore=nodeBefore?view.getRecord(nodeBefore):null;return recordBefore&&Ext.Array.contains(records,recordBefore)},positionIndicator:function(node,data,e){var me=this,view=me.view,pos=me.getPosition(e,node),overRecord=view.getRecord(node),draggingRecords=data.records,indicatorY;if(!Ext.Array.contains(draggingRecords,overRecord)&&(pos=="before"&&!me.containsRecordAtOffset(draggingRecords,overRecord,-1)||pos=="after"&&!me.containsRecordAtOffset(draggingRecords,overRecord,1))){me.valid=true;if(me.overRecord!=overRecord||me.currentPosition!=pos){indicatorY=Ext.fly(node).getY()-view.el.getY()-1;if(pos=="after"){indicatorY+=Ext.fly(node).getHeight()}me.getIndicator().setWidth(Ext.fly(view.el).getWidth()).showAt(0,indicatorY);me.overRecord=overRecord;me.currentPosition=pos}}else{me.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(node,dragZone,e,data){var me=this;if(!Ext.Array.contains(data.records,me.view.getRecord(node))){me.positionIndicator(node,data,e)}return me.valid?me.dropAllowed:me.dropNotAllowed},notifyOut:function(node,dragZone,e,data){var me=this;me.callParent(arguments);delete me.overRecord;delete me.currentPosition;if(me.indicator){me.indicator.hide()}},onContainerOver:function(dd,e,data){var me=this,view=me.view,count=view.store.getCount();if(count){me.positionIndicator(view.getNode(count-1),data,e)}else{delete me.overRecord;delete me.currentPosition;me.getIndicator().setWidth(Ext.fly(view.el).getWidth()).showAt(0,0);me.valid=true}return me.dropAllowed},onContainerDrop:function(dd,e,data){return this.onNodeDrop(dd,null,e,data)},onNodeDrop:function(node,dragZone,e,data){var me=this,dropHandled=false,dropHandlers={wait:false,processDrop:function(){me.invalidateDrop();me.handleNodeDrop(data,me.overRecord,me.currentPosition);dropHandled=true;me.fireViewEvent("drop",node,data,me.overRecord,me.currentPosition)},cancelDrop:function(){me.invalidateDrop();dropHandled=true}},performOperation=false;if(me.valid){performOperation=me.fireViewEvent("beforedrop",node,data,me.overRecord,me.currentPosition,dropHandlers);if(dropHandlers.wait){return}if(performOperation!==false){if(!dropHandled){dropHandlers.processDrop()}}}return performOperation},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'
    ',indicatorCls:Ext.baseCSSPrefix+"grid-drop-indicator",handleNodeDrop:function(data,record,position){var view=this.view,store=view.getStore(),index,records,i,len;if(data.copy){records=data.records;data.records=[];for(i=0,len=records.length;iActions",sortable:false,constructor:function(config){var me=this,cfg=Ext.apply({},config),items=cfg.items||[me],hasGetClass,i,len;me.origRenderer=cfg.renderer||me.renderer;me.origScope=cfg.scope||me.scope;delete me.renderer;delete me.scope;delete cfg.renderer;delete cfg.scope;delete cfg.items;me.callParent([cfg]);me.items=items;for(i=0,len=items.length;i"}return v},enableAction:function(index,silent){var me=this;if(!index){index=0}else{if(!Ext.isNumber(index)){index=Ext.Array.indexOf(me.items,index)}}me.items[index].disabled=false;me.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+index).removeCls(me.disabledCls);if(!silent){me.fireEvent("enable",me)}},disableAction:function(index,silent){var me=this;if(!index){index=0}else{if(!Ext.isNumber(index)){index=Ext.Array.indexOf(me.items,index)}}me.items[index].disabled=true;me.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+index).addCls(me.disabledCls);if(!silent){me.fireEvent("disable",me)}},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(type,view,cell,recordIndex,cellIndex,e,record,row){var me=this,target=e.getTarget(),match,item,fn,key=type=="keydown"&&e.getKey();if(key&&!Ext.fly(target).findParent(view.cellSelector)){target=Ext.fly(cell).down("."+Ext.baseCSSPrefix+"action-col-icon",true)}if(target&&(match=target.className.match(me.actionIdRe))){item=me.items[parseInt(match[1],10)];if(item){if(type=="click"||(key==e.ENTER||key==e.SPACE)){fn=item.handler||me.handler;if(fn&&!item.disabled){fn.call(item.scope||me.origScope||me,view,recordIndex,cellIndex,item,e,record,row)}}else{if(type=="mousedown"&&item.stopSelection!==false){return false}}}}return me.callParent(arguments)},cascade:function(fn,scope){fn.call(scope||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.grid.column.Boolean",{extend:"Ext.grid.column.Column",alias:["widget.booleancolumn"],alternateClassName:"Ext.grid.BooleanColumn",trueText:"true",falseText:"false",undefinedText:" ",defaultRenderer:function(value){if(value===undefined){return this.undefinedText}if(!value||value==="false"){return this.falseText}return this.trueText}});Ext.define("Ext.grid.column.Date",{extend:"Ext.grid.column.Column",alias:["widget.datecolumn"],requires:["Ext.Date"],alternateClassName:"Ext.grid.DateColumn",initComponent:function(){if(!this.format){this.format=Ext.Date.defaultFormat}this.callParent(arguments)},defaultRenderer:function(value){return Ext.util.Format.date(value,this.format)}});Ext.define("Ext.grid.column.Number",{extend:"Ext.grid.column.Column",alias:["widget.numbercolumn"],requires:["Ext.util.Format"],alternateClassName:"Ext.grid.NumberColumn",format:"0,000.00",defaultRenderer:function(value){return Ext.util.Format.number(value,this.format)}});Ext.define("Ext.grid.column.Template",{extend:"Ext.grid.column.Column",alias:["widget.templatecolumn"],requires:["Ext.XTemplate"],alternateClassName:"Ext.grid.TemplateColumn",initComponent:function(){var me=this;me.tpl=(!Ext.isPrimitive(me.tpl)&&me.tpl.compile)?me.tpl:new Ext.XTemplate(me.tpl);me.hasCustomRenderer=true;me.callParent(arguments)},defaultRenderer:function(value,meta,record){var data=Ext.apply({},record.data,record.getAssociatedData());return this.tpl.apply(data)}});Ext.define("Ext.grid.feature.Feature",{extend:"Ext.util.Observable",alias:"feature.feature",isFeature:true,disabled:false,hasFeatureEvent:true,eventPrefix:null,eventSelector:null,view:null,grid:null,collectData:false,constructor:function(config){this.initialConfig=config;this.callParent(arguments)},clone:function(){return new this.self(this.initialConfig)},init:Ext.emptyFn,getFeatureTpl:function(){return""},getFireEventArgs:function(eventName,view,featureTarget,e){return[eventName,view,featureTarget,e]},attachEvents:function(){},getFragmentTpl:Ext.emptyFn,mutateMetaRowTpl:Ext.emptyFn,getMetaRowTplFragments:function(){return{}},getTableFragments:function(){return{}},getAdditionalData:function(data,idx,record,orig){return{}},enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Ext.grid.feature.AbstractSummary",{extend:"Ext.grid.feature.Feature",alias:"feature.abstractsummary",showSummaryRow:true,nestedIdRe:/\{\{id\}([\w\-]*)\}/g,init:function(){var me=this;me.grid.optimizedColumnMove=false;me.view.mon(me.view.store,{update:me.onStoreUpdate,scope:me})},onStoreUpdate:function(){var v=this.view;if(this.showSummaryRow){v.saveScrollState();v.refresh();v.restoreScrollState()}},toggleSummaryRow:function(visible){this.showSummaryRow=!!visible},getSummaryFragments:function(){var fragments={};if(this.showSummaryRow){Ext.apply(fragments,{printSummaryRow:Ext.bind(this.printSummaryRow,this)})}return fragments},printSummaryRow:function(index){var inner=this.view.getTableChunker().metaRowTpl.join(""),prefix=Ext.baseCSSPrefix;inner=inner.replace(prefix+"grid-row",prefix+"grid-row-summary");inner=inner.replace("{{id}}","{gridSummaryValue}");inner=inner.replace(this.nestedIdRe,"{id$1}");inner=inner.replace("{[this.embedRowCls()]}","{rowCls}");inner=inner.replace("{[this.embedRowAttr()]}","{rowAttr}");inner=new Ext.XTemplate(inner,{firstOrLastCls:Ext.view.TableChunker.firstOrLastCls});return inner.applyTemplate({columns:this.getPrintData(index)})},getColumnValue:function(column,summaryData){var comp=Ext.getCmp(column.id),value=summaryData[column.id],renderer=comp.summaryRenderer;if(!value&&value!==0){value="\u00a0"}if(renderer){value=renderer.call(comp.scope||this,value,summaryData,column.dataIndex)}return value},getSummary:function(store,type,field,group){if(type){if(Ext.isFunction(type)){return store.aggregate(type,null,group)}switch(type){case"count":return store.count(group);case"min":return store.min(field,group);case"max":return store.max(field,group);case"sum":return store.sum(field,group);case"average":return store.average(field,group);default:return group?{}:""}}}});Ext.define("Ext.grid.feature.Chunking",{extend:"Ext.grid.feature.Feature",alias:"feature.chunking",chunkSize:20,rowHeight:Ext.isIE?27:26,visibleChunk:0,hasFeatureEvent:false,attachEvents:function(){this.view.el.on("scroll",this.onBodyScroll,this,{buffer:300})},onBodyScroll:function(e,t){var view=this.view,top=t.scrollTop,nextChunk=Math.floor(top/this.rowHeight/this.chunkSize);if(nextChunk!==this.visibleChunk){this.visibleChunk=nextChunk;view.refresh();view.el.dom.scrollTop=top;view.el.dom.scrollTop=top}},collectData:function(records,preppedRecords,startIndex,fullWidth,o){var me=this,recordCount=o.rows.length,start=0,i=0,visibleChunk=me.visibleChunk,rows,chunkLength,origRows=o.rows;delete o.rows;o.chunks=[];for(;startrecordCount){chunkLength=recordCount-start}else{chunkLength=me.chunkSize}if(i>=visibleChunk-1&&i<=visibleChunk+1){rows=origRows.slice(start,start+me.chunkSize)}else{rows=[]}o.chunks.push({rows:rows,fullWidth:fullWidth,chunkHeight:chunkLength*me.rowHeight})}return o},getTableFragments:function(){return{openTableWrap:function(){return'
    '},closeTableWrap:function(){return"
    "}}}});Ext.define("Ext.grid.feature.Grouping",{extend:"Ext.grid.feature.Feature",alias:"feature.grouping",eventPrefix:"group",eventSelector:"."+Ext.baseCSSPrefix+"grid-group-hd",bodySelector:"."+Ext.baseCSSPrefix+"grid-group-body",constructor:function(){var me=this;me.collapsedState={};me.callParent(arguments)},groupHeaderTpl:"{columnName}: {name}",depthToIndent:17,collapsedCls:Ext.baseCSSPrefix+"grid-group-collapsed",hdCollapsedCls:Ext.baseCSSPrefix+"grid-group-hd-collapsed",hdCollapsibleCls:Ext.baseCSSPrefix+"grid-group-hd-collapsible",groupByText:"Group by this field",showGroupsText:"Show in groups",hideGroupedHeader:false,startCollapsed:false,enableGroupingMenu:true,enableNoGroups:true,collapsible:true,enable:function(){var me=this,view=me.view,store=view.store,groupToggleMenuItem;me.lastGroupField=me.getGroupField();if(me.lastGroupIndex){me.block();store.group(me.lastGroupIndex);me.unblock()}me.callParent();groupToggleMenuItem=me.view.headerCt.getMenu().down("#groupToggleMenuItem");groupToggleMenuItem.setChecked(true,true);me.refreshIf()},disable:function(){var me=this,view=me.view,store=view.store,remote=store.remoteGroup,groupToggleMenuItem,lastGroup;lastGroup=store.groupers.first();if(lastGroup){me.lastGroupIndex=lastGroup.property;me.block();store.clearGrouping();me.unblock()}me.callParent();groupToggleMenuItem=me.view.headerCt.getMenu().down("#groupToggleMenuItem");groupToggleMenuItem.setChecked(true,true);groupToggleMenuItem.setChecked(false,true);me.refreshIf()},refreshIf:function(){var ownerCt=this.grid.ownerCt,view=this.view;if(!view.store.remoteGroup&&!this.blockRefresh){if(ownerCt&&ownerCt.lockable){ownerCt.view.refresh()}else{view.refresh()}}},getFeatureTpl:function(values,parent,x,xcount){return["",'
    {collapsed}{[this.renderGroupHeaderTpl(values, parent)]}
    ','{[this.recurse(values)]}',"
    "].join("")},getFragmentTpl:function(){var me=this;return{indentByDepth:me.indentByDepth,depthToIndent:me.depthToIndent,renderGroupHeaderTpl:function(values,parent){return Ext.XTemplate.getTpl(me,"groupHeaderTpl").apply(values,parent)}}},indentByDepth:function(values){return'style="padding-left:'+((values.depth||0)*this.depthToIndent)+'px;"'},destroy:function(){delete this.view;delete this.prunedHeader},attachEvents:function(){var me=this,view=me.view;view.on({scope:me,groupclick:me.onGroupClick,rowfocus:me.onRowFocus});view.mon(view.store,{scope:me,groupchange:me.onGroupChange,remove:me.onRemove,add:me.onAdd,update:me.onUpdate});if(me.enableGroupingMenu){me.injectGroupingMenu()}me.pruneGroupedHeader();me.lastGroupField=me.getGroupField();me.block();me.onGroupChange();me.unblock()},onAdd:function(store,records){var me=this,view=me.view,groupField=me.getGroupField(),i=0,len=records.length,activeGroups,addedGroups,groups,needsRefresh,group;if(view.rendered){addedGroups={};activeGroups={};for(;i"},closeRow:function(){return""},mutateMetaRowTpl:function(metaRowTpl){metaRowTpl.unshift("{[this.isRow()]}");metaRowTpl.push("{[this.closeRow()]}")},getAdditionalData:function(data,idx,record,orig){var view=this.view,hCt=view.headerCt,col=hCt.items.getAt(0),o={},tdAttrKey;if(col){tdAttrKey=col.id+"-tdAttr";o[tdAttrKey]=this.indentByDepth(data)+" "+(orig[tdAttrKey]?orig[tdAttrKey]:"");o.collapsed="true";o.data=record.getData()}return o},getGroupRows:function(group,records,preppedRecords,fullWidth){var me=this,children=group.children,rows=group.rows=[],view=me.view,header=me.getGroupedHeader(),groupField=me.getGroupField(),index=-1,r,rLen=records.length,record;if(view.store.buffered){me.collapsible=false}group.viewId=view.id;for(r=0;r-1){group.name=group.renderedValue=preppedRecords[index][header.id]}if(me.collapsedState[group.name]){group.collapsedCls=me.collapsedCls;group.hdCollapsedCls=me.hdCollapsedCls}else{group.collapsedCls=group.hdCollapsedCls=""}if(me.collapsible){group.collapsibleClass=me.hdCollapsibleCls}else{group.collapsibleClass=""}return group},getGroupHeaderId:function(groupName){return this.view.id+"-hd-"+groupName},getGroupBodyId:function(groupName){return this.view.id+"-bd-"+groupName},getGroupName:function(element){var me=this,targetEl;targetEl=Ext.fly(element).findParent(me.eventSelector);if(targetEl){return targetEl.id.split(this.view.id+"-hd-")[1]}targetEl=Ext.fly(element).findParent(me.bodySelector);if(targetEl){return targetEl.id.split(this.view.id+"-bd-")[1]}},collectData:function(records,preppedRecords,startIndex,fullWidth,o){var me=this,store=me.view.store,collapsedState=me.collapsedState,collapseGroups,g,groups,gLen,group;if(me.startCollapsed){me.startCollapsed=false;collapseGroups=true}if(!me.disabled&&store.isGrouped()){o.rows=groups=store.getGroups();gLen=groups.length;for(g=0;g","");tpl+="{[this.printSummaryRow(xindex)]}"}return tpl},getFragmentTpl:function(){var me=this,fragments=me.callParent();Ext.apply(fragments,me.getSummaryFragments());if(me.showSummaryRow){me.summaryGroups=me.view.store.getGroups();me.summaryData=me.generateSummaryData()}return fragments},getPrintData:function(index){var me=this,columns=me.view.headerCt.getColumnsForTpl(),i=0,length=columns.length,data=[],name=me.summaryGroups[index-1].name,active=me.summaryData[name],column;for(;i','','
    {rowBody}
    ',"",""].join("")},getMetaRowTplFragments:function(){return{getRowBody:this.getRowBody,rowBodyTrCls:this.rowBodyTrCls,rowBodyTdCls:this.rowBodyTdCls,rowBodyDivCls:this.rowBodyDivCls}},mutateMetaRowTpl:function(metaRowTpl){metaRowTpl.push("{[this.getRowBody(values)]}")},getAdditionalData:function(data,idx,record,orig){var headerCt=this.view.headerCt,colspan=headerCt.getColumnCount();return{rowBody:"",rowBodyCls:this.rowBodyCls,rowBodyColspan:colspan}}});Ext.define("Ext.grid.feature.RowWrap",{extend:"Ext.grid.feature.Feature",alias:"feature.rowwrap",hasFeatureEvent:false,init:function(){if(!this.disabled){this.enable()}},getRowSelector:function(){return"tr:has(> "+this.view.cellSelector+")"},enable:function(){var me=this,view=me.view;me.callParent();me.savedRowSelector=view.rowSelector;view.rowSelector=me.getRowSelector();view.getComponentLayout().getColumnSelector=me.getColumnSelector},disable:function(){var me=this,view=me.view,saved=me.savedRowSelector;me.callParent();if(saved){view.rowSelector=saved}delete me.savedRowSelector},mutateMetaRowTpl:function(metaRowTpl){var prefix=Ext.baseCSSPrefix;metaRowTpl[0]=metaRowTpl[0].replace(prefix+"grid-row","");metaRowTpl[0]=metaRowTpl[0].replace("{[this.embedRowCls()]}","");metaRowTpl.unshift('');metaRowTpl.unshift('
    ');metaRowTpl.push("
    ");metaRowTpl.push("")},embedColSpan:function(){return"{colspan}"},embedFullWidth:function(){return"{fullWidth}"},getAdditionalData:function(data,idx,record,orig){var headerCt=this.view.headerCt,colspan=headerCt.getColumnCount(),fullWidth=headerCt.getFullWidth(),items=headerCt.query("gridcolumn"),itemsLn=items.length,i=0,o={colspan:colspan,fullWidth:fullWidth},id,tdClsKey,colResizerCls;for(;i{[this.printSummaryRow()]}"},getPrintData:function(index){var me=this,columns=me.view.headerCt.getColumnsForTpl(),i=0,length=columns.length,data=[],active=me.summaryData,column;for(;ifromIdx?1:0))}},setColumnField:function(column,field){var me=this,editor=me.getEditor();editor.removeField(column);me.callParent(arguments);me.getEditor().setField(column)}});Ext.define("Ext.grid.property.Grid",{extend:"Ext.grid.Panel",alias:"widget.propertygrid",alternateClassName:"Ext.grid.PropertyGrid",uses:["Ext.grid.plugin.CellEditing","Ext.grid.property.Store","Ext.grid.property.HeaderContainer","Ext.XTemplate","Ext.grid.CellEditor","Ext.form.field.Date","Ext.form.field.Text","Ext.form.field.Number","Ext.form.field.ComboBox"],valueField:"value",nameField:"name",enableColumnMove:false,columnLines:true,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,initComponent:function(){var me=this;me.addCls(Ext.baseCSSPrefix+"property-grid");me.plugins=me.plugins||[];me.plugins.push(new Ext.grid.plugin.CellEditing({clicksToEdit:me.clicksToEdit,startEdit:function(record,column){return this.self.prototype.startEdit.call(this,record,me.headerCt.child("#"+me.valueField))}}));me.selModel={selType:"cellmodel",onCellSelect:function(position){if(position.column!=1){position.column=1}return this.self.prototype.onCellSelect.call(this,position)}};me.customRenderers=me.customRenderers||{};me.customEditors=me.customEditors||{};if(!me.store){me.propStore=me.store=new Ext.grid.property.Store(me,me.source)}if(me.sortableColumns){me.store.sort("name","ASC")}me.columns=new Ext.grid.property.HeaderContainer(me,me.store);me.addEvents("beforepropertychange","propertychange");me.callParent();me.getView().walkCells=this.walkCells;me.editors={date:new Ext.grid.CellEditor({field:new Ext.form.field.Date({selectOnFocus:true})}),string:new Ext.grid.CellEditor({field:new Ext.form.field.Text({selectOnFocus:true})}),number:new Ext.grid.CellEditor({field:new Ext.form.field.Number({selectOnFocus:true})}),"boolean":new Ext.grid.CellEditor({field:new Ext.form.field.ComboBox({editable:false,store:[[true,me.headerCt.trueText],[false,me.headerCt.falseText]]})})};me.store.on("update",me.onUpdate,me)},onUpdate:function(store,record,operation){var me=this,v,oldValue;if(me.rendered&&operation==Ext.data.Model.EDIT){v=record.get(me.valueField);oldValue=record.modified.value;if(me.fireEvent("beforepropertychange",me.source,record.getId(),v,oldValue)!==false){if(me.source){me.source[record.getId()]=v}record.commit();me.fireEvent("propertychange",me.source,record.getId(),v,oldValue)}else{record.reject()}}},walkCells:function(pos,direction,e,preventWrap,verifierFn,scope){if(direction=="left"){direction="up"}else{if(direction=="right"){direction="down"}}pos=Ext.view.Table.prototype.walkCells.call(this,pos,direction,e,preventWrap,verifierFn,scope);if(!pos.column){pos.column=1}return pos},getCellEditor:function(record,column){var me=this,propName=record.get(me.nameField),val=record.get(me.valueField),editor=me.customEditors[propName];if(editor){if(!(editor instanceof Ext.grid.CellEditor)){if(!(editor instanceof Ext.form.field.Base)){editor=Ext.ComponentManager.create(editor,"textfield")}editor=me.customEditors[propName]=new Ext.grid.CellEditor({field:editor})}}else{if(Ext.isDate(val)){editor=me.editors.date}else{if(Ext.isNumber(val)){editor=me.editors.number}else{if(Ext.isBoolean(val)){editor=me.editors["boolean"]}else{editor=me.editors.string}}}}editor.editorId=propName;return editor},beforeDestroy:function(){var me=this;me.callParent();me.destroyEditors(me.editors);me.destroyEditors(me.customEditors);delete me.source},destroyEditors:function(editors){for(var ed in editors){if(editors.hasOwnProperty(ed)){Ext.destroy(editors[ed])}}},setSource:function(source){this.source=source;this.propStore.setSource(source)},getSource:function(){return this.propStore.getSource()},setProperty:function(prop,value,create){this.propStore.setValue(prop,value,create)},removeProperty:function(prop){this.propStore.remove(prop)}});Ext.define("Ext.grid.property.HeaderContainer",{extend:"Ext.grid.header.Container",alternateClassName:"Ext.grid.PropertyColumnModel",nameWidth:115,nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",nameColumnCls:Ext.baseCSSPrefix+"grid-property-name",constructor:function(grid,store){var me=this;me.grid=grid;me.store=store;me.callParent([{items:[{header:me.nameText,width:grid.nameColumnWidth||me.nameWidth,sortable:grid.sortableColumns,dataIndex:grid.nameField,renderer:Ext.Function.bind(me.renderProp,me),itemId:grid.nameField,menuDisabled:true,tdCls:me.nameColumnCls},{header:me.valueText,renderer:Ext.Function.bind(me.renderCell,me),getEditor:Ext.Function.bind(me.getCellEditor,me),sortable:grid.sortableColumns,flex:1,fixed:true,dataIndex:grid.valueField,itemId:grid.valueField,menuDisabled:true}]}])},getCellEditor:function(record){return this.grid.getCellEditor(record,this)},renderProp:function(v){return this.getPropertyName(v)},renderCell:function(val,meta,rec){var me=this,renderer=me.grid.customRenderers[rec.get(me.grid.nameField)],result=val;if(renderer){return renderer.apply(me,arguments)}if(Ext.isDate(val)){result=me.renderDate(val)}else{if(Ext.isBoolean(val)){result=me.renderBool(val)}}return Ext.util.Format.htmlEncode(result)},renderDate:Ext.util.Format.date,renderBool:function(bVal){return this[bVal?"trueText":"falseText"]},getPropertyName:function(name){var pn=this.grid.propertyNames;return pn&&pn[name]?pn[name]:name}});Ext.define("Ext.grid.property.Property",{extend:"Ext.data.Model",alternateClassName:"Ext.PropGridProperty",fields:[{name:"name",type:"string"},{name:"value"}],idProperty:"name"});Ext.define("Ext.grid.property.Store",{extend:"Ext.data.Store",alternateClassName:"Ext.grid.PropertyStore",sortOnLoad:false,uses:["Ext.data.reader.Reader","Ext.data.proxy.Proxy","Ext.data.ResultSet","Ext.grid.property.Property"],constructor:function(grid,source){var me=this;me.grid=grid;me.source=source;me.callParent([{data:source,model:Ext.grid.property.Property,proxy:me.getProxy()}])},getProxy:function(){if(!this.proxy){Ext.grid.property.Store.prototype.proxy=new Ext.data.proxy.Memory({model:Ext.grid.property.Property,reader:this.getReader()})}return this.proxy},getReader:function(){if(!this.reader){Ext.grid.property.Store.prototype.reader=new Ext.data.reader.Reader({model:Ext.grid.property.Property,buildExtractors:Ext.emptyFn,read:function(dataObject){return this.readRecords(dataObject)},readRecords:function(dataObject){var val,propName,result={records:[],success:true};for(propName in dataObject){if(dataObject.hasOwnProperty(propName)){val=dataObject[propName];if(this.isEditableValue(val)){result.records.push(new Ext.grid.property.Property({name:propName,value:val},propName))}}}result.total=result.count=result.records.length;return new Ext.data.ResultSet(result)},isEditableValue:function(val){return Ext.isPrimitive(val)||Ext.isDate(val)}})}return this.reader},setSource:function(dataObject){var me=this;me.source=dataObject;me.suspendEvents();me.removeAll();me.proxy.data=dataObject;me.load();me.resumeEvents();me.fireEvent("datachanged",me);me.fireEvent("refresh",me)},getProperty:function(row){return Ext.isNumber(row)?this.getAt(row):this.getById(row)},setValue:function(prop,value,create){var me=this,rec=me.getRec(prop);if(rec){rec.set("value",value);me.source[prop]=value}else{if(create){me.source[prop]=value;rec=new Ext.grid.property.Property({name:prop,value:value},prop);me.add(rec)}}},remove:function(prop){var rec=this.getRec(prop);if(rec){this.callParent([rec]);delete this.source[prop]}},getRec:function(prop){return this.getById(prop)},getSource:function(){return this.source}});Ext.define("Ext.layout.ClassList",(function(){var splitWords=Ext.String.splitWords,toMap=Ext.Array.toMap;return{dirty:false,constructor:function(owner){this.owner=owner;this.map=toMap(this.classes=splitWords(owner.el.className))},add:function(cls){var me=this;if(!me.map[cls]){me.map[cls]=true;me.classes.push(cls);if(!me.dirty){me.dirty=true;me.owner.markDirty()}}},addMany:function(classes){Ext.each(splitWords(classes),this.add,this)},contains:function(cls){return this.map[cls]},flush:function(){this.owner.el.className=this.classes.join(" ");this.dirty=false},remove:function(cls){var me=this;if(me.map[cls]){delete me.map[cls];me.classes=Ext.Array.filter(me.classes,function(c){return c!=cls});if(!me.dirty){me.dirty=true;me.owner.markDirty()}}},removeMany:function(classes){var me=this,remove=toMap(splitWords(classes));me.classes=Ext.Array.filter(me.classes,function(c){if(!remove[c]){return true}delete me.map[c];if(!me.dirty){me.dirty=true;me.owner.markDirty()}return false})}}}()));Ext.define("Ext.util.Queue",{constructor:function(){this.clear()},add:function(obj){var me=this,key=me.getKey(obj);if(!me.map[key]){++me.length;me.items.push(obj);me.map[key]=obj}return obj},clear:function(){var me=this,items=me.items;me.items=[];me.map={};me.length=0;return items},contains:function(obj){var key=this.getKey(obj);return this.map.hasOwnProperty(key)},getCount:function(){return this.length},getKey:function(obj){return obj.id},remove:function(obj){var me=this,key=me.getKey(obj),items=me.items,index;if(me.map[key]){index=Ext.Array.indexOf(items,obj);Ext.Array.erase(items,index,1);delete me.map[key];--me.length}return obj}});Ext.define("Ext.layout.ContextItem",{requires:["Ext.layout.ClassList"],heightModel:null,widthModel:null,sizeModel:null,boxChildren:null,boxParent:null,children:[],dirty:null,dirtyCount:0,hasRawContent:true,isContextItem:true,isTopLevel:false,consumersContentHeight:0,consumersContentWidth:0,consumersContainerHeight:0,consumersContainerWidth:0,consumersHeight:0,consumersWidth:0,ownerCtContext:null,remainingChildLayouts:0,remainingComponentChildLayouts:0,remainingContainerChildLayouts:0,props:null,state:null,wrapsComponent:false,constructor:function(config){var me=this,el,ownerCt,ownerCtContext,sizeModel,target;Ext.apply(me,config);el=me.el;me.id=el.id;me.lastBox=el.lastBox;me.flushedProps={};me.props={};me.styles={};target=me.target;if(target.isComponent){me.wrapsComponent=true;ownerCt=target.ownerCt;if(ownerCt&&(ownerCtContext=me.context.items[ownerCt.el.id])){me.ownerCtContext=ownerCtContext}me.sizeModel=sizeModel=target.getSizeModel(ownerCtContext&&ownerCtContext.widthModel.pairsByHeightOrdinal[ownerCtContext.heightModel.ordinal]);me.widthModel=sizeModel.width;me.heightModel=sizeModel.height}},init:function(full,options){var me=this,oldProps=me.props,oldDirty=me.dirty,ownerCtContext=me.ownerCtContext,ownerLayout=me.target.ownerLayout,firstTime=!me.state,ret=full||firstTime,children,i,n,ownerCt,sizeModel,target,oldHeightModel=me.heightModel,oldWidthModel=me.widthModel,newHeightModel,newWidthModel;me.dirty=me.invalid=false;me.props={};if(me.boxChildren){me.boxChildren.length=0}if(!firstTime){me.clearAllBlocks("blocks");me.clearAllBlocks("domBlocks")}if(!me.wrapsComponent){return ret}target=me.target;me.state={};if(firstTime){if(target.beforeLayout){target.beforeLayout()}if(!ownerCtContext&&(ownerCt=target.ownerCt)){ownerCtContext=me.context.items[ownerCt.el.id]}if(ownerCtContext){me.ownerCtContext=ownerCtContext;me.isBoxParent=target.ownerLayout.isItemBoxParent(me)}else{me.isTopLevel=true}me.frameBodyContext=me.getEl("frameBody")}else{ownerCtContext=me.ownerCtContext;me.isTopLevel=!ownerCtContext;children=me.children;for(i=0,n=children.length;i0);if(full){me.widthModel=me.heightModel=null;sizeModel=target.getSizeModel(ownerCtContext&&ownerCtContext.widthModel.pairsByHeightOrdinal[ownerCtContext.heightModel.ordinal]);if(firstTime){me.sizeModel=sizeModel}me.widthModel=sizeModel.width;me.heightModel=sizeModel.height}else{if(oldProps){me.recoverProp("x",oldProps,oldDirty);me.recoverProp("y",oldProps,oldDirty);if(me.widthModel.calculated){me.recoverProp("width",oldProps,oldDirty)}if(me.heightModel.calculated){me.recoverProp("height",oldProps,oldDirty)}}}if(oldProps&&ownerLayout&&ownerLayout.manageMargins){me.recoverProp("margin-top",oldProps,oldDirty);me.recoverProp("margin-right",oldProps,oldDirty);me.recoverProp("margin-bottom",oldProps,oldDirty);me.recoverProp("margin-left",oldProps,oldDirty)}if(options){newHeightModel=options.heightModel;newWidthModel=options.widthModel;if(newWidthModel&&newHeightModel&&oldWidthModel&&oldHeightModel){if(oldWidthModel.shrinkWrap&&oldHeightModel.shrinkWrap){if(newWidthModel.constrainedMax&&newHeightModel.constrainedMin){newHeightModel=null}}}if(newWidthModel){me.widthModel=newWidthModel}if(newHeightModel){me.heightModel=newHeightModel}if(options.state){Ext.apply(me.state,options.state)}}return ret},initContinue:function(full){var me=this,ownerCtContext=me.ownerCtContext,widthModel=me.widthModel,boxParent;if(full){if(ownerCtContext&&widthModel.shrinkWrap){boxParent=ownerCtContext.isBoxParent?ownerCtContext:ownerCtContext.boxParent;if(boxParent){boxParent.addBoxChild(me)}}else{if(widthModel.natural){me.boxParent=ownerCtContext}}}return full},initDone:function(full,componentChildrenDone,containerChildrenDone,containerLayoutDone){var me=this,props=me.props,state=me.state;if(componentChildrenDone){props.componentChildrenDone=true}if(containerChildrenDone){props.containerChildrenDone=true}if(containerLayoutDone){props.containerLayoutDone=true}if(me.boxChildren&&me.boxChildren.length&&me.widthModel.shrinkWrap){me.el.setWidth(10000);state.blocks=(state.blocks||0)+1}},initAnimation:function(){var me=this,target=me.target,ownerCtContext=me.ownerCtContext;if(ownerCtContext&&ownerCtContext.isTopLevel){me.animatePolicy=target.ownerLayout.getAnimatePolicy(me)}else{if(!ownerCtContext&&target.isCollapsingOrExpanding&&target.animCollapse){me.animatePolicy=target.componentLayout.getAnimatePolicy(me)}}if(me.animatePolicy){me.context.queueAnimation(me)}},noFraming:{left:0,top:0,right:0,bottom:0,width:0,height:0},addCls:function(newCls){this.getClassList().addMany(newCls)},removeCls:function(removeCls){this.getClassList().removeMany(removeCls)},addBlock:function(name,layout,propName){var me=this,collection=me[name]||(me[name]={}),blockedLayouts=collection[propName]||(collection[propName]={});if(!blockedLayouts[layout.id]){blockedLayouts[layout.id]=layout;++layout.blockCount;++me.context.blockCount}},addBoxChild:function(boxChildItem){var me=this,children,widthModel=boxChildItem.widthModel;boxChildItem.boxParent=this;boxChildItem.measuresBox=widthModel.shrinkWrap?boxChildItem.hasRawContent:widthModel.natural;if(boxChildItem.measuresBox){children=me.boxChildren;if(children){children.push(boxChildItem)}else{me.boxChildren=[boxChildItem]}}},addTrigger:function(propName,inDom){var me=this,name=inDom?"domTriggers":"triggers",collection=me[name]||(me[name]={}),context=me.context,layout=context.currentLayout,triggers=collection[propName]||(collection[propName]={});if(!triggers[layout.id]){triggers[layout.id]=layout;++layout.triggerCount;triggers=context.triggers[inDom?"dom":"data"];(triggers[layout.id]||(triggers[layout.id]=[])).push({item:this,prop:propName});if(me.props[propName]!==undefined){if(!inDom||!(me.dirty&&(propName in me.dirty))){++layout.firedTriggers}}}},boxChildMeasured:function(){var me=this,state=me.state,count=(state.boxesMeasured=(state.boxesMeasured||0)+1);if(count==me.boxChildren.length){state.clearBoxWidth=1;++me.context.progressCount;me.markDirty()}},borderNames:["border-top-width","border-right-width","border-bottom-width","border-left-width"],marginNames:["margin-top","margin-right","margin-bottom","margin-left"],paddingNames:["padding-top","padding-right","padding-bottom","padding-left"],trblNames:["top","right","bottom","left"],cacheMissHandlers:{borderInfo:function(me){var info=me.getStyles(me.borderNames,me.trblNames);info.width=info.left+info.right;info.height=info.top+info.bottom;return info},marginInfo:function(me){var info=me.getStyles(me.marginNames,me.trblNames);info.width=info.left+info.right;info.height=info.top+info.bottom;return info},paddingInfo:function(me){var item=me.frameBodyContext||me,info=item.getStyles(me.paddingNames,me.trblNames);info.width=info.left+info.right;info.height=info.top+info.bottom;return info}},checkCache:function(entry){return this.cacheMissHandlers[entry](this)},clearAllBlocks:function(name){var collection=this[name],propName;if(collection){for(propName in collection){this.clearBlocks(name,propName)}}},clearBlocks:function(name,propName){var collection=this[name],blockedLayouts=collection&&collection[propName],context,layout,layoutId;if(blockedLayouts){delete collection[propName];context=this.context;for(layoutId in blockedLayouts){layout=blockedLayouts[layoutId];--context.blockCount;if(!--layout.blockCount&&!layout.pending&&!layout.done){context.queueLayout(layout)}}}},block:function(layout,propName){this.addBlock("blocks",layout,propName)},domBlock:function(layout,propName){this.addBlock("domBlocks",layout,propName)},fireTriggers:function(name,propName){var collection=this[name],triggers=collection&&collection[propName],context=this.context,layout,layoutId;if(triggers){for(layoutId in triggers){layout=triggers[layoutId];++layout.firedTriggers;if(!layout.done&&!layout.blockCount&&!layout.pending){context.queueLayout(layout)}}}},flush:function(){var me=this,dirty=me.dirty,state=me.state,targetEl=me.el;me.dirtyCount=0;if(me.classList&&me.classList.dirty){me.classList.flush()}if("attributes" in me){targetEl.set(me.attributes);delete me.attributes}if("innerHTML" in me){targetEl.innerHTML=me.innerHTML;delete me.innerHTML}if(state&&state.clearBoxWidth){state.clearBoxWidth=0;me.el.setStyle("width",null);if(!--state.blocks){me.context.queueItemLayouts(me)}}if(dirty){delete me.dirty;me.writeProps(dirty,true)}},flushAnimations:function(){var me=this,animateFrom=me.lastBox,target,targetAnim,duration,animateProps,anim,changeCount,j,propsLen,propName,oldValue,newValue;if(animateFrom){target=me.target;targetAnim=target.layout&&target.layout.animate;if(targetAnim){duration=Ext.isNumber(targetAnim)?targetAnim:targetAnim.duration}animateProps=Ext.Object.getKeys(me.animatePolicy);anim=Ext.apply({},{from:{},to:{},duration:duration||Ext.fx.Anim.prototype.duration},targetAnim);for(changeCount=0,j=0,propsLen=animateProps.length;j0||height>0)){if(!me.frameBodyContext){paddingWidth=me.paddingInfo.width;paddingHeight=me.paddingInfo.height}if(width){width=max(parseInt(width,10)-(me.borderInfo.width+paddingWidth),0);styles.width=width+"px";++styleCount}if(height){height=max(parseInt(height,10)-(me.borderInfo.height+paddingHeight),0);styles.height=height+"px";++styleCount}}if(me.wrapsComponent&&Ext.isIE9&&Ext.isStrict){if((hasWidth=width!==undefined&&me.hasOverflowY)||(hasHeight=height!==undefined&&me.hasOverflowX)){isAbsolute=me.isAbsolute;if(isAbsolute===undefined){isAbsolute=false;targetEl=me.target.getTargetEl();style=targetEl.getStyle("position");if(style=="absolute"){style=targetEl.getStyle("box-sizing");isAbsolute=(style=="border-box")}me.isAbsolute=isAbsolute}if(isAbsolute){scrollbarSize=Ext.getScrollbarSize();if(hasWidth){width=parseInt(width,10)+scrollbarSize.width;styles.width=width+"px";++styleCount}if(hasHeight){height=parseInt(height,10)+scrollbarSize.height;styles.height=height+"px";++styleCount}}}}if(styleCount){el.setStyle(styles)}}},function(){var px={dom:true,parseInt:true,suffix:"px"},isDom={dom:true},faux={dom:false};this.prototype.styleInfo={childrenDone:faux,componentChildrenDone:faux,containerChildrenDone:faux,containerLayoutDone:faux,displayed:faux,done:faux,x:faux,y:faux,columnWidthsDone:faux,left:px,top:px,right:px,bottom:px,width:px,height:px,"border-top-width":px,"border-right-width":px,"border-bottom-width":px,"border-left-width":px,"margin-top":px,"margin-right":px,"margin-bottom":px,"margin-left":px,"padding-top":px,"padding-right":px,"padding-bottom":px,"padding-left":px,"line-height":isDom,display:isDom}});Ext.define("Ext.layout.Context",{requires:["Ext.util.Queue","Ext.layout.ContextItem","Ext.layout.Layout","Ext.fx.Anim","Ext.fx.Manager"],remainingLayouts:0,state:0,constructor:function(config){var me=this;Ext.apply(me,config);me.items={};me.layouts={};me.blockCount=0;me.cycleCount=0;me.flushCount=0;me.calcCount=0;me.animateQueue=me.newQueue();me.completionQueue=me.newQueue();me.finalizeQueue=me.newQueue();me.finishQueue=me.newQueue();me.flushQueue=me.newQueue();me.invalidateData={};me.layoutQueue=me.newQueue();me.invalidQueue=[];me.triggers={data:{},dom:{}}},callLayout:function(layout,methodName){this.currentLayout=layout;layout[methodName](this.getCmp(layout.owner))},cancelComponent:function(comp,isChild,isDestroying){var me=this,components=comp,isArray=!comp.isComponent,length=isArray?components.length:1,i,k,klen,items,layout,newQueue,oldQueue,entry,temp,ownerCtContext;for(i=0;i0},runLayout:function(layout){var me=this,ownerContext=me.getCmp(layout.owner);layout.pending=false;if(ownerContext.state.blocks){return}layout.done=true;++layout.calcCount;++me.calcCount;layout.calculate(ownerContext);if(layout.done){me.layoutDone(layout);if(layout.completeLayout){me.queueCompletion(layout)}if(layout.finalizeLayout){me.queueFinalize(layout)}}else{if(!layout.pending&&!layout.invalid&&!(layout.blockCount+layout.triggerCount-layout.firedTriggers)){me.queueLayout(layout)}}},setItemSize:function(item,width,height){var items=item,len=1,contextItem,i;if(item.isComposite){items=item.elements;len=items.length;item=items[0]}else{if(!item.dom&&!item.el){len=items.length;item=items[0]}}for(i=0;ipanel:not([collapsed])");expandedCount=expanded.length;for(i=0;ipanel:not([collapsed])");if(expanded.length===1){toExpand.expand()}}else{if(toExpand){toExpand.expand()}}owner.deferLayouts=previousValue;me.processing=false}},onComponentShow:function(comp){this.onComponentExpand(comp)}});Ext.define("Ext.resizer.Splitter",{extend:"Ext.Component",requires:["Ext.XTemplate"],uses:["Ext.resizer.SplitterTracker"],alias:"widget.splitter",childEls:["collapseEl"],renderTpl:['','
     
    ',"
    "],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",canResize:true,collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,collapseTarget:"next",horizontal:false,vertical:false,getTrackerConfig:function(){return{xclass:"Ext.resizer.SplitterTracker",el:this.el,splitter:this}},beforeRender:function(){var me=this,target=me.getCollapseTarget(),collapseDir=me.getCollapseDirection(),vertical=me.vertical,fixedSizeProp=vertical?"width":"height",stretchSizeProp=vertical?"height":"width",cls;me.callParent();if(!me.hasOwnProperty(stretchSizeProp)){me[stretchSizeProp]="100%"}if(!me.hasOwnProperty(fixedSizeProp)){me[fixedSizeProp]=5}if(target.collapsed){me.addCls(me.collapsedClsInternal)}cls=me.baseCls+"-"+me.orientation;me.addCls(cls);if(!me.canResize){me.addCls(cls+"-noresize")}Ext.applyIf(me.renderData,{collapseDir:collapseDir,collapsible:me.collapsible||target.collapsible})},onRender:function(){var me=this;me.callParent(arguments);if(me.performCollapse!==false){if(me.renderData.collapsible){me.mon(me.collapseEl,"click",me.toggleTargetCmp,me)}if(me.collapseOnDblClick){me.mon(me.el,"dblclick",me.toggleTargetCmp,me)}}me.mon(me.getCollapseTarget(),{collapse:me.onTargetCollapse,expand:me.onTargetExpand,scope:me});me.el.unselectable();if(me.canResize){me.tracker=Ext.create(me.getTrackerConfig());me.relayEvents(me.tracker,["beforedragstart","dragstart","dragend"])}},getCollapseDirection:function(){var me=this,dir=me.collapseDirection,collapseTarget,idx,items,type;if(!dir){collapseTarget=me.collapseTarget;if(collapseTarget.isComponent){dir=collapseTarget.collapseDirection}if(!dir){type=me.ownerCt.layout.type;if(collapseTarget.isComponent){items=me.ownerCt.items;idx=Number(items.indexOf(collapseTarget)==items.indexOf(me)-1)<<1|Number(type=="hbox")}else{idx=Number(me.collapseTarget=="prev")<<1|Number(type=="hbox")}dir=["bottom","right","top","left"][idx]}me.collapseDirection=dir}me.orientation=(dir=="top"||dir=="bottom")?"horizontal":"vertical";me[me.orientation]=true;return dir},getCollapseTarget:function(){var me=this;return me.collapseTarget.isComponent?me.collapseTarget:me.collapseTarget=="prev"?me.previousSibling():me.nextSibling()},onTargetCollapse:function(target){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(target){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(e,t){var cmp=this.getCollapseTarget(),placeholder=cmp.placeholder,toggle;if(placeholder&&!placeholder.hidden){toggle=true}else{toggle=!cmp.hidden}if(toggle){if(cmp.collapsed){cmp.expand()}else{if(cmp.collapseDirection){cmp.collapse()}else{cmp.collapse(this.renderData.collapseDir)}}}},setSize:function(){var me=this;me.callParent(arguments);if(Ext.isIE&&me.el){me.el.repaint()}},beforeDestroy:function(){Ext.destroy(this.tracker);this.callParent()}});Ext.define("Ext.resizer.BorderSplitter",{extend:"Ext.resizer.Splitter",uses:["Ext.resizer.BorderSplitterTracker"],alias:"widget.bordersplitter",collapseTarget:null,getTrackerConfig:function(){var trackerConfig=this.callParent();trackerConfig.xclass="Ext.resizer.BorderSplitterTracker";return trackerConfig}});Ext.define("Ext.layout.container.Border",{alias:"layout.border",extend:"Ext.layout.container.Container",requires:["Ext.resizer.BorderSplitter","Ext.Component","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:[Ext.baseCSSPrefix+"border-item",Ext.baseCSSPrefix+"box-item"],type:"border",padding:undefined,percentageRe:/(\d+)%/,axisProps:{horz:{borderBegin:"west",borderEnd:"east",horizontal:true,posProp:"x",sizeProp:"width",sizePropCap:"Width"},vert:{borderBegin:"north",borderEnd:"south",horizontal:false,posProp:"y",sizeProp:"height",sizePropCap:"Height"}},centerRegion:null,collapseDirections:{north:"top",south:"bottom",east:"right",west:"left"},manageMargins:true,panelCollapseAnimate:true,panelCollapseMode:"placeholder",regionWeights:{north:20,south:10,center:0,west:-10,east:-20},beginAxis:function(ownerContext,regions,name){var me=this,props=me.axisProps[name],isVert=!props.horizontal,sizeProp=props.sizeProp,totalFlex=0,childItems=ownerContext.childItems,length=childItems.length,center,i,childContext,centerFlex,comp,region,match,size,type,target,placeholder;for(i=0;i',"{%this.renderBody(out,values)%}",'
    ',"","{%this.renderPadder(out,values)%}"],getItemSizePolicy:function(item){if(item.columnWidth){return this.columnWidthSizePolicy}return this.autoSizePolicy},beginLayout:function(){this.callParent(arguments);this.innerCt.dom.style.width=""},calculate:function(ownerContext){var me=this,containerSize=me.getContainerSize(ownerContext),state=ownerContext.state;if(state.calculatedColumns||(state.calculatedColumns=me.calculateColumns(ownerContext))){if(me.calculateHeights(ownerContext)){me.calculateOverflow(ownerContext,containerSize);return}}me.done=false},calculateColumns:function(ownerContext){var me=this,containerSize=me.getContainerSize(ownerContext),innerCtContext=ownerContext.getEl("innerCt",me),items=ownerContext.childItems,len=items.length,contentWidth=0,blocked,availableWidth,i,itemContext,itemMarginWidth,itemWidth;if(!ownerContext.heightModel.shrinkWrap&&!ownerContext.targetContext.hasProp("height")){return false}if(!containerSize.gotWidth){ownerContext.targetContext.block(me,"width");blocked=true}else{availableWidth=containerSize.width;innerCtContext.setWidth(availableWidth)}for(i=0;i',renderTpl:['',"{%this.renderBody(out,values)%}","
    ","{%this.renderPadder(out,values)%}"],getRenderData:function(){var data=this.callParent();data.tableCls=this.tableCls;return data},calculate:function(ownerContext){var me=this,containerSize=me.getContainerSize(ownerContext,true),tableWidth,childItems,i=0,length;if(containerSize.gotWidth){this.callParent(arguments);tableWidth=me.formTable.dom.offsetWidth;childItems=ownerContext.childItems;for(length=childItems.length;i',"{text}","",'target="{hrefTarget}" hidefocus="true" unselectable="on">','','style="margin-right: 17px;" >{text}','',"",""],maskOnDisable:false,activate:function(){var me=this;if(!me.activated&&me.canActivate&&me.rendered&&!me.isDisabled()&&me.isVisible()){me.el.addCls(me.activeCls);me.focus();me.activated=true;me.fireEvent("activate",me)}},getFocusEl:function(){return this.itemEl},deactivate:function(){var me=this;if(me.activated){me.el.removeCls(me.activeCls);me.blur();me.hideMenu();me.activated=false;me.fireEvent("deactivate",me)}},deferExpandMenu:function(){var me=this;if(me.activated&&(!me.menu.rendered||!me.menu.isVisible())){me.parentMenu.activeChild=me.menu;me.menu.parentItem=me;me.menu.parentMenu=me.menu.ownerCt=me.parentMenu;me.menu.showBy(me,me.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},cancelDeferHide:function(){clearTimeout(this.hideMenuTimer)},deferHideParentMenus:function(){var ancestor;Ext.menu.Manager.hideAll();if(!Ext.Element.getActiveElement()){ancestor=this.up(":not([hidden])");if(ancestor){ancestor.focus()}}},expandMenu:function(delay){var me=this;if(me.menu){me.cancelDeferHide();if(delay===0){me.deferExpandMenu()}else{me.expandMenuTimer=Ext.defer(me.deferExpandMenu,Ext.isNumber(delay)?delay:me.menuExpandDelay,me)}}},getRefItems:function(deep){var menu=this.menu,items;if(menu){items=menu.getRefItems(deep);items.unshift(menu)}return items||[]},hideMenu:function(delay){var me=this;if(me.menu){clearTimeout(me.expandMenuTimer);me.hideMenuTimer=Ext.defer(me.deferHideMenu,Ext.isNumber(delay)?delay:me.menuHideDelay,me)}},initComponent:function(){var me=this,prefix=Ext.baseCSSPrefix,cls=[prefix+"menu-item"],menu;me.addEvents("activate","click","deactivate");if(me.plain){cls.push(prefix+"menu-item-plain")}if(me.cls){cls.push(me.cls)}me.cls=cls.join(" ");if(me.menu){menu=me.menu;delete me.menu;me.setMenu(menu)}me.callParent(arguments)},onClick:function(e){var me=this;if(!me.href){e.stopEvent()}if(me.disabled){return}if(me.hideOnClick){me.deferHideParentMenusTimer=Ext.defer(me.deferHideParentMenus,me.clickHideDelay,me)}Ext.callback(me.handler,me.scope||me,[me,e]);me.fireEvent("click",me,e);if(!me.hideOnClick){me.focus()}},onRemoved:function(){var me=this;if(me.activated&&me.parentMenu.activeItem===me){me.parentMenu.deactivateActiveItem()}me.callParent(arguments);delete me.parentMenu;delete me.ownerButton},beforeDestroy:function(){var me=this;if(me.rendered){me.clearTip()}me.callParent()},onDestroy:function(){var me=this;clearTimeout(me.expandMenuTimer);me.cancelDeferHide();clearTimeout(me.deferHideParentMenusTimer);me.setMenu(null);me.callParent(arguments)},beforeRender:function(){var me=this,blank=Ext.BLANK_IMAGE_URL,iconCls,arrowCls;me.callParent();if(me.iconAlign==="right"){iconCls=me.checkChangeDisabled?me.disabledCls:"";arrowCls=Ext.baseCSSPrefix+"menu-item-icon-right "+me.iconCls}else{iconCls=me.iconCls+(me.checkChangeDisabled?" "+me.disabledCls:"");arrowCls=me.menu?me.arrowCls:""}Ext.applyIf(me.renderData,{href:me.href||"#",hrefTarget:me.hrefTarget,icon:me.icon||blank,iconCls:iconCls,plain:me.plain,text:me.text,arrowCls:arrowCls,blank:blank})},onRender:function(){var me=this;me.callParent(arguments);if(me.tooltip){me.setTooltip(me.tooltip,true)}},setMenu:function(menu,destroyMenu){var me=this,oldMenu=me.menu,arrowEl=me.arrowEl;if(oldMenu){delete oldMenu.parentItem;delete oldMenu.parentMenu;delete oldMenu.ownerCt;delete oldMenu.ownerItem;if(destroyMenu===true||(destroyMenu!==false&&me.destroyMenu)){Ext.destroy(oldMenu)}}if(menu){me.menu=Ext.menu.Manager.get(menu);me.menu.ownerItem=me}else{me.menu=null}if(me.rendered&&!me.destroying&&arrowEl){arrowEl[me.menu?"addCls":"removeCls"](me.arrowCls)}},setHandler:function(fn,scope){this.handler=fn||null;this.scope=scope},setIcon:function(icon){var iconEl=this.iconEl;if(iconEl){iconEl.src=icon||Ext.BLANK_IMAGE_URL}this.icon=icon},setIconCls:function(iconCls){var me=this,iconEl=me.iconEl;if(iconEl){if(me.iconCls){iconEl.removeCls(me.iconCls)}if(iconCls){iconEl.addCls(iconCls)}}me.iconCls=iconCls},setText:function(text){var me=this,el=me.textEl||me.el;me.text=text;if(me.rendered){el.update(text||"");me.ownerCt.updateLayout()}},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.itemEl)}},setTooltip:function(tooltip,initial){var me=this;if(me.rendered){if(!initial){me.clearTip()}if(Ext.isObject(tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:me.itemEl.id},tooltip));me.tooltip=tooltip}else{me.itemEl.dom.setAttribute(me.getTipAttr(),tooltip)}}else{me.tooltip=tooltip}return me}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,checkChangeDisabled:false,afterRender:function(){var me=this;me.callParent();me.checked=!me.checked;me.setChecked(!me.checked,true);if(me.checkChangeDisabled){me.disableCheckChange()}},initComponent:function(){var me=this;me.addEvents("beforecheckchange","checkchange");me.callParent(arguments);Ext.menu.Manager.registerCheckable(me);if(me.group){if(!me.iconCls){me.iconCls=me.groupCls}if(me.initialConfig.hideOnClick!==false){me.hideOnClick=true}}},disableCheckChange:function(){var me=this,iconEl=me.iconEl;if(iconEl){iconEl.addCls(me.disabledCls)}if(!(Ext.isIE9&&Ext.isStrict)&&me.rendered){me.el.repaint()}me.checkChangeDisabled=true},enableCheckChange:function(){var me=this,iconEl=me.iconEl;if(iconEl){iconEl.removeCls(me.disabledCls)}me.checkChangeDisabled=false},onClick:function(e){var me=this;if(!me.disabled&&!me.checkChangeDisabled&&!(me.checked&&me.group)){me.setChecked(!me.checked)}this.callParent([e])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(checked,suppressEvents){var me=this;if(me.checked!==checked&&(suppressEvents||me.fireEvent("beforecheckchange",me,checked)!==false)){if(me.el){me.el[checked?"addCls":"removeCls"](me.checkedCls)[!checked?"addCls":"removeCls"](me.uncheckedCls)}me.checked=checked;Ext.menu.Manager.onCheckChange(me,checked);if(!suppressEvents){Ext.callback(me.checkHandler,me.scope,[me,checked]);me.fireEvent("checkchange",me,checked)}}}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(menu){var me=this;me.menu=menu;me.callParent([menu.el,{down:me.down,enter:me.enter,esc:me.escape,left:me.left,right:me.right,space:me.enter,tab:me.tab,up:me.up}])},down:function(e){var me=this,fi=me.menu.focusedItem;if(fi&&e.getKey()==Ext.EventObject.DOWN&&me.isWhitelisted(fi)){return true}me.focusNextItem(1)},enter:function(e){var menu=this.menu,focused=menu.focusedItem;if(menu.activeItem){menu.onClick(e)}else{if(focused&&focused.isFormField){return true}}},escape:function(e){Ext.menu.Manager.hideAll()},focusNextItem:function(step){var menu=this.menu,items=menu.items,focusedItem=menu.focusedItem,startIdx=focusedItem?items.indexOf(focusedItem):-1,idx=startIdx+step,item;while(idx!=startIdx){if(idx<0){idx=items.length-1}else{if(idx>=items.length){idx=0}}item=items.getAt(idx);if(menu.canActivateItem(item)){menu.setActiveItem(item);break}idx+=step}},isWhitelisted:function(item){return Ext.FocusManager.isWhitelisted(item)},left:function(e){var menu=this.menu,fi=menu.focusedItem,ai=menu.activeItem;if(fi&&this.isWhitelisted(fi)){return true}menu.hide();if(menu.parentMenu){menu.parentMenu.focus()}},right:function(e){var menu=this.menu,fi=menu.focusedItem,ai=menu.activeItem,am;if(fi&&this.isWhitelisted(fi)){return true}if(ai){am=menu.activeItem.menu;if(am){ai.expandMenu(0);Ext.defer(function(){am.setActiveItem(am.items.getAt(0))},25)}}},tab:function(e){var me=this;if(e.shiftKey){me.up(e)}else{me.down(e)}},up:function(e){var me=this,fi=me.menu.focusedItem;if(fi&&e.getKey()==Ext.EventObject.UP&&me.isWhitelisted(fi)){return true}me.focusNextItem(-1)}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:" ",beforeRender:function(ct,pos){var me=this;me.callParent();me.addCls(me.separatorCls)}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],enableKeyNav:true,allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:undefined,defaultMinWidth:120,initComponent:function(){var me=this,prefix=Ext.baseCSSPrefix,cls=[prefix+"menu"],bodyCls=me.bodyCls?[me.bodyCls]:[],isFloating=me.floating!==false;me.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(me);if(me.plain){cls.push(prefix+"menu-plain")}me.cls=cls.join(" ");bodyCls.unshift(prefix+"menu-body");me.bodyCls=bodyCls.join(" ");if(!me.layout){me.layout={type:"vbox",align:"stretchmax",overflowHandler:"Scroller"}}if(isFloating&&me.minWidth===undefined){me.minWidth=me.defaultMinWidth}if(!isFloating&&me.initialConfig.hidden!==true){me.hidden=false}me.callParent(arguments);me.on("beforeshow",function(){var hasItems=!!me.items.length;if(hasItems&&me.rendered){me.el.setStyle("visibility",null)}return hasItems})},beforeRender:function(){this.callParent(arguments);if(!this.getSizeModel().width.shrinkWrap){this.layout.align="stretch"}},onBoxReady:function(){var me=this,separatorSpec;me.callParent(arguments);if(me.showSeparator){separatorSpec={cls:Ext.baseCSSPrefix+"menu-icon-separator",html:" "};if((!Ext.isStrict&&Ext.isIE)||Ext.isIE6){separatorSpec.style="height:"+me.el.getHeight()+"px"}me.iconSepEl=me.layout.getElementTarget().insertFirst(separatorSpec)}me.mon(me.el,{click:me.onClick,mouseover:me.onMouseOver,scope:me});me.mouseMonitor=me.el.monitorMouseLeave(100,me.onMouseLeave,me);if(me.enableKeyNav){me.keyNav=new Ext.menu.KeyNav(me)}},getBubbleTarget:function(){return this.parentMenu||this.ownerButton||this.callParent(arguments)},canActivateItem:function(item){return item&&!item.isDisabled()&&item.isVisible()&&(item.canActivate||item.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(andBlurFocusedItem){var me=this,activeItem=me.activeItem,focusedItem=me.focusedItem;if(activeItem){activeItem.deactivate();if(!activeItem.activated){delete me.activeItem}}if(focusedItem&&andBlurFocusedItem){focusedItem.blur();delete me.focusedItem}},getFocusEl:function(){return this.focusedItem||this.el},hide:function(){this.deactivateActiveItem(true);this.callParent(arguments)},getItemFromEvent:function(e){return this.getChildByElement(e.getTarget())},lookupComponent:function(cmp){var me=this;if(typeof cmp=="string"){cmp=me.lookupItemFromString(cmp)}else{if(Ext.isObject(cmp)){cmp=me.lookupItemFromObject(cmp)}}cmp.minWidth=cmp.minWidth||me.minWidth;return cmp},lookupItemFromObject:function(cmp){var me=this,prefix=Ext.baseCSSPrefix,cls;if(!cmp.isComponent){if(!cmp.xtype){cmp=Ext.create("Ext.menu."+(Ext.isBoolean(cmp.checked)?"Check":"")+"Item",cmp)}else{cmp=Ext.ComponentManager.create(cmp,cmp.xtype)}}if(cmp.isMenuItem){cmp.parentMenu=me}if(!cmp.isMenuItem&&!cmp.dock){cls=[prefix+"menu-item",prefix+"menu-item-cmp"];if(!me.plain&&(cmp.indent===true||cmp.iconCls==="no-icon")){cls.push(prefix+"menu-item-indent")}if(cmp.rendered){cmp.el.addCls(cls)}else{cmp.cls=(cmp.cls?cmp.cls:"")+" "+cls.join(" ")}}return cmp},lookupItemFromString:function(cmp){return(cmp=="separator"||cmp=="-")?new Ext.menu.Separator():new Ext.menu.Item({canActivate:false,hideOnClick:false,plain:true,text:cmp})},onClick:function(e){var me=this,item;if(me.disabled){e.stopEvent();return}item=(e.type==="click")?me.getItemFromEvent(e):me.activeItem;if(item&&item.isMenuItem){if(!item.menu||!me.ignoreParentClicks){item.onClick(e)}else{e.stopEvent()}}if(!item||item.disabled){item=undefined}me.fireEvent("click",me,item,e)},onDestroy:function(){var me=this;Ext.menu.Manager.unregister(me);delete me.parentMenu;delete me.ownerButton;if(me.rendered){me.el.un(me.mouseMonitor);Ext.destroy(me.keyNav);delete me.keyNav}me.callParent(arguments)},onMouseLeave:function(e){var me=this;me.deactivateActiveItem();if(me.disabled){return}me.fireEvent("mouseleave",me,e)},onMouseOver:function(e){var me=this,fromEl=e.getRelatedTarget(),mouseEnter=!me.el.contains(fromEl),item=me.getItemFromEvent(e),parentMenu=me.parentMenu,parentItem=me.parentItem;if(mouseEnter&&parentMenu){parentMenu.setActiveItem(parentItem);parentItem.cancelDeferHide();parentMenu.mouseMonitor.mouseenter()}if(me.disabled){return}if(item&&!item.activated){me.setActiveItem(item);if(item.activated&&item.expandMenu){item.expandMenu()}}if(mouseEnter){me.fireEvent("mouseenter",me,e)}me.fireEvent("mouseover",me,item,e)},setActiveItem:function(item){var me=this;if(item&&(item!=me.activeItem)){me.deactivateActiveItem();if(me.canActivateItem(item)){if(item.activate){item.activate();if(item.activated){me.activeItem=item;me.focusedItem=item;me.focus()}}else{item.focus();me.focusedItem=item}}item.el.scrollIntoView(me.layout.getRenderTarget())}},showBy:function(cmp,pos,off){var me=this;if(me.floating&&cmp){me.show();me.setPagePosition(me.el.getAlignToXY(cmp.el||cmp,pos||me.defaultAlign,off));me.setVerticalPosition()}return me},show:function(){var me=this,parentEl,viewHeight,result,maxWas=me.maxHeight;if(!me.rendered){me.doAutoRender()}if(me.floating){parentEl=Ext.fly(me.el.getScopeParent());viewHeight=parentEl.getViewSize().height;me.maxHeight=Math.min(maxWas||viewHeight,viewHeight)}result=me.callParent(arguments);me.maxHeight=maxWas;return result},afterComponentLayout:function(width,height,oldWidth,oldHeight){var me=this;me.callParent(arguments);if(me.showSeparator){me.iconSepEl.setHeight(me.componentLayout.lastComponentSize.contentHeight)}},setVerticalPosition:function(){var me=this,max,y=me.el.getY(),returnY=y,height=me.getHeight(),viewportHeight=Ext.Element.getViewportHeight().height,parentEl=Ext.fly(me.el.getScopeParent()),viewHeight=parentEl.getViewSize().height,normalY=y-parentEl.getScroll().top;parentEl=null;if(me.floating){max=me.maxHeight?me.maxHeight:viewHeight-normalY;if(height>viewHeight){returnY=y-normalY}else{if(maxviewportHeight){returnY=viewportHeight-height}}}}me.el.setY(returnY)}});Ext.define("Ext.menu.ColorPicker",{extend:"Ext.menu.Menu",alias:"widget.colormenu",requires:["Ext.picker.Color"],hideOnClick:true,pickerId:null,initComponent:function(){var me=this,cfg=Ext.apply({},me.initialConfig);delete cfg.listeners;Ext.apply(me,{plain:true,showSeparator:false,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-color-item",id:me.pickerId,xtype:"colorpicker"},cfg)});me.callParent(arguments);me.picker=me.down("colorpicker");me.relayEvents(me.picker,["select"]);if(me.hideOnClick){me.on("select",me.hidePickerOnSelect,me)}},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.menu.DatePicker",{extend:"Ext.menu.Menu",alias:"widget.datemenu",requires:["Ext.picker.Date"],hideOnClick:true,pickerId:null,initComponent:function(){var me=this,cfg=Ext.apply({},me.initialConfig);delete cfg.listeners;Ext.apply(me,{showSeparator:false,plain:true,border:false,bodyPadding:0,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-date-item",id:me.pickerId,xtype:"datepicker"},cfg)});me.callParent(arguments);me.picker=me.down("datepicker");me.relayEvents(me.picker,["select"]);if(me.hideOnClick){me.on("select",me.hidePickerOnSelect,me)}},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",childEls:["toolEl"],renderTpl:[''],tooltipType:"qtip",stopEvent:true,height:15,width:15,initComponent:function(){var me=this;me.addEvents("click");me.type=me.type||me.id;Ext.applyIf(me.renderData,{baseCls:me.baseCls,blank:Ext.BLANK_IMAGE_URL,type:me.type});me.tooltip=me.tooltip||me.qtip;me.callParent();me.on({element:"toolEl",click:me.onClick,mousedown:me.onMouseDown,mouseover:me.onMouseOver,mouseout:me.onMouseOut,scope:me})},afterRender:function(){var me=this,attr;me.callParent(arguments);if(me.tooltip){if(Ext.isObject(me.tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:me.id},me.tooltip))}else{attr=me.tooltipType=="qtip"?"data-qtip":"title";me.toolEl.dom.setAttribute(attr,me.tooltip)}}},getFocusEl:function(){return this.el},setType:function(type){var me=this;me.type=type;if(me.rendered){me.toolEl.dom.className=me.baseCls+"-"+type}return me},bindTo:function(component){this.owner=component},onClick:function(e,target){var me=this,owner;if(me.disabled){return false}owner=me.owner||me.ownerCt;me.el.removeCls(me.toolPressedCls);me.el.removeCls(me.toolOverCls);if(me.stopEvent!==false){e.stopEvent()}Ext.callback(me.handler,me.scope||me,[e,target,owner,me]);me.fireEvent("click",me,e);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",createDragOverlay:function(){var overlay;overlay=this.overlay=Ext.getBody().createChild({cls:this.overlayCls,html:" "});overlay.unselectable();overlay.setSize(Ext.Element.getViewWidth(true),Ext.Element.getViewHeight(true));overlay.show()},getPrevCmp:function(){var splitter=this.getSplitter();return splitter.previousSibling()},getNextCmp:function(){var splitter=this.getSplitter();return splitter.nextSibling()},onBeforeStart:function(e){var me=this,prevCmp=me.getPrevCmp(),nextCmp=me.getNextCmp(),collapseEl=me.getSplitter().collapseEl,target=e.getTarget(),box;if(collapseEl&&target===me.getSplitter().collapseEl.dom){return false}if(nextCmp.collapsed||prevCmp.collapsed){return false}me.prevBox=prevCmp.getEl().getBox();me.nextBox=nextCmp.getEl().getBox();me.constrainTo=box=me.calculateConstrainRegion();if(!box){return false}me.createDragOverlay();return box},onStart:function(e){var splitter=this.getSplitter();splitter.addCls(splitter.baseCls+"-active")},calculateConstrainRegion:function(){var me=this,splitter=me.getSplitter(),splitWidth=splitter.getWidth(),defaultMin=splitter.defaultSplitMin,orient=splitter.orientation,prevBox=me.prevBox,prevCmp=me.getPrevCmp(),nextBox=me.nextBox,nextCmp=me.getNextCmp(),prevConstrainRegion,nextConstrainRegion;if(orient==="vertical"){prevConstrainRegion=new Ext.util.Region(prevBox.y,(prevCmp.maxWidth?prevBox.x+prevCmp.maxWidth:nextBox.right-(nextCmp.minWidth||defaultMin))+splitWidth,prevBox.bottom,prevBox.x+(prevCmp.minWidth||defaultMin));nextConstrainRegion=new Ext.util.Region(nextBox.y,nextBox.right-(nextCmp.minWidth||defaultMin),nextBox.bottom,(nextCmp.maxWidth?nextBox.right-nextCmp.maxWidth:prevBox.x+(prevBox.minWidth||defaultMin))-splitWidth)}else{prevConstrainRegion=new Ext.util.Region(prevBox.y+(prevCmp.minHeight||defaultMin),prevBox.right,(prevCmp.maxHeight?prevBox.y+prevCmp.maxHeight:nextBox.bottom-(nextCmp.minHeight||defaultMin))+splitWidth,prevBox.x);nextConstrainRegion=new Ext.util.Region((nextCmp.maxHeight?nextBox.bottom-nextCmp.maxHeight:prevBox.y+(prevCmp.minHeight||defaultMin))-splitWidth,nextBox.right,nextBox.bottom-(nextCmp.minHeight||defaultMin),nextBox.x)}return prevConstrainRegion.intersect(nextConstrainRegion)},performResize:function(e,offset){var me=this,splitter=me.getSplitter(),orient=splitter.orientation,prevCmp=me.getPrevCmp(),nextCmp=me.getNextCmp(),owner=splitter.ownerCt,flexedSiblings=owner.query(">[flex]"),len=flexedSiblings.length,i=0,dimension,size,totalFlex=0;for(;imaxShrink){maxRange=maxShrink}}if(maxRange-minRange<2){return null}box=new Ext.util.Region(top,right,bottom,left);me.constraintAdjusters[splitter.collapseDirection](box,minRange,maxRange,splitter);me.dragInfo={minRange:minRange,maxRange:maxRange,targetSize:targetSize};return box},constraintAdjusters:{left:function(box,minRange,maxRange,splitter){box[0]=box.x=box.left=box.right+minRange;box.right+=maxRange+splitter.getWidth()},top:function(box,minRange,maxRange,splitter){box[1]=box.y=box.top=box.bottom+minRange;box.bottom+=maxRange+splitter.getHeight()},bottom:function(box,minRange,maxRange,splitter){box.bottom=box.top-minRange;box.top-=maxRange+splitter.getHeight()},right:function(box,minRange,maxRange,splitter){box.right=box.left-minRange;box.left-=maxRange+splitter.getWidth()}},onBeforeStart:function(e){var me=this,splitter=me.splitter,collapseTarget=splitter.collapseTarget,neighbors=splitter.neighbors,collapseEl=me.getSplitter().collapseEl,target=e.getTarget(),length=neighbors.length,i,neighbor;if(collapseEl&&target===splitter.collapseEl.dom){return false}if(collapseTarget.collapsed){return false}for(i=0;iwidthRatio){me.minWidth=me.el.getWidth()*heightRatio}else{me.minHeight=me.el.getHeight()*widthRatio}}if(me.throttle){throttledResizeFn=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(me,arguments)},me.throttle);me.resize=function(box,direction,atEnd){if(atEnd){Ext.resizer.ResizeTracker.prototype.resize.apply(me,arguments)}else{throttledResizeFn.apply(null,arguments)}}}},onBeforeStart:function(e){this.startBox=this.el.getBox()},getDynamicTarget:function(){var me=this,target=me.target;if(me.dynamic){return target}else{if(!me.proxy){me.proxy=me.createProxy(target)}}me.proxy.show();return me.proxy},createProxy:function(target){var proxy,cls=this.proxyCls,renderTo;if(target.isComponent){proxy=target.getProxy().addCls(cls)}else{renderTo=Ext.getBody();if(Ext.scopeResetCSS){renderTo=Ext.getBody().createChild({cls:Ext.resetCls})}proxy=target.createProxy({tag:"div",cls:cls,id:target.id+"-rzproxy"},renderTo)}proxy.removeCls(Ext.baseCSSPrefix+"proxy-el");return proxy},onStart:function(e){this.activeResizeHandle=Ext.get(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(e){if(this.dynamic||this.proxy){this.updateDimensions(e)}},updateDimensions:function(e,atEnd){var me=this,region=me.activeResizeHandle.region,offset=me.getOffset(me.constrainTo?"dragTarget":null),box=me.startBox,ratio,widthAdjust=0,heightAdjust=0,snappedWidth,snappedHeight,adjustX=0,adjustY=0,dragRatio,horizDir=offset[0]<0?"right":"left",vertDir=offset[1]<0?"down":"up",oppositeCorner,axis,newBox,newHeight,newWidth;switch(region){case"south":heightAdjust=offset[1];axis=2;break;case"north":heightAdjust=-offset[1];adjustY=-heightAdjust;axis=2;break;case"east":widthAdjust=offset[0];axis=1;break;case"west":widthAdjust=-offset[0];adjustX=-widthAdjust;axis=1;break;case"northeast":heightAdjust=-offset[1];adjustY=-heightAdjust;widthAdjust=offset[0];oppositeCorner=[box.x,box.y+box.height];axis=3;break;case"southeast":heightAdjust=offset[1];widthAdjust=offset[0];oppositeCorner=[box.x,box.y];axis=3;break;case"southwest":widthAdjust=-offset[0];adjustX=-widthAdjust;heightAdjust=offset[1];oppositeCorner=[box.x+box.width,box.y];axis=3;break;case"northwest":heightAdjust=-offset[1];adjustY=-heightAdjust;widthAdjust=-offset[0];adjustX=-widthAdjust;oppositeCorner=[box.x+box.width,box.y+box.height];axis=3;break}newBox={width:box.width+widthAdjust,height:box.height+heightAdjust,x:box.x+adjustX,y:box.y+adjustY};snappedWidth=Ext.Number.snap(newBox.width,me.widthIncrement);snappedHeight=Ext.Number.snap(newBox.height,me.heightIncrement);if(snappedWidth!=newBox.width||snappedHeight!=newBox.height){switch(region){case"northeast":newBox.y-=snappedHeight-newBox.height;break;case"north":newBox.y-=snappedHeight-newBox.height;break;case"southwest":newBox.x-=snappedWidth-newBox.width;break;case"west":newBox.x-=snappedWidth-newBox.width;break;case"northwest":newBox.x-=snappedWidth-newBox.width;newBox.y-=snappedHeight-newBox.height}newBox.width=snappedWidth;newBox.height=snappedHeight}if(newBox.widthme.maxWidth){newBox.width=Ext.Number.constrain(newBox.width,me.minWidth,me.maxWidth);if(adjustX){newBox.x=box.x+(box.width-newBox.width)}}else{me.lastX=newBox.x}if(newBox.heightme.maxHeight){newBox.height=Ext.Number.constrain(newBox.height,me.minHeight,me.maxHeight);if(adjustY){newBox.y=box.y+(box.height-newBox.height)}}else{me.lastY=newBox.y}if(me.preserveRatio||e.shiftKey){ratio=me.startBox.width/me.startBox.height;newHeight=Math.min(Math.max(me.minHeight,newBox.width/ratio),me.maxHeight);newWidth=Math.min(Math.max(me.minWidth,newBox.height*ratio),me.maxWidth);if(axis==1){newBox.height=newHeight}else{if(axis==2){newBox.width=newWidth}else{dragRatio=Math.abs(oppositeCorner[0]-this.lastXY[0])/Math.abs(oppositeCorner[1]-this.lastXY[1]);if(dragRatio>ratio){newBox.height=newHeight}else{newBox.width=newWidth}if(region=="northeast"){newBox.y=box.y-(newBox.height-box.height)}else{if(region=="northwest"){newBox.y=box.y-(newBox.height-box.height);newBox.x=box.x-(newBox.width-box.width)}else{if(region=="southwest"){newBox.x=box.x-(newBox.width-box.width)}}}}}}if(heightAdjust===0){vertDir="none"}if(widthAdjust===0){horizDir="none"}me.resize(newBox,{horizontal:horizDir,vertical:vertDir},atEnd)},getResizeTarget:function(atEnd){return atEnd?this.target:this.getDynamicTarget()},resize:function(box,direction,atEnd){var target=this.getResizeTarget(atEnd);if(target.isComponent){target.setSize(box.width,box.height);if(target.floating){target.setPagePosition(box.x,box.y)}}else{target.setBox(box)}target=this.originalTarget;if(target&&(this.dynamic||atEnd)){if(target.isComponent){target.setSize(box.width,box.height);if(target.floating){target.setPagePosition(box.x,box.y)}}else{target.setBox(box)}}},onEnd:function(e){this.updateDimensions(e,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(config){var me=this,target,targetEl,tag,handles=me.handles,handleCls,possibles,len,i=0,pos,handleEls=[],eastWestStyle,style,box;me.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(config)||Ext.isElement(config)||config.dom){target=config;config=arguments[1]||{};config.target=target}me.mixins.observable.constructor.call(me,config);target=me.target;if(target){if(target.isComponent){me.el=target.getEl();if(target.minWidth){me.minWidth=target.minWidth}if(target.minHeight){me.minHeight=target.minHeight}if(target.maxWidth){me.maxWidth=target.maxWidth}if(target.maxHeight){me.maxHeight=target.maxHeight}if(target.floating){if(!me.hasOwnProperty("handles")){me.handles="n ne e se s sw w nw"}}}else{me.el=me.target=Ext.get(target)}}else{me.target=me.el=Ext.get(me.el)}tag=me.el.dom.tagName.toUpperCase();if(tag=="TEXTAREA"||tag=="IMG"||tag=="TABLE"){me.originalTarget=me.target;targetEl=me.el;box=targetEl.getBox();me.target=me.el=me.el.wrap({cls:me.wrapCls,id:me.el.id+"-rzwrap",style:targetEl.getStyles("margin-top","margin-bottom")});me.el.setPositioning(targetEl.getPositioning());targetEl.clearPositioning();me.el.setBox(box);targetEl.setStyle("position","absolute")}me.el.position();if(me.pinned){me.el.addCls(me.pinnedCls)}me.resizeTracker=new Ext.resizer.ResizeTracker({disabled:me.disabled,target:me.target,constrainTo:me.constrainTo,overCls:me.overCls,throttle:me.throttle,originalTarget:me.originalTarget,delegate:"."+me.handleCls,dynamic:me.dynamic,preserveRatio:me.preserveRatio,heightIncrement:me.heightIncrement,widthIncrement:me.widthIncrement,minHeight:me.minHeight,maxHeight:me.maxHeight,minWidth:me.minWidth,maxWidth:me.maxWidth});me.resizeTracker.on({mousedown:me.onBeforeResize,drag:me.onResize,dragend:me.onResizeEnd,scope:me});if(me.handles=="all"){me.handles="n s e w ne nw se sw"}handles=me.handles=me.handles.split(/ |\s*?[,;]\s*?/);possibles=me.possiblePositions;len=handles.length;handleCls=me.handleCls+" "+(me.target.isComponent?(me.target.baseCls+"-handle "):"")+me.handleCls+"-";eastWestStyle=Ext.isIE6?' style="height:'+me.el.getHeight()+'px"':"";for(;i")}}Ext.DomHelper.append(me.el,handleEls.join(""));for(i=0;i-1){this.doSelect(position.view.getStore().getAt(position.row),false,supressEvent)}},onCellDeselect:function(position,supressEvent){if(position&&position.row!==undefined){this.doDeselect(position.view.getStore().getAt(position.row),supressEvent)}},onSelectChange:function(record,isSelected,suppressEvent,commitFn){var me=this,pos,eventName,view;if(isSelected){pos=me.nextSelection;eventName="select"}else{pos=me.lastSelection||me.noSelection;eventName="deselect"}view=pos.view||me.primaryView;if((suppressEvent||me.fireEvent("before"+eventName,me,record,pos.row,pos.column))!==false&&commitFn()!==false){if(isSelected){view.onCellSelect(pos);view.onCellFocus(pos)}else{view.onCellDeselect(pos);delete me.selection}if(!suppressEvent){me.fireEvent(eventName,me,record,pos.row,pos.column)}}},onKeyTab:function(e,t){var me=this,editingPlugin=me.getCurrentPosition().view.editingPlugin;if(editingPlugin&&me.wasEditing){me.onEditorTab(editingPlugin,e)}else{me.move(e.shiftKey?"left":"right",e)}},onEditorTab:function(editingPlugin,e){var me=this,direction=e.shiftKey?"left":"right",position=me.move(direction,e);if(position){if(editingPlugin.startEditByPosition(position)){me.wasEditing=false}else{me.wasEditing=true;if(!position.columnHeader.dataIndex){me.onEditorTab(editingPlugin,e)}}}},refresh:function(){var pos=this.getCurrentPosition(),selRowIdx;if(pos&&(selRowIdx=this.store.indexOf(this.selected.last()))!==-1){pos.row=selRowIdx}},onColumnMove:function(headerCt,header,fromIdx,toIdx){var grid=headerCt.up("tablepanel");if(grid){this.onViewRefresh(grid.view)}},onViewRefresh:function(view){var me=this,pos=me.getCurrentPosition(),headerCt=view.headerCt,record,columnHeader;if(pos&&pos.view===view){record=pos.record;columnHeader=pos.columnHeader;if(!columnHeader.isDescendantOf(headerCt)){columnHeader=headerCt.queryById(columnHeader.id)||headerCt.down('[text="'+columnHeader.text+'"]')||headerCt.down('[dataIndex="'+columnHeader.dataIndex+'"]')}if(columnHeader&&(view.store.indexOfId(record.getId())!==-1)){me.setCurrentPosition({row:record,column:columnHeader,view:view})}}},selectByPosition:function(position){this.setCurrentPosition(position)}},function(){var Selection=this.prototype.Selection=function(model){this.model=model};Selection.prototype.setPosition=function(row,col){var me=this,view;if(arguments.length===1){if(row.view){me.view=view=row.view}col=row.column;row=row.row}if(!view){me.view=view=me.model.primaryView}if(typeof row==="number"){me.row=row;me.record=view.store.getAt(row)}else{if(row.isModel){me.record=row;me.row=view.indexOf(row)}else{if(row.tagName){me.record=view.getRecord(row);me.row=view.indexOf(me.record)}}}if(typeof col==="number"){me.column=col;me.columnHeader=view.getHeaderAtIndex(col)}else{me.columnHeader=col;me.column=col.getIndex()}return me}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,ignoreRightMouseSelection:false,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.views=[];this.callParent(arguments)},bindComponent:function(view){var me=this;me.views=me.views||[];me.views.push(view);me.bindStore(view.getStore(),true);view.on({itemmousedown:me.onRowMouseDown,scope:me});if(me.enableKeyNav){me.initKeyNav(view)}},initKeyNav:function(view){var me=this;if(!view.rendered){view.on("render",Ext.Function.bind(me.initKeyNav,me,[view],0),me,{single:true});return}view.el.set({tabIndex:-1});me.keyNav=new Ext.util.KeyNav({target:view,ignoreInputFields:true,eventName:"itemkeydown",processEvent:function(view,record,node,index,event){event.record=record;event.recordIndex=index;return event},up:me.onKeyUp,down:me.onKeyDown,right:me.onKeyRight,left:me.onKeyLeft,pageDown:me.onKeyPageDown,pageUp:me.onKeyPageUp,home:me.onKeyHome,end:me.onKeyEnd,space:me.onKeySpace,enter:me.onKeyEnter,scope:me})},getRowsVisible:function(){var rowsVisible=false,view=this.views[0],row=view.getNode(0),rowHeight,gridViewHeight;if(row){rowHeight=Ext.fly(row).getHeight();gridViewHeight=view.el.getHeight();rowsVisible=Math.floor(gridViewHeight/rowHeight)}return rowsVisible},onKeyEnd:function(e){var me=this,last=me.store.getAt(me.store.getCount()-1);if(last){if(e.shiftKey){me.selectRange(last,me.lastFocused||0);me.setLastFocused(last)}else{if(e.ctrlKey){me.setLastFocused(last)}else{me.doSelect(last)}}}},onKeyHome:function(e){var me=this,first=me.store.getAt(0);if(first){if(e.shiftKey){me.selectRange(first,me.lastFocused||0);me.setLastFocused(first)}else{if(e.ctrlKey){me.setLastFocused(first)}else{me.doSelect(first,false)}}}},onKeyPageUp:function(e){var me=this,rowsVisible=me.getRowsVisible(),selIdx,prevIdx,prevRecord;if(rowsVisible){selIdx=e.recordIndex;prevIdx=selIdx-rowsVisible;if(prevIdx<0){prevIdx=0}prevRecord=me.store.getAt(prevIdx);if(e.shiftKey){me.selectRange(prevRecord,e.record,e.ctrlKey,"up");me.setLastFocused(prevRecord)}else{if(e.ctrlKey){e.preventDefault();me.setLastFocused(prevRecord)}else{me.doSelect(prevRecord)}}}},onKeyPageDown:function(e){var me=this,rowsVisible=me.getRowsVisible(),selIdx,nextIdx,nextRecord;if(rowsVisible){selIdx=e.recordIndex;nextIdx=selIdx+rowsVisible;if(nextIdx>=me.store.getCount()){nextIdx=me.store.getCount()-1}nextRecord=me.store.getAt(nextIdx);if(e.shiftKey){me.selectRange(nextRecord,e.record,e.ctrlKey,"down");me.setLastFocused(nextRecord)}else{if(e.ctrlKey){e.preventDefault();me.setLastFocused(nextRecord)}else{me.doSelect(nextRecord)}}}},onKeySpace:function(e){var me=this,record=me.lastFocused;if(record){if(me.isSelected(record)){me.doDeselect(record,false)}else{me.doSelect(record,true)}}},onKeyEnter:Ext.emptyFn,onKeyUp:function(e){var me=this,idx=me.store.indexOf(me.lastFocused),record;if(idx>0){record=me.store.getAt(idx-1);if(e.shiftKey&&me.lastFocused){if(me.isSelected(me.lastFocused)&&me.isSelected(record)){me.doDeselect(me.lastFocused,true);me.setLastFocused(record)}else{if(!me.isSelected(me.lastFocused)){me.doSelect(me.lastFocused,true);me.doSelect(record,true)}else{me.doSelect(record,true)}}}else{if(e.ctrlKey){me.setLastFocused(record)}else{me.doSelect(record)}}}},onKeyDown:function(e){var me=this,idx=me.store.indexOf(me.lastFocused),record;if(idx+1 '},onRowMouseDown:function(view,record,item,index,e){view.el.focus();var me=this,checker=e.getTarget("."+Ext.baseCSSPrefix+"grid-row-checker"),mode;if(!me.allowRightMouseSelection(e)){return}if(me.checkOnly&&!checker){return}if(checker){mode=me.getSelectionMode();if(mode!=="SINGLE"){me.setSelectionMode("SIMPLE")}me.selectWithEvent(record,e);me.setSelectionMode(mode)}else{me.selectWithEvent(record,e)}},onSelectChange:function(){var me=this;me.callParent(arguments);me.updateHeaderState()},onStoreLoad:function(){var me=this;me.callParent(arguments);me.updateHeaderState()},updateHeaderState:function(){var hdSelectStatus=this.selected.getCount()===this.store.getCount();this.toggleUiHeader(hdSelectStatus)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(e,t){var focused=this.getLastFocused(),view=this.view;if(focused){if(focused.isExpanded()){this.onKeyDown(e,t)}else{if(focused.isExpandable()){view.expand(focused)}}}},onKeyLeft:function(e,t){var focused=this.getLastFocused(),view=this.view,viewSm=view.getSelectionModel(),parentNode,parentRecord;if(focused){parentNode=focused.parentNode;if(focused.isExpanded()){view.collapse(focused)}else{if(parentNode&&!parentNode.isRoot()){if(e.shiftKey){viewSm.selectRange(parentNode,focused,e.ctrlKey,"up");viewSm.setLastFocused(parentNode)}else{if(e.ctrlKey){viewSm.setLastFocused(parentNode)}else{viewSm.select(parentNode)}}}}}},onKeySpace:function(e,t){this.toggleCheck(e)},onKeyEnter:function(e,t){this.toggleCheck(e)},toggleCheck:function(e){e.stopEvent();var selected=this.getLastSelected();if(selected){this.view.onCheckChange(selected)}}});Ext.define("Ext.slider.Thumb",{requires:["Ext.dd.DragTracker","Ext.util.Format"],topZIndex:10000,constructor:function(config){var me=this;Ext.apply(me,config||{},{cls:Ext.baseCSSPrefix+"slider-thumb",constrain:false});me.callParent([config])},render:function(){var me=this;me.el=me.slider.innerEl.insertFirst(me.getElConfig());me.onRender()},onRender:function(){if(this.disabled){this.disable()}this.initEvents()},getElConfig:function(){var me=this,slider=me.slider,style={};style[slider.vertical?"bottom":"left"]=slider.calculateThumbPosition(slider.normalizeValue(me.value))+"%";return{style:style,id:this.id,cls:this.cls}},move:function(v,animate){var el=this.el,styleProp=this.slider.vertical?"bottom":"left",to,from;v+="%";if(!animate){el.dom.style[styleProp]=v}else{to={};to[styleProp]=v;if(!Ext.supports.GetPositionPercentage){from={};from[styleProp]=el.dom.style[styleProp]}new Ext.fx.Anim({target:el,duration:350,from:from,to:to})}},bringToFront:function(){this.el.setStyle("zIndex",this.topZIndex)},sendToBack:function(){this.el.setStyle("zIndex","")},enable:function(){var me=this;me.disabled=false;if(me.el){me.el.removeCls(me.slider.disabledCls)}},disable:function(){var me=this;me.disabled=true;if(me.el){me.el.addCls(me.slider.disabledCls)}},initEvents:function(){var me=this,el=me.el;me.tracker=new Ext.dd.DragTracker({onBeforeStart:Ext.Function.bind(me.onBeforeDragStart,me),onStart:Ext.Function.bind(me.onDragStart,me),onDrag:Ext.Function.bind(me.onDrag,me),onEnd:Ext.Function.bind(me.onDragEnd,me),tolerance:3,autoStart:300,overCls:Ext.baseCSSPrefix+"slider-thumb-over"});me.tracker.initEl(el)},onBeforeDragStart:function(e){if(this.disabled){return false}else{this.slider.promoteThumb(this);return true}},onDragStart:function(e){var me=this;me.el.addCls(Ext.baseCSSPrefix+"slider-thumb-drag");me.dragging=me.slider.dragging=true;me.dragStartValue=me.value;me.slider.fireEvent("dragstart",me.slider,e,me)},onDrag:function(e){var me=this,slider=me.slider,index=me.index,newValue=me.getValueFromTracker(),above,below;if(newValue!==undefined){if(me.constrain){above=slider.thumbs[index+1];below=slider.thumbs[index-1];if(below!==undefined&&newValue<=below.value){newValue=below.value}if(above!==undefined&&newValue>=above.value){newValue=above.value}}slider.setValue(index,newValue,false);slider.fireEvent("drag",slider,e,me)}},getValueFromTracker:function(){var slider=this.slider,trackPoint=slider.getTrackpoint(this.tracker.getXY());if(trackPoint!==undefined){return slider.reversePixelValue(trackPoint)}},onDragEnd:function(e){var me=this,slider=me.slider,value=me.value;me.el.removeCls(Ext.baseCSSPrefix+"slider-thumb-drag");me.dragging=slider.dragging=false;slider.fireEvent("dragend",slider,e);if(me.dragStartValue!=value){slider.fireEvent("changecomplete",slider,value,me)}},destroy:function(){Ext.destroy(this.tracker)}});Ext.define("Ext.slider.Tip",{extend:"Ext.tip.Tip",minWidth:10,alias:"widget.slidertip",offsets:null,align:null,position:"",defaultVerticalPosition:"left",defaultHorizontalPosition:"top",isSliderTip:true,init:function(slider){var me=this,align,offsets;if(!me.position){me.position=slider.vertical?me.defaultVerticalPosition:me.defaultHorizontalPosition}switch(me.position){case"top":offsets=[0,-10];align="b-t?";break;case"bottom":offsets=[0,10];align="t-b?";break;case"left":offsets=[-10,0];align="r-l?";break;case"right":offsets=[10,0];align="l-r?"}if(!me.align){me.align=align}if(!me.offsets){me.offsets=offsets}slider.on({scope:me,dragstart:me.onSlide,drag:me.onSlide,dragend:me.hide,destroy:me.destroy})},onSlide:function(slider,e,thumb){var me=this;me.show();me.update(me.getText(thumb));me.el.alignTo(thumb.el,me.align,me.offsets)},getText:function(thumb){return String(thumb.value)}});Ext.define("Ext.slider.Multi",{extend:"Ext.form.field.Base",alias:"widget.multislider",alternateClassName:"Ext.slider.MultiSlider",requires:["Ext.slider.Thumb","Ext.slider.Tip","Ext.Number","Ext.util.Format","Ext.Template","Ext.layout.component.field.Slider"],childEls:["endEl","innerEl"],fieldSubTpl:['
    ','","
    ",{renderThumbs:function(out,values){var me=values.$comp,i=0,thumbs=me.thumbs,len=thumbs.length,thumb,thumbConfig;for(;ival?val:t.value}me.syncThumbs()},setValue:function(index,value,animate,changeComplete){var me=this,thumb=me.thumbs[index];value=me.normalizeValue(value);if(value!==thumb.value&&me.fireEvent("beforechange",me,value,thumb.value,thumb)!==false){thumb.value=value;if(me.rendered){me.inputEl.set({"aria-valuenow":value,"aria-valuetext":value});thumb.move(me.calculateThumbPosition(value),Ext.isDefined(animate)?animate!==false:me.animate);me.fireEvent("change",me,value,thumb);me.checkDirty();if(changeComplete){me.fireEvent("changecomplete",me,value,thumb)}}}},calculateThumbPosition:function(v){return(v-this.minValue)/(this.maxValue-this.minValue)*100},getRatio:function(){var me=this,trackLength=this.vertical?this.innerEl.getHeight():this.innerEl.getWidth(),valueRange=this.maxValue-this.minValue;return valueRange===0?trackLength:(trackLength/valueRange)},reversePixelValue:function(pos){return this.minValue+(pos/this.getRatio())},reversePercentageValue:function(pos){return this.minValue+(this.maxValue-this.minValue)*(pos/100)},onDisable:function(){var me=this,i=0,thumbs=me.thumbs,len=thumbs.length,thumb,el,xy;me.callParent();for(;i {baseCls}-body-{ui} {parent.baseCls}-body-{parent.ui}-{.}" style="{bodyStyle}">',"{%this.renderContainer(out,values)%}","",'
    {baseCls}-strip-{ui} {parent.baseCls}-strip-{parent.ui}-{.}">
    '],initComponent:function(){var me=this;if(me.plain){me.setUI(me.ui+"-plain")}me.addClsWithUI(me.dock);me.addEvents("change");me.callParent(arguments);me.layout.align=(me.orientation=="vertical")?"left":"top";me.layout.overflowHandler=new Ext.layout.container.boxOverflow.Scroller(me.layout);me.remove(me.titleCmp);delete me.titleCmp;Ext.apply(me.renderData,{bodyCls:me.bodyCls})},getLayout:function(){var me=this;me.layout.type=(me.dock==="top"||me.dock==="bottom")?"hbox":"vbox";return me.callParent(arguments)},onAdd:function(tab){tab.position=this.dock;this.callParent(arguments)},onRemove:function(tab){var me=this;if(tab===me.previousTab){me.previousTab=null}me.callParent(arguments)},afterComponentLayout:function(width){this.callParent(arguments);this.strip.setWidth(width)},onClick:function(e,target){var me=this,tabEl=e.getTarget("."+Ext.tab.Tab.prototype.baseCls),tab=tabEl&&Ext.getCmp(tabEl.id),tabPanel=me.tabPanel,isCloseClick=tab&&tab.closeEl&&(target===tab.closeEl.dom);if(isCloseClick){e.preventDefault()}if(tab&&tab.isDisabled&&!tab.isDisabled()){if(tab.closable&&isCloseClick){tab.onCloseClick()}else{if(tabPanel){tabPanel.setActiveTab(tab.card)}else{me.setActiveTab(tab)}tab.focus()}}},closeTab:function(toClose){var me=this,card=toClose.card,tabPanel=me.tabPanel,toActivate;if(card&&card.fireEvent("beforeclose",card)===false){return false}toActivate=me.findNextActivatable(toClose);Ext.suspendLayouts();if(tabPanel&&card){delete toClose.ownerCt;card.fireEvent("close",card);tabPanel.remove(card);if(!tabPanel.getComponent(card)){toClose.fireClose();me.remove(toClose)}else{toClose.ownerCt=me;Ext.resumeLayouts(true);return false}}if(toActivate){if(tabPanel){tabPanel.setActiveTab(toActivate.card)}else{me.setActiveTab(toActivate)}toActivate.focus()}Ext.resumeLayouts(true)},findNextActivatable:function(toClose){var me=this;if(toClose.active&&me.items.getCount()>1){return(me.previousTab&&me.previousTab!==toClose&&!me.previousTab.disabled)?me.previousTab:(toClose.next("tab[disabled=false]")||toClose.prev("tab[disabled=false]"))}},setActiveTab:function(tab){var me=this;if(!tab.disabled&&tab!==me.activeTab){if(me.activeTab){if(me.activeTab.isDestroyed){me.previousTab=null}else{me.previousTab=me.activeTab;me.activeTab.deactivate()}}tab.activate();me.activeTab=tab;me.fireEvent("change",me,tab,tab.card);me.on({afterlayout:me.afterTabActivate,scope:me,single:true});me.updateLayout()}},afterTabActivate:function(){this.layout.overflowHandler.scrollToItem(this.activeTab)}});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:Ext.baseCSSPrefix+"tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:true,initComponent:function(){var me=this,dockedItems=[].concat(me.dockedItems||[]),activeTab=me.activeTab||(me.activeTab=0);me.layout=new Ext.layout.container.Card(Ext.apply({owner:me,deferredRender:me.deferredRender,itemCls:me.itemCls,activeItem:me.activeTab},me.layout));me.tabBar=new Ext.tab.Bar(Ext.apply({dock:me.tabPosition,plain:me.plain,border:me.border,cardLayout:me.layout,tabPanel:me},me.tabBar));dockedItems.push(me.tabBar);me.dockedItems=dockedItems;me.addEvents("beforetabchange","tabchange");me.callParent(arguments);me.activeTab=me.getComponent(activeTab);if(me.activeTab){me.activeTab.tab.activate(true);me.tabBar.activeTab=me.activeTab.tab}},setActiveTab:function(card){var me=this,previous;card=me.getComponent(card);if(card){previous=me.getActiveTab();if(previous!==card&&me.fireEvent("beforetabchange",me,card,previous)===false){return false}if(!card.isComponent){Ext.suspendLayouts();card=me.add(card);Ext.resumeLayouts()}me.activeTab=card;Ext.suspendLayouts();me.layout.setActiveItem(card);card=me.activeTab=me.layout.getActiveItem();if(card&&card!==previous){me.tabBar.setActiveTab(card.tab);Ext.resumeLayouts(true);if(previous!==card){me.fireEvent("tabchange",me,card,previous)}}else{Ext.resumeLayouts(true)}return card}},getActiveTab:function(){var me=this,result=me.getComponent(me.activeTab);if(result&&me.items.indexOf(result)!=-1){me.activeTab=result}else{me.activeTab=null}return me.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(item,index){var me=this,cfg=item.tabConfig||{},defaultConfig={xtype:"tab",card:item,disabled:item.disabled,closable:item.closable,hidden:item.hidden&&!item.hiddenByLayout,tooltip:item.tooltip,tabBar:me.tabBar,closeText:item.closeText};cfg=Ext.applyIf(cfg,defaultConfig);item.tab=me.tabBar.insert(index,cfg);item.on({scope:me,enable:me.onItemEnable,disable:me.onItemDisable,beforeshow:me.onItemBeforeShow,iconchange:me.onItemIconChange,iconclschange:me.onItemIconClsChange,titlechange:me.onItemTitleChange});if(item.isPanel){if(me.removePanelHeader){if(item.rendered){if(item.header){item.header.hide()}}else{item.header=false}}if(item.isPanel&&me.border){item.setBorder(false)}}},onItemEnable:function(item){item.tab.enable()},onItemDisable:function(item){item.tab.disable()},onItemBeforeShow:function(item){if(item!==this.activeTab){this.setActiveTab(item);return false}},onItemIconChange:function(item,newIcon){item.tab.setIcon(newIcon)},onItemIconClsChange:function(item,newIconCls){item.tab.setIconCls(newIconCls)},onItemTitleChange:function(item,newTitle){item.tab.setText(newTitle)},doRemove:function(item,autoDestroy){var me=this,toActivate;if(me.destroying||me.items.getCount()==1){me.activeTab=null}else{if((toActivate=me.tabBar.items.indexOf(me.tabBar.findNextActivatable(item.tab)))!==-1){me.setActiveTab(toActivate)}}this.callParent(arguments);delete item.tab.card;delete item.tab},onRemove:function(item,destroying){var me=this;item.un({scope:me,enable:me.onItemEnable,disable:me.onItemDisable,beforeshow:me.onItemBeforeShow});if(!me.destroying&&item.tab.ownerCt===me.tabBar){me.tabBar.remove(item.tab)}}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",tdCls:Ext.baseCSSPrefix+"grid-cell-treecolumn",treePrefix:Ext.baseCSSPrefix+"tree-",elbowPrefix:Ext.baseCSSPrefix+"tree-elbow-",expanderCls:Ext.baseCSSPrefix+"tree-expander",imgText:'',checkboxText:'',initComponent:function(){var me=this;me.origRenderer=me.renderer||me.defaultRenderer;me.origScope=me.scope||window;me.renderer=me.treeRenderer;me.scope=me;me.callParent()},treeRenderer:function(value,metaData,record,rowIdx,colIdx,store,view){var me=this,buf=[],format=Ext.String.format,depth=record.getDepth(),treePrefix=me.treePrefix,elbowPrefix=me.elbowPrefix,expanderCls=me.expanderCls,imgText=me.imgText,checkboxText=me.checkboxText,formattedValue=me.origRenderer.apply(me.origScope,arguments),blank=Ext.BLANK_IMAGE_URL,href=record.get("href"),target=record.get("hrefTarget"),cls=record.get("cls");while(record){if(!record.isRoot()||(record.isRoot()&&view.rootVisible)){if(record.getDepth()===depth){buf.unshift(format(imgText,treePrefix+"icon "+treePrefix+"icon"+(record.get("icon")?"-inline ":(record.isLeaf()?"-leaf ":"-parent "))+(record.get("iconCls")||""),record.get("icon")||blank));if(record.get("checked")!==null){buf.unshift(format(checkboxText,(treePrefix+"checkbox")+(record.get("checked")?" "+treePrefix+"checkbox-checked":""),record.get("checked")?'aria-checked="true"':""));if(record.get("checked")){metaData.tdCls+=(" "+treePrefix+"checked")}}if(record.isLast()){if(record.isExpandable()){buf.unshift(format(imgText,(elbowPrefix+"end-plus "+expanderCls),blank))}else{buf.unshift(format(imgText,(elbowPrefix+"end"),blank))}}else{if(record.isExpandable()){buf.unshift(format(imgText,(elbowPrefix+"plus "+expanderCls),blank))}else{buf.unshift(format(imgText,(treePrefix+"elbow"),blank))}}}else{if(record.isLast()||record.getDepth()===0){buf.unshift(format(imgText,(elbowPrefix+"empty"),blank))}else{if(record.getDepth()!==0){buf.unshift(format(imgText,(elbowPrefix+"line"),blank))}}}}record=record.parentNode}if(href){buf.push('',formattedValue,"")}else{buf.push(formattedValue)}if(cls){metaData.tdCls+=" "+cls}return buf.join("")},defaultRenderer:function(value){return value}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",requires:["Ext.data.NodeStore"],loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",leafCls:Ext.baseCSSPrefix+"grid-tree-node-leaf",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:true,loadMask:false,rootVisible:true,deferInitialRefresh:false,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,stripeRows:false,uiFields:["expanded","loaded","checked","expandable","leaf","icon","iconCls","loading","qtip","qtitle"],initComponent:function(){var me=this,treeStore=me.panel.getStore();if(me.initialConfig.animate===undefined){me.animate=Ext.enableFx}me.store=new Ext.data.NodeStore({treeStore:treeStore,recursive:true,rootVisible:me.rootVisible,listeners:{beforeexpand:me.onBeforeExpand,expand:me.onExpand,beforecollapse:me.onBeforeCollapse,collapse:me.onCollapse,write:me.onStoreWrite,datachanged:me.onStoreDataChanged,scope:me}});if(me.node){me.setRootNode(me.node)}me.animQueue={};me.animWraps={};me.addEvents("afteritemexpand","afteritemcollapse");me.callParent(arguments);me.on({element:"el",scope:me,delegate:me.expanderSelector,mouseover:me.onExpanderMouseOver,mouseout:me.onExpanderMouseOut});me.on({element:"el",scope:me,delegate:me.checkboxSelector,click:me.onCheckboxChange})},getMaskStore:function(){return this.panel.getStore()},afterComponentLayout:function(){this.callParent(arguments);var stretcher=this.stretcher;if(stretcher){stretcher.setWidth((this.getWidth()-Ext.getScrollbarSize().width))}},processUIEvent:function(e){if(e.getTarget("."+this.nodeAnimWrapCls,this.el)){return false}return this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(node){var me=this;me.store.setNode(node);me.node=node},onCheckboxChange:function(e,t){var me=this,item=e.getTarget(me.getItemSelector(),me.getTargetEl());if(item){me.onCheckChange(me.getRecord(item))}},onCheckChange:function(record){var checked=record.get("checked");if(Ext.isBoolean(checked)){checked=!checked;record.set("checked",checked);this.fireEvent("checkchange",record,checked)}},getChecked:function(){var checked=[];this.node.cascadeBy(function(rec){if(rec.get("checked")){checked.push(rec)}});return checked},isItemChecked:function(rec){return rec.get("checked")},createAnimWrap:function(record,index){var thHtml="",headerCt=this.panel.headerCt,headers=headerCt.getGridColumns(),i=0,len=headers.length,item,node=this.getNode(record),tmpEl,nodeEl;for(;i'}nodeEl=Ext.get(node);tmpEl=nodeEl.insertSibling({tag:"tr",html:['','
    ','',thHtml,"
    ","
    ",""].join("")},"after");return{record:record,node:node,el:tmpEl,expanding:false,collapsing:false,animating:false,animateEl:tmpEl.down("div"),targetEl:tmpEl.down("tbody")}},getAnimWrap:function(parent,bubble){if(!this.animate){return null}var wraps=this.animWraps,wrap=wraps[parent.internalId];if(bubble!==false){while(!wrap&&parent){parent=parent.parentNode;if(parent){wrap=wraps[parent.internalId]}}}return wrap},doAdd:function(nodes,records,index){var me=this,record=records[0],parent=record.parentNode,a=me.all.elements,relativeIndex=0,animWrap=me.getAnimWrap(parent),targetEl,children,len;if(!animWrap||!animWrap.expanding){return me.callParent(arguments)}parent=animWrap.record;targetEl=animWrap.targetEl;children=targetEl.dom.childNodes;len=children.length-1;relativeIndex=index-me.indexOf(parent)-1;if(!len||relativeIndex>=len){targetEl.appendChild(nodes)}else{Ext.fly(children[relativeIndex+1]).insertSibling(nodes,"before",true)}Ext.Array.insert(a,index,nodes);if(animWrap.isAnimating){me.onExpand(parent)}},beginBulkUpdate:function(){this.bulkUpdate=true},endBulkUpdate:function(){this.bulkUpdate=false},onRemove:function(ds,record,index){var me=this,bulk=me.bulkUpdate;if(me.viewReady){me.doRemove(record,index);if(!bulk){me.updateIndexes(index)}if(me.store.getCount()===0){me.refresh()}if(!bulk){me.fireEvent("itemremove",record,index)}}},doRemove:function(record,index){var me=this,all=me.all,animWrap=me.getAnimWrap(record),item=all.item(index),node=item?item.dom:null;if(!node||!animWrap||!animWrap.collapsing){return me.callParent(arguments)}animWrap.targetEl.appendChild(node);all.removeElement(index)},onBeforeExpand:function(parent,records,index){var me=this,animWrap;if(!me.rendered||!me.animate){return}if(me.getNode(parent)){animWrap=me.getAnimWrap(parent,false);if(!animWrap){animWrap=me.animWraps[parent.internalId]=me.createAnimWrap(parent);animWrap.animateEl.setHeight(0)}else{if(animWrap.collapsing){animWrap.targetEl.select(me.itemSelector).remove()}}animWrap.expanding=true;animWrap.collapsing=false}},onExpand:function(parent){var me=this,queue=me.animQueue,id=parent.getId(),node=me.getNode(parent),index=node?me.indexOf(node):-1,animWrap,animateEl,targetEl;if(me.singleExpand){me.ensureSingleExpand(parent)}if(index===-1){return}animWrap=me.getAnimWrap(parent,false);if(!animWrap){me.isExpandingOrCollapsing=false;me.fireEvent("afteritemexpand",parent,index,node);return}animateEl=animWrap.animateEl;targetEl=animWrap.targetEl;animateEl.stopAnimation();queue[id]=true;animateEl.slideIn("t",{duration:me.expandDuration,listeners:{scope:me,lastframe:function(){animWrap.el.insertSibling(targetEl.query(me.itemSelector),"before");animWrap.el.remove();me.refreshSize();delete me.animWraps[animWrap.record.internalId];delete queue[id]}},callback:function(){me.isExpandingOrCollapsing=false;me.fireEvent("afteritemexpand",parent,index,node)}});animWrap.isAnimating=true},onBeforeCollapse:function(parent,records,index){var me=this,animWrap;if(!me.rendered||!me.animate){return}if(me.getNode(parent)){animWrap=me.getAnimWrap(parent);if(!animWrap){animWrap=me.animWraps[parent.internalId]=me.createAnimWrap(parent,index)}else{if(animWrap.expanding){animWrap.targetEl.select(this.itemSelector).remove()}}animWrap.expanding=false;animWrap.collapsing=true}},onCollapse:function(parent){var me=this,queue=me.animQueue,id=parent.getId(),node=me.getNode(parent),index=node?me.indexOf(node):-1,animWrap=me.getAnimWrap(parent),animateEl,targetEl;if(index===-1){return}if(!animWrap){me.isExpandingOrCollapsing=false;me.fireEvent("afteritemcollapse",parent,index,node);return}animateEl=animWrap.animateEl;targetEl=animWrap.targetEl;queue[id]=true;animateEl.stopAnimation();animateEl.slideOut("t",{duration:me.collapseDuration,listeners:{scope:me,lastframe:function(){animWrap.el.remove();me.refreshSize();delete me.animWraps[animWrap.record.internalId];delete queue[id]}},callback:function(){me.isExpandingOrCollapsing=false;me.fireEvent("afteritemcollapse",parent,index,node)}});animWrap.isAnimating=true},isAnimating:function(node){return !!this.animQueue[node.getId()]},collectData:function(records){var data=this.callParent(arguments),rows=data.rows,len=rows.length,i=0,row,record;for(;i1){me.expandPath(keys.join(separator),field,separator,function(success,node){var lastNode=node;if(success&&node){node=node.findChild(field,last);if(node){me.getSelectionModel().select(node);Ext.callback(callback,scope||me,[true,node]);return}}Ext.callback(callback,scope||me,[false,lastNode])},me)}else{root=me.getRootNode();if(root.getId()===last){me.getSelectionModel().select(root);Ext.callback(callback,scope||me,[true,root])}else{Ext.callback(callback,scope||me,[false,null])}}}});Ext.define("Ext.view.DragZone",{extend:"Ext.dd.DragZone",containerScroll:false,constructor:function(config){var me=this,view,ownerCt,el;Ext.apply(me,config);if(!me.ddGroup){me.ddGroup="view-dd-zone-"+me.view.id}view=me.view;ownerCt=view.ownerCt;if(ownerCt){el=ownerCt.getTargetEl().dom}else{el=view.el.dom.parentNode}me.callParent([el]);me.ddel=Ext.get(document.createElement("div"));me.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(id,sGroup,config){this.initTarget(id,sGroup,config);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onValidDrop:function(target,e,id){this.callParent();target.el.focus()},onItemMouseDown:function(view,record,item,index,e){if(!this.isPreventDrag(e,record,item,index)){this.view.focus();this.handleMouseDown(e);if(view.getSelectionModel().selectionMode=="MULTI"&&!e.ctrlKey&&view.getSelectionModel().isSelected(record)){return false}}},isPreventDrag:function(e){return false},getDragData:function(e){var view=this.view,item=e.getTarget(view.getItemSelector());if(item){return{copy:view.copy||(view.allowCopy&&e.ctrlKey),event:new Ext.EventObjectImpl(e),view:view,ddel:this.ddel,item:item,records:view.getSelectionModel().getSelection(),fromPosition:Ext.fly(item).getXY()}}},onInitDrag:function(x,y){var me=this,data=me.dragData,view=data.view,selectionModel=view.getSelectionModel(),record=view.getRecord(data.item),e=data.event;if(!selectionModel.isSelected(record)){selectionModel.select(record,true)}data.records=selectionModel.getSelection();me.ddel.update(me.getDragText());me.proxy.update(me.ddel.dom);me.onStartDrag(x,y);return true},getDragText:function(){var count=this.dragData.records.length;return Ext.String.format(this.dragText,count,count==1?"":"s")},getRepairXY:function(e,data){return data?data.fromPosition:false}});Ext.define("Ext.tree.ViewDragZone",{extend:"Ext.view.DragZone",isPreventDrag:function(e,record){return(record.get("allowDrag")===false)||!!e.getTarget(this.view.expanderSelector)},afterRepair:function(){var me=this,view=me.view,selectedRowCls=view.selectedItemCls,records=me.dragData.records,r,rLen=records.length,fly=Ext.fly,item;if(Ext.enableFx&&me.repairHighlight){for(r=0;r=region.top&&y<(region.top+fragment)){return"before"}else{if(!noBelow&&(noAppend||(y>=(region.bottom-fragment)&&y<=region.bottom))){return"after"}else{return"append"}}},isValidDropPoint:function(node,position,dragZone,e,data){if(!node||!data.item){return false}var view=this.view,targetNode=view.getRecord(node),draggedRecords=data.records,dataLength=draggedRecords.length,ln=draggedRecords.length,i,record;if(!(targetNode&&position&&dataLength)){return false}for(i=0;i=0;--i){selectorText=ssRules[i].selectorText;if(selectorText){selectorText=selectorText.split(",");selectors=selectorText.length;for(j=0;j2)?argv[2]:null,path=(argc>3)?argv[3]:"/",domain=(argc>4)?argv[4]:null,secure=(argc>5)?argv[5]:false;document.cookie=name+"="+escape(value)+((expires===null)?"":("; expires="+expires.toGMTString()))+((path===null)?"":("; path="+path))+((domain===null)?"":("; domain="+domain))+((secure===true)?"; secure":"")},get:function(name){var arg=name+"=",alen=arg.length,clen=document.cookie.length,i=0,j=0;while(i=0?href.substr(i+1):null},setHash:function(hash){var me=this,win=me.useTopWindow?window.top:window;try{win.location.hash=hash}catch(e){}},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(token){this.currentToken=token;this.fireEvent("change",token)},updateIFrame:function(token){var html='
    '+Ext.util.Format.htmlEncode(token)+"
    ",doc;try{doc=this.iframe.contentWindow.document;doc.open();doc.write(html);doc.close();return true}catch(e){return false}},checkIFrame:function(){var me=this,contentWindow=me.iframe.contentWindow,doc,elem,oldToken,oldHash;if(!contentWindow||!contentWindow.document){Ext.Function.defer(this.checkIFrame,10,this);return}doc=contentWindow.document;elem=doc.getElementById("state");oldToken=elem?elem.innerText:null;oldHash=me.getHash();Ext.TaskManager.start({run:function(){var doc=contentWindow.document,elem=doc.getElementById("state"),newToken=elem?elem.innerText:null,newHash=me.getHash();if(newToken!==oldToken){oldToken=newToken;me.handleStateChange(newToken);me.setHash(newToken);oldHash=newToken;me.doSave()}else{if(newHash!==oldHash){oldHash=newHash;me.updateIFrame(newHash)}}},interval:50,scope:me});me.ready=true;me.fireEvent("ready",me)},startUp:function(){var me=this,hash;me.currentToken=me.hiddenField.value||this.getHash();if(me.oldIEMode){me.checkIFrame()}else{hash=me.getHash();Ext.TaskManager.start({run:function(){var newHash=me.getHash();if(newHash!==hash){hash=newHash;me.handleStateChange(hash);me.doSave()}},interval:50,scope:me});me.ready=true;me.fireEvent("ready",me)}},init:function(onReady,scope){var me=this,DomHelper=Ext.DomHelper;if(me.ready){Ext.callback(onReady,scope,[me]);return}if(!Ext.isReady){Ext.onReady(function(){me.init(onReady,scope)});return}me.hiddenField=Ext.getDom(me.fieldId);if(!me.hiddenField){me.hiddenField=Ext.getBody().createChild({id:Ext.id(),tag:"form",cls:Ext.baseCSSPrefix+"hide-display",children:[{tag:"input",type:"hidden",id:me.fieldId}]},false,true).firstChild}if(me.oldIEMode){me.iframe=Ext.getDom(me.iframeId);if(!me.iframe){me.iframe=DomHelper.append(me.hiddenField.parentNode,{tag:"iframe",id:me.iframeId,src:Ext.SSL_SECURE_URL})}}me.addEvents("ready","change");if(onReady){me.on("ready",onReady,scope,{single:true})}me.startUp()},add:function(token,preventDup){var me=this;if(preventDup!==false){if(me.getToken()===token){return true}}if(me.oldIEMode){return me.updateIFrame(token)}else{me.setHash(token);return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.util.Point",{extend:"Ext.util.Region",statics:{fromEvent:function(e){e=(e.changedTouches&&e.changedTouches.length>0)?e.changedTouches[0]:e;return new this(e.pageX,e.pageY)}},constructor:function(x,y){this.callParent([y,x,y,x])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(p){return(this.x==p.x&&this.y==p.y)},isWithin:function(p,threshold){if(!Ext.isObject(threshold)){threshold={x:threshold,y:threshold}}return(this.x<=p.x+threshold.x&&this.x>=p.x-threshold.x&&this.y<=p.y+threshold.y&&this.y>=p.y-threshold.y)},roundedEquals:function(p){return(Math.round(this.x)==Math.round(p.x)&&Math.round(this.y)==Math.round(p.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{%if (this.openTableWrap)out.push(this.openTableWrap())%}",'',"",'','','',"","","{[this.openRows()]}","{row}",'',"{[this.embedFeature(values, parent, xindex, xcount)]}","","{[this.closeRows()]}","","
    ","{%if (this.closeTableWrap)out.push(this.closeTableWrap())%}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(values,reference){return this.apply(reference?values[reference]:values)}},embedFeature:function(values,parent,x,xcount){var tpl="";if(!values.disabled){tpl=values.getFeatureTpl(values,parent,x,xcount)}return tpl},embedFullWidth:function(values){var result='style="width:{fullWidth}px;';if(!values.rowCount){result+="height:1px;"}return result+'"'},openRows:function(){return''},closeRows:function(){return""},metaRowTpl:['','','','
    {{id}}
    ',"","
    ",""],firstOrLastCls:function(xindex,xcount){if(xindex===1){return Ext.view.Table.prototype.firstCls}else{if(xindex===xcount){return Ext.view.Table.prototype.lastCls}}},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:undefined,closeTableWrap:undefined,getTableTpl:function(cfg,textOnly){var tpl,tableTplMemberFns={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},tplMemberFns={},features=cfg.features||[],ln=features.length,i=0,memberFns={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls,unselectableAttr:cfg.enableTextSelection?"":'unselectable="on"',unselectableCls:cfg.enableTextSelection?"":Ext.baseCSSPrefix+"unselectable"},metaRowTpl=Array.prototype.slice.call(this.metaRowTpl,0),metaTableTpl;for(;i