Boa tarde, a documentação do Fluig esta um pouco confusa.
Sendo assim alguem poderia me mostrar um exemplo de como usar a ferramente Filter em conjunto com um dataset.
Obrigado.
Consegui fazer a utilização do filter em conjunto com dataset, porem a duvida agora é como utilizo a pesquisa.
Exemplo pesquisar pela descrição do produto e guardar o valor codigo destre produto.
O filter guarda apenas o valor que é consultado no dataset.
function ConfigurarFilterProduto(name) {
var produtos = RetornaDatasetProdutos();
var settingsExampleArray = {
source: produtos,
displayKey: 'CODIGO',
multiSelect: false,
style: {
autocompleteTagClass: 'tag-gray',
tableSelectedLineClass: 'info'
},
table: {
header: [{
'title': 'DESCRICAO',
'size': 'col-md-12',
'dataorder': 'CODIGO',
'standard': false
}],
renderContent: ['CODIGO']
}
};
var nome = name;
var filter = FLUIGC.filter('#' + nome + '', settingsExampleArray);
}
function RetornaDatasetProdutos() {
var constraints = new Array();
var dataset = DatasetFactory.getDataset("dsProduto", null, constraints, null);
return dataset.values;
}
Realmente, o exemplo da Filter com Dataset simplesmente usa a DatasetFactory.getDataset pra ser a fonte. A propriedade source da Filter aceita um array de objetos e utilizará esse array para escrever a tabela de itens que podem ser selecionados, então usa o o atributo values do retorno da DatasetFactory.getDataset (lembrando que ela está sendo executada no front/navegador, então o retorno é diferente de executar no back/servidor).
Outro jeito é utilizar A API REST do Fluig para trazer o resultado do Dataset:
const urlWs = "/api/public/ecm/dataset/search?"
+ "datasetId=ds_usuarios_ativos" // Indica o Dataset
+ "&resultFields=colleagueName,mail" // Campos a retornar
+ "&filterFields=groupId,Gerentes,groupId,Diretoria" // Filtros (Constraints) que sempre serão enviados
+ "&searchField=colleagueName" // Campo que o Filter fará a pesquisa
+ "&" // Precisa do último & porque o Filter vai concatenar o valor de patternKey nessa URL
;
const filterSettings = {
// Esses valores de source são padrões para o WS de pesquisa em Dataset
source: {
url: urlWs,
contentType: "application/json",
root: "content",
pattern: "",
limit: 50,
offset: 0,
patternKey: "searchValue",
limitkey: "limit",
offsetKey: "offset"
},
displayKey: "mail", // O campo que será exibido / salvo
multiSelect: true,
style: {
autocompleteTagClass: "tag-gray",
tableSelectedLineClass: "info"
},
table: {
header: [
{
"title": "Nome",
"size": "col-xs-12",
"dataorder": "colleagueName",
"standard": true
}
],
renderContent: ["colleagueName"]
}
};
FLUIGC.filter('#participantes', filterSettings);
Lembrando que o seu Dataset deve tratar as constraints para filtrar a pesquisa.
Bom dia Bruno, eu consegui usar o filter da maneira mas simples como é descrito no fluig.
E usei em conjunto o dataset.
Porem o campo busca é o mesmo que é guardado no campo value.
É posivel utilizar a busca por exemplo descrição e salvar no campo o codigo por exemplo ?
A documentação informa que ao passar um array como source o filter usará o displayKey como filtro. Não sei se há maneira de mudar isso.
Também gostaria de saber uma maneira de setar outros campos