[795] | 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 | } |
---|