source: sandbox/2.4.2-expresso2/expressoMail1_2/js/TreeS.js @ 6890

Revision 6890, 3.5 KB checked in by angelo, 12 years ago (diff)

Ticket #2971 - Edicao de pastas compartilhadas na propria arvore de pastas

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1(function()
2{
3        var FOLDER      =       "";
4       
5        function foldersExpresso(){ }
6       
7        function make_tree()
8        {
9                var elementHtml = null;
10               
11                if( arguments.length > 0 )
12                {
13                        elementHtml = arguments[0];
14                }
15                else
16                {
17                        if( Element('dftree_treeFolders') != null )
18                        {
19                                elementHtml = Element('dftree_treeFolders').parentNode.parentNode;
20                                Element('dftree_treeFolders').innerHTML = "";
21                        }
22                }
23               
24                var treeFolders = new dFTree({ name : 'treeFolders' });
25               
26                if( !expresso_offline )
27                {
28                        var root        = new dNode({ id : 'root', caption: get_lang('My Folders'), onClick: "ttree.setFolder('root')" });
29                       
30                        treeFolders.add(root, 'root');
31
32                        for(var i = 0; i < folders.length ; i++ )
33                        {
34                                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+"')"});
35                               
36                                if ( folders[i].folder_parent == '' )
37                                {
38                                        folders[i].folder_parent = 'root';
39                                }
40                    else if ( folders[i].folder_parent.indexOf('user') != -1 )
41                    {
42                        //if ( treeFolders.getNodeById('user') )
43                        {
44                                var n_root_shared_folders = new dNode({ id:'user', caption:get_lang("Shared Folders"), plusSign:true});
45                            treeFolders.add( n_root_shared_folders,'root');
46                        }
47                    }
48
49                                // Ver Ticket #1548
50                                if( folders[i].folder_parent != 'root')
51                                {
52                        var node_parent = treeFolders.getNodeById(folders[i].folder_parent);
53                       
54                        if( typeof node_parent != 'undefined')
55                        {
56                                node_parent.plusSign = true;
57                                treeFolders.alter(node_parent);
58                        }
59                    }
60                               
61                                treeFolders.add( nn, folders[i].folder_parent );
62                        }
63                }       
64
65                //Pastas locais
66                if ( preferences.use_local_messages == 1 )
67                {
68                        var n_root_local = new dNode({ id : "local_root", caption : get_lang("local folders"), onClick: "ttree.setFolder('root')" });
69                       
70                        treeFolders.add( n_root_local, 'root' );
71                       
72                        var local_folders = expresso_local_messages.list_local_folders();
73                       
74                        //Coloca as pastas locais.
75                        for (var i in local_folders)
76                        {
77                                var node_parent = "local_root";
78                                var new_caption = local_folders[i][0];
79                               
80                                if( local_folders[i][0].indexOf("/") != "-1" )
81                                {
82                                        final_pos       = local_folders[i][0].lastIndexOf("/");
83                                        node_parent = "local_"+local_folders[i][0].substr(0,final_pos);
84                                        new_caption = local_folders[i][0].substr(final_pos+1);
85                                }
86                                           
87                                if ( local_folders[i][1] > 0 )
88                                {
89                                        var nodeLocal = new dNode({
90                                                                                                id: "local_" + local_folders[i][0],
91                                                                                                caption: lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>',
92                                                                                                plusSign: local_folders[i][2]
93                                        });
94                                }
95                                else
96                                {
97                                        var nodeLocal = new dNode({
98                                                                                                id: "local_" + local_folders[i][0],
99                                                                                                caption: lang_folder(new_caption),
100                                                                                                plusSign: local_folders[i][2]
101                                        });
102                                }
103                                treeFolders.add(nodeLocal, node_parent);
104                        }
105                }
106
107                treeFolders.draw(elementHtml);
108                treeFolders.getNodeById("root")._select();
109                root.changeState();
110               
111        }
112       
113        function getFolder()
114        {
115                return FOLDER;
116        }
117       
118        function setFolder()
119        {
120                FOLDER = arguments[0];
121        }
122
123        foldersExpresso.prototype.getFolder     = getFolder;
124        foldersExpresso.prototype.setFolder     = setFolder;
125        foldersExpresso.prototype.make_tree     = make_tree;
126       
127        window.ttree = new foldersExpresso;
128       
129})();
Note: See TracBrowser for help on using the repository browser.