O componente gumga-query-filter-ng é utilizado para executar pesquisas simples ou avançadas. Na busca simples pode escolher quais campos serão pesquisados pelo termo de entrada, já na pesquisa avançada, você pode adicionar tipos aos campos e concatar outros campos intercalando com operadores "E" ou "OU" entre cada um. Após query montada, o componente gera um hql que é enviado ao servidor
// npm
npm i gumga-query-filter-ng --save
// bower
bower install gumga-query-filter-ng --save
// HTML
<script src="node_modules/gumga-query-filter-ng/dist/gumga-query-filter.min.js"></script>
// ou
<script src="bower_components/gumga-query-filter-ng/dist/gumga-query-filter.min.js"></script>
<gumga-query
search-text="Pesquisar"
use-gquery="true"
search="pessoas.methods.searchWithGQuery(param)"
advanced-search="pessoas.methods.searchWithGQuery(param)">
<search-field field="name" label="Nome"></search-field>
<search-field field="age" label="Idade" select="true"></search-field>
<search-field field="end.bairro" label="Bairro" left-join="enderecos as end"></search-field>
<advanced-search-field type="string" label="Nome" field="nome"></advanced-search-field>
<advanced-search-field type="number" label="Idade" field="idade"></advanced-search-field>
<advanced-search-field type="float" label="Peso" field="peso"></advanced-search-field>
<advanced-search-field type="money" label="Preço" field="preco"></advanced-search-field>
<advanced-search-field type="cpf" label="CPF" field="cpf"></advanced-search-field>
</gumga-query>
angular
.module('app', ['ui.bootstrap', 'gumga.rest', 'gumga.controller', 'gumga.genericfilter', 'gumga.queryfilter'])
.controller('Ctrl', ['gumgaController', 'GumgaRest', '$scope', '$http', function (gumgaController, GumgaRest, $scope, $http) {
var PessoaService = new GumgaRest('host-api');
gumgaController.createRestMethods($scope, PessoaService, 'pessoas');
$scope.pessoas.methods.get();
$scope.simple = function (field, param) {
console.info('GumgaQuery', 'Field: ' + field + ', Valor:' + param)
}
$scope.advanced = function (value) {
console.info('GumgaQuery', 'Value: ', value)
}
}])
| Parâmetro | Tipo | Requerido | Descrição |
|---|---|---|---|
| use-gquery | Boolean |
Não | Parâmetro usado para ativar/desativar o uso do GQuery. |
| search | Function |
Sim | Parâmetro que irá conter uma função que será utilizada para executar a busca simples.Os parâmetros field e param são obrigatórios. |
| advanced-search | Function |
Não | Parâmetro que irá conter uma função que será utilizada para executar a busca avançada. O parâmetro param é obrigatório. |
| search-text | String |
Não | Parâmetro que irá conter uma string que será utilizada como label para o botão de pesquisa. |
| saved-filters | Function |
Não | Deve retornar um Array com uma lista de queries salvas. |
| save-query | Function |
Não | Função que salva a querie montada no componente. |
| Parâmetro | Tipo | Requerido | Descrição |
|---|---|---|---|
| field | String |
Sim | Atributo que será utilizado na busca HQL. |
| label | String |
Não | Rótulo que aparecerá na opção selecionada |
| select | Boolean |
Não | Indica se o search-field virá selecionado por padrão |
| type | String,Number,Boolean |
Não | Tipo do field buscado no HQL |
| inner-join | String |
Não | Recebe um HQL Inner Join. Pode ser utilizado somente se a opção use-gquery estiver ativa. |
| left-join | String |
Não | Recebe um HQL Left Join. Pode ser utilizado somente se a opção use-gquery estiver ativa. |
| ignore-case | Boolean |
Não | Ignorar letras maiúsculas. Por padrão está ativo |
| translate | Boolean |
Não | Ignorar acentuação. Por padrão está ativo |
| Parâmetro | Tipo | Requerido | Descrição |
|---|---|---|---|
| field | String |
Sim | Atributo que será utilizado na busca HQL. |
| label | String |
Não | Rótulo que aparecerá na opção selecionada |
| type | String,Number,Boolean |
Não | Tipo do field buscado no HQL |
| inner-join | String |
Não | Recebe um HQL Inner Join. Pode ser utilizado somente se a opção use-gquery estiver ativa. |
| left-join | String |
Não | Recebe um HQL Left Join. Pode ser utilizado somente se a opção use-gquery estiver ativa. |
| ignore-case | Boolean |
Não | Ignorar letras maiúsculas. Por padrão está ativo |
| translate | Boolean |
Não | Ignorar acentuação. Por padrão está ativo |