source: trunk/expressoMail1_2/js/wfolders.js @ 660

Revision 660, 4.2 KB checked in by niltonneto, 15 years ago (diff)

Resolve #422

  • 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.makeWindow = function(border_id, type)
9        {
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                                        move_msgs('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                if (!Element('dftree_wfolders_tree'))
90                {
91                        wfolders_tree = new dFTree({name: 'wfolders_tree'});
92                        var n_root = new dNode({id:'root', caption:get_lang("My Folders")});
93                        wfolders_tree.add(n_root,'anything'); //Places the root; second argument can be anything.
94
95                        var folders = tree_folders.getNodesList(cyrus_delimiter);
96                        for (var i=1; i<folders.length; i++)
97                        {
98                                var nn = new dNode({id:folders[i].id, caption:lang_folder(folders[i].caption), plusSign:folders[i].plusSign});
99                                wfolders_tree.add(nn,folders[i].parent);
100                        }
101                       
102                        wfolders_tree.draw(Element('wfolders_content_tree'));
103                        n_root.changeState();
104                        wfolders_tree.getNodeById('INBOX')._select();
105                }
106                _this.showWindow(el, type);
107        }
108       
109        cWFolders.prototype.showWindow = function (div, type)
110        {
111                if(! div) {
112                        alert(get_lang("This list has no participants."));
113                        return;
114                }
115               
116                if(! this.arrayWin[div.id]) {
117                        div.style.width = "275px";
118                        div.style.height = "250px";
119                        var title = get_lang('Select a folder')+":";
120                        var wHeight = div.offsetHeight + "px";
121                        var wWidth =  div.offsetWidth   + "px";
122                        div.style.width = div.offsetWidth - 5;
123
124                        win = new dJSWin({
125                                id: 'win_'+div.id,
126                                content_id: div.id,
127                                width: wWidth,
128                                height: wHeight,
129                                title_color: '#3978d6',
130                                bg_color: '#eee',
131                                title: title,
132                                title_text_color: 'white',
133                                button_x_img: '../phpgwapi/images/winclose.gif',
134                                border: true });
135                       
136                        this.arrayWin[div.id] = win;
137                        win.draw();
138                }
139                else {
140                        win = this.arrayWin[div.id];
141                }
142                win.open();
143        }
144       
145/* Build the Object */
146        var wfolders;
147        wfolders = new cWFolders();
Note: See TracBrowser for help on using the repository browser.