1 |
- Ext.define(null,{override:'Ext.ux.gauge.needle.Abstract',compatibility:Ext.isIE10p,setTransform:function(c,d,b){var a=this.getNeedleGroup();this.callParent([c,d,b]);a.set({transform:getComputedStyle(a.dom).getPropertyValue('transform')})},updateStyle:function(b){var a;this.callParent([b]);if(Ext.isObject(b)&&'transform' in b){a=this.getNeedlePath();a.set({transform:getComputedStyle(a.dom).getPropertyValue('transform')})}}});Ext.define('Ext.ux.ajax.Simlet',function(){var d=/([^?#]*)(#.*)?$/,b=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/,c=/^[+-]?\d+$/,a=/^[+-]?\d+\.\d+$/;function parseParamValue(d){var e;if(Ext.isDefined(d)){d=decodeURIComponent(d);if(c.test(d)){d=parseInt(d,10)}else if(a.test(d)){d=parseFloat(d)}else if(!!(e=b.exec(d))){d=new Date(Date.UTC(+e[1],+e[2]-1,+e[3],+e[4],+e[5],+e[6]))}}return d}return {alias:'simlet.basic',isSimlet:!0,responseProps:['responseText','responseXML','status','statusText','responseHeaders'],status:200,statusText:'OK',constructor:function(a){Ext.apply(this,a)},doGet:function(a){return this.handleRequest(a)},doPost:function(a){return this.handleRequest(a)},doRedirect:function(a){return !1},doDelete:function(a){var d=this,c=a.xhr,b=c.options.records;d.removeFromData(a,b)},exec:function(a){var c=this,b={},e='do'+Ext.String.capitalize(a.method.toLowerCase()),d=c[e];if(d){b=d.call(c,c.getCtx(a.method,a.url,a))}else {b={status:405,statusText:'Method Not Allowed'}}return b},getCtx:function(b,a,c){return {method:b,params:this.parseQueryString(a),url:a,xhr:c}},handleRequest:function(d){var b=this,c={},a;Ext.Array.forEach(b.responseProps,function(e){if(e in b){a=b[e];if(Ext.isFunction(a)){a=a.call(b,d)}c[e]=a}});return c},openRequest:function(b,e,d,f){var g=this.getCtx(b,e),c=this.doRedirect(g),a;if(d.action==='destroy'){b='delete'}if(c){a=c}else {a=new Ext.ux.ajax.SimXhr({mgr:this.manager,simlet:this,options:d});a.open(b,e,f)}return a},parseQueryString:function(j){var g=d.exec(j),b={},a,e,f,i;if(g&&g[1]){var c,h=g[1].split('&');for(f=0,i=h.length;f<i;++f){if((c=h[f].split('='))[0]){a=decodeURIComponent(c.shift());e=parseParamValue((c.length>1)?c.join('='):c[0]);if(!(a in b)){b[a]=e}else if(Ext.isArray(b[a])){b[a].push(e)}else {b[a]=[b[a],e]}}}}return b},redirect:function(b,a,c){switch(arguments.length){case 2:if(typeof a=='string'){break};c=a;case 1:a=b;b='GET';break;}if(c){a=Ext.urlAppend(a,Ext.Object.toQueryString(c))}return this.manager.openRequest(b,a)},removeFromData:function(a,e){var d=this,c=d.getData(a),f=(a.xhr.options.proxy&&a.xhr.options.proxy.getModel())||{},b=f.idProperty||'id';Ext.each(e,function(g){var h=g.get(b);for(var f=c.length;f-->0;){if(c[f][b]===h){d.deleteRecord(f);break}}})}}}());Ext.define('Ext.ux.ajax.DataSimlet',function(){function makeSortFn(a,c){var b=a.direction,d=(b&&b.toUpperCase()==='DESC')?-1:1;return function(e,b){var f=e[a.property],g=b[a.property],h=(f<g)?-1:((g<f)?1:0);if(h||!c){return h*d}return c(e,b)}}function makeSortFns(b,d){for(var a=d,c=b&&b.length;c;){a=makeSortFn(b[--c],a)}return a}return {extend:'Ext.ux.ajax.Simlet',buildNodes:function(g,e){var h=this,f={data:[]},i=g.length,c,b,a,d;h.nodes[e]=f;for(b=0;b<i;++b){f.data.push(a=g[b]);d=a.text||a.title;a.id=e?e+'/'+d:d;c=a.children;if(!(a.leaf=!c)){delete a.children;h.buildNodes(c,a.id)}}},deleteRecord:function(a){if(this.data&&typeof this.data!=='function'){Ext.Array.removeAt(this.data,a)}},fixTree:function(e,d){var a=this,b=e.params.node,c;if(!(c=a.nodes)){a.nodes=c={};a.buildNodes(d,'')}b=c[b];if(b){if(a.node){a.node.sortedData=a.sortedData;a.node.currentOrder=a.currentOrder}a.node=b;a.data=b.data;a.sortedData=b.sortedData;a.currentOrder=b.currentOrder}else {a.data=null}},getData:function(c){var d=this,b=c.params,g=(b.filter||'')+(b.group||'')+'-'+(b.sort||'')+'-'+(b.dir||''),j=d.tree,h,a,e,f;if(j){d.fixTree(c,j)}a=d.data;if(typeof a==='function'){h=!0;a=a.call(this,c)}if(!a||g==='--'){return a||[]}if(!h&&g==d.currentOrder){return d.sortedData}c.filterSpec=b.filter&&Ext.decode(b.filter);c.groupSpec=b.group&&Ext.decode(b.group);e=b.sort;if(b.dir){e=[{direction:b.dir,property:e}]}else if(b.sort){e=Ext.decode(b.sort)}else {e=null}if(c.filterSpec){var i=new Ext.util.FilterCollection();i.add(this.processFilters(c.filterSpec));a=Ext.Array.filter(a,i.getFilterFn())}f=makeSortFns((c.sortSpec=e));if(c.groupSpec){f=makeSortFns([c.groupSpec],f)}a=Ext.isArray(a)?a.slice(0):a;if(f){Ext.Array.sort(a,f)}d.sortedData=a;d.currentOrder=g;return a},processFilters:Ext.identityFn,getPage:function(c,e){var d=e,a=e.length,b=c.params.start||0,f=c.params.limit?Math.min(a,b+c.params.limit):a;if(b||f<a){d=d.slice(b,f)}return d},getGroupSummary:function(b,a,c){return a[0]},getSummary:function(g,h,i){var j=this,c=g.groupSpec.property,b,f={},d=[],a,e;Ext.each(i,function(b){a=b[c];f[a]=!0});function flush(){if(b){d.push(j.getGroupSummary(c,b,g));b=null}}Ext.each(h,function(j){a=j[c];if(e!==a){flush();e=a}if(!f[a]){return !d.length}if(b){b.push(j)}else {b=[j]}return !0});flush();return d}}}());Ext.define('Ext.ux.ajax.JsonSimlet',{extend:'Ext.ux.ajax.DataSimlet',alias:'simlet.json',doGet:function(a){var d=this,f=d.getData(a),c=d.getPage(a,f),e=a.xhr.options.proxy&&a.xhr.options.proxy.getReader(),g=e&&e.getRootProperty(),h=d.callParent(arguments),b={};if(g&&Ext.isArray(c)){b[g]=c;b[e.getTotalProperty()]=f.length}else {b=c}if(a.groupSpec){b.summaryData=d.getSummary(a,f,c)}h.responseText=Ext.encode(b);return h},doPost:function(a){return this.doGet(a)}});Ext.define('Ext.ux.ajax.PivotSimlet',{extend:'Ext.ux.ajax.JsonSimlet',alias:'simlet.pivot',lastPost:null,lastResponse:null,keysSeparator:'',grandTotalKey:'',doPost:function(b){var a=this,c=a.callParent(arguments);a.lastResponse=a.processData(a.getData(b),Ext.decode(b.xhr.body));c.responseText=Ext.encode(a.lastResponse);return c},processData:function(g,f){var a=this,o=g.length,j={success:!0,leftAxis:[],topAxis:[],results:[]},m=new Ext.util.MixedCollection(),n=new Ext.util.MixedCollection(),e=new Ext.util.MixedCollection(),b,c,l,i,h,d,k;a.lastPost=f;a.keysSeparator=f.keysSeparator;a.grandTotalKey=f.grandTotalKey;for(b=0;b<o;b++){i=a.extractValues(g[b],f.leftAxis,m);h=a.extractValues(g[b],f.topAxis,n);a.addResult(g[b],a.grandTotalKey,a.grandTotalKey,e);for(c=0;c<i.length;c++){a.addResult(g[b],i[c],a.grandTotalKey,e);for(l=0;l<h.length;l++){a.addResult(g[b],i[c],h[l],e)}}for(c=0;c<h.length;c++){a.addResult(g[b],a.grandTotalKey,h[c],e)}}j.leftAxis=m.getRange();j.topAxis=n.getRange();o=e.getCount();for(b=0;b<o;b++){d=e.getAt(b);d.values={};for(c=0;c<f.aggregate.length;c++){k=f.aggregate[c];d.values[k.id]=a[k.aggregator](d.records,k.dataIndex,d.leftKey,d.topKey)}delete (d.records);j.results.push(d)}m.clear();n.clear();e.clear();return j},getKey:function(b){var a=this;a.keysMap=a.keysMap||{};if(!Ext.isDefined(a.keysMap[b])){a.keysMap[b]=Ext.id()}return a.keysMap[b]},extractValues:function(f,e,h){var i=e.length,g=[],j,b,a,d,c;a='';for(b=0;b<i;b++){c=e[b];a+=(b>0?this.keysSeparator:'')+this.getKey(f[c.dataIndex]);d=h.getByKey(a);if(!d){d=h.add(a,{key:a,value:f[c.dataIndex],dimensionId:c.id})}g.push(a)}return g},addResult:function(e,a,b,d){var c=d.getByKey(a+'/'+b);if(!c){c=d.add(a+'/'+b,{leftKey:a,topKey:b,records:[]})}c.records.push(e)},sum:function(b,d,g,f){var e=b.length,c=0,a;for(a=0;a<e;a++){c+=Ext.Number.from(b[a][d],0)}return c},avg:function(c,e,g,f){var b=c.length,d=0,a;for(a=0;a<b;a++){d+=Ext.Number.from(c[a][e],0)}return b>0?(d/b):0},min:function(b,e,h,g){var c=[],f=b.length,a,d;for(a=0;a<f;a++){c.push(b[a][e])}d=Ext.Array.min(c);return d},max:function(b,d,g,f){var c=[],e=b.length,a;for(a=0;a<e;a++){c.push(b[a][d])}v=Ext.Array.max(c);return v},count:function(a,d,c,b){return a.length},variance:function(d,g,i,h){var f=Ext.pivot.Aggregators,b=d.length,e=f.avg.apply(f,arguments),c=0,a;if(e>0){for(a=0;a<b;a++){c+=Math.pow(Ext.Number.from(d[a][g],0)-e,2)}}return (c>0&&b>1)?(c/(b-1)):0},varianceP:function(d,g,i,h){var f=Ext.pivot.Aggregators,b=d.length,e=f.avg.apply(f,arguments),c=0,a;if(e>0){for(a=0;a<b;a++){c+=Math.pow(Ext.Number.from(d[a][g],0)-e,2)}}return (c>0&&b>0)?(c/b):0},stdDev:function(f,e,d,c){var a=Ext.pivot.Aggregators,b=a.variance.apply(a,arguments);return b>0?Math.sqrt(b):0},stdDevP:function(f,e,d,c){var a=Ext.pivot.Aggregators,b=a.varianceP.apply(a,arguments);return b>0?Math.sqrt(b):0}});Ext.define('Ext.ux.ajax.SimXhr',{readyState:0,mgr:null,simlet:null,constructor:function(b){var a=this;Ext.apply(a,b);a.requestHeaders={}},abort:function(){var a=this;if(a.timer){Ext.undefer(a.timer);a.timer=null}a.aborted=!0},getAllResponseHeaders:function(){var a=[];if(Ext.isObject(this.responseHeaders)){Ext.Object.each(this.responseHeaders,function(c,b){a.push(c+': '+b)})}return a.join('\r\n')},getResponseHeader:function(b){var a=this.responseHeaders;return (a&&a[b])||null},open:function(c,f,d,e,b){var a=this;a.method=c;a.url=f;a.async=d!==!1;a.user=e;a.password=b;a.setReadyState(1)},overrideMimeType:function(a){this.mimeType=a},schedule:function(){var a=this,b=a.simlet.delay||a.mgr.delay;if(b){a.timer=Ext.defer(function(){a.onTick()},b)}else {a.onTick()}},send:function(b){var a=this;a.body=b;if(a.async){a.schedule()}else {a.onComplete()}},setReadyState:function(b){var a=this;if(a.readyState!=b){a.readyState=b;a.onreadystatechange()}},setRequestHeader:function(a,b){this.requestHeaders[a]=b},onreadystatechange:Ext.emptyFn,onComplete:function(){var me=this,callback;me.readyState=4;Ext.apply(me,me.simlet.exec(me));callback=me.jsonpCallback;if(callback){var text=callback+'('+me.responseText+')';eval(text)}},onTick:function(){var a=this;a.timer=null;a.onComplete();a.onreadystatechange&&a.onreadystatechange()}});Ext.define('Ext.ux.ajax.SimManager',{singleton:!0,requires:['Ext.data.Connection','Ext.ux.ajax.SimXhr','Ext.ux.ajax.Simlet','Ext.ux.ajax.JsonSimlet'],defaultType:'basic',delay:150,ready:!1,constructor:function(){this.simlets=[]},getSimlet:function(a){var h=this,c=a.indexOf('?'),g=h.simlets,i=g.length,d,e,b,f;if(c<0){c=a.indexOf('#')}if(c>0){a=a.substring(0,c)}for(d=0;d<i;++d){e=g[d];b=e.url;if(b instanceof RegExp){f=b.test(a)}else {f=b===a}if(f){return e}}return h.defaultSimlet},getXhr:function(d,b,c,e){var a=this.getSimlet(b);if(a){return a.openRequest(d,b,c,e)}return null},init:function(b){var a=this;Ext.apply(a,b);if(!a.ready){a.ready=!0;if(!('defaultSimlet' in a)){a.defaultSimlet=new Ext.ux.ajax.Simlet({status:404,statusText:'Not Found'})}a._openRequest=Ext.data.Connection.prototype.openRequest;Ext.data.request.Ajax.override({openRequest:function(e,d,f){var c=!e.nosim&&a.getXhr(d.method,d.url,e,f);if(!c){c=this.callParent(arguments)}return c}});if(Ext.data.JsonP){Ext.data.JsonP.self.override({createScript:function(g,f,d){var e=Ext.urlAppend(g,Ext.Object.toQueryString(f)),c=!d.nosim&&a.getXhr('GET',e,d,!0);if(!c){c=this.callParent(arguments)}return c},loadScript:function(a){var c=a.script;if(c.simlet){c.jsonpCallback=a.params[a.callbackKey];c.send(null);a.script=document.createElement('script')}else {this.callParent(arguments)}}})}}return a},openRequest:function(a,d,b){var c={method:a,url:d};return this._openRequest.call(Ext.data.Connection.prototype,{},c,b)},register:function(a){var b=this;b.init();function reg(d){var c=d;if(!c.isSimlet){c=Ext.create('simlet.'+(c.type||c.stype||b.defaultType),d)}b.simlets.push(c);c.manager=b}if(Ext.isArray(a)){Ext.each(a,reg)}else if(a.isSimlet||a.url){reg(a)}else {Ext.Object.each(a,function(c,b){b.url=c;reg(b)})}return b}});Ext.define('Ext.ux.ajax.XmlSimlet',{extend:'Ext.ux.ajax.DataSimlet',alias:'simlet.xml',xmlTpl:['<{root}>\n','<tpl for="data">',' <{parent.record}>\n','<tpl for="parent.fields">',' <{name}>{[parent[values.name]]}</{name}>\n','</tpl>',' </{parent.record}>\n','</tpl>','</{root}>'],doGet:function(c){var b=this,f=b.getData(c),k=b.getPage(c,f),j=c.xhr.options.operation.getProxy(),a=j&&j.getReader(),i=a&&a.getModel(),g=b.callParent(arguments),h={data:k,reader:a,fields:i&&i.fields,root:a&&a.getRootProperty(),record:a&&a.record},l,e,d;if(c.groupSpec){h.summaryData=b.getSummary(c,f,k)}if(b.xmlTpl){l=Ext.XTemplate.getTpl(b,'xmlTpl');e=l.apply(h)}else {e=f}if(typeof DOMParser!='undefined'){d=(new DOMParser()).parseFromString(e,"text/xml")}else {d=new ActiveXObject("Microsoft.XMLDOM");d.async=!1;d.loadXML(e)}g.responseText=e;g.responseXML=d;return g},fixTree:function(){this.callParent(arguments);var a=[];this.buildTreeXml(this.data,a);this.data=a.join('')},buildTreeXml:function(d,a){var c=this.rootProperty,b=this.recordProperty;a.push('<',c,'>');Ext.Array.forEach(d,function(e){a.push('<',b,'>');for(var c in e){if(c=='children'){this.buildTreeXml(e.children,a)}else {a.push('<',c,'>',e[c],'</',c,'>')}}a.push('</',b,'>')});a.push('</',c,'>')}});Ext.define('Ext.ux.event.Driver',{extend:'Ext.util.Observable',active:null,specialKeysByName:{PGUP:33,PGDN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40},specialKeysByCode:{},getTextSelection:function(a){var f=a.ownerDocument,d,c,b,e;if(typeof a.selectionStart==="number"){b=a.selectionStart;e=a.selectionEnd}else if(f.selection){d=f.selection.createRange();c=a.createTextRange();c.setEndPoint('EndToStart',d);b=c.text.length;e=b+d.text.length}return [b,e]},getTime:function(){return new Date().getTime()},getTimestamp:function(){var a=this.getTime();return a-this.startTime},onStart:function(){},onStop:function(){},start:function(){var a=this;if(!a.active){a.active=new Date();a.startTime=a.getTime();a.onStart();a.fireEvent('start',a)}},stop:function(){var a=this;if(a.active){a.active=null;a.onStop();a.fireEvent('stop',a)}}},function(){var a=this.prototype;Ext.Object.each(a.specialKeysByName,function(c,b){a.specialKeysByCode[b]=c})});Ext.define('Ext.ux.event.Maker',{eventQueue:[],startAfter:500,timerIncrement:500,currentTiming:0,constructor:function(b){var a=this;a.currentTiming=a.startAfter;if(!Ext.isArray(b)){b=[b]}Ext.Array.each(b,function(c){c.el=c.el||'el';Ext.Array.each(Ext.ComponentQuery.query(c.cmpQuery),function(f){var e={},g,h,d;if(!c.domQuery){d=f[c.el]}else {d=f.el.down(c.domQuery)}e.target='#'+d.dom.id;e.type=c.type;e.button=b.button||0;g=d.getX()+(d.getWidth()/2);h=d.getY()+(d.getHeight()/2);e.xy=[g,h];e.ts=a.currentTiming;a.currentTiming+=a.timerIncrement;a.eventQueue.push(e)});if(c.screenshot){a.eventQueue[a.eventQueue.length-1].screenshot=!0}});return a.eventQueue}});Ext.define('Ext.ux.event.Player',function(c){var b={},f={},g={},a,h={},d={resize:1,reset:1,submit:1,change:1,select:1,error:1,abort:1};Ext.each(['click','dblclick','mouseover','mouseout','mousedown','mouseup','mousemove'],function(a){d[a]=b[a]=f[a]={bubbles:!0,cancelable:(a!="mousemove"),detail:1,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0}});Ext.each(['keydown','keyup','keypress'],function(a){d[a]=b[a]=g[a]={bubbles:!0,cancelable:!0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,keyCode:0,charCode:0}});Ext.each(['blur','change','focus','resize','scroll','select'],function(a){b[a]=h[a]={bubbles:(a in d),cancelable:!1,detail:1}});var e={8:function(a,b,d){if(b<d){a.value=a.value.substring(0,b)+a.value.substring(d)}else if(b>0){a.value=a.value.substring(0,--b)+a.value.substring(d)}this.setTextSelection(a,b,b)},46:function(a,b,d){if(b<d){a.value=a.value.substring(0,b)+a.value.substring(d)}else if(b<a.value.length-1){a.value=a.value.substring(0,b)+a.value.substring(b+1)}this.setTextSelection(a,b,b)}};return {extend:'Ext.ux.event.Driver',keyFrameEvents:{click:!0},pauseForAnimations:!0,speed:1,stallTime:0,_inputSpecialKeys:{INPUT:e,TEXTAREA:Ext.apply({},e)},tagPathRegEx:/(\w+)(?:\[(\d+)\])?/,constructor:function(d){var b=this;b.callParent(arguments);b.timerFn=function(){b.onTick()};b.attachTo=b.attachTo||window;a=b.attachTo.document},getElementFromXPath:function(l){var i=this,d=l.split('/'),k=i.tagPathRegEx,e,j,f,g,h,b,a=i.attachTo.document;a=(d[0]=='~')?a.body:a.getElementById(d[0].substring(1));for(e=1,j=d.length;a&&e<j;++e){f=k.exec(d[e]);g=f[2]?parseInt(f[2],10):1;h=f[1].toUpperCase();for(b=a.firstChild;b;b=b.nextSibling){if(b.tagName==h){if(g==1){break}--g}}a=b}return a},offsetToRangeCharacterMove:function(b,a){return a-(b.value.slice(0,a).split("\r\n").length-1)},setTextSelection:function(a,d,b){if(d<0){d+=a.value.length}if(b==null){b=d}if(b<0){b+=a.value.length}if(typeof a.selectionStart==="number"){a.selectionStart=d;a.selectionEnd=b}else {var e=a.createTextRange();var f=this.offsetToRangeCharacterMove(a,d);e.collapse(!0);if(d==b){e.move("character",f)}else {e.moveEnd("character",this.offsetToRangeCharacterMove(a,b));e.moveStart("character",f)}e.select()}},getTimeIndex:function(){var a=this.getTimestamp()-this.stallTime;return a*this.speed},makeToken:function(a,d){var b=this,e;a[d]=!0;a.defer=function(){a[d]=!1;e=b.getTime()};a.finish=function(){a[d]=!0;b.stallTime+=b.getTime()-e;b.schedule()}},nextEvent:function(b){var a=this,d=++a.queueIndex;if(a.keyFrameEvents[b.type]){Ext.Array.insert(a.eventQueue,d,[{keyframe:!0,ts:b.ts}])}},peekEvent:function(){return this.eventQueue[this.queueIndex]||null},replaceEvent:function(e,b){for(var d,a=0,f=b.length;a<f;++a){if(a){d=b[a-1];delete d.afterplay;delete d.screenshot;delete b[a].beforeplay}}Ext.Array.replace(this.eventQueue,(e==null)?this.queueIndex:e,1,b)},processEvents:function(){var a=this,d=a.pauseForAnimations&&a.attachTo.Ext.fx.Manager.items,b;while((b=a.peekEvent())!==null){if(d&&d.getCount()){return !0}if(b.keyframe){if(!a.processKeyFrame(b)){return !1}a.nextEvent(b)}else if(b.ts<=a.getTimeIndex()&&a.fireEvent('beforeplay',a,b)!==!1&&a.playEvent(b)){a.nextEvent(b)}else {return !0}}a.stop();return !1},processKeyFrame:function(a){var b=this;if(!a.defer){b.makeToken(a,'done');b.fireEvent('keyframe',b,a)}return a.done},injectEvent:function(a,e){var i=this,d=e.type,j=Ext.apply({},e,b[d]),k;if(d==='type'){k=i._inputSpecialKeys[a.tagName];if(k){return i.injectTypeInputEvent(a,e,k)}return i.injectTypeEvent(a,e)}if(d==='focus'&&a.focus){a.focus();return !0}if(d==='blur'&&a.blur){a.blur();return !0}if(d==='scroll'){a.scrollLeft=e.pos[0];a.scrollTop=e.pos[1];return !0}if(d==='mduclick'){return i.injectEvent(a,Ext.applyIf({type:'mousedown'},e))&&i.injectEvent(a,Ext.applyIf({type:'mouseup'},e))&&i.injectEvent(a,Ext.applyIf({type:'click'},e))}if(f[d]){return c.injectMouseEvent(a,j,i.attachTo)}if(g[d]){return c.injectKeyEvent(a,j,i.attachTo)}if(h[d]){return c.injectUIEvent(a,d,j.bubbles,j.cancelable,j.view||i.attachTo,j.detail)}return !1},injectTypeEvent:function(j,a){var k=this,e=a.text,f=[],h,d,b,g,m,i,l;if(e){delete a.text;i=e.toUpperCase();for(b=0,g=e.length;b<g;++b){h=e.charCodeAt(b);d=i.charCodeAt(b);f.push(Ext.applyIf({type:'keydown',charCode:d,keyCode:d},a),Ext.applyIf({type:'keypress',charCode:h,keyCode:h},a),Ext.applyIf({type:'keyup',charCode:d,keyCode:d},a))}}else {f.push(Ext.applyIf({type:'keydown',charCode:a.keyCode},a),Ext.applyIf({type:'keyup',charCode:a.keyCode},a))}for(b=0,g=f.length;b<g;++b){k.injectEvent(j,f[b])}return !0},injectTypeInputEvent:function(a,b,g){var e=this,h=b.text,d,f;if(g){d=e.getTextSelection(a);if(h){f=d[0];a.value=a.value.substring(0,f)+h+a.value.substring(d[1]);f+=h.length;e.setTextSelection(a,f,f)}else {if(!(g=g[b.keyCode])){if('caret' in b){e.setTextSelection(a,b.caret,b.caret)}else if(b.selection){e.setTextSelection(a,b.selection[0],b.selection[1])}return e.injectTypeEvent(a,b)}g.call(this,a,d[0],d[1]);return !0}}return !0},playEvent:function(a){var b=this,d=b.getElementFromXPath(a.target),e;if(!d){return !1}if(!b.playEventHook(a,'beforeplay')){return !1}if(!a.injected){a.injected=!0;e=b.translateEvent(a,d);b.injectEvent(d,e)}return b.playEventHook(a,'afterplay')},playEventHook:function(a,e){var d=this,g=e+'.done',f=e+'.fired',b=a[e];if(b&&!a[g]){if(!a[f]){a[f]=!0;d.makeToken(a,g);if(d.eventScope&&Ext.isString(b)){b=d.eventScope[b]}if(b){b.call(d.eventScope||d,a)}}return !1}return !0},schedule:function(){var a=this;if(!a.timer){a.timer=Ext.defer(a.timerFn,10)}},_translateAcross:['type','button','charCode','keyCode','caret','pos','text','selection'],translateEvent:function(a,h){var g=this,b={},e=a.modKeys||'',i=g._translateAcross,j=i.length,f,d;while(j--){f=i[j];if(f in a){b[f]=a[f]}}b.altKey=e.indexOf('A')>0;b.ctrlKey=e.indexOf('C')>0;b.metaKey=e.indexOf('M')>0;b.shiftKey=e.indexOf('S')>0;if(h&&'x' in a){d=Ext.fly(h).getXY();d[0]+=a.x;d[1]+=a.y}else if('x' in a){d=[a.x,a.y]}else if('px' in a){d=[a.px,a.py]}if(d){b.clientX=b.screenX=d[0];b.clientY=b.screenY=d[1]}if(a.key){b.keyCode=g.specialKeysByName[a.key]}if(a.type==='wheel'){if('onwheel' in g.attachTo.document){b.wheelX=a.dx;b.wheelY=a.dy}else {b.type='mousewheel';b.wheelDeltaX=-40*a.dx;b.wheelDeltaY=b.wheelDelta=-40*a.dy}}return b},onStart:function(){var a=this;a.queueIndex=0;a.schedule()},onStop:function(){var a=this;if(a.timer){Ext.undefer(a.timer);a.timer=null}},onTick:function(){var a=this;a.timer=null;if(a.processEvents()){a.schedule()}},statics:{ieButtonCodeMap:{0:1,1:4,2:2},injectKeyEvent:function(g,b,f){var e=b.type,d=null;if(e==='textevent'){e='keypress'}f=f||window;if(a.createEvent){try{d=a.createEvent("KeyEvents");d.initKeyEvent(e,b.bubbles,b.cancelable,f,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.keyCode,b.charCode)}catch(i){try{d=a.createEvent("Events")}catch(j){d=a.createEvent("UIEvents")}finally{d.initEvent(e,b.bubbles,b.cancelable);d.view=f;d.altKey=b.altKey;d.ctrlKey=b.ctrlKey;d.shiftKey=b.shiftKey;d.metaKey=b.metaKey;d.keyCode=b.keyCode;d.charCode=b.charCode}}g.dispatchEvent(d)}else if(a.createEventObject){d=a.createEventObject();d.bubbles=b.bubbles;d.cancelable=b.cancelable;d.view=f;d.ctrlKey=b.ctrlKey;d.altKey=b.altKey;d.shiftKey=b.shiftKey;d.metaKey=b.metaKey;d.keyCode=(b.charCode>0)?b.charCode:b.keyCode;g.fireEvent("on"+e,d)}else {return !1}return !0},injectMouseEvent:function(g,b,f){var e=b.type,d=null;f=f||window;if(a.createEvent){d=a.createEvent("MouseEvents");if(d.initMouseEvent){d.initMouseEvent(e,b.bubbles,b.cancelable,f,b.detail,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget)}else {d=a.createEvent("UIEvents");d.initEvent(e,b.bubbles,b.cancelable);d.view=f;d.detail=b.detail;d.screenX=b.screenX;d.screenY=b.screenY;d.clientX=b.clientX;d.clientY=b.clientY;d.ctrlKey=b.ctrlKey;d.altKey=b.altKey;d.metaKey=b.metaKey;d.shiftKey=b.shiftKey;d.button=b.button;d.relatedTarget=b.relatedTarget}if(b.relatedTarget&&!d.relatedTarget){if(e=="mouseout"){d.toElement=b.relatedTarget}else if(e=="mouseover"){d.fromElement=b.relatedTarget}}g.dispatchEvent(d)}else if(a.createEventObject){d=a.createEventObject();d.bubbles=b.bubbles;d.cancelable=b.cancelable;d.view=f;d.detail=b.detail;d.screenX=b.screenX;d.screenY=b.screenY;d.clientX=b.clientX;d.clientY=b.clientY;d.ctrlKey=b.ctrlKey;d.altKey=b.altKey;d.metaKey=b.metaKey;d.shiftKey=b.shiftKey;d.button=c.ieButtonCodeMap[b.button]||0;d.relatedTarget=b.relatedTarget;g.fireEvent('on'+e,d)}else {return !1}return !0},injectUIEvent:function(f,d,e){var b=null;e=e||window;if(a.createEvent){b=a.createEvent("UIEvents");b.initUIEvent(d.type,d.bubbles,d.cancelable,e,d.detail);f.dispatchEvent(b)}else if(a.createEventObject){b=a.createEventObject();b.bubbles=d.bubbles;b.cancelable=d.cancelable;b.view=e;b.detail=d.detail;f.fireEvent("on"+d.type,b)}else {return !1}return !0}}}});Ext.define('Ext.ux.event.Recorder',function(b){function apply(){var d=arguments,e=d.length,a={kind:'other'},c;for(c=0;c<e;++c){Ext.apply(a,arguments[c])}if(a.alt&&!a.event){a.event=a.alt}return a}function key(a){return apply({kind:'keyboard',modKeys:!0,key:!0},a)}function mouse(a){return apply({kind:'mouse',button:!0,modKeys:!0,xy:!0},a)}var a={keydown:key(),keypress:key(),keyup:key(),dragmove:mouse({alt:'mousemove',pageCoords:!0,whileDrag:!0}),mousemove:mouse({pageCoords:!0}),mouseover:mouse(),mouseout:mouse(),click:mouse(),wheel:mouse({wheel:!0}),mousedown:mouse({press:!0}),mouseup:mouse({release:!0}),scroll:apply({listen:!1}),focus:apply(),blur:apply()};for(var key in a){if(!a[key].event){a[key].event=key}}a.wheel.event=null;return {extend:'Ext.ux.event.Driver',eventsToRecord:a,ignoreIdRegEx:/ext-gen(?:\d+)/,inputRe:/^(input|textarea)$/i,constructor:function(c){var a=this,d=c&&c.eventsToRecord;if(d){a.eventsToRecord=Ext.apply(Ext.apply({},a.eventsToRecord),d);delete c.eventsToRecord}a.callParent(arguments);a.clear();a.modKeys=[];a.attachTo=a.attachTo||window},clear:function(){this.eventsRecorded=[]},listenToEvent:function(c){var f=this,d=f.attachTo.document.body,a=function(){return f.onEvent.apply(f,arguments)},e={};if(d.attachEvent&&d.ownerDocument.documentMode<10){c='on'+c;d.attachEvent(c,a);e.destroy=function(){if(a){d.detachEvent(c,a);a=null}}}else {d.addEventListener(c,a,!0);e.destroy=function(){if(a){d.removeEventListener(c,a,!0);a=null}}}return e},coalesce:function(c,i){var g=this,e=g.eventsRecorded,f=e.length,d=f&&e[f-1],a=(f>1)&&e[f-2],h=(f>2)&&e[f-3];if(!d){return !1}if(c.type==='mousemove'){if(d.type==='mousemove'&&c.ts-d.ts<200){c.ts=d.ts;e[f-1]=c;return !0}}else if(c.type==='click'){if(a&&d.type==='mouseup'&&a.type==='mousedown'){if(c.button==d.button&&c.button==a.button&&c.target==d.target&&c.target==a.target&&g.samePt(c,d)&&g.samePt(c,a)){e.pop();a.type='mduclick';return !0}}}else if(c.type==='keyup'){if(a&&d.type==='keypress'&&a.type==='keydown'){if(c.target===d.target&&c.target===a.target){e.pop();a.type='type';a.text=String.fromCharCode(d.charCode);delete a.charCode;delete a.keyCode;if(h&&h.type==='type'){if(h.text&&h.target===a.target){h.text+=a.text;e.pop()}}return !0}}else if(g.completeKeyStroke(d,c)){d.type='type';g.completeSpecialKeyStroke(i.target,d,c);return !0}else if(d.type==='scroll'&&g.completeKeyStroke(a,c)){a.type='type';g.completeSpecialKeyStroke(i.target,a,c);e.pop();e.pop();e.push(d,a);return !0}}return !1},completeKeyStroke:function(a,c){if(a&&a.type==='keydown'&&a.keyCode===c.keyCode){delete a.charCode;return !0}return !1},completeSpecialKeyStroke:function(c,a,e){var d=this.specialKeysByCode[e.keyCode];if(d&&this.inputRe.test(c.tagName)){delete a.keyCode;a.key=d;a.selection=this.getTextSelection(c);if(a.selection[0]===a.selection[1]){a.caret=a.selection[0];delete a.selection}return !0}return !1},getElementXPath:function(i){var h=this,f=!1,c=[],e,d,a,g;for(a=i;a;a=a.parentNode){if(a==h.attachTo.document.body){c.unshift('~');f=!0;break}if(a.id&&!h.ignoreIdRegEx.test(a.id)){c.unshift('#'+a.id);f=!0;break}for(e=1,d=a;!!(d=d.previousSibling);){if(d.tagName==a.tagName){++e}}g=a.tagName.toLowerCase();if(e<2){c.unshift(g)}else {c.unshift(g+'['+e+']')}}return f?c.join('/'):null},getRecordedEvents:function(){return this.eventsRecorded},onEvent:function(e){var c=this,d=new Ext.event.Event(e),f=c.eventsToRecord[d.type],h,i,j,a={type:d.type,ts:c.getTimestamp(),target:c.getElementXPath(d.target)},g;if(!f||!a.target){return}h=d.target.ownerDocument;h=h.defaultView||h.parentWindow;if(h!==c.attachTo){return}if(c.eventsToRecord.scroll){c.syncScroll(d.target)}if(f.xy){g=d.getXY();if(f.pageCoords||!a.target){a.px=g[0];a.py=g[1]}else {j=Ext.fly(d.getTarget()).getXY();g[0]-=j[0];g[1]-=j[1];a.x=g[0];a.y=g[1]}}if(f.button){if('buttons' in e){a.button=e.buttons}else {a.button=e.button}if(!a.button&&f.whileDrag){return}}if(f.wheel){a.type='wheel';if(f.event==='wheel'){a.dx=e.deltaX;a.dy=e.deltaY}else if(typeof e.wheelDeltaX==='number'){a.dx=-1/40*e.wheelDeltaX;a.dy=-1/40*e.wheelDeltaY}else if(e.wheelDelta){a.dy=-1/40*e.wheelDelta}else if(e.detail){a.dy=e.detail}}if(f.modKeys){c.modKeys[0]=d.altKey?'A':'';c.modKeys[1]=d.ctrlKey?'C':'';c.modKeys[2]=d.metaKey?'M':'';c.modKeys[3]=d.shiftKey?'S':'';i=c.modKeys.join('');if(i){a.modKeys=i}}if(f.key){a.charCode=d.getCharCode();a.keyCode=d.getKey()}if(c.coalesce(a,d)){c.fireEvent('coalesce',c,a)}else {c.eventsRecorded.push(a);c.fireEvent('add',c,a)}},onStart:function(){var a=this,d=a.attachTo.Ext.dd.DragDropManager,c=a.attachTo.Ext.EventObjectImpl.prototype,e=[];b.prototype.eventsToRecord.wheel.event=('onwheel' in a.attachTo.document)?'wheel':'mousewheel';a.listeners=[];Ext.Object.each(a.eventsToRecord,function(d,c){if(c&&c.listen!==!1){if(!c.event){c.event=d}if(c.alt&&c.alt!==d){if(!a.eventsToRecord[c.alt]){e.push(c)}}else {a.listeners.push(a.listenToEvent(c.event))}}});Ext.each(e,function(c){a.eventsToRecord[c.alt]=c;a.listeners.push(a.listenToEvent(c.alt))});a.ddmStopEvent=d.stopEvent;d.stopEvent=Ext.Function.createSequence(d.stopEvent,function(c){a.onEvent(c)});a.evStopEvent=c.stopEvent;c.stopEvent=Ext.Function.createSequence(c.stopEvent,function(){a.onEvent(this)})},onStop:function(){var a=this;Ext.destroy(a.listeners);a.listeners=null;a.attachTo.Ext.dd.DragDropManager.stopEvent=a.ddmStopEvent;a.attachTo.Ext.EventObjectImpl.prototype.stopEvent=a.evStopEvent},samePt:function(a,c){return a.x==c.x&&a.y==c.y},syncScroll:function(j){var c=this,k=c.getTimestamp(),g,h,d,e,f,i;for(var a=j;a;a=a.parentNode){g=a.$lastScrollLeft;h=a.$lastScrollTop;d=a.scrollLeft;e=a.scrollTop;f=!1;if(g!==d){if(d){f=!0}a.$lastScrollLeft=d}if(h!==e){if(e){f=!0}a.$lastScrollTop=e}if(f){c.eventsRecorded.push(i={type:'scroll',target:c.getElementXPath(a),ts:k,pos:[d,e]});c.fireEvent('add',c,i)}if(a.tagName==='BODY'){break}}}}});Ext.define('Ext.ux.gauge.needle.Abstract',{mixins:['Ext.mixin.Factoryable'],alias:'gauge.needle.abstract',isNeedle:!0,config:{path:null,innerRadius:25,outerRadius:'100% - 20',style:null,radius:0,gauge:null},constructor:function(a){this.initConfig(a)},applyInnerRadius:function(a){return this.getGauge().getRadiusFn(a)},applyOuterRadius:function(a){return this.getGauge().getRadiusFn(a)},updateRadius:function(){this.regeneratePath()},setTransform:function(c,d,b){var a=this.getNeedleGroup();a.setStyle('transform','translate('+c+'px,'+d+'px) '+'rotate('+b+'deg)')},applyPath:function(a){return Ext.isFunction(a)?a:null},updatePath:function(a){this.regeneratePath(a)},regeneratePath:function(b){b=b||this.getPath();var a=this,c=a.getRadius(),d=a.getInnerRadius()(c),e=a.getOuterRadius()(c),f=e>d?b(d,e):'';a.getNeedlePath().dom.setAttribute('d',f)},getNeedleGroup:function(){var b=this.getGauge(),a=this.needleGroup;if(!a){a=this.needleGroup=Ext.get(document.createElementNS(b.svgNS,'g'));b.getSvg().appendChild(a)}return a},getNeedlePath:function(){var b=this,a=b.pathElement;if(!a){a=b.pathElement=Ext.get(document.createElementNS(b.getGauge().svgNS,'path'));a.dom.setAttribute('class',Ext.baseCSSPrefix+'gauge-needle');b.getNeedleGroup().appendChild(a)}return a},updateStyle:function(b){var a=this.getNeedlePath();if(Ext.isObject(b)){a.setStyle(b)}else {a.dom.removeAttribute('style')}},destroy:function(){var a=this;a.pathElement=Ext.destroy(a.pathElement);a.needleGroup=Ext.destroy(a.needleGroup);a.setGauge(null)}});Ext.define('Ext.ux.gauge.Gauge',{alternateClassName:'Ext.ux.Gauge',extend:'Ext.Gadget',xtype:'gauge',requires:['Ext.ux.gauge.needle.Abstract','Ext.util.Region'],config:{padding:10,trackStart:135,trackLength:270,angleOffset:0,minValue:0,maxValue:100,value:50,needle:null,needleDefaults:{cached:!0,$value:{type:'diamond'}},clockwise:!0,textTpl:['<tpl>{value:number("0.00")}%</tpl>'],textAlign:'c-c',textOffset:{dx:0,dy:0},trackStyle:{outerRadius:'100%',innerRadius:'100% - 20',round:!1},valueStyle:{outerRadius:'100% - 2',innerRadius:'100% - 18',round:!1},animation:!0},baseCls:Ext.baseCSSPrefix+'gauge',template:[{reference:'bodyElement',children:[{reference:'textElement',cls:Ext.baseCSSPrefix+'gauge-text'}]}],defaultBindProperty:'value',pathAttributes:{fill:!0,fillOpacity:!0,stroke:!0,strokeOpacity:!0,strokeWidth:!0},easings:{linear:Ext.identityFn,'in':function(a){return a*a*a},out:function(a){return (--a)*a*a+1},inOut:function(a){return a<0.5?4*a*a*a:(a-1)*(2*a-2)*(2*a-2)+1}},resizeDelay:0,resizeTimerId:0,size:null,svgNS:'http://www.w3.org/2000/svg',svg:null,defs:null,trackArc:null,valueArc:null,trackGradient:null,valueGradient:null,fx:null,fxValue:0,fxAngleOffset:0,constructor:function(b){var a=this;a.fitSectorInRectCache={startAngle:null,lengthAngle:null,minX:null,maxX:null,minY:null,maxY:null};a.interpolator=a.createInterpolator();a.callParent([b]);a.el.on('resize','onElementResize',a)},doDestroy:function(){var a=this;Ext.undefer(a.resizeTimerId);a.el.un('resize','onElementResize',a);a.stopAnimation();a.setNeedle(null);a.trackGradient=Ext.destroy(a.trackGradient);a.valueGradient=Ext.destroy(a.valueGradient);a.defs=Ext.destroy(a.defs);a.svg=Ext.destroy(a.svg);a.callParent()},afterComponentLayout:function(d,c,b,a){this.callParent([d,c,b,a]);if(Ext.isIE9){this.handleResize()}},onElementResize:function(b,a){this.handleResize(a)},handleResize:function(b,d){var a=this,c=a.element;if(!(c&&(b=b||c.getSize())&&b.width&&b.height)){return}a.resizeTimerId=Ext.undefer(a.resizeTimerId);if(!d&&a.resizeDelay){a.resizeTimerId=Ext.defer(a.handleResize,a.resizeDelay,a,[b,!0]);return}a.size=b;a.resizeHandler(b)},updateMinValue:function(b){var a=this;a.interpolator.setDomain(b,a.getMaxValue());if(!a.isConfiguring){a.render()}},updateMaxValue:function(b){var a=this;a.interpolator.setDomain(a.getMinValue(),b);if(!a.isConfiguring){a.render()}},updateAngleOffset:function(c,d){var a=this,b=a.getAnimation();a.fxAngleOffset=c;if(a.isConfiguring){return}if(b.duration){a.animate(d,c,b.duration,a.easings[b.easing],function(b){a.fxAngleOffset=b;a.render()})}else {a.render()}},updateTrackStart:function(b){var a=this;if(!a.isConfiguring){a.render()}},updateTrackLength:function(b){var a=this;a.interpolator.setRange(0,b);if(!a.isConfiguring){a.render()}},applyPadding:function(a){if(typeof a==='string'){var b=parseFloat(a)/100;return function(c){return c*b}}return function(){return a}},updatePadding:function(){if(!this.isConfiguring){this.render()}},applyValue:function(c){var b=this.getMinValue(),a=this.getMaxValue();return Math.min(Math.max(c,b),a)},updateValue:function(c,d){var a=this,b=a.getAnimation();a.fxValue=c;if(a.isConfiguring){return}a.writeText();if(b.duration){a.animate(d,c,b.duration,a.easings[b.easing],function(b){a.fxValue=b;a.render()})}else {a.render()}},applyTextTpl:function(a){if(a&&!a.isTemplate){a=new Ext.XTemplate(a)}return a},applyTextOffset:function(a){a=a||{};a.dx=a.dx||0;a.dy=a.dy||0;return a},updateTextTpl:function(){this.writeText();if(!this.isConfiguring){this.centerText()}},writeText:function(g){var a=this,e=a.getValue(),b=a.getMinValue(),c=a.getMaxValue(),d=c-b,f=a.getTextTpl();f.overwrite(a.textElement,{value:e,percent:(e-b)/d*100,minValue:b,maxValue:c,delta:d})},centerText:function(e,f,d,g,i){var a=this.textElement,h=this.getTextAlign(),b,c;if(Ext.Number.isEqual(g,0,0.1)||d.isOutOfBound({x:e,y:f})){b=a.getRegion().alignTo({align:h,target:d});a.setLeft(b.left);a.setTop(b.top)}else {c=a.getBox();a.setLeft(e-c.width/2);a.setTop(f-c.height/2)}},camelCaseRe:/([a-z])([A-Z])/g,camelToHyphen:function(a){return a.replace(this.camelCaseRe,'$1-$2').toLowerCase()},applyTrackStyle:function(a){var b=this,c;a.innerRadius=b.getRadiusFn(a.innerRadius);a.outerRadius=b.getRadiusFn(a.outerRadius);if(Ext.isArray(a.fill)){c=b.getTrackGradient();b.setGradientStops(c,a.fill);a.fill='url(#'+c.dom.getAttribute('id')+')'}return a},updateTrackStyle:function(b){var c=this,d=Ext.fly(c.getTrackArc()),a;for(a in b){if(a in c.pathAttributes){d.setStyle(c.camelToHyphen(a),b[a])}else {d.setStyle(a,b[a])}}},applyValueStyle:function(a){var b=this,c;a.innerRadius=b.getRadiusFn(a.innerRadius);a.outerRadius=b.getRadiusFn(a.outerRadius);if(Ext.isArray(a.fill)){c=b.getValueGradient();b.setGradientStops(c,a.fill);a.fill='url(#'+c.dom.getAttribute('id')+')'}return a},updateValueStyle:function(b){var c=this,d=Ext.fly(c.getValueArc()),a;for(a in b){if(a in c.pathAttributes){d.setStyle(c.camelToHyphen(a),b[a])}else {d.setStyle(a,b[a])}}},getRadiusFn:function(a){var b,d,c,e=0;if(Ext.isNumber(a)){b=function(){return a}}else if(Ext.isString(a)){a=a.replace(/ /g,'');c=parseFloat(a)/100;d=a.search('%');if(d<a.length-1){e=parseFloat(a.substr(d+1))}b=function(b){return b*c+e};b.ratio=c}return b},getSvg:function(){var b=this,a=b.svg;if(!a){a=b.svg=Ext.get(document.createElementNS(b.svgNS,'svg'));b.bodyElement.append(a)}return a},getTrackArc:function(){var b=this,a=b.trackArc;if(!a){a=b.trackArc=document.createElementNS(b.svgNS,'path');b.getSvg().append(a,!0);a.setAttribute('class',Ext.baseCSSPrefix+'gauge-track')}return a},getValueArc:function(){var b=this,a=b.valueArc;b.getTrackArc();if(!a){a=b.valueArc=document.createElementNS(b.svgNS,'path');b.getSvg().append(a,!0);a.setAttribute('class',Ext.baseCSSPrefix+'gauge-value')}return a},applyNeedle:function(b,a){this.getValueArc();return Ext.Factory.gaugeNeedle.update(a,b,this,'createNeedle','needleDefaults')},createNeedle:function(a){return Ext.apply({gauge:this},a)},getDefs:function(){var b=this,a=b.defs;if(!a){a=b.defs=Ext.get(document.createElementNS(b.svgNS,'defs'));b.getSvg().appendChild(a)}return a},setGradientSize:function(a,b,d,c,e){a.setAttribute('x1',b);a.setAttribute('y1',d);a.setAttribute('x2',c);a.setAttribute('y2',e)},resizeGradients:function(b){var a=this,g=a.getTrackGradient(),h=a.getValueGradient(),c=0,e=b.height/2,d=b.width,f=b.height/2;a.setGradientSize(g.dom,c,e,d,f);a.setGradientSize(h.dom,c,e,d,f)},setGradientStops:function(c,e){var f=e.length,d,a,b;while(c.firstChild){c.removeChild(c.firstChild)}for(d=0;d<f;d++){a=e[d];b=document.createElementNS(this.svgNS,'stop');c.appendChild(b);b.setAttribute('offset',a.offset);b.setAttribute('stop-color',a.color);('opacity' in a)&&b.setAttribute('stop-opacity',a.opacity)}},getTrackGradient:function(){var b=this,a=b.trackGradient;if(!a){a=b.trackGradient=Ext.get(document.createElementNS(b.svgNS,'linearGradient'));a.dom.setAttribute('gradientUnits','userSpaceOnUse');b.getDefs().appendChild(a);Ext.get(a)}return a},getValueGradient:function(){var b=this,a=b.valueGradient;if(!a){a=b.valueGradient=Ext.get(document.createElementNS(b.svgNS,'linearGradient'));a.dom.setAttribute('gradientUnits','userSpaceOnUse');b.getDefs().appendChild(a);Ext.get(a)}return a},getArcPoint:function(c,d,b,e){var a=e/180*Math.PI;return [c+b*Math.cos(a),d+b*Math.sin(a)]},isCircle:function(a,b){return Ext.Number.isEqual(Math.abs(b-a),360,0.001)},getArcPath:function(j,k,d,e,h,c,p){var f=this,n=f.isCircle(h,c),c=c-0.01,g=f.getArcPoint(j,k,d,h),m=f.getArcPoint(j,k,d,c),l=f.getArcPoint(j,k,e,h),b=f.getArcPoint(j,k,e,c),o=c-h<=180?0:1,a=['M',g[0],g[1],'A',d,d,0,o,1,m[0],m[1]],i=(e-d)/2;if(n){a.push('M',b[0],b[1])}else {if(p){a.push('A',i,i,0,0,0,b[0],b[1])}else {a.push('L',b[0],b[1])}}a.push('A',e,e,0,o,0,l[0],l[1]);if(p&&!n){a.push('A',i,i,0,0,0,g[0],g[1])}a.push('Z');return a.join(' ')},resizeHandler:function(b){var a=this,c=a.getSvg();c.setSize(b);a.resizeGradients(b);a.render()},createInterpolator:function(f){var c=0,b=1,d=0,e=1;var a=function(h,g){var a=0;if(b){a=(h-c)/b;if(f){a=Math.max(0,a);a=Math.min(1,a)}if(g){a=1-a}}return (1-a)*d+a*e};a.setDomain=function(a,d){c=a;b=d-a;return this};a.setRange=function(a,b){d=a;e=b;return this};a.getDomain=function(){return [c,c+b]};a.getRange=function(){return [d,e]};return a},applyAnimation:function(a){if(!0===a){a={}}else if(!1===a){a={duration:0}}if(!('duration' in a)){a.duration=1000}if(!(a.easing in this.easings)){a.easing='out'}return a},updateAnimation:function(){this.stopAnimation()},animate:function(h,i,d,f,b,a){var c=this,g=Ext.now(),e=c.createInterpolator().setRange(h,i);function frame(){var l=Ext.AnimationQueue.frameStartTime,k=Math.min(l-g,d)/d,j=e(f(k));if(a){if(typeof b==='string'){a[b].call(a,j)}else {b.call(a,j)}}else {b(j)}if(k>=1){Ext.AnimationQueue.stop(frame,a);c.fx=null}}c.stopAnimation();Ext.AnimationQueue.start(frame,a);c.fx={frame:frame,scope:a}},stopAnimation:function(){var a=this;if(a.fx){Ext.AnimationQueue.stop(a.fx.frame,a.fx.scope);a.fx=null}},unitCircleExtrema:{0:[1,0],90:[0,1],180:[-1,0],270:[0,-1],360:[1,0],450:[0,1],540:[-1,0],630:[0,-1]},getUnitSectorExtrema:function(b,e){var c=this.unitCircleExtrema,d=[],a;for(a in c){if(a>b&&a<b+e){d.push(c[a])}}return d},fitSectorInRect:function(i,h,b,d,p){if(Ext.Number.isEqual(d,360,0.001)){return {cx:i/2,cy:h/2,radius:Math.min(i,h)/2,region:new Ext.util.Region(0,i,h,0)}}var g=this,m,n,o,e,j,f,k,a=g.fitSectorInRectCache,u=a.startAngle===b&&a.lengthAngle===d;if(u){e=a.minX;j=a.maxX;f=a.minY;k=a.maxY}else {m=g.getUnitSectorExtrema(b,d).concat([g.getArcPoint(0,0,1,b),g.getArcPoint(0,0,p,b),g.getArcPoint(0,0,1,b+d),g.getArcPoint(0,0,p,b+d)]);n=m.map(function(a){return a[0]});o=m.map(function(a){return a[1]});e=Math.min.apply(null,n);j=Math.max.apply(null,n);f=Math.min.apply(null,o);k=Math.max.apply(null,o);a.startAngle=b;a.lengthAngle=d;a.minX=e;a.maxX=j;a.minY=f;a.maxY=k}var s=j-e,q=k-f,v=i/s,w=h/q,c=Math.min(v,w),r=new Ext.util.Region(f*c,j*c,k*c,e*c),t=new Ext.util.Region(0,i,h,0),l=r.alignTo({align:'c-c',target:t}),x=l.left-e*c,y=l.top-f*c;return {cx:x,cy:y,radius:c,region:l}},fitSectorInPaddedRect:function(g,e,a,d,c,f){var b=this.fitSectorInRect(g-a*2,e-a*2,d,c,f);b.cx+=a;b.cy+=a;b.region.translateBy(a,a);return b},normalizeAngle:function(a){return (a%360+360)%360},render:function(){if(!this.size){return}var a=this,o=a.getTextOffset(),y=a.getTrackArc(),z=a.getValueArc(),k=a.getNeedle(),p=a.getClockwise(),B=a.fxValue,u=a.fxAngleOffset,n=a.getTrackLength(),r=a.size.width,q=a.size.height,v=a.getPadding(),A=v(Math.min(r,q)),b=a.normalizeAngle(a.getTrackStart()+u),j=b+n,h=a.interpolator(B),d=a.getTrackStyle(),i=a.getValueStyle(),e=a.fitSectorInPaddedRect(r,q,A,b,n,d.innerRadius.ratio),f=e.cx,g=e.cy,c=e.radius,l=Math.max(0,d.innerRadius(c)),m=Math.max(0,d.outerRadius(c)),s=Math.max(0,i.innerRadius(c)),t=Math.max(0,i.outerRadius(c)),w=a.getArcPath(f,g,l,m,b,j,d.round),x=a.getArcPath(f,g,s,t,p?b:j-h,p?b+h:j,i.round);a.centerText(f+o.dx,g+o.dy,e.region,l,m);y.setAttribute('d',w);z.setAttribute('d',x);if(k){k.setRadius(c);k.setTransform(f,g,-90+b+h)}a.fireEvent('render',a)}});Ext.define('Ext.ux.gauge.needle.Arrow',{extend:'Ext.ux.gauge.needle.Abstract',alias:'gauge.needle.arrow',config:{path:function(a,b){return b-a>30?"M0,"+(a+5)+" L-4,"+a+" L-4,"+(a+10)+" L-1,"+(a+15)+" L-1,"+(b-7)+" L-5,"+(b-10)+" L0,"+b+" L5,"+(b-10)+" L1,"+(b-7)+" L1,"+(a+15)+" L4,"+(a+10)+" L4,"+a+" Z":''}}});Ext.define('Ext.ux.gauge.needle.Diamond',{extend:'Ext.ux.gauge.needle.Abstract',alias:'gauge.needle.diamond',config:{path:function(a,b){return b-a>10?'M0,'+a+' L-4,'+(a+5)+' L0,'+b+' L4,'+(a+5)+' Z':''}}});Ext.define('Ext.ux.gauge.needle.Rectangle',{extend:'Ext.ux.gauge.needle.Abstract',alias:'gauge.needle.rectangle',config:{path:function(a,b){return b-a>10?"M-2,"+a+" L2,"+a+" L2,"+b+" L-2,"+b+" Z":''}}});Ext.define('Ext.ux.gauge.needle.Spike',{extend:'Ext.ux.gauge.needle.Abstract',alias:'gauge.needle.spike',config:{path:function(a,b){return b-a>10?"M0,"+(a+5)+" L-4,"+a+" L0,"+b+" L4,"+a+" Z":''}}});Ext.define('Ext.ux.gauge.needle.Wedge',{extend:'Ext.ux.gauge.needle.Abstract',alias:'gauge.needle.wedge',config:{path:function(a,b){return b-a>10?"M-4,"+a+" L0,"+b+" L4,"+a+" Z":''}}});Ext.define('Ext.ux.rating.Picker',{extend:'Ext.Gadget',xtype:'rating',focusable:!0,cachedConfig:{family:'monospace',glyphs:'☆★',minimum:1,limit:5,overStyle:null,rounding:1,scale:'125%',selectedStyle:null,tip:null,trackOver:!0,value:null,tooltipText:null,trackingValue:null},config:{animate:null},element:{cls:'u'+Ext.baseCSSPrefix+'rating-picker',reference:'element',children:[{reference:'innerEl',cls:'u'+Ext.baseCSSPrefix+'rating-picker-inner',listeners:{click:'onClick',mousemove:'onMouseMove',mouseenter:'onMouseEnter',mouseleave:'onMouseLeave'},children:[{reference:'valueEl',cls:'u'+Ext.baseCSSPrefix+'rating-picker-value'},{reference:'trackerEl',cls:'u'+Ext.baseCSSPrefix+'rating-picker-tracker'}]}]},defaultBindProperty:'value',twoWayBindable:'value',overCls:'u'+Ext.baseCSSPrefix+'rating-picker-over',trackOverCls:'u'+Ext.baseCSSPrefix+'rating-picker-track-over',applyGlyphs:function(a){if(typeof a==='string'){a=[a.charAt(0),a.charAt(1)]}else if(typeof a[0]==='number'){a=[String.fromCharCode(a[0]),String.fromCharCode(a[1])]}return a},applyOverStyle:function(a){this.trackerEl.applyStyles(a)},applySelectedStyle:function(a){this.valueEl.applyStyles(a)},applyTip:function(a){if(a&&typeof a!=='function'){if(!a.isTemplate){a=new Ext.XTemplate(a)}a=a.apply.bind(a)}return a},applyTrackingValue:function(a){return this.applyValue(a)},applyValue:function(a){if(a!==null){var b=this.getRounding(),c=this.getLimit(),d=this.getMinimum();a=Math.round(Math.round(a/b)*b*1000)/1000;a=(a<d)?d:(a>c?c:a)}return a},onClick:function(a){var b=this.valueFromEvent(a);this.setValue(b)},onMouseEnter:function(){this.element.addCls(this.overCls)},onMouseLeave:function(){this.element.removeCls(this.overCls)},onMouseMove:function(a){var b=this.valueFromEvent(a);this.setTrackingValue(b)},updateFamily:function(a){this.element.setStyle('fontFamily',"'"+a+"'")},updateGlyphs:function(){this.refreshGlyphs()},updateLimit:function(){this.refreshGlyphs()},updateScale:function(a){this.element.setStyle('fontSize',a)},updateTip:function(){this.refreshTip()},updateTooltipText:function(a){this.setTooltip(a)},updateTrackingValue:function(d){var a=this,b=a.trackerEl,c=a.valueToPercent(d);b.setStyle('width',c);a.refreshTip()},updateTrackOver:function(a){this.element.toggleCls(this.trackOverCls,a)},updateValue:function(e,g){var a=this,h=a.getAnimate(),c=a.valueEl,f=a.valueToPercent(e),b,d;if(a.isConfiguring||!h){c.setStyle('width',f)}else {c.stopAnimation();c.animate(Ext.merge({from:{width:a.valueToPercent(g)},to:{width:f}},h))}a.refreshTip();if(!a.isConfiguring){if(a.hasListeners.change){a.fireEvent('change',a,e,g)}b=a.getWidgetColumn&&a.getWidgetColumn();d=b&&a.getWidgetRecord&&a.getWidgetRecord();if(d&&b.dataIndex){d.set(b.dataIndex,e)}}},afterCachedConfig:function(){this.refresh();return this.callParent(arguments)},initConfig:function(a){this.isConfiguring=!0;this.callParent([a]);this.refresh()},setConfig:function(){var a=this;a.isReconfiguring=!0;a.callParent(arguments);a.isReconfiguring=!1;a.refresh();return a},privates:{getGlyphTextNode:function(b){var a=b.lastChild;if(!a||a.nodeType!==3){a=b.ownerDocument.createTextNode('');b.appendChild(a)}return a},getTooltipData:function(){var a=this;return {component:a,tracking:a.getTrackingValue(),trackOver:a.getTrackOver(),value:a.getValue()}},refresh:function(){var a=this;if(a.invalidGlyphs){a.refreshGlyphs(!0)}if(a.invalidTip){a.refreshTip(!0)}},refreshGlyphs:function(j){var a=this,g=!j&&(a.isConfiguring||a.isReconfiguring),i,c,h,b,d,e,f;if(!g){i=a.getGlyphTextNode(a.innerEl.dom);f=a.getGlyphTextNode(a.valueEl.dom);e=a.getGlyphTextNode(a.trackerEl.dom);c=a.getGlyphs();h=a.getLimit();for(b=d='';h--;){d+=c[0];b+=c[1]}i.nodeValue=d;f.nodeValue=b;e.nodeValue=b}a.invalidGlyphs=g},refreshTip:function(f){var a=this,c=!f&&(a.isConfiguring||a.isReconfiguring),d,e,b;if(!c){b=a.getTip();if(b){d=a.getTooltipData();e=b(d);a.setTooltipText(e)}}a.invalidTip=c},valueFromEvent:function(g){var a=this,e=a.innerEl,j=g.getX(),d=a.getRounding(),i=e.getX(),c=j-i,f=e.getWidth(),h=a.getLimit(),b;if(a.getInherited().rtl){c=f-c}b=c/f*h;b=Math.ceil(b/d)*d;return b},valueToPercent:function(a){a=(a/this.getLimit())*100;return a+'%'}}});Ext.define('Ext.ux.overrides.rating.Picker',{override:'Ext.ux.rating.Picker',updateTooltipText:function(c){var e=this.innerEl,b=Ext.tip&&Ext.tip.QuickTipManager,d=b&&b.tip,a;if(b){e.dom.setAttribute('data-qtip',c);this.trackerEl.dom.setAttribute('data-qtip',c);a=d&&d.activeTarget;a=a&&a.el;if(a&&e.contains(a)){d.update(c)}}}});Ext.define('Ext.ux.BoxReorderer',{extend:'Ext.plugin.Abstract',alias:'plugin.boxreorderer',requires:['Ext.dd.DD'],mixins:{observable:'Ext.util.Observable'},itemSelector:'.x-box-item',animate:100,constructor:function(){this.callParent(arguments);this.mixins.observable.constructor.call(this)},init:function(b){var a=this,c=b.getLayout();a.container=b;a.names=c._props[c.type].names;a.animatePolicy={};a.animatePolicy[a.names.x]=!0;a.container.on({scope:a,boxready:a.onBoxReady,beforedestroy:a.onContainerDestroy})},onContainerDestroy:function(){var a=this.dd;if(a){a.unreg();this.dd=null}},onBoxReady:function(){var a=this,d=a.container.getLayout(),c=a.names,b;b=a.dd=new Ext.dd.DD(d.innerCt,a.container.id+'-reorderer');Ext.apply(b,{animate:a.animate,reorderer:a,container:a.container,getDragCmp:a.getDragCmp,clickValidator:Ext.Function.createInterceptor(b.clickValidator,a.clickValidator,a,!1),onMouseDown:a.onMouseDown,startDrag:a.startDrag,onDrag:a.onDrag,endDrag:a.endDrag,getNewIndex:a.getNewIndex,doSwap:a.doSwap,findReorderable:a.findReorderable,names:c});b.dim=c.width;b.startAttr=c.beforeX;b.endAttr=c.afterX},getDragCmp:function(a){return this.container.getChildByElement(a.getTarget(this.itemSelector,10))},clickValidator:function(b){var a=this.getDragCmp(b);return !!(a&&a.reorderable!==!1)},onMouseDown:function(d){var a=this,e=a.container,c,f,b;a.dragCmp=a.getDragCmp(d);if(a.dragCmp){f=a.dragCmp.getEl();a.startIndex=a.curIndex=e.items.indexOf(a.dragCmp);b=f.getBox();a.lastPos=b[a.startAttr];c=e.el.getBox();if(a.dim==='width'){a.minX=c.left;a.maxX=c.right-b.width;a.minY=a.maxY=b.top;a.deltaX=d.getX()-b.left}else {a.minY=c.top;a.maxY=c.bottom-b.height;a.minX=a.maxX=b.left;a.deltaY=d.getY()-b.top}a.constrainY=a.constrainX=!0}},startDrag:function(){var a=this,b=a.dragCmp;if(b){b.setPosition=Ext.emptyFn;b.animate=!1;if(a.animate){a.container.getLayout().animatePolicy=a.reorderer.animatePolicy}a.dragElId=b.getEl().id;a.reorderer.fireEvent('StartDrag',a,a.container,b,a.curIndex);b.suspendEvents();b.disabled=!0;b.el.setStyle('zIndex',100)}else {a.dragElId=null}},findReorderable:function(a){var d=this,c=d.container.items,b;if(c.getAt(a).reorderable===!1){b=c.getAt(a);if(a>d.startIndex){while(b&&b.reorderable===!1){a++;b=c.getAt(a)}}else {while(b&&b.reorderable===!1){a--;b=c.getAt(a)}}}a=Math.min(Math.max(a,0),c.getCount()-1);if(c.getAt(a).reorderable===!1){return -1}return a},doSwap:function(b){var a=this,c=a.container.items,f=a.container,e,d,g;b=a.findReorderable(b);if(b===-1||b===a.curIndex){return}a.reorderer.fireEvent('ChangeIndex',a,f,a.dragCmp,a.startIndex,b);e=c.getAt(a.curIndex);d=c.getAt(b);c.remove(e);g=Math.min(Math.max(b,0),c.getCount()-1);c.insert(g,e);c.remove(d);c.insert(a.curIndex,d);f.updateLayout({isRoot:!0});a.curIndex=b},onDrag:function(c){var a=this,b;b=a.getNewIndex(c.getPoint());if((b!==undefined)){a.reorderer.fireEvent('Drag',a,a.container,a.dragCmp,a.startIndex,a.curIndex);a.doSwap(b)}},endDrag:function(c){if(c){c.stopEvent()}var a=this,d=a.container.getLayout(),b;if(a.dragCmp){delete a.dragElId;delete a.dragCmp.setPosition;a.dragCmp.animate=!0;a.dragCmp.lastBox[a.names.x]=a.dragCmp.getPosition(!0)[a.names.widthIndex];a.container.updateLayout({isRoot:!0});b=Ext.fx.Manager.getFxQueue(a.dragCmp.el.id)[0];if(b){b.on({afteranimate:a.reorderer.afterBoxReflow,scope:a})}else {Ext.asap(a.reorderer.afterBoxReflow,a)}if(a.animate){delete d.animatePolicy}a.reorderer.fireEvent('drop',a,a.container,a.dragCmp,a.startIndex,a.curIndex)}},afterBoxReflow:function(){var a=this;a.dragCmp.el.setStyle('zIndex','');a.dragCmp.disabled=!1;a.dragCmp.resumeEvents()},getNewIndex:function(k){var a=this,h=a.getDragEl(),c=Ext.fly(h).getBox(),d,f,e,b=0,i=a.container.items.items,j=i.length,g=a.lastPos;a.lastPos=c[a.startAttr];for(;b<j;b++){d=i[b].getEl();if(d.dom!==h&&d.is(a.reorderer.itemSelector)){f=d.getBox();e=f[a.startAttr]+(f[a.dim]>>1);if(b<a.curIndex){if((c[a.startAttr]<g)&&(c[a.startAttr]<(e-5))){return b}}else if(b>a.curIndex){if((c[a.startAttr]>g)&&(c[a.endAttr]>(e+5))){return b}}}}}});Ext.define('Ext.ux.CellDragDrop',{extend:'Ext.plugin.Abstract',alias:'plugin.celldragdrop',uses:['Ext.view.DragZone'],enforceType:!1,applyEmptyText:!1,emptyText:'',dropBackgroundColor:'green',noDropBackgroundColor:'red',dragText:'{0} selected row{1}',ddGroup:"GridDD",enableDrop:!0,enableDrag:!0,containerScroll:!1,init:function(b){var a=this;b.on('render',a.onViewRender,a,{single:!0})},destroy:function(){var a=this;a.dragZone=a.dropZone=Ext.destroy(a.dragZone,a.dropZone);a.callParent()},enable:function(){var a=this;if(a.dragZone){a.dragZone.unlock()}if(a.dropZone){a.dropZone.unlock()}a.callParent()},disable:function(){var a=this;if(a.dragZone){a.dragZone.lock()}if(a.dropZone){a.dropZone.lock()}a.callParent()},onViewRender:function(b){var a=this,c;if(a.enableDrag){if(a.containerScroll){c=b.getEl()}a.dragZone=new Ext.view.DragZone({view:b,ddGroup:a.dragGroup||a.ddGroup,dragText:a.dragText,containerScroll:a.containerScroll,scrollEl:c,getDragData:function(d){var c=this.view,g=d.getTarget(c.getItemSelector()),h=c.getRecord(g),e=d.getTarget(c.getCellSelector()),a,f;if(g){a=document.createElement('div');a.className='x-form-text';a.appendChild(document.createTextNode(e.textContent||e.innerText));f=c.getHeaderByCell(e);return {event:new Ext.EventObjectImpl(d),ddel:a,item:d.target,columnName:f.dataIndex,record:h}}},onInitDrag:function(h,i){var a=this,e=a.dragData,g=a.view,c=g.getSelectionModel(),d=e.record,f=e.ddel;if(!c.isSelected(d)){c.select(d,!0)}Ext.fly(a.ddel).update(f.textContent||f.innerText);a.proxy.update(a.ddel);a.onStartDrag(h,i);return !0}})}if(a.enableDrop){a.dropZone=new Ext.dd.DropZone(b.el,{view:b,ddGroup:a.dropGroup||a.ddGroup,containerScroll:!0,getTargetFromEvent:function(g){var f=this,c=f.view,a=g.getTarget(c.cellSelector),e,d;if(a){e=c.findItemByChild(a);d=c.getHeaderByCell(a);if(e&&d){return {node:a,record:c.getRecord(e),columnName:d.dataIndex}}}},onNodeEnter:function(c,h,i,d){var e=this,g=c.record.getField(c.columnName).type.toUpperCase(),f=d.record.getField(d.columnName).type.toUpperCase();delete e.dropOK;if(!c||c.node===d.item.parentNode){return}if(a.enforceType&&g!==f){e.dropOK=!1;if(a.noDropCls){Ext.fly(c.node).addCls(a.noDropCls)}else {Ext.fly(c.node).applyStyles({backgroundColor:a.noDropBackgroundColor})}return !1}e.dropOK=!0;if(a.dropCls){Ext.fly(c.node).addCls(a.dropCls)}else {Ext.fly(c.node).applyStyles({backgroundColor:a.dropBackgroundColor})}},onNodeOver:function(c,d,e,a){return this.dropOK?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(c,f,g,e){var d=this.dropOK?a.dropCls:a.noDropCls;if(d){Ext.fly(c.node).removeCls(d)}else {Ext.fly(c.node).applyStyles({backgroundColor:''})}},onNodeDrop:function(d,e,f,c){if(this.dropOK){d.record.set(d.columnName,c.record.get(c.columnName));if(a.applyEmptyText){c.record.set(c.columnName,a.emptyText)}return !0}},onCellDrop:Ext.emptyFn})}}});Ext.define('Ext.ux.DataTip',function(a){function onHostRender(){var b=this.isXType('panel')?this.body:this.el;if(this.dataTip.renderToTarget){this.dataTip.render(b)}this.dataTip.setTarget(b)}function updateTip(b,c){if(b.rendered){if(b.host.fireEvent('beforeshowtip',b.eventHost,b,c)===!1){return !1}b.update(c)}else {if(Ext.isString(c)){b.html=c}else {b.data=c}}}function beforeViewTipShow(b){var c=this.view.getRecord(b.triggerElement),d;if(c){d=b.initialConfig.data?Ext.apply(b.initialConfig.data,c.data):c.data;return updateTip(b,d)}else {return !1}}function beforeFormTipShow(c){var b=Ext.getCmp(c.triggerElement.id);if(b&&(b.tooltip||c.tpl)){return updateTip(c,b.tooltip||b)}else {return !1}}return {extend:'Ext.tip.ToolTip',mixins:{plugin:'Ext.plugin.Abstract'},alias:'plugin.datatip',lockableScope:'both',constructor:function(c){var b=this;b.callParent([c]);b.mixins.plugin.constructor.call(b,c)},init:function(c){var b=this;b.mixins.plugin.init.call(b,c);c.dataTip=b;b.host=c;if(c.isXType('tablepanel')){b.view=c.getView();if(c.ownerLockable){b.host=c.ownerLockable}b.delegate=b.delegate||b.view.rowSelector;b.on('beforeshow',beforeViewTipShow)}else if(c.isXType('dataview')){b.view=b.host;b.delegate=b.delegate||c.itemSelector;b.on('beforeshow',beforeViewTipShow)}else if(c.isXType('form')){b.delegate='.'+Ext.form.Labelable.prototype.formItemCls;b.on('beforeshow',beforeFormTipShow)}else if(c.isXType('combobox')){b.view=c.getPicker();b.delegate=b.delegate||b.view.getItemSelector();b.on('beforeshow',beforeViewTipShow)}if(c.rendered){onHostRender.call(c)}else {c.onRender=Ext.Function.createSequence(c.onRender,onHostRender)}}}});Ext.define('Ext.ux.DataView.Animated',{alias:'plugin.ux-animated-dataview',defaults:{duration:750,idProperty:'id'},constructor:function(a){Ext.apply(this,a||{},this.defaults)},init:function(b){var a=this,c=b.store,f=b.all,d={interval:20},e=a.duration;a.dataview=b;b.blockRefresh=!0;b.updateIndexes=Ext.Function.createSequence(b.updateIndexes,function(){this.getTargetEl().select(this.itemSelector).each(function(a,e,d){a.dom.id=Ext.util.Format.format("{0}-{1}",b.id,c.getAt(d).internalId)},this)},b);a.dataviewID=b.id;a.cachedStoreData={};a.cacheStoreData(c.data||c.snapshot);b.on('resize',function(){var a=b.store;if(a.getCount()>0){}},this);b.store.on({datachanged:reDraw,scope:this,buffer:50});function reDraw(){var m=b.getTargetEl(),t=m.getY(),s=m.getPadding('t'),w=a.getAdded(c),q=a.getRemoved(c),p=a.getRemaining(c),o,l,h,g=new Ext.dom.Fly(),x=a.dataview.getInherited().rtl,u,r,j=x?'right':'left',i={};if(!m){return}Ext.iterate(q,function(c,d){h=a.dataviewID+'-'+c;Ext.fx.Manager.stopAnimation(h);d.dom=Ext.getDom(h);if(!d.dom){delete q[c]}});a.cacheStoreData(c);var n={},k={};Ext.iterate(p,function(c,d){if(g.attach(Ext.getDom(a.dataviewID+'-'+c))){u=n[c]={top:g.getY()-t-g.getMargin('t')-s};u[j]=a.getItemX(g)}else {delete p[c]}});b.refresh();Ext.iterate(q,function(c,a){m.dom.appendChild(a.dom);g.attach(a.dom).animate({duration:e,opacity:0,callback:function(e){var d=Ext.get(e.target.id);if(d){d.destroy()}}});delete a.dom});if(!c.getCount()){return}o=f.slice();for(l=o.length-1;l>=0;l--){h=c.getAt(l).internalId;g.attach(o[l]);k[h]={dom:g.dom,top:g.getY()-t-g.getMargin('t')-s};k[h][j]=a.getItemX(g);r=n[h]||k[h];i.position='absolute';i.top=r.top+"px";i[j]=r.left+"px";g.applyStyles(i)}var v=function(){var t=new Date()-d.taskStartTime,f=t/e;if(f>=1){i.position=i.top=i[j]='';for(h in k){g.attach(k[h].dom).applyStyles(i)}Ext.TaskManager.stop(d)}else {for(h in p){var s=n[h],l=k[h],c=s.top,r=l.top,a=s[j],q=l[j],o=f*Math.abs(c-r),m=f*Math.abs(a-q),v=c>r?c-o:c+o,u=a>q?a-m:a+m;i.top=v+"px";i[j]=u+"px";g.attach(l.dom).applyStyles(i)}}};Ext.iterate(w,function(c,d){if(g.attach(Ext.getDom(a.dataviewID+'-'+c))){g.setOpacity(0);g.animate({duration:e,opacity:1})}});Ext.TaskManager.stop(d);d.run=v;Ext.TaskManager.start(d);a.cacheStoreData(c)}},getItemX:function(a){var c=this.dataview.getInherited().rtl,b=a.up('');if(c){return b.getViewRegion().right-a.getRegion().right+a.getMargin('r')}else {return a.getX()-b.getX()-a.getMargin('l')-b.getPadding('l')}},cacheStoreData:function(b){var a=this.cachedStoreData={};b.each(function(c){a[c.internalId]=c})},getExisting:function(){return this.cachedStoreData},getExistingCount:function(){var a=0,b=this.getExisting();for(var c in b){a++}return a},getAdded:function(c){var b=this.cachedStoreData,a={};c.each(function(d){if(b[d.internalId]==null){a[d.internalId]=d}});return a},getRemoved:function(d){var b=this.cachedStoreData,c={},a;for(a in b){if(d.findBy(function(b){return b.internalId==a})==-1){c[a]=b[a]}}return c},getRemaining:function(c){var b=this.cachedStoreData,a={};c.each(function(d){if(b[d.internalId]!=null){a[d.internalId]=d}});return a}});Ext.define('Ext.ux.DataView.DragSelector',{requires:['Ext.dd.DragTracker','Ext.util.Region'],alias:'plugin.dataviewdragselector',init:function(a){var b=a.getScrollable();if(b&&(b.getX()||b.getY())&&(Ext.supports.PointerEvents||Ext.supports.MSPointerEvents)){return}this.dataview=a;a.mon(a,{beforecontainerclick:this.cancelClick,scope:this,render:{fn:this.onRender,scope:this,single:!0}})},onRender:function(){this.tracker=Ext.create('Ext.dd.DragTracker',{dataview:this.dataview,el:this.dataview.el,onBeforeStart:this.onBeforeStart,onStart:this.onStart.bind(this),onDrag:this.onDrag.bind(this),onEnd:Ext.Function.createDelayed(this.onEnd,100,this)});this.dragRegion=Ext.create('Ext.util.Region')},onBeforeStart:function(a){return a.target===this.dataview.getEl().dom},onStart:function(b){var a=this.dataview;this.dragging=!0;this.fillRegions();this.getProxy().show();a.getSelectionModel().deselectAll()},cancelClick:function(){return !this.dragging},onDrag:function(p){var e=this.dataview.getSelectionModel(),b=this.dragRegion,k=this.bodyRegion,n=this.getProxy(),g=this.regions,m=g.length,d=this.tracker.startXY,c=this.tracker.getXY(),i=Math.min(d[0],c[0]),j=Math.min(d[1],c[1]),o=Math.abs(d[0]-c[0]),l=Math.abs(d[1]-c[1]),h,f,a;Ext.apply(b,{top:j,left:i,right:i+o,bottom:j+l});b.constrainTo(k);n.setBox(b);for(a=0;a<m;a++){h=g[a];f=b.intersect(h);if(f){e.select(a,!0)}else {e.deselect(a)}}},onEnd:function(c){var a=this.dataview,b=a.getSelectionModel();this.dragging=!1;this.getProxy().hide()},getProxy:function(){if(!this.proxy){this.proxy=this.dataview.getEl().createChild({tag:'div',cls:'x-view-selector'})}return this.proxy},fillRegions:function(){var a=this.dataview,b=this.regions=[];a.all.each(function(a){b.push(a.getRegion())});this.bodyRegion=a.getEl().getRegion()}});Ext.define('Ext.ux.DataView.Draggable',{requires:'Ext.dd.DragZone',ghostCls:'x-dataview-draggable-ghost',ghostTpl:['<tpl for=".">','{title}','</tpl>'],init:function(a,b){this.dataview=a;a.on('render',this.onRender,this);Ext.apply(this,{itemSelector:a.itemSelector,ghostConfig:{}},b||{});Ext.applyIf(this.ghostConfig,{itemSelector:'img',cls:this.ghostCls,tpl:this.ghostTpl})},onRender:function(){var a=this,b=Ext.apply({},a.ddConfig||{},{dvDraggable:a,dataview:a.dataview,getDragData:a.getDragData,getTreeNode:a.getTreeNode,afterRepair:a.afterRepair,getRepairXY:a.getRepairXY});a.dragZone=Ext.create('Ext.dd.DragZone',a.dataview.getEl(),b);a.dataview.setItemsDraggable(!0)},getDragData:function(g){var f=this.dvDraggable,b=this.dataview,d=b.getSelectionModel(),c=g.getTarget(f.itemSelector),e,a;if(c){g.preventDefault();if(!b.isSelected(c)){d.select(b.getRecord(c))}e=b.getSelectedNodes();a={copy:!0,nodes:e,records:d.getSelection(),item:!0};if(e.length===1){a.single=!0;a.ddel=c}else {a.multi=!0;a.ddel=f.prepareGhost(d.getSelection())}return a}return !1},getTreeNode:function(){},afterRepair:function(){this.dragging=!1;var b=this.dragData.nodes,c=b.length,a;for(a=0;a<c;a++){Ext.get(b[a]).frame('#8db2e3',1)}},getRepairXY:function(c){if(this.dragData.multi){return !1}else {var a=Ext.get(this.dragData.ddel),b=a.getXY();b[0]+=a.getPadding('t')+a.getMargin('t');b[1]+=a.getPadding('l')+a.getMargin('l');return b}},prepareGhost:function(a){return this.createGhost(a).getEl().dom},createGhost:function(c){var a=this,b;if(a.ghost){(b=a.ghost.store).loadRecords(c)}else {b=Ext.create('Ext.data.Store',{model:c[0].self});b.loadRecords(c);a.ghost=Ext.create('Ext.view.View',Ext.apply({renderTo:document.createElement('div'),store:b},a.ghostConfig));a.ghost.container.skipGarbageCollection=a.ghost.el.skipGarbageCollection=!0}b.clearData();return a.ghost},destroy:function(){var a=this.ghost;if(a){a.container.destroy();a.destroy()}this.callParent()}});Ext.define('Ext.ux.DataView.LabelEditor',{extend:'Ext.Editor',alias:'plugin.dataviewlabeleditor',alignment:'tl-tl',completeOnEnter:!0,cancelOnEsc:!0,shim:!1,autoSize:{width:'boundEl',height:'field'},labelSelector:'x-editable',requires:['Ext.form.field.Text'],constructor:function(a){a.field=a.field||Ext.create('Ext.form.field.Text',{allowOnlyWhitespace:!1,selectOnFocus:!0});this.callParent([a])},init:function(a){this.view=a;this.mon(a,'afterrender',this.bindEvents,this);this.on('complete',this.onSave,this)},bindEvents:function(){this.mon(this.view.getEl(),{click:{fn:this.onClick,scope:this}})},onClick:function(b,d){var a=this,e,c;if(Ext.fly(d).hasCls(a.labelSelector)&&!a.editing&&!b.ctrlKey&&!b.shiftKey){b.stopEvent();e=a.view.findItemByChild(d);c=a.view.store.getAt(a.view.indexOf(e));a.startEdit(d,c.data[a.dataIndex]);a.activeRecord=c}else if(a.editing){a.field.blur();b.preventDefault()}},onSave:function(b,a){this.activeRecord.set(this.dataIndex,a)}});Ext.ux.DataViewTransition=Ext.extend(Object,{defaults:{duration:750,idProperty:'id'},constructor:function(a){Ext.apply(this,a||{},this.defaults)},init:function(a){this.dataview=a;var b=this.idProperty;a.blockRefresh=!0;a.updateIndexes=Ext.Function.createSequence(a.updateIndexes,function(){this.getTargetEl().select(this.itemSelector).each(function(c,e,d){c.id=c.dom.id=Ext.util.Format.format("{0}-{1}",a.id,a.store.getAt(d).get(b))},this)},a);this.dataviewID=a.id;this.cachedStoreData={};this.cacheStoreData(a.store.snapshot);a.store.on('datachanged',function(d){var e=a.getTargetEl(),o=d.getAt(0),p=this.getAdded(d),w=this.getRemoved(d),f=this.getRemaining(d),y=Ext.apply({},f,p);Ext.each(w,function(b){Ext.fly(this.dataviewID+'-'+b.get(this.idProperty)).animate({remove:!1,duration:k,opacity:0,useDisplay:!0})},this);if(o==undefined){this.cacheStoreData(d);return}var i=Ext.get(this.dataviewID+"-"+o.get(this.idProperty));var t=d.getCount(),n=i.getMargin('lr')+i.getWidth(),r=i.getMargin('bt')+i.getHeight(),v=e.getWidth(),g=Math.floor(v/n),z=Math.ceil(t/g),x=Math.ceil(this.getExistingCount()/g);e.applyStyles({display:'block',position:'relative'});var j={},c={},h={};Ext.iterate(f,function(c,f){var c=f.get(this.idProperty),b=h[c]=Ext.get(this.dataviewID+'-'+c);j[c]={top:b.getY()-e.getY()-b.getMargin('t')-e.getPadding('t'),left:b.getX()-e.getX()-b.getMargin('l')-e.getPadding('l')}},this);Ext.iterate(f,function(c,f){var e=j[c],b=h[c];if(b.getStyle('position')!='absolute'){h[c].applyStyles({position:'absolute',left:e.left+"px",top:e.top+"px",width:b.getWidth(!Ext.isIE||Ext.isStrict),height:b.getHeight(!Ext.isIE||Ext.isStrict)})}});var l=0;Ext.iterate(d.data.items,function(i){var e=i.get(b),o=h[e];var f=l%g,k=Math.floor(l/g),m=k*r,j=f*n;c[e]={top:m,left:j};l++},this);var u=new Date(),k=this.duration,m=this.dataviewID;var s=function(){var s=new Date()-u,h=s/k;if(h>=1){for(var b in c){Ext.fly(m+'-'+b).applyStyles({top:c[b].top+"px",left:c[b].left+"px"})}Ext.TaskManager.stop(q)}else {for(var b in c){if(!f[b]){continue}var r=j[b],o=c[b],g=r.top,p=o.top,e=r.left,n=o.left,l=h*Math.abs(g-p),i=h*Math.abs(e-n),v=g>p?g-l:g+l,t=e>n?e-i:e+i;Ext.fly(m+'-'+b).applyStyles({top:v+"px",left:t+"px"})}}};var q={run:s,interval:20,scope:this};Ext.TaskManager.start(q);Ext.iterate(p,function(e,b){Ext.fly(this.dataviewID+'-'+b.get(this.idProperty)).applyStyles({top:c[b.get(this.idProperty)].top+"px",left:c[b.get(this.idProperty)].left+"px"});Ext.fly(this.dataviewID+'-'+b.get(this.idProperty)).animate({remove:!1,duration:k,opacity:1})},this);this.cacheStoreData(d)},this)},cacheStoreData:function(a){this.cachedStoreData={};a.each(function(b){this.cachedStoreData[b.get(this.idProperty)]=b},this)},getExisting:function(){return this.cachedStoreData},getExistingCount:function(){var a=0,b=this.getExisting();for(var c in b)a++;return a},getAdded:function(b){var a={};b.each(function(c){if(this.cachedStoreData[c.get(this.idProperty)]==undefined){a[c.get(this.idProperty)]=c}},this);return a},getRemoved:function(c){var a=[];for(var b in this.cachedStoreData){if(c.findExact(this.idProperty,Number(b))==-1){a.push(this.cachedStoreData[b])}}return a},getRemaining:function(b){var a={};b.each(function(c){if(this.cachedStoreData[c.get(this.idProperty)]!=undefined){a[c.get(this.idProperty)]=c}},this);return a}});Ext.define('Ext.ux.Explorer',{extend:'Ext.panel.Panel',xtype:'explorer',requires:['Ext.layout.container.Border','Ext.toolbar.Breadcrumb','Ext.tree.Panel'],config:{breadcrumb:{dock:'top',xtype:'breadcrumb',reference:'breadcrumb'},contentView:{xtype:'dataview',reference:'contentView',region:'center',cls:Ext.baseCSSPrefix+'explorer-view',itemSelector:'.'+Ext.baseCSSPrefix+'explorer-item',tpl:'<tpl for=".">'+'<div class="'+Ext.baseCSSPrefix+'explorer-item">'+'<div class="{iconCls}">'+'<div class="'+Ext.baseCSSPrefix+'explorer-node-icon'+'{[values.leaf ? " '+Ext.baseCSSPrefix+'explorer-leaf-icon'+'" : ""]}'+'">'+'</div>'+'<div class="'+Ext.baseCSSPrefix+'explorer-item-text">{text}</div>'+'</div>'+'</div>'+'</tpl>'},store:null,tree:{xtype:'treepanel',reference:'tree',region:'west',width:200}},renderConfig:{selection:null},layout:'border',referenceHolder:!0,defaultListenerScope:!0,cls:Ext.baseCSSPrefix+'explorer',initComponent:function(){var a=this,b=a.getStore();a.dockedItems=[a.getBreadcrumb()];a.items=[a.getTree(),a.getContentView()];a.callParent()},applyBreadcrumb:function(a){var b=this.getStore();a=Ext.create(Ext.apply({store:b,selection:b.getRoot()},a));a.on('selectionchange','_onBreadcrumbSelectionChange',this);return a},applyContentView:function(a){var b=this.contentStore=new Ext.data.Store({model:this.getStore().model});a=Ext.create(Ext.apply({store:b},a));return a},applyTree:function(a){a=Ext.create(Ext.apply({store:this.getStore()},a));a.on('selectionchange','_onTreeSelectionChange',this);return a},updateSelection:function(a){var i=this,g=i.getReferences(),f=g.breadcrumb,h=g.tree,d=h.getSelectionModel(),e=i.contentStore,b,c;if(f.getSelection()!==a){f.setSelection(a)}if(d.getSelection()[0]!==a){d.select([a]);b=a.parentNode;if(b){b.expand()}c=h.getView();c.scrollRowIntoView(c.getRow(a))}e.removeAll();e.add(a.hasChildNodes()?a.childNodes:[a])},updateStore:function(a){this.getBreadcrumb().setStore(a)},privates:{_onTreeSelectionChange:function(b,a){this.setSelection(a[0])},_onBreadcrumbSelectionChange:function(b,a){this.setSelection(a)}}});Ext.define('Ext.ux.FieldReplicator',{alias:'plugin.fieldreplicator',init:function(a){if(!a.replicatorId){a.replicatorId=Ext.id()}a.on('blur',this.onBlur,this)},onBlur:function(a){var b=a.ownerCt,d=a.replicatorId,f=Ext.isEmpty(a.getRawValue()),e=b.query('[replicatorId='+d+']'),c=e[e.length-1]===a,g,h;if(f&&!c){Ext.defer(a.destroy,10,a)}else if(!f&&c){if(a.onReplicate){a.onReplicate()}g=a.cloneConfig({replicatorId:d});h=b.items.indexOf(a);b.add(h+1,g)}}});Ext.define('Ext.ux.GMapPanel',{extend:'Ext.panel.Panel',alias:'widget.gmappanel',requires:['Ext.window.MessageBox'],initComponent:function(){Ext.applyIf(this,{plain:!0,gmapType:'map',border:!1});this.callParent()},onBoxReady:function(){var a=this.center;this.callParent(arguments);if(a){if(a.geoCodeAddr){this.lookupCode(a.geoCodeAddr,a.marker)}else {this.createMap(a)}}else {Ext.raise('center is required')}},createMap:function(b,c){var a=Ext.apply({},this.mapOptions);a=Ext.applyIf(a,{zoom:14,center:b,mapTypeId:google.maps.MapTypeId.HYBRID});this.gmap=new google.maps.Map(this.body.dom,a);if(c){this.addMarker(Ext.applyIf(c,{position:b}))}Ext.each(this.markers,this.addMarker,this);this.fireEvent('mapready',this,this.gmap)},addMarker:function(a){a=Ext.apply({map:this.gmap},a);if(!a.position){a.position=new google.maps.LatLng(a.lat,a.lng)}var b=new google.maps.Marker(a);Ext.Object.each(a.listeners,function(c,d){google.maps.event.addListener(b,c,d)});return b},lookupCode:function(b,a){this.geocoder=new google.maps.Geocoder();this.geocoder.geocode({address:b},Ext.Function.bind(this.onLookupComplete,this,[a],!0))},onLookupComplete:function(c,a,b){if(a!='OK'){Ext.MessageBox.alert('Error','An error occured: "'+a+'"');return}this.createMap(c[0].geometry.location,b)},afterComponentLayout:function(b,a){this.callParent(arguments);this.redraw()},redraw:function(){var a=this.gmap;if(a){google.maps.event.trigger(a,'resize')}}});Ext.define('Ext.ux.IFrame',{extend:'Ext.Component',alias:'widget.uxiframe',loadMask:'Loading...',src:'about:blank',renderTpl:['<iframe src="{src}" id="{id}-iframeEl" data-ref="iframeEl" name="{frameName}" width="100%" height="100%" frameborder="0"></iframe>'],childEls:['iframeEl'],initComponent:function(){this.callParent();this.frameName=this.frameName||this.id+'-frame'},initEvents:function(){var a=this;a.callParent();a.iframeEl.on('load',a.onLoad,a)},initRenderData:function(){return Ext.apply(this.callParent(),{src:this.src,frameName:this.frameName})},getBody:function(){var a=this.getDoc();return a.body||a.documentElement},getDoc:function(){try{return this.getWin().document}catch(a){return null}},getWin:function(){var a=this,b=a.frameName,c=Ext.isIE?a.iframeEl.dom.contentWindow:window.frames[b];return c},getFrame:function(){var a=this;return a.iframeEl.dom},onLoad:function(){var a=this,b=a.getDoc();if(b){this.el.unmask();this.fireEvent('load',this)}else if(a.src){this.el.unmask();this.fireEvent('error',this)}},load:function(c){var a=this,b=a.loadMask,d=a.getFrame();if(a.fireEvent('beforeload',a,c)!==!1){if(b&&a.el){a.el.mask(b)}d.src=a.src=(c||a.src)}}});Ext.define('Ext.ux.statusbar.StatusBar',{extend:'Ext.toolbar.Toolbar',xtype:'statusbar',alternateClassName:'Ext.ux.StatusBar',requires:['Ext.toolbar.TextItem'],cls:'x-statusbar',busyIconCls:'x-status-busy',busyText:'Loading...',autoClear:5000,emptyText:' ',activeThreadId:0,initComponent:function(){var a=this.statusAlign==='right';this.callParent(arguments);this.currIconCls=this.iconCls||this.defaultIconCls;this.statusEl=Ext.create('Ext.toolbar.TextItem',{cls:'x-status-text '+(this.currIconCls||''),text:this.text||this.defaultText||''});if(a){this.cls+=' x-status-right';this.add('->');this.add(this.statusEl)}else {this.insert(0,this.statusEl);this.insert(1,'->')}},setStatus:function(b){var c=this;b=b||{};Ext.suspendLayouts();if(Ext.isString(b)){b={text:b}}if(b.text!==undefined){c.setText(b.text)}if(b.iconCls!==undefined){c.setIcon(b.iconCls)}if(b.clear){var a=b.clear,e=c.autoClear,d={useDefaults:!0,anim:!0};if(Ext.isObject(a)){a=Ext.applyIf(a,d);if(a.wait){e=a.wait}}else if(Ext.isNumber(a)){e=a;a=d}else if(Ext.isBoolean(a)){a=d}a.threadId=this.activeThreadId;Ext.defer(c.clearStatus,e,c,[a])}Ext.resumeLayouts(!0);return c},clearStatus:function(b){b=b||{};var a=this,c=a.statusEl;if(a.destroyed||b.threadId&&b.threadId!==a.activeThreadId){return a}var e=b.useDefaults?a.defaultText:a.emptyText,d=b.useDefaults?(a.defaultIconCls?a.defaultIconCls:''):'';if(b.anim){c.el.puff({remove:!1,useDisplay:!0,callback:function(){c.el.show();a.setStatus({text:e,iconCls:d})}})}else {a.setStatus({text:e,iconCls:d})}return a},setText:function(b){var a=this;a.activeThreadId++;a.text=b||'';if(a.rendered){a.statusEl.setText(a.text)}return a},getText:function(){return this.text},setIcon:function(b){var a=this;a.activeThreadId++;b=b||'';if(a.rendered){if(a.currIconCls){a.statusEl.removeCls(a.currIconCls);a.currIconCls=null}if(b.length>0){a.statusEl.addCls(b);a.currIconCls=b}}else {a.currIconCls=b}return a},showBusy:function(a){if(Ext.isString(a)){a={text:a}}a=Ext.applyIf(a||{},{text:this.busyText,iconCls:this.busyIconCls});return this.setStatus(a)}});Ext.define('Ext.ux.LiveSearchGridPanel',{extend:'Ext.grid.Panel',requires:['Ext.toolbar.TextItem','Ext.form.field.Checkbox','Ext.form.field.Text','Ext.ux.statusbar.StatusBar'],searchValue:null,matches:[],currentIndex:null,searchRegExp:null,caseSensitive:!1,regExpMode:!1,matchCls:'x-livesearch-match',defaultStatusText:'Nothing Found',initComponent:function(){var a=this;a.tbar=['Search',{xtype:'textfield',name:'searchField',hideLabel:!0,width:200,listeners:{change:{fn:a.onTextFieldChange,scope:this,buffer:500}}},{xtype:'button',text:'<',tooltip:'Find Previous Row',handler:a.onPreviousClick,scope:a},{xtype:'button',text:'>',tooltip:'Find Next Row',handler:a.onNextClick,scope:a},'-',{xtype:'checkbox',hideLabel:!0,margin:'0 0 0 4px',handler:a.regExpToggle,scope:a},'Regular expression',{xtype:'checkbox',hideLabel:!0,margin:'0 0 0 4px',handler:a.caseSensitiveToggle,scope:a},'Case sensitive'];a.bbar=new Ext.ux.StatusBar({defaultText:a.defaultStatusText,name:'searchStatusBar'});a.callParent(arguments)},afterRender:function(){var a=this;a.callParent(arguments);a.textField=a.down('textfield[name=searchField]');a.statusBar=a.down('statusbar[name=searchStatusBar]');a.view.on('cellkeydown',a.focusTextField,a)},focusTextField:function(f,g,b,d,h,c,a,e){if(a.getKey()===a.S){a.preventDefault();this.textField.focus()}},tagsRe:/<[^>]*>/gm,tagsProtect:'\x0f',getSearchValue:function(){var b=this,a=b.textField.getValue();if(a===''){return null}if(!b.regExpMode){a=Ext.String.escapeRegex(a)}else {try{new RegExp(a)}catch(c){b.statusBar.setStatus({text:c.message,iconCls:'x-status-error'});return null}if(a==='^'||a==='$'){return null}}return a},onTextFieldChange:function(){var a=this,b=0,c=a.view,f=c.cellSelector,e=c.innerSelector,d=a.visibleColumnManager.getColumns();c.refresh();a.statusBar.setStatus({text:a.defaultStatusText,iconCls:''});a.searchValue=a.getSearchValue();a.matches=[];a.currentIndex=null;if(a.searchValue!==null){a.searchRegExp=new RegExp(a.getSearchValue(),'g'+(a.caseSensitive?'':'i'));a.store.each(function(e,g){var f=c.getNode(e);if(f){Ext.Array.forEach(d,function(i){var d=Ext.fly(f).down(i.getCellInnerSelector(),!0),h,c,j;if(d){h=d.innerHTML.match(a.tagsRe);c=d.innerHTML.replace(a.tagsRe,a.tagsProtect);c=c.replace(a.searchRegExp,function(c){++b;if(!j){a.matches.push({record:e,column:i});j=!0}return '<span class="'+a.matchCls+'">'+c+'</span>'},a);Ext.each(h,function(b){c=c.replace(a.tagsProtect,b)});d.innerHTML=c}})}},a);if(b){a.currentIndex=0;a.gotoCurrent();a.statusBar.setStatus({text:Ext.String.format('{0} match{1} found.',b,b===1?'es':''),iconCls:'x-status-valid'})}}if(a.currentIndex===null){a.getSelectionModel().deselectAll();a.textField.focus()}},onPreviousClick:function(){var a=this,d=a.matches,c=d.length,b=a.currentIndex;if(c){a.currentIndex=b===0?c-1:b-1;a.gotoCurrent()}},onNextClick:function(){var a=this,d=a.matches,c=d.length,b=a.currentIndex;if(c){a.currentIndex=b===c-1?0:b+1;a.gotoCurrent()}},caseSensitiveToggle:function(b,a){this.caseSensitive=a;this.onTextFieldChange()},regExpToggle:function(b,a){this.regExpMode=a;this.onTextFieldChange()},privates:{gotoCurrent:function(){var a=this.matches[this.currentIndex];this.getNavigationModel().setPosition(a.record,a.column);this.getSelectionModel().select(a.record)}}});Ext.define('Ext.ux.PreviewPlugin',{extend:'Ext.plugin.Abstract',alias:'plugin.preview',requires:['Ext.grid.feature.RowBody'],hideBodyCls:'x-grid-row-body-hidden',bodyField:'',previewExpanded:!0,setCmp:function(c){this.callParent(arguments);var b=this,a=b.cmp=c.isXType('gridview')?c.grid:c,g=b.bodyField,f=b.hideBodyCls,e=Ext.create('Ext.grid.feature.RowBody',{grid:a,getAdditionalData:function(e,j,i,h){var b=Ext.grid.feature.RowBody.prototype.getAdditionalData,d={rowBody:e[g],rowBodyCls:a.getView().previewExpanded?'':f};if(Ext.isFunction(b)){Ext.apply(d,b.apply(this,arguments))}return d}}),d=function(d,a){a.previewExpanded=b.previewExpanded;a.featuresMC.add(e);e.init(d)};if(a.view){d(a,a.view)}else {a.on({viewcreated:d,single:!0})}},toggleExpanded:function(e){var c=this.getCmp(),a=c&&c.getView(),b=a.bufferedRenderer,d=a.scrollManager;if(c&&a&&e!==a.previewExpanded){this.previewExpanded=a.previewExpanded=!!e;a.refreshView();if(d){if(b){b.stretchView(a,b.getScrollHeight(!0))}else {d.refresh(!0)}}}}});Ext.define('Ext.ux.ProgressBarPager',{alias:'plugin.ux-progressbarpager',requires:['Ext.ProgressBar'],width:225,defaultText:'Loading...',defaultAnimCfg:{duration:1000,easing:'bounceOut'},constructor:function(a){if(a){Ext.apply(this,a)}},init:function(a){var b;if(a.displayInfo){this.parent=a;b=a.child("#displayItem");if(b){a.remove(b,!0)}this.progressBar=Ext.create('Ext.ProgressBar',{text:this.defaultText,width:this.width,animate:this.defaultAnimCfg,style:{cursor:'pointer'},listeners:{el:{scope:this,click:this.handleProgressBarClick}}});a.displayItem=this.progressBar;a.add(a.displayItem);Ext.apply(a,this.parentOverrides)}},handleProgressBarClick:function(j){var a=this.parent,c=a.displayItem,h=this.progressBar.getBox(),i=j.getXY(),e=i[0]-h.x,b=a.store,d=a.pageSize||b.pageSize,g=Math.ceil(b.getTotalCount()/d),f=Math.max(Math.ceil(e/(c.width/g)),1);b.loadPage(f)},parentOverrides:{updateInfo:function(){if(this.displayItem){var d=this.store.getCount(),a=this.getPageData(),c=d===0?this.emptyMsg:Ext.String.format(this.displayMsg,a.fromRecord,a.toRecord,this.store.getTotalCount()),b=a.pageCount>0?(a.currentPage/a.pageCount):0;this.displayItem.updateProgress(b,c,this.animate||this.defaultAnimConfig)}}}});Ext.define('Ext.ux.RowExpander',{extend:'Ext.grid.plugin.RowExpander'});Ext.define('Ext.ux.SlidingPager',{alias:'plugin.ux-slidingpager',requires:['Ext.slider.Single','Ext.slider.Tip'],constructor:function(a){if(a){Ext.apply(this,a)}},init:function(a){var c=a.items.indexOf(a.child("#inputItem")),b;Ext.each(a.items.getRange(c-2,c+2),function(b){b.hide()});b=Ext.create('Ext.slider.Single',{width:114,minValue:1,maxValue:1,hideLabel:!0,tipText:function(b){return Ext.String.format('Page <b>{0}</b> of <b>{1}</b>',b.value,b.slider.maxValue)},listeners:{changecomplete:function(c,b){a.store.loadPage(b)}}});a.insert(c+1,b);a.on({change:function(d,c){b.setMaxValue(c.pageCount);b.setValue(c.currentPage)}})}});Ext.define('Ext.ux.Spotlight',{baseCls:'x-spotlight',animate:!0,duration:250,easing:null,active:!1,constructor:function(a){Ext.apply(this,a)},createElements:function(){var a=this,b=a.baseCls,c=Ext.getBody();a.right=c.createChild({cls:b});a.left=c.createChild({cls:b});a.top=c.createChild({cls:b});a.bottom=c.createChild({cls:b});a.all=Ext.create('Ext.CompositeElement',[a.right,a.left,a.top,a.bottom])},show:function(b,c,d){var a=this;a.el=Ext.get(b);if(!a.right){a.createElements()}if(!a.active){a.all.setDisplayed('');a.active=!0;Ext.on('resize',a.syncSize,a);a.applyBounds(a.animate,!1)}else {a.applyBounds(!1,!1)}},hide:function(b,c){var a=this;Ext.un('resize',a.syncSize,a);a.applyBounds(a.animate,!0)},syncSize:function(){this.applyBounds(!1,!1)},applyBounds:function(h,i){var b=this,a=b.el.getBox(),f=Ext.Element.getViewportWidth(),e=Ext.Element.getViewportHeight(),k=0,j=!1,c,d,g;c={right:{x:a.right,y:e,width:(f-a.right),height:0},left:{x:0,y:0,width:a.x,height:0},top:{x:f,y:0,width:0,height:a.y},bottom:{x:0,y:(a.y+a.height),width:0,height:(e-(a.y+a.height))+'px'}};d={right:{x:a.right,y:a.y,width:(f-a.right)+'px',height:(e-a.y)+'px'},left:{x:0,y:0,width:a.x+'px',height:(a.y+a.height)+'px'},top:{x:a.x,y:0,width:(f-a.x)+'px',height:a.y+'px'},bottom:{x:0,y:(a.y+a.height),width:(a.x+a.width)+'px',height:(e-(a.y+a.height))+'px'}};if(i){g=Ext.clone(c);c=d;d=g}if(h){Ext.Array.forEach(['right','left','top','bottom'],function(a){b[a].setBox(c[a]);b[a].animate({duration:b.duration,easing:b.easing,to:d[a]})},this)}else {Ext.Array.forEach(['right','left','top','bottom'],function(a){b[a].setBox(Ext.apply(c[a],d[a]));b[a].repaint()},this)}},destroy:function(){var a=this;Ext.destroy(a.right,a.left,a.top,a.bottom);delete a.el;delete a.all;a.callParent()}});Ext.define('Ext.ux.TabCloseMenu',{extend:'Ext.plugin.Abstract',alias:'plugin.tabclosemenu',mixins:{observable:'Ext.util.Observable'},closeTabText:'Close Tab',showCloseOthers:!0,closeOthersTabsText:'Close Other Tabs',showCloseAll:!0,closeAllTabsText:'Close All Tabs',extraItemsHead:null,extraItemsTail:null,constructor:function(a){this.callParent([a]);this.mixins.observable.constructor.call(this,a)},init:function(a){this.tabPanel=a;this.tabBar=a.down("tabbar");this.mon(this.tabPanel,{scope:this,afterlayout:this.onAfterLayout,single:!0})},onAfterLayout:function(){this.mon(this.tabBar.el,{scope:this,contextmenu:this.onContextMenu,delegate:'.x-tab'})},destroy:function(){Ext.destroy(this.menu);this.callParent()},onContextMenu:function(e,f){var a=this,b=a.createMenu(),d=!0,c=!0,h=a.tabBar.getChildByElement(f),g=a.tabBar.items.indexOf(h);a.item=a.tabPanel.getComponent(g);b.child('#close').setDisabled(!a.item.closable);if(a.showCloseAll||a.showCloseOthers){a.tabPanel.items.each(function(b){if(b.closable){d=!1;if(b!==a.item){c=!1;return !1}}return !0});if(a.showCloseAll){b.child('#closeAll').setDisabled(d)}if(a.showCloseOthers){b.child('#closeOthers').setDisabled(c)}}e.preventDefault();a.fireEvent('beforemenu',b,a.item,a);b.showAt(e.getXY())},createMenu:function(){var a=this;if(!a.menu){var b=[{itemId:'close',text:a.closeTabText,scope:a,handler:a.onClose}];if(a.showCloseAll||a.showCloseOthers){b.push('-')}if(a.showCloseOthers){b.push({itemId:'closeOthers',text:a.closeOthersTabsText,scope:a,handler:a.onCloseOthers})}if(a.showCloseAll){b.push({itemId:'closeAll',text:a.closeAllTabsText,scope:a,handler:a.onCloseAll})}if(a.extraItemsHead){b=a.extraItemsHead.concat(b)}if(a.extraItemsTail){b=b.concat(a.extraItemsTail)}a.menu=Ext.create('Ext.menu.Menu',{items:b,listeners:{hide:a.onHideMenu,scope:a}})}return a.menu},onHideMenu:function(){var a=this;a.fireEvent('aftermenu',a.menu,a)},onClose:function(){this.tabPanel.remove(this.item)},onCloseOthers:function(){this.doClose(!0)},onCloseAll:function(){this.doClose(!1)},doClose:function(b){var a=[];this.tabPanel.items.each(function(c){if(c.closable){if(!b||c!==this.item){a.push(c)}}},this);Ext.suspendLayouts();Ext.Array.forEach(a,function(a){this.tabPanel.remove(a)},this);Ext.resumeLayouts(!0)}});Ext.define('Ext.ux.TabReorderer',{extend:'Ext.ux.BoxReorderer',alias:'plugin.tabreorderer',itemSelector:'.'+Ext.baseCSSPrefix+'tab',init:function(a){var b=this;b.callParent([a.getTabBar()]);a.onAdd=Ext.Function.createSequence(a.onAdd,b.onAdd)},onBoxReady:function(){var b,d,c=0,a;this.callParent(arguments);for(b=this.container.items.items,d=b.length;c<d;c++){a=b[c];if(a.card){a.reorderable=a.card.reorderable}}},onAdd:function(a,b){a.tab.reorderable=a.reorderable},afterBoxReflow:function(){var a=this;Ext.ux.BoxReorderer.prototype.afterBoxReflow.apply(a,arguments);if(a.dragCmp){a.container.tabPanel.setActiveTab(a.dragCmp.card);a.container.tabPanel.move(a.dragCmp.card,a.curIndex)}}});Ext.ns('Ext.ux');Ext.define('Ext.ux.TabScrollerMenu',{alias:'plugin.tabscrollermenu',requires:['Ext.menu.Menu'],pageSize:10,maxText:15,menuPrefixText:'Items',constructor:function(a){Ext.apply(this,a)},init:function(b){var a=this;a.tabPanel=b;b.on({render:function(){a.tabBar=b.tabBar;a.layout=a.tabBar.layout;a.layout.overflowHandler.handleOverflow=a.showButton.bind(a);a.layout.overflowHandler.clearOverflow=Ext.Function.createSequence(a.layout.overflowHandler.clearOverflow,a.hideButton,a)},destroy:a.destroy,scope:a,single:!0})},showButton:function(){var a=this,c=Ext.getClass(a.layout.overflowHandler).prototype.handleOverflow.apply(a.layout.overflowHandler,arguments),b=a.menuButton;if(a.tabPanel.items.getCount()>1){if(!b){b=a.menuButton=a.tabBar.body.createChild({cls:Ext.baseCSSPrefix+'tab-tabmenu-right'},a.tabBar.body.child('.'+Ext.baseCSSPrefix+'box-scroller-right'));b.addClsOnOver(Ext.baseCSSPrefix+'tab-tabmenu-over');b.on('click',a.showTabsMenu,a)}b.setVisibilityMode(Ext.dom.Element.DISPLAY);b.show();c.reservedSpace+=b.getWidth()}else {a.hideButton()}return c},hideButton:function(){var a=this;if(a.menuButton){a.menuButton.hide()}},getPageSize:function(){return this.pageSize},setPageSize:function(a){this.pageSize=a},getMaxText:function(){return this.maxText},setMaxText:function(a){this.maxText=a},getMenuPrefixText:function(){return this.menuPrefixText},setMenuPrefixText:function(a){this.menuPrefixText=a},showTabsMenu:function(d){var a=this;if(a.tabsMenu){a.tabsMenu.removeAll()}else {a.tabsMenu=new Ext.menu.Menu()}a.generateTabMenuItems();var c=Ext.get(d.getTarget()),b=c.getXY();b[1]+=24;a.tabsMenu.showAt(b)},generateTabMenuItems:function(){var b=this,n=b.tabPanel,p=n.getActiveTab(),f=n.items.getRange(),c=b.getPageSize(),g=b.tabsMenu,e,l,m,a,h,d,k,j,i,o;g.suspendLayouts();f=Ext.Array.filter(f,function(a){if(a.id==p.id){return !1}return a.hidden?!!a.hiddenByLayout:!0});e=f.length;l=Math.floor(e/c);m=e%c;if(e>c){for(a=0;a<l;a++){h=(a+1)*c;d=[];for(k=0;k<c;k++){o=k+h-c;j=f[o];d.push(b.autoGenMenuItem(j))}g.add({text:b.getMenuPrefixText()+' '+(h-c+1)+' - '+h,menu:d})}if(m>0){i=l*c;d=[];for(a=i;a<e;a++){j=f[a];d.push(b.autoGenMenuItem(j))}b.tabsMenu.add({text:b.menuPrefixText+' '+(i+1)+' - '+(i+d.length),menu:d})}}else {for(a=0;a<e;++a){g.add(b.autoGenMenuItem(f[a]))}}g.resumeLayouts(!0)},autoGenMenuItem:function(a){var b=this.getMaxText(),c=Ext.util.Format.ellipsis(a.title,b);return {text:c,handler:this.showTabFromMenu,scope:this,disabled:a.disabled,tabToShow:a,iconCls:a.iconCls}},showTabFromMenu:function(a){this.tabPanel.setActiveTab(a.tabToShow)},destroy:function(){Ext.destroy(this.tabsMenu,this.menuButton);this.callParent()}});Ext.define('Ext.ux.ToolbarDroppable',{constructor:function(a){Ext.apply(this,a)},init:function(a){this.toolbar=a;this.toolbar.on({scope:this,render:this.createDropTarget})},createDropTarget:function(){this.dropTarget=Ext.create('Ext.dd.DropTarget',this.toolbar.getEl(),{notifyOver:this.notifyOver.bind(this),notifyDrop:this.notifyDrop.bind(this)})},addDDGroup:function(a){this.dropTarget.addToGroup(a)},calculateEntryIndex:function(k){var b=0,h=this.toolbar,f=h.items.items,j=f.length,i=k.getXY()[0],a=0,c,e,g,d;for(;a<j;a++){c=f[a].getEl();e=c.getXY()[0];g=c.getWidth();d=e+g/2;if(i<d){b=a;break}else {b=a+1}}return b},canDrop:function(a){return !0},notifyOver:function(a,b,c){return this.canDrop.apply(this,arguments)?this.dropTarget.dropAllowed:this.dropTarget.dropNotAllowed},notifyDrop:function(d,b,c){var a=this.canDrop(d,b,c),f=this.toolbar;if(a){var e=this.calculateEntryIndex(b);f.insert(e,this.createItem(c));this.afterLayout()}return a},createItem:function(a){},afterLayout:Ext.emptyFn});Ext.define('Ext.ux.TreePicker',{extend:'Ext.form.field.Picker',xtype:'treepicker',uses:['Ext.tree.Panel'],triggerCls:Ext.baseCSSPrefix+'form-arrow-trigger',config:{store:null,displayField:null,columns:null,selectOnTab:!0,maxPickerHeight:300,minPickerHeight:100},editable:!1,initComponent:function(){var a=this;a.callParent(arguments);a.mon(a.store,{scope:a,load:a.onLoad,update:a.onUpdate})},createPicker:function(){var a=this,b=new Ext.tree.Panel({baseCls:Ext.baseCSSPrefix+'boundlist',shrinkWrapDock:2,store:a.store,floating:!0,displayField:a.displayField,columns:a.columns,minHeight:a.minPickerHeight,maxHeight:a.maxPickerHeight,manageHeight:!1,shadow:!1,listeners:{scope:a,itemclick:a.onItemClick,itemkeydown:a.onPickerKeyDown}}),c=b.getView();if(Ext.isIE9&&Ext.isStrict){c.on({scope:a,highlightitem:a.repaintPickerView,unhighlightitem:a.repaintPickerView,afteritemexpand:a.repaintPickerView,afteritemcollapse:a.repaintPickerView})}return b},repaintPickerView:function(){var a=this.picker.getView().getEl().dom.style;a.display=a.display},onItemClick:function(d,a,c,b,e){this.selectItem(a)},onPickerKeyDown:function(d,c,f,e,a){var b=a.getKey();if(b===a.ENTER||(b===a.TAB&&this.selectOnTab)){this.selectItem(c)}},selectItem:function(b){var a=this;a.setValue(b.getId());a.fireEvent('select',a,b);a.collapse()},onExpand:function(){var b=this.picker,c=b.store,d=this.value,a;if(d){a=c.getNodeById(d)}if(!a){a=c.getRoot()}b.ensureVisible(a,{select:!0,focus:!0})},setValue:function(c){var a=this,b;a.value=c;if(a.store.loading){return a}b=c?a.store.getNodeById(c):a.store.getRoot();if(c===undefined){b=a.store.getRoot();a.value=b.getId()}else {b=a.store.getNodeById(c)}a.setRawValue(b?b.get(a.displayField):'');return a},getSubmitValue:function(){return this.value},getValue:function(){return this.value},onLoad:function(){var a=this.value;if(a){this.setValue(a)}},onUpdate:function(e,c,d,a){var b=this.displayField;if(d==='edit'&&a&&Ext.Array.contains(a,b)&&this.value===c.getId()){this.setRawValue(c.get(b))}}});Ext.define('Ext.ux.colorpick.Selection',{mixinId:'colorselection',config:{format:'hex6',value:'FF0000',color:null,previousColor:null,alphaDecimalFormat:'#.##'},applyColor:function(b){var a=b;if(Ext.isString(a)){a=Ext.ux.colorpick.ColorUtils.parseColor(b,this.getAlphaDecimalFormat())}return a},applyFormat:function(a){var b=Ext.ux.colorpick.ColorUtils.formats;if(!b.hasOwnProperty(a)){return}return a},applyValue:function(a){var b=Ext.ux.colorpick.ColorUtils.parseColor(a||'#000000',this.getAlphaDecimalFormat());return this.formatColor(b)},formatColor:function(a){return Ext.ux.colorpick.ColorUtils.formats[this.getFormat()](a)},updateColor:function(b){var a=this;if(!a.syncing){a.syncing=!0;a.setValue(a.formatColor(b));a.syncing=!1}},updateValue:function(b,c){var a=this;if(!a.syncing){a.syncing=!0;a.setColor(b);a.syncing=!1}this.fireEvent('change',a,b,c)}});Ext.define('Ext.ux.colorpick.ColorUtils',function(a){var b=Ext.isIE&&Ext.ieVersion<10;return {singleton:!0,constructor:function(){a=this},backgroundTpl:b?'filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, '+'startColorstr=\'#{alpha}{hex}\', endColorstr=\'#{alpha}{hex}\');':'background: {rgba};',setBackground:b?function(c,b){if(c){var f=Ext.XTemplate.getTpl(a,'backgroundTpl'),e={hex:a.rgb2hex(b.r,b.g,b.b),alpha:Math.floor(b.a*255).toString(16)},d=f.apply(e);c.applyStyles(d)}}:function(b,d){if(b){var f=Ext.XTemplate.getTpl(a,'backgroundTpl'),e={rgba:a.getRGBAString(d)},c=f.apply(e);b.applyStyles(c)}},formats:{RGB:function(b){return a.getRGBString(b).toUpperCase()},RGBA:function(b){return a.getRGBAString(b).toUpperCase()},HEX6:function(b){return a.rgb2hex(b.r,b.g,b.b)},HEX8:function(b){var c=a.rgb2hex(b.r,b.g,b.b),d=Math.round(b.a*255).toString(16);if(d.length<2){c+='0'}c+=d.toUpperCase();return c}},hexRe:/^#?(([0-9a-f]{8})|((?:[0-9a-f]{3}){1,2}))$/i,rgbaAltRe:/^rgba\(\s*([\w#\d]+)\s*,\s*([\d\.]+)\s*\)$/i,rgbaRe:/^rgba\(\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*\)$/i,rgbRe:/^rgb\(\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*\)$/i,parseColor:function(d,g){if(!d){return null}var e=this,f=e.colorMap[d],b,c,h;if(f){c={r:f[0],g:f[1],b:f[2],a:1}}else if(d==='transparent'){c={r:0,g:0,b:0,a:0}}else {b=e.hexRe.exec(d);if(b){b=b[1];switch(b.length){default:return null;case 3:c={r:parseInt(b[0]+b[0],16),g:parseInt(b[1]+b[1],16),b:parseInt(b[2]+b[2],16),a:1};break;case 6:case 8:c={r:parseInt(b.substr(0,2),16),g:parseInt(b.substr(2,2),16),b:parseInt(b.substr(4,2),16),a:parseInt(b.substr(6,2)||'ff',16)/255};break;}}else {b=e.rgbaRe.exec(d);if(b){c={r:parseFloat(b[1]),g:parseFloat(b[2]),b:parseFloat(b[3]),a:parseFloat(b[4])}}else {b=e.rgbaAltRe.exec(d);if(b){c=e.parseColor(b[1]);c.a=parseFloat(b[2]);return c}b=e.rgbRe.exec(d);if(b){c={r:parseFloat(b[1]),g:parseFloat(b[2]),b:parseFloat(b[3]),a:1}}else {return null}}}}if(g){c.a=Ext.util.Format.number(c.a,g)}h=this.rgb2hsv(c.r,c.g,c.b);return Ext.apply(c,h)},isValid:function(b){return a.parseColor(b)!==null},getRGBAString:function(b){return "rgba("+b.r+","+b.g+","+b.b+","+b.a+")"},getRGBString:function(b){return "rgb("+b.r+","+b.g+","+b.b+")"},hsv2rgb:function(e,i,h){e=e*360;if(e===360){e=0}var c=h*i;var g=e/60;var d=c*(1-Math.abs(g%2-1));var b=[0,0,0];switch(Math.floor(g)){case 0:b=[c,d,0];break;case 1:b=[d,c,0];break;case 2:b=[0,c,d];break;case 3:b=[0,d,c];break;case 4:b=[d,0,c];break;case 5:b=[c,0,d];break;default:break;}var f=h-c;b[0]+=f;b[1]+=f;b[2]+=f;b[0]=Math.round(b[0]*255);b[1]=Math.round(b[1]*255);b[2]=Math.round(b[2]*255);return {r:b[0],g:b[1],b:b[2]}},rgb2hsv:function(e,d,c){e=e/255;d=d/255;c=c/255;var g=Math.max(e,d,c);var k=Math.min(e,d,c);var f=g-k;var h=0;if(f!==0){if(g===e){h=((d-c)/f)%6}else if(g===d){h=((c-e)/f)+2}else if(g===c){h=((e-d)/f)+4}}var b=h*60;if(b===360){b=0}var j=g;var i=0;if(f!==0){i=f/j}b=b/360;if(b<0){b=b+1}return {h:b,s:i,v:j}},rgb2hex:function(d,c,b){d=d.toString(16);c=c.toString(16);b=b.toString(16);if(d.length<2){d='0'+d}if(c.length<2){c='0'+c}if(b.length<2){b='0'+b}return (d+c+b).toUpperCase()},colorMap:{aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]}}},function(c){var a=c.formats,b={};a['#HEX6']=function(b){return '#'+a.HEX6(b)};a['#HEX8']=function(b){return '#'+a.HEX8(b)};Ext.Object.each(a,function(a,d){b[a.toLowerCase()]=function(b){var e=d(b);return e.toLowerCase()}});Ext.apply(a,b)});Ext.define('Ext.ux.colorpick.ColorMapController',{extend:'Ext.app.ViewController',alias:'controller.colorpickercolormapcontroller',requires:['Ext.ux.colorpick.ColorUtils'],onFirstBoxReady:function(){var a=this,c=a.getView(),d=c.down('#dragHandle'),b=d.dd;b.constrain=!0;b.constrainTo=c.getEl();b.initialConstrainTo=b.constrainTo;b.on('drag',Ext.bind(a.onHandleDrag,a));a.mon(c.getEl(),{mousedown:a.onMouseDown,dragstart:a.onDragStart,scope:a})},onHandleDrag:function(k,l){var h=this,a=h.getView(),e=a.down('#dragHandle'),i=e.getX()-a.getX(),j=e.getY()-a.getY(),d=a.getEl(),g=d.getWidth(),f=d.getHeight(),b=i/g,c=j/f;if(b>0.99){b=1}if(c>0.99){c=1}a.fireEvent('handledrag',b,c)},onMouseDown:function(b){var c=this,d=c.getView(),a=d.down('#dragHandle');a.setY(b.getY());a.setX(b.getX());c.onHandleDrag();a.dd.onMouseDown(b,a.dd.el)},onDragStart:function(d){var c=this,b=c.getView(),a=b.down('#dragHandle');a.dd.onDragStart(d,a.dd.el)},onMapClick:function(h){var f=this,a=f.getView(),g=a.down('#dragHandle'),c=a.getXY(),d=h.getXY(),b,e;b=d[0]-c[0];e=d[1]-c[1];g.getEl().setStyle({left:b+'px',top:e+'px'});f.onHandleDrag()},onColorBindingChanged:function(n){var i=this,m=i.getViewModel(),a=m.get('selectedColor'),b,d=i.getView(),l=d.down('#dragHandle'),c=d.getEl(),k=c.getWidth(),j=c.getHeight(),e,f,g,h;b=Ext.ux.colorpick.ColorUtils.rgb2hsv(a.r,a.g,a.b);e=b.s;g=k*e;f=1-b.v;h=j*f;l.getEl().setStyle({left:g+'px',top:h+'px'})},onHueBindingChanged:function(d){var c=this,e=c.getViewModel(),a,b;a=Ext.ux.colorpick.ColorUtils.hsv2rgb(d,1,1);b=Ext.ux.colorpick.ColorUtils.rgb2hex(a.r,a.g,a.b);c.getView().getEl().applyStyles({'background-color':'#'+b})}});Ext.define('Ext.ux.colorpick.ColorMap',{extend:'Ext.container.Container',alias:'widget.colorpickercolormap',controller:'colorpickercolormapcontroller',requires:['Ext.ux.colorpick.ColorMapController'],cls:Ext.baseCSSPrefix+'colorpicker-colormap',items:[{xtype:'component',cls:Ext.baseCSSPrefix+'colorpicker-colormap-draghandle-container',itemId:'dragHandle',width:1,height:1,draggable:!0,html:'<div class="'+Ext.baseCSSPrefix+'colorpicker-colormap-draghandle"></div>'}],listeners:{boxready:{single:!0,fn:'onFirstBoxReady',scope:'controller'},colorbindingchanged:{fn:'onColorBindingChanged',scope:'controller'},huebindingchanged:{fn:'onHueBindingChanged',scope:'controller'}},afterRender:function(){var c=this,a=c.mapGradientUrl,b=c.el;c.callParent();if(!a){a=b.getStyle('background-image');a=a.substring(4,a.length-1);if(a.indexOf('"')===0){a=a.substring(1,a.length-1)}Ext.ux.colorpick.ColorMap.prototype.mapGradientUrl=a}b.setStyle('background-image','none');b=c.layout.getElementTarget();b.createChild({tag:'img',cls:Ext.baseCSSPrefix+'colorpicker-colormap-blender',src:a})},setPosition:function(c){var b=this,a=b.down('#dragHandle');if(!a.dd||!a.dd.constrain){return}if(typeof a.dd.dragEnded!=='undefined'&&!a.dd.dragEnded){return}b.fireEvent('colorbindingchanged',c)},setHue:function(b){var a=this;if(!a.getEl()){return}a.fireEvent('huebindingchanged',b)}});Ext.define('Ext.ux.colorpick.SelectorModel',{extend:'Ext.app.ViewModel',alias:'viewmodel.colorpick-selectormodel',requires:['Ext.ux.colorpick.ColorUtils'],data:{selectedColor:{r:255,g:255,b:255,h:0,s:1,v:1,a:1},previousColor:{r:0,g:0,b:0,h:0,s:1,v:1,a:1}},formulas:{hex:{get:function(a){var e=a('selectedColor.r').toString(16),d=a('selectedColor.g').toString(16),c=a('selectedColor.b').toString(16),b;b=Ext.ux.colorpick.ColorUtils.rgb2hex(e,d,c);return '#'+b},set:function(a){var b=Ext.ux.colorpick.ColorUtils.parseColor(a);this.changeRGB(b)}},red:{get:function(a){return a('selectedColor.r')},set:function(a){this.changeRGB({r:a})}},green:{get:function(a){return a('selectedColor.g')},set:function(a){this.changeRGB({g:a})}},blue:{get:function(a){return a('selectedColor.b')},set:function(a){this.changeRGB({b:a})}},hue:{get:function(a){return a('selectedColor.h')*360},set:function(a){this.changeHSV({h:a/360})}},saturation:{get:function(a){return a('selectedColor.s')*100},set:function(a){this.changeHSV({s:a/100})}},value:{get:function(a){var b=a('selectedColor.v');return b*100},set:function(a){this.changeHSV({v:a/100})}},alpha:{get:function(a){var b=a('selectedColor.a');return b*100},set:function(a){this.set('selectedColor',Ext.applyIf({a:a/100},this.data.selectedColor))}}},changeHSV:function(a){Ext.applyIf(a,this.data.selectedColor);var b=Ext.ux.colorpick.ColorUtils.hsv2rgb(a.h,a.s,a.v);a.r=b.r;a.g=b.g;a.b=b.b;this.set('selectedColor',a)},changeRGB:function(a){Ext.applyIf(a,this.data.selectedColor);var b=Ext.ux.colorpick.ColorUtils.rgb2hsv(a.r,a.g,a.b);a.h=b.h;a.s=b.s;a.v=b.v;this.set('selectedColor',a)}});Ext.define('Ext.ux.colorpick.SelectorController',{extend:'Ext.app.ViewController',alias:'controller.colorpick-selectorcontroller',requires:['Ext.ux.colorpick.ColorUtils'],destroy:function(){var c=this,b=c.getView(),a=b.childViewModel;if(a){a.destroy();b.childViewModel=null}c.callParent()},changeHSV:function(a){var b=this.getView(),d=b.getColor(),c;Ext.applyIf(a,d);c=Ext.ux.colorpick.ColorUtils.hsv2rgb(a.h,a.s,a.v);Ext.apply(a,c);b.setColor(a)},onColorMapHandleDrag:function(a,b){this.changeHSV({s:a,v:1-b})},onValueSliderHandleDrag:function(a){this.changeHSV({v:1-a})},onSaturationSliderHandleDrag:function(a){this.changeHSV({s:1-a})},onHueSliderHandleDrag:function(a){this.changeHSV({h:1-a})},onAlphaSliderHandleDrag:function(c){var a=this.getView(),d=a.getColor(),b=Ext.applyIf({a:1-c},d);a.setColor(b);a.el.repaint()},onPreviousColorSelected:function(c,a){var b=this.getView();b.setColor(a)},onOK:function(){var b=this,a=b.getView();a.fireEvent('ok',a,a.getValue())},onCancel:function(){this.fireViewEvent('cancel',this.getView())},onResize:function(){var c=this,h=c.getView(),b=h.childViewModel,a=c.getReferences(),e,f,g,d;if(!c.hasResizedOnce){c.hasResizedOnce=!0;return}e=b.get('hue');f=b.get('saturation');g=b.get('value');d=b.get('alpha');a.colorMap.setPosition(b.getData());a.hueSlider.setHue(e);a.satSlider.setSaturation(f);a.valueSlider.setValue(g);a.alphaSlider.setAlpha(d)}});Ext.define('Ext.ux.colorpick.ColorPreview',{extend:'Ext.Component',alias:'widget.colorpickercolorpreview',requires:['Ext.util.Format','Ext.XTemplate'],style:'position: relative',html:'<div class="'+Ext.baseCSSPrefix+'colorpreview-filter" style="height:100%; width:100%; position: absolute;"></div>'+'<a class="btn" style="height:100%; width:100%; position: absolute;"></a>',cls:Ext.baseCSSPrefix+'colorpreview',height:256,onRender:function(){var a=this;a.callParent(arguments);a.mon(a.el.down('.btn'),'click',a.onClick,a)},onClick:function(){this.fireEvent('click',this,this.color)},setColor:function(b){var a=this,c=a.getEl();if(!c){return}a.color=b;a.applyBgStyle(b)},bgStyleTpl:Ext.create('Ext.XTemplate',Ext.isIE&&Ext.ieVersion<10?'filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=\'#{hexAlpha}{hex}\', endColorstr=\'#{hexAlpha}{hex}\');':'background: {rgba};'),applyBgStyle:function(a){var i=this,b=Ext.ux.colorpick.ColorUtils,g='.'+Ext.baseCSSPrefix+'colorpreview-filter',h=i.getEl().down(g),f,d,e,c;f=b.rgb2hex(a.r,a.g,a.b);d=Ext.util.Format.hex(Math.floor(a.a*255),2);e=b.getRGBAString(a);c=this.bgStyleTpl.apply({hex:f,hexAlpha:d,rgba:e});h.applyStyles(c)}});Ext.define('Ext.ux.colorpick.SliderController',{extend:'Ext.app.ViewController',alias:'controller.colorpick-slidercontroller',boxReady:function(e){var b=this,d=b.getDragContainer(),c=b.getDragHandle(),a=c.dd;a.constrain=!0;a.constrainTo=d.getEl();a.initialConstrainTo=a.constrainTo;a.on('drag',b.onHandleDrag,b)},getDragHandle:function(){return this.view.lookupReference('dragHandle')},getDragContainer:function(){return this.view.lookupReference('dragHandleContainer')},onHandleDrag:function(i){var b=this,g=b.getView(),c=b.getDragContainer(),f=b.getDragHandle(),h=f.getY()-c.getY(),e=c.getEl(),d=e.getHeight(),a=h/d;if(a>0.99){a=1}g.fireEvent('handledrag',a)},onMouseDown:function(c){var b=this,a=b.getDragHandle(),d=c.getY();a.setY(d);b.onHandleDrag();a.el.repaint();a.dd.onMouseDown(c,a.dd.el)},onDragStart:function(c){var b=this,a=b.getDragHandle();a.dd.onDragStart(c,a.dd.el)},onMouseUp:function(){var a=this.getDragHandle();a.dd.dragEnded=!0}});Ext.define('Ext.ux.colorpick.Slider',{extend:'Ext.container.Container',xtype:'colorpickerslider',controller:'colorpick-slidercontroller',afterRender:function(){this.callParent(arguments);var c=this.width,a=this.lookupReference('dragHandleContainer'),b=a.getWidth();a.el.setStyle('left',((c-b)/2)+'px')},baseCls:Ext.baseCSSPrefix+'colorpicker-slider',requires:['Ext.ux.colorpick.SliderController'],referenceHolder:!0,listeners:{element:'el',mousedown:'onMouseDown',mouseup:'onMouseUp',dragstart:'onDragStart'},items:{xtype:'container',cls:Ext.baseCSSPrefix+'colorpicker-draghandle-container',reference:'dragHandleContainer',height:'100%',items:{xtype:'component',cls:Ext.baseCSSPrefix+'colorpicker-draghandle-outer',reference:'dragHandle',width:'100%',height:1,draggable:!0,html:'<div class="'+Ext.baseCSSPrefix+'colorpicker-draghandle"></div>'}},getDragHandle:function(){return this.lookupReference('dragHandle')},getDragContainer:function(){return this.lookupReference('dragHandleContainer')}});Ext.define('Ext.ux.colorpick.SliderAlpha',{extend:'Ext.ux.colorpick.Slider',alias:'widget.colorpickerslideralpha',cls:Ext.baseCSSPrefix+'colorpicker-alpha',requires:['Ext.XTemplate'],gradientStyleTpl:Ext.create('Ext.XTemplate',Ext.isIE&&Ext.ieVersion<10?'filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=\'#FF{hex}\', endColorstr=\'#00{hex}\');':'background: -moz-linear-gradient(top, rgba({r}, {g}, {b}, 1) 0%, rgba({r}, {g}, {b}, 0) 100%);'+'background: -webkit-linear-gradient(top,rgba({r}, {g}, {b}, 1) 0%, rgba({r}, {g}, {b}, 0) 100%);'+'background: -o-linear-gradient(top, rgba({r}, {g}, {b}, 1) 0%, rgba({r}, {g}, {b}, 0) 100%);'+'background: -ms-linear-gradient(top, rgba({r}, {g}, {b}, 1) 0%, rgba({r}, {g}, {b}, 0) 100%);'+'background: linear-gradient(to bottom, rgba({r}, {g}, {b}, 1) 0%, rgba({r}, {g}, {b}, 0) 100%);'),setAlpha:function(h){var d=this,g=d.getDragContainer(),a=d.getDragHandle(),f=g.getEl(),e=f.getHeight(),c,b;if(!a.dd||!a.dd.constrain){return}if(typeof a.dd.dragEnded!=='undefined'&&!a.dd.dragEnded){return}b=e*(1-(h/100));c=a.getEl();c.setStyle({top:b+'px'})},setColor:function(a){var b=this,e=b.getDragContainer(),c,d;if(!b.getEl()){return}c=Ext.ux.colorpick.ColorUtils.rgb2hex(a.r,a.g,a.b);d=e.getEl().first();d.applyStyles(b.gradientStyleTpl.apply({hex:c,r:a.r,g:a.g,b:a.b}))}});Ext.define('Ext.ux.colorpick.SliderSaturation',{extend:'Ext.ux.colorpick.Slider',alias:'widget.colorpickerslidersaturation',cls:Ext.baseCSSPrefix+'colorpicker-saturation',gradientStyleTpl:Ext.create('Ext.XTemplate',Ext.isIE&&Ext.ieVersion<10?'filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=\'#{hex}\', endColorstr=\'#ffffff\');':'background: -mox-linear-gradient(top, #{hex} 0%, #ffffff 100%);'+'background: -webkit-linear-gradient(top, #{hex} 0%,#ffffff 100%);'+'background: -o-linear-gradient(top, #{hex} 0%,#ffffff 100%);'+'background: -ms-linear-gradient(top, #{hex} 0%,#ffffff 100%);'+'background: linear-gradient(to bottom, #{hex} 0%,#ffffff 100%);'),setSaturation:function(g){var d=this,h=d.getDragContainer(),a=d.getDragHandle(),f=h.getEl(),e=f.getHeight(),b,c;if(!a.dd||!a.dd.constrain){return}if(typeof a.dd.dragEnded!=='undefined'&&!a.dd.dragEnded){return}b=1-(g/100);c=e*b;a.getEl().setStyle({top:c+'px'})},setHue:function(e){var b=this,d=b.getDragContainer(),a,c;if(!b.getEl()){return}a=Ext.ux.colorpick.ColorUtils.hsv2rgb(e,1,1);c=Ext.ux.colorpick.ColorUtils.rgb2hex(a.r,a.g,a.b);d.getEl().applyStyles(b.gradientStyleTpl.apply({hex:c}))}});Ext.define('Ext.ux.colorpick.SliderValue',{extend:'Ext.ux.colorpick.Slider',alias:'widget.colorpickerslidervalue',cls:Ext.baseCSSPrefix+'colorpicker-value',requires:['Ext.XTemplate'],gradientStyleTpl:Ext.create('Ext.XTemplate',Ext.isIE&&Ext.ieVersion<10?'filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=\'#{hex}\', endColorstr=\'#000000\');':'background: -mox-linear-gradient(top, #{hex} 0%, #000000 100%);'+'background: -webkit-linear-gradient(top, #{hex} 0%,#000000 100%);'+'background: -o-linear-gradient(top, #{hex} 0%,#000000 100%);'+'background: -ms-linear-gradient(top, #{hex} 0%,#000000 100%);'+'background: linear-gradient(to bottom, #{hex} 0%,#000000 100%);'),setValue:function(h){var d=this,g=d.getDragContainer(),a=d.getDragHandle(),f=g.getEl(),e=f.getHeight(),b,c;if(!a.dd||!a.dd.constrain){return}if(typeof a.dd.dragEnded!=='undefined'&&!a.dd.dragEnded){return}b=1-(h/100);c=e*b;a.getEl().setStyle({top:c+'px'})},setHue:function(e){var b=this,d=b.getDragContainer(),a,c;if(!b.getEl()){return}a=Ext.ux.colorpick.ColorUtils.hsv2rgb(e,1,1);c=Ext.ux.colorpick.ColorUtils.rgb2hex(a.r,a.g,a.b);d.getEl().applyStyles(b.gradientStyleTpl.apply({hex:c}))}});Ext.define('Ext.ux.colorpick.SliderHue',{extend:'Ext.ux.colorpick.Slider',alias:'widget.colorpickersliderhue',cls:Ext.baseCSSPrefix+'colorpicker-hue',afterRender:function(){var c=this,a=c.gradientUrl,b=c.el;c.callParent();if(!a){a=b.getStyle('background-image');a=a.substring(4,a.length-1);if(a.indexOf('"')===0){a=a.substring(1,a.length-1)}Ext.ux.colorpick.SliderHue.prototype.gradientUrl=a}b.setStyle('background-image','none');b=c.getDragContainer().layout.getElementTarget();b.createChild({tag:'img',cls:Ext.baseCSSPrefix+'colorpicker-hue-gradient',src:a})},setHue:function(h){var d=this,g=d.getDragContainer(),a=d.getDragHandle(),f=g.getEl(),e=f.getHeight(),c,b;if(!a.dd||!a.dd.constrain){return}if(typeof a.dd.dragEnded!=='undefined'&&!a.dd.dragEnded){return}b=e*(1-h);c=a.getEl();c.setStyle({top:b+'px'})}});Ext.define('Ext.ux.colorpick.Selector',{extend:'Ext.container.Container',xtype:'colorselector',mixins:['Ext.ux.colorpick.Selection'],controller:'colorpick-selectorcontroller',requires:['Ext.layout.container.HBox','Ext.form.field.Text','Ext.form.field.Number','Ext.ux.colorpick.ColorMap','Ext.ux.colorpick.SelectorModel','Ext.ux.colorpick.SelectorController','Ext.ux.colorpick.ColorPreview','Ext.ux.colorpick.Slider','Ext.ux.colorpick.SliderAlpha','Ext.ux.colorpick.SliderSaturation','Ext.ux.colorpick.SliderValue','Ext.ux.colorpick.SliderHue'],config:{hexReadOnly:!0},width:580,height:337,cls:Ext.baseCSSPrefix+'colorpicker',padding:10,layout:{type:'hbox',align:'stretch'},defaultBindProperty:'value',twoWayBindable:['value'],fieldWidth:50,fieldPad:5,showPreviousColor:!1,showOkCancelButtons:!1,listeners:{resize:'onResize'},constructor:function(c){var a=this,b=Ext.Factory.viewModel('colorpick-selectormodel');a.childViewModel=b;a.items=[a.getMapAndHexRGBFields(b),a.getSliderAndHField(b),a.getSliderAndSField(b),a.getSliderAndVField(b),a.getSliderAndAField(b),a.getPreviewAndButtons(b,c)];a.childViewModel.bind('{selectedColor}',function(b){a.setColor(b)});a.callParent([c])},updateColor:function(b){var a=this;a.mixins.colorselection.updateColor.call(a,b);a.childViewModel.set('selectedColor',b)},updatePreviousColor:function(a){this.childViewModel.set('previousColor',a)},getMapAndHexRGBFields:function(d){var c=this,a={top:0,right:c.fieldPad,bottom:0,left:0},b=c.fieldWidth;return {xtype:'container',viewModel:d,cls:Ext.baseCSSPrefix+'colorpicker-escape-overflow',flex:1,layout:{type:'vbox',align:'stretch'},margin:'0 10 0 0',items:[{xtype:'colorpickercolormap',reference:'colorMap',flex:1,bind:{position:{bindTo:'{selectedColor}',deep:!0},hue:'{selectedColor.h}'},listeners:{handledrag:'onColorMapHandleDrag'}},{xtype:'container',layout:'hbox',defaults:{labelAlign:'top',labelSeparator:'',allowBlank:!1,onChange:function(){if(this.isValid()){Ext.form.field.Base.prototype.onChange.apply(this,arguments)}}},items:[{xtype:'textfield',fieldLabel:'HEX',flex:1,bind:'{hex}',margin:a,regex:/^#[0-9a-f]{6}$/i,readonly:c.getHexReadOnly()},{xtype:'numberfield',fieldLabel:'R',bind:'{red}',width:b,hideTrigger:!0,maxValue:255,minValue:0,margin:a},{xtype:'numberfield',fieldLabel:'G',bind:'{green}',width:b,hideTrigger:!0,maxValue:255,minValue:0,margin:a},{xtype:'numberfield',fieldLabel:'B',bind:'{blue}',width:b,hideTrigger:!0,maxValue:255,minValue:0,margin:0}]}]}},getSliderAndHField:function(b){var c=this,a=c.fieldWidth;return {xtype:'container',viewModel:b,cls:Ext.baseCSSPrefix+'colorpicker-escape-overflow',width:a,layout:{type:'vbox',align:'stretch'},items:[{xtype:'colorpickersliderhue',reference:'hueSlider',flex:1,bind:{hue:'{selectedColor.h}'},width:a,listeners:{handledrag:'onHueSliderHandleDrag'}},{xtype:'numberfield',fieldLabel:'H',labelAlign:'top',labelSeparator:'',bind:'{hue}',hideTrigger:!0,maxValue:360,minValue:0,allowBlank:!1,margin:0}]}},getSliderAndSField:function(c){var a=this,b=a.fieldWidth;return {xtype:'container',viewModel:c,cls:Ext.baseCSSPrefix+'colorpicker-escape-overflow',width:b,layout:{type:'vbox',align:'stretch'},margin:{right:a.fieldPad,left:a.fieldPad},items:[{xtype:'colorpickerslidersaturation',reference:'satSlider',flex:1,bind:{saturation:'{saturation}',hue:'{selectedColor.h}'},width:b,listeners:{handledrag:'onSaturationSliderHandleDrag'}},{xtype:'numberfield',fieldLabel:'S',labelAlign:'top',labelSeparator:'',bind:'{saturation}',hideTrigger:!0,maxValue:100,minValue:0,allowBlank:!1,margin:0}]}},getSliderAndVField:function(b){var c=this,a=c.fieldWidth;return {xtype:'container',viewModel:b,cls:Ext.baseCSSPrefix+'colorpicker-escape-overflow',width:a,layout:{type:'vbox',align:'stretch'},items:[{xtype:'colorpickerslidervalue',reference:'valueSlider',flex:1,bind:{value:'{value}',hue:'{selectedColor.h}'},width:a,listeners:{handledrag:'onValueSliderHandleDrag'}},{xtype:'numberfield',fieldLabel:'V',labelAlign:'top',labelSeparator:'',bind:'{value}',hideTrigger:!0,maxValue:100,minValue:0,allowBlank:!1,margin:0}]}},getSliderAndAField:function(c){var b=this,a=b.fieldWidth;return {xtype:'container',viewModel:c,cls:Ext.baseCSSPrefix+'colorpicker-escape-overflow',width:a,layout:{type:'vbox',align:'stretch'},margin:{left:b.fieldPad},items:[{xtype:'colorpickerslideralpha',reference:'alphaSlider',flex:1,bind:{alpha:'{alpha}',color:{bindTo:'{selectedColor}',deep:!0}},width:a,listeners:{handledrag:'onAlphaSliderHandleDrag'}},{xtype:'numberfield',fieldLabel:'A',labelAlign:'top',labelSeparator:'',bind:'{alpha}',hideTrigger:!0,maxValue:100,minValue:0,allowBlank:!1,margin:0}]}},getPreviewAndButtons:function(c,b){var a=[{xtype:'colorpickercolorpreview',flex:1,bind:{color:{bindTo:'{selectedColor}',deep:!0}}}];if(b.showPreviousColor){a.push({xtype:'colorpickercolorpreview',flex:1,bind:{color:{bindTo:'{previousColor}',deep:!0}},listeners:{click:'onPreviousColorSelected'}})}if(b.showOkCancelButtons){a.push({xtype:'button',text:'OK',margin:'10 0 0 0',padding:'10 0 10 0',handler:'onOK'},{xtype:'button',text:'Cancel',margin:'10 0 0 0',padding:'10 0 10 0',handler:'onCancel'})}return {xtype:'container',viewModel:c,width:70,margin:'0 0 0 10',items:a,layout:{type:'vbox',align:'stretch'}}}});Ext.define('Ext.ux.colorpick.ButtonController',{extend:'Ext.app.ViewController',alias:'controller.colorpick-buttoncontroller',requires:['Ext.window.Window','Ext.layout.container.Fit','Ext.ux.colorpick.Selector','Ext.ux.colorpick.ColorUtils'],afterRender:function(a){a.updateColor(a.getColor())},destroy:function(){var a=this.getView(),b=a.colorPickerWindow;if(b){b.destroy();a.colorPickerWindow=a.colorPicker=null}this.callParent()},getPopup:function(){var b=this.getView(),a=b.colorPickerWindow,c;if(!a){a=Ext.create(b.getPopup());b.colorPickerWindow=a;a.colorPicker=b.colorPicker=c=a.lookupReference('selector');c.setFormat(b.getFormat());c.on({ok:'onColorPickerOK',cancel:'onColorPickerCancel',scope:this});a.on({close:'onColorPickerCancel',scope:this})}return a},onClick:function(){var e=this,d=e.getView(),b=d.getColor(),c=e.getPopup(),a=c.colorPicker;a.setColor(b);a.setPreviousColor(b);c.showBy(d,'tl-br?')},onColorPickerOK:function(b){var a=this.getView(),c=b.getColor(),d=a.colorPickerWindow;d.hide();a.setColor(c)},onColorPickerCancel:function(){var b=this.getView(),a=b.colorPickerWindow;a.hide()},syncColor:function(a){var b=this.getView();Ext.ux.colorpick.ColorUtils.setBackground(b.filterEl,a)}});Ext.define('Ext.ux.colorpick.Button',{extend:'Ext.Component',xtype:'colorbutton',controller:'colorpick-buttoncontroller',mixins:['Ext.ux.colorpick.Selection'],requires:['Ext.ux.colorpick.ButtonController'],baseCls:Ext.baseCSSPrefix+'colorpicker-button',width:20,height:20,childEls:['btnEl','filterEl'],config:{popup:{lazy:!0,$value:{xtype:'window',closeAction:'hide',referenceHolder:!0,minWidth:540,minHeight:200,layout:'fit',header:!1,resizable:!0,items:{xtype:'colorselector',reference:'selector',showPreviousColor:!0,showOkCancelButtons:!0}}}},defaultBindProperty:'value',twoWayBindable:'value',renderTpl:'<div id="{id}-filterEl" data-ref="filterEl" style="height:100%; width:100%; position: absolute;"></div>'+'<a id="{id}-btnEl" data-ref="btnEl" style="height:100%; width:100%; position: absolute;"></a>',listeners:{click:'onClick',element:'btnEl'},updateColor:function(b){var a=this,c=a.colorPicker;a.mixins.colorselection.updateColor.call(a,b);Ext.ux.colorpick.ColorUtils.setBackground(a.filterEl,b);if(c){c.setColor(b)}},updateFormat:function(b){var a=this.colorPicker;if(a){a.setFormat(b)}}});Ext.define('Ext.ux.colorpick.Field',{extend:'Ext.form.field.Picker',xtype:'colorfield',mixins:['Ext.ux.colorpick.Selection'],requires:['Ext.window.Window','Ext.ux.colorpick.Selector','Ext.ux.colorpick.ColorUtils','Ext.layout.container.Fit'],editable:!1,matchFieldWidth:!1,beforeBodyEl:['<div class="'+Ext.baseCSSPrefix+'colorpicker-field-swatch">'+'<div id="{id}-swatchEl" data-ref="swatchEl" class="'+Ext.baseCSSPrefix+'colorpicker-field-swatch-inner"></div>'+'</div>'],cls:Ext.baseCSSPrefix+'colorpicker-field',childEls:['swatchEl'],checkChangeEvents:['change'],config:{popup:{lazy:!0,$value:{xtype:'window',closeAction:'hide',referenceHolder:!0,minWidth:540,minHeight:200,layout:'fit',header:!1,resizable:!0,items:{xtype:'colorselector',reference:'selector',showPreviousColor:!0,showOkCancelButtons:!0}}}},initComponent:function(){var a=this;a.callParent();a.on('change',a.onHexChange)},afterRender:function(){this.callParent();this.updateValue(this.value)},createPicker:function(){var a=this,c=a.getPopup(),b;a.colorPickerWindow=c=Ext.create(c);a.colorPicker=b=c.lookupReference('selector');b.setFormat(a.getFormat());b.setColor(a.getColor());b.setHexReadOnly(!a.editable);b.on({ok:'onColorPickerOK',cancel:'onColorPickerCancel',scope:a});c.on({close:'onColorPickerCancel',scope:a});return a.colorPickerWindow},onColorPickerOK:function(a){this.setColor(a.getColor());this.collapse()},onColorPickerCancel:function(){this.collapse()},onExpand:function(){var a=this.getColor();this.colorPicker.setPreviousColor(a)},onHexChange:function(a){if(a.validate()){this.setValue(a.getValue())}},setValue:function(a){var b=this;if(Ext.ux.colorpick.ColorUtils.isValid(a)){a=b.applyValue(a);b.callParent([a]);b.updateValue(a)}},updateFormat:function(b){var a=this.colorPicker;if(a){a.setFormat(b)}},updateValue:function(c){var a=this,b;if(!a.syncing){a.syncing=!0;a.setColor(c);a.syncing=!1}b=a.getColor();if(b){Ext.ux.colorpick.ColorUtils.setBackground(a.swatchEl,b);if(a.colorPicker){a.colorPicker.setColor(b)}}},validator:function(a){if(!Ext.ux.colorpick.ColorUtils.isValid(a)){return this.invalidText}return !0}});Ext.define('Ext.ux.data.PagingMemoryProxy',{extend:'Ext.data.proxy.Memory',alias:'proxy.pagingmemory',alternateClassName:'Ext.data.PagingMemoryProxy',constructor:function(){Ext.log.warn('Ext.ux.data.PagingMemoryProxy functionality has been merged into Ext.data.proxy.Memory by using the enablePaging flag.');this.callParent(arguments)},read:function(a,h,f){var i=this.getReader(),b=i.read(this.data),c,d,g,e;f=f||this;d=a.filters;if(d.length>0){e=[];Ext.each(b.records,function(i){var c=!0,j=d.length,b;for(b=0;b<j;b++){var g=d[b],l=g.filterFn,k=g.scope;c=c&&l.call(k,i)}if(c){e.push(i)}},this);b.records=e;b.totalRecords=b.total=e.length}c=a.sorters;if(c.length>0){g=function(e,g){var d=c[0].sort(e,g),i=c.length,b;for(b=1;b<i;b++){d=d||c[b].sort.call(this,e,g)}return d};b.records.sort(g)}if(a.start!==undefined&&a.limit!==undefined){b.records=b.records.slice(a.start,a.start+a.limit);b.count=b.records.length}Ext.apply(a,{resultSet:b});a.setCompleted();a.setSuccessful();Ext.defer(function(){Ext.callback(h,f,[a])},10)}});Ext.define('Ext.ux.dd.CellFieldDropZone',{extend:'Ext.dd.DropZone',alias:'plugin.ux-cellfielddropzone',containerScroll:!0,onCellDrop:Ext.emptyFn,constructor:function(c){if(c){var a=this,d=c.ddGroup,b=c.onCellDrop;if(b){if(typeof b==='string'){a.onCellDropFn=b;a.onCellDrop=a.callCellDrop}else {a.onCellDrop=b}}if(d){a.ddGroup=d}}},init:function(b){var a=this;if(b.rendered){a.grid=b;b.getView().on({render:function(c){a.view=c;Ext.ux.dd.CellFieldDropZone.superclass.constructor.call(a,a.view.el)},single:!0})}else {b.on('render',a.init,a,{single:!0})}},getTargetFromEvent:function(f){var e=this,b=e.view;var a=f.getTarget(b.getCellSelector());if(a){var d=b.findItemByChild(a),c=a.cellIndex;if(d&&Ext.isDefined(c)){return {node:a,record:b.getRecord(d),fieldName:e.grid.getVisibleColumnManager().getColumns()[c].dataIndex}}}},onNodeEnter:function(a,e,f,d){delete this.dropOK;if(!a){return}var b=d.field;if(!b){return}var c=a.record.fieldsMap[a.fieldName];if(c.isNumeric){if(!b.isXType('numberfield')){return}}else if(c.isDateField){if(!b.isXType('datefield')){return}}else if(c.isBooleanField){if(!b.isXType('checkbox')){return}}this.dropOK=!0;Ext.fly(a.node).addCls('x-drop-target-active')},onNodeOver:function(b,c,d,a){return this.dropOK?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(a,c,d,b){Ext.fly(a.node).removeCls('x-drop-target-active')},onNodeDrop:function(a,d,e,c){if(this.dropOK){var b=c.field.getValue();a.record.set(a.fieldName,b);this.onCellDrop(a.fieldName,b);return !0}},callCellDrop:function(a,b){Ext.callback(this.onCellDropFn,null,[a,b],0,this.grid)}});Ext.define('Ext.ux.dd.PanelFieldDragZone',{extend:'Ext.dd.DragZone',alias:'plugin.ux-panelfielddragzone',scroll:!1,constructor:function(a){if(a){if(a.ddGroup){this.ddGroup=a.ddGroup}}},init:function(a){var b;if(a.nodeType){Ext.ux.dd.PanelFieldDragZone.superclass.init.apply(this,arguments)}else {if(a.rendered){b=a.getEl();b.unselectable();Ext.ux.dd.PanelFieldDragZone.superclass.constructor.call(this,b)}else {a.on('afterrender',this.init,this,{single:!0})}}},getDragData:function(f){var e=f.getTarget('label',null,!0),d,c,a,b;if(e){a=Ext.getCmp(e.up('.'+Ext.form.Labelable.prototype.formItemCls).id);c=a.preventMark;a.preventMark=!0;if(a.isValid()){a.preventMark=c;b=document.createElement('div');b.className=Ext.baseCSSPrefix+'form-text';d=a.getRawValue();b.innerHTML=Ext.isEmpty(d)?' ':d;Ext.fly(b).setWidth(a.getEl().getWidth());return {field:a,ddel:b}}f.stopEvent();a.preventMark=c}},getRepairXY:function(){return this.dragData.field.getEl().getXY()}});Ext.define('Ext.ux.desktop.Desktop',{extend:'Ext.panel.Panel',alias:'widget.desktop',uses:['Ext.util.MixedCollection','Ext.menu.Menu','Ext.view.View','Ext.window.Window','Ext.ux.desktop.TaskBar','Ext.ux.desktop.Wallpaper'],activeWindowCls:'ux-desktop-active-win',inactiveWindowCls:'ux-desktop-inactive-win',lastActiveWindow:null,border:!1,html:' ',layout:'fit',xTickSize:1,yTickSize:1,app:null,shortcuts:null,shortcutItemSelector:'div.ux-desktop-shortcut',shortcutTpl:['<tpl for=".">','<div class="ux-desktop-shortcut" id="{name}-shortcut">','<div class="ux-desktop-shortcut-icon {iconCls}">','<img src="',Ext.BLANK_IMAGE_URL,'" title="{name}">','</div>','<span class="ux-desktop-shortcut-text">{name}</span>','</div>','</tpl>','<div class="x-clear"></div>'],taskbarConfig:null,windowMenu:null,initComponent:function(){var a=this;a.windowMenu=new Ext.menu.Menu(a.createWindowMenu());a.bbar=a.taskbar=new Ext.ux.desktop.TaskBar(a.taskbarConfig);a.taskbar.windowMenu=a.windowMenu;a.windows=new Ext.util.MixedCollection();a.contextMenu=new Ext.menu.Menu(a.createDesktopMenu());a.items=[{xtype:'wallpaper',id:a.id+'_wallpaper'},a.createDataView()];a.callParent();a.shortcutsView=a.items.getAt(1);a.shortcutsView.on('itemclick',a.onShortcutItemClick,a);var b=a.wallpaper;a.wallpaper=a.items.getAt(0);if(b){a.setWallpaper(b,a.wallpaperStretch)}},afterRender:function(){var a=this;a.callParent();a.el.on('contextmenu',a.onDesktopMenu,a)},createDataView:function(){var a=this;return {xtype:'dataview',overItemCls:'x-view-over',trackOver:!0,itemSelector:a.shortcutItemSelector,store:a.shortcuts,style:{position:'absolute'},x:0,y:0,tpl:new Ext.XTemplate(a.shortcutTpl)}},createDesktopMenu:function(){var a=this,b={items:a.contextMenuItems||[]};if(b.items.length){b.items.push('-')}b.items.push({text:'Tile',handler:a.tileWindows,scope:a,minWindows:1},{text:'Cascade',handler:a.cascadeWindows,scope:a,minWindows:1});return b},createWindowMenu:function(){var a=this;return {defaultAlign:'br-tr',items:[{text:'Restore',handler:a.onWindowMenuRestore,scope:a},{text:'Minimize',handler:a.onWindowMenuMinimize,scope:a},{text:'Maximize',handler:a.onWindowMenuMaximize,scope:a},'-',{text:'Close',handler:a.onWindowMenuClose,scope:a}],listeners:{beforeshow:a.onWindowMenuBeforeShow,hide:a.onWindowMenuHide,scope:a}}},onDesktopMenu:function(c){var b=this,a=b.contextMenu;c.stopEvent();if(!a.rendered){a.on('beforeshow',b.onDesktopMenuBeforeShow,b)}a.showAt(c.getXY());a.doConstrain()},onDesktopMenuBeforeShow:function(b){var c=this,a=c.windows.getCount();b.items.each(function(c){var d=c.minWindows||0;c.setDisabled(a<d)})},onShortcutItemClick:function(e,d){var c=this,a=c.app.getModule(d.data.module),b=a&&a.createWindow();if(b){c.restoreWindow(b)}},onWindowClose:function(b){var a=this;a.windows.remove(b);a.taskbar.removeTaskButton(b.taskButton);a.updateActiveWindow()},onWindowMenuBeforeShow:function(c){var b=c.items.items,a=c.theWin;b[0].setDisabled(a.maximized!==!0&&a.hidden!==!0);b[1].setDisabled(a.minimized===!0);b[2].setDisabled(a.maximized===!0||a.hidden===!0)},onWindowMenuClose:function(){var b=this,a=b.windowMenu.theWin;a.close()},onWindowMenuHide:function(a){Ext.defer(function(){a.theWin=null},1)},onWindowMenuMaximize:function(){var b=this,a=b.windowMenu.theWin;a.maximize();a.toFront()},onWindowMenuMinimize:function(){var b=this,a=b.windowMenu.theWin;a.minimize()},onWindowMenuRestore:function(){var a=this,b=a.windowMenu.theWin;a.restoreWindow(b)},getWallpaper:function(){return this.wallpaper.wallpaper},setTickSize:function(d,e){var a=this,b=a.xTickSize=d,c=a.yTickSize=(arguments.length>1)?e:b;a.windows.each(function(f){var g=f.dd,a=f.resizer;g.xTickSize=b;g.yTickSize=c;a.widthIncrement=b;a.heightIncrement=c})},setWallpaper:function(a,b){this.wallpaper.setWallpaper(a,b);return this},cascadeWindows:function(){var a=0,b=0,c=this.getDesktopZIndexManager();c.eachBottomUp(function(c){if(c.isWindow&&c.isVisible()&&!c.maximized){c.setPosition(a,b);a+=20;b+=20}})},createWindow:function(d,c){var b=this,a,e=Ext.applyIf(d||{},{stateful:!1,isWindow:!0,constrainHeader:!0,minimizable:!0,maximizable:!0});c=c||Ext.window.Window;a=b.add(new c(e));b.windows.add(a);a.taskButton=b.taskbar.addTaskButton(a);a.animateTarget=a.taskButton.el;a.on({activate:b.updateActiveWindow,beforeshow:b.updateActiveWindow,deactivate:b.updateActiveWindow,minimize:b.minimizeWindow,destroy:b.onWindowClose,scope:b});a.on({boxready:function(){a.dd.xTickSize=b.xTickSize;a.dd.yTickSize=b.yTickSize;if(a.resizer){a.resizer.widthIncrement=b.xTickSize;a.resizer.heightIncrement=b.yTickSize}},single:!0});a.doClose=function(){a.doClose=Ext.emptyFn;a.el.disableShadow();a.el.fadeOut({listeners:{afteranimate:function(){a.destroy()}}})};return a},getActiveWindow:function(){var b=null,a=this.getDesktopZIndexManager();if(a){a.eachTopDown(function(a){if(a.isWindow&&!a.hidden){b=a;return !1}return !0})}return b},getDesktopZIndexManager:function(){var a=this.windows;return (a.getCount()&&a.getAt(0).zIndexManager)||null},getWindow:function(a){return this.windows.get(a)},minimizeWindow:function(a){a.minimized=!0;a.hide()},restoreWindow:function(a){if(a.isVisible()){a.restore();a.toFront()}else {a.show()}return a},tileWindows:function(){var a=this,e=a.body.getWidth(!0);var b=a.xTickSize,c=a.yTickSize,d=c;a.windows.each(function(f){if(f.isVisible()&&!f.maximized){var g=f.el.getWidth();if(b>a.xTickSize&&b+g>e){b=a.xTickSize;c=d}f.setPosition(b,c);b+=g+a.xTickSize;d=Math.max(d,c+f.el.getHeight()+a.yTickSize)}})},updateActiveWindow:function(){var b=this,a=b.getActiveWindow(),c=b.lastActiveWindow;if(c&&c.destroyed){b.lastActiveWindow=null;return}if(a===c){return}if(c){if(c.el.dom){c.addCls(b.inactiveWindowCls);c.removeCls(b.activeWindowCls)}c.active=!1}b.lastActiveWindow=a;if(a){a.addCls(b.activeWindowCls);a.removeCls(b.inactiveWindowCls);a.minimized=!1;a.active=!0}b.taskbar.setActiveButton(a&&a.taskButton)}});Ext.define('Ext.ux.desktop.App',{mixins:{observable:'Ext.util.Observable'},requires:['Ext.container.Viewport','Ext.ux.desktop.Desktop'],isReady:!1,modules:null,useQuickTips:!0,constructor:function(b){var a=this;a.mixins.observable.constructor.call(this,b);if(Ext.isReady){Ext.defer(a.init,10,a)}else {Ext.onReady(a.init,a)}},init:function(){var a=this,b;if(a.useQuickTips){Ext.QuickTips.init()}a.modules=a.getModules();if(a.modules){a.initModules(a.modules)}b=a.getDesktopConfig();a.desktop=new Ext.ux.desktop.Desktop(b);a.viewport=new Ext.container.Viewport({layout:'fit',items:[a.desktop]});Ext.getWin().on('beforeunload',a.onUnload,a);a.isReady=!0;a.fireEvent('ready',a)},getDesktopConfig:function(){var a=this,b={app:a,taskbarConfig:a.getTaskbarConfig()};Ext.apply(b,a.desktopConfig);return b},getModules:Ext.emptyFn,getStartConfig:function(){var a=this,c={app:a,menu:[]},b;Ext.apply(c,a.startConfig);Ext.each(a.modules,function(d){b=d.launcher;if(b){b.handler=b.handler||Ext.bind(a.createWindow,a,[d]);c.menu.push(d.launcher)}});return c},createWindow:function(a){var b=a.createWindow();b.show()},getTaskbarConfig:function(){var a=this,b={app:a,startConfig:a.getStartConfig()};Ext.apply(b,a.taskbarConfig);return b},initModules:function(a){var b=this;Ext.each(a,function(c){c.app=b})},getModule:function(c){var d=this.modules;for(var a=0,e=d.length;a<e;a++){var b=d[a];if(b.id==c||b.appType==c){return b}}return null},onReady:function(b,a){if(this.isReady){b.call(a,this)}else {this.on({ready:b,scope:a,single:!0})}},getDesktop:function(){return this.desktop},onUnload:function(a){if(this.fireEvent('beforeunload',this)===!1){a.stopEvent()}}});Ext.define('Ext.ux.desktop.Module',{mixins:{observable:'Ext.util.Observable'},constructor:function(a){this.mixins.observable.constructor.call(this,a);this.init()},init:Ext.emptyFn});Ext.define('Ext.ux.desktop.ShortcutModel',{extend:'Ext.data.Model',fields:[{name:'name',convert:Ext.String.createVarName},{name:'iconCls'},{name:'module'}]});Ext.define('Ext.ux.desktop.StartMenu',{extend:'Ext.menu.Menu',baseCls:Ext.baseCSSPrefix+'panel',cls:'x-menu ux-start-menu',bodyCls:'ux-start-menu-body',defaultAlign:'bl-tl',iconCls:'user',bodyBorder:!0,width:300,initComponent:function(){var a=this;a.layout.align='stretch';a.items=a.menu;a.callParent();a.toolbar=new Ext.toolbar.Toolbar(Ext.apply({dock:'right',cls:'ux-start-menu-toolbar',vertical:!0,width:100,layout:{align:'stretch'}},a.toolConfig));a.addDocked(a.toolbar);delete a.toolItems},addMenuItem:function(){var a=this.menu;a.add.apply(a,arguments)},addToolItem:function(){var a=this.toolbar;a.add.apply(a,arguments)}});Ext.define('Ext.ux.desktop.TaskBar',{extend:'Ext.toolbar.Toolbar',requires:['Ext.button.Button','Ext.resizer.Splitter','Ext.menu.Menu','Ext.ux.desktop.StartMenu'],alias:'widget.taskbar',cls:'ux-taskbar',startBtnText:'Start',initComponent:function(){var a=this;a.startMenu=new Ext.ux.desktop.StartMenu(a.startConfig);a.quickStart=new Ext.toolbar.Toolbar(a.getQuickStart());a.windowBar=new Ext.toolbar.Toolbar(a.getWindowBarConfig());a.tray=new Ext.toolbar.Toolbar(a.getTrayConfig());a.items=[{xtype:'button',cls:'ux-start-button',iconCls:'ux-start-button-icon',menu:a.startMenu,menuAlign:'bl-tl',text:a.startBtnText},a.quickStart,{xtype:'splitter',html:' ',height:14,width:2,cls:'x-toolbar-separator x-toolbar-separator-horizontal'},a.windowBar,'-',a.tray];a.callParent()},afterLayout:function(){var a=this;a.callParent();a.windowBar.el.on('contextmenu',a.onButtonContextMenu,a)},getQuickStart:function(){var b=this,a={minWidth:20,width:Ext.themeName==='neptune'?70:60,items:[],enableOverflow:!0};Ext.each(this.quickStart,function(c){a.items.push({tooltip:{text:c.name,align:'bl-tl'},overflowText:c.name,iconCls:c.iconCls,module:c.module,handler:b.onQuickStartClick,scope:b})});return a},getTrayConfig:function(){var a={items:this.trayItems};delete this.trayItems;return a},getWindowBarConfig:function(){return {flex:1,cls:'ux-desktop-windowbar',items:[' '],layout:{overflowHandler:'Scroller'}}},getWindowBtnFromEl:function(a){var b=this.windowBar.getChildByElement(a);return b||null},onQuickStartClick:function(c){var a=this.app.getModule(c.module),b;if(a){b=a.createWindow();b.show()}},onButtonContextMenu:function(c){var a=this,d=c.getTarget(),b=a.getWindowBtnFromEl(d);if(b){c.stopEvent();a.windowMenu.theWin=b.win;a.windowMenu.showBy(d)}},onWindowBtnClick:function(b){var a=b.win;if(a.minimized||a.hidden){b.disable();a.show(null,function(){b.enable()})}else if(a.active){b.disable();a.on('hide',function(){b.enable()},null,{single:!0});a.minimize()}else {a.toFront()}},addTaskButton:function(a){var c={iconCls:a.iconCls,enableToggle:!0,toggleGroup:'all',width:140,margin:'0 2 0 3',text:Ext.util.Format.ellipsis(a.title,20),listeners:{click:this.onWindowBtnClick,scope:this},win:a};var b=this.windowBar.add(c);b.toggle(!0);return b},removeTaskButton:function(c){var a,b=this;b.windowBar.items.each(function(b){if(b===c){a=b}return !a});if(a){b.windowBar.remove(a)}return a},setActiveButton:function(a){if(a){a.toggle(!0)}else {this.windowBar.items.each(function(b){if(b.isButton){b.toggle(!1)}})}}});Ext.define('Ext.ux.desktop.TrayClock',{extend:'Ext.toolbar.TextItem',alias:'widget.trayclock',cls:'ux-desktop-trayclock',html:' ',timeFormat:'g:i A',tpl:'{time}',initComponent:function(){var a=this;a.callParent();if(typeof (a.tpl)=='string'){a.tpl=new Ext.XTemplate(a.tpl)}},afterRender:function(){var a=this;Ext.defer(a.updateTime,100,a);a.callParent()},doDestroy:function(){var a=this;if(a.timer){window.clearTimeout(a.timer);a.timer=null}a.callParent()},updateTime:function(){var a=this,c=Ext.Date.format(new Date(),a.timeFormat),b=a.tpl.apply({time:c});if(a.lastText!=b){a.setText(b);a.lastText=b}a.timer=Ext.defer(a.updateTime,10000,a)}});Ext.define('Ext.ux.desktop.Video',{extend:'Ext.panel.Panel',alias:'widget.video',layout:'fit',autoplay:!1,controls:!0,bodyStyle:'background-color:#000;color:#fff',html:'',tpl:['<video id="{id}-video" autoPlay="{autoplay}" controls="{controls}" poster="{poster}" start="{start}" loopstart="{loopstart}" loopend="{loopend}" autobuffer="{autobuffer}" loop="{loop}" style="width:100%;height:100%">','<tpl for="src">','<source src="{src}" type="{type}"/>','</tpl>','{html}','</video>'],initComponent:function(){var a=this,b,e,c,f;if(a.fallbackHTML){b=a.fallbackHTML}else {b="Your browser does not support HTML5 Video. ";if(Ext.isChrome){b+='Upgrade Chrome.'}else if(Ext.isGecko){b+='Upgrade to Firefox 3.5 or newer.'}else {var d='<a href="http://www.google.com/chrome">Chrome</a>';b+='Please try <a href="http://www.mozilla.com">Firefox</a>';if(Ext.isIE){b+=', '+d+' or <a href="http://www.apple.com/safari/">Safari</a>.'}else {b+=' or '+d+'.'}}}a.fallbackHTML=b;c=a.data=Ext.copyTo({tag:'video',html:b},a,'id,poster,start,loopstart,loopend,playcount,autobuffer,loop');if(a.autoplay){c.autoplay=1}if(a.controls){c.controls=1}if(Ext.isArray(a.src)){c.src=a.src}else {c.src=[{src:a.src}]}a.callParent()},afterRender:function(){var a=this;a.callParent();a.video=a.body.getById(a.id+'-video');el=a.video.dom;a.supported=(el&&el.tagName.toLowerCase()=='video');if(a.supported){a.video.on('error',a.onVideoError,a)}},getFallback:function(){return '<h1 style="background-color:#ff4f4f;padding: 10px;">'+this.fallbackHTML+'</h1>'},onVideoError:function(){var a=this;a.video.remove();a.supported=!1;a.body.createChild(a.getFallback())},doDestroy:function(){var a=this;var c=a.video;if(a.supported&&c){var b=c.dom;if(b&&b.pause){b.pause()}c.remove();a.video=null}a.callParent()}});Ext.define('Ext.ux.desktop.Wallpaper',{extend:'Ext.Component',alias:'widget.wallpaper',cls:'ux-wallpaper',html:'<img src="'+Ext.BLANK_IMAGE_URL+'">',stretch:!1,wallpaper:null,stateful:!0,stateId:'desk-wallpaper',afterRender:function(){var a=this;a.callParent();a.setWallpaper(a.wallpaper,a.stretch)},applyState:function(){var a=this,b=a.wallpaper;a.callParent(arguments);if(b!=a.wallpaper){a.setWallpaper(a.wallpaper)}},getState:function(){return this.wallpaper&&{wallpaper:this.wallpaper}},setWallpaper:function(b,e){var a=this,c,d;a.stretch=(e!==!1);a.wallpaper=b;if(a.rendered){c=a.el.dom.firstChild;if(!b||b==Ext.BLANK_IMAGE_URL){Ext.fly(c).hide()}else if(a.stretch){c.src=b;a.el.removeCls('ux-wallpaper-tiled');Ext.fly(c).setStyle({width:'100%',height:'100%'}).show()}else {Ext.fly(c).hide();d='url('+b+')';a.el.addCls('ux-wallpaper-tiled')}a.el.setStyle({backgroundImage:d||''});if(a.stateful){a.saveState()}}return a}});Ext.define('Ext.ux.event.RecorderManager',{extend:'Ext.panel.Panel',alias:'widget.eventrecordermanager',uses:['Ext.ux.event.Recorder','Ext.ux.event.Player'],layout:'fit',buttonAlign:'left',eventsToIgnore:{mousemove:1,mouseover:1,mouseout:1},bodyBorder:!1,playSpeed:1,initComponent:function(){var a=this;a.recorder=new Ext.ux.event.Recorder({attachTo:a.attachTo,listeners:{add:a.updateEvents,coalesce:a.updateEvents,buffer:200,scope:a}});a.recorder.eventsToRecord=Ext.apply({},a.recorder.eventsToRecord);function speed(c,b){return {text:c,speed:b,group:'speed',checked:b==a.playSpeed,handler:a.onPlaySpeed,scope:a}}a.tbar=[{text:'Record',xtype:'splitbutton',whenIdle:!0,handler:a.onRecord,scope:a,menu:a.makeRecordButtonMenu()},{text:'Play',xtype:'splitbutton',whenIdle:!0,handler:a.onPlay,scope:a,menu:[speed('Qarter Speed (0.25x)',0.25),speed('Half Speed (0.5x)',0.5),speed('3/4 Speed (0.75x)',0.75),'-',speed('Recorded Speed (1x)',1),speed('Double Speed (2x)',2),speed('Quad Speed (4x)',4),'-',speed('Full Speed',1000)]},{text:'Clear',whenIdle:!0,handler:a.onClear,scope:a},'->',{text:'Stop',whenActive:!0,disabled:!0,handler:a.onStop,scope:a}];var b=a.attachTo&&a.attachTo.testEvents;a.items=[{xtype:'textarea',itemId:'eventView',fieldStyle:'font-family: monospace',selectOnFocus:!0,emptyText:'Events go here!',value:b?a.stringifyEvents(b):'',scrollToBottom:function(){var a=this.inputEl.dom;a.scrollTop=a.scrollHeight}}];a.fbar=[{xtype:'tbtext',text:'Attached To: '+(a.attachTo&&a.attachTo.location.href)}];a.callParent()},makeRecordButtonMenu:function(){var b=[],c={},a=this.recorder.eventsToRecord,d=this.eventsToIgnore;Ext.Object.each(a,function(f,g){var e=c[g.kind];if(!e){c[g.kind]=e=[];b.push({text:g.kind,menu:e})}e.push({text:f,checked:!0,handler:function(b){if(b.checked){a[f]=g}else {delete a[f]}}});if(d[f]){e[e.length-1].checked=!1;Ext.defer(function(){delete a[f]},1)}});function less(a,b){return (a.text<b.text)?-1:((b.text<a.text)?1:0)}b.sort(less);Ext.Array.each(b,function(a){a.menu.sort(less)});return b},getEventView:function(){return this.down('#eventView')},onClear:function(){var a=this.getEventView();a.setValue('')},onPlay:function(){var a=this,c=a.getEventView(),b=c.getValue();if(b){b=Ext.decode(b);if(b.length){a.player=Ext.create('Ext.ux.event.Player',{attachTo:window.opener,eventQueue:b,speed:a.playSpeed,listeners:{stop:a.onPlayStop,scope:a}});a.player.start();a.syncBtnUI()}}},onPlayStop:function(){this.player=null;this.syncBtnUI()},onPlaySpeed:function(a){this.playSpeed=a.speed},onRecord:function(){this.recorder.start();this.syncBtnUI()},onStop:function(){var a=this;if(a.player){a.player.stop();a.player=null}else {a.recorder.stop()}a.syncBtnUI();a.updateEvents()},syncBtnUI:function(){var a=this,b=!a.player&&!a.recorder.active;Ext.each(a.query('[whenIdle]'),function(a){a.setDisabled(!b)});Ext.each(a.query('[whenActive]'),function(a){a.setDisabled(b)});var c=a.getEventView();c.setReadOnly(!b)},stringifyEvents:function(c){var a,b=[];Ext.each(c,function(d){a=[];Ext.Object.each(d,function(e,b){if(a.length){a.push(', ')}else {a.push(' { ')}a.push(e,': ');a.push(Ext.encode(b))});a.push(' }');b.push(a.join(''))});return '[\n'+b.join(',\n')+'\n]'},updateEvents:function(){var a=this,c=a.stringifyEvents(a.recorder.getRecordedEvents()),b=a.getEventView();b.setValue(c);b.scrollToBottom()}});Ext.define('Ext.ux.form.MultiSelect',{extend:'Ext.form.FieldContainer',mixins:['Ext.util.StoreHolder','Ext.form.field.Field'],alternateClassName:'Ext.ux.Multiselect',alias:['widget.multiselectfield','widget.multiselect'],requires:['Ext.panel.Panel','Ext.view.BoundList','Ext.layout.container.Fit'],uses:['Ext.view.DragZone','Ext.view.DropZone'],layout:'anchor',ddReorder:!1,appendOnly:!1,displayField:'text',allowBlank:!0,minSelections:0,maxSelections:Number.MAX_VALUE,blankText:'This field is required',minSelectionsText:'Minimum {0} item(s) required',maxSelectionsText:'Maximum {0} item(s) required',delimiter:',',dragText:'{0} Item{1}',ignoreSelectChange:0,pageSize:10,initComponent:function(){var a=this;a.items=a.setupItems();a.bindStore(a.store,!0);a.callParent();a.initField()},setupItems:function(){var a=this;a.boundList=new Ext.view.BoundList(Ext.apply({anchor:'none 100%',border:1,multiSelect:!0,store:a.store,displayField:a.displayField,disabled:a.disabled,tabIndex:0,navigationModel:{type:'default'}},a.listConfig));a.boundList.getNavigationModel().addKeyBindings({pageUp:a.onKeyPageUp,pageDown:a.onKeyPageDown,scope:a});a.boundList.getSelectionModel().on('selectionchange',a.onSelectChange,a);a.boundList.pickerField=a;if(!a.title){return a.boundList}a.boundList.border=!1;return {xtype:'panel',isAriaRegion:!1,border:!0,anchor:'none 100%',layout:'anchor',title:a.title,tbar:a.tbar,items:a.boundList}},onSelectChange:function(b,a){if(!this.ignoreSelectChange){this.setValue(a)}},getSelected:function(){return this.boundList.getSelectionModel().getSelection()},isEqual:function(a,b){var e=Ext.Array.from,c=0,d;a=e(a);b=e(b);d=a.length;if(d!==b.length){return !1}for(;c<d;c++){if(b[c]!==a[c]){return !1}}return !0},afterRender:function(){var a=this,b,c,d,e;a.callParent();b=a.boundList;c=b&&b.getScrollable();if(a.selectOnRender){d=a.getRecordsForValue(a.value);if(d.length){++a.ignoreSelectChange;b.getSelectionModel().select(d);--a.ignoreSelectChange}delete a.toSelect}if(a.ddReorder&&!a.dragGroup&&!a.dropGroup){a.dragGroup=a.dropGroup='MultiselectDD-'+Ext.id()}if(a.draggable||a.dragGroup){a.dragZone=Ext.create('Ext.view.DragZone',{view:b,ddGroup:a.dragGroup,dragText:a.dragText,containerScroll:!!c,scrollEl:c&&c.getElement()})}if(a.droppable||a.dropGroup){a.dropZone=Ext.create('Ext.view.DropZone',{view:b,ddGroup:a.dropGroup,handleNodeDrop:function(e,g,h){var f=this.view,d=f.getStore(),b=e.records,c;e.view.store.remove(b);c=d.indexOf(g);if(h==='after'){c++}d.insert(c,b);f.getSelectionModel().select(b);a.fireEvent('drop',a,b)}})}e=a.down('panel');if(e&&b){b.ariaEl.dom.setAttribute('aria-labelledby',e.header.id+'-title-textEl')}},onKeyPageUp:function(g){var d=this,b=d.pageSize,f=d.boundList,e=f.getNavigationModel(),a,c;a=e.recordIndex;c=a>b?a-b:0;e.setPosition(c,g)},onKeyPageDown:function(h){var f=this,d=f.pageSize,c=f.boundList,g=c.getNavigationModel(),b,a,e;b=c.getStore().getCount();a=g.recordIndex;e=a<(b-d)?a+d:b-1;g.setPosition(e,h)},isValid:function(){var a=this,b=a.disabled,c=a.forceValidation||!b;return c?a.validateValue(a.value):b},validateValue:function(d){var a=this,c=a.getErrors(d),b=Ext.isEmpty(c);if(!a.preventMark){if(b){a.clearInvalid()}else {a.markInvalid(c)}}return b},markInvalid:function(b){var a=this,c=a.getActiveError();a.setActiveErrors(Ext.Array.from(b));if(c!==a.getActiveError()){a.updateLayout()}},clearInvalid:function(){var a=this,b=a.hasActiveError();a.unsetActiveError();if(b){a.updateLayout()}},getSubmitData:function(){var a=this,b=null,c;if(!a.disabled&&a.submitValue&&!a.isFileUpload()){c=a.getSubmitValue();if(c!==null){b={};b[a.getName()]=c}}return b},getSubmitValue:function(){var c=this,a=c.delimiter,b=c.getValue();return Ext.isString(a)?b.join(a):b},getValue:function(){return this.value||[]},getRecordsForValue:function(f){var h=this,e=[],g=h.store.getRange(),i=h.valueField,c=0,j=g.length,b,a,d;for(d=f.length;c<d;++c){for(a=0;a<j;++a){b=g[a];if(b.get(i)==f[c]){e.push(b)}}}return e},setupValue:function(a){var e=this.delimiter,g=this.valueField,c=0,d,f,b;if(Ext.isDefined(a)){if(e&&Ext.isString(a)){a=a.split(e)}else if(!Ext.isArray(a)){a=[a]}for(f=a.length;c<f;++c){b=a[c];if(b&&b.isModel){a[c]=b.get(g)}}d=Ext.Array.unique(a)}else {d=[]}return d},setValue:function(b){var a=this,c=a.boundList.getSelectionModel(),d=a.store;if(!d.getCount()){d.on({load:Ext.Function.bind(a.setValue,a,[b]),single:!0});return}b=a.setupValue(b);a.mixins.field.setValue.call(a,b);if(a.rendered){++a.ignoreSelectChange;c.deselectAll();if(b.length){c.select(a.getRecordsForValue(b))}--a.ignoreSelectChange}else {a.selectOnRender=!0}},clearValue:function(){this.setValue([])},onEnable:function(){var a=this.boundList;this.callParent();if(a){a.enable()}},onDisable:function(){var a=this.boundList;this.callParent();if(a){a.disable()}},getErrors:function(d){var a=this,e=Ext.String.format,c=[],b;d=Ext.Array.from(d||a.getValue());b=d.length;if(!a.allowBlank&&b<1){c.push(a.blankText)}if(b<a.minSelections){c.push(e(a.minSelectionsText,a.minSelections))}if(b>a.maxSelections){c.push(e(a.maxSelectionsText,a.maxSelections))}return c},doDestroy:function(){var a=this;a.bindStore(null);Ext.destroy(a.dragZone,a.dropZone,a.keyNav);a.callParent()},onBindStore:function(c){var a=this,b=this.boundList;if(c.autoCreated){a.resolveDisplayField()}if(!Ext.isDefined(a.valueField)){a.valueField=a.displayField}if(b){b.bindStore(c)}},resolveDisplayField:function(){var a=this,b=a.boundList,c=a.getStore();a.valueField=a.displayField='field1';if(!c.expanded){a.displayField='field2'}if(b){b.setDisplayField(a.displayField)}}});Ext.define('Ext.ux.form.ItemSelector',{extend:'Ext.ux.form.MultiSelect',alias:['widget.itemselectorfield','widget.itemselector'],alternateClassName:['Ext.ux.ItemSelector'],requires:['Ext.button.Button','Ext.ux.form.MultiSelect'],hideNavIcons:!1,buttons:['top','up','add','remove','down','bottom'],buttonsText:{top:"Move to Top",up:"Move Up",add:"Add to Selected",remove:"Remove from Selected",down:"Move Down",bottom:"Move to Bottom"},layout:{type:'hbox',align:'stretch'},ariaRole:'group',initComponent:function(){var a=this;a.ddGroup=a.id+'-dd';a.ariaRenderAttributes=a.ariaRenderAttributes||{};a.ariaRenderAttributes['aria-labelledby']=a.id+'-labelEl';a.callParent();a.bindStore(a.store)},createList:function(b){var a=this;return Ext.create('Ext.ux.form.MultiSelect',{submitValue:!1,getSubmitData:function(){return null},getModelData:function(){return null},flex:1,dragGroup:a.ddGroup,dropGroup:a.ddGroup,title:b,store:{model:a.store.model,data:[]},displayField:a.displayField,valueField:a.valueField,disabled:a.disabled,listeners:{boundList:{scope:a,itemdblclick:a.onItemDblClick,drop:a.syncValue}}})},setupItems:function(){var a=this;a.fromField=a.createList(a.fromTitle);a.toField=a.createList(a.toTitle);return [a.fromField,{xtype:'toolbar',margin:'0 4',padding:0,layout:{type:'vbox',pack:'center'},items:a.createButtons()},a.toField]},createButtons:function(){var a=this,b=[];if(!a.hideNavIcons){Ext.Array.forEach(a.buttons,function(c){b.push({xtype:'button',ui:'default',tooltip:a.buttonsText[c],ariaLabel:a.buttonsText[c],handler:a['on'+Ext.String.capitalize(c)+'BtnClick'],cls:Ext.baseCSSPrefix+'form-itemselector-btn',iconCls:Ext.baseCSSPrefix+'form-itemselector-'+c,navBtn:!0,scope:a,margin:'4 0 0 0'})})}return b},getSelections:function(b){var a=b.getStore();return Ext.Array.sort(b.getSelectionModel().getSelection(),function(c,d){c=a.indexOf(c);d=a.indexOf(d);if(c<d){return -1}else if(c>d){return 1}return 0})},onTopBtnClick:function(){var b=this.toField.boundList,a=b.getStore(),c=this.getSelections(b);a.suspendEvents();a.remove(c,!0);a.insert(0,c);a.resumeEvents();b.refresh();this.syncValue();b.getSelectionModel().select(c)},onBottomBtnClick:function(){var b=this.toField.boundList,a=b.getStore(),c=this.getSelections(b);a.suspendEvents();a.remove(c,!0);a.add(c);a.resumeEvents();b.refresh();this.syncValue();b.getSelectionModel().select(c)},onUpBtnClick:function(){var c=this.toField.boundList,a=c.getStore(),e=this.getSelections(c),d,f=0,g=e.length,b=0;a.suspendEvents();for(;f<g;++f,b++){d=e[f];b=Math.max(b,a.indexOf(d)-1);a.remove(d,!0);a.insert(b,d)}a.resumeEvents();c.refresh();this.syncValue();c.getSelectionModel().select(e)},onDownBtnClick:function(){var c=this.toField.boundList,a=c.getStore(),e=this.getSelections(c),d,f=e.length-1,b=a.getCount()-1;a.suspendEvents();for(;f>-1;--f,b--){d=e[f];b=Math.min(b,a.indexOf(d)+1);a.remove(d,!0);a.insert(b,d)}a.resumeEvents();c.refresh();this.syncValue();c.getSelectionModel().select(e)},onAddBtnClick:function(){var a=this,b=a.getSelections(a.fromField.boundList);a.moveRec(!0,b);a.toField.boundList.getSelectionModel().select(b)},onRemoveBtnClick:function(){var a=this,b=a.getSelections(a.toField.boundList);a.moveRec(!1,b);a.fromField.boundList.getSelectionModel().select(b)},moveRec:function(g,f){var e=this,a=e.fromField,c=e.toField,b=g?a.store:c.store,d=g?c.store:a.store;b.suspendEvents();d.suspendEvents();b.remove(f);d.add(f);b.resumeEvents();d.resumeEvents();if(a.boundList.containsFocus){a.boundList.focus()}a.boundList.refresh();c.boundList.refresh();e.syncValue()},syncValue:function(){var a=this;a.mixins.field.setValue.call(a,a.setupValue(a.toField.store.getRange()))},onItemDblClick:function(a,b){this.moveRec(a===this.fromField.boundList,b)},setValue:function(c){var a=this,e=a.fromField,g=a.toField,b=e.store,d=g.store,f;if(!a.fromStorePopulated){a.fromField.store.on({load:Ext.Function.bind(a.setValue,a,[c]),single:!0});return}c=a.setupValue(c);a.mixins.field.setValue.call(a,c);f=a.getRecordsForValue(c);b.suspendEvents();d.suspendEvents();b.removeAll();d.removeAll();a.populateFromStore(a.store);Ext.Array.forEach(f,function(a){if(b.indexOf(a)>-1){b.remove(a)}d.add(a)});b.resumeEvents();d.resumeEvents();Ext.suspendLayouts();e.boundList.refresh();g.boundList.refresh();Ext.resumeLayouts(!0)},onBindStore:function(c,e){var a=this,b=a.fromField,d=a.toField;if(b){b.store.removeAll();d.store.removeAll();if(c.autoCreated){b.resolveDisplayField();d.resolveDisplayField();a.resolveDisplayField()}if(!Ext.isDefined(a.valueField)){a.valueField=a.displayField}if(c.getCount()){a.populateFromStore(c)}else {a.store.on('load',a.populateFromStore,a)}}},populateFromStore:function(b){var a=this.fromField.store;this.fromStorePopulated=!0;a.add(b.getRange());a.fireEvent('load',a)},onEnable:function(){var a=this;a.callParent();a.fromField.enable();a.toField.enable();Ext.Array.forEach(a.query('[navBtn]'),function(a){a.enable()})},onDisable:function(){var a=this;a.callParent();a.fromField.disable();a.toField.disable();Ext.Array.forEach(a.query('[navBtn]'),function(a){a.disable()})},doDestroy:function(){this.bindStore(null);this.callParent()}});Ext.define('Ext.ux.form.SearchField',{extend:'Ext.form.field.Text',alias:'widget.searchfield',triggers:{clear:{weight:0,cls:Ext.baseCSSPrefix+'form-clear-trigger',hidden:!0,handler:'onClearClick',scope:'this'},search:{weight:1,cls:Ext.baseCSSPrefix+'form-search-trigger',handler:'onSearchClick',scope:'this'}},hasSearch:!1,paramName:'query',initComponent:function(){var a=this,b=a.store,c;a.callParent(arguments);a.on('specialkey',function(c,b){if(b.getKey()==b.ENTER){a.onSearchClick()}});if(!b||!b.isStore){b=a.store=Ext.data.StoreManager.lookup(b)}b.setRemoteFilter(!0);c=a.store.getProxy();c.setFilterParam(a.paramName);c.encodeFilters=function(a){return a[0].getValue()}},onClearClick:function(){var a=this,b=a.activeFilter;if(b){a.setValue('');a.store.getFilters().remove(b);a.activeFilter=null;a.getTrigger('clear').hide();a.updateLayout()}},onSearchClick:function(){var a=this,b=a.getValue();if(b.length>0){a.activeFilter=new Ext.util.Filter({property:a.paramName,value:b});a.store.getFilters().add(a.activeFilter);a.getTrigger('clear').show();a.updateLayout()}}});Ext.define('Ext.ux.grid.SubTable',{extend:'Ext.grid.plugin.RowExpander',alias:'plugin.subtable',rowBodyTpl:['<table class="'+Ext.baseCSSPrefix+'grid-subtable">','{%','this.owner.renderTable(out, values);','%}','</table>'],init:function(f){var b=this,d=b.columns,e,c,a;b.callParent(arguments);b.columns=[];if(d){for(c=0,e=d.length;c<e;++c){a=Ext.apply({preventRegister:!0},d[c]);a.xtype=a.xtype||'gridcolumn';b.columns.push(Ext.widget(a))}}},destroy:function(){var b=this.columns,c,a;if(b){for(a=0,c=b.length;a<c;++a){b[a].destroy()}}this.columns=null;this.callParent()},getRowBodyFeatureData:function(b,c,a){this.callParent(arguments);a.rowBodyCls+=' '+Ext.baseCSSPrefix+'grid-subtable-row'},renderTable:function(a,k){var h=this,f=h.columns,j=f.length,i=h.getAssociatedRecords(k.record),l=i.length,g,b,e,c,d;a.push('<thead>');for(c=0;c<j;c++){a.push('<th class="'+Ext.baseCSSPrefix+'grid-subtable-header">',f[c].text,'</th>')}a.push('</thead><tbody>');for(e=0;e<l;e++){g=i[e];a.push('<tr>');for(c=0;c<j;c++){b=f[c];d=g.get(b.dataIndex);if(b.renderer&&b.renderer.call){d=b.renderer.call(b.scope||h,d,{},g)}a.push('<td class="'+Ext.baseCSSPrefix+'grid-subtable-cell"');if(b.width!=null){a.push(' style="width:'+b.width+'px"')}a.push('><div class="'+Ext.baseCSSPrefix+'grid-cell-inner">',d,'</div></td>')}a.push('</tr>')}a.push('</tbody>')},getRowBodyContentsFn:function(a){var b=this;return function(c){a.owner=b;return a.applyTemplate(c)}},getAssociatedRecords:function(a){return a[this.association]().getRange()}});Ext.define('Ext.ux.grid.TransformGrid',{extend:'Ext.grid.Panel',constructor:function(c,a){a=Ext.apply({},a);c=this.table=Ext.get(c);var n=a.fields||[],m=a.columns||[],i=[],k=[],h=c.query("thead th"),b=0,o=h.length,f=c.dom,e,j,p,d,l,g;for(;b<o;++b){d=h[b];l=d.innerHTML;g='tcol-'+b;i.push(Ext.applyIf(n[b]||{},{name:g,mapping:'td:nth('+(b+1)+')/@innerHTML'}));k.push(Ext.applyIf(m[b]||{},{text:l,dataIndex:g,width:d.offsetWidth,tooltip:d.title,sortable:!0}))}if(a.width){e=a.width}else {e=c.getWidth()+1}if(a.height){j=a.height}Ext.applyIf(a,{store:{data:f,fields:i,proxy:{type:'memory',reader:{record:'tbody tr',type:'xml'}}},columns:k,width:e,height:j});this.callParent([a]);if(a.remove!==!1){f.parentNode.removeChild(f)}},doDestroy:function(){this.table.remove();this.tabl=null;this.callParent()}});Ext.define('Ext.ux.grid.plugin.AutoSelector',{extend:'Ext.plugin.Abstract',alias:'plugin.gridautoselector',config:{store:null},init:function(b){var a=this;a.grid=b;a.watchGrid();b.on({reconfigure:a.watchGrid,scope:a})},destroy:function(){this.setStore(null);this.grid=null;this.callParent()},ensureSelection:function(){var b=this.grid,c=b.getStore(),a;if(c.getCount()){a=b.getSelection();if(!a||!a.length){b.getSelectionModel().select(0)}}},watchGrid:function(){this.setStore(this.grid.getStore());this.ensureSelection()},updateStore:function(b){var a=this;Ext.destroy(a.storeListeners);a.storeListeners=b&&b.on({add:a.ensureSelection,remove:a.ensureSelection,destroyable:!0,scope:a})}});Ext.define('Ext.ux.layout.ResponsiveColumn',{extend:'Ext.layout.container.Auto',alias:'layout.responsivecolumn',states:{small:1000,large:0},_responsiveCls:Ext.baseCSSPrefix+'responsivecolumn',initLayout:function(){this.innerCtCls+=' '+this._responsiveCls;this.callParent()},beginLayout:function(j){var a=this,h=Ext.Element.getViewportWidth(),g=a.states,e=Infinity,i=a.innerCt,f=a._currentState,d,b,c;for(d in g){b=g[d]||Infinity;if(h<=b&&b<=e){e=b;c=d}}if(c!==f){i.replaceCls(f,c,a._responsiveCls);a._currentState=c}a.callParent(arguments)},onAdd:function(a){this.callParent([a]);var b=a.responsiveCls;if(b){a.addCls(b)}}},function(a){if(Ext.isIE8){a.override({responsiveSizePolicy:{readsWidth:0,readsHeight:0,setsWidth:1,setsHeight:0},setsItemSize:!0,calculateItems:function(b,f){var m=this,k=b.targetContext,j=b.childItems,l=j.length,i=f.gotWidth,g=f.width,o,n,d,c,e,h;if(i===!1){k.domBlock(m,'width');return !1}if(!i){return !0}for(d=0;d<l;++d){c=j[d];h=parseInt(c.el.getStyle('background-position-x'),10);e=parseInt(c.el.getStyle('background-position-y'),10);c.setWidth((h/100*(g-e))-e)}b.setContentWidth(g+b.paddingContext.getPaddingInfo().width);return !0},getItemSizePolicy:function(){return this.responsiveSizePolicy}})}});Ext.define('Ext.ux.statusbar.ValidationStatus',{extend:'Ext.Component',alias:'plugin.validationstatus',requires:['Ext.util.MixedCollection'],errorIconCls:'x-status-error',errorListCls:'x-status-error-list',validIconCls:'x-status-valid',showText:'The form has errors (click for details...)',hideText:'Click again to hide the error list',submitText:'Saving...',init:function(b){var a=this;a.statusBar=b;b.on({single:!0,scope:a,render:a.onStatusbarRender});b.on({click:{element:'el',fn:a.onStatusClick,scope:a,buffer:200}})},onStatusbarRender:function(c){var a=this,b=function(){a.monitor=!0};a.monitor=!0;a.errors=Ext.create('Ext.util.MixedCollection');a.listAlign=(c.statusAlign==='right'?'br-tr?':'bl-tl?');if(a.form){a.formPanel=Ext.getCmp(a.form)||a.statusBar.lookupController().lookupReference(a.form);a.basicForm=a.formPanel.getForm();a.startMonitoring();a.basicForm.on({beforeaction:function(d,b){if(b.type==='submit'){a.monitor=!1}}});a.formPanel.on({beforedestroy:a.destroy,scope:a});a.basicForm.on('actioncomplete',b);a.basicForm.on('actionfailed',b)}},startMonitoring:function(){this.basicForm.getFields().each(function(a){a.on('validitychange',this.onFieldValidation,this)},this)},stopMonitoring:function(){var a=this.basicForm;if(!a.destroyed){a.getFields().each(function(a){a.un('validitychange',this.onFieldValidation,this)},this)}},doDestroy:function(){Ext.destroy(this.msgEl);this.stopMonitoring();this.statusBar.statusEl.un('click',this.onStatusClick,this);this.callParent()},onFieldValidation:function(b,d){var a=this,c;if(!a.monitor){return !1}c=b.getErrors()[0];if(c){a.errors.add(b.id,{field:b,msg:c})}else {a.errors.removeAtKey(b.id)}this.updateErrorList();if(a.errors.getCount()>0){if(a.statusBar.getText()!==a.showText){a.statusBar.setStatus({text:a.showText,iconCls:a.errorIconCls})}}else {a.statusBar.clearStatus().setIcon(a.validIconCls)}},updateErrorList:function(){var c=this,a,b=c.getMsgEl();if(c.errors.getCount()>0){a=['<ul>'];this.errors.each(function(b){a.push('<li id="x-err-',b.field.id,'"><a href="#">',b.msg,'</a></li>')});a.push('</ul>');b.update(a.join(''))}else {b.update('')}b.setSize('auto','auto')},getMsgEl:function(){var b=this,a=b.msgEl,c;if(!a){a=b.msgEl=Ext.DomHelper.append(Ext.getBody(),{cls:b.errorListCls},!0);a.hide();a.on('click',function(a){c=a.getTarget('li',10,!0);if(c){Ext.getCmp(c.id.split('x-err-')[1]).focus();b.hideErrors()}},null,{stopEvent:!0})}return a},showErrors:function(){var a=this;a.updateErrorList();a.getMsgEl().alignTo(a.statusBar.getEl(),a.listAlign).slideIn('b',{duration:300,easing:'easeOut'});a.statusBar.setText(a.hideText);a.formPanel.body.on('click',a.hideErrors,a,{single:!0})},hideErrors:function(){var a=this.getMsgEl();if(a.isVisible()){a.slideOut('b',{duration:300,easing:'easeIn'});this.statusBar.setText(this.showText)}this.formPanel.body.un('click',this.hideErrors,this)},onStatusClick:function(){if(this.getMsgEl().isVisible()){this.hideErrors()}else if(this.errors.getCount()>0){this.showErrors()}}});
|