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

Revision 1349, 8.5 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 
1var res_sort_field = 'file_name';
2var res_sort_asc   = 1;
3
4function sort_resource_list(field)
5{
6        res_sort_field = field;
7        res_sort_asc   = (res_sort_asc == 1) ? 0 : 1;
8
9        redraw_resource_list();
10}
11
12function createResourcesList(folder)
13{
14        var table = document.createElement("TABLE");
15    var body  = document.createElement("TBODY");
16        var tr    = document.createElement("TR");
17        var td    = new Array(5);
18
19        var fillResourcesList = function(data) {
20                var tr;
21                var td;
22
23                if (data != null) {
24                        for (i = 0; i < data.length; i++) {
25                                tr = document.createElement("TR");
26                                td = new Array(5);
27       
28                                for (j = 0; j < td.length; j++) {
29                                        td[j] = document.createElement('TD');
30                                }
31         
32                                tr.className = 'table_elements_tr_line';
33
34                                if (i % 2) {
35                    tr.style.backgroundColor = '#FFFFFF';
36                } else {
37                    tr.style.backgroundColor = '#F5F5F5';
38                }
39       
40                                file_name = data[i]['file_name'];
41
42                                td[0].align = 'left';
43                                if ((file_name.indexOf('.css') > 0) || (file_name.indexOf('.js') > 0))
44                                        td[0].innerHTML = get_link("javascript:void(0)", data[i]['file_name'],"onclick=\"window.open('"+_web_server_url+"/index.php?menuaction=workflow.ui_resourceeditor.form&proc_name="+data[i]['proc_name']+"&file_name="+data[i]['file_name']+"&type=resource&proc_id="+data[i]['proc_id']+"','','width=850,height=680,screenX=100,left=10,screenY=100,top=10,toolbar=no,scrollbars=yes,resizable=yes')\"");
45                                else
46                                        if ((file_name.indexOf('.jpg') > 0) || (file_name.indexOf('.png') > 0) || (file_name.indexOf('.gif') > 0))
47                                                td[0].innerHTML = '<a rel="lightbox" href="workflow/redirect.php?pid=' + data[i]['proc_id'] + '&file=' + data[i]['file_name'] + '" title="Arquivo: ' + data[i]['file_name'] + '">' + data[i]['file_name'] + '</a>';
48                                        else
49                                                td[0].innerHTML = data[i]['file_name'];
50                                       
51                                td[1].align = 'center';
52                                td[1].innerHTML = data[i]['tipo'];     
53       
54                                td[2].align = 'center';
55                                td[2].innerHTML = data[i]['tamanho'];   
56               
57                                td[3].align = 'center';
58                                td[3].innerHTML = data[i]['modificado'];       
59       
60                                td[4].align = 'center';
61                       
62                                if ((file_name.indexOf('.css') > 0) || (file_name.indexOf('.js') > 0)) {
63                                        edit_button = get_link("javascript:void(0)", get_icon('phpedit.png','Editar Resource','hspace=1'),"onclick=\"window.open('"+_web_server_url+"/index.php?menuaction=workflow.ui_resourceeditor.form&proc_name="+data[i]['proc_name']+"&file_name="+data[i]['file_name']+"&type=resource&proc_id="+data[i]['proc_id']+"','','width=850,height=680,screenX=100,left=10,screenY=100,top=10,toolbar=no,scrollbars=yes,resizable=yes')\"");
64                                } else {
65                                        edit_button = get_icon('phpeditpb.png','Editar Resource','hspace=1');
66                                }
67                               
68                                td[4].innerHTML = edit_button + 
69                                                                  get_link(_web_server_url+"/index.php?menuaction=workflow.bo_adminsource.export_file&file_name="+escape(data[i]['file_name'])+"&type="+data[i]['tipo_arquivo']+"&proc_id="+proc_id,get_icon('phpexport.png','Exportar Resource','hspace=1'),"") +
70                                                                  get_link("javascript:void(0)", get_icon('del_template.png','Excluir Resource','hspace=1'),"onclick=\"delete_resource('"+data[i]['file_name']+"')\"");
71       
72                                for (j = 0; j < td.length; j++) {
73                                        tr.appendChild(td[j]);
74                                }
75       
76                                body.appendChild(tr);
77                        }
78                }
79                initLightbox();
80        };
81
82    table.setAttribute("cellPadding", "2");
83    table.className = "table_elements";
84    table.id        = 'resource_list';
85
86        tr.className = "table_elements_tr_header";
87
88        for (i = 0; i < td.length; i++) {
89                td[i] = document.createElement('TD');
90                td[i].style.cursor = 'pointer';
91        }
92       
93        icon_order = (res_sort_asc == 1) ? get_icon('arrow_descendant.gif','Crescente','hspace=1') : get_icon('arrow_ascendant.gif','Decrescente','hspace=1') ;
94
95        td[0].setAttribute('width', '50%');
96        td[0].align = 'left';
97        td[0].innerHTML = 'Nome do Arquivo';
98        td[0].onclick = function() { sort_resource_list('file_name'); };
99        td[0].innerHTML = ( res_sort_field == 'file_name' ) ? td[0].innerHTML = '<b>Nome do Arquivo</b>' + icon_order : td[0].innerHTML;
100               
101        td[1].setAttribute('width', '10%');
102        td[1].align = 'center';
103        td[1].innerHTML = 'Tipo';       
104        td[1].onclick = function() { sort_resource_list('tipo'); };
105        td[1].innerHTML = ( res_sort_field == 'tipo' ) ? td[1].innerHTML = '<b>Tipo</b>' + icon_order : td[1].innerHTML;
106
107        td[2].setAttribute('width', '10%');
108        td[2].align = 'center';
109        td[2].innerHTML = 'Tamanho';   
110        td[2].onclick = function() { sort_resource_list('tamanho'); };
111        td[2].innerHTML = ( res_sort_field == 'tamanho' ) ? td[2].innerHTML = '<b>Tamanho</b>' + icon_order : td[2].innerHTML;
112       
113        td[3].setAttribute('width', '20%');
114        td[3].align = 'center';
115        td[3].innerHTML = 'Modificado';
116        td[3].onclick = function() { sort_resource_list('modificado'); };
117        td[3].innerHTML = ( res_sort_field == 'modificado' ) ? td[3].innerHTML = '<b>Modificado</b>' + icon_order : td[3].innerHTML;
118
119        td[4].setAttribute('width', '10%');
120        td[4].align = 'center';
121        td[4].innerHTML = 'Ações';     
122
123        for (i = 0; i < td.length; i++)
124                tr.appendChild(td[i]);
125
126        body.appendChild(tr);
127        table.appendChild(body);
128        folder.appendChild(table);
129
130        cExecute ("$this.bo_adminsource.get_resource_files", fillResourcesList, "proc_id="+proc_id+"&sort="+res_sort_field+"&order_by="+res_sort_asc);
131}
132
133function new_resource()
134{
135        var createHnd = function(data) {
136                var resources_folder = getFolder(ID_RESOURCES_FOLDER);
137               
138                switch(data)
139                {
140                        case 0: alert('Erro: Nome de arquivo inválido.');
141                                        break;
142                        case 1: alert('Erro: ID de processo inválido.');
143                                        break;
144                        case 2: alert('Arquivo já existe.');
145                                        break;
146                        case 3: alert('Arquivo criado com sucesso.');
147                                        break;
148                        case 4: alert('Não foi possível criar o arquivo.');
149                                        break;
150
151                }
152                killElement('resource_list');
153                createResourcesList(resources_folder);
154        };
155
156        file_name = prompt('Informe o nome do arquivo:','arquivo.js');
157        if (file_name.length > 0) {
158                cExecute ("$this.bo_adminsource.create_file", createHnd, "rewrite=0&proc_id="+proc_id+"&type=resource&file_name="+file_name);
159        }
160}
161
162function delete_resource(file_name)
163{
164        var deleteHnd = function(data) {
165                //alert(data);
166                redraw_resource_list();
167        };
168
169        if (confirm("Tem certeza que deseja excluir o resource "+file_name+"?"))
170        {
171                cExecute ("$this.bo_adminsource.delete_file", deleteHnd, "proc_id="+proc_id+"&type=resource&file_name="+file_name);
172        }
173}
174
175function redraw_resource_list()
176{
177        var resources_folder = getFolder(ID_RESOURCES_FOLDER);
178        frmUpload.reset();
179        killElement('resource_list');
180        createResourcesList(resources_folder);
181}
182
183
184function upload_resource()
185{
186        var uploadHnd = function(data) {
187                var resources_folder = getFolder(ID_RESOURCES_FOLDER);
188                alert(data);
189                redraw_resource_list();
190        };
191
192        cExecuteFormData("$this.bo_adminsource.upload_resource",frmUpload,uploadHnd);
193}
194
195function toggle_upload_row(folder_id)
196{
197        var row = document.getElementById('td_tool_bar_'+folder_id+'_0').parentNode;
198        row.style.display = (row.style.display == 'none') ? '' : 'none';
199}
200
201function draw_resources_toolbar(folder) {
202        var toolbar_row_0 = document.getElementById('td_tool_bar_'+folder.id+'_0').parentNode;
203        var toolbar_cell_1 = document.getElementById('td_main_toolbar_'+folder.id+'_1');
204
205        //toolbar_cell_0.setAttribute('width','10px');
206         toolbar_row_0.style.display = "none";
207
208    resource_tool = new TMainMenu("resource_tool",'horizontal');
209        resource_tool.Add( new TPopMenu('Novo',_web_server_url+'/workflow/templateFile.php?file=images/new_template.png','f','new_resource()', 'Novo Resource') );
210        resource_tool.Add( new TPopMenu('Importar',_web_server_url+'/workflow/templateFile.php?file=images/up_resource.png','f','toggle_upload_row(\'' + folder.id + '\')', 'Upload Resource') );
211        setToolBarStyle(resource_tool);
212       
213        resource_tool.Build(toolbar_cell_1.id);
214        document.getElementById(resource_tool._id).style.visibility = 'visible';
215
216        /* the use of DOM in this part, is required by MSIE */
217        while (toolbar_row_0.childNodes.length > 0)
218                toolbar_row_0.removeChild(toolbar_row_0.firstChild);
219        var td = document.createElement('TD');
220        td.colSpan = 3;
221        td.id = 'td_tool_bar_' + folder.id + '_0';
222        td.innerHTML = '<form name=frmUpload method=POST enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE" value="3000000"><input type=hidden name=proc_id value='+proc_id+'><input type=file name=resource_file><button onclick="upload_resource(); return false;">Upload</button>';
223        toolbar_row_0.appendChild(td);
224}
225
226function draw_resources_folder() {
227 
228        var resources_folder = getFolder(ID_RESOURCES_FOLDER);
229        var toolbar;
230
231        toolbar = document.getElementById("wf_toolbar_"+resources_folder.id);
232        if (toolbar == null)
233        {
234                createToolBar(ID_RESOURCES_FOLDER,false);
235                draw_resources_toolbar(resources_folder);
236        }
237
238        createResourcesList(resources_folder);
239}
Note: See TracBrowser for help on using the repository browser.