-\r
/* ***** 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
-/*\r
- * XimfThreadTreeDBViewObserver\r
- * 'MsgCreateDBView' : Special event that gets fired whenever a view is created. \r
- * When that event fires, set up the custom column handler on the new view.\r
+/**\r
+ * threaTree-ximfmail.js\r
+ * Add custom columns into message view folder with XIMF headers defined in rules of XIMF instance activated in user profile.\r
*/\r
+var gConsole = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);\r
var XimfThreadTreeDBViewObserver = {\r
// Components.interfaces.nsIObserver\r
- observe: function(aMsgFolder, aTopic, aData){ \r
+ observe: function(aMsgFolder, aTopic, aData){\r
gConsole.logStringMessage("ximfmail - XimfThreadTreeDBViewObserver:observe");\r
XimfThreadTree.getInstance().create();\r
}\r
-}\r
-\r
+};\r
/*\r
- * Column handler template definition \r
+ * Column handler template definition\r
*/\r
function XimfCustomColumnHandler(property){\r
// Properties\r
this.property = property;\r
- this.isString = true; \r
- \r
+ this.isString = true;\r
// Functions\r
- this.getSortStringForRow = function (hdr){ return (this.isString) ? hdr.getStringProperty(this.property) : ""; };\r
- this.isString = function (){ return this.isString; };\r
- this.getCellProperties = function (row, col, props) {};\r
- this.getRowProperties = function(row, props){};\r
- this.getImageSrc = function (row, col){return null; };\r
- this.getSortLongForRow = function(hdr){ return (this.isString) ? 0 : new Number(hdr.getStringProperty(this.property)).value; };\r
+ this.getSortStringForRow = function (hdr){\r
+ return (this.isString) ? hdr.getStringProperty(this.property) : "";\r
+ };\r
+ this.isString = function (){\r
+ return this.isString;\r
+ };\r
+ this.getCellProperties = function (row, col, props) {};\r
+ this.getRowProperties = function(row, props){};\r
+ this.getImageSrc = function (row, col){\r
+ return null;\r
+ };\r
+ this.getSortLongForRow = function(hdr) {\r
+ return (this.isString) ? 0 : new Number(hdr.getStringProperty(this.property)).value;\r
+ };\r
this.getCellText = function (row, col){\r
// get cell informations\r
var key = gDBView.getKeyAt(row);\r
var hdr = gDBView.db.GetMsgHdrForKey(key);\r
- var value = hdr.getStringProperty(this.property); \r
- // get ilk value if exists \r
- var ilklabel = XimfThreadTree.getInstance().getIlkColumnArray()[this.property.toLowerCase()][value.toLowerCase()];\r
- if(ilklabel == undefined) ilklabel = value;\r
- //gConsole.logStringMessage("[ximfmail - XimfCustomColumnHandler ] getCellText "+this.property+" = " + ilklabel ); \r
- return ilklabel; \r
+ var value = hdr.getStringProperty(this.property);\r
+ // get ilk value if exists\r
+ var ilklabel = "";\r
+ if (value) {\r
+ try {\r
+ ilklabel = XimfThreadTree.getInstance().getIlkColumnArray()[this.property.toLowerCase()][value.toLowerCase()];\r
+ } catch(e) {\r
+ ilklabel = value;\r
+ }\r
+ if (ilklabel === undefined) {\r
+ ilklabel = value;\r
+ }\r
+ }\r
+ return ilklabel;\r
};\r
};\r
-\r
/*\r
- * XimfThreadTree \r
+ * XimfThreadTree\r
* Custom Columns with XIMF headers\r
- * Get XIMF headers in xml containers <ihm> of Ximfmail instances : \r
+ * Get XIMF headers in xml containers <ihm> of Ximfmail instances :\r
* <ximf:treeRcv>\r
- * <ximf:headerRef>header-reference</ximf:headerRef> \r
+ * <ximf:headerRef>header-reference</ximf:headerRef>\r
* <ximf:headerRef>header-reference-other</ximf:headerRef>\r
* </ximf:treeRcv>\r
*/\r
var XimfThreadTree = (function(){\r
// private:\r
- var instantiated; \r
+ var instantiated;\r
var _chromeXslTreeRcv = "chrome://theme_ximfmail/content/threadTree-ximfmail.xsl";\r
var _ximfHdrArrayByID = [];\r
- var _refAccountArray = []; \r
+ var _refAccountArray = [];\r
var _ximfIlilkCustomColumnArray = [];\r
- \r
// add DOM element to tree\r
function addColumn(domTreecol,idTreecol){\r
- $("#threadCols").append(domTreecol); // istancedom_treecol is mofified by append jquery function is called\r
+ // istancedom_treecol is mofified by append jquery function is called\r
+ $("#threadCols").append(domTreecol);\r
var splitter_dom = document.createElement("splitter");\r
$(splitter_dom).attr("reftreecol",idTreecol);\r
$(splitter_dom).attr("class","tree-splitter");\r
- $(splitter_dom).attr("ximfheadtree","1"); \r
+ $(splitter_dom).attr("ximfheadtree","1");\r
$("#threadCols").append(splitter_dom);\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:addColumn] add new ximf column to Dom - id = " + idTreecol);\r
};\r
// attach handler object to custom column. addColumnHandler that takes a column ID\r
function addColumnHandler(idTreecol){\r
- if (gDBView){ \r
- gDBView.addColumnHandler(idTreecol, new XimfCustomColumnHandler(idTreecol.toLowerCase())); \r
+ if (gDBView){\r
+ gDBView.addColumnHandler(idTreecol, new XimfCustomColumnHandler(idTreecol.toLowerCase()));\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:addColumnHandler] load new XimfCustomColumnHandler for column " + idTreecol);\r
}\r
};\r
// remove DOM element from tree\r
- function deleteColummn(idTreeCol){ \r
+ function deleteColummn(idTreeCol){\r
for(var i = 0 ; i < _ximfHdrArrayByID.length ; ++i){\r
if(_ximfHdrArrayByID[i] === idTreeCol){\r
_ximfHdrArrayByID.splice(i,1);\r
$("#"+idTreeCol).remove();\r
$("splitter[reftreecol='"+idTreeCol+"']").remove();\r
- gConsole.logStringMessage("[ximfmail - XimfThreadTree:deleteColummn] remove ximf column from Dom - id = " + idTreeCol); \r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:deleteColummn] remove ximf column from Dom - id = " + idTreeCol);\r
}\r
- } \r
+ }\r
};\r
// update Ximfmail column\r
function updateXimfHdrArrayByID(idToUpdate){\r
- gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfHdrArrayByID] update Ximfmail column " + idToUpdate); \r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfHdrArrayByID] update Ximfmail column " + idToUpdate);\r
var isIdExist = false;\r
for(var i = 0 ; i < _ximfHdrArrayByID.length ; ++i){\r
- if(_ximfHdrArrayByID[i] === idToUpdate){ \r
+ if(_ximfHdrArrayByID[i] === idToUpdate){\r
isIdExist = true;\r
break;\r
}\r
var xListHdr = "";\r
var prefList = [];\r
var prefBranch = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch(null);\r
- \r
try {\r
xListHdr = prefBranch.getCharPref(preference);\r
- if((xListHdr) != ""){\r
+ if((xListHdr) !== ""){\r
var reg=new RegExp("[ ]+", "g");\r
- prefList=xListHdr.split(reg); \r
+ prefList=xListHdr.split(reg);\r
}\r
} catch(ex) {}\r
- \r
- function isDataInArray(data,array){ \r
+ function isDataInArray(data,array){\r
for(var i=0; i<array.length; ++i){\r
- if(data == array[i]){\r
+ if(data === array[i]){\r
return true;\r
}\r
}\r
return false;\r
- }; \r
- \r
+ };\r
// add only new headers\r
- for (var i = 0; i < _ximfHdrArrayByID.length; i++) { \r
+ for (var i = 0; i < _ximfHdrArrayByID.length; i++) {\r
if (!isDataInArray(_ximfHdrArrayByID[i].toLowerCase(),prefList)){\r
- if (xListHdr != "") {\r
+ if (xListHdr !== "") {\r
xListHdr += " ";\r
- } \r
+ }\r
xListHdr += _ximfHdrArrayByID[i].toLowerCase();\r
}\r
}\r
prefBranch.setCharPref(preference, xListHdr);\r
};\r
// obsolete?\r
- function updateColumnToHide(){ \r
+ function updateColumnToHide(){\r
try{\r
- if(_ximfHdrArrayByID.length <= 0 ) return;\r
- if(gCurrentIdentity){ \r
+ if(_ximfHdrArrayByID.length <= 0 ) {\r
+ return;\r
+ }\r
+ if(gCurrentIdentity){\r
var prefList = gCurrentIdentity.getCharAttribute("ximfmail_context_DBHeaders");\r
- if(prefList == undefined) return;\r
+ if (prefList === undefined) {\r
+ return;\r
+ }\r
for(var i=0; i<_ximfHdrArrayByID.length; ++i){\r
- if(prefList.lastIndexOf(_ximfHdrArrayByID[i]) != -1){\r
+ if(prefList.lastIndexOf(_ximfHdrArrayByID[i]) !== -1){\r
$("treecol[id='"+_ximfHdrArrayByID[i]+"']").attr("hidden","true");\r
}\r
}\r
}\r
}catch(e){\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateColumnToHide ] " + e +"\nline : " + Error().lineNumber + " : "+ e + "\nfile : "+ Error().fileName);\r
- } \r
- }; \r
+ }\r
+ };\r
// get ilk values from instance\r
- function updateXimfIlkCustomColumnArray(currentInstance){\r
+ function updateXimfIlkCustomColumnArray(currentInstance) {\r
try{\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfIlkCustomColumnArray ] create ilk array for Ximf values of instance : "+currentInstance);\r
- \r
// get xml schema for instance\r
- gXimfCatalog = XimfCatalog.getInstance();\r
- \r
+ XimfCatalogFactory.getIntance(function(instance){\r
+ var dir = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);\r
+ var completePath = getFilePathInProfile("extensions/"+instance.getSchemaInstance(currentInstance));\r
+ dir.initWithPath( completePath );\r
+ if(!dir.exists()){\r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfIlkCustomColumnArray] Error on loading schema file : " + completePath);\r
+ return;\r
+ }\r
+ var objXML = GetXmlDocument(completePath);\r
+ var headers = objXML.getElementsByTagName("ximf:header");\r
+ // get xml dictionary parser\r
+ var urlDictionary = getFilePathInProfile("extensions/"+instance.getDictionaryInstance(currentInstance));\r
+ dir.initWithPath( urlDictionary );\r
+ if(!dir.exists()){\r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfIlkCustomColumnArray] Error on loading dictionary file : " + completePath);\r
+ return;\r
+ }\r
+ var dicoXML = GetXmlDocument(urlDictionary);\r
+ var dicoElements = dicoXML.getElementsByTagName("ximf:locale");\r
+ // get local lang\r
+ var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);\r
+ var refLang = prefs.getCharPref("general.useragent.locale");\r
+ if (!refLang) {\r
+ refLang = "fr";\r
+ }\r
+ var ilkEntities = null;\r
+ for(var idxLang=0 ; idxLang < dicoElements.length ; ++idxLang){\r
+ if(dicoElements[idxLang].getAttribute("lang") === refLang){\r
+ ilkEntities = dicoElements[idxLang].getElementsByTagName("ximf:ilk");\r
+ break;\r
+ }\r
+ }\r
+ // parse XML and get ilk values\r
+ for(var i=0 ; i < _ximfHdrArrayByID.length ; ++i){\r
+ var currentTreeColId = _ximfHdrArrayByID[i];\r
+ for(var idxH = 0 ; idxH < headers.length; ++idxH){\r
+ var attrHeaderList = headers[idxH].attributes;\r
+ var headerName = headers[idxH].getAttribute("headerName");\r
+ if(headerName.toLowerCase() === currentTreeColId.toLowerCase()){\r
+ var stringListElt = headers[idxH].getElementsByTagName("ximf:string");\r
+ var tmparray = new Array();\r
+ for(var j=0 ; j< stringListElt.length ; j++){\r
+ try{\r
+ // get values from instance headers\r
+ var sContent = stringListElt[j].getAttribute("content");\r
+ var sIlk = stringListElt[j].getAttribute("ilk");\r
+ // get ilk entity from instance dictionay\r
+ if(ilkEntities){\r
+ for(var idxIlk = 0 ; idxIlk < ilkEntities.length ; ++idxIlk){\r
+ if(ilkEntities[idxIlk].getAttribute("entity") === sIlk){\r
+ sIlk = ilkEntities[idxIlk].textContent;\r
+ break;\r
+ }\r
+ }\r
+ }\r
+ // push array\r
+ tmparray[sContent.toLowerCase()]=sIlk;\r
+ } catch(e){\r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfIlkCustomColumnArray ] " + e +"\nline : " + e.lineNumber + " : "+ e + "\nfile : "+ Error().fileName);\r
+ }\r
+ }\r
+ // save ilk values for an ximf header\r
+ if (tmparray) {\r
+ _ximfIlilkCustomColumnArray[headerName.toLowerCase()] = tmparray;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ });\r
+ return;\r
var dir = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);\r
var completePath = getFilePathInProfile("extensions/"+gXimfCatalog.getSchemaInstance(currentInstance));\r
- dir.initWithPath( completePath ); \r
- if(!dir.exists()){ \r
+ dir.initWithPath( completePath );\r
+ if (!dir.exists()) {\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfIlkCustomColumnArray] Error on loading schema file : " + completePath);\r
return;\r
- } \r
+ }\r
var objXML = GetXmlDocument(completePath);\r
var headers = objXML.getElementsByTagName("ximf:header");\r
- \r
// get xml dictionary parser\r
var urlDictionary = getFilePathInProfile("extensions/"+gXimfCatalog.getDictionaryInstance(currentInstance));\r
- dir.initWithPath( urlDictionary ); \r
- if(!dir.exists()){ \r
+ dir.initWithPath( urlDictionary );\r
+ if(!dir.exists()){\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfIlkCustomColumnArray] Error on loading dictionary file : " + completePath);\r
return;\r
- } \r
+ }\r
var dicoXML = GetXmlDocument(urlDictionary);\r
var dicoElements = dicoXML.getElementsByTagName("ximf:locale");\r
- \r
- // get local lang \r
+ // get local lang\r
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);\r
var refLang = prefs.getCharPref("general.useragent.locale");\r
- if(!refLang) refLang = "fr"; \r
+ if (!refLang) {\r
+ refLang = "fr";\r
+ }\r
var ilkEntities = null;\r
- for(var idxLang=0 ; idxLang < dicoElements.length ; ++idxLang){ \r
- if(dicoElements[idxLang].getAttribute("lang") == refLang){\r
+ for(var idxLang=0 ; idxLang < dicoElements.length ; ++idxLang){\r
+ if(dicoElements[idxLang].getAttribute("lang") === refLang){\r
ilkEntities = dicoElements[idxLang].getElementsByTagName("ximf:ilk");\r
break;\r
}\r
}\r
- \r
// parse XML and get ilk values\r
for(var i=0 ; i < _ximfHdrArrayByID.length ; ++i){\r
var currentTreeColId = _ximfHdrArrayByID[i];\r
- for(var idxH = 0 ; idxH < headers.length; ++idxH){ \r
- var attrHeaderList = headers[idxH].attributes; \r
- var headerName = headers[idxH].getAttribute("headerName"); \r
- if(headerName.toLowerCase() == currentTreeColId.toLowerCase()){\r
- var stringListElt = headers[idxH].getElementsByTagName("ximf:string"); \r
- var tmparray = new Array(); \r
+ for(var idxH = 0 ; idxH < headers.length; ++idxH){\r
+ var attrHeaderList = headers[idxH].attributes;\r
+ var headerName = headers[idxH].getAttribute("headerName");\r
+ if(headerName.toLowerCase() === currentTreeColId.toLowerCase()){\r
+ var stringListElt = headers[idxH].getElementsByTagName("ximf:string");\r
+ var tmparray = new Array();\r
for(var j=0 ; j< stringListElt.length ; j++){\r
- try{ \r
+ try{\r
// get values from instance headers\r
- var sContent = stringListElt[j].getAttribute("content"); \r
- var sIlk = stringListElt[j].getAttribute("ilk") \r
+ var sContent = stringListElt[j].getAttribute("content");\r
+ var sIlk = stringListElt[j].getAttribute("ilk");\r
// get ilk entity from instance dictionay\r
if(ilkEntities){\r
for(var idxIlk = 0 ; idxIlk < ilkEntities.length ; ++idxIlk){\r
- if(ilkEntities[idxIlk].getAttribute("entity") == sIlk){\r
+ if(ilkEntities[idxIlk].getAttribute("entity") === sIlk){\r
sIlk = ilkEntities[idxIlk].textContent;\r
break;\r
}\r
}\r
}\r
- \r
// push array\r
tmparray[sContent.toLowerCase()]=sIlk;\r
- \r
}catch(e){\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfIlkCustomColumnArray ] " + e +"\nline : " + e.lineNumber + " : "+ e + "\nfile : "+ Error().fileName);\r
- } \r
+ }\r
+ }\r
+ // save ilk values for an ximf header\r
+ if (tmparray) {\r
+ _ximfIlilkCustomColumnArray[headerName.toLowerCase()] = tmparray;\r
}\r
- // save ilk values for an ximf header \r
- if(tmparray) _ximfIlilkCustomColumnArray[headerName.toLowerCase()] = tmparray;\r
}\r
}\r
}\r
- }catch(e){ \r
+ }catch(e){\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:updateXimfIlkCustomColumnArray] " + e +"\nline : " + e.lineNumber + " : "+ e + "\nfile : "+ Error().fileName);\r
- } \r
+ }\r
};\r
- function init(){ \r
+ function init(){\r
// singleton here\r
return{\r
// create : create Ximf columns if don't exist and/or add handler on Ximf columns\r
create : function(){\r
try{\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] create begin - _ximfHdrArrayByID len : "+_ximfHdrArrayByID.length);\r
- GetCurrentUser();\r
- if(!gCurrentIdentity) return false;\r
+ GetCurrentXimfUser();\r
+ if (!gCurrentIdentity){\r
+ return false;\r
+ }\r
var refIdentityKey = gCurrentIdentity.key;\r
- var currentlistID = $("#threadCols treecol[ximfheadtree='1']"); // get existing Ximf columns \r
- \r
- // check if Ximf columns of account already created \r
+ // get existing Ximf columns\r
+ var currentlistID = $("#threadCols treecol[ximfheadtree='1']");\r
+ // check if Ximf columns of account already created\r
for(var i = 0 ; i < _refAccountArray.length ; ++i){\r
if(_refAccountArray[i] === refIdentityKey){\r
// account already updated for this session, don't do it again,\r
- // handler Ximfmail columns headers must be fired \r
+ // handler Ximfmail columns headers must be fired\r
for(var idx =0 ; idx < currentlistID.length ; ++idx){\r
- addColumnHandler(currentlistID[idx].id); \r
- } \r
+ addColumnHandler(currentlistID[idx].id);\r
+ }\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] account already updated for this session - handler Ximfmail columns");\r
- return true; \r
- } \r
+ return true;\r
+ }\r
}\r
_refAccountArray.push(refIdentityKey);\r
- \r
- // get Ximfmail instance with headers to custom \r
- var currentInstance = gCurrentIdentity.getCharAttribute("ximfmail_instance_treethread_ref"); \r
+ // get Ximfmail instance with headers to custom\r
+ var currentInstance = gCurrentIdentity.getCharAttribute("ximfmail_instance_treethread_ref");\r
var instancedom = CreateDOMWithXimfInstance(currentInstance,_chromeXslTreeRcv);\r
var istancedom_treecol = instancedom.childNodes;\r
- \r
// add new headers to tree\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] " + istancedom_treecol.length + " elements in Ximfmail instance to custom");\r
for(var k = istancedom_treecol.length - 1 ; k >= 0 ; --k){\r
try{\r
- var instanceId = $(istancedom_treecol[k]).attr("id"); \r
+ var instanceId = $(istancedom_treecol[k]).attr("id");\r
var isCurrentIdInInstance = false;\r
for(var l = 0 ; l < currentlistID.length ; ++l){\r
if( instanceId === $(currentlistID[l]).attr("id")){\r
- isCurrentIdInInstance = true; \r
- gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] instance " + instanceId + " exists"); \r
+ isCurrentIdInInstance = true;\r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] instance " + instanceId + " exists");\r
break;\r
}\r
}\r
if(!isCurrentIdInInstance){\r
updateXimfHdrArrayByID(instanceId);\r
- addColumn(istancedom_treecol[k],instanceId); // add DOM element to tree\r
- addColumnHandler(instanceId); // load handler\r
- gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] instance " + instanceId + " created"); \r
+ // add DOM element to tree\r
+ addColumn(istancedom_treecol[k],instanceId);\r
+ // load handler\r
+ addColumnHandler(instanceId);\r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] instance " + instanceId + " created");\r
//updateColumnToHide(); ???\r
}\r
}catch(e){\r
- gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] compute error - id = " + k + " : " + e); \r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] compute error - id = " + k + " : " + e);\r
}\r
}\r
- \r
// used by Thunderbird to check for x-headers\r
- addCustomPreferences('mailnews.customDBHeaders'); \r
- \r
+ addCustomPreferences('mailnews.customDBHeaders');\r
// load ilk array for Ximf values of tree cells\r
updateXimfIlkCustomColumnArray(currentInstance);\r
- \r
- // trace ilk array \r
+ // trace ilk array\r
var string = "";\r
for(xh in _ximfIlilkCustomColumnArray){\r
for(ilk in _ximfIlilkCustomColumnArray[xh]){\r
string += "["+ xh +"]["+ ilk +"]["+ _ximfIlilkCustomColumnArray[xh][ilk] + "]\n";\r
}\r
}\r
- gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] array of ilk of ximf value" + string); \r
- return true; \r
- }catch(e){ \r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:create ] array of ilk of ximf value" + string);\r
+ return true;\r
+ }catch(e){\r
gConsole.logStringMessage("[ximfmail - XimfThreadTree:create] " + e +"\nline : " + e.lineNumber + " : "+ e + "\nfile : "+ Error().fileName);\r
return false;\r
- } \r
+ }\r
},\r
// delete all custom columns of XIMF headers\r
- deleteXimfColummns : function(){ \r
+ deleteXimfColummns : function(){\r
$("treecol[ximfheadtree='1']").remove();\r
- $("splitter[ximfheadtree='1']").remove(); \r
- gConsole.logStringMessage("[ximfmail - XimfThreadTree:deleteXimfColummns ] delete all custom columns of XIMF headers"); \r
+ $("splitter[ximfheadtree='1']").remove();\r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:deleteXimfColummns ] delete all custom columns of XIMF headers");\r
},\r
// attach customColumnHandler for all columns of XIMF headers\r
addCustomColumnHandler : function(){\r
var currentlistID = $("#threadCols treecol[ximfheadtree='1']");\r
- for(var i =0 ; i < currentlistID.length ; ++i){ \r
- addColumnHandler(); \r
+ for(var i =0 ; i < currentlistID.length ; ++i){\r
+ addColumnHandler();\r
}\r
- gConsole.logStringMessage("[ximfmail - XimfThreadTree:addCustomColumnHandler ] attach customColumnHandler for all columns of XIMF headers"); \r
+ gConsole.logStringMessage("[ximfmail - XimfThreadTree:addCustomColumnHandler ] attach customColumnHandler for all columns of XIMF headers");\r
},\r
// get ilk array for Ximf values of tree cells\r
- getIlkColumnArray : function(){ \r
+ getIlkColumnArray : function(){\r
return _ximfIlilkCustomColumnArray;\r
},\r
//obsolete?\r
saveColumnToHide : function(){\r
- var listID = $("#threadCols treecol[ximfheadtree='1']");//\r
+ var listID = $("#threadCols treecol[ximfheadtree='1']");\r
try{\r
- if(gCurrentIdentity){ \r
- prefList = ""\r
+ if(gCurrentIdentity){\r
+ prefList = "";\r
for(var i=0; i<listID.length; ++i){\r
- if(listID[i].getAttribute("hidden") == "true"){\r
- if(prefList != "") prefList +=",";\r
+ if(listID[i].getAttribute("hidden") === "true"){\r
+ if(prefList !== "") {\r
+ prefList +=",";\r
+ }\r
prefList += listID[i].id;\r
}\r
- } \r
+ }\r
gCurrentIdentity.setCharAttribute("ximfmail_context_DBHeaders",prefList);\r
}\r
}catch(e){\r
gConsole.logStringMessage("[ximfmail - saveColumnToHide ] " + e +"\nline : " + Error().lineNumber + " : "+ e + "\nfile : "+ Error().fileName);\r
}\r
}\r
- } \r
+ };\r
}\r
return{\r
getInstance : function(){\r
}\r
return instantiated;\r
}\r
- }; \r
-})(); // one shot on XimfThreadTree
\ No newline at end of file
+ };\r
+})();
\ No newline at end of file