Descrição

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

Instalação

// 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>
Usando
<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>
  <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)
    }
  }])
Atributos
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.