source: branches/1.2/workflow/js/adminsource/main.js @ 1349

Revision 1349, 7.2 KB checked in by niltonneto, 15 years ago (diff)

Ticket #561 - Inclusão do módulo Workflow faltante nessa versão.

  • Property svn:executable set to *
Line 
1
2var ID_PHP_FOLDER       = 0;
3var ID_INCLUDES_FOLDER  = 1;
4var ID_TEMPLATES_FOLDER = 2;
5var ID_RESOURCES_FOLDER = 3;
6
7var proc_id=0;
8var php_toolbar;
9var tpl_toolbar;
10var inc_toolbar;
11var res_toolbar;
12var toolbar_name;
13var window_list = new Array;
14
15function show_window(titulo,div,width,height)
16{
17  if (!window_list[div.id])
18  {
19    if(is_ie){
20        div.style.height = (height + 10) + 'px';
21        div.style.width = (width + 50) + 'px';
22    } else {
23        div.style.height = height + 'px';
24        div.style.width = width + 'px';
25    }
26
27    div.style.visibility = "hidden";
28    div.style.position = "absolute";
29    div.style.zIndex = "10002";
30    var wHeight = div.offsetHeight + "px";
31    var wWidth =  div.offsetWidth   + "px";
32
33    win = new dJSWin({
34         id: 'window_'+div.id,
35         content_id: div.id,
36         width: wWidth,
37         height: wHeight,
38         title_color: '#3978d6',
39         bg_color: '#eee',
40         title: titulo,
41         title_text_color: 'white',
42         button_x_img: _icon_dir + '/winclose.gif',
43         border: true
44        });
45
46    win.draw();
47        window_list[div.id] = win;
48  } else {
49        win = window_list[div.id];
50  }
51
52  win.open();
53}
54
55function getFolder(id_folder)
56{
57        return document.getElementById("content_id_"+id_folder);
58}
59
60function createToolBar(folder_id,show_proc_status)
61{
62        var table = document.createElement("TABLE");
63    var body  = document.createElement("TBODY");
64        var tr    = document.createElement("TR");
65        var tr2    = document.createElement("TR");
66        var td    = new Array(3);
67        var td2    = new Array(3);
68        var show_proc_status = (show_proc_status == null) ? true : show_proc_status;
69        var folder = getFolder(folder_id);
70
71        var fillToolBar = function(data)
72        {
73
74                var combo = "";
75                combo = '<select id="novoProcesso" onchange="window.location=this.value">';
76                for (var i = 0; i < data['other_processes'].length; i++)
77                        combo += '<option value="' + data['other_processes'][i]['link']  + (data['other_processes'][i]['pid'] == data['proc_id'] ? " selected=\"selected\"" : "")  + '">'+ data['other_processes'][i]['name']  + '</option>';
78                combo += '</select>';
79                td[0].innerHTML = 'Processo:<br/>' + combo;
80                if (show_proc_status)
81                        td[1].innerHTML = 'Status:<br/><img src='+data['img_validity']+'>&nbsp;<b>' + data['alt_validity'] + '</b>';
82
83                eval(toolbar_name + " = new TMainMenu('"+toolbar_name+"','horizontal')");
84                //Start - Stop
85                if ( data['start_stop_img'].length > 0 ) {
86                        _start_stop = new TPopMenu((screen.width > 800) ?data['start_stop_desc']:' ',data['start_stop_img'],'a',data['start_stop_link'], data['start_stop_desc']+' Processo');
87                eval(toolbar_name+'.Add( _start_stop )');
88                }
89                //Processo
90                _processo = new TPopMenu((screen.width > 800) ?'Processo':' ',data['img_change'],'a',data['link_admin_processes'], 'Editar Dados do Processo');
91            eval(toolbar_name+'.Add( _processo )');
92                //Atividades
93                _atividades = new TPopMenu((screen.width > 800) ?'Atividades':' ',data['img_activity'],'a',data['link_admin_activities'], 'Atividades do Processo');
94            eval(toolbar_name+'.Add( _atividades )');
95                //Perfis
96                _perfis = new TPopMenu((screen.width > 800) ?'Perfis':' ',data['img_roles'],'a',data['link_admin_roles'], 'Editar Perfis do Processo');
97            eval(toolbar_name+'.Add( _perfis )');
98                //Jobs
99                _jobs = new TPopMenu((screen.width > 800) ?'Jobs':' ',data['img_job'],'a',data['link_admin_jobs'], 'Administrar Jobs do Processo');
100            eval(toolbar_name+'.Add( _jobs )');
101                //Gráfico
102                _grafico = new TPopMenu((screen.width > 800) ?'Gráfico':' ',data['img_process'],'a',data['link_graph'], 'Gráfico do Processo');
103            eval(toolbar_name+'.Add( _grafico )');
104                //Exportar
105                _exportar = new TPopMenu((screen.width > 800) ?'Exportar':' ',data['img_save'],'a',data['link_admin_export'] ,'Exportar Processo');
106            eval(toolbar_name+'.Add( _exportar )');
107
108            eval("setToolBarStyle( "+toolbar_name+" )");
109            eval(toolbar_name+'.Build(td[2].id)');
110                td[2].setAttribute('align','right');
111            eval("document.getElementById("+toolbar_name+"._id).style.visibility = 'visible'");
112        };
113
114        for (i = 0; i < td.length; i++ )
115        {
116                td2[i] = document.createElement("TD");
117                td2[i].setAttribute('id','td_tool_bar_'+folder.id+'_'+i);
118                td2[i].setAttribute('valign','center');
119                tr2.appendChild(td2[i]);       
120
121                td[i] = document.createElement("TD");
122                td[i].setAttribute('id','td_main_toolbar_'+folder.id+'_'+i);
123                td[i].setAttribute('valign','center');
124                tr.appendChild(td[i]); 
125        }
126       
127        table.setAttribute("id", "wf_toolbar_"+folder.id);
128    table.setAttribute("width", "100%");
129    table.setAttribute("cellpadding", "5");
130    table.setAttribute("cellspacing", "0");
131
132        switch (folder_id)
133        {
134                case ID_PHP_FOLDER :
135                                                toolbar_name = 'php_toolbar';
136                                                break;
137                case ID_INCLUDES_FOLDER :
138                                                toolbar_name = 'inc_toolbar';
139                                                break;
140                case ID_TEMPLATES_FOLDER :
141                                                toolbar_name = 'tpl_toolbar';
142                                                break;
143                case ID_RESOURCES_FOLDER :
144                                                toolbar_name = 'res_toolbar';
145                                                break;
146
147        }
148
149        body.appendChild(tr);
150        body.appendChild(tr2);
151    table.appendChild(body);
152    folder.appendChild(table);
153
154        cExecute ("$this.bo_adminsource.get_toolbar_data", fillToolBar, "proc_id="+proc_id);
155}
156
157function init_user_interface() {
158
159        if ((!is_gecko) && (!is_ie6up)) {
160                alert('Seu navegador não suporta o módulo de Workflow.\nInstale o Mozilla FireFox 1.0+ ou Internet Explorer 6.0+.');
161        } else {
162                BordersArray[0] = new setBorderAttributes(0);
163                BordersArray[1] = new setBorderAttributes(1);
164                BordersArray[2] = new setBorderAttributes(2);
165                BordersArray[3] = new setBorderAttributes(3);
166
167                var main_body = document.getElementById("main_body");
168                main_body.style.display = '';
169               
170                if (alternate_border(ID_PHP_FOLDER) == 0) {
171                        draw_php_folder();
172                }
173        }
174}
175
176function setToolBarStyle(t) {
177        t.SetPosition('relative',0,0);
178        t.SetCorrection(1,-5);
179        t.SetCellSpacing(0);   
180        t.SetBackground('whitesmoke','','','');
181        t.SetItemText('black','center','','','');
182        t.SetItemTextHL('darkblue','center','','','');
183        t.SetItemBorder(1,'buttonface','solid');
184        t.SetItemBorderHL(1,'black','solid');
185        t.SetItemBackgroundHL('white','','','');
186        t.SetItemTextClick('white','center','','','');
187        t.SetItemBackgroundClick('darkblue','','','');
188        t.SetItemBorderClick(1,'black','solid');
189        t.SetBorder(0,'navy','solid');
190       
191        t.SetItemDimension(200,22);             
192        t._pop.SetCorrection(4,1);
193        t._pop.SetItemDimension(180,22);               
194        t._pop.SetPaddings(1);
195        t._pop.SetBackground('white','','','');
196        t._pop.SetSeparator(150,'left','black','');
197        t._pop.SetExpandIcon(true,'>',9);
198        t._pop.SetItemBorder(0,'#66CCFF','solid');
199        t._pop.SetItemBorderHL(0,'black','solid');
200        t._pop.SetItemPaddings(0);
201        t._pop.SetItemPaddingsHL(0);
202        t._pop.SetItemText('black','','','','');
203        t._pop.SetItemTextHL('darkblue','','','','');
204        t._pop.SetItemBackground('white','','','');
205        t._pop.SetItemBackgroundHL('whitesmoke','','','');
206}
207
208
209function change_folder(folder_id)
210{
211        //verifica se a pasta ainda não foi criada
212        if (!alternate_border(folder_id)) {
213                switch (folder_id)
214                {
215                        case ID_PHP_FOLDER       :  draw_php_folder();
216                                                                                break;
217                        case ID_TEMPLATES_FOLDER :      draw_templates_folder();
218                                                                                break;
219                        case ID_RESOURCES_FOLDER :  draw_resources_folder();
220                                                                                break;
221                        case ID_INCLUDES_FOLDER :   draw_includes_folder();
222                                                                                break;
223                }
224        }
225}
226
227
228Event.observe(window, 'load', function() {
229        proc_id = $F('workflowAdminSourceProcessID');
230        init_user_interface();
231});
Note: See TracBrowser for help on using the repository browser.