Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagejs
linenumberstrue
function createDataset(fields, constraints, sortFields) {
	var companyId = getValue("WKCompany");
	var currentUser = getValue("WKUser");
	.
	.
	.
}

 

Utilizando zoom composto em Dataset customizado

Através do uso do Dataset customizado é possível realizar uma série de buscas compostas.

No exemplo abaixo utilizando o método createDataset, foi desenvolvida uma busca constituída por mais de um campo da tabela, que recebe o valor informado no campo zoom e em seguida retorna o DataSet customizado com os registros encontrados em ambos ou em um único campo da busca.
Caso não seja informado nenhum valor,o código retornará todos os registros encontrados no banco.

Bloco de código
languagejs
themeEclipse
firstline1
titleExemplo Zoom Dataset customizado
linenumberstrue
 function createDataset(fields, constraints, sortFields) {
	var c1 = null;
	var c2 = null;
	var filter = null;
	
	if (constraints.length > 0)
	{
		c1 = DatasetFactory.createConstraint("mail", "%" + constraints[0].initialValue + "%" , "%" + constraints[0].finalValue + "%",  ConstraintType.SHOULD);
		c2 = DatasetFactory.createConstraint("login", "%" + constraints[0].initialValue + "%", "%" + constraints[0].finalValue + "%",  ConstraintType.SHOULD);
		c1.setLikeSearch(true);
		c2.setLikeSearch(true);
		filter = new Array (c1, c2);
	}	
    var dataset = DatasetFactory.getDataset("colleague", null, filter, sortFields);
     
    return dataset;
}

 

Em seguida é apresentado a implementação do zoom para tratar os retornos gerados pela busca composta.

Bloco de código
languagejs
themeEclipse
firstline1
titleExemplo 1
linenumberstrue
<script>
$(function(ready){
	var myTable = FLUIGC.datatable('#target', {
	    dataRequest: {
	        url: '/api/public/ecm/dataset/search',
	        options: {
	            contentType:'application/json',
	            dataType: 'json',
	            method: 'POST',
	            data: JSON.stringify({
	            	'datasetId' : 'DatasetTeste'
	            }),
	            crossDomain: true,
	            cache: false
	        },
	        root: '',
	        limit:10,
	    },
	    renderContent: ['colleagueName'], 
	    multiSelect: false,
	    search: {
	        enabled: true,
	    },
	    scroll: {
	        target: '#target',
	        enabled: true
	    }
	});
});
</script>
Bloco de código
languagexml
themeEclipse
firstline1
titleExemplo 1
linenumberstrue
<input
    type="zoom"
    id = "c7_total"
    name="c7_total"
    data-zoom="{
        'displayKey':'colleagueName',
        'datasetId':'DatasetTeste',
		'limit': '0',
		'fields':[{
              'field':'colleagueName',
              'label':'Nome',
              'standard':'true'
            }
        ] 
     }" 
/>
<div id="target"></div>

 

Dataset customizado de definição de formulário "pai-filho"

Para acessar informações de um "pai-filho" de uma definição de formulário pode ser utilizado o WebService "ECMDatasetService" (do próprio fluig), um Dataset customizado (Exemplo 1), ou ainda um evento de processo ou definição de formulário (Exemplo 2). 

...