this._refDataSource; \r
}\r
\r
-\r
-\r
+// RDF list\r
+var gMaxDataList = 15;\r
+var gCurposList = -1;\r
+var gIDTimeoutList = null;\r
+var gIDTimeoutListSearch = null;\r
+var gSearchText = "";\r
+var gRDFList = null;\r
\r
\r
var gArgsOpener = null;\r
$("#ximfmail_dTreeDel").bind("command",OnPushDelSelection);\r
$("#ximfmail_dTreeRaz").bind("command",OnPushRazSelection); \r
\r
+ // event for scroll \r
+ $("#ximfmailTreeDialogScroll").mousemove(OnClickScrollTreeList);\r
+ $("#ximfmailTreeDialogScroll").click(OnClickScrollTreeList);\r
+ $("#iTreechildDialog").mousemove(OnClickScrollTreeList);\r
+ $(window).resize(OnClickScrollTreeList);\r
+ \r
+ document.getElementById("iTreechildDialog").addEventListener('DOMMouseScroll', OnScrollTreeList, false);\r
+ $("#ximfmail.treedialog").keypress(OnKeyPressScrollTreeList);\r
+ $("#ximfmailTreeDialogDisplaybox").keypress(OnKeyPressScrollTreeList);\r
+ \r
// load background datas\r
try{\r
gArgsOpener = gArgs[0]; // gArgs[0] is an XimfmailTreedialogArgs object - XimfmailTreedialogArgs class description at ximfmail.js file\r
}\r
\r
// create alert message \r
- if(parseInt(gArgsOpener.maxItemsSelected) > 1){\r
+ if(parseInt(gArgsOpener.maxItemsSelected, 10) > 1){\r
gDlgTreeXimf_maxItem_alert = gArgsOpener.maxItemsSelected + " "+ getIlkProperties("ximfmail.dialog.editor.warning.nbrows");\r
}else{\r
- if(parseInt(gArgsOpener.maxItemsSelected) == 1){\r
+ if(parseInt(gArgsOpener.maxItemsSelected, 10) == 1){\r
gDlgTreeXimf_maxItem_alert = gArgsOpener.maxItemsSelected + " "+ getIlkProperties("ximfmail.dialog.editor.warning.nbrows.one");\r
}\r
}\r
gConsole.logStringMessage("[ximfmail - AddCurrentSelection ] \n " + e + "\nfile : " + Error().fileName+"\nline : "+ e.lineNumber);\r
}\r
\r
- setTimeout("LoadXmlDatas()", 50); \r
+ LoadXmlDatas(); \r
});\r
\r
/*\r
try{ \r
//\r
var tree = document.getElementById("iTreechildDialog"); \r
- tree.database.AddDataSource(gArgsOpener.dataSource); \r
- tree.setAttribute("ref",gArgsOpener.refdataSource); \r
+ \r
+ gRDFList = new DialogTreeRDFClass();\r
+ gRDFList.initialize(gArgsOpener.dataSource, gArgsOpener.refdataSource);\r
+ \r
+ tree.database.AddDataSource(gRDFList.getDataSource()); \r
+ //tree.setAttribute("ref",gArgsOpener.refdataSource); \r
tree.builder.rebuild();\r
+ \r
+ OnClickScrollTreeList(0);\r
+ \r
//\r
AddCurrentSelection();\r
}catch(e){ \r
//alert(row.value + " : " + idMatch);\r
//return {row: row.value, col: idMatch}; \r
}\r
+\r
+\r
+/* for to scroll */\r
+function OnClickScrollTreeList(evt)\r
+{\r
+ try\r
+ {\r
+ if(parseInt($("#ximfmailTreeDialogScroll").attr("maxpos"), 10) <=0)\r
+ return;\r
+ var treeResult = document.getElementById("ximfmail.treedialog");\r
+ $("#iTreechildDialog").attr("hidevscroll","true");\r
+ var curpos = 0;\r
+ \r
+ curpos = parseInt($("#ximfmailTreeDialogScroll").attr("curpos"), 10);\r
+ var pageLength = gMaxDataList;\r
+ try{\r
+ pageLength = treeResult.boxObject.getPageLength();\r
+ if(0 == pageLength)\r
+ pageLength = gMaxDataList;\r
+ }catch(e){pageLength = gMaxDataList;}\r
+ \r
+ /*gConsole.logStringMessage("gCurposList=" + gCurposList + " curpos=" + curpos+ " gMaxDataList=" + gMaxDataList\r
+ + " pageLength=" + pageLength+ " gRDFList.getEntriesCount()=" + gRDFList.getEntriesCount());*/\r
+ \r
+ if(gCurposList != curpos || gMaxDataList != pageLength \r
+ || gMaxDataList != gRDFList.getEntriesCount()\r
+ || evt == 0)\r
+ {\r
+ window.setCursor("wait");\r
+ gMaxDataList = pageLength;\r
+ var maxEntry = parseInt(gRDFList.getMaxEntry(), 10);\r
+ \r
+ gRDFList.updateDisplay(curpos,gMaxDataList-1);\r
+ var maxpos = gMaxDataList;\r
+ \r
+ if(maxEntry - gMaxDataList >= 0)\r
+ maxpos = maxEntry - gMaxDataList;\r
+ else\r
+ maxpos = -1;\r
+ \r
+ if(maxEntry < gMaxDataList)\r
+ gMaxDataList = maxEntry;\r
+ $("#ximfmailTreeDialogScroll").attr("maxpos",maxpos);\r
+ \r
+ gCurposList = curpos;\r
+ \r
+ if(maxEntry == 0 || maxpos <= 0) \r
+ {\r
+ $("#ximfmailTreeDialogScroll").attr("hidden","true");\r
+ gMaxDataList = maxEntry;\r
+ }\r
+ else\r
+ $("#ximfmailTreeDialogScroll").removeAttr("hidden");\r
+ \r
+ if(treeResult.database != null)\r
+ {\r
+ treeResult.database.AddDataSource(gRDFList.getDataSource());\r
+ treeResult.builder.rebuild();\r
+ clearTimeout(gIDTimeoutList);\r
+ gIDTimeoutList = setTimeout(OnClickScrollTreeList,100,1);\r
+ }\r
+ }\r
+ }catch(e){\r
+ gConsole.logStringMessage("[ximfmail - OnClickScrollTreeList ] \n " + e + "\nfile : " + Error().fileName+"\nline : "+Error().lineNumber);\r
+ }\r
+ window.setCursor("auto");\r
+}\r
+\r
+function OnScrollTreeList(event)\r
+{\r
+ window.setCursor("wait");\r
+ try\r
+ {\r
+ var curpos = parseInt($("#ximfmailTreeDialogScroll").attr("curpos"), 10);\r
+ var addPos = 0;\r
+ if(event.detail == -3)\r
+ addPos = -3;\r
+ else if(event.detail == 3)\r
+ addPos = 3;\r
+ curpos += addPos;\r
+ var maxpos = parseInt(gRDFList.getMaxEntry(), 10) - gMaxDataList;\r
+ \r
+ if(curpos<0)\r
+ curpos = 0;\r
+ if(curpos>maxpos)\r
+ curpos = maxpos;\r
+ \r
+ $("#ximfmailTreeDialogScroll").attr("curpos", curpos);\r
+ OnClickScrollTreeList(0);\r
+ }\r
+ catch(e)\r
+ {\r
+ gConsole.logStringMessage("[ximfmail - OnScrollTreeList ] \n " + e + "\nfile : " + Error().fileName+"\nline : "+Error().lineNumber);\r
+ }\r
+ window.setCursor("auto");\r
+}\r
+\r
+function OnKeyPressScrollTreeList(event)\r
+{\r
+ window.setCursor("wait");\r
+ gConsole.logStringMessage("[ximfmail - OnKeyPressScrollTreeList ] enter");\r
+ try\r
+ {\r
+ var curpos = parseInt($("#ximfmailTreeDialogScroll").attr("curpos"), 10);\r
+ var addPos = 0;\r
+ var maxEntry = parseInt(gRDFList.getMaxEntry(), 10);\r
+ var maxpos = maxEntry - gMaxDataList;\r
+ var textToFind = "";\r
+ \r
+ switch(event.keyCode)\r
+ {\r
+ case 33:\r
+ // page up\r
+ addPos = 1-gMaxDataList;\r
+ break;\r
+ \r
+ case 34:\r
+ // page down\r
+ addPos = gMaxDataList-1;\r
+ break;\r
+ \r
+ case 35:\r
+ // end\r
+ addPos = 0;\r
+ curpos = maxpos;\r
+ break;\r
+ \r
+ case 36:\r
+ // beggin\r
+ addPos = 0;\r
+ curpos = 0;\r
+ break; \r
+ \r
+ case 38:\r
+ // up\r
+ addPos = -1;\r
+ break;\r
+ \r
+ case 40:\r
+ // down\r
+ addPos = 1;\r
+ break;\r
+ \r
+ default:\r
+ if(event.charCode ==0)\r
+ {\r
+ window.setCursor("auto");\r
+ return;\r
+ }\r
+ else\r
+ textToFind = String.fromCharCode(event.charCode);\r
+ }\r
+ \r
+ if("" == textToFind)\r
+ {\r
+ curpos += addPos;\r
+ \r
+ if(curpos<0)\r
+ curpos = 0;\r
+ if(curpos>maxpos)\r
+ curpos = maxpos;\r
+ \r
+ $("#ximfmailTreeDialogScroll").attr("curpos", curpos);\r
+ OnClickScrollTreeList(0);\r
+ }\r
+ else\r
+ {\r
+ clearTimeout(gIDTimeoutListSearch);\r
+ gSearchText += textToFind;\r
+ var curposAfter = gRDFList.updateDisplayByText(gSearchText,gMaxDataList,curpos);\r
+ if(curposAfter == -1)\r
+ {\r
+ gSearchText = "";\r
+ window.setCursor("auto");\r
+ return;\r
+ }\r
+ else\r
+ {\r
+ var maxpos = gMaxDataList;\r
+ if(maxEntry - gMaxDataList >= 0)\r
+ maxpos = maxEntry - gMaxDataList;\r
+ else\r
+ maxpos = -1;\r
+ \r
+ if(maxEntry < gMaxDataList)\r
+ gMaxDataList = maxEntry;\r
+ \r
+ $("#ximfmailTreeDialogScroll").attr("maxpos",maxpos);\r
+ $("#ximfmailTreeDialogScroll").attr("curpos", curposAfter);\r
+ OnClickScrollTreeList(0);\r
+ \r
+ gIDTimeoutListSearch = setTimeout(resetSearchText,2000);\r
+ }\r
+ }\r
+ \r
+ }\r
+ catch(e)\r
+ {\r
+ gConsole.logStringMessage("[ximfmail - OnKeyPressScrollTreeList ] \n " + e + "\nfile : " + Error().fileName+"\nline : "+Error().lineNumber);\r
+ }\r
+ window.setCursor("auto");\r
+}\r
+\r
+function resetSearchText()\r
+{\r
+ gSearchText = "";\r
+ gIDTimeoutListSearch = null;\r
+}\r