[795] | 1 | var tpl_sort_field = 'file_name'; |
---|
| 2 | var tpl_sort_asc = 1; |
---|
| 3 | var tpl_toolbar; |
---|
| 4 | var tpl_rewrite = false; |
---|
| 5 | |
---|
| 6 | function set_tpl_rewrite() |
---|
| 7 | { |
---|
| 8 | tpl_rewrite = !tpl_rewrite; |
---|
| 9 | } |
---|
| 10 | |
---|
| 11 | function show_template_window() |
---|
| 12 | { |
---|
| 13 | var showHnd = function(data) |
---|
| 14 | { |
---|
| 15 | div = document.getElementById('model_template_list'); |
---|
| 16 | if (!div) { |
---|
| 17 | div = document.createElement("DIV"); |
---|
| 18 | div.style.visibility = "hidden"; |
---|
| 19 | div.style.position = "absolute"; |
---|
| 20 | div.id = "model_template_list"; |
---|
| 21 | |
---|
| 22 | tb = document.createElement("TABLE"); |
---|
| 23 | tr = document.createElement("TR"); |
---|
| 24 | td = document.createElement("TD"); |
---|
| 25 | |
---|
| 26 | td.innerHTML = '<b>Selecione o modelo desejado:</b><br>'; |
---|
| 27 | se = document.createElement("SELECT"); |
---|
| 28 | se.setAttribute('name','tplfile'); |
---|
| 29 | se.setAttribute('size','10'); |
---|
| 30 | se.setAttribute('id','win_tpl_model'); |
---|
| 31 | se.style.width = '200px'; |
---|
| 32 | |
---|
| 33 | for (i = 0; i < data.length; i++) |
---|
| 34 | { |
---|
| 35 | op = document.createElement("OPTION"); |
---|
| 36 | op.setAttribute('value',data[i]['file_name']); |
---|
| 37 | if (i == 0) |
---|
| 38 | op.setAttribute('selected','selected'); |
---|
| 39 | op.innerHTML = data[i]['file_name']; |
---|
| 40 | se.appendChild(op); |
---|
| 41 | } |
---|
| 42 | |
---|
| 43 | td.appendChild(se); |
---|
| 44 | tb.setAttribute('align','center'); |
---|
| 45 | tr.appendChild(td); |
---|
| 46 | tb.appendChild(tr); |
---|
| 47 | |
---|
| 48 | tr = document.createElement("TR"); |
---|
| 49 | td = document.createElement("TD"); |
---|
| 50 | |
---|
| 51 | td.innerHTML = '<b>Nome do arquivo a ser criado:</b><br>'; |
---|
| 52 | |
---|
| 53 | it = document.createElement("INPUT"); |
---|
| 54 | it.setAttribute('type','text'); |
---|
| 55 | it.setAttribute('name','tpl_novo_nome'); |
---|
| 56 | it.setAttribute('value','arquivo.tpl'); |
---|
| 57 | it.setAttribute('id','win_tpl_name'); |
---|
| 58 | it.style.width = '200px'; |
---|
| 59 | |
---|
| 60 | td.appendChild(it); |
---|
| 61 | tr.appendChild(td); |
---|
| 62 | tb.appendChild(tr); |
---|
| 63 | |
---|
| 64 | tr = document.createElement("TR"); |
---|
| 65 | td = document.createElement("TD"); |
---|
| 66 | |
---|
| 67 | ch = document.createElement("INPUT"); |
---|
| 68 | ch.setAttribute('type','checkbox'); |
---|
| 69 | ch.setAttribute('name','tplrewrite'); |
---|
| 70 | ch.setAttribute('onclick','set_tpl_rewrite()'); |
---|
| 71 | td.appendChild(ch); |
---|
| 72 | td.innerHTML += 'Sobrescreve se já existe'; |
---|
| 73 | td.setAttribute('valign','top'); |
---|
| 74 | |
---|
| 75 | tr.appendChild(td); |
---|
| 76 | tb.appendChild(tr); |
---|
| 77 | |
---|
| 78 | tr = document.createElement("TR"); |
---|
| 79 | td = document.createElement("TD"); |
---|
| 80 | td.setAttribute('align','center'); |
---|
| 81 | |
---|
| 82 | bt = document.createElement("INPUT"); |
---|
| 83 | bt.setAttribute('type','button'); |
---|
| 84 | bt.setAttribute('value','Ok'); |
---|
| 85 | bt.setAttribute('name','Ok'); |
---|
| 86 | bt.setAttribute('onclick','create_new_template()'); |
---|
| 87 | bt.style.width = '70px'; |
---|
| 88 | td.appendChild(bt); |
---|
| 89 | |
---|
| 90 | bt = document.createElement("INPUT"); |
---|
| 91 | bt.setAttribute('type','button'); |
---|
| 92 | bt.setAttribute('value','Cancelar'); |
---|
| 93 | bt.setAttribute('name','Cancelar'); |
---|
| 94 | bt.setAttribute('onclick','win.close()'); |
---|
| 95 | bt.style.width = '70px'; |
---|
| 96 | td.appendChild(bt); |
---|
| 97 | |
---|
| 98 | tr.appendChild(td); |
---|
| 99 | tb.appendChild(tr); |
---|
| 100 | |
---|
| 101 | div.appendChild(tb); |
---|
| 102 | |
---|
| 103 | document.body.appendChild(div); |
---|
| 104 | } |
---|
| 105 | show_window('Modelos de Template',div,250,270); |
---|
| 106 | }; |
---|
| 107 | |
---|
| 108 | cExecute ("$this.bo_adminsource.get_model_files", showHnd, "type=template"); |
---|
| 109 | } |
---|
| 110 | |
---|
| 111 | function sort_tpl_list(field) |
---|
| 112 | { |
---|
| 113 | var icon_order; |
---|
| 114 | |
---|
| 115 | tpl_sort_field = field; |
---|
| 116 | tpl_sort_asc = (tpl_sort_asc == 1) ? 0 : 1; |
---|
| 117 | |
---|
| 118 | redraw_template_list(); |
---|
| 119 | } |
---|
| 120 | |
---|
| 121 | function createTemplateList(folder) |
---|
| 122 | { |
---|
| 123 | var table = document.createElement("TABLE"); |
---|
| 124 | var body = document.createElement("TBODY"); |
---|
| 125 | var tr = document.createElement("TR"); |
---|
| 126 | var td = new Array(4); |
---|
| 127 | |
---|
| 128 | var fillTemplateList = function(data) { |
---|
| 129 | var tr; |
---|
| 130 | var td; |
---|
| 131 | |
---|
| 132 | if (data != null) { |
---|
| 133 | for (i = 0; i < data.length; i++) { |
---|
| 134 | tr = document.createElement("TR"); |
---|
| 135 | td = new Array(5); |
---|
| 136 | |
---|
| 137 | for (j = 0; j < td.length; j++) { |
---|
| 138 | td[j] = document.createElement('TD'); |
---|
| 139 | } |
---|
| 140 | |
---|
| 141 | tr.className = 'table_elements_tr_line'; |
---|
| 142 | |
---|
| 143 | if (i % 2) { |
---|
| 144 | tr.style.backgroundColor = '#FFFFFF'; |
---|
| 145 | } else { |
---|
| 146 | tr.style.backgroundColor = '#F5F5F5'; |
---|
| 147 | } |
---|
| 148 | |
---|
| 149 | td[0].align = 'left'; |
---|
| 150 | td[0].innerHTML = get_link("javascript:void(0)", data[i]['file_name'],"onclick=\"window.open('"+_web_server_url+"/index.php?menuaction=workflow.ui_templateeditor.form&proc_name="+data[i]['proc_name']+"&file_name="+data[i]['file_name']+"&type="+data[i]['tipo_codigo']+"&proc_id="+data[i]['proc_id']+"','','width=850,height=680,screenX=100,left=10,screenY=100,top=10,toolbar=no,scrollbars=yes,resizable=yes')\""); |
---|
| 151 | |
---|
| 152 | td[1].align = 'center'; |
---|
| 153 | td[1].innerHTML = data[i]['tamanho']; |
---|
| 154 | |
---|
| 155 | td[2].align = 'center'; |
---|
| 156 | td[2].innerHTML = data[i]['modificado']; |
---|
| 157 | |
---|
| 158 | td[3].align = 'center'; |
---|
| 159 | td[3].innerHTML = get_link("javascript:void(0)", get_icon('phpedit.png','Editar Template','hspace=1'),"onclick=\"window.open('"+_web_server_url+"/index.php?menuaction=workflow.ui_templateeditor.form&proc_name="+data[i]['proc_name']+"&file_name="+data[i]['file_name']+"&type="+data[i]['tipo_codigo']+"&proc_id="+data[i]['proc_id']+"','','width=850,height=680,screenX=100,left=10,screenY=100,top=10,toolbar=no,scrollbars=yes,resizable=yes')\"") + |
---|
| 160 | get_link(_web_server_url+"/index.php?menuaction=workflow.bo_adminsource.export_file&file_name="+escape(data[i]['file_name'])+"&type="+data[i]['tipo_codigo']+"&proc_id="+proc_id,get_icon('phpexport.png','Exportar Template','hspace=1'),"") + |
---|
| 161 | get_link("javascript:void(0)", get_icon('del_template.png','Excluir Template','hspace=1'),"onclick=\"delete_template('"+data[i]['file_name']+"')\""); |
---|
| 162 | |
---|
| 163 | for (j = 0; j < td.length; j++) { |
---|
| 164 | tr.appendChild(td[j]); |
---|
| 165 | } |
---|
| 166 | |
---|
| 167 | body.appendChild(tr); |
---|
| 168 | } |
---|
| 169 | } |
---|
| 170 | }; |
---|
| 171 | |
---|
| 172 | table.setAttribute("cellPadding", "2"); |
---|
| 173 | table.className = "table_elements"; |
---|
| 174 | table.id = 'template_list'; |
---|
| 175 | |
---|
| 176 | tr.className = "table_elements_tr_header"; |
---|
| 177 | |
---|
| 178 | for (i = 0; i < td.length; i++) { |
---|
| 179 | td[i] = document.createElement('TD'); |
---|
| 180 | td[i].style.cursor = 'pointer'; |
---|
| 181 | } |
---|
| 182 | |
---|
| 183 | icon_order = (tpl_sort_asc == 1) ? get_icon('arrow_descendant.gif','Crescente','hspace=1') : get_icon('arrow_ascendant.gif','Decrescente','hspace=1') ; |
---|
| 184 | |
---|
| 185 | td[0].setAttribute('width', '60%'); |
---|
| 186 | td[0].align = 'left'; |
---|
| 187 | td[0].innerHTML = 'Nome do Arquivo'; |
---|
| 188 | td[0].onclick = function() { sort_tpl_list('file_name'); }; |
---|
| 189 | td[0].innerHTML = ( tpl_sort_field == 'file_name' ) ? td[0].innerHTML = '<b>Nome do Arquivo</b>' + icon_order : td[0].innerHTML; |
---|
| 190 | |
---|
| 191 | td[1].setAttribute('width', '10%'); |
---|
| 192 | td[1].align = 'center'; |
---|
| 193 | td[1].innerHTML = 'Tamanho'; |
---|
| 194 | td[1].onclick = function() { sort_tpl_list('tamanho'); }; |
---|
| 195 | td[1].innerHTML = ( tpl_sort_field == 'tamanho' ) ? td[1].innerHTML = '<b>Tamanho</b>' + icon_order : td[1].innerHTML; |
---|
| 196 | |
---|
| 197 | td[2].setAttribute('width', '20%'); |
---|
| 198 | td[2].align = 'center'; |
---|
| 199 | td[2].innerHTML = 'Modificado'; |
---|
| 200 | td[2].onclick = function() { sort_tpl_list('modificado'); }; |
---|
| 201 | td[2].innerHTML = ( tpl_sort_field == 'modificado' ) ? td[2].innerHTML = '<b>Modificado</b>' + icon_order : td[2].innerHTML; |
---|
| 202 | |
---|
| 203 | td[3].setAttribute('width', '10%'); |
---|
| 204 | td[3].align = 'center'; |
---|
| 205 | td[3].innerHTML = 'Ações'; |
---|
| 206 | |
---|
| 207 | for (i = 0; i < td.length; i++) |
---|
| 208 | tr.appendChild(td[i]); |
---|
| 209 | |
---|
| 210 | body.appendChild(tr); |
---|
| 211 | table.appendChild(body); |
---|
| 212 | folder.appendChild(table); |
---|
| 213 | |
---|
| 214 | cExecute ("$this.bo_adminsource.get_template_files", fillTemplateList, "proc_id="+proc_id+"&sort="+tpl_sort_field+"&order_by="+tpl_sort_asc); |
---|
| 215 | } |
---|
| 216 | |
---|
| 217 | function delete_template(file_name) |
---|
| 218 | { |
---|
| 219 | var deleteHnd = function(data) { |
---|
| 220 | var templates_folder = getFolder(ID_TEMPLATES_FOLDER); |
---|
| 221 | |
---|
| 222 | alert(data); |
---|
| 223 | killElement('template_list'); |
---|
| 224 | createTemplateList(templates_folder); |
---|
| 225 | }; |
---|
| 226 | |
---|
| 227 | if (confirm("Tem certeza que deseja excluir o template "+file_name+"?")) |
---|
| 228 | { |
---|
| 229 | cExecute ("$this.bo_adminsource.delete_file", deleteHnd, "proc_id="+proc_id+"&type=template&file_name="+file_name); |
---|
| 230 | } |
---|
| 231 | } |
---|
| 232 | |
---|
| 233 | function redraw_template_list() |
---|
| 234 | { |
---|
| 235 | var templates_folder = getFolder(ID_TEMPLATES_FOLDER); |
---|
| 236 | |
---|
| 237 | killElement('template_list'); |
---|
| 238 | createTemplateList(templates_folder); |
---|
| 239 | } |
---|
| 240 | |
---|
| 241 | function create_new_template() |
---|
| 242 | { |
---|
| 243 | var createHnd = function(data) { |
---|
| 244 | var templates_folder = getFolder(ID_TEMPLATES_FOLDER); |
---|
| 245 | |
---|
| 246 | switch(data) |
---|
| 247 | { |
---|
| 248 | case 0: alert('Erro: Nome de arquivo inválido.'); |
---|
| 249 | break; |
---|
| 250 | case 1: alert('Erro: ID de processo inválido.'); |
---|
| 251 | break; |
---|
| 252 | case 2: alert('Arquivo já existe.'); |
---|
| 253 | break; |
---|
| 254 | case 3: alert('Arquivo criado com sucesso.'); |
---|
| 255 | break; |
---|
| 256 | case 4: alert('Não foi possível criar o arquivo.'); |
---|
| 257 | break; |
---|
| 258 | } |
---|
| 259 | |
---|
| 260 | killElement('template_list'); |
---|
| 261 | createTemplateList(templates_folder); |
---|
| 262 | }; |
---|
| 263 | |
---|
| 264 | tpl_model = document.getElementById('win_tpl_model'); |
---|
| 265 | modelo = tpl_model.value; |
---|
| 266 | |
---|
| 267 | text = document.getElementById('win_tpl_name'); |
---|
| 268 | file_name = text.value; |
---|
| 269 | if (file_name) { |
---|
| 270 | if (tpl_rewrite) { |
---|
| 271 | rewrite_file = 1; |
---|
| 272 | } else { |
---|
| 273 | rewrite_file = 0; |
---|
| 274 | } |
---|
| 275 | cExecute ("$this.bo_adminsource.create_file", createHnd, "rewrite="+rewrite_file+"&modelo="+modelo+"&proc_id="+proc_id+"&type=template&file_name="+file_name); |
---|
| 276 | win.close(); |
---|
| 277 | } else { |
---|
| 278 | alert('É necessário informar o nome do arquivo a ser criado.'); |
---|
| 279 | text.focus(); |
---|
| 280 | } |
---|
| 281 | } |
---|
| 282 | |
---|
| 283 | function draw_template_toolbar(folder) { |
---|
| 284 | var toolbar_cell = document.getElementById('td_main_toolbar_'+folder.id+'_1'); |
---|
| 285 | |
---|
| 286 | template_tool = new TMainMenu("template_tool",'horizontal'); |
---|
| 287 | |
---|
| 288 | _new_template = new TPopMenu('Novo Template',_icon_dir + '/new_template.png','f','show_template_window()', 'Insere Novo Template'); |
---|
| 289 | template_tool.Add( _new_template ); |
---|
| 290 | |
---|
| 291 | //_new_template.Add( new TPopMenu('Em Branco',_icon_dir + '/arrow.gif','f','create_new_template(0)', 'Em Branco') ); |
---|
| 292 | //_new_template.Add( new TPopMenu('Modelo de Consulta',_icon_dir + '/arrow.gif','f','create_new_template(1)', 'Modelo Consulta') ); |
---|
| 293 | //_new_template.Add( new TPopMenu('Modelo de Cadastro',_icon_dir + '/arrow.gif','f','create_new_template(2)', 'Modelo Cadastro') ); |
---|
| 294 | //_new_template.Add( new TPopMenu('Modelo de Visualizar',_icon_dir + '/arrow.gif','f','create_new_template(3)', 'Modelo Visualizar') ); |
---|
| 295 | |
---|
| 296 | setToolBarStyle(template_tool); |
---|
| 297 | template_tool.Build(toolbar_cell.id); |
---|
| 298 | document.getElementById(template_tool._id).style.visibility = 'visible'; |
---|
| 299 | } |
---|
| 300 | |
---|
| 301 | function draw_templates_folder() { |
---|
| 302 | |
---|
| 303 | var templates_folder = getFolder(ID_TEMPLATES_FOLDER); |
---|
| 304 | var toolbar; |
---|
| 305 | |
---|
| 306 | toolbar = document.getElementById("wf_toolbar_"+templates_folder.id); |
---|
| 307 | |
---|
| 308 | if (toolbar == null) |
---|
| 309 | { |
---|
| 310 | createToolBar(ID_TEMPLATES_FOLDER,false); |
---|
| 311 | draw_template_toolbar(templates_folder); |
---|
| 312 | } |
---|
| 313 | |
---|
| 314 | createTemplateList(templates_folder); |
---|
| 315 | } |
---|