Versões comparadas

Chave

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

 

O components.json é um arquivo que possui

uma estrutura

uma estrutura do tipo JSON

, é

e usado pelo editor

HTML (Figura 1)

de views para exibir informações e configurações de suas propriedades, eventos e responsividades de cada

controle

componente (Figura

2

1). É através dele que

conseguimos

se consegue adicionar mais recursos a um

controle

componente, permitindo sua customização sem a necessidade de configurá-lo via código.

Dentre alguns exemplos da necessidade do components.json no

CronApp

Cronapp, estão:

  • Alteração do nome e ícone exibido
do controle no Editor HTML, personalização
  • no componente usando o editor de views;
  • Personalização de elementos e atributos no template de forma visual
, internacionalização
  • ;
  • Internacionalização do controle
, inclusão Image Removed
  • ;
  • Inclusão de eventos a elementos do controle e outros.


Image Added

Figura 1 - Editor

HTML no CronApp

 

Image Removed
Figura 2 - Abas propriedades, eventos e responsividade também são influenciadas pelo components.json

Estrutura

de views mostrando as propriedades do componente selecionado

Estrutura do arquivo

A

A

estrutura do components.json é baseada em JSON (JavaScript Object Notation - Notação de Objetos JavaScript) que possui uma formatação simples e de fácil leitura e escrita, tanto para computadores

quando

quanto para humanos. Foi criado para facilitar a comunicação entre sistemas, independente da linguagem usada.

Os

controles padrões do CronApp utilizam o mesmo arquivo "components.json", que fica em diretórios diferentes dependendo do tipo do projeto:
  • Projetos web: Código Fonte  Principal  Códigos Fonte Cliente  plugins  cronapp-framework-js  components
  • Projetos mobile: Código Fonte  Principal  mobileapp  www  plugins  cronapp-framework-mobile-js  components
O CronApp ainda nos permite criar novos controles personalizados e para cada novo controle, além do arquivo *.template.html também é criado o arquivo *.components.json que é exclusivo

componentes padrões do Cronapp possuem seus próprios arquivos que terminam com a extensão components.json e seus diretórios mudam conforme o tipo de componente - ou seja, se o tipo é web ou mobile (Figura 2.1).

Nota

Os arquivos components.json só serão mostrados quando o modo avançado estiver habilitado.

  • Componente mobile: src/main/mobileapp/www/node_modules/cronapp-framework-mobile-js/components/
  • Componente web: src/main/webapp/node_modules/cronapp-framework-js/components/


Image Added

Figura 2.1 - Arquivos JSON de cada componente padrão do Cronapp, sendo web à direita e mobile à esquerda


O Cronapp permite criar componentes visuais e para cada novo componente, são criados os arquivos *.template.html e *.components.json. Ambos arquivos devem ficar no mesmo diretório (destaque na Figura

3

2.2).

 


Image Added

Image Removed

Figura

3 - Arquivos do novo controle criado pelo usuário

Em sua estrutura, o components.json possui um lista chamada "components" que possui vários objetos representando cada um dos controle padrões do editor HTML, diferente do arquivo gerado na criação do componente customizado (*.components.json) que só possui apenas um elemento nesta lista. Além disso, os documentos possuem o elemento "name" em sua estrutura principal que varia da seguinte forma (Figuras 4 e 5): 

  • Projeto web: crono-components;
  • Projeto mobile: cronos-components-mobile-phonegap e
  • Projeto web ou mobile criado pelo usuário: custom-cronos-components

 

Image Removed

Image Removed

Figura 4 e 5 - Diferença entre a estrutura do components.json gerada na criação do novo componente (esquerda) e o geral (direita)

ÂncoraValorObjetoListaValorObjetoListaUma JSON normalmente é constituído de três estruturas:
  • Valor: elemento mais simples, considerado a folha da árvore. Possui apenas uma chave e um valor. Ex: "name: Nome da propriedade", onde "nome" é a chave e "Nome da propriedade" é o seu valor.
  • Objeto: Um objeto pode possuir valores e também outros objetos em seu interior.
  • Lista: Possui uma lista de objetos em seu interior. 

Em uma lista existem 1 ou mais objetos que possuem a mesma estrutura, enquanto que um objeto pode possuir valores e outros objetos e essa estrutura não se repete.

 

2.2 - Arquivos gerados ao criar componente visual

Propriedades do arquivo

As propriedades nesses arquivos mudam conforme o componente.


Image Added

Figura 3 - Arquivo do componente visual Botão

Principais propriedades

São aquelas encontradas na maioria dos componentes.

PropriedadeObjetivoPossíveis valores
nameAtributo id do componente HTML.

Ex.: "name": "crn-button",

text_pt_BRNome do componente que aparecerá na aba controle do editor de views quando a IDE estiver no idioma português (Brasil).Ex.: "text_pt_BR": "Botão",
text_en_USNome do componente que aparecerá na aba controle do editor de views quando a IDE estiver no idioma inglês (EUA).

Ex.: "text_en_US": "Button",


class

Define o ícone do controle que aparecerá no editor de views.

OBS.: Diferente da aplicação que permite o uso dos ícones Glyphiconsfont awesome icon e Material Design Icons, os botões dos componentes no editor de views permite apenas o Material Design Icons.

Ex.: "class": "adjust-icon mdi mdi-stop",

templateURL

Endereço do template do componente na IDE.

Ex.: "templateURL": "src/main/webapp/node_modules/cronapp-framework-js/dist/components/templates/button.template.html",

properties

Lista as diretivas Angular, elementos HTML ou propriedades do Cronapp para permitir sua edição nas propriedades do componente no editor de views.

Consulte o tópico properties.

styles

Lista os elementos HTML que compõem o template, possibilitando selecioná-los e personaliza-los no editor de views. Essa seleção pode ser feita utilizando as subabas dentro das abas Propriedades no editor de views ou selecionando o componente na tela, abrindo o ícone do cadeado e selecionando novamente os elementos internos do componente.

Para cada elemento informado na lista:

  • selector: informa qual elemento HTML será selecionado. Se o template possuir dois elementos HTML iguais, é possível utilizar o selector do CSS para referenciá-lo;
  • text_pt_BR: internacionalização em português do Brasil para o rótulo da subaba que aparecerá em propriedades e eventos no editor de views referente ao elemento HTML selecionado;
  • text_en_US: internacionalização em inglês do EUA para o rótulo da subaba que aparecerá em propriedades e eventos no editor de views referente ao elemento HTML selecionado.

Ex.: "styles": [{ "selector": "div#{id} button", "text_pt_BR": "Plano de fundo do botão", "text_en_US": "Button background" }],

description

description_pt_BR

description_en_US

Define o tooltip que será exibido quando o cursor do mouse estiver posicionado sobre o botão do componente visual na paleta de controles do Editor de views.

É possível definir um texto para cada uma das línguas disponíveis (português ou inglês) ou usar um valor genérico que será exibido independente da língua.

É possível utilizar uma opção ou todas.

  • description: valor padrão, será utilizado para definir o valor para o idioma português (pt_BR) e inglês (en_US), caso não possua;
  • description_en_US: valor usado quando a IDE estiver com o idioma em inglês;
  • description_pt_BR: valor usado quando a IDE estiver com o idioma em português. Essa opção é desnecessária ao utilizar a opção description.

Ex.:
"description": "Exibição de gráfico com valores da fonte de dados",
"description_en_US": "Graph display with data source values",

category

category_pt_BR

category_en_US

Define quais categorias da paleta de controle serão exibidos o botão do componente visual.

Não é obrigado que um componente esteja associado a uma categoria, mas caso isso ocorra, ele será listado apenas na categoria "Todos".

Existem algumas categorias padronizadas do Cronapp (lista abaixo), porém é possível criar uma nova categoria apenas informando o novo nome na lista.

Valores padrão:

  1. INPUTS: Controles de entrada de dados,
    • en_US: Inputs;
    • pt_BR: Entradas
  2. BUTTONS: Controles com botões,
    • en_US: Buttons;
    • pt_BR: Botões
  3. PLUGINS: Controles proveniente de plugins,
    • en_US: Plugins
    • pt_BR: Plugins
  4. LAYOUTS: Controles que constam layout.
    • en_US: Layouts
    • pt_BR: Layouts
  5. FORMS: Controles que formam formulários.
    • en_US: Forms
    • pt_BR: Formulários
  6. GRIDS: Grades, listas e Tabelas.
    • en_US: Grids and Tables
    • pt_BR: Grades e Tabelas
  7. LISTS: Controles com listas.
    • en_US: Lists
    • pt_BR: Listas
  8. COMBOS: Comboxes fixos e dinâmicos.
    • en_US: Combos
    • pt_BR: Combos
  9. TEXTS: Textos.
    • en_US: Texts
    • pt_BR: Textos

É possível utilizar uma opção ou todas.

  • category: lista padrão, será utilizado para informar a categoria nos idiomas português (pt_BR) e inglês (en_US), caso não possua;
  • category_en_US: lista usada quando a IDE estiver com o idioma em inglês;
  • category_pt_BR: lista usada quando a IDE estiver com o idioma em português. Essa opção é desnecessária ao utilizar a opção description.

Ex.:
  "category": [ "BUTTONS", "FORMS", "Minha nova categoria" ],

  "category_en_US": [ "BUTTONS", "FORMS", "My new category" ],

Outras propriedades

A utilização dessas propriedades varia de acordo com o componente.

PropriedadeObjetivoPossíveis valores
attributesForPreviewLista de propriedades customizadas nos atributos CSS dos componentes.

Consulte o tópico attributesForPreview.

autoWrapperAdiciona uma tag <div> em torno do template do componente, facilitando a modificação da diagramação.
  • true: Permite tratamento diferenciado entre o componente e a <div>.
  • false: Não permite tratamento diferenciado entre o componente e a <div> e é o valor default quando a propriedade não é informada.

Ex.: "autoWrapper": false,

childrenPropertiesLista as diretivas Angular, elementos HTML ou exclusivas do Cronapp para permitir sua edição nas propriedades dos subcomponentes (filhos) do componente no editor de views.

Consulte o tópico childrenProperties.

dependencesPossui uma lista (editor) com os endereços de arquivos CSS específica para esse controle.

Ex.: "dependences": { "editor": [ "node_modules/cronapp-framework-js/components/css/multiselect-editor.css" ]},

designTimeHTMLURLSinaliza qual o caminho do html que será exibido no designtime.Ex.: "designTimeHTMLURL": "src/main/webapp/node_modules/cronapp-framework-js/dist/components/templates/cron-scheduler.designtime.html",
designTimeSelectorSinaliza qual diretiva ele irá usar.Ex.: "designTimeSelector": "cron-scheduler",
forcedGroupForça o agrupamento dos componentes HTML no template, permitindo a seleção de todos os subcomponentes de uma só vez.
  • true: Agrupa todos os subcomponentes, necessário realizar o desbloqueio para poder selecionar cada subcomponente.
  • false: Permite a seleção de cada subcomponente sem a necessidade do desbloqueio e é o valor default quando a propriedade não é informada.

Ex.:  "forcedGroup": true,

handleRulesDefine características para algumas propriedades e regras para elementos do componente.

Consulte o tópico handleRules.

mask-placeholder

Informa qual componente HTML receberá o texto do campo Sugestão no editor de views.

Possui em seu interior o valor "selector" onde será informado o componente HTML.

Ex.: "name": "mask-placeholder"

onDropAbre a janela de configuração especificada quando o componente é arrastado para a área de edição da view.

Nome do atributo.

Ex.: "onDrop": "openEditor",

onDoubleClickAbre a janela de configuração especificada quando o componente recebe um duplo click na área de edição da view.

Nome do atributo.

Ex.: "onDoubleClick": "openEditor",

palleteOculta ou exibe o controle no editor de views.
  • true: exibe o controle no editor de views e é o valor default quando a propriedade não é informada.
  • false: oculta o controle no editor de views.

Ex.: "pallete": false,

rowsDefine o tamanho do campo em número de linhas.Ex.: "rows": { "displayName": "rows" },
template

Template HTML do componente. Por este ser um arquivo JSON, será necessário utilizar caracteres de escape para utilizar alguns caracteres.

Exemplo: “\n”e “\””

Ex.: <i class=\"fa fa-star\"/>
textNome do componente que aparecerá no editor de views quando não houver internacionalização (propriedades: text_en_US e text_pt_BR).Ex.:"text": "File Upload Button",
wrapperAdiciona uma tag <div> em torno do template do componente.
  • true: adiciona uma tag <div> e é o valor default quando a propriedade não é informada.
  • false: não adiciona uma tag <div>.

Ex.: "wrapper": false,

Âncora
attributesForPreview
attributesForPreview

attributesForPreview

Lista de propriedades customizadas para os atributos CSS dos componentes. Veja a tabela de opções dessa propriedade após o código de exemplo.


Bloco de código
titlecrn-text.components.json
  "attributesForPreview": [
    {
      "name": "xattr-position",
      "type": "btngroup",
      "target": "class",
      "values": [
        {
          "key": "text-left",
          "value": "Standard",
          "icon": "mdi mdi-ray-start"
        }
      ]
    }
  ]
PropriedadeObjetivoPossíveis valores
nameNome da propriedade que terá suas características alteradas.Ex.: "name": "xattr-theme",
typeDefine a forma que será exibida as opções da propriedade. Normalmente são utilizados o grupo de botões ou seletor de itens.
  • btngroup: para exibir as propriedades em um grupo de botões alinhados. Permite a utilização de ícones nos botões.
  • options: para exibir as propriedades em um seletor de itens (dropdown). Permite a utilização de ícones, cores ou ambos.

Ex.: "type": "btngroup",

targetInforma o atributo ou elemento que será customizado. Normalmente utilizado para adicionar class ou style.Ex.: "target": "class",
valuesLista das opções da propriedade.

Consulte o tópico values.

Âncora
attributesForPreview-values
attributesForPreview-values

values

Lista das opções da propriedade values do attributesForPreview.

PropriedadeObjetivoPossíveis valores (exemplos)
keyClasse CSS que será adicionado no template após o usuário escolher o value.Ex.: "key": "text-left",
valueNome da opção que será exibida para o usuário.Ex.: "value": "Standard",
iconDefine o ícone que será exibido ao lado do nome da opção.Ex.: "icon": "mdi mdi-ray-start"
color

Exibe um quadrado com a cor especificada ao lado do nome da opção.

Observação: Utilizar apenas quando type é definido como options.

Ex.: "color": "#fff"

Âncora
childrenProperties
childrenProperties

childrenProperties

Responsável por criar propriedades distintas entre subcomponentes dentro de um componente. Veja a tabela de opções dessa propriedade após o código de exemplo.


Bloco de código
titleTrecho de código do arquivo crn-dynamic-menu.components.json
  "childrenProperties": [
    {
      "name": "options",
      "selector": "cron-dynamic-menu",
      "displayName_pt_BR": "Configuração",
      "displayName_en_US": "Configuration",
      "type": "text",
      "order": 1,
      "mandatory": true
    }
  ]
PropriedadeObjetivoPossíveis valores
displayName_en_USNome do campo que aparecerá na aba propriedades do editor de views quando a IDE estiver no idioma inglês (EUA).Ex.:"displayName_en_US": "Title",
displayName_pt_BRNome do campo que aparecerá na aba propriedades do editor de views quando a IDE estiver no idioma português (BR).Ex.: "displayName_pt_BR": "Título",
editExpressionExibe o ícone Editar expressão ao lado do nome do campo e ao clicar é aberta uma caixa de texto para a edição da expressão ou inserção de Fonte de dados.
  • true: ativa a opção;
  • false: desativa a opção e é o valor default quando a propriedade não é informada.

Ex.: "editExpression": false,

mandatoryDefine uma propriedade como preenchimento obrigatório, adicionando contorno vermelho à propriedade quando vazia.
  • true: define como obrigatória.
  • false: define como não obrigatória.

Ex.: "mandatory": true,

nameInforma o atributo do elemento HTML que será manipulado em um campo do editor de views.Ex.: "name": "ng-model",
onDisplayExecuta comando em JavaScript para atualizar o componente na tela sempre que uma alteração for feita.

Com o comando javascript:function() { /* função JavaScript */ }

Ex.: "onDisplay": "javascript:function() { return arguments[0].replace('vars.',''); }"

onSaveExecuta comando em JavaScript para salvar sempre que uma opção for selecionada ou ação tomada no componente.

Com o comando javascript:function() { /* função JavaScript */ }

Ex.: "onSave": "javascript:function() { var result = arguments[0]; if (result.indexOf('.') == -1 && result.trim().length > 0 ) { result = 'vars.'+result; } return result; }"

selectorInforma qual atributo do elemento HTML será selecionado para manipulação.Ex.: "selector": "ui-select",
typeDefine a forma de como o subcomponente irá se comportar como permitir apenas texto, seletor ou importação de fonte de dados.
  • type: campo seletor input (ex: text, number, date, email, money, telephone, time, url, etc);

  • text: texto normal;

  • event: direciona para a aba de "eventos";

  • logic: booleano (sim ou não);

  • content: direciona para a aba de "conteúdo";

  • icon: abre o modal de adicionar ícone;

  • pageDatasource: campo seletor de fonte de dados (para funcionar é necessário inserir uma fonte de dados);

  • allDatasourceFields: captura as variáveis da fonte de dados (para funcionar é necessário inserir uma fonte de dados);

  • projectResource: abre um modal que busca os arquivos da extensão sinalizado no "resourceType", como imagem.

Ex.: "type": "event",

Âncora
handleRules
handleRules

handleRules

Define características para algumas propriedades e regras para elementos do componente. Veja abaixo a tabela de opções dessa propriedade.


Bloco de código
titleTrecho de código do arquivo crn-grid.components.json
"handleRules": {
    "canOrder": true,
    "canActivate": true,
    "canIncrement": true,
    "rules": [
      {
        "activeSelector": ".table-header th.active",
        "activeClass": "active",
        "sourceHTML": "<th class=\"k-header\" data-container=\"true\" rowspan=\"\" colspan=\"\"><div data-container=\"true\" data-replace=\"true\">New Title</div></th>",
        "targetSelector": ".table-header"
      }
    ]
  }
PropriedadeObjetivoPossíveis valores / exemplos
canActivateAtiva ou desativa as regras.
  • true: ativa o handleRules do componente.
  • false: desativa o handleRules do componente.

Ex.: "canActivate": true,

canIncrement

Exibe o ícone adicionar ao lado do nome do campo e ao clicar é inserido outro item na lista.

Exemplo: outra coluna em uma tabela ou outro item em uma lista de opções.

  • true: insere o ícone adicionar;
  • false: oculta o ícone adicionar e é o valor default quando a propriedade não é informada.

Ex.: "canIncrement": true,

canOrderDefine a possibilidade de ordenação dos itens.
  • true: possibilita ordenação dos itens e é o valor default a propriedade não é informada;
  • false: impede a ordenação dos itens.

Ex.: "canOrder": true,

canToggle

Mostra o ícone exibir ao lado do nome do campo e esse ícone recolhe ou expande os itens ou submenus desse controle no editor de views, permitindo visualizar e selecionar seu conteúdo para personalização.

Exemplo: caixa de seleção ou menu.

  • true: insere o ícone exibir;
  • false: oculta o ícone exibir e é o valor default a propriedade não é informada.

Ex.: "canToggle": true,

rulesDefine algumas regras para alteração do template do componente a partir de determinadas ações.

Consulte o tópico rules.  

Âncora
handleRules-rules
handleRules-rules

rules

Lista de as regras de controle do handleRules.

PropriedadeObjetivoPossíveis valores / exemplos
accordionTabClickedEspecífico do componente acordeão, usado para acionar a ação de expandir ou recolher seus itens.

Ex."accordionTabClicked": "panel-collapse.collapse",

activeClassAtiva uma classe específica apontada anteriormente.Ex.: "activeClass""in",
activeSelectorSeleciona o atributo que sofrerá a alteração.Ex.: "activeSelector""div.panel-collapse.collapse.in",
sourceHTMLDefine trecho do HTML que será acrescido ou retirado do template, caso a regra seja atendida.Ex.: "sourceHTML""<li></li>",
targetSelectorSeleciona um elemento HTML ou classe CSS para sofrer a alteração,Ex.: "targetSelector""div.panel-group",
toggleClassAdicionar ou retirar uma classe CSS.

Ex.: "toggleClass": "open",

toggleSelectorAdicionar ou retirar um elemento seletor.Ex.: "toggleSelector": ".dropdown",

Âncora
properties
properties

properties

Responsável por criar propriedades e eventos que afetam todo o componente (incluindo os subcomponentes). Veja abaixo a tabela de opções dessa propriedade.


Bloco de código
titleTrecho de código do arquivo crn-title.components.json
    "properties": {
        "xattr-fullsize": {
            "displayName_en_US": "Width",
            "displayName_pt_BR": "Largura"
        },
        "xattr-theme": {
            "displayName_en_US": "Theme",
            "displayName_pt_BR": "Tema"
        },
        "disabled": {
            "displayName_en_US": "Disabled",
            "displayName_pt_BR": "Desabilitado"
        },
        "class": {
            "order": 9999
        },
        "id": {
            "order": 5
        }
    },
PropriedadeCampo no editor de viewsObjetivo
auto-refreshAtualizar Automaticamente (ms)Define o tempo, em milissegundos, que o datasource atualizará automaticamente. 
classClasses CSSAdiciona classes CSS já criadas.
checkrequiredValidar Campos RequeridosInsere ou atualiza os dados somente se todos os campos marcados como requeridos estiverem preenchidos.
crn-datasourceFonte de dadosDefine a fonte de dados do componente.
cronapp-filter-autopostPostagem Automática

Elementos do components.json

 

Image Removed

ÂncoraTopicJsonTopicJson

Elemento: (raiz)

Tipo: objeto
Descrição: Objeto que engloba todo o documento components.json.

ItemTipoObjetivoPossíveis valores / exemplo
namevalorDefine se é um arquivo responsável pelo controles padrões do CronApp ou um controle customizado pelo usuário.
  • cronos-components: Nome do arquivo responsável por todos os controles do CronApp web.
  • cronos-components-mobile-phonegap: Nome do arquivo responsável por todos os controles do CronApp mobile.
  • custom-cronos-components: Nome do arquivo responsável pelo novo controle criado pelo usuário no CronApp.
versionvalorValor com a versão do arquivo.Ex.: 1.0.0
componentslistaLista dos objetos responsável por definir os controles e suas propriedades.-

 

 

Image Removed

ÂncoratopicJSONtopicJSON

Elemento: components

Tipolista
DescriçãoLista dos objetos responsável por definir as cada componente e suas propriedades.

ItemTipoObjetivoPossíveis valores / exemplo
attributesForPreview listaLista de propriedades customizadas nos atributos CSS dos componentes -
autoWrappervalorAdiciona uma tag <div> em torno do template do componente, facilitando a modificação da diagramação.
  • true: Permite tratamento diferenciado entre o componente e a <div>.
  • false: Não permite tratamento diferenciado entre o componente e a <div>. Valor default quando não informada essa propriedade.
childrenPropertieslistaLista as diretivas Angular, elementos HTML ou exclusivas do CronApp para permitir sua edição nas propriedades dos subcomponentes (filhos) do controle do Editor HTML.Ex.: O controle "Caixa de checagem" possuem 2 subcomponentes: rótulo e caixa. O childrenProperties é responsável por possibilitar a criação de propriedades distintas para cada um desses subcomponentes.
classvalor

Define o ícone do controle que aparecerá no editor HTML.

Obs.: Diferente da aplicação que permite o uso dos ícones Glyphicons, font awesome icon e Material Design Icons; os botões dos componentes no editor HTML permite apenas o Material Design Icons.

Ex.: "adjust-icon mdi mdi-star"
classForPreviewobjetoAdiciona uma classe para ser visualizada somente no editor HTML, no modo de edição. Não irá aparecer na execução do projeto.-
dependencesobjetoPossui uma lista (editor) com os endereços de arquivos CSS específica para esse controle.-
forcedGroupvalorForça o agrupamento dos componentes HTML no template, permitindo a seleção de todos os subcomponente de uma só vez.
  • true: Agrupa todos os subcomponentes, necessário realizar o desbloqueio para poder selecionar cada subcomponente.
  • false: Permite a seleção de cada subcomponente sem a necessidade do desbloqueio. Valor default quando não informada essa propriedade.
groupedChildrenlistaLista os elementos HTML que compõem o template, possibilitando selecioná-los e personaliza-los no editor HTML. Essa seleção pode ser feita utilizando as subabas dentro das abas “Propriedades” e “Eventos” no Editor HTML ou selecionando o componente na tela, abrindo o ícone do cadeado e selecionando novamente os elementos internos do componente.

Para cada elemento do array, temos:

  • text_pt_BR: Internacionalização em português do Brasil para o rótulo da subaba que aparecerá em “Propriedades” e “Eventos” no Editor HTML referente ao elemento HTML selecionado.

  • text_en_US: Internacionalização em inglês do EUA para o rótulo da subaba que aparecerá em “Propriedades” e “Eventos” no Editor HTML referente ao elemento HTML selecionado.

  • selector: Informa qual elemento HTML será selecionado. Se o template possuir dois elementos HTML iguais, é possível utilizar o “selector” do CSS para referenciá-lo. Por exemplo, para selecionar o segundo elemento span do template: “span:nth-child(2)”.

handleRulesobjetoDefine características para algumas propriedades e regras para elementos do componente.

-

mask-placeholderobjeto

Informa qual componente HTML receberá o texto do campo Sugestão no editor HTML.

Possui em seu interior o valor "selector" onde será informado o componente HTML.

Ex.: { "selector": "input" }

namevalorAtributo id do componente HTML.-
palletevalorOculta ou exibe o controle no editor HTML.
  • true: exibe o controle no editor HTML. Valor default quando não informada essa propriedade.
  • false: oculta o controle no editor HTML.
propertiesobjetoLista as diretivas Angular, elementos HTML ou exclusivas do CronApp para permitir sua edição nas propriedades do componente no Editor HTML.Ex.: O controle "Caixa de checagem" possuem 2 subcomponentes: rótulo e caixa. O Properties é responsável por criar propriedades que afetam todo o controle, diferentemente do childrenProperties.
rowsvalorDefine o tamanho do campo em número de linhas.Ex.: 5
templatevalorTemplate HTML do componente. Por este ser um arquivo json, será necessário utilizar caracteres de escape para utilizar alguns caracteres. Exemplo: “\n”e “\””Ex.: "<i class=\"fa fa-star\"/>"
templateURLvalorEndereço do template do componente.-
textvalorNome do componente que aparecerá no editor HTML quando não houver internacionalização (propriedades: text_en_US e text_pt_BR).Ex.: "Button"
text_en_USvalorInternacionalização (inglês EUA) do nome do componente que aparecerá no editor HTML.Ex.: "Button"
text_pt_BRvalorInternacionalização (português Brasil) do nome do componente que aparecerá no editor HTML.Ex.: "Botão"
wrappervalorAdiciona uma tag <div> em torno do template do componente.
  • true: Adiciona uma tag <div>. Valor default quando não informada essa propriedade.
  • false: Não adiciona uma tag <div>.

 

 

Image Removed

ÂncoraTopicAttributesForPreviewTopicAttributesForPreview

Elemento: attributesForPreview

Tipolista
DescriçãoLista de propriedades customizadas para os atributos CSS dos componentes.

ItemTipoObjetivoPossíveis valores / exemplo
namevalorNome da propriedade que terá suas características alteradas neste objeto do attributesForPreview.Ex.: "xattr-size"
typevalorDefine a forma que será exibida as opções da propriedade. Normalmente são utilizados o grupo de botões ou seletor de itens.
  • btngroup: Para exibir as propriedades em um grupo de botões alinhados. Permite a utilização de ícones nos botões.
  • options: Para exibir as propriedades em um seletor de itens (dropdown). Permite a utilização de ícones, cores ou ambos.
targetvalorInforma o atributo ou elemento que será customizado. Normalmente utilizado para adicionar “class” ou “style”.Ex.: "class"
valueslistaLista das opções da propriedade. 
-

 

 

Image Removed

ÂncoraTopicValueAttributesForPreviewTopicValueAttributesForPreview

Elemento: values do attributesForPreview

Tipolista
Descrição: Lista das opções da propriedade attributesForPreview

ItemTipoObjetivoPossíveis valores / exemplo
keyvalorClasse CSS que será adicionado no template após o usuário escolher o value.
Ex.: "display:block;"
valuevalorNome da opção que será exibida para o usuário.Ex.: "Block"
iconvalorExibe um ícone ao lado do nome da opção.Ex.: "mdi mdi-ray-start"
colorvalorExibe um quadrado com a cor especificada ao lado do nome da opção. Só é possível utilizar com o type “options”.Ex.: "#fff"

 

 

Image Removed

ÂncoraTopicChildrenPropertiesTopicChildrenProperties

Elemento: childrenProperties

Tipolista
Descrição

ItemTipoObjetivoPossíveis valores / exemplo
displayName_en_USvalorInternacionalização (inglês EUA) do nome do campo que aparecerá no editor HTML.Ex.: "Field"
displayName_pt_BRvalor

Internacionalização (português Brasil) do nome do campo que aparecerá no editor HTML.

Ex.: "Campo"
editExpressionvalorExibe o ícone "Editar expressão" ao lado do nome do campo. Ao clicar é aberta uma caixa de texto para a edição da expressão ou inserção de Fonte de dados.
  • true: Ativa a opção.
  • false: Desativa a opção. Valor default quando não informada essa propriedade.
namevalor

Informa o atributo do elemento HTML que será manipulado em um campo do editor HTML.

Ex.: "ng-model"
onDisplayvalorExecuta comando em JavaScript para atualizar o componente na tela sempre que uma alteração for feita.Ex.: "javascript:function() { /* função JavaScript */ }"
onSavevalorExecuta comando em JavaScript para salvar sempre que uma opção for selecionada ou ação tomada no componente.Ex.: "javascript:function() { /* função JavaScript */ }"
selectorvalorInforma qual atributo do elemento HTML será selecionado para manipulação.Ex.: "ui-select"
typevalorDefine a forma de como o subcomponente irá se comportar. Como permitir apenas texto, seletor ou importação de fonte de dados.Ex.: "datasourceFieldList"

 

 

Image Removed

ÂncorahandleRuleshandleRules

Elemento: handleRules

TipoObjeto
DescriçãoDefine características para algumas propriedades e regras para elementos do componente.

ItemTipoObjetivoPossíveis valores / exemplo
canActivatevalorAtiva ou desativa as regras.
  • true: Ativa o handleRules do componente.
  • false: Desativa o handleRules do componente.
canIncrementvalorExibe o ícone "Adicionar" ao lado do nome do campo. Ao clicar é inserido outro item na lista. Exemplo: outra coluna em uma tabela ou outro item em uma lista de opções.
  • true: Insere o ícone "Adicionar".
  • false: Oculta o ícone "Adicionar". Valor default quando não informada essa propriedade.
canOrdervalorDefine a possibilidade de ordenação dos itens.
  • true: Possibilita ordenação dos itens. Valor default quando não informada essa propriedade.
  • false: Impede ordenação dos itens.
canTogglevalorMostra o ícone "Exibir" ao lado do nome do campo. Esse ícone recolhe ou expande os itens desse controle no editor HTML, exemplo caixa de seleção.
  • true: Insere o ícone "Exibir".
  • false: Oculta o ícone "Exibir". Valor default quando não informada essa propriedade.
ruleslistaDefine algumas regras para alteração do template do componente a partir de determinadas ações.-

 

 

Image Removed

ÂncoraTopicRulesHandleRulesTopicRulesHandleRules

Elemento: rules do handleRules

Tipolista
Descrição: Lista de regras do controle.

ItemTipoObjetivoPossíveis valores / exemplo
accordionTabClickedvalorEspecífico do controle Acordeão, usado para acionar a ação de expandir ou recolher seus itens no editor HTML.-
activeClassvalorAtiva classe específica especificada.Ex.: "in"
activeSelectorvalorSeleciona o atributo que sofrerá a alteração.Ex.: "ul.nav-tabs li.active"
sourceHTMLvalorDefine trecho do HTML que será acrecido ou retirado do template, caso a regra seja atendida.Ex.: "<li></li>"
targetSelectorvalor

Seleciona um elemento HTML ou classe CSS para sofrer a alteração,

Ex.: "div.panel-collapse.content"
toggleClassvalorAdicionar ou retirar uma classe CSS.Ex.: "invisible"
toggleSelectorvalorAdicionar ou retirar um elemento seletor.Ex.: "ui-select-choices"

 

 

Image Removed

ÂncoraTopicPropertiesTopicProperties

Elemento: properties

TipoObjeto
Descrição: Define as propriedades e evento do controle.

ItemTipoObjetivoCampocrn-datasourceobjetoDefine a fonte de dados do componente.Fonte de dadoscronapp-filter-autopostobjeto
Realiza consulta ou ação a cada letra digitada no campo.
Postagem Automática
cronapp-filter-caseinsensitive
objeto
Case InsensitiveDefine se o campo diferenciará letras minúsculas e maiúsculas.
Case Insensitive
cronapp-filter-operator
objeto
OperadorDefine operadores relacionais e de igualdade. (=, <, >, <= e >=)
Operadordependent-by
dependent-byDepende de

Cria uma dependência do componente para a exibição de conteúdo.

Ex.: As informações sobre um usuário só irão aparecer na tela quando um dos usuários for selecionado.

dependent-lazy-postDependente de postagem sob demanda
objeto

Cria uma dependência do componente com a fonte de dados informada para a

exibição

inserção de conteúdo

. Exemplo: As informações sobre um usuário só irá aparecer na tela quando um dos usuários forem selecionados.

. Nesse campo deve ser informado o objeto independente em relação ao campo "dependente de postagem de campo sob demanda".

Ex.: As regras para um usuário só serão submetidas se existir um usuário.

Depende de

dependent-lazy-post
-fieldDependente de postagem de campo sob demanda
objeto

Cria uma dependência do componente com a fonte de dados informada para a inserção de conteúdo. Nesse campo deve ser informado o objeto

independente em relação ao campo "Dependente de postagem de campo sob demanda". Exemplo

ou id que ficará dependente.

Ex.: As regras para um usuário só

será submetida se existir um usuário.Dependente de postagem sob demanda

serão submetidas se existir um usuário.

entityOrigem de dadosDefine qual a fonte de dados que irá alimentar o componente.
hrefReferênciaDefine uma URL para gerar um link.
idIdentificadorAtributo que especifica um ID exclusivo para o componente. Por padrão um id é gerado automaticamente e atribuído ao componente.
keysChavesDefine quais parâmetros serão usados como chave na fonte de dados.
lazyPostergar CargaAlimenta a fonte de dados somente após uma ação do usuário. 
load-data-strategyEstratégia para Carregar DadosDefine as condições de carregamento dos dados
maskMáscara

Lista pré-definida de máscaras.

Ex.: CEP, CPF, data, telefone etc.

mask-placeholderSugestão de máscaraPossibilita adição de novas máscaras customizadas.
ng-clickAo clicarExecuta evento ao clicar (AngularJS).
ng-dblclickAo duplo clicarExecuta evento ao duplo clicar (AngularJS).
ng-initAo inciarExecuta evento ao iniciar (AngularJS).
ng-modelValorPropriedade AngularJS que pode ser usada para obter e alimentar o conteúdo pelo bloco de programação.
ng-mouseenterAo entrar com o mouseExecuta evento ao entrar com o mouse (AngularJS).
ng-mouseleaveAo sair com o mouseExecuta evento ao sair com o mouse (AngularJS).
ng-mousemoveAo mover mouseExecuta evento ao mover mouse (AngularJS).
dependent-lazy-post-fieldobjetoCria uma dependência do componente com a fonte de dados informada para a inserção de conteúdo. Nesse campo deve ser informado o objeto ou id que ficará dependente. Exemplo: As regras para um usuário só será submetida se existir um usuário.Dependente de postagem de campo sob demandaentityobjetoDefine qual a fonte de dados que irá alimentar o componente.Origem de dadoshrefobjetoDefine uma URL para gerar um link.ReferênciakeysobjetoDefine quais parâmetros serão usados como chave na fonte de dados.ChavesmaskobjetoLista pré definida de mascarás. Exemplo: CEP, CPF, data, telefone entre outros.Máscaramask-placeholderobjetoPossibilita adição de novas mascarás customizadas.Sugestão de Máscarang-clickobjetoExecuta evento ao clicar (AngularJS).Ao clicar
on-after-create
objeto
Após criarExecuta um evento após a criação algo.
Após criar
on-after-deleteon-after-delete
objeto
Executa evento após ação de deletar algo.
on-after-delete
on-after-fill
objeto
Após preencherExecuta evento após preenchimento de um campo.
Após preencher
on-after-update
objeto
Após atualizarExecuta evento após atualização de algo.
Após atualizar
on-before-create
objeto
Antes de criarExecuta evento antes de criar algo.
Antes de criar
on-before-deleteAntes de deletar
objeto
Executa evento antes de deletar algo.
Antes de deletar
on-before-update
objeto
Antes de atualizar

Executa evento antes de atualizar algo.

Antes de atualizar
onclick
objeto
Ao clicarExecuta evento ao clicar no componente (JavaScript).
Ao clicar
on-error
objeto
Ao errarExecuta um evento quando ocorrer um erro no carregamento de algum arquivo ou mídia (JavaScript).
Ao erraronmouseoverobjeto

Executa evento no precionar do clique do botão (JavaScript).

Ao clicar
onmouseoverAo clicar

Executa evento no precionar do clique do botão (JavaScript).

parametersMestre DetalheVincula um ou mais atributos de uma fonte de dados com outra fonte de dados.
parameters-null-strategyEstratégia de Cláusula Nula

Define as condições de carregamento dos dados.

qrQR Code
qrobjeto
Exclusivo para o controle QR Code.
QR Code
src
objeto
OrigemDefine campo para carregamento de imagem.
Origem
target
objeto
AlvoSeleciona em qual janela será aberta o link.
Alvo
xattr-fullsize
objeto
LarguraDetermina se o componente ocupará a linha inteira ou não. Suas opções padrões são
"
inline
"
ou
"
block
";
e definidas no attributesForPreview.
Largura
xattr-position
objeto
Posição
Determina em
Determina em qual posição o componente ficará alinhado. Suas opções padrões são à esquerda (
Standard
standard), centro (
Middle
middle) ou direita (
Right); definidas no
right) e definidas no attributesForPreview.
Posição
xattr-size
objeto
Tamanho
Determina o
Determina o tamanho do componente na tela. Suas opções padrões são
Standard
standard,
Larger
larger (btn-lg) e
Small
small (btn-sm)
;
e definidas
no Tamanho
xattr-theme
objeto
Tema
Determina o
Determina o tema do componente. Suas opções padrões são
Default
default,
Primary
primary,
Success
success,
Info
info,
Warning
warning,
Danger
danger e link e
Link;
definidas
no Tema
xattr-type
objeto
Style TypeDetermina
o
o estilo do botão. Suas opções padrões são
Default
default,
Clear
clear (button-clear) e
Outline
outline (button-outline)
;
e definidas
no Style Type ÂncoraTopicPropiedadesPropertiesTopicPropiedadesProperties

Elemento: características do properties

TipoObjeto
Descrição:
disabled

 

 

Image Removed

DesativadoDetermina se o botão será desabilitado ou não.


Acesse a documentação Eventos dos componentes visuais para mais detalhes sobre cada evento.

Características

Define as características das propriedades e evento do controle de qualquer uma das propriedades informadas na tabela de properties.

ItemTipoObjetivoPossíveis valores / exemplodisplayName_en_USvalorInternacionalização em inglês do EUA para o rótulo do campo no Editor HTML.
PropriedadeObjetivoPossíveis valores
Ex.: "Datasource"
displayName_
pt
en_
BRvalorInternacionalização em português do Brasil para o rótulo do campo no Editor HTML
USNome do rótulo que aparecerá na aba propriedades do editor de views quando a IDE estiver no idioma inglês (EUA).Ex.: "displayName_en_US": "
Fonte de dados
Configuration",
onDisplayvalorExecuta comando em JavaScript para atualizar o componente na tela sempre que essa propriedade for alterada
displayName_pt_BRNome do rótulo que aparecerá na aba propriedades do editor de views quando a IDE estiver no idioma português (BRA).Ex.: "displayName_pt_BR"
javascript:function() { /* função JavaScript */ }"onSavevalorExecuta comando em JavaScript para salvar sempre que uma opção for selecionada ou ação tomada no componente
: "Configurações",
mandatoryDefine uma propriedade como preenchimento obrigatório, adicionando contorno vermelho à propriedade quando vazia.
  • true: define como obrigatória;
  • false: define como não obrigatória.

Ex.: "

javascript:function() { /* função JavaScript */ }"

mandatory": true,

options
lista
Define
quais
as chaves
/valores
e os valores (tanto em inglês quanto em português) que serão exibidas quando a
propriedade for do tipo lista.-options: keyvalorChave da opção para propriedades
propriedade for do tipo lista.

Ex.: "options":

"true"options: valuevalorValor da opção para propriedades do tipo lista.Ex.: "Sim"removablevalor

[{ "key": "default", "value_en_US": "Default", "value_pt_BR": "Padrão" }],

removable

Exibe o ícone remover propriedade

Exibe o ícone "Remover propriedade"

ao lado do nome do campo

. Ao

e ao clicar, o campo será removido dentre as propriedades ou eventos.

OBS.: É possível chamar novamente a propriedade através do campo

"Nova

nova propriedade

"

.

  • true:
Insere
  • insere o ícone
.
  • ;
  • false:
Oculta
  • oculta o ícone
. Valor default quando não informada essa propriedade.
  • e é o valor default a propriedade não é informada.

Ex.: "removable": true,

resourceType
valorDefine o tipo do recurso usado na propriedade. Exemplo: "image/jpeg,image/gif,image/png" (permite

Define qual a extensão de arquivo será utilizada.

Permite imagens do tipo jpeg, gif ou png

)

.

Ex

.

.: "resourceType": "image/jpeg,image/gif,image/png,image/svg+xml"

typevalorDefine em qual aba o campo aparecerá (Propriedades ou Eventos), além da forma de como o campo irá se comportar: permitir apenas texto, seletor, abrirá uma janela para segurança, importação de fonte de dados ou eventos.

,

Nesta página

Índice


Conteúdo complementar

Exibir filhos
pageComponentes visuais

Ex.: "event"