Go Back   SmartClient Forums > Smart GWT Technical Q&A
Wiki Register Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread
  #1  
Old 15th Nov 2011, 13:09
pmallela pmallela is offline
Registered Developer
 
Join Date: Aug 2011
Posts: 4
Default RecordDoubleClickEvent not firing if RecordClickEvent has server call

Hi, i'm using smartgwtEE 2.5 and Internet Explorer 7

I am attempting to apply a RecordClickHandler and a RecordDoubleClickHandler to a listgrid. Normally, both are called when I double click a record. However, there are some cases where the doubleclick event does not fire. This occurs when there is a server call, i.e. fetch, within the RecordClickHandler. The single-clickevent fires first, performs the server operation, and then for some reason stops the doubleclick event from firing. If the server call does not execute (e.g. if the results are already obtained), then the doubleclick event fires as expected.

Is there any way to ensure the DoubleClick event fires? Even when there is a server operation?


Code:
                MyHandler hand = new MyHandler();

		itemList.addRecordClickHandler(hand);

		itemList.addRecordDoubleClickHandler(hand);
Code:
class MyHandler implements RecordClickHandler, RecordDoubleClickHandler{

		@Override
		public void onRecordClick(RecordClickEvent event) {
			System.out.println("rec click");
			
			try{
				Criteria criteria = new Criteria();
				criteria.setAttribute("currGroupCode",  "X");
			
				currencyGroupMapSearchForm.itemListGrid.fetchData(criteria);

			}
			catch(Exception e){
			}

		}

		@Override
		public void onRecordDoubleClick(RecordDoubleClickEvent event) {
			System.out.println("rec DOUBLE click");
		}

	}

Code:
rec click
=== 2011-11-15 16:37:10,383 [l0-1] INFO  RequestContext - URL: '/veyron/sc/IDACall', User-Agent: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; chromeframe/10.0.648.204; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; .NET4.0C; .NET4.0E; .NET CLR 3.0.04506.30; MS-RTC LM 8; MS-RTC LM 8)': MSIE with Accept-Encoding header, ready for compressed JS
=== 2011-11-15 16:37:10,383 [l0-1] DEBUG XML - Parsed XML from (in memory stream): 0ms
=== 2011-11-15 16:37:10,399 [l0-1] DEBUG RPCManager - Processing 1 requests.
=== 2011-11-15 16:37:10,399 [l0-1] DEBUG RPCManager - Request #1 (DSRequest) payload: {
    criteria:{
        currGroupCode:"X"
    },
    operationConfig:{
        dataSource:"currencyGroupMapping",
        operationType:"fetch",
        textMatchStyle:"exact"
    },
    startRow:0,
    endRow:75,
    componentId:"isc_CommonListGrid_45",
    appID:"builtinApplication",
    operation:"currencyGroupMapping_fetch",
    oldValues:{
        currGroupCode:"X"
    }
}
=== 2011-11-15 16:37:10,399 [l0-1] DEBUG AppBase - [builtinApplication.currencyGroupMapping_fetch] No userTypes defined, allowing anyone access to all operations for this application
=== 2011-11-15 16:37:10,399 [l0-1] DEBUG AppBase - [builtinApplication.currencyGroupMapping_fetch] No public zero-argument method named '_currencyGroupMapping_fetch' found, performing generic datasource operation
query :select cgm.CURR_GROUP_CODE as currGroupCode, cgm.curr_code as currCode from CURRENCY_GROUP_MAP cgm, CURRENCY_GROUP cg  where cg.curr_group_code=cgm.curr_group_code and cgm.curr_group_code = ?  ~param  X
Hibernate: select cgm.CURR_GROUP_CODE as currGroupCode, cgm.curr_code as currCode from CURRENCY_GROUP_MAP cgm, CURRENCY_GROUP cg  where cg.curr_group_code=cgm.curr_group_code and cgm.curr_group_code = ?
size :3
=== 2011-11-15 16:37:10,461 [l0-1] INFO  DSResponse - [builtinApplication.currencyGroupMapping_fetch] DSResponse: List with 3 items
=== 2011-11-15 16:37:10,461 [l0-1] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
=== 2011-11-15 16:37:10,461 [l0-1] DEBUG RPCManager - non-DMI response, dropExtraFields: false
=== 2011-11-15 16:37:10,477 [l0-1] INFO  Compression - /veyron/sc/IDACall: 286 -> 165 bytes

This happens when server operation is executed (sorry for the messy log, wasnt sure what you wanted to see)
Code:
16:35:40.760:TMR0:DEBUG:EventHandler:mousing over [GridBody ID:isc_CommonListGrid_44_body]
16:35:42.682:MDN9:INFO:EventHandler:Target Canvas for event 'mousedown': [GridBody ID:isc_CommonListGrid_44_body]
16:37:06.914:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[GridBody ID:isc_CommonListGrid_44_body]' has handler: Canvas.prepareForDragging()
16:37:06.946:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[ListGrid ID:isc_CommonListGrid_44]' has handler: Canvas.prepareForDragging()
16:37:06.961:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[VLayout ID:isc_VLayout_58]' has handler: Canvas.prepareForDragging()
16:37:06.977:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ReferenceTabPane_6_paneContainer]' has handler: Canvas.prepareForDragging()
16:37:06.993:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ReferenceTabPane_6]' has handler: Canvas.prepareForDragging()
16:37:07.680:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[SectionStack ID:isc_SectionStack_18]' has handler: Canvas.prepareForDragging()
16:37:07.711:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[HLayout ID:isc_CurrencyGroupTab_0]' has handler: Canvas.prepareForDragging()
16:37:07.727:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_CurrencyTabSet_0_paneContainer]' has handler: Canvas.prepareForDragging()
16:37:07.743:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_CurrencyTabSet_0]' has handler: Canvas.prepareForDragging()
16:37:07.774:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ReferenceProcessTab_0_paneContainer]' has handler: Canvas.prepareForDragging()
16:37:07.789:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ReferenceProcessTab_0]' has handler: Canvas.prepareForDragging()
16:37:08.602:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ParentTabSet_0_paneContainer]' has handler: Canvas.prepareForDragging()
16:37:08.633:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ParentTabSet_0]' has handler: Canvas.prepareForDragging()
16:37:08.649:MDN9:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[HLayout ID:isc_ParentLayout_0]' has handler: Canvas.prepareForDragging()
16:37:08.664:MDN9:DEBUG:EventHandler:Event 'prepareForDragging' bubbled to top
16:37:08.774:MDN9:DEBUG:EventHandler:Event 'mouseDown' bubbled to top
16:37:08.805:MDN9:DEBUG:EventHandler:Event 'mouseStillDown' bubbled to top
16:37:09.680:MUP4:INFO:EventHandler:Target Canvas for event 'mouseup': [GridBody ID:isc_CommonListGrid_44_body]
16:37:09.711:MUP4:DEBUG:EventHandler:Event 'mouseUp' bubbled to top
16:37:10.289:MUP4:INFO:RPCManager:sendQueue[12]: 1 RPCRequest(s); transport: xmlHttpRequest; target: http://127.0.0.1:8888/veyron/sc/IDACall?isc_rpc=1&isc_v=SC_SNAPSHOT-2011-08-02&isc_xhr=1&isc_tnum=12
16:37:10.321:MUP4:DEBUG:EventHandler:Event 'click' bubbled to top
16:37:10.352:TMR6:DEBUG:EventHandler:mousing over [GridBody ID:isc_CommonListGrid_44_body]
16:37:10.414:MUP1:INFO:EventHandler:Target Canvas for event 'mouseup': [ScreenSpan ID:isc_EH_screenSpan]
16:37:10.836:MUP1:DEBUG:EventHandler:mouseUp cancelled by clickMask
16:37:10.852:TMR4:DEBUG:EventHandler:mousing over [ScreenSpan ID:isc_EH_screenSpan]
16:37:10.883:XRP8:INFO:RPCManager:transaction 12 arrived after 578ms
16:37:10.883:XRP8:INFO:RPCManager:rpcResponse(currencyGroupMapping_fetch)[fetch]: result: 3 records[status=0]

this happens when server operation is not executed and doubleclick event fires successfully
Code:
17:04:07.055:MDN7:INFO:EventHandler:Target Canvas for event 'mousedown': [GridBody ID:isc_CommonListGrid_44_body]
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[GridBody ID:isc_CommonListGrid_44_body]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[ListGrid ID:isc_CommonListGrid_44]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[VLayout ID:isc_VLayout_58]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ReferenceTabPane_6_paneContainer]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ReferenceTabPane_6]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[SectionStack ID:isc_SectionStack_18]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[HLayout ID:isc_CurrencyGroupTab_0]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_CurrencyTabSet_0_paneContainer]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_CurrencyTabSet_0]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ReferenceProcessTab_0_paneContainer]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ReferenceProcessTab_0]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ParentTabSet_0_paneContainer]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ParentTabSet_0]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[HLayout ID:isc_ParentLayout_0]' has handler: Canvas.prepareForDragging()
17:04:07.055:MDN7:DEBUG:EventHandler:Event 'prepareForDragging' bubbled to top
17:04:07.055:MDN7:DEBUG:EventHandler:Event 'mouseDown' bubbled to top
17:04:07.055:MDN7:DEBUG:EventHandler:Event 'mouseStillDown' bubbled to top
17:04:07.118:MUP8:INFO:EventHandler:Target Canvas for event 'mouseup': [GridBody ID:isc_CommonListGrid_44_body]
17:04:07.118:MUP8:DEBUG:EventHandler:Event 'mouseUp' bubbled to top
17:04:07.133:MUP8:DEBUG:EventHandler:Event 'click' bubbled to top
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[GridBody ID:isc_CommonListGrid_44_body]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[ListGrid ID:isc_CommonListGrid_44]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[VLayout ID:isc_VLayout_58]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ReferenceTabPane_6_paneContainer]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ReferenceTabPane_6]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[SectionStack ID:isc_SectionStack_18]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[HLayout ID:isc_CurrencyGroupTab_0]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_CurrencyTabSet_0_paneContainer]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_CurrencyTabSet_0]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ReferenceProcessTab_0_paneContainer]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ReferenceProcessTab_0]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_ParentTabSet_0_paneContainer]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_ParentTabSet_0]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[HLayout ID:isc_ParentLayout_0]' has handler: Canvas.prepareForDragging()
17:04:07.258:MUP2:DEBUG:EventHandler:Event 'prepareForDragging' bubbled to top
17:04:07.258:MUP2:DEBUG:EventHandler:Event 'mouseDown' bubbled to top
17:04:07.258:MUP2:DEBUG:EventHandler:Event 'mouseStillDown' bubbled to top
17:04:07.258:MUP2:INFO:EventHandler:Target Canvas for event 'mouseup': [GridBody ID:isc_CommonListGrid_44_body]
17:04:07.274:MUP2:DEBUG:EventHandler:Event 'mouseUp' bubbled to top
17:04:07.274:MUP2:DEBUG:EventHandler:Event 'doubleClick' bubbled to top
17:04:09.211:TMR3:DEBUG:EventHandler:mousing out of [GridBody ID:isc_CommonListGrid_44_body]  mousing over [ImgTab ID:isc_Tab_57]
any insight? Thanks a lot ...
Reply With Quote
  #2  
Old 15th Nov 2011, 13:15
pmallela pmallela is offline
Registered Developer
 
Join Date: Aug 2011
Posts: 4
Default

here is the fetch operation on the server side in case its relevant:

Code:
@Override
	public DSResponse executeFetch(DSRequest req) throws Exception {
		DSResponse dsResponse = new DSResponse();
		dsResponse.setSuccess();
 
		String query = "select cgm.CURR_GROUP_CODE as currGroupCode, cgm.curr_code as currCode from CURRENCY_GROUP_MAP cgm, CURRENCY_GROUP cg  where cg.curr_group_code=cgm.curr_group_code and cgm.curr_group_code = ?";

    	List params = new ArrayList();
    	params.add(req.getCriteria().get("currGroupCode"));

////
    	List<Object[]> dataList = new StaticReferenceDAO().findByQuery(null, query, params);
////


    	List<CurrencyGroupMapping> currGroupMappingList = new ArrayList<CurrencyGroupMapping>();

    	CurrencyGroupMapping cgm;
    	
    	for(Iterator i = dataList.iterator(); i.hasNext(); ){
    		Object[] array = (Object[]) i.next();
    		String currGroupCode;
    		String currCode;
    		String currGroupName;
    		
			currGroupCode = (String) array[0];
			currCode = (String) array[1];
			//currGroupName = (String) array[2];
			cgm = new CurrencyGroupMapping(currGroupCode,currCode,"Y");
			currGroupMappingList.add(cgm);
    	}
    	
        dsResponse.setData(currGroupMappingList);
        return dsResponse;
	}
Code:
public List<Object[]> findByQuery(Map<String, String> dataParams, String strQuery, List params) {
		Query query = getSession().createSQLQuery(strQuery);
		if(strQuery.indexOf("?") != -1)
		{
			for(int i = 0; i < params.size(); i++)
			{
				query.setParameter(i, params.get(i));
			}
		}
		query.setCacheable(false);
		return query.list();
	}
Reply With Quote
  #3  
Old 22nd Nov 2011, 06:14
pmallela pmallela is offline
Registered Developer
 
Join Date: Aug 2011
Posts: 4
Default

any ideas?

Is there any way to delay the server operation until after the doubleclick?
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search


Similar Threads
Thread Thread Starter Forum Replies Last Post
Smart Client Datasource server call problem to WSDL web services in C#.Net for save nskit84 Technical Q&A 2 4th Feb 2013 23:52
setPickListCriteria causes only one call to the server plech.d Smart GWT Technical Q&A 10 17th Mar 2011 03:59
The Smart GWT FAQ Isomorphic Smart GWT Technical Q&A 0 27th Oct 2009 17:41
Unnecessary call to server when using RestDataSource and ListGrid yapning Technical Q&A 1 22nd Apr 2009 08:43
How to trigger a fetchMode paged call to the server pallen Technical Q&A 3 24th Jun 2007 14:12

© 2010,2011 Isomorphic Software. All Rights Reserved