Changeset 5744 for trunk/expressoMail1_2/js/TreeS.js
- Timestamp:
- 03/16/12 16:52:55 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/TreeS.js
r5581 r5744 1 function treeS()1 (function() 2 2 { 3 this.FOLDER = ""; 4 this.xtools = new xtools('../expressoMail1_2/templates/'); 5 this.parentHtml = null; 6 } 7 8 treeS.prototype.make_Window = function() 9 { 10 var div = null; 11 var args = null; 3 var FOLDER = ""; 12 4 13 args = 5 function foldersExpresso(){ } 6 7 function load() 14 8 { 15 "delete_folder" : get_lang('Delete folder'), 16 "export_messages" : get_lang('Export messages'), 17 "new_folder" : get_lang('New folder'), 18 "rename_folder" : get_lang('Rename folder') 19 }; 20 21 div = document.createElement("div"); 22 div.id = "divTreeFolders"; 23 div.innerHTML = this.xtools.parse(this.xtools.xml('treeFolders'), 'treeFolders.xsl', args ); 24 this.parentHtml = div; 9 var div = document.createElement("div"); 10 11 var args = 12 { 13 "delete_folder" : get_lang('Delete folder'), 14 "export_messages" : get_lang('Export messages'), 15 "new_folder" : get_lang('New folder'), 16 "rename_folder" : get_lang('Rename folder') 17 }; 18 19 $(div).html(DataLayer.render("./templates/default/folderExpresso.ejs", args )); 20 21 $(div).dialog( 22 { 23 resizable : false, 24 title : get_lang("Manager your folders and export messages"), 25 position : 'center', 26 width : 600, 27 height : 300, 28 modal : false, 29 buttons : [ 30 { 31 text: get_lang("Close"), 32 click: function() 33 { 34 $(this).dialog("destroy"); 35 div.removeChild( div.firstChild ); 36 }, 37 style: "margin-top: -2.1em" 38 } 39 ], 40 beforeClose : function() 41 { 42 $(this).dialog("destroy"); 43 div.removeChild( div.firstChild ); 44 }, 45 open : function() 46 { 47 if( folders.length == 0 ) 48 { 49 write_msg( "ERRO : Sem dados" ); 50 $(div).dialog("destroy"); 51 div.removeChild(div.firstChild); 52 return false; 53 } 54 else 55 { 56 if( Element('dftree_treeFolders') != null ) 57 { 58 $(div).dialog("destroy"); 59 div.removeChild( div.firstChild ); 60 return; 61 } 62 else 63 { 64 make_tree(div.firstChild); 65 } 66 } 67 } 68 }); 69 } 25 70 26 var openWindow = function() 71 72 function make_tree() 27 73 { 28 if( folders.length == 0 ) 74 var elementHtml = null; 75 76 if( arguments.length > 0 ) 29 77 { 30 write_msg( "ERRO : Sem dados" ); 31 $(div).dialog("destroy"); 32 div.removeChild( div.firstChild ); 33 return false; 78 elementHtml = arguments[0]; 34 79 } 35 80 else … … 37 82 if( Element('dftree_treeFolders') != null ) 38 83 { 39 $(div).dialog("destroy"); 40 div.removeChild( div.firstChild ); 41 return; 42 } 43 else 44 { 45 ttree.make_tree(div.firstChild); 84 elementHtml = Element('dftree_treeFolders').parentNode.parentNode; 85 Element('dftree_treeFolders').innerHTML = ""; 46 86 } 47 87 } 48 }; 88 89 var treeFolders = new dFTree({ name : 'treeFolders' }); 90 91 if( !expresso_offline ) 92 { 93 var root = new dNode({ id : 'root', caption: get_lang('My Folders'), onClick: "ttree.setFolder('root')" }); 94 95 treeFolders.add(root, 'root'); 49 96 50 $(div).dialog( 51 { 52 resizable : false, 53 title : get_lang("Manager your folders and export messages"), 54 position : 'center', 55 width : 600, 56 height : 300, 57 modal : false, 58 buttons : [ 59 { 60 text: get_lang("Close"), 61 click: function() 62 { 63 $(this).dialog("destroy"); 64 div.removeChild(div.firstChild); 65 }, 66 style: "margin-top: -2.1em" 67 } 68 ], 69 beforeClose : function() 70 { 71 $(this).dialog("destroy"); 72 div.removeChild(div.firstChild); 73 }, 74 open : function() 97 for(var i = 0; i < folders.length ; i++ ) 98 { 99 var nn = new dNode({ id:folders[i].folder_id, caption: lang_folder(folders[i].folder_name), plusSign:folders[i].folder_hasChildren, onClick: "ttree.setFolder('"+folders[i].folder_id+"')"}); 100 101 if ( folders[i].folder_parent == '' ) 102 { 103 folders[i].folder_parent = 'root'; 104 } 105 else if ( folders[i].folder_parent.indexOf('user') != -1 ) 106 { 107 //if ( treeFolders.getNodeById('user') ) 108 { 109 var n_root_shared_folders = new dNode({ id:'user', caption:get_lang("Shared Folders"), plusSign:true}); 110 treeFolders.add( n_root_shared_folders,'root'); 111 } 112 } 113 114 // Ver Ticket #1548 115 if( folders[i].folder_parent != 'root') 116 { 117 var node_parent = treeFolders.getNodeById(folders[i].folder_parent); 118 119 if( typeof node_parent != 'undefined') 120 { 121 node_parent.plusSign = true; 122 treeFolders.alter(node_parent); 123 } 124 } 125 126 treeFolders.add( nn, folders[i].folder_parent ); 127 } 128 } 129 130 //Pastas locais 131 if ( preferences.use_local_messages == 1 ) 75 132 { 76 openWindow(); 133 var n_root_local = new dNode({ id : "local_root", caption : get_lang("local folders"), onClick: "ttree.setFolder('root')" }); 134 135 treeFolders.add( n_root_local, 'root' ); 136 137 var local_folders = expresso_local_messages.list_local_folders(); 138 139 //Coloca as pastas locais. 140 for (var i in local_folders) 141 { 142 var node_parent = "local_root"; 143 var new_caption = local_folders[i][0]; 144 145 if( local_folders[i][0].indexOf("/") != "-1" ) 146 { 147 final_pos = local_folders[i][0].lastIndexOf("/"); 148 node_parent = "local_"+local_folders[i][0].substr(0,final_pos); 149 new_caption = local_folders[i][0].substr(final_pos+1); 150 } 151 152 if ( local_folders[i][1] > 0 ) 153 { 154 var nodeLocal = new dNode({ 155 id: "local_" + local_folders[i][0], 156 caption: lang_folder(new_caption) + '<font style=color:red> (</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 157 plusSign: local_folders[i][2] 158 }); 159 } 160 else 161 { 162 var nodeLocal = new dNode({ 163 id: "local_" + local_folders[i][0], 164 caption: lang_folder(new_caption), 165 plusSign: local_folders[i][2] 166 }); 167 } 168 treeFolders.add(nodeLocal, node_parent); 169 } 77 170 } 78 });79 171 80 } 81 82 treeS.prototype.setFolder = function(folderName) 83 { 84 this.FOLDER = folderName; 85 } 86 87 treeS.prototype.make_tree = function () 88 { 89 var elementHtml = null; 90 91 if( arguments.length > 0 ) 92 { 93 elementHtml = arguments[0]; 94 } 95 else 96 { 97 if( Element('dftree_treeFolders') != null ) 98 { 99 elementHtml = Element('dftree_treeFolders').parentNode.parentNode; 100 Element('dftree_treeFolders').innerHTML = ""; 101 } 172 treeFolders.draw(elementHtml); 173 treeFolders.getNodeById("root")._select(); 174 root.changeState(); 175 102 176 } 103 177 104 var treeFolders = new dFTree({ name : 'treeFolders' }); 178 function getFolder() 179 { 180 return FOLDER; 181 } 105 182 106 if( !expresso_offline)183 function setFolder() 107 184 { 108 var root = new dNode({ id : 'root', caption: get_lang('My Folders'), onClick: "ttree.setFolder('root')" }); 109 110 treeFolders.add(root, 'root'); 111 112 for(var i = 0; i < folders.length ; i++ ) 113 { 114 var nn = new dNode({ id:folders[i].folder_id, caption: lang_folder(folders[i].folder_name), plusSign:folders[i].folder_hasChildren, onClick: "ttree.setFolder('"+folders[i].folder_id+"')"}); 115 116 if ( folders[i].folder_parent == '' ) 117 { 118 folders[i].folder_parent = 'root'; 119 } 120 else if ( folders[i].folder_parent.indexOf('user') != -1 ) 121 { 122 //if ( treeFolders.getNodeById('user') ) 123 { 124 var n_root_shared_folders = new dNode({ id:'user', caption:get_lang("Shared Folders"), plusSign:true}); 125 treeFolders.add( n_root_shared_folders,'root'); 126 } 127 } 128 129 // Ver Ticket #1548 130 if( folders[i].folder_parent != 'root') 131 { 132 var node_parent = treeFolders.getNodeById(folders[i].folder_parent); 133 134 if( typeof node_parent != 'undefined') 135 { 136 node_parent.plusSign = true; 137 treeFolders.alter(node_parent); 138 } 139 } 140 141 treeFolders.add( nn, folders[i].folder_parent ); 142 } 143 } 144 145 //Pastas locais 146 if ( preferences.use_local_messages == 1 ) 147 { 148 var n_root_local = new dNode({ id : "local_root", caption : get_lang("local folders"), onClick: "ttree.setFolder('root')" }); 149 150 treeFolders.add( n_root_local, 'root' ); 151 152 var local_folders = expresso_local_messages.list_local_folders(); 153 154 //Coloca as pastas locais. 155 for (var i in local_folders) 156 { 157 var node_parent = "local_root"; 158 var new_caption = local_folders[i][0]; 159 160 if( local_folders[i][0].indexOf("/") != "-1" ) 161 { 162 final_pos = local_folders[i][0].lastIndexOf("/"); 163 node_parent = "local_"+local_folders[i][0].substr(0,final_pos); 164 new_caption = local_folders[i][0].substr(final_pos+1); 165 } 166 167 if ( local_folders[i][1] > 0 ) 168 { 169 var nodeLocal = new dNode({ 170 id: "local_" + local_folders[i][0], 171 caption: lang_folder(new_caption) + '<font style=color:red> (</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 172 plusSign: local_folders[i][2] 173 }); 174 } 175 else 176 { 177 var nodeLocal = new dNode({ 178 id: "local_" + local_folders[i][0], 179 caption: lang_folder(new_caption), 180 plusSign: local_folders[i][2] 181 }); 182 } 183 treeFolders.add(nodeLocal, node_parent); 184 } 185 FOLDER = arguments[0]; 185 186 } 186 187 treeFolders.draw(elementHtml); 188 treeFolders.getNodeById("root")._select(); 189 root.changeState(); 190 } 191 192 /* Build the Object */ 193 var ttree = new treeS(); 187 188 foldersExpresso.prototype.load = load; 189 foldersExpresso.prototype.getFolder = getFolder; 190 foldersExpresso.prototype.setFolder = setFolder; 191 foldersExpresso.prototype.make_tree = make_tree; 192 193 window.ttree = new foldersExpresso; 194 195 })();
Note: See TracChangeset
for help on using the changeset viewer.