Schema

O schema é a definição dos comportamentos e estados das nossas regras de negócio

Ao definirmos um schema vamos informar quais campos serão usados, quais eventos estes campos irão manipular, os componentes que serão usados nos formulários por cada um dos campos e como será exibida a tabela que carrega os dados relacionados à entidade que o schema representa. Além dos campos também as ações (botões) disponíveis e comportamentos dos componentes serão mapeados.

Resumidamente com os schemes serão criados todos os forms e tables que serão renderizados. O objetivo de um schema é criar os artefatos necessários para que os componentes de criação de formulários e tabelas tenham dados suficientes para trabalhar.

Para gerenciar os campos temos dois métodos:

  • addField: adiciona um novo campo ao schema;

  • getField: seleciona um campo que já faz parte do schema para ser manipulado;

Para manipular as propriedades relacionadas à table:

  • fieldTableWidth: define a largura do campo na tabela;

  • fieldTableShow: define se o campo será visível ou não na tabela;

  • fieldTableWhere: determina se o campo será exibido na pesquisa lateral da tabela;

  • fieldTableFilter: define se o campo será usado como um filtro fixo na parte superior da tabela;

  • fieldTableRequired: especifica se é possível ocultar o campo;

  • fieldTableName: permite alterar o nome da propriedade que está sendo acessada na lista;

  • fieldTableAlign: configura o alinhamento na tabela;

  • fieldTableSortable: determina se é possível aplicar ordenação através desse campo;

  • fieldTableFormat: função que será usada para formatar os valores da coluna antes de exibir na linha;

  • fieldTableOrder: permite configurar a ordenação do campo entre os campos da tabela;

Para determinar os componentes que serão usados pelos campos temos:

  • fieldIsInput: determina que o campo usará um componente de texto padrão;

  • fieldIsNumber: determina que o campo usará um componente de input do tipo numérico;

  • fieldIsPassword: determina que o campo usará um componente de input do tipo password com hashs nos caracteres;

  • fieldIsEmail: determina que o campo usará um componente de input do tipo e-mail, de acordo com as validações criadas para o mesmo;

  • fieldIsText: determina que o campo usará um componente de textarea parecido com um bloco de notas;

  • fieldIsCheckbox: determina que o campo usará um componente de checkbox;

  • fieldIsRadio: determina que o campo usará um componente de radio button, passando os valores através de parâmetro;

  • fieldIsSelect: ;

  • fieldIsSelectRemote: ;

  • fieldIsSelectRemoteMultiple: ;

  • fieldIsToggle: ;

  • fieldIsDate: determina que o campo usará um componente de Data, as configurações devem ser passadas via atributo;

  • fieldIsDatetime: determina que o campo usará um componente de Data e Hora, as configurações devem ser passadas via atributo;

  • fieldIsInputPlan: ;

  • fieldIsArray: determina que o campo usará um componente de CRUD customizado, sua funcionalidade é a mesma que de um crud;

  • fieldIsCurrency: ;

  • fieldIsButton: ;

Há ainda algumas macros disponíveis para configurar alguns campos:

  • fieldAsPrimaryKey: ;

  • fieldAsZip: ;

  • fieldAsPhone: ;

  • fieldAsCell: ;

  • fieldAsMasked: ;

Para manipular propriedades relacionadas ao form temos os seguintes métodos:

  • fieldFormWidth: ;

  • fieldFormDisabled: ;

  • fieldFormHeight: ;

  • fieldFormHidden: ;

  • fieldFormName: ;

  • fieldFormAutofocus: ;

  • fieldFormDefaultValue: ;

  • fieldFormErrorHide: ;

  • fieldFormErrorShow: ;

  • fieldFormUpperCase: ;

  • fieldFormPlaceholder: ;

  • fieldFormOrder: ;

Para tratar sobre validação temos os seguintes métodos:

  • validationAdd: ;

  • validationAs: ;

  • validationRequired: ;

  • validationRequiredIf: ;

  • validationRequiredWhen: ;

  • validationRequiredUnless: ;

  • validationMinLength: ;

  • validationMaxLength: ;

  • validationMinValue: ;

  • validationMaxValue: ;

  • validationBetween: ;

  • validationAlpha: ;

  • validationAlphaNum: ;

  • validationNumeric: ;

  • validationInteger: ;

  • validationDecimal: ;

  • validationEmail: ;

  • validationIpAddress: ;

  • validationMacAddress: ;

  • validationPassword: ;

  • validationSameAs: ;

  • validationUrl: ;

  • validationOr: ;

  • validationAnd: ;

  • validationNot: ;

  • validationWithParams: ;

  • validationClear: ;

  • validationRemove: ;

Last updated

Was this helpful?