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 | } |
---|