ux.js 78 KB

1
  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 h=d.exec(j),b={},a,e,c,g,f,i;if(h&&h[1]){g=h[1].split('&');for(f=0,i=g.length;f<i;++f){if((c=g[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(b,f){var e=this,d=e.getData(b),g=(b.xhr.options.proxy&&b.xhr.options.proxy.getModel())||{},c=g.idProperty||'id',a;Ext.each(f,function(g){var h=g.get(c);for(a=d.length;a-->0;){if(d[a][c]===h){e.deleteRecord(a);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){var a,c;for(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,h=(b.filter||'')+(b.group||'')+'-'+(b.sort||'')+'-'+(b.dir||''),j=d.tree,i,a,e,f,g;if(j){d.fixTree(c,j)}a=d.data;if(typeof a==='function'){i=!0;a=a.call(this,c)}if(!a||h==='--'){return a||[]}if(!i&&h===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){g=new Ext.util.FilterCollection();g.add(this.processFilters(c.filterSpec));a=Ext.Array.filter(a,g.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=h;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=[],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,e,h,g){var c=[],f=b.length,a,d;for(a=0;a<f;a++){c.push(b[a][e])}d=Ext.Array.max(c);return d},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,text;me.readyState=4;Ext.apply(me,me.simlet.exec(me));callback=me.jsonpCallback;if(callback){text=callback+'('+me.responseText+')';eval(text)}},onTick:function(){var a=this;a.timer=null;a.onComplete();if(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(){var a=[];this.callParent(arguments);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){var c;a.push('<',b,'>');for(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){var e,f;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 {e=a.createTextRange();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,i;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(c){var a,b;function apply(){var d=arguments,e=d.length,a={kind:'other'},b;for(b=0;b<e;++b){Ext.apply(a,arguments[b])}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)}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(b in a){if(!a[b].event){a[b].event=b}}a.wheel.event=null;return {extend:'Ext.ux.event.Driver',eventsToRecord:a,ignoreIdRegEx:/ext-gen(?:\d+)/,inputRe:/^(input|textarea)$/i,constructor:function(b){var a=this,d=b&&b.eventsToRecord;if(d){a.eventsToRecord=Ext.apply(Ext.apply({},a.eventsToRecord),d);delete b.eventsToRecord}a.callParent(arguments);a.clear();a.modKeys=[];a.attachTo=a.attachTo||window},clear:function(){this.eventsRecorded=[]},listenToEvent:function(b){var f=this,d=f.attachTo.document.body,a=function(){return f.onEvent.apply(f,arguments)},e={};if(d.attachEvent&&d.ownerDocument.documentMode<10){b='on'+b;d.attachEvent(b,a);e.destroy=function(){if(a){d.detachEvent(b,a);a=null}}}else {d.addEventListener(b,a,!0);e.destroy=function(){if(a){d.removeEventListener(b,a,!0);a=null}}}return e},coalesce:function(b,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(b.type==='mousemove'){if(d.type==='mousemove'&&b.ts-d.ts<200){b.ts=d.ts;e[f-1]=b;return !0}}else if(b.type==='click'){if(a&&d.type==='mouseup'&&a.type==='mousedown'){if(b.button===d.button&&b.button===a.button&&b.target===d.target&&b.target===a.target&&g.samePt(b,d)&&g.samePt(b,a)){e.pop();a.type='mduclick';return !0}}}else if(b.type==='keyup'){if(a&&d.type==='keypress'&&a.type==='keydown'){if(b.target===d.target&&b.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,b)){d.type='type';g.completeSpecialKeyStroke(i.target,d,b);return !0}else if(d.type==='scroll'&&g.completeKeyStroke(a,b)){a.type='type';g.completeSpecialKeyStroke(i.target,a,b);e.pop();e.pop();e.push(d,a);return !0}}return !1},completeKeyStroke:function(a,b){if(a&&a.type==='keydown'&&a.keyCode===b.keyCode){delete a.charCode;return !0}return !1},completeSpecialKeyStroke:function(b,a,e){var d=this.specialKeysByCode[e.keyCode];if(d&&this.inputRe.test(b.tagName)){delete a.keyCode;a.key=d;a.selection=this.getTextSelection(b);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,b=[],e,d,a,g;for(a=i;a;a=a.parentNode){if(a===h.attachTo.document.body){b.unshift('~');f=!0;break}if(a.id&&!h.ignoreIdRegEx.test(a.id)){b.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){b.unshift(g)}else {b.unshift(g+'['+e+']')}}return f?b.join('/'):null},getRecordedEvents:function(){return this.eventsRecorded},onEvent:function(e){var b=this,d=new Ext.event.Event(e),f=b.eventsToRecord[d.type],h,i,j,a={type:d.type,ts:b.getTimestamp(),target:b.getElementXPath(d.target)},g;if(!f||!a.target){return}h=d.target.ownerDocument;h=h.defaultView||h.parentWindow;if(h!==b.attachTo){return}if(b.eventsToRecord.scroll){b.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){b.modKeys[0]=d.altKey?'A':'';b.modKeys[1]=d.ctrlKey?'C':'';b.modKeys[2]=d.metaKey?'M':'';b.modKeys[3]=d.shiftKey?'S':'';i=b.modKeys.join('');if(i){a.modKeys=i}}if(f.key){a.charCode=d.getCharCode();a.keyCode=d.getKey()}if(b.coalesce(a,d)){b.fireEvent('coalesce',b,a)}else {b.eventsRecorded.push(a);b.fireEvent('add',b,a)}},onStart:function(){var a=this,d=a.attachTo.Ext.dd.DragDropManager,b=a.attachTo.Ext.EventObjectImpl.prototype,e=[];c.prototype.eventsToRecord.wheel.event=('onwheel' in a.attachTo.document)?'wheel':'mousewheel';a.listeners=[];Ext.Object.each(a.eventsToRecord,function(d,b){if(b&&b.listen!==!1){if(!b.event){b.event=d}if(b.alt&&b.alt!==d){if(!a.eventsToRecord[b.alt]){e.push(b)}}else {a.listeners.push(a.listenToEvent(b.event))}}});Ext.each(e,function(b){a.eventsToRecord[b.alt]=b;a.listeners.push(a.listenToEvent(b.alt))});a.ddmStopEvent=d.stopEvent;d.stopEvent=Ext.Function.createSequence(d.stopEvent,function(b){a.onEvent(b)});a.evStopEvent=b.stopEvent;b.stopEvent=Ext.Function.createSequence(b.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,b){return a.x===b.x&&a.y===b.y},syncScroll:function(j){var b=this,k=b.getTimestamp(),g,h,d,e,f,i,a;for(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){b.eventsRecorded.push(i={type:'scroll',target:b.getElementXPath(a),ts:k,pos:[d,e]});b.fireEvent('add',b,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){var b;if(typeof a==='string'){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);if('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,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){var b,c,d;if(a!==null){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.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},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){return {singleton:!0,constructor:function(){a=this},backgroundTpl:'background: {rgba};',setBackground:function(e,f){var d,c,b;if(e){d=Ext.XTemplate.getTpl(a,'backgroundTpl');c={rgba:a.getRGBAString(f)};b=d.apply(c);e.applyStyles(b)}},formats:{HEX6:function(b){return a.rgb2hex(b&&b.r,b&&b.g,b&&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},rgb:function(b){return a.getRGBString(b)},rgba:function(b){return a.getRGBAString(b)}},hexRe:/^#?([0-9a-f]{3,8})/i,rgbaAltRe:/rgba\(\s*([\w#\d]+)\s*,\s*([\d\.]+)\s*\)/,rgbaRe:/rgba\(\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*\)/,rgbRe:/rgb\(\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*\)/,parseColor:function(d,g){var e=this,f,b,c,h;if(!d){return null}f=e.colorMap[d];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){b=b===null?{r:0,g:0,b:0,h:1,s:1,v:1,a:"1"}:b;return "rgba("+b.r+","+b.g+","+b.b+","+b.a+")"},getRGBString:function(b){return "rgb("+b.r+","+b.g+","+b.b+")"},hsv2rgb:function(c,h,f){var d,i,e,b,g;c=c>1?1:c;h=h>1?1:h;f=f>1?1:f;c=c===undefined?1:c;c=c*360;if(c===360){c=0}d=f*h;i=c/60;e=d*(1-Math.abs(i%2-1));b=[0,0,0];switch(Math.floor(i)){case 0:b=[d,e,0];break;case 1:b=[e,d,0];break;case 2:b=[0,d,e];break;case 3:b=[0,e,d];break;case 4:b=[e,0,d];break;case 5:b=[d,0,e];break;default:break;}g=f-d;b[0]+=g;b[1]+=g;b[2]+=g;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(f,e,c){var g,k,d,h,b,j,i;f=f/255;e=e/255;c=c/255;g=Math.max(f,e,c);k=Math.min(f,e,c);d=g-k;h=0;if(d!==0){if(g===f){h=((e-c)/d)%6}else if(g===e){h=((c-f)/d)+2}else if(g===c){h=((f-e)/d)+4}}b=h*60;if(b===360){b=0}j=g;i=0;if(d!==0){i=d/j}b=b/360;if(b<0){b=b+1}return {h:b,s:i,v:j}},rgb2hex:function(d,c,b){d=d===null?d:d.toString(16);c=c===null?c:c.toString(16);b=b===null?b:b.toString(16);if(d===null||d.length<2){d='0'+d||'0'}if(c===null||c.length<2){c='0'+c||'0'}if(b===null||b.length<2){b='0'+b||'0'}if(d===null||d.length>2){d='ff'}if(c===null||c.length>2){c='ff'}if(b===null||b.length>2){b='ff'}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'],init:function(){var a=this,b=a.getView();a.mon(b.bodyElement,{mousedown:a.onMouseDown,mouseup:a.onMouseUp,mousemove:a.onMouseMove,scope:a})},onHandleDrag:function(k,l){var h=this,a=h.getView(),e=a.down('#dragHandle').element,i=e.getX()-a.element.getX(),j=e.getY()-a.element.getY(),d=a.bodyElement,g=d.getWidth(),f=d.getHeight(),b=i/g,c=j/f;if(b>0.99){b=1}if(c>0.99){c=1}if(b<0){b=0}if(c<0){c=0}a.fireEvent('handledrag',b,c)},onMouseDown:function(b){var a=this;a.onMapClick(b);a.onHandleDrag();a.isDragging=!0},onMouseUp:function(b){var a=this;a.onMapClick(b);a.onHandleDrag();a.isDragging=!1},onMouseMove:function(b){var a=this;if(a.isDragging){a.onMapClick(b);a.onHandleDrag()}},onMapClick:function(g){var f=this,a=f.getView(),h=a.down('#dragHandle'),c=a.element.getXY(),d=g.getXY(),b,e;b=d[0]-c[0];e=d[1]-c[1];h.element.setStyle({left:b+'px',top:e+'px'});g.preventDefault();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.bodyElement,k=c.getWidth(),j=c.getHeight(),e,f,g,h;a=a===null?{r:0,g:0,b:0,h:1,s:1,v:1,a:"1"}:a;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.element.setStyle({left:g+'px',top:h+'px'})},onHueBindingChanged:function(c){var d=this,a,b;a=Ext.ux.colorpick.ColorUtils.hsv2rgb(c,1,1);b=Ext.ux.colorpick.ColorUtils.rgb2hex(a.r,a.g,a.b);d.getView().element.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,style:{position:'relative'},html:'<div class="'+Ext.baseCSSPrefix+'colorpicker-colormap-draghandle"></div>'}],listeners:{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.bodyElement;b.createChild({tag:'img',cls:Ext.baseCSSPrefix+'colorpicker-colormap-blender',src:a})},setPosition:function(b){var c=this,a=c.down('#dragHandle');if(a.isDragging){return}this.fireEvent('colorbindingchanged',b)},setHue:function(a){var b=this;b.fireEvent('huebindingchanged',a)}});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')===null?a('selectedColor.r'):a('selectedColor.r').toString(16),d=a('selectedColor.g')===null?a('selectedColor.g'):a('selectedColor.g').toString(16),c=a('selectedColor.b')===null?a('selectedColor.b'):a('selectedColor.b').toString(16),b;b=Ext.ux.colorpick.ColorUtils.rgb2hex(e,d,c);return '#'+b},set:function(a){var b;if(!Ext.isEmpty(a)){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&&a/360})}},saturation:{get:function(a){return a('selectedColor.s')*100},set:function(a){this.changeHSV({s:a&&a/100})}},value:{get:function(a){var b=a('selectedColor.v');return b*100},set:function(a){this.changeHSV({v:a&&a/100})}},alpha:{get:function(a){var b=a('selectedColor.a');return b*100},set:function(a){if(a!==null){this.set('selectedColor',Ext.applyIf({a:a/100},this.data.selectedColor))}}}},changeHSV:function(a){var b;if(a.h!==null&&a.s!==null&&a.v!==null){Ext.applyIf(a,this.data.selectedColor);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){var b;Ext.applyIf(a,this.data.selectedColor);if(a){if(a.r!==null&&a.g!==null&&a.b!==null){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;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'],cls:Ext.baseCSSPrefix+'colorpreview',getTemplate:function(){return [{reference:'filterElement',cls:Ext.baseCSSPrefix+'colorpreview-filter-el'},{reference:'btnElement',cls:Ext.baseCSSPrefix+'colorpreview-btn-el',tag:'a'}]},onRender:function(){var a=this;a.callParent(arguments);a.mon(a.btnElement,'click',a.onClick,a)},onClick:function(a){a.preventDefault();this.fireEvent('click',this,this.color)},setColor:function(a){this.color=a;this.applyBgStyle(a)},applyBgStyle:function(c){var e=this,b=Ext.ux.colorpick.ColorUtils,d=e.filterElement,a;a=b.getRGBAString(c);d.applyStyles({background:a})}});Ext.define('Ext.ux.colorpick.SliderController',{extend:'Ext.app.ViewController',alias:'controller.colorpick-slidercontroller',getDragHandle:function(){return this.view.lookupReference('dragHandle')},getDragContainer:function(){return this.view.lookupReference('dragHandleContainer')},onHandleDrag:function(g){var d=this,i=d.getView(),h=d.getDragContainer(),f=d.getDragHandle(),b=h.bodyElement,j=b.getY(),a=g.getY()-b.getY(),e=b.getHeight(),c=a/e;if(a>=0&&a<e){f.element.setY(a+j)}else {return}if(c>0.99){c=1}g.preventDefault();i.fireEvent('handledrag',c);f.el.repaint()},onMouseDown:function(c){var a=this,b=a.getDragHandle();b.isDragging=!0;a.onHandleDrag(c)},onMouseMove:function(c){var a=this,b=a.getDragHandle();if(b.isDragging){a.onHandleDrag(c)}},onMouseUp:function(c){var b=this,a=b.getDragHandle();if(a.isDragging){b.onHandleDrag(c)}a.isDragging=!1}});Ext.define('Ext.ux.colorpick.Slider',{extend:'Ext.container.Container',xtype:'colorpickerslider',controller:'colorpick-slidercontroller',afterRender:function(){var c,a,b;this.callParent(arguments);c=this.getWidth();a=this.lookupReference('dragHandleContainer');b=a.getWidth();a.el.setStyle('left',((c-b)/4)+'px')},baseCls:Ext.baseCSSPrefix+'colorpicker-slider',requires:['Ext.ux.colorpick.SliderController'],referenceHolder:!0,listeners:{element:'element',touchstart:'onMouseDown',touchend:'onMouseUp',touchmove:'onMouseMove'},autoSize:!1,items:{xtype:'container',cls:Ext.baseCSSPrefix+'colorpicker-draghandle-container',reference:'dragHandleContainer',height:'100%',items:{xtype:'component',cls:Ext.baseCSSPrefix+'colorpicker-draghandle-outer',style:{position:'relative'},reference:'dragHandle',width:'100%',height:1,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','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(a){var e=this,h=e.getDragContainer(),b=e.getDragHandle(),g=h.bodyElement,f=g.getHeight(),d,c;a=Math.max(a,0);a=Math.min(a,100);if(b.isDragging){return}c=f*(1-(a/100));d=b.element;d.setStyle({top:c+'px'})},setColor:function(a){var d=this,e=d.getDragContainer(),b,c;a=a===null?{r:0,g:0,b:0,h:1,s:1,v:1,a:"1"}:a;b=Ext.ux.colorpick.ColorUtils.rgb2hex(a.r,a.g,a.b);c=e.bodyElement;c.applyStyles(d.gradientStyleTpl.apply({hex:b,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','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(a){var e=this,h=e.getDragContainer(),b=e.getDragHandle(),g=h.bodyElement,f=g.getHeight(),c,d;a=Math.max(a,0);a=Math.min(a,100);if(b.isDragging){return}c=1-(a/100);d=f*c;b.element.setStyle({top:d+'px'})},setHue:function(e){var c=this,d=c.getDragContainer(),a,b;a=Ext.ux.colorpick.ColorUtils.hsv2rgb(e,1,1);b=Ext.ux.colorpick.ColorUtils.rgb2hex(a.r,a.g,a.b);d.element.applyStyles(c.gradientStyleTpl.apply({hex:b}))}});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','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(a){var e=this,h=e.getDragContainer(),b=e.getDragHandle(),g=h.bodyElement,f=g.getHeight(),c,d;a=Math.max(a,0);a=Math.min(a,100);if(b.isDragging){return}c=1-(a/100);d=f*c;b.element.setStyle({top:d+'px'})},setHue:function(e){var b=this,d=b.getDragContainer(),a,c;if(!b.element){return}a=Ext.ux.colorpick.ColorUtils.hsv2rgb(e,1,1);c=Ext.ux.colorpick.ColorUtils.rgb2hex(a.r,a.g,a.b);d.bodyElement.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().el;b.createChild({tag:'img',cls:Ext.baseCSSPrefix+'colorpicker-hue-gradient',src:a})},setHue:function(a){var e=this,h=e.getDragContainer(),b=e.getDragHandle(),g=h.bodyElement,f=g.getHeight(),d,c;a=a>1?a/360:a;if(b.isDragging){return}c=1-a;d=f*c;b.element.setStyle({top:d+'px'})}});Ext.define('Ext.ux.colorpick.Selector',{extend:'Ext.panel.Panel',xtype:'colorselector',mixins:['Ext.ux.colorpick.Selection'],controller:'colorpick-selectorcontroller',requires:['Ext.field.Text','Ext.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:!1},width:Ext.platformTags.phone?'auto':580,height:337,cls:Ext.baseCSSPrefix+'colorpicker',padding:10,layout:{type:Ext.platformTags.phone?'vbox':'hbox',align:'stretch'},defaultBindProperty:'value',twoWayBindable:['value','hidden'],fieldWidth:50,fieldPad:5,showPreviousColor:!1,okButtonText:'OK',cancelButtonText:'Cancel',showOkCancelButtons:!1,listeners:{resize:'onResize',show:'onResize'},initConfig:function(c){var a=this,b=Ext.Factory.viewModel('colorpick-selectormodel');a.childViewModel=b;if(Ext.platformTags.phone&&!(Ext.Viewport.getOrientation()==="landscape")){a.fieldWidth=35}if(Ext.platformTags.phone){c.items=[a.getPreviewForMobile(b,c),{xtype:'container',padding:'4px 0 0 0',layout:{type:'hbox',align:'stretch'},flex:1,items:[a.getMapAndHexRGBFields(b),a.getSliderAndHField(b),a.getSliderAndSField(b),a.getSliderAndVField(b),a.getSliderAndAField(b)]},a.getButtonForMobile(b,c)]}else {c.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)});this.callParent(arguments)},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='0 '+c.fieldPad+' 0 0',b=c.fieldWidth;return {xtype:'container',viewModel:d,cls:Ext.baseCSSPrefix+'colorpicker-escape-overflow',flex:1,autoSize:!1,layout:{type:'vbox',constrainAlign:!0},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',autoSize:null,defaults:{labelAlign:'top',allowBlank:!1},items:[{xtype:'textfield',label:'HEX',flex:1,bind:'{hex}',clearable:Ext.platformTags.phone?!1:!0,margin:a,validators:/^#[0-9a-f]{6}$/i,readOnly:c.getHexReadOnly(),required:!0},{xtype:'numberfield',clearable:!1,label:'R',bind:'{red}',width:b,hideTrigger:!0,validators:/^(0|[1-9]\d*)$/i,maxValue:255,minValue:0,margin:a,required:!0},{xtype:'numberfield',clearable:!1,label:'G',bind:'{green}',width:b,hideTrigger:!0,validators:/^(0|[1-9]\d*)$/i,maxValue:255,minValue:0,margin:a,required:!0},{xtype:'numberfield',clearable:!1,label:'B',bind:'{blue}',width:b,hideTrigger:!0,validators:/^(0|[1-9]\d*)$/i,maxValue:255,minValue:0,margin:0,required:!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',reference:'hnumberfield',clearable:!1,label:'H',labelAlign:'top',bind:'{hue}',hideTrigger:!0,maxValue:360,minValue:0,allowBlank:!1,margin:0,required:!0}]}},getSliderAndSField:function(d){var c=this,a=c.fieldWidth,b=c.fieldPad;return {xtype:'container',viewModel:d,cls:[Ext.baseCSSPrefix+'colorpicker-escape-overflow',Ext.baseCSSPrefix+'colorpicker-column-sslider'],width:a,layout:{type:'vbox',align:'stretch'},margin:'0 '+b+' 0 '+b,items:[{xtype:'colorpickerslidersaturation',reference:'satSlider',flex:1,bind:{saturation:'{saturation}',hue:'{selectedColor.h}'},width:a,listeners:{handledrag:'onSaturationSliderHandleDrag'}},{xtype:'numberfield',reference:'snumberfield',clearable:!1,label:'S',labelAlign:'top',bind:'{saturation}',hideTrigger:!0,maxValue:100,minValue:0,allowBlank:!1,margin:0,required:!0}]}},getSliderAndVField:function(b){var c=this,a=c.fieldWidth;return {xtype:'container',viewModel:b,cls:[Ext.baseCSSPrefix+'colorpicker-escape-overflow',Ext.baseCSSPrefix+'colorpicker-column-vslider'],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',reference:'vnumberfield',clearable:!1,label:'V',labelAlign:'top',bind:'{value}',hideTrigger:!0,maxValue:100,minValue:0,allowBlank:!1,margin:0,required:!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:'0 0 0 '+b.fieldPad,items:[{xtype:'colorpickerslideralpha',reference:'alphaSlider',flex:1,bind:{alpha:'{alpha}',color:{bindTo:'{selectedColor}',deep:!0}},width:a,listeners:{handledrag:'onAlphaSliderHandleDrag'}},{xtype:'numberfield',reference:'anumberfield',clearable:!1,label:'A',labelAlign:'top',bind:'{alpha}',hideTrigger:!0,maxValue:100,minValue:0,allowBlank:!1,margin:0,required:!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:this.okButtonText,margin:'10 0 0 0',handler:'onOK'},{xtype:'button',text:this.cancelButtonText,margin:'10 0 0 0',handler:'onCancel'})}return {xtype:'container',viewModel:c,cls:Ext.baseCSSPrefix+'colorpicker-column-preview',width:70,margin:'0 0 0 10',items:a,layout:{type:'vbox',align:'stretch'}}},getPreviewForMobile:function(b,c){var a=[{xtype:'colorpickercolorpreview',flex:1,bind:{color:{bindTo:'{selectedColor}',deep:!0}}}];if(c.showPreviousColor){a.push({xtype:'colorpickercolorpreview',flex:1,bind:{color:{bindTo:'{previousColor}',deep:!0}},listeners:{click:'onPreviousColorSelected'}})}return {xtype:'container',viewModel:b,cls:Ext.baseCSSPrefix+'colorpicker-column-mobile-preview',height:40,margin:'10 0 10 0',items:a,layout:{type:'hbox',align:'stretch'}}},getButtonForMobile:function(b,c){var a=[];if(c.showOkCancelButtons){a.push({xtype:'container',flex:1},{xtype:'button',text:this.cancelButtonText,minWidth:70,margin:'5 5 0 5',handler:'onCancel'},{xtype:'button',text:this.okButtonText,margin:'5 5 0 5',minWidth:50,handler:'onOK'});return {xtype:'container',viewModel:b,cls:Ext.baseCSSPrefix+'colorpicker-column-mobile-button',width:'100%',height:40,margin:'0',align:'right',items:a,layout:{type:'hbox',align:'stretch'}}}return {}}});Ext.define('Ext.ux.colorpick.ButtonController',{extend:'Ext.app.ViewController',alias:'controller.colorpick-buttoncontroller',requires:['Ext.Dialog','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 d=this,e=d.getView(),b=e.getColor(),c=d.getPopup(),a=c.colorPicker;a.setColor(b);a.setPreviousColor(b);c.show()},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:'dialog',closeAction:'hide',referenceHolder:!0,header:!1,resizable:!0,scrollable:!0,items:{xtype:'colorselector',reference:'selector',flex:'1 1 auto',showPreviousColor:!0,showOkCancelButtons:!0}}}},defaultBindProperty:'value',twoWayBindable:'value',getTemplate:function(){return [{reference:'filterEl',cls:Ext.baseCSSPrefix+'colorbutton-filter-el'},{reference:'btnEl',tag:'a',cls:Ext.baseCSSPrefix+'colorbutton-btn-el'}]},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.field.Picker',xtype:'colorfield',mixins:['Ext.ux.colorpick.Selection'],requires:['Ext.window.Window','Ext.ux.colorpick.Selector','Ext.ux.colorpick.ColorUtils'],editable:!1,focusable:!0,matchFieldWidth:!1,html:['<div class="'+Ext.baseCSSPrefix+'colorpicker-field-swatch">'+'<div class="'+Ext.baseCSSPrefix+'colorpicker-field-swatch-inner"></div>'+'</div>'],cls:Ext.baseCSSPrefix+'colorpicker-field',config:{popup:{lazy:!0,$value:{xtype:'window',closeAction:'hide',modal:Ext.platformTags.phone?!0:!1,referenceHolder:!0,width:Ext.platformTags.phone?'100%':'auto',layout:Ext.platformTags.phone?'hbox':'vbox',header:!1,resizable:!0,scrollable:!0,items:{xtype:'colorselector',reference:'selector',flex:'1 1 auto',showPreviousColor:!0,showOkCancelButtons:!0}}}},afterRender:function(){this.callParent();this.updateValue(this.value)},createFloatedPicker:function(){var a=this,c=a.getPopup(),b;a.colorPickerWindow=c=Ext.create(c);b=a.colorPicker=c.lookupReference('selector');b.setColor(a.getColor());b.setHexReadOnly(!a.editable);b.on({ok:'onColorPickerOK',cancel:'onColorPickerCancel',close:'onColorPickerCancel',scope:a});a.colorPicker.ownerCmp=a;return a.colorPickerWindow},createEdgePicker:function(){var a=this,c=a.getPopup(),b;a.colorPickerWindow=c=Ext.create(c);b=a.colorPicker=c.lookupReference('selector');a.pickerType='floated';b.setColor(a.getColor());b.on({ok:'onColorPickerOK',cancel:'onColorPickerCancel',close:'onColorPickerCancel',scope:a});a.colorPicker.ownerCmp=a;return a.colorPickerWindow},collapse:function(){var a=this.getPicker();if(this.expanded){a.hide()}},showPicker:function(){var a=this,c=a[a.alignTarget],b=a.getPicker(),d=this.getColor();if(this.colorPicker){this.colorPicker.setColor(this.getColor());this.colorPicker.setPreviousColor(d)}if(a.getMatchFieldWidth()){b.setWidth(c.getWidth())}if(Ext.platformTags.phone){b.show()}else {b.showBy(c,a.getFloatedPickerAlign(),{minHeight:100})}a.touchListeners=Ext.getDoc().on({translate:!1,touchstart:a.collapseIf,scope:a,delegated:!1,destroyable:!0})},onFocusLeave:function(a){if(a.type!=='focusenter'){this.callParent(arguments)}},onColorPickerOK:function(a){this.setColor(a.getColor());this.collapse()},onColorPickerCancel:function(){this.collapse()},onExpandTap:function(){var a=this.getColor();if(this.colorPicker){this.colorPicker.setPreviousColor(a)}this.callParent(arguments)},setValue:function(b){var a=this,c;if(Ext.ux.colorpick.ColorUtils.isValid(b)){c=a.mixins.colorselection.applyValue.call(a,b);a.callParent([c])}},updateFormat:function(b){var a=this.colorPicker;if(a){a.setFormat(b)}},updateValue:function(d){var a=this,c=this.element.down('.x-colorpicker-field-swatch-inner'),b;if(!a.syncing){a.syncing=!0;a.setColor(d);a.syncing=!1}b=a.getColor();Ext.ux.colorpick.ColorUtils.setBackground(c,b);if(a.colorPicker){a.colorPicker.setColor(b)}a.inputElement.dom.value=a.getValue()},validator:function(a){if(!Ext.ux.colorpick.ColorUtils.isValid(a)){return this.invalidText}return !0},updateColor:function(a){var b=this,c=b.colorPicker,d=this.element.down('.x-colorpicker-field-swatch-inner');b.mixins.colorselection.updateColor.call(b,a);Ext.ux.colorpick.ColorUtils.setBackground(d,a);if(c){c.setColor(a)}}});