Produto: fluig
Versão: Anteriores a 1.5.1
Com a liberação da versão 1.5.1 do fluig está disponível o novo componente de zoom de datasets visando uma melhor experiência de uso em dispositivos móveis.
A antiga técnica de zoom descrita a seguir ainda é suportada pela plataforma. Porém, recomendamos a utilização da técnica descrita em Desenvolvimento de Formulários que está de acordo com os padrões do fluig Style Guide e permite maior fluidez utilizando o componente. |
Este componente de zoom permite a consulta de entidades e outros formulário criados no fluig para seleção de dados pelo usuário.
"/webdesk/zoom.jsp?datasetId="+dataset+"&dataFields="+campos+"&resultFields="+resultFields+"$type="+"&title="+titulo |
Onde:
ATENÇÃO: Este parâmetro só é válido para datasets internos. Datasets customizados não permitem a utilização de filtros.
function setSelectedZoomItem(selectedItem) { } |
Onde selectItem é o registro selecionado pelo usuário na tela de zoom.
A mesma função “setSelectZoomItem” será usada para receber o resultado de todas as chamadas ao zoom. Assim, para diferenciar cada chamada foi criado o parâmetro type. Esse parâmetro é retornado em selectedItem e pode ser usado para diferenciar as chamadas ao zoom. |
selectedItem["fieldName"] |
Onde fieldName é o nome do campo de retorno que foi definido na chamada de zoom. O componente de Zoom do fluig foi desenvolvido para permitir que o recurso de zoom fosse utilizado em definições de formulários.
Para que seja possível visualizar e resgatar informações dos campos “metadatas” do formulário, é necessário utilizar a seguinte nomenclatura:
metadata_id | Retorna o código do registro de formulário |
medatata_version | Retorna a versão do registro de formulário |
metadata_parent_id | Retorna o código da pasta Pai |
metadata_card_index_id | Retorna o código do formulário |
metadata_card_index_version | Retorna a versão do formulário |
metadata_active | Versão ativa |
Abaixo um exemplo de código utilizado para visualização e resgate destes valores:
function zoomFormulario(titulo, dataset, campos, resultFields, type){ window.open("/webdesk/zoom.jsp?datasetId="+dataset+"&dataFields="+campos+ "&resultFields="+resultFields+"&type="+type+"&title="+titulo, "zoom", "status , scrollbars=no ,width=600, height=350 , top=0 , left=0"); } |
A utilização da PK nos filtros ao utilizar dataset de Grupo, Papel ou Colaborador é opcional, porém o mesmo valor utilizado na URL do zoom deve ser utilizado para a obtenção do valor selecionado, conforme exemplo abaixo. |
function setSelectedZoomItem(selectedItem) { alert("Grupo: " + selectedItem['groupId'] + " Colaborador: "+ selectedItem['colleagueGroupPK.colleagueId']); } <input type="button" class="btZoom" onclick="zoomFormulario('title', 'colleagueGroup', 'groupId,Codigo,colleagueGroupPK.colleagueId,Matricula','groupId,colleagueGroupPK.colleagueId', 'nofield');"> |
Para utilizar filtros a chamada, é similar ao de dataFields.
window.open("/webdesk/zoom.jsp?datasetId=preCad&dataFields=codigo, Código, descricao, Descrição&resultFields=descricao&type=precad&filterValues=metadata_active, false","zoom" , "status, scrollbars=no, width=600, height=350, top=0, left=0"); |
Neste exemplo, o zoom irá retornar somente os registros de formulários inativos.
Em casos em que é necessário a utilização do Smart Zoom, verifique o exemplo disponível no Git.