1 | var workflowMonitorUserMapping; |
---|
2 | var workflowMonitorActivityMapping; |
---|
3 | var sortColumn = 2; |
---|
4 | var order = 'A'; |
---|
5 | var workflowMonitorInstancesParams = null; |
---|
6 | var completedSortColumn = 1; |
---|
7 | var completedOrder = 'A'; |
---|
8 | |
---|
9 | var workflowMonitorCurrentList = ''; |
---|
10 | |
---|
11 | /* retorno do Ajax para listagem de instâncias */ |
---|
12 | function instanceList(data) |
---|
13 | { |
---|
14 | if (handleError(data)) |
---|
15 | { |
---|
16 | /* salva algumas informações vindas da chamada Ajax */ |
---|
17 | workflowMonitorInstancesParams = data['params']; |
---|
18 | workflowMonitorUserMapping = data['userMapping']; |
---|
19 | workflowMonitorActivityMapping = data['activityMapping']; |
---|
20 | |
---|
21 | |
---|
22 | if (!workflowMonitorInstancesParams['filters']) |
---|
23 | { |
---|
24 | $('divInstance').innerHTML = ''; |
---|
25 | } |
---|
26 | else |
---|
27 | { |
---|
28 | var objectRemovalList = new Array(); |
---|
29 | objectRemovalList[0] = $('monitorMessage'); |
---|
30 | objectRemovalList[1] = $('instancesTable'); |
---|
31 | objectRemovalList[2] = $('pagingTop'); |
---|
32 | objectRemovalList[3] = $('pagingBottom'); |
---|
33 | for (var i = 0; i < objectRemovalList.length; i++) |
---|
34 | if (objectRemovalList[i]) |
---|
35 | objectRemovalList[i].remove(); |
---|
36 | } |
---|
37 | |
---|
38 | if (data['data'].length == 0) |
---|
39 | { |
---|
40 | var divInstance = $('divInstance'); |
---|
41 | if (workflowMonitorInstancesParams['filters']) |
---|
42 | { |
---|
43 | new Insertion.Bottom(divInstance, '<p id="monitorMessage" style="clear: both;">Nenhuma instância satisfaz o critério de filtragem utilizado</p>'); |
---|
44 | $('instanceCount').innerHTML = '0'; |
---|
45 | } |
---|
46 | else |
---|
47 | divInstance.innerHTML = '<p>Este processo não possui instâncias ativas</p>'; |
---|
48 | } |
---|
49 | else |
---|
50 | drawInstancesList(data); |
---|
51 | } |
---|
52 | } |
---|
53 | |
---|
54 | /* retorno do Ajax para listagem de usuários */ |
---|
55 | function userList(data) |
---|
56 | { |
---|
57 | if (handleError(data)) |
---|
58 | { |
---|
59 | if (data['data'].length == 0) |
---|
60 | { |
---|
61 | var parag = document.createElement("P"); |
---|
62 | parag.className = "text_dsp"; |
---|
63 | parag.innerHTML = "Não existem usuários"; |
---|
64 | divInstance.appendChild(parag); |
---|
65 | } |
---|
66 | else |
---|
67 | { |
---|
68 | var aid = data['params']['aid']; |
---|
69 | var pid = data['params']['pid']; |
---|
70 | var uid = data['params']['uid']; |
---|
71 | var iid = data['params']['iid']; |
---|
72 | var message = document.getElementById("nu_" + iid); |
---|
73 | var td = message.parentNode; |
---|
74 | td.innerHTML = constructSelectBox("nu_" + iid, data['data'], uid); |
---|
75 | td.innerHTML += "<button onclick=\"updateUser(" + iid + ", " + aid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
76 | } |
---|
77 | } |
---|
78 | } |
---|
79 | |
---|
80 | /* retorno do Ajax para listagem de atividades */ |
---|
81 | function activityList(data) |
---|
82 | { |
---|
83 | if (handleError(data)) |
---|
84 | { |
---|
85 | if (data['data'].length == 0) |
---|
86 | { |
---|
87 | var parag = document.createElement("P"); |
---|
88 | parag.className = "text_dsp"; |
---|
89 | parag.innerHTML = "Não existem atividades"; |
---|
90 | divInstance.appendChild(parag); |
---|
91 | } |
---|
92 | else |
---|
93 | { |
---|
94 | var aid = data['params']['aid']; |
---|
95 | var pid = data['params']['pid']; |
---|
96 | var iid = data['params']['iid']; |
---|
97 | var message = document.getElementById("na_" + iid); |
---|
98 | var td = message.parentNode; |
---|
99 | td.innerHTML = constructSelectBox("na_" + iid, data['data'], aid); |
---|
100 | td.innerHTML += "<button onclick=\"updateActivity(" + iid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
101 | } |
---|
102 | } |
---|
103 | } |
---|
104 | |
---|
105 | /**** LISTA DE INSTÂNCIAS DE UM PROCESSO ****/ |
---|
106 | function callInstanceList(pid, srt, p_page, p_filters) |
---|
107 | { |
---|
108 | workflowMonitorCurrentList = 'active'; |
---|
109 | var params = 'pid=' + pid; |
---|
110 | |
---|
111 | if (srt == null) |
---|
112 | srt = sortColumn; |
---|
113 | |
---|
114 | params += '&srt=' + srt; |
---|
115 | |
---|
116 | if ((srt == sortColumn) && (p_page == null)) |
---|
117 | order = (order == 'A') ? 'D' : 'A'; |
---|
118 | params += '&ord=' + ((order == 'A') ? '__ASC' : '__DESC'); |
---|
119 | |
---|
120 | if (p_page) |
---|
121 | params += '&p_page=' + p_page; |
---|
122 | |
---|
123 | sortColumn = srt; |
---|
124 | |
---|
125 | if (p_filters) |
---|
126 | params += '&filters=' + p_filters; |
---|
127 | |
---|
128 | cExecute('$this.bo_monitors.listInstances', instanceList, params); |
---|
129 | } |
---|
130 | |
---|
131 | function resultCompletedInstanceList(data) |
---|
132 | { |
---|
133 | if (handleError(data)) |
---|
134 | { |
---|
135 | /* salva algumas informações vindas da chamada Ajax */ |
---|
136 | workflowMonitorInstancesParams = data['params']; |
---|
137 | workflowMonitorUserMapping = data['userMapping']; |
---|
138 | |
---|
139 | if (!workflowMonitorInstancesParams['filters']) |
---|
140 | { |
---|
141 | $('divInstance').innerHTML = ''; |
---|
142 | } |
---|
143 | else |
---|
144 | { |
---|
145 | var objectRemovalList = new Array(); |
---|
146 | objectRemovalList[0] = $('monitorMessage'); |
---|
147 | objectRemovalList[1] = $('instancesTable'); |
---|
148 | objectRemovalList[2] = $('pagingTop'); |
---|
149 | objectRemovalList[3] = $('pagingBottom'); |
---|
150 | for (var i = 0; i < objectRemovalList.length; i++) |
---|
151 | if (objectRemovalList[i]) |
---|
152 | objectRemovalList[i].remove(); |
---|
153 | } |
---|
154 | |
---|
155 | if (data['data'].length == 0) |
---|
156 | { |
---|
157 | var divInstance = $('divInstance'); |
---|
158 | if (workflowMonitorInstancesParams['filters']) |
---|
159 | { |
---|
160 | $('instanceCount').innerHTML = '0'; |
---|
161 | new Insertion.Bottom(divInstance, '<p id="monitorMessage" style="clear: both;">Nenhuma instância satisfaz o critério de filtragem utilizado</p>'); |
---|
162 | } |
---|
163 | else |
---|
164 | divInstance.innerHTML = '<p>Este processo não possui instâncias finalizadas</p>'; |
---|
165 | } |
---|
166 | else |
---|
167 | drawCompletedInstancesList(data); |
---|
168 | } |
---|
169 | } |
---|
170 | |
---|
171 | function drawCompletedInstancesList(data) |
---|
172 | { |
---|
173 | var instances = data['data']; |
---|
174 | var pid = data['params']['pid']; |
---|
175 | var pagingData = data['pagingData']; |
---|
176 | |
---|
177 | var divInstance = $('divInstance'); |
---|
178 | |
---|
179 | var menuCreated = false; |
---|
180 | var content = ''; |
---|
181 | |
---|
182 | if (divInstance.innerHTML == '') |
---|
183 | { |
---|
184 | menuCreated = true; |
---|
185 | content += '<h2>Instâncias Finalizadas</h2>'; |
---|
186 | content += '<div id="monitorMenu">'; |
---|
187 | content += '<ul class="horizontalMenu" id="filterMenu" align="center">'; |
---|
188 | content += '<li><a href="javascript:addFilterSelection(true);"><img src="workflow/templateFile.php?file=images/filter_add.png"/> Adicionar Filtro</a></li>'; |
---|
189 | content += '<li><a href="javascript:filterInstances(true);"><img src="workflow/templateFile.php?file=images/filter.png"/> Filtrar</a></li>'; |
---|
190 | if (permissions[pid]['bits'][IP_REMOVE_COMPLETED_INSTANCES]) |
---|
191 | content += '<li><a href="javascript:void(0)" onclick="removeCompletedInstances();"><img src="workflow/templateFile.php?file=images/del_template.png"/> Remover Instâncias</a></li>'; |
---|
192 | content += '</ul>'; |
---|
193 | content += '<span style="float: left; font-size: 11px !important; height: 2.5em; line-height: 2.5em;"> <strong>Total de Instâncias:</strong> <span id="instanceCount">' + data['instanceCount'] + '</span></span>'; |
---|
194 | content += '<br/><br/><br/>'; |
---|
195 | content += '</div>'; |
---|
196 | } |
---|
197 | else |
---|
198 | { |
---|
199 | $('instanceCount').innerHTML = data['instanceCount']; |
---|
200 | } |
---|
201 | |
---|
202 | var pagingDataCount = pagingData.length; |
---|
203 | var pagingLinks = ''; |
---|
204 | for (var i = 0; i < pagingDataCount; i++) |
---|
205 | { |
---|
206 | if (pagingData[i].do_link == true) |
---|
207 | pagingLinks += '<a href="javascript:monitorPaginateInstances(' + pagingData[i].p_page + ');">' + pagingData[i].name + '</a> '; |
---|
208 | else |
---|
209 | pagingLinks += '<strong>' + pagingData[i].name + '</strong> '; |
---|
210 | } |
---|
211 | |
---|
212 | content += '<div align="right" id="pagingTop">' + pagingLinks + '</div>'; |
---|
213 | content += '<table width="100%" align="center" border="1" class="content_table" id="instancesTable" style="clear: both;">'; |
---|
214 | content += '<tr><th><span onClick="monitorSortInstances(1);" style="cursor:pointer;">ID</span></th><th><span onClick="monitorSortInstances(2);" style="cursor:pointer;">Identificador</span></th><th><span onClick="monitorSortInstances(3);" style="cursor:pointer;">Proprietário</span></th><th><span onClick="monitorSortInstances(4);" style="cursor:pointer;">Pri.</span></th><th><span onClick="monitorSortInstances(5);" style="cursor:pointer;">Data Início</span></th><th><span onClick="monitorSortInstances(6);" style="cursor:pointer;">Data Fim</span></th><th><span onClick="monitorSortInstances(7);" style="cursor:pointer;">Status</span></th><th>Ações</th></tr>'; |
---|
215 | |
---|
216 | /*** gera a lista de instâncias ****/ |
---|
217 | var instanceCount = instances.length; |
---|
218 | var ownerName = ''; |
---|
219 | for (var i = 0; i < instanceCount; i++) |
---|
220 | { |
---|
221 | if (workflowMonitorUserMapping[instances[i]['wf_owner']]) |
---|
222 | ownerName = workflowMonitorUserMapping[instances[i]['wf_owner']]; |
---|
223 | else |
---|
224 | ownerName = 'ID: ' + instances[i]['wf_owner']; |
---|
225 | |
---|
226 | if (!instances[i]['wf_instance_name']) |
---|
227 | instances[i]['wf_instance_name'] = ''; |
---|
228 | |
---|
229 | content += '<tr>'; |
---|
230 | |
---|
231 | /* id da instância */ |
---|
232 | content += '<td>' + instances[i]['wf_instance_id'] + '</td>'; |
---|
233 | |
---|
234 | /* identificador da instância */ |
---|
235 | content += '<td>' + instances[i]['wf_instance_name'] + '</td>'; |
---|
236 | |
---|
237 | /* proprietário da instância */ |
---|
238 | content += '<td>' + ownerName + '</td>'; |
---|
239 | |
---|
240 | /* prioridade da instância */ |
---|
241 | content += '<td>' + instances[i]['wf_priority'] + '</td>'; |
---|
242 | |
---|
243 | /* data início da instância */ |
---|
244 | content += '<td>' + instances[i]['wf_started'] + '</td>'; |
---|
245 | |
---|
246 | /* data fim da instância */ |
---|
247 | content += '<td>' + instances[i]['wf_ended'] + '</td>'; |
---|
248 | |
---|
249 | /* status da instância */ |
---|
250 | content += '<td>' + statusQuickTranslation[instances[i]['wf_status']] + '</td>'; |
---|
251 | |
---|
252 | /* ações da instância */ |
---|
253 | content += '<td><a href="#" onclick="workflowInboxActionView(' + instances[i]['wf_instance_id'] + ', null); return false;">visualizar</a></td>'; |
---|
254 | |
---|
255 | content += '</tr>'; |
---|
256 | } |
---|
257 | |
---|
258 | content += '</table>'; |
---|
259 | content += '<div align="right" id="pagingBottom">' + pagingLinks + '</div>'; |
---|
260 | new Insertion.Bottom(divInstance, content); |
---|
261 | if (menuCreated) |
---|
262 | lb_initialize(); |
---|
263 | } |
---|
264 | |
---|
265 | function callCompletedInstanceList(pid, sort, p_page, p_filters) |
---|
266 | { |
---|
267 | workflowMonitorCurrentList = 'completed'; |
---|
268 | var params = 'pid=' + pid; |
---|
269 | |
---|
270 | if (sort == null) |
---|
271 | sort = 1; |
---|
272 | |
---|
273 | params += '&sort=' + sort; |
---|
274 | |
---|
275 | if ((sort == completedSortColumn) && (p_page == null)) |
---|
276 | completedOrder = (completedOrder == 'A') ? 'D' : 'A'; |
---|
277 | params += '&ord=' + ((completedOrder == 'A') ? '__ASC' : '__DESC'); |
---|
278 | |
---|
279 | if (p_page) |
---|
280 | params += '&p_page=' + p_page; |
---|
281 | |
---|
282 | completedSortColumn = sort; |
---|
283 | |
---|
284 | if (p_filters) |
---|
285 | params += '&filters=' + p_filters; |
---|
286 | |
---|
287 | cExecute('$this.bo_monitors.listCompletedInstances', resultCompletedInstanceList, params); |
---|
288 | } |
---|
289 | |
---|
290 | function drawInstancesList(data) |
---|
291 | { |
---|
292 | var instances = data['data']; |
---|
293 | var pid = data['params']['pid']; |
---|
294 | var pagingData = data['pagingData']; |
---|
295 | |
---|
296 | var divInstance = $('divInstance'); |
---|
297 | |
---|
298 | var menuCreated = false; |
---|
299 | var content = ''; |
---|
300 | |
---|
301 | if (divInstance.innerHTML == '') |
---|
302 | { |
---|
303 | menuCreated = true; |
---|
304 | content += '<h2>Instâncias Ativas</h2>'; |
---|
305 | content += '<div id="monitorMenu">'; |
---|
306 | content += '<ul class="horizontalMenu" id="filterMenu" align="center">'; |
---|
307 | content += '<li><a href="javascript:addFilterSelection(false);"><img src="workflow/templateFile.php?file=images/filter_add.png"/> Adicionar Filtro</a></li>'; |
---|
308 | content += '<li><a href="javascript:filterInstances(false);"><img src="workflow/templateFile.php?file=images/filter.png"/> Filtrar</a></li>'; |
---|
309 | if (permissions[pid]['bits'][IP_SEND_EMAILS]) |
---|
310 | content += '<li><a href="javascript:void(0)" onclick="sendMailConfig();" class="lbOn"><img src="workflow/templateFile.php?file=images/mail_new.png"/> Enviar E-mail</a></li>'; |
---|
311 | content += '</ul>'; |
---|
312 | content += '<span style="float: left; font-size: 11px !important; height: 2.5em; line-height: 2.5em;"> <strong>Total de Instâncias:</strong> <span id="instanceCount">' + data['instanceCount'] + '</span></span>'; |
---|
313 | content += '<br/><br/><br/>'; |
---|
314 | content += '</div>'; |
---|
315 | } |
---|
316 | else |
---|
317 | { |
---|
318 | $('instanceCount').innerHTML = data['instanceCount']; |
---|
319 | } |
---|
320 | |
---|
321 | var pagingDataCount = pagingData.length; |
---|
322 | var pagingLinks = ''; |
---|
323 | for (var i = 0; i < pagingDataCount; i++) |
---|
324 | { |
---|
325 | if (pagingData[i].do_link == true) |
---|
326 | pagingLinks += '<a href="javascript:monitorPaginateInstances(' + pagingData[i].p_page + ');">' + pagingData[i].name + '</a> '; |
---|
327 | else |
---|
328 | pagingLinks += '<strong>' + pagingData[i].name + '</strong> '; |
---|
329 | } |
---|
330 | |
---|
331 | content += '<div align="right" id="pagingTop">' + pagingLinks + '</div>'; |
---|
332 | content += '<table width="100%" align="center" border="1" class="content_table" id="instancesTable" style="clear: both;">'; |
---|
333 | content += '<tr><th><span onClick="monitorSortInstances(1);" style="cursor:pointer;">ID</span></th><th><span onClick="monitorSortInstances(2);" style="cursor:pointer;">Atividade</span></th><th><span onClick="monitorSortInstances(3);" style="cursor:pointer;">Identificador</span></th><th><span onClick="monitorSortInstances(4);" style="cursor:pointer;">Pri.</span></th><th><span onClick="monitorSortInstances(5);" style="cursor:pointer;">Usuário</span></th><th><span onClick="monitorSortInstances(6);" style="cursor:pointer;">Status</span></th><th>Ações</th></tr>'; |
---|
334 | |
---|
335 | /*** gera a lista de instâncias ****/ |
---|
336 | var instanceCount = instances.length; |
---|
337 | for (var i = 0; i < instanceCount; i++) |
---|
338 | { |
---|
339 | content += '<tr>'; |
---|
340 | /* id da instância */ |
---|
341 | content += '<td>' + instances[i]['wf_instance_id'] + '</td>'; |
---|
342 | |
---|
343 | /* atividade da instância */ |
---|
344 | content += '<td>'; |
---|
345 | if (permissions[pid]['bits'][IP_CHANGE_ACTIVITY]) |
---|
346 | content += "<a href=\"\" onclick=\"clickActivity(this, " + instances[i]['wf_p_id'] + ", " + instances[i]['wf_activity_id'] + ", " + instances[i]['wf_instance_id'] + "); return false;\">" + workflowMonitorActivityMapping[instances[i]['wf_activity_id']] + "</a>"; |
---|
347 | else |
---|
348 | content += workflowMonitorActivityMapping[instances[i]['wf_activity_id']]; |
---|
349 | content += '</td>'; |
---|
350 | |
---|
351 | /* nome da instância */ |
---|
352 | if (!instances[i]['wf_instance_name']) |
---|
353 | instances[i]['wf_instance_name'] = " "; |
---|
354 | content += '<td>'; |
---|
355 | if (permissions[pid]['bits'][IP_CHANGE_NAME]) |
---|
356 | content += "<a href=\"\" onclick=\"clickName(this, " + instances[i]['wf_instance_id'] + ", " + instances[i]['wf_p_id'] + "); return false;\">" + instances[i]['wf_instance_name'] + "</a>"; |
---|
357 | else |
---|
358 | content += instances[i]['wf_instance_name']; |
---|
359 | content += '</td>'; |
---|
360 | |
---|
361 | /* prioridade da instância */ |
---|
362 | content += '<td>'; |
---|
363 | if (permissions[pid]['bits'][IP_CHANGE_PRIORITY]) |
---|
364 | content += "<a href=\"\" onclick=\"clickPriority(this, " + instances[i]['wf_instance_id'] + ", " + instances[i]['wf_p_id'] + "); return false;\">" + instances[i]['wf_priority'] + "</a>"; |
---|
365 | else |
---|
366 | content += instances[i]['wf_priority']; |
---|
367 | content += '</td>'; |
---|
368 | |
---|
369 | /* usuário da instância */ |
---|
370 | if (workflowMonitorUserMapping[instances[i]['wf_user']]) |
---|
371 | userName = workflowMonitorUserMapping[instances[i]['wf_user']]; |
---|
372 | else |
---|
373 | userName = 'ID: ' + instances[i]['wf_user']; |
---|
374 | content += '<td>'; |
---|
375 | if (permissions[pid]['bits'][IP_CHANGE_USER]) |
---|
376 | content += "<a href=\"\" onclick=\"clickUser(this, " + instances[i]['wf_p_id'] + ", " + instances[i]['wf_activity_id'] + ", " + instances[i]['wf_instance_id'] + ", '" + ((instances[i]['wf_user'] == '*') ? '-1' : instances[i]['wf_user']) + "'); return false;\">" + userName + "</a>"; |
---|
377 | else |
---|
378 | content += userName; |
---|
379 | content += '</td>'; |
---|
380 | |
---|
381 | /* staus da instância */ |
---|
382 | content += '<td>'; |
---|
383 | if (permissions[pid]['bits'][IP_CHANGE_STATUS]) |
---|
384 | content += "<a href=\"\" onclick=\"clickStatus(this, " + instances[i]['wf_instance_id'] + ", " + instances[i]['wf_p_id'] + ", '" + instances[i]['wf_status'] + "'); return false;\">" + statusQuickTranslation[instances[i]['wf_status']] + "</a>"; |
---|
385 | else |
---|
386 | content += statusQuickTranslation[instances[i]['wf_status']]; |
---|
387 | content += '</td>'; |
---|
388 | |
---|
389 | instances[i]['wf_actions'] = ''; |
---|
390 | /* ações da instância */ |
---|
391 | if ((permissions[pid]['bits'][IP_VIEW_PROPERTIES]) || (permissions[pid]['bits'][IP_CHANGE_PROPERTIES])) |
---|
392 | instances[i]['wf_actions'] += '<a href="#" onclick="editProperties(' + instances[i]['wf_instance_id'] + ', ' + instances[i]['wf_p_id'] + '); return false;">propriedades</a> '; |
---|
393 | |
---|
394 | instances[i]['wf_actions'] += '<a href="#" onclick="workflowInboxActionView(' + instances[i]['wf_instance_id'] + ', null); return false;">visualizar</a>'; |
---|
395 | |
---|
396 | content += '<td>'; |
---|
397 | if (!instances[i]['wf_actions']) |
---|
398 | content += " "; |
---|
399 | else |
---|
400 | content += instances[i]['wf_actions']; |
---|
401 | content += '</td>'; |
---|
402 | |
---|
403 | content += '</tr>'; |
---|
404 | } |
---|
405 | |
---|
406 | content += '</table>'; |
---|
407 | content += '<div align="right" id="pagingBottom">' + pagingLinks + '</div>'; |
---|
408 | new Insertion.Bottom(divInstance, content); |
---|
409 | if (menuCreated) |
---|
410 | lb_initialize(); |
---|
411 | } |
---|
412 | |
---|
413 | /**** AÇÕES DE ATUALIZAÇÃO DA INSTÂNCIA ****/ |
---|
414 | function clickPriority(link, iid, pid) |
---|
415 | { |
---|
416 | var td = link.parentNode; |
---|
417 | var previousValue = link.innerHTML; |
---|
418 | var items = new Array(); |
---|
419 | for (var i = 0; i < 5; i++) |
---|
420 | { |
---|
421 | items[i] = new Array(); |
---|
422 | items[i]['id'] = i; |
---|
423 | items[i]['name'] = i; |
---|
424 | } |
---|
425 | td.innerHTML = constructSelectBox('np_' + iid, items, link.innerHTML); |
---|
426 | td.innerHTML += "<button onclick=\"updatePriority(" + iid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
427 | } |
---|
428 | |
---|
429 | function updatePriority(iid, pid) |
---|
430 | { |
---|
431 | var selectBox = document.getElementById('np_' + iid); |
---|
432 | var np = selectBox.value; |
---|
433 | cExecute ("$this.bo_monitors.updatePriority", updatePriorityResult, 'iid=' + iid + '&pid=' + pid + '&np=' + np); |
---|
434 | selectBox.parentNode.innerHTML = "<p id=\"np_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
435 | } |
---|
436 | |
---|
437 | function updatePriorityResult(data) |
---|
438 | { |
---|
439 | if (handleError(data)) |
---|
440 | { |
---|
441 | var message = document.getElementById('np_' + data['iid']); |
---|
442 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickPriority(this, " + data['iid'] + ", " + data['pid'] + "); return false;\">" + data['np'] + "</a>"; |
---|
443 | } |
---|
444 | } |
---|
445 | |
---|
446 | function clickUser(link, pid, aid, iid, uid) |
---|
447 | { |
---|
448 | link.parentNode.innerHTML = "<p id=\"nu_" + iid + "\" class=\"ajax_message\"> (carregando lista) </p>"; |
---|
449 | cExecute ("$this.bo_monitors.listUsers", userList, 'pid=' + pid + '&aid=' + aid + '&iid=' + iid + '&uid=' + uid); |
---|
450 | } |
---|
451 | |
---|
452 | function updateUser(iid, aid, pid) |
---|
453 | { |
---|
454 | var selectBox = document.getElementById("nu_" + iid); |
---|
455 | var uid = selectBox.value; |
---|
456 | cExecute ("$this.bo_monitors.updateUser", updateUserResult, 'iid=' + iid + '&user=' + uid + '&aid=' + aid + '&pid=' + pid); |
---|
457 | selectBox.parentNode.innerHTML = "<p id=\"nu_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
458 | } |
---|
459 | |
---|
460 | function updateUserResult(data) |
---|
461 | { |
---|
462 | if (handleError(data)) |
---|
463 | { |
---|
464 | var message = document.getElementById('nu_' + data['iid']); |
---|
465 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickUser(this, " + data['pid'] + ", " + data['aid'] + ", " + data['iid'] + ", " + data['user'] + "); return false;\">" + data['fullname'] + "</a>"; |
---|
466 | } |
---|
467 | } |
---|
468 | |
---|
469 | function clickActivity(link, pid, aid, iid) |
---|
470 | { |
---|
471 | link.parentNode.innerHTML = "<p id=\"na_" + iid + "\" class=\"ajax_message\"> (carregando lista) </p>"; |
---|
472 | cExecute ("$this.bo_monitors.listActivities", activityList, 'pid=' + pid + '&aid=' + aid + '&iid=' + iid); |
---|
473 | } |
---|
474 | |
---|
475 | function updateActivity(iid, pid) |
---|
476 | { |
---|
477 | var selectBox = document.getElementById("na_" + iid); |
---|
478 | var aid = selectBox.value; |
---|
479 | cExecute ("$this.bo_monitors.updateActivity", updateActivityResult, 'iid=' + iid + '&aid=' + aid + '&pid=' + pid); |
---|
480 | selectBox.parentNode.innerHTML = "<p id=\"na_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
481 | } |
---|
482 | |
---|
483 | function updateActivityResult(data) |
---|
484 | { |
---|
485 | if (handleError(data)) |
---|
486 | { |
---|
487 | var message = document.getElementById('na_' + data['iid']); |
---|
488 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickActivity(this, " + data['pid'] + ", " + data['aid'] + ", " + data['iid'] + "); return false;\">" + data['name'] + "</a>"; |
---|
489 | } |
---|
490 | } |
---|
491 | |
---|
492 | function clickStatus(link, iid, pid, selected) |
---|
493 | { |
---|
494 | var td = link.parentNode; |
---|
495 | td.innerHTML = constructSelectBox('np_' + iid, statusCorrelation, selected); |
---|
496 | td.innerHTML += "<button onclick=\"updateStatus(" + iid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
497 | } |
---|
498 | |
---|
499 | function updateStatus(iid, pid) |
---|
500 | { |
---|
501 | var selectBox = document.getElementById('np_' + iid); |
---|
502 | cExecute ("$this.bo_monitors.updateStatus", updateStatusResult, 'iid=' + iid + '&pid=' + pid + '&ns=' + selectBox.value); |
---|
503 | selectBox.parentNode.innerHTML = "<p id=\"np_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
504 | } |
---|
505 | |
---|
506 | function updateStatusResult(data) |
---|
507 | { |
---|
508 | if (handleError(data)) |
---|
509 | { |
---|
510 | var message = document.getElementById('np_' + data['iid']); |
---|
511 | if (data['ns'] == 'aborted') |
---|
512 | message.parentNode.parentNode.remove(); |
---|
513 | else |
---|
514 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickStatus(this, " + data['iid'] + ", " + data['pid'] + ", '" + data['ns'] + "'); return false;\">" + statusQuickTranslation[data['ns']] + "</a>"; |
---|
515 | } |
---|
516 | } |
---|
517 | |
---|
518 | function clickName(link, iid, pid) |
---|
519 | { |
---|
520 | var td = link.parentNode; |
---|
521 | if (link.innerHTML == " ") |
---|
522 | link.innerHTML = ""; |
---|
523 | td.innerHTML = '<input type="text" value="' + link.innerHTML + '" id="nn_' + iid + '"/>'; |
---|
524 | td.innerHTML += "<button onclick=\"updateName(" + iid + ", " + pid + "); return false;\" class=\"ok\">OK</button>"; |
---|
525 | td.childNodes[0].focus(); |
---|
526 | td.childNodes[0].select(); |
---|
527 | } |
---|
528 | |
---|
529 | function updateName(iid, pid) |
---|
530 | { |
---|
531 | var text = document.getElementById("nn_" + iid); |
---|
532 | cExecute ("$this.bo_monitors.updateName", updateNameResult, 'iid=' + iid + '&pid=' + pid + '&nn=' + escape(text.value)); |
---|
533 | text.parentNode.innerHTML = "<p id=\"nn_" + iid + "\" class=\"ajax_message\"> (atualizando) </p>"; |
---|
534 | } |
---|
535 | |
---|
536 | function updateNameResult(data) |
---|
537 | { |
---|
538 | if (handleError(data)) |
---|
539 | { |
---|
540 | var message = document.getElementById('nn_' + data['iid']); |
---|
541 | if (data['nn'] == "") |
---|
542 | data['nn'] = " "; |
---|
543 | message.parentNode.innerHTML = "<a href=\"\" onclick=\"clickName(this, " + data['iid'] + ", " + data['pid'] + "); return false;\">" + data['nn'] + "</a>"; |
---|
544 | } |
---|
545 | } |
---|
546 | |
---|
547 | function editProperties(iid, pid) |
---|
548 | { |
---|
549 | var border_id = create_border("Propriedades - ID: " + iid); |
---|
550 | elem = $("content_id_" + border_id); |
---|
551 | loadProperties(iid, pid, elem); |
---|
552 | } |
---|
553 | |
---|
554 | function monitorPaginateInstances(p_page) |
---|
555 | { |
---|
556 | if (workflowMonitorCurrentList == 'active') |
---|
557 | callInstanceList(workflowMonitorInstancesParams['pid'], workflowMonitorInstancesParams['str'], p_page, workflowMonitorInstancesParams['filters']); |
---|
558 | else |
---|
559 | callCompletedInstanceList(workflowMonitorInstancesParams['pid'], workflowMonitorInstancesParams['str'], p_page, workflowMonitorInstancesParams['filters']); |
---|
560 | } |
---|
561 | |
---|
562 | function monitorSortInstances(sort) |
---|
563 | { |
---|
564 | if (workflowMonitorCurrentList == 'active') |
---|
565 | callInstanceList(workflowMonitorInstancesParams['pid'], sort, null, workflowMonitorInstancesParams['filters']); |
---|
566 | else |
---|
567 | callCompletedInstanceList(workflowMonitorInstancesParams['pid'], sort, null, workflowMonitorInstancesParams['filters']); |
---|
568 | } |
---|
569 | |
---|
570 | function loadInstances(pid) |
---|
571 | { |
---|
572 | for (var i = 0; i < filters.length; i++) |
---|
573 | filters[i] = null; |
---|
574 | filters = new Array(); |
---|
575 | callInstanceList(pid, null, 0); |
---|
576 | } |
---|
577 | |
---|
578 | function loadCompletedInstances(pid) |
---|
579 | { |
---|
580 | for (var i = 0; i < filters.length; i++) |
---|
581 | filters[i] = null; |
---|
582 | filters = new Array(); |
---|
583 | callCompletedInstanceList(pid, null, 0); |
---|
584 | } |
---|
585 | |
---|
586 | function loadInconsistentInstances(pid) |
---|
587 | { |
---|
588 | cExecute('$this.bo_monitors.loadInconsistentInstances', resultInconsistentInstances, 'pid=' + pid); |
---|
589 | } |
---|
590 | |
---|
591 | function resultInconsistentInstances(data) |
---|
592 | { |
---|
593 | var instances = data['instances']; |
---|
594 | var names = data['names']; |
---|
595 | var divInstance = $('divInstance'); |
---|
596 | var content = ''; |
---|
597 | |
---|
598 | content += '<h2>Instâncias Inconsistentes</h2>'; |
---|
599 | |
---|
600 | for (var i = 0; i < instances.length; i++) |
---|
601 | { |
---|
602 | content += '<br/><br/><h2 style="text-align: left;">' + instances[i]['name'] + '</h2>'; |
---|
603 | content += '<p style="text-align: left;">' + instances[i]['description'] + '</p>'; |
---|
604 | var instanceList = instances[i]['items']; |
---|
605 | if (instanceList.length == 0) |
---|
606 | { |
---|
607 | content += '<p style="font-weight: bold; font-size: 120%;">Nenhuma ocorrência encontrada.</p>'; |
---|
608 | continue; |
---|
609 | } |
---|
610 | content += '<table width="100%" align="center" border="1" class="content_table" id="instancesTable" style="clear: both;">'; |
---|
611 | content += '<tr><th>ID</th><th>Atividade</th><th>Identificador</th><th>Pri.</th><th>Usuário</th><th>Status</th></tr>'; |
---|
612 | for (var j = 0; j < instanceList.length; j++) |
---|
613 | { |
---|
614 | if (!instanceList[j]['wf_instance_name']) |
---|
615 | instanceList[j]['wf_instance_name'] = ''; |
---|
616 | content += '<tr>'; |
---|
617 | content += '<td>' + instanceList[j]['wf_instance_id'] + '</td>'; |
---|
618 | content += '<td>' + instanceList[j]['wf_activity_name'] + '</td>'; |
---|
619 | content += '<td>' + instanceList[j]['wf_instance_name'] + '</td>'; |
---|
620 | content += '<td>' + instanceList[j]['wf_priority'] + '</td>'; |
---|
621 | content += '<td>' + names[instanceList[j]['wf_user']] + '</td>'; |
---|
622 | content += '<td>' + statusQuickTranslation[instanceList[j]['wf_status']] + '</td>'; |
---|
623 | content += '</tr>'; |
---|
624 | } |
---|
625 | content += '</table>'; |
---|
626 | } |
---|
627 | |
---|
628 | divInstance.innerHTML = content; |
---|
629 | } |
---|