/* armazena os parâmetro passados para a construção da caixa de entrada */ var workflowInboxParams; /* um digest (MD5) das instâncias exibidas (para saber quando ocorreu a última atualização */ var workflowInstancesDigest = null; /* armazena os nomes dos usuários que possuem as instâncias */ var workflowInboxUserNames; /* armazena informações dos processos */ var workflowInboxProcessesInfo; /* armazena os nomes das atividades */ var workflowInboxActivityNames; /* armazena os conjuntos de ações */ var workflowInboxActions; /* armazena a lista de processos cujas instâncias o usuário pode acessar */ var workflowInboxProcesses; /* indica se o usuário utiliza a versão leve da interface */ var workflowInboxLightVersion; /* indica se a interface está configurada para auto atualização */ var workflowInboxAutoRefresh = true; /* armazena o tempo entre cada atualização, em milisegundos */ var workflowInboxRefreshTimeInterval = 120000; /* armazena a referência do "interval" utilizado para atualização */ var workflowInboxRefreshInterval = null; /* armazena a função (e parâmetros) que deve ser chamada para a atualização */ var workflowInboxRefreshFunction = ''; /* número de atividades view abertas na interface (usado para evitar atualização no caso de alguma view estar aberta) */ var workflowInboxOpenedViewActivities = 0; /** * Recebe os dados do Ajax e chama os métodos para construção da interface * @param array data Os dados retornados por Ajax * @return void */ function inbox(data) { if (_checkError(data)) return; if (workflowInstancesDigest == data['instancesDigest']) return; workflowInstancesDigest = data['instancesDigest']; var currentSearchField = ''; var busca = $('busca'); if (busca) currentSearchField = busca.value; var flagSearchPerformed = false; if (data['params']['search_term']) if (data['params']['search_term'] != '') flagSearchPerformed = true; workflowInboxUserNames = data['userNames']; workflowInboxProcessesInfo = data['processesInfo']; workflowInboxActivityNames = data['activityNames']; workflowInboxProcesses = data['processes']; workflowInboxActions = data['actions']; workflowInboxParams = data['params']; workflowInboxLightVersion = data['light']; var information = $('workflowInboxInformation'); if (information) information.remove(); var currentInboxMenu = $('table_tools_inbox'); var currentInboxElements = $('table_elements_inbox'); if (currentInboxElements) currentInboxElements.remove(); if (data['instances'].length > 0) { if (!currentInboxMenu) createInboxMenu(); createInbox(data['instances'], data['paging_links']); } else { if ((!flagSearchPerformed) && currentInboxMenu) currentInboxMenu.remove(); var pagingContainer = $('td_tools_inbox_3'); if (pagingContainer) pagingContainer.innerHTML = ''; $('content_id_0').innerHTML += '
Não existem atividades a serem executadas
'; } busca = $('busca'); if (busca) { if (flagSearchPerformed) busca.value = data['params']['search_term']; else if (currentSearchField != '') busca.value = currentSearchField; busca.focus(); } } /** * Cria o menu da interface * @return void */ function createInboxMenu() { var content = ''; content += '';
content += '
| ';
content += ''; content += ' Busca: filtrar '; content += ' | '; content += ''; content += ''; content += ' |
' + createSortingHeaders('Data', 'wf_act_started') + ' | '; content += '' + createSortingHeaders('Processo', 'wf_procname') + ' | '; content += '' + createSortingHeaders('Identificador', 'insname') + ' | '; content += '' + createSortingHeaders('Atividade', 'wf_name') + ' | '; content += 'Atribuído a | '; content += 'Ações | '; content += '|
---|---|---|---|---|---|---|
' + current['wf_act_started'] + ' | '; if (current['viewRunAction']) content += '' + workflowInboxProcessesInfo[current['wf_p_id']]['name'] + ' | '; else content += '' + workflowInboxProcessesInfo[current['wf_p_id']]['name'] + ' | '; content += '' + current['insname'] + ' | '; content += ''; content += ((workflowInboxLightVersion) ? workflowInboxPriority[current['wf_priority']] : (' ')); if (current['wf_status'] != 'active') content += ((workflowInboxLightVersion) ? 'Exc.' : '') + ' '; content += workflowInboxActivityNames[current['wf_activity_id']] + ' | '; content += '' + workflowInboxUserNames[current['wf_user']] + ' | '; content += '' + constructActions(current['wf_instance_id'], current['wf_activity_id'], current['wf_p_id'], current['wf_actions']) + ' | '; content += '