﻿
Ext.namespace('Credit360');Credit360.QuickChart=function(config){config=config||{};this.config=config;this.defaultRegionSid=config.defaultRegionSid||null;this.defaultRegionDescription=config.defaultRegionDescription||"";this.showRegionPicker=config.showRegionPicker||false;this.regionRootSid=config.regionRootSid||null;this.viewPeriodStart=config.viewPeriodStart;this.viewPeriodEnd=config.viewPeriodEnd;this.indSid=config.indicatorSid;this.interval=config.interval||'y';this.initialized=false;this.periodSpanPicker=new Credit360.PeriodSpanPicker({height:40,style:'padding: 5px;',startDtm:Date.parseISO(this.viewPeriodStart),endDtm:Date.parseISO(this.viewPeriodEnd),interval:this.interval,showInterval:true,isFormField:false,listeners:{"change":function(){this.refreshChart();},scope:this}});this.regionPicker=null;if(this.showRegionPicker){this.regionPicker=new Ext.ux.TreeViewPicker({layout:'fit',validClasses:['CSRRegion'],treeViewHandler:TreeViewRegionHandler,treeViewRootSid:this.regionRootSid,listeners:{"select":function(sid,description){if(!sid||sid<0){return;}
this.refreshChart();},scope:this}});}
this.chartImg=new Ext.Component({autoEl:{tag:"img",src:"/fp/shared/images/shim.gif"},setSize:function(size){this.el.dom.width=size.width;this.el.dom.height=size.height;if(this.parent.chartWidth!=size.width||this.parent.chartHeight!=size.height){this.parent.chartWidth=size.width;this.parent.chartHeight=size.height;this.parent.refreshChart();}},parent:this});this.tableDiv=new Ext.Component({autoEl:{tag:"div",cls:"dataExplorerTable",style:"overflow:auto"},setSize:function(size){this.el.setSize(size);}});this.tabs=new Ext.TabPanel({anchor:"100% 100%",activeTab:0,deferredRender:false,items:[{title:__tr('Chart'),bodyStyle:"text-align:center",layout:"fit",items:[this.chartImg]},{title:__tr('Table'),layout:"fit",items:[this.tableDiv]}]});var itemsToDisplay=[];if(this.showRegionPicker){this.regionPickerPanel=new Ext.Panel({autoHeight:true,layout:'fit',border:false,frame:false,style:'padding: 5px',items:this.regionPicker});itemsToDisplay.push(this.regionPickerPanel);}
itemsToDisplay.push(this.periodSpanPicker);itemsToDisplay.push(this.tabs);Ext.apply(config,{items:itemsToDisplay});Credit360.QuickChart.superclass.constructor.call(this,config);this.on('afterlayout',function(){if(!this.initialized&&this.defaultRegionSid){if(this.regionPicker){this.regionPicker.setValues(this.defaultRegionSid,this.defaultRegionDescription)}
this.initialized=true;}
this.syncSize();},this);this.on("afterrender",this.syncSize,this);}
Ext.extend(Credit360.QuickChart,Ext.Panel,{syncSize:function(){var pz=this.getSize();pz.height-=this.periodSpanPicker.el.getHeight();if(this.regionPickerPanel){pz.height-=this.regionPickerPanel.getEl().getHeight();}
var curSize=this.tabs.getSize();if(curSize.width!=pz.width||curSize.height!=pz.height){this.tabs.setSize(pz);}},refreshChart:function(){var chartParamsDto={indSid:this.indSid,regionSid:this.regionPicker?this.regionPicker.getValue():this.defaultRegionSid,periodSpan:this.periodSpanPicker.getPeriodSpan(),width:this.chartWidth,height:this.chartHeight};QuickChartHandler.makeTableAndChart(chartParamsDto,function(tableAndChart){var cel=this.chartImg.getEl().dom;if(cel.width!=this.chartWidth){cel.width=this.chartWidth;}
if(cel.height!=this.chartHeight){cel.height=this.chartHeight;}
cel.src=tableAndChart.chartUrl;this.tableDiv.getEl().update(tableAndChart.tableHtml);},this)}});Ext.reg('Credit360.QuickChart',Credit360.QuickChart);