home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / mozil06.zip / bin / chrome / messenger.jar / content / messenger / fieldMapExport.js < prev    next >
Text File  |  2001-02-14  |  4KB  |  161 lines

  1. /* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  2.  *
  3.  * The contents of this file are subject to the Mozilla Public
  4.  * License Version 1.1 (the "License"); you may not use this file
  5.  * except in compliance with the License. You may obtain a copy of
  6.  * the License at http://www.mozilla.org/MPL/
  7.  *
  8.  * Software distributed under the License is distributed on an "AS
  9.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  10.  * implied. See the License for the specific language governing
  11.  * rights and limitations under the License.
  12.  *
  13.  * The Original Code is mozilla.org code.
  14.  *
  15.  * The Initial Developer of the Original Code is Netscape
  16.  * Communications Corporation.  Portions created by Netscape are
  17.  * Copyright (C) 1999 Netscape Communications Corporation. All
  18.  * Rights Reserved.
  19.  *
  20.  * Contributor(s):
  21.  */
  22.  
  23. var importService = 0;
  24. var    fieldMap = null;
  25.  
  26. function OnLoadFieldMapExport()
  27. {
  28.     // top.bundle = srGetStrBundle("chrome://messenger/locale/importMsgs.properties");
  29.     top.importService = Components.classes["@mozilla.org/import/import-service;1"].getService();
  30.     top.importService = top.importService.QueryInterface(Components.interfaces.nsIImportService);
  31.     
  32.     // We need a field map object...
  33.     // assume we have one passed in? or just make one?
  34.     if (window.arguments && window.arguments[0])
  35.         top.fieldMap = window.arguments[0].fieldMap;
  36.     if (!top.fieldMap) {
  37.         top.fieldMap = top.importService.CreateNewFieldMap();    
  38.         top.fieldMap.DefaultFieldMap( top.fieldMap.numMozFields);
  39.     }
  40.     
  41.     doSetOKCancel( FieldExportOKButton, 0);
  42.  
  43.     ListFields();        
  44. }
  45.  
  46. function SetDivText(id, text)
  47. {
  48.     var div = document.getElementById(id);
  49.     
  50.     if ( div )
  51.     {
  52.         if ( div.childNodes.length == 0 )
  53.         {
  54.             var textNode = document.createTextNode(text);
  55.             div.appendChild(textNode);                               
  56.         }
  57.         else if ( div.childNodes.length == 1 )
  58.             div.childNodes[0].nodeValue = text;
  59.     }
  60. }
  61.  
  62.  
  63. function FieldExportOKButton()
  64. {
  65.     // hmmm... can we re-build the map from the tree values?    
  66.     return true;
  67. }
  68.  
  69.  
  70. function FieldSelectionChanged()
  71. {
  72.     var tree = document.getElementById('fieldList');
  73.     if ( tree && tree.selectedItems && (tree.selectedItems.length == 1) )
  74.     {
  75.     }
  76. }
  77.  
  78. function ExportSelectionChanged()
  79. {
  80.     var tree = document.getElementById('exportList');
  81.     if ( tree && tree.selectedItems && (tree.selectedItems.length == 1) )
  82.     {
  83.     }
  84. }
  85.  
  86.  
  87. function ListFields() {
  88.     if (top.fieldMap == null)
  89.         return;
  90.     
  91.     // we should fill in the field list with the data from the field map?    
  92.     var body = document.getElementById("fieldBody");
  93.     var count = top.fieldMap.numMozFields;
  94.     for (i = 0; i < count; i++) {
  95.         AddFieldToList( body, top.fieldMap.GetFieldDescription( i), i);
  96.     }
  97.     
  98.     body = document.getElementById("exportBody");
  99.     count = top.fieldMap.mapSize;
  100.     var index;
  101.     for (i = 0; i < count; i++) {
  102.         index = top.fieldMap.GetFieldMap( i);
  103.         AddFieldToList( body, top.fieldMap.GetFieldDescription( index), index);
  104.     }
  105. }
  106.  
  107. function AddFieldToList(body, name, index)
  108. {
  109.     
  110.     var item = document.createElement('treeitem');
  111.     var row = document.createElement('treerow');
  112.     var cell = document.createElement('treecell');
  113.     cell.setAttribute('value', name);
  114.     item.setAttribute('field-index', index);
  115.     
  116.     row.appendChild(cell);
  117.     item.appendChild(row);
  118.     body.appendChild(item);
  119. }
  120.  
  121. function DeleteExportItems()
  122. {
  123.     var tree = document.getElementById('exportList');
  124.     if ( tree && tree.selectedItems && (tree.selectedItems.length > 0) ) {
  125.         var body = document.getElementById("exportBody");
  126.         if (body) {
  127.             while (tree.selectedItems.length) {
  128.                 body.removeChild( tree.selectedItems[0]);
  129.             }
  130.         }
  131.     }    
  132. }
  133.  
  134. function OnAddExport()
  135. {
  136.     var tree = document.getElementById('fieldList');
  137.     if ( tree && tree.selectedItems && (tree.selectedItems.length > 0) ) {
  138.         var body = document.getElementById("exportBody");
  139.         if (body) {
  140.             var name;
  141.             var fIndex;
  142.             for (var index = 0; index < tree.selectedItems.length; index++) {
  143.                 name = tree.selectedItems[index].firstChild.firstChild.getAttribute( 'value');
  144.                 fIndex = tree.selectedItems[index].getAttribute( 'field-index');
  145.                 AddFieldToList( body, name, fIndex);
  146.             }
  147.         }
  148.     }    
  149. }
  150.  
  151. function OnAddAllExport()
  152. {
  153.     var body = document.getElementById("exportBody");
  154.     var count = top.fieldMap.numMozFields;
  155.     for (var i = 0; i < count; i++) {
  156.         AddFieldToList( body, top.fieldMap.GetFieldDescription( i), i);
  157.     }
  158. }
  159.  
  160.  
  161.