|
|||||||
![]() |
|
|
Thread Tools | Search this Thread |
|
#1
|
|||
|
|||
|
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] |
|
#2
|
|||
|
|||
|
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();
}
|
|
#3
|
|||
|
|||
|
any ideas?
Is there any way to delay the server operation until after the doubleclick? |
![]() |
| Thread Tools | Search this Thread |
|
|
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 |