Ext.ux.ThemeCombo=Ext.extend(Ext.form.ComboBox,{themeBlueText:"Ext Blue Theme",themeGrayText:"Gray Theme",themeBlackText:"Black Theme",themeOliveText:"Olive Theme",themePurpleText:"Purple Theme",themeDarkGrayText:"Dark Gray Theme",themeSlateText:"Slate Theme",themeVistaText:"Vista Theme",themePeppermintText:"Peppermint Theme",themePinkText:"Pink Theme",themeChocolateText:"Chocolate Theme",themeGreenText:"Green Theme",themeIndigoText:"Indigo Theme",themeMidnightText:"Midnight Theme",themeSilverCherryText:"Silver Cherry Theme", themeSlicknessText:"Slickness Theme",themeVar:"theme",selectThemeText:"Select Theme",themeGrayExtndText:"Gray-Extended Theme",lazyRender:true,lazyInit:true,cssPath:"../ext/resources/css/",initComponent:function(){Ext.apply(this,{store:new Ext.data.SimpleStore({fields:["themeFile",{name:"themeName",type:"string"}],data:[["xtheme-default.css",this.themeBlueText],["xtheme-gray.css",this.themeGrayText],["xtheme-darkgray.css",this.themeDarkGrayText],["xtheme-black.css",this.themeBlackText],["xtheme-olive.css", this.themeOliveText],["xtheme-purple.css",this.themePurpleText],["xtheme-slate.css",this.themeSlateText],["xtheme-peppermint.css",this.themePeppermintText],["xtheme-chocolate.css",this.themeChocolateText],["xtheme-green.css",this.themeGreenText],["xtheme-indigo.css",this.themeIndigoText],["xtheme-midnight.css",this.themeMidnightText],["xtheme-silverCherry.css",this.themeSilverCherryText],["xtheme-slickness.css",this.themeSlicknessText],["xtheme-gray-extend.css",this.themeGrayExtndText]]}),valueField:"themeFile", displayField:"themeName",triggerAction:"all",mode:"local",forceSelection:true,editable:false,fieldLabel:this.selectThemeText});this.store.sort("themeName");Ext.ux.ThemeCombo.superclass.initComponent.apply(this,arguments);this.setValue(Ext.state.Manager.get(this.themeVar)||"xtheme-default.css")},setValue:function(a){Ext.ux.ThemeCombo.superclass.setValue.apply(this,arguments);Ext.util.CSS.swapStyleSheet(this.themeVar,this.cssPath+a);Ext.state.Manager.getProvider()&&Ext.state.Manager.set(this.themeVar, a)}});Ext.reg("themecombo",Ext.ux.ThemeCombo);if(!Ext.isArray)Ext.isArray=function(a){return a&&typeof a.pop==="function"};Ext.ux.IconMenu=function(a){Ext.apply(this,a);Ext.ux.IconMenu.superclass.constructor.apply(this,arguments)}; Ext.extend(Ext.ux.IconMenu,Ext.util.Observable,{closeText:"Close",createDefault:true,dblClickClose:true,defaultItems:["restore","minimize","maximize","separator","close"],maximizeText:"Maximize",minimizeText:"Minimize",restoreText:"Restore",style:"width:16px;height:16px;left:0;top:4px;position:absolute;cursor:pointer",closeHandler:function(){if(this.panel.closable){var a=this.panel.closeAction;"hide"!==a&&this.onDestroy();this.panel[a]()}},getItemByCmd:function(a){if(!this.menu||!a)return null;return this.menu.items.find(function(c){return a=== c.cmd})},hideMenu:function(){this.menu&&this.menu.hide()},init:function(a){this.panel=a;this.iconCls=this.iconCls||a.iconCls;a.on({scope:this,render:this.onRender,hide:this.hideMenu,destroy:this.onDestroy});var c="im-"+a.id;if(this.createDefault&&Ext.isArray(this.defaultItems)&&this.defaultItems.length){if(this.menu)this.menu.add("-");else this.menu=new Ext.menu.Menu({id:c});for(a=0;a<this.defaultItems.length;a++)this.addItem(this.defaultItems[a])}if(Ext.isArray(this.customItems)){if(!this.menu)this.menu= new Ext.menu.Menu({id:c});for(a=0;a<this.customItems.length;a++)this.addItem(this.customItems[a])}if(this.menu){this.menu.id=this.menu.id||c;this.menu=Ext.menu.MenuMgr.get(this.menu);this.menu.on("show",this.onMenuShow,this);this.menu.on("hide",this.onMenuHide,this);this.menu.parentPanel=this.panel}},addItem:function(a){"separator"===a||"-"===a?this.menu.add("-"):this.menu.add("string"===typeof a?{text:this[a+"Text"],cmd:a,iconCls:"x-im-icon x-tool x-tool-"+a,scope:this,handler:this[a+"Handler"]}: a)},maximizeHandler:function(){this.hideMenu();this.panel.maximizable&&this.panel.maximize()},minimizeHandler:function(){this.hideMenu();this.panel.minimizable&&this.panel.minimize()},onDestroy:function(){if(this.menu){var a=this.menu.getEl();a.shadow&&a.shadow.el&&a.shadow.el.remove();this.menu.destroy();a.remove();this.menu=null}},onMenuHide:function(){this.ignoreNextClick=this.restoreClick.defer(350,this)},onMenuShow:function(){this.ignoreNextClick=0},onRender:function(){var a=this.panel.header; if(a){Ext.util.CSS.createStyleSheet(".x-im-icon{float:none!important;margin-left:0!important}");a.addClass("x-panel-icon");a.applyStyles({position:"relative"});this.icon=a.insertFirst({tag:"div",id:Ext.id(),style:this.style,cls:this.iconCls,qtip:this.qtip||this.tooltip||""},"first");var c=a.down("img");if(c){this.icon.alignTo(c,"tl-tl");c.removeClass(this.panel.iconCls||this.iconCls);c.set({src:Ext.BLANK_IMAGE_URL})}this.icon.on({scope:this,dblclick:function(){this.dblClickClose&&this.closeHandler()}, click:{scope:this,delay:200,fn:function(){this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick&&this.showMenu()}}});this.panel.setIconClass=this.setIconClass.createDelegate(this);Ext.util.CSS.getRule(".x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon",true);if(Ext.isIE){Ext.util.CSS.updateRule(".x-panel-tl .x-panel-icon","padding","");Ext.util.CSS.updateRule(".x-panel-tl .x-panel-icon","padding","5px 0 4px 0");Ext.util.CSS.updateRule(".x-window-tl .x-panel-icon","padding","");Ext.util.CSS.updateRule(".x-window-tl .x-panel-icon", "padding","5px 0 4px 0")}else{Ext.util.CSS.updateRule(".x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon","padding","");Ext.util.CSS.updateRule(".x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon","padding","5px 0 4px 0")}c=this.icon.getWidth()+4+"px !important";Ext.util.CSS.createStyleSheet(".x-im-header{padding-left:"+c+";}");a.addClass("x-im-header")}},restoreClick:function(){this.ignoreNextClick=0},restoreHandler:function(){this.hideMenu();this.panel.restore()},setIconClass:function(a){this.icon.replaceClass(this.iconCls, a)},showMenu:function(){var a;if(this.menu)try{(a=this.getItemByCmd("close"))&&a.setDisabled(!this.panel.closable);if(a=this.getItemByCmd("maximize"))a.setDisabled(!this.panel.maximizable||this.panel.maximized);if(a=this.getItemByCmd("minimize"))a.setDisabled(!this.panel.minimizable||this.panel.minimized);if(a=this.getItemByCmd("restore"))a.setDisabled(!(this.panel.minimized||this.panel.maximized));this.menu.show(this.icon,"tl-bl?")}catch(c){}}});Ext.reg("iconmenu",Ext.ux.IconMenu); Ext.ux.Toast=function(){function a(e,b){return['<div class="msg"><div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div><div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><h3>',e,"</h3>",b,'</div></div></div><div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div></div>'].join("")}var c;return{msg:function(e){c||(c=Ext.DomHelper.insertFirst(document.body,{id:"msg-div",style:"position:absolute;z-index:10000"},true));var b=String.format.apply(String, Array.prototype.slice.call(arguments,1));b=Ext.DomHelper.append(c,{html:a(e,b)},true);c.alignTo(document,"t-t");b.slideIn("t").pause(1.5).ghost("t",{remove:true})}}}();Ext.ns("Ext.ux.grid");Ext.ux.grid.Search=function(a){Ext.apply(this,a);Ext.ux.grid.Search.superclass.constructor.call(this)}; Ext.extend(Ext.ux.grid.Search,Ext.util.Observable,{searchText:"Search",searchTipText:"Type a text to search and press Enter",selectAllText:"Select All",position:"bottom",iconCls:"icon-magnifier",checkIndexes:"all",disableIndexes:[],dateFormat:undefined,showSelectAll:true,menuStyle:"checkbox",minCharsTipText:"Type at least {0} characters",mode:"remote",width:100,xtype:"gridsearch",paramNames:{fields:"fields",query:"query"},shortcutKey:"r",shortcutModifier:"alt",init:function(a){this.grid=a;if("string"=== typeof this.toolbarContainer)this.toolbarContainer=Ext.getCmp(this.toolbarContainer);a.onRender=a.onRender.createSequence(this.onRender,this);a.reconfigure=a.reconfigure.createSequence(this.reconfigure,this)},onRender:function(){var a=this.toolbarContainer||this.grid;a="bottom"===this.position?a.bottomToolbar:a.topToolbar;this.menu=new Ext.menu.Menu;if("right"===this.align)a.addFill();else 0<a.items.getCount()&&a.addSeparator();a.add({text:this.searchText,menu:this.menu,iconCls:this.iconCls});this.field= new Ext.form.TwinTriggerField({width:this.width,selectOnFocus:undefined===this.selectOnFocus?true:this.selectOnFocus,trigger1Class:"x-form-clear-trigger",trigger2Class:this.minChars?"x-hidden":"x-form-search-trigger",onTrigger1Click:this.minChars?Ext.emptyFn:this.onTriggerClear.createDelegate(this),onTrigger2Click:this.onTriggerSearch.createDelegate(this),minLength:this.minLength});this.field.on("render",function(){this.field.el.dom.qtip=this.minChars?String.format(this.minCharsTipText,this.minChars): this.searchTipText;this.minChars&&this.field.el.on({scope:this,buffer:300,keyup:this.onKeyUp});(new Ext.KeyMap(this.field.el,[{key:Ext.EventObject.ENTER,scope:this,fn:this.onTriggerSearch},{key:Ext.EventObject.ESC,scope:this,fn:this.onTriggerClear}])).stopEvent=true},this,{single:true});a.add(this.field);this.reconfigure();if(this.shortcutKey&&this.shortcutModifier){a=this.grid.getEl();var c=[{key:this.shortcutKey,scope:this,stopEvent:true,fn:function(){this.field.focus()}}];c[0][this.shortcutModifier]= true;this.keymap=new Ext.KeyMap(a,c)}true===this.autoFocus&&this.grid.store.on({scope:this,load:function(){this.field.focus()}})},onKeyUp:function(){var a=this.field.getValue().toString().length;if(0===a||this.minChars<=a)this.onTriggerSearch()},onTriggerClear:function(){if(this.field.getValue()){this.field.setValue("");this.field.focus();this.onTriggerSearch()}},onTriggerSearch:function(){if(this.field.isValid()){var a=this.field.getValue(),c=this.grid.store;if("local"===this.mode){c.clearFilter(); a&&c.filterBy(function(b){var d=false;this.menu.items.each(function(f){if(!(!f.checked||d)){var g=b.get(f.dataIndex);g=g instanceof Date?g.format(this.dateFormat||b.fields.get(f.dataIndex).dateFormat):g;d=(new RegExp(a,"gi")).test(g)}},this);if(d)return true;return d},this)}else{if(c.lastOptions&&c.lastOptions.params)c.lastOptions.params[c.paramNames.start]=0;var e=[];this.menu.items.each(function(b){b.checked&&e.push(b.dataIndex)});delete c.baseParams[this.paramNames.fields];delete c.baseParams[this.paramNames.query]; if(c.lastOptions&&c.lastOptions.params){delete c.lastOptions.params[this.paramNames.fields];delete c.lastOptions.params[this.paramNames.query]}if(e.length){c.baseParams[this.paramNames.fields]=Ext.encode(e);c.baseParams[this.paramNames.query]=a}c.reload()}}},setDisabled:function(){this.field.setDisabled.apply(this.field,arguments)},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},reconfigure:function(){var a=this.menu;a.removeAll();this.showSelectAll&&"radio"!== this.menuStyle&&a.add(new Ext.menu.CheckItem({text:this.selectAllText,checked:!(this.checkIndexes instanceof Array),hideOnClick:false,handler:function(b){var d=!b.checked;b.parentMenu.items.each(function(f){b!==f&&f.setChecked&&!f.disabled&&f.setChecked(d)})}}),"-");var c=this.grid.colModel,e=undefined;if("radio"===this.menuStyle)e="g"+(new Date).getTime();Ext.each(c.config,function(b){var d=false;if(b.header&&b.dataIndex){Ext.each(this.disableIndexes,function(f){d=d?d:f===b.dataIndex});d||a.add(new Ext.menu.CheckItem({text:b.header, hideOnClick:false,group:e,checked:"all"===this.checkIndexes,dataIndex:b.dataIndex}))}},this);this.checkIndexes instanceof Array&&Ext.each(this.checkIndexes,function(b){var d=a.items.find(function(f){return f.dataIndex===b});d&&d.setChecked(true,true)},this);this.readonlyIndexes instanceof Array&&Ext.each(this.readonlyIndexes,function(b){var d=a.items.find(function(f){return f.dataIndex===b});d&&d.disable()},this)}}); if("function"!==typeof RegExp.escape)RegExp.escape=function(a){if("string"!==typeof a)return a;return a.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};Ext.ns("Ext.ux.grid");Ext.ux.grid.RowActions=function(a){Ext.apply(this,a);this.addEvents("beforeaction","action","beforegroupaction","groupaction");Ext.ux.grid.RowActions.superclass.constructor.call(this)}; Ext.extend(Ext.ux.grid.RowActions,Ext.util.Observable,{actionEvent:"click",autoWidth:true,dataIndex:"",header:"",menuDisabled:true,sortable:false,tplGroup:'<tpl for="actions"><div class="ux-grow-action-item<tpl if="\'right\'===align"> ux-action-right</tpl> {cls}" style="{style}" qtip="{qtip}">{text}</div></tpl>',tplRow:'<div class="ux-row-action"><tpl for="actions"><div class="ux-row-action-item {cls} <tpl if="text">ux-row-action-text</tpl>" style="{hide}{style}" qtip="{qtip}"><tpl if="text"><span qtip="{qtip}">{text}</span></tpl></div></tpl></div>', hideMode:"visiblity",widthIntercept:4,widthSlope:21,init:function(a){this.grid=a;if(!this.tpl)this.tpl=this.processActions(this.actions);if(this.autoWidth){this.width=this.widthSlope*this.actions.length+this.widthIntercept;this.fixed=true}var c=a.getView(),e={scope:this};e[this.actionEvent]=this.onClick;a.afterRender=a.afterRender.createSequence(function(){c.mainBody.on(e)},this);if(!this.renderer)this.renderer=function(b,d,f,g,h,i){d.css+=(d.css?" ":"")+"ux-row-action-cell";return this.tpl.apply(this.getData(b, d,f,g,h,i))}.createDelegate(this);if(c.groupTextTpl&&this.groupActions){c.interceptMouse=c.interceptMouse.createInterceptor(function(b){if(b.getTarget(".ux-grow-action-item"))return false});c.groupTextTpl='<div class="ux-grow-action-text">'+c.groupTextTpl+"</div>"+this.processActions(this.groupActions,this.tplGroup).apply()}},getData:function(a,c,e){return e.data||{}},processActions:function(a,c){var e=[];Ext.each(a,function(b){if(b.iconCls&&"function"===typeof(b.callback||b.cb)){this.callbacks=this.callbacks|| {};this.callbacks[b.iconCls]=b.callback||b.cb}e.push({cls:b.iconIndex?"{"+b.iconIndex+"}":b.iconCls?b.iconCls:"",qtip:b.qtipIndex?"{"+b.qtipIndex+"}":b.tooltip||b.qtip?b.tooltip||b.qtip:"",text:b.textIndex?"{"+b.textIndex+"}":b.text?b.text:"",hide:b.hideIndex?'<tpl if="'+b.hideIndex+'">'+("display"===this.hideMode?"display:none":"visibility:hidden")+";</tpl>":b.hide?"display"===this.hideMode?"display:none":"visibility:hidden;":"",align:b.align||"right",style:b.style?b.style:""})},this);a=new Ext.XTemplate(c|| this.tplRow);return new Ext.XTemplate(a.apply({actions:e}))},onClick:function(a,c){var e=this.grid.getView(),b=false,d=a.getTarget(".x-grid3-row"),f=e.findCellIndex(c.parentNode.parentNode),g=a.getTarget(".ux-row-action-item");if(g)if(b=g.className.replace(/ux-row-action-item /,"")){b=b.replace(/ ux-row-action-text/,"");b=b.trim()}if(false!==d&&false!==f&&false!==b){g=this.grid.store.getAt(d.rowIndex);this.callbacks&&"function"===typeof this.callbacks[b]&&this.callbacks[b](this.grid,g,b,d.rowIndex, f);if(true!==this.eventsSuspended&&false===this.fireEvent("beforeaction",this.grid,g,b,d.rowIndex,f))return;else true!==this.eventsSuspended&&this.fireEvent("action",this.grid,g,b,d.rowIndex,f)}if(g=a.getTarget(".ux-grow-action-item")){a=(b=e.findGroup(c))?b.id.replace(/ext-gen[0-9]+-gp-/,""):null;var h;if(a){var i=new RegExp(RegExp.escape(a));h=(h=this.grid.store.queryBy(function(j){return j._groupId.match(i)}))?h.items:[]}b=g.className.replace(/ux-grow-action-item (ux-action-right )*/,"");"function"=== typeof this.callbacks[b]&&this.callbacks[b](this.grid,h,b,a);if(true!==this.eventsSuspended&&false===this.fireEvent("beforegroupaction",this.grid,h,b,a))return false;this.fireEvent("groupaction",this.grid,h,b,a)}}});Ext.reg("rowactions",Ext.ux.grid.RowActions);
