source: sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/wfolders.js @ 1121

Revision 1121, 4.8 KB checked in by eduardoalex, 15 years ago (diff)

Ticket #548 - Implementação do Expresso (Mail) Offline

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1        function cWFolders()
2        {
3                this.arrayWin = new Array();
4                this.el;
5                this.alert = false;
6        }
7
8        cWFolders.prototype.makeWindowNew = function(border_id, type,from_search)
9        { //Javascript doesn't seems to have polimorfism
10                _this = this;
11       
12                var el = document.createElement("DIV");
13                el.style.visibility = "hidden";
14                el.style.position = "absolute";
15                el.style.left = "0px";
16                el.style.top = "0px";
17                el.style.width = "0px";
18                el.style.height = "0px";
19                el.id = 'dJSWin_wfolders';
20                document.body.appendChild(el);
21               
22                el.innerHTML = "<table><tbody><tr><td>&nbsp</td><td>"+
23                "<div id='wfolders_content_tree' style='height:200px; width:250px; overflow:auto; background:#F7F7F7'></div>"+
24                "</td></tr></tbody></table>";
25
26                var space = document.createElement('SPAN');
27                space.innerHTML = "<BR>&nbsp;&nbsp;";
28                el.appendChild(space);
29
30                var butt = Element('dJSWin_wfolders_bok')
31                if (!butt){
32                        butt = document.createElement('INPUT');
33                        butt.id = 'dJSWin_wfolders_bok';
34                        butt.type = 'button';
35                        el.appendChild(butt);
36                }
37                if (type == 'save')
38                                butt.value = get_lang('Save');
39                else if (type == 'send_and_file')
40                butt.value = get_lang('Send and file');
41                else if (type == 'move_to')
42                        butt.value = get_lang('Move');
43                else if (type == 'change_folder')
44                        butt.value = get_lang('Change folder');
45                else //default value
46                        butt.value = get_lang(type);
47
48                butt.onclick = function () {
49                        wfolders.arrayWin[el.id].close();
50                        if (type == 'save'){
51                                save_as_msg(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption,true);
52                        }
53                        else if (type == 'send_and_file'){
54                                send_message(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption);
55                                wfolders.alert = true;
56                        }
57                        else if (type == 'move_to')     {
58                                var msg_number =  (border_id ? border_id.replace('_r','') : 'selected');
59                                if (border_id.match('search'))
60                                        move_search_msgs(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption);       
61                                else{
62                                        proxy_mensagens.proxy_move_messages('null',msg_number, border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption);
63                                        wfolders.alert = true;
64                                }
65                        }
66                        else if (type == 'change_folder'){
67                                change_folder(wfolders_tree._selected.id, wfolders_tree._selected.caption);
68                                wfolders.alert = true;
69                        }
70                        else if (type == 'import'){
71                                import_msgs(wfolders_tree);
72                        }
73                };
74                if (type == 'save')
75                        butt.value = get_lang('Save');
76                else if (type == 'send_and_file')
77                        butt.value = get_lang('Send and file');
78
79                var space = document.createElement('SPAN');
80                space.innerHTML = "&nbsp;&nbsp;";
81                el.appendChild(space);
82
83                var butt = document.createElement('BUTTON');
84                var buttext = document.createTextNode(get_lang('Close'));
85                butt.appendChild(buttext);
86                butt.onclick = function () {wfolders.arrayWin[el.id].close();};
87                el.appendChild(butt);
88
89                wfolders_tree = new dFTree({name: 'wfolders_tree'});
90                if(!expresso_offline)
91                        var n_root = new dNode({id:'root', caption:get_lang("My Folders")});
92                else
93                        var n_root = new dNode({id:'local_root', caption:get_lang("local messages")});
94                wfolders_tree.add(n_root,'anything'); //Places the root; second argument can be anything.
95
96                var folders = tree_folders.getNodesList(cyrus_delimiter);
97                for (var i=1; i<folders.length; i++)
98                {
99                        if (proxy_mensagens.is_local_folder(folders[i].id) && from_search) {
100                                continue;
101                        }
102                        var nn = new dNode({
103                                id: folders[i].id,
104                                caption: lang_folder(folders[i].caption),
105                                plusSign: folders[i].plusSign
106                        });
107                        wfolders_tree.add(nn, folders[i].parent);
108                       
109                }
110                Element('wfolders_content_tree').innerHTML = ""; //As buscas não podem incluir mover entre pastas locais, pelo menos por enquanto
111                wfolders_tree.draw(Element('wfolders_content_tree'));
112                n_root.changeState();
113                if(!expresso_offline)
114                        wfolders_tree.getNodeById('INBOX')._select();
115                else
116                        wfolders_tree.getNodeById('local_Inbox')._select();
117                _this.showWindow(el, type);
118        }
119
120        cWFolders.prototype.makeWindow = function(border_id, type)
121        {
122                this.makeWindowNew(border_id,type,false);
123        }
124       
125        cWFolders.prototype.showWindow = function (div, type)
126        {
127                if(! div) {
128                        alert(get_lang("This list has no participants."));
129                        return;
130                }
131               
132                if(! this.arrayWin[div.id]) {
133                        div.style.width = "275px";
134                        div.style.height = "250px";
135                        var title = get_lang('Select a folder')+":";
136                        var wHeight = div.offsetHeight + "px";
137                        var wWidth =  div.offsetWidth   + "px";
138                        div.style.width = div.offsetWidth - 5;
139
140                        win = new dJSWin({
141                                id: 'win_'+div.id,
142                                content_id: div.id,
143                                width: wWidth,
144                                height: wHeight,
145                                title_color: '#3978d6',
146                                bg_color: '#eee',
147                                title: title,
148                                title_text_color: 'white',
149                                button_x_img: '../phpgwapi/images/winclose.gif',
150                                border: true });
151                       
152                        this.arrayWin[div.id] = win;
153                        win.draw();
154                }
155                else {
156                        win = this.arrayWin[div.id];
157                }
158                win.open();
159        }
160       
161/* Build the Object */
162        var wfolders;
163        wfolders = new cWFolders();
Note: See TracBrowser for help on using the repository browser.