/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\lib\ext-namirial\Ext.ux.Namirial.form.RemoteLookup.js

Ext.ns("Ext.ux");Ext.ns('Ext.ux.Namirial');Ext.ns('Ext.ux.Namirial.form');Ext.ux.Namirial.form.RemoteLookup=Ext.extend(Ext.Panel,{layout:'form',initComponent:function(){try{Ext.ux.Namirial.form.RemoteLookup.superclass.initComponent.call(this);this.addEvents('beforeshowlist');this.edit=false;this.offlineMessage=this.offlineMessage||"Operazione non consentita in modalit"+UNI_A+" offline.";this.storeFilter=this.store.selectFilter;this.windowWidth=this.windowWidth||800;this.windowHeight=this.windowHeight||400;this.pageSize=this.pageSize||10;if(Ext.isEmpty(this.campoRicerca)){Toast('Errore generico');log.error("Ext.ux.Namirial.form.RemoteLookup - campoRicerca mancante")}
else{this.campoRicerca.enableKeyEvents=true;this.campoRicerca.isLookup=true;this.campoRicerca.lookup=this;this.add(this.campoRicerca);}
this.searchField=new Ext.form.TwinTriggerField({id:this.id+'_searchField',name:this.mappingRicerca||this.campoRicerca.name,fieldLabel:'CERCA',width:200,enableKeyEvents:true,selectOnFocus:true,qtip:{text:UNI_E_MAIUSC+" possibile utilizzare * come carattere jolly"},trigger1Class:'x-form-clear-trigger',trigger2Class:'x-form-search-trigger'})
this.searchField.onTrigger1Click=this.cancella.createDelegate(this);this.searchField.onTrigger2Click=this.cerca.createDelegate(this);this.btn_ok=new Ext.Button({iconCls:'x-btn-text-icon',text:'Ok',icon:IMG_OK,minWidth:80,handler:function(){var rec=this.grid.getSelections()[0];if(!Ext.isEmpty(rec))
this.selectRecord.call(this,rec);else
this.lookupWindow.hide();},scope:this})
this.btn_annulla=new Ext.Button({iconCls:'x-btn-text-icon',text:'Annulla',icon:IMG_CANCEL,minWidth:80,handler:function(){this.lookupWindow.hide();},scope:this})
this.sm=new Ext.grid.RowSelectionModel({singleSelect:true})
this.pag=new Ext.PagingToolbar({pageSize:this.pageSize,store:this.store,refreshText:'Ricarica'});this.grid=new Ext.grid.GridPanel({id:this.id+'_grid',height:(this.pageSize*21)+24,stripeRows:true,store:this.store,border:false,loadMask:true,columns:this.gridHeaders,sm:this.sm,bbar:this.pag});this.grid.on('rowdblclick',function(grid,row,e){var rec=this.sm.getSelected();this.selectRecord.call(this,rec);},this);this.grid.on('keydown',function(e){var key=e.getKey();switch(key){case Ext.EventObject.ENTER:var rec=this.sm.getSelected();this.selectRecord.call(this,rec);break;case Ext.EventObject.RIGHT:if(!this.pag.next.disabled)
this.pag.next.handler();break;case Ext.EventObject.LEFT:if(!this.pag.prev.disabled)
this.pag.prev.handler();break;}},this);this.campoRicerca.on({scope:this,'keyup':function(cmp,e){if(e.getKey()==113){this.openList(false)}}});this.searchField.on({scope:this,'keyup':function(cmp,e){if(e.getKey()==13){this.cerca();}}})
this.createWindow();}catch(e){log.error("Ext.ux.Namirial.form.RemoteLookup - ",e)}},cerca:function(){var search=this.searchField.getValue();search=search.replace(/[\\*]/g,'//');var filter="WHERE "+((this.storeFilter)?(this.storeFilter+" AND "):"")+this.searchField.getName()+' LIKE \''+search+'//\'';this.store.setFilter(filter);this.store.load({params:{start:0,limit:this.pageSize}});},cancella:function(){this.searchField.setValue('');},selectRecord:function(rec){if(this.mapping){for(var i=0,len=this.mapping.length;i<len;i++){var value=rec.get(this.mapping[i].valore);this.mapping[i].campo.setValue(value);this.mapping[i].campo.getEl().highlight("0000FF",{attr:'background-color',duration:2});}}else{this.campoRicerca.setValue(rec.get(this.campoRicerca.getName()));}
this.lookupWindow.hide();},createWindow:function(){this.lookupWindow=new Ext.Window({draggable:true,constrainHeader:true,layout:'fit',closeAction:'hide',title:this.windowTitle,width:this.windowWidth,height:this.windowHeight,items:this.grid,tbar:[{xtype:'label',html:'<table height="30" cellspadding="0" cellspacing="0"><tr><td style="padding-left: 15px; padding-right: 10px;" valign="middle">'+getText['CERCA']+':</td></tr></table>'},this.searchField],bbar:['->',this.btn_ok,this.btn_annulla]})
this.lookupWindow.on({'beforeshow':{fn:function(){hideLoading()}},'show':{fn:function(){this.cerca();},scope:this},'hide':{fn:function(){this.campoRicerca.focus(true,100);},scope:this},'beforehide':{fn:function(){if(!Ext.isEmpty(this.closeHandler)){this.lookupWindow.suspendEvents();this.closeHandler.call(this);return false;}},scope:this}});},openList:function(){if(this.fireEvent("beforeshowlist",this)!==false){if(session.isOnline){showLoading(null,null,null,this.showList.createDelegate(this))}else{Toast("Operazione non consentita",this.offlineMessage)}}},showList:function(){if(Ext.isEmpty(Ext.WindowMgr.get[this.id+'_window'])){this.lookupWindow.show();}}})

