/* ***** BEGIN LICENSE BLOCK *****\r
* Copyright (c) 2008-2009 EADS DEFENCE AND SECURITY - All rights reserved.\r
* ximfmail is under the triple license MPL 1.1/GPL 2.0/LGPL 2.1.\r
- * \r
*\r
- * Redistribution and use, in source and binary forms, with or without modification, \r
+ *\r
+ * Redistribution and use, in source and binary forms, with or without modification,\r
* are permitted provided that the following conditons are met :\r
*\r
- * 1. Redistributions of source code must retain the above copyright notice, \r
- * 2. MPL 1.1/GPL 2.0/LGPL 2.1. license agreements must be attached \r
+ * 1. Redistributions of source code must retain the above copyright notice,\r
+ * 2. MPL 1.1/GPL 2.0/LGPL 2.1. license agreements must be attached\r
* in the redistribution of the source code.\r
- * 3. Neither the names of the copyright holders nor the names of any contributors \r
- * may be used to endorse or promote products derived from this software without specific \r
+ * 3. Neither the names of the copyright holders nor the names of any contributors\r
+ * may be used to endorse or promote products derived from this software without specific\r
* prior written permission from EADS Defence and Security.\r
- * \r
+ *\r
* Alternatively, the contents of this file may be used under the terms of\r
* either of the GNU General Public License Version 2 or later (the "GPL"),\r
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),\r
* and other provisions required by the GPL or the LGPL. If you do not delete\r
* the provisions above, a recipient may use your version of this file under\r
* the terms of any one of the MPL, the GPL or the LGPL.\r
- * \r
+ *\r
* REMINDER :\r
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND \r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \r
- * IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \r
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES \r
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \r
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\r
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\r
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\r
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- * \r
- * EADS Defence and Security - 1 Boulevard Jean Moulin - \r
- * ZAC de la Clef Saint Pierre - 78990 Elancourt - FRANCE (IDDN.FR.001.480012.002.S.P.2008.000.10000) \r
+ *\r
+ * EADS Defence and Security - 1 Boulevard Jean Moulin -\r
+ * ZAC de la Clef Saint Pierre - 78990 Elancourt - FRANCE (IDDN.FR.001.480012.002.S.P.2008.000.10000)\r
+ *\r
+ * Contributor(s):\r
+ * Copyright(c) Airbus Defence and Space 2014 - All rights reserved\r
* ***** END LICENSE BLOCK ***** */\r
-\r
var gJSLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].createInstance(Components.interfaces.mozIJSSubScriptLoader);\r
var gConsole = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);\r
- \r
-\r
var gDlgTreeXimf_maxItem_alert = "";\r
var gDlgTreeXimf_current_selection = null;\r
var gDlgTreeXimf_current_separator = null;\r
var gTitleDlg = "";\r
-\r
-function XimfDataSource(){\r
- this._id; // xml file name path\r
- this._dataSource;\r
- this._refDataSource; \r
-}\r
-\r
// RDF list\r
var gMaxDataList = 15;\r
var gCurposList = -1;\r
var gIDTimeoutListSearch = null;\r
var gSearchText = "";\r
var gRDFList = null;\r
-\r
-\r
var gArgsOpener = null;\r
-\r
$(document).ready(function(){\r
var gArgs = window.arguments;\r
- if(gArgs[0].length <= 0) return;\r
-\r
+ if(gArgs[0].length <= 0) {\r
+ return;\r
+ }\r
// load event manager\r
$("#ximfmail_dTreeAdd").bind("command",OnPushAddSelection);\r
$("#iTreechildDialog").dblclick(OnPushAddSelection);\r
$("#ximfmail_dTreeDel").bind("command",OnPushDelSelection);\r
$("#ximfmail_dTreeRaz").bind("command",OnPushRazSelection);\r
- \r
- // event for scroll \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
+ // gArgs[0] is an XimfmailTreedialogArgs object - XimfmailTreedialogArgs class description at ximfmail.js file\r
+ gArgsOpener = gArgs[0];\r
}catch(e){\r
gConsole.logStringMessage("[ximfmail - ready ] \n " + e + "\nfile : " + Error().fileName+"\nline : "+Error().lineNumber);\r
return;\r
}\r
- \r
- // create alert message \r
+ // create alert message\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, 10) == 1){\r
+ if(parseInt(gArgsOpener.maxItemsSelected, 10) === 1){\r
gDlgTreeXimf_maxItem_alert = gArgsOpener.maxItemsSelected + " "+ getIlkProperties("ximfmail.dialog.editor.warning.nbrows.one");\r
}\r
}\r
- \r
try{\r
- //set main title \r
- var sTitle = gArgsOpener.title; \r
- if(sTitle.indexOf(":") != -1){\r
+ //set main title\r
+ var sTitle = gArgsOpener.title;\r
+ if(sTitle.indexOf(":") !== -1){\r
sTitle = sTitle.substring(0,sTitle.lastIndexOf(":"));\r
- } \r
+ }\r
$("#treeDialogHeader").attr("title",sTitle);\r
$("#treeDialogHeader").attr("description",gDlgTreeXimf_maxItem_alert);\r
- \r
//set title columns\r
$("#iCol0").attr("label",gArgsOpener.titleColKey);\r
$("#iCol1").attr("label",gArgsOpener.titleColLabel);\r
- \r
}catch(e){\r
gConsole.logStringMessage("[ximfmail - AddCurrentSelection ] \n " + e + "\nfile : " + Error().fileName+"\nline : "+ e.lineNumber);\r
}\r
- \r
- LoadXmlDatas(); \r
+ LoadXmlDatas();\r
});\r
-\r
/*\r
* attach RDF Source to local tree\r
*/\r
function LoadXmlDatas(){\r
- try{ \r
+ try{\r
//\r
- var tree = document.getElementById("iTreechildDialog"); \r
- \r
+ var tree = document.getElementById("iTreechildDialog");\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
+ gRDFList.initialize(gArgsOpener.dataSource, gArgsOpener.refdataSource);\r
+ tree.database.AddDataSource(gRDFList.getDataSource());\r
tree.builder.rebuild();\r
- \r
OnClickScrollTreeList(0);\r
- \r
- //\r
AddCurrentSelection();\r
- }catch(e){ \r
+ }catch(e){\r
gConsole.logStringMessage("[ximfmail - LoadXmlDatas ] \n " + e + "\nfile : " + Error().fileName+"\nline : "+Error().lineNumber);\r
- } \r
+ }\r
}\r
-\r
function AddCurrentSelection(){\r
// load current selected values\r
if(gArgsOpener.currentKeys.length > 0){\r
- /*var reg = null; \r
- if(gDlgTreeXimf_current_separator){\r
- reg=new RegExp("["+gDlgTreeXimf_current_separator+"]+", "g"); \r
- }else{\r
- reg=new RegExp("[;,]+", "g");\r
- }\r
- var arrayItems = gDlgTreeXimf_current_selection.split(reg); \r
- */\r
var list = document.getElementById("ximfmail_selection");\r
for (var i=0; i<gArgsOpener.currentKeys.length; i++) {\r
- if(gArgsOpener.currentLabels[i]!=""){\r
+ if(gArgsOpener.currentLabels[i]!==""){\r
var item = list.appendItem(gArgsOpener.currentKeys[i]);\r
- if(gArgsOpener.currentKeys[i]!=""){\r
+ if(gArgsOpener.currentKeys[i]!==""){\r
item.setAttribute("tooltiptext",gArgsOpener.currentLabels[i]);\r
}\r
- } \r
+ }\r
}\r
- } \r
+ }\r
}\r
-\r
function OnPushAddSelection(){\r
- try{ \r
+ try{\r
var tree = document.getElementById("ximfmail.treedialog");\r
var list = document.getElementById("ximfmail_selection");\r
var start = new Object();\r
var end = new Object();\r
var numRanges = tree.view.selection.getRangeCount();\r
- \r
- \r
for (var t=0; t<numRanges; t++){\r
tree.view.selection.getRangeAt(t,start,end);\r
- for (var v=start.value; v<=end.value; v++){ \r
- if(gArgsOpener.maxItemsSelected){ \r
- var nbItems = $("#ximfmail_selection listitem"); \r
- if(nbItems.length >= gArgsOpener.maxItemsSelected){\r
- ximfAlert(gDlgTreeXimf_maxItem_alert); \r
- return;\r
- }\r
- } \r
- var item = list.appendItem(tree.view.getCellText(v, tree.columns.getColumnAt(0))); //list.appendItem(label,value)\r
- item.tooltipText=tree.view.getCellText(v, tree.columns.getColumnAt(1));\r
+ for (var v=start.value; v<=end.value; v++){\r
+ if(gArgsOpener.maxItemsSelected){\r
+ var nbItems = $("#ximfmail_selection listitem");\r
+ if(nbItems.length >= gArgsOpener.maxItemsSelected){\r
+ ximfAlert(gDlgTreeXimf_maxItem_alert);\r
+ return;\r
+ }\r
+ }\r
+ var item = list.appendItem(tree.view.getCellText(v, tree.columns.getColumnAt(0))); //list.appendItem(label,value)\r
+ item.tooltipText=tree.view.getCellText(v, tree.columns.getColumnAt(1));\r
}\r
}\r
}catch(e){\r
gConsole.logStringMessage("[ximfmail - OnPushAddSelection ] \n " + e + "\nfile : " + Error().fileName+"\nline : "+Error().lineNumber);\r
}\r
}\r
-\r
function OnPushDelSelection(){\r
var list = document.getElementById("ximfmail_selection");\r
list.removeItemAt( list.selectedIndex );\r
}\r
-\r
function OnPushRazSelection(){\r
var list = document.getElementById("ximfmail_selection");\r
- var count = $("#ximfmail_selection listitem"); \r
+ var count = $("#ximfmail_selection listitem");\r
for(var i=count.length; i>0; --i){\r
list.removeItemAt(i-1);\r
}\r
}\r
-\r
-\r
-\r
function doOK(){\r
- // get current selection \r
- var list = $("#ximfmail_selection listitem"); \r
+ // get current selection\r
+ var list = $("#ximfmail_selection listitem");\r
for(var idx_list = 0; idx_list < list.length;++idx_list){\r
var currentItem = list[idx_list].getAttribute("label");\r
var currentTooltip = list[idx_list].getAttribute("tooltiptext");\r
- if(currentItem != ""){\r
- gArgsOpener.retKeys.push(currentItem); \r
+ if(currentItem !== ""){\r
+ gArgsOpener.retKeys.push(currentItem);\r
gArgsOpener.retLabels.push(currentTooltip);\r
}\r
- } \r
+ }\r
return true;\r
}\r
-\r
/*\r
- * \r
+ *\r
*/\r
function doCancel()\r
{\r
- gArgsOpener.retIsCancel=true; \r
+ gArgsOpener.retIsCancel=true;\r
}\r
-\r
function getTreeSelection(){\r
var list="";\r
var tree = document.getElementById("ximfmail.treedialog");\r
var start = new Object();\r
var end = new Object();\r
var numRanges = tree.view.selection.getRangeCount();\r
-\r
for (var t=0; t<numRanges; t++){\r
tree.view.selection.getRangeAt(t,start,end);\r
for (var v=start.value; v<=end.value; v++){\r
- if(list!="")\r
+ if (list!=="") {\r
list+=",";\r
+ }\r
list += tree.view.getCellText(v, tree.columns.getColumnAt(0));\r
}\r
}\r
return list;\r
}\r
-\r
-\r
-\r
-\r
-///BEGIN TEST\r
function OnSelectTreeData(evt){\r
- //alert("OnSelectTreeData");\r
var elt = evt.currentTarget;\r
- //var tree = document.getElementById("ximfmail.tree");\r
if(elt.view){\r
- //alert("index = " + elt.view.selection.currentIndex);\r
- \r
// on select\r
var cellIndex = 0;\r
var cellText = elt.view.getCellText(elt.currentIndex, elt.columns.getColumnAt(cellIndex));\r
- //alert("cellText: "+cellText);\r
- } \r
- \r
+ }\r
var row = new Object();\r
var col = new Object();\r
var child = new Object();\r
- \r
- //elt.firstChild.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, child);\r
- elt.treeBoxObject.getCellAt(evt.clientX, evt.clientY, row, col, child);\r
+ elt.treeBoxObject.getCellAt(evt.clientX, evt.clientY, row, col, child);\r
var idMatch;\r
try {\r
idMatch = col.value.element.getAttribute('id');\r
} catch (error) {\r
idMatch = col.value;\r
}\r
- //alert(row.value + " : " + idMatch);\r
- //return {row: row.value, col: idMatch}; \r
}\r
-\r
function OnClickTreeData(evt){\r
- //alert("OnSelectTreeData");\r
- var elt = evt.currentTarget; \r
+ var elt = evt.currentTarget;\r
var row = new Object();\r
var col = new Object();\r
var child = new Object();\r
- //elt.firstChild.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, child);\r
elt.treeBoxObject.getCellAt(evt.clientX, evt.clientY, row, col, child);\r
var idMatch;\r
try {\r
} catch (error) {\r
idMatch = col.value;\r
}\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
+ try {\r
+ if (parseInt($("#ximfmailTreeDialogScroll").attr("maxpos"), 10) <=0) {\r
+ return;\r
+ }\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
+ pageLength = treeResult.boxObject.getPageLength();\r
+ if (0 === pageLength) {\r
+ pageLength = gMaxDataList;\r
+ }\r
+ }catch(e){\r
+ pageLength = gMaxDataList;\r
+ }\r
+ if(gCurposList !== curpos || gMaxDataList !== pageLength || gMaxDataList !== gRDFList.getEntriesCount() || evt === 0) {\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
+ if(maxEntry - gMaxDataList >= 0) {\r
maxpos = maxEntry - gMaxDataList;\r
- else\r
+ } else {\r
maxpos = -1;\r
- \r
- if(maxEntry < gMaxDataList)\r
- gMaxDataList = maxEntry;\r
+ }\r
+ if (maxEntry < gMaxDataList) {\r
+ gMaxDataList = maxEntry;\r
+ }\r
$("#ximfmailTreeDialogScroll").attr("maxpos",maxpos);\r
- \r
gCurposList = curpos;\r
- \r
- if(maxEntry == 0 || maxpos <= 0) \r
- {\r
+ if(maxEntry === 0 || maxpos <= 0) {\r
$("#ximfmailTreeDialogScroll").attr("hidden","true");\r
gMaxDataList = maxEntry;\r
- }\r
- else\r
+ } else {\r
$("#ximfmailTreeDialogScroll").removeAttr("hidden");\r
- \r
- if(treeResult.database != null)\r
- {\r
+ }\r
+ if(treeResult.database !== null) {\r
treeResult.database.AddDataSource(gRDFList.getDataSource());\r
treeResult.builder.rebuild();\r
clearTimeout(gIDTimeoutList);\r
}\r
window.setCursor("auto");\r
}\r
-\r
function OnScrollTreeList(event)\r
{\r
window.setCursor("wait");\r
- try\r
- {\r
+ try {\r
var curpos = parseInt($("#ximfmailTreeDialogScroll").attr("curpos"), 10);\r
var addPos = 0;\r
- if(event.detail == -3)\r
+ if(event.detail === -3) {\r
addPos = -3;\r
- else if(event.detail == 3)\r
+ } else if (event.detail === 3) {\r
addPos = 3;\r
+ }\r
curpos += addPos;\r
var maxpos = parseInt(gRDFList.getMaxEntry(), 10) - gMaxDataList;\r
- \r
- if(curpos<0)\r
+ if (curpos<0) {\r
curpos = 0;\r
- if(curpos>maxpos)\r
+ }\r
+ if (curpos>maxpos) {\r
curpos = maxpos;\r
- \r
+ }\r
$("#ximfmailTreeDialogScroll").attr("curpos", curpos);\r
OnClickScrollTreeList(0);\r
}\r
}\r
window.setCursor("auto");\r
}\r
-\r
function OnKeyPressScrollTreeList(event)\r
{\r
window.setCursor("wait");\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
+ break;\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
+ if(event.charCode === 0)\r
{\r
window.setCursor("auto");\r
return;\r
}\r
- else\r
+ else {\r
textToFind = String.fromCharCode(event.charCode);\r
+ }\r
}\r
- \r
- if("" == textToFind)\r
+ if("" === textToFind)\r
{\r
curpos += addPos;\r
- \r
- if(curpos<0)\r
+ if(curpos<0) {\r
curpos = 0;\r
- if(curpos>maxpos)\r
+ }\r
+ if(curpos>maxpos) {\r
curpos = maxpos;\r
- \r
+ }\r
$("#ximfmailTreeDialogScroll").attr("curpos", curpos);\r
OnClickScrollTreeList(0);\r
}\r
clearTimeout(gIDTimeoutListSearch);\r
gSearchText += textToFind;\r
var curposAfter = gRDFList.updateDisplayByText(gSearchText,gMaxDataList,curpos);\r
- if(curposAfter == -1)\r
+ if(curposAfter === -1)\r
{\r
gSearchText = "";\r
window.setCursor("auto");\r
else\r
{\r
var maxpos = gMaxDataList;\r
- if(maxEntry - gMaxDataList >= 0)\r
+ if(maxEntry - gMaxDataList >= 0){\r
maxpos = maxEntry - gMaxDataList;\r
- else\r
+ } else {\r
maxpos = -1;\r
- \r
- if(maxEntry < gMaxDataList)\r
+ }\r
+\r
+ if(maxEntry < gMaxDataList) {\r
gMaxDataList = maxEntry;\r
- \r
+ }\r
$("#ximfmailTreeDialogScroll").attr("maxpos",maxpos);\r
$("#ximfmailTreeDialogScroll").attr("curpos", curposAfter);\r
OnClickScrollTreeList(0);\r
- \r
+\r
gIDTimeoutListSearch = setTimeout(resetSearchText,2000);\r
}\r
}\r
- \r
}\r
catch(e)\r
{\r
}\r
window.setCursor("auto");\r
}\r
-\r
function resetSearchText()\r
{\r
gSearchText = "";\r