1 | var res_sort_field = 'file_name'; |
---|
2 | var res_sort_asc = 1; |
---|
3 | |
---|
4 | function 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 | |
---|
12 | function 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 | |
---|
133 | function 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 | |
---|
162 | function 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 | |
---|
175 | function 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 | |
---|
184 | function 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 | |
---|
195 | function 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 | |
---|
201 | function 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 | |
---|
226 | function 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 | } |
---|