Objetivos

Diminuir custos e prazos

SEGUIR PADRÕES

CRIAR PRODUTOS EM CONJUNTO

back-end

FRONT-end

segurança

gerador

dashboard

front-end

aplicação estática

angularjs

twitter bootstrap

COMPONENTES

gumga layout

open source

gumga-info

Usado para modal de informação

<button type="button" ng-click="foo()"
  gumga-info="Descrição informativa..."
  icon="glyphicon glyphicon-info-sign text-primary"
  dismiss-button="OK"
  dismiss-button-class="btn btn-default">
  Gumga Info
</button>

gumga-confirm

Usado para modal de confirmação

<button type="button" ng-click="foo()"
  gumga-confirm="Tem certeza que deseja realizar esta ação?"
  icon="glyphicon glyphicon-alert text-danger"
  dismiss-button="Não"
  confirm-button="Sim"
  confirm-button-class="btn btn-warning"
  dismiss-button-class="btn btn-default">
  Gumga Confirm
</button>

gumga-query

Usado para buscas simples

<gumga-query search="foo(field, param)">
  <search-field field="name" label="Nome" select="true" ></search-field>
  <search-field field="age"  label="Idade"></search-field>
</gumga-query>

gumga-filter

Usado para buscas

avançadas

<gumga-filter search="searchFilter(param)">
  <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>
  <advanced-search-field type="cnpj"    label="CNPJ"    field="cnpj"></advanced-search-field>
  <advanced-search-field type="boolean" label="Ativo"   field="ativo" true-label="True" false-label="False"></advanced-search-field>
  <advanced-search-field type="select"  label="Estados" field="id" data="selects"></advanced-search-field>
  <advanced-search-field type="enum"    label="Roles"   field="states" data="selects"></advanced-search-field>
</gumga-filter>

gumga-many-to-many

<gumga-many-to-many
  left-search="ctrl.individual.methods.asyncSearch('name', param)"
  left-list="ctrl.individual.data"
  right-list="ctrl.rightList"
  validate-item="ctrl.validateItem(value)"
  validate-message="Mensagem de validação de erros"
  right-search-field="Ind Filters"
  text-heading-left="H L"
  text-heading-right="H R"
  text-moveall-left="MA L"
  text-moveall-right="MA R">
  <left-field>{{$value.name}}</left-field>
  <right-field>{{$value.name}}</right-field>
</gumga-many-to-many>

gumga-one-to-many

<gumga-one-to-many
  children="object.childrens"
  displayable-property="property"
  template-url="path/to/template.html"
  controller="ControllerName">
</gumga-one-to-many>

gumga-many-TO-ONE

<gumga-many-to-one
  name="colaborador"
  value="reserva.data.colaborador"
  search-method="colaborador.methods.asyncSearch('nome', param)"
  field="nome"
  authorize-add="true"
  post-method="colaborador.methods.asyncPost(value, 'nome')">
</gumga-many-to-one>

gumga-list

<gumga-list
  config="config"
  data="data">
</gumga-list>
angular.module('sample.app',[])
.controller(['$scope,$templateCache',function($scope,$templateCache){
  $scope.data = [];
  $scope.config = {
    columns: 'name',
    columnsConfig: {
      name: 'name',
      content: $templateCache.get('tpl.html')
    }
  }
}])

comunicação

http://gumga.slack.com/

presencial

as quartas feiras no período da tarde ou agendamento PREVIAMENTE combinado.

issues

pull requests

Made with Slides.com