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()},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+'%'}}});
|