...
Nota |
---|
|
O evento inputFields não foi criado para ser utilizado na "Movimentação em Bloco", seu foco é o tratamento de campos que vem do navegador. Esse evento é disparado no momento em que os dados do formulário são passados para a BO responsável por formulário do fluig. O evento recebe como parâmetro um objeto do tipo FormController. Painel |
---|
borderColor | #f2f2f2 |
---|
bgColor | #f2f2f2 |
---|
| O getValue não é utilizado em evento de formulário inputFields. |
Este evento pode ser usado para que as datas persistidas por formulários customizados sejam salvas corretamente. Hoje no sistema as datas salvas através de formulários pelo navegador Chrome tem o padrão americano (yyyy-mm-dd), enquanto as datas nos demais navegadores tem o padrão brasileiro (dd/mm/yyyy). Para empresas que utilizam múltiplos navegadores e querem que os dados de data estejam padronizados, recomendamos a utilização do evento inputFields com o seguinte trecho de código. Bloco de código |
---|
language | js |
---|
title | Código para Datas |
---|
| function inputFields(form) {
var regEx = /^\d{4}-\d{2}-\d{2}$/;
if (form.getValue("dt_solicitacao").match(regEx)) {
var split = form.getValue("dt_solicitacao").split('-');
form.setValue("dt_solicitacao", split[2] + '-' + split[1] + '-' + split[0]);
}
} |
|
...
Bloco de código |
---|
language | js |
---|
title | Exemplo de implementação em um arquivo.js |
---|
linenumbers | true |
---|
|
var beforeSendValidate = function(numState, nextState) {
if (numState == 1 && nextState == 2 && document.form.codigo.value == '') {
throw ("Erro: Para movimentar para a atividade 2, o código deve ser preenchido");
}
return true;
} |
getAttachments
É uma função que retorna uma Promise com a lista dos anexos do formulário. Funciona de forma offline.
No exemplo abaixo utilizado um await para aguardar a lista dos arquivos que pode ser vazia caso não houver anexos.
Bloco de código |
---|
language | js |
---|
title | Chamada no JS |
---|
|
var listaArquivos = await JSInterface.getAttachments();
|
O objeto retorna sempre um json que é uma lista de arquivos. Cada arquivo pode ou não ter os dados, conforme abaixo:
Bloco de código |
---|
language | js |
---|
theme | Eclipse |
---|
linenumbers | true |
---|
|
[{
"documentId": 4917,
"version": 1000,
"createDate": 1713872206178,
"newAttach": false,
"size": 1.2485828,
"fileName": "file.pdf",
"description": "file.pdf",
"streamControlUrl": "" //Pode ser http ou caminho do arquivo /folder/file.pdf
}] |
Painel |
---|
borderColor | #f2f2f2 |
---|
bgColor | #f2f2f2 |
---|
|
Caso não tenha a informação no arquivo anexado, o valor será null por padrão. |
Exemplo de chamada no JS de forma async:
Bloco de código |
---|
|
async function getFiles() {
var listFiles = await JSInterface.getAttachments();
} |
sendAttachments
Para se ter sincronismo com o envio do formulário, pode-se utilizar o evento igual ao beforeSendValidate.
Esse código deve ser implementado em um arquivo javascript vinculado ao formulário html.
Bloco de código |
---|
|
var sendAttachments = function(listFiles) {
} |
- Os dados sempre serão uma lista de arquivos com os valores:
Bloco de código |
---|
language | powershell |
---|
theme | Eclipse |
---|
linenumbers | true |
---|
|
[{
"documentId": 0,
"version": 0,
"createDate": null,
"newAttach": true,
"size": 1.2485828,
"fileName": "file.pdf",
"description": "file.pdf",
"streamControlUrl": "" //Pode ser http ou caminho do arquivo /folder/file.pdf
}] |
setEnable
...
Este evento está depreciado e não é mais utilizado.
...