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 21). É através dele que conseguimos se consegue adicionar mais recursos a um controlecomponente, permitindo sua customização sem a necessidade de configurá-lo via código.

Dentre alguns exemplos da necessidade do components.json no CronAppCronapp, 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
  • ;
  • Inclusão de eventos a elementos do controle e outros.
Image Removed


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 estrutura do components.json

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  

    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
    • /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

    O CronApp ainda nos permite criar novos controles personalizados

    e para cada novo

    controle, além do arquivo 

    componente, são criados os arquivos *.template.

    html também é criado o arquivo 

    html e *.components.json

     que é exclusivo

    . 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 padrão para um projeto web (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 / exemplonamevalorDefine 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.0componentslistaLista 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 / exemploattributesForPreview 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.-onDropvalorAbre a janela de configuração especificada quando o componente é arrastado para a área de edição da view.

    Ex.: "onDrop": "openEditor";

    "onDrop": "NomeAtributo"

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

    Ex.: "onDoubleClick":"openEditor";

    "onDoubleClick": "NomeAtributo"

    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.: 5templatevalorTemplate 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 / exemplonamevalorNome 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 / exemplokeyvalorClasse 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 / exemplodisplayName_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.
    mandatoryvalorDefine uma propriedade como preenchimento obrigatório, adicionando contorno vermelho à propriedade quando vazia.
    • true: Define como obrigatória.
    • false: Propriedade não obrigatória.
    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 / exemplocanActivatevalorAtiva 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 ou submenus desse controle no editor HTML, 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". 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 / exemploaccordionTabClickedvalorEspecí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 >=)
    Operador
    dependent-by
    objeto
    Depende de

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

    Exemplo

    Ex.: As informações sobre um usuário só

    irá

    irão aparecer na tela quando um dos usuários

    forem selecionados

    for selecionado.

    Depende de
    dependent-lazy-post
    objeto
    Dependente de postagem sob demanda

    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

    dependente de postagem de campo sob demanda".

    Exemplo

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

    será submetida

    serão submetidas se existir um usuário

    .Dependente de postagem sob demanda

    .

    dependent-lazy-post-field
    objeto
    Dependente de postagem de campo sob demanda

    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 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 demanda

    . Nesse campo deve ser informado o objeto ou id que ficará dependente.

    Ex.: As regras para um usuário só 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).
    entityobjetoDefine 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.ChavesmandatoryvalorDefine uma propriedade como preenchimento obrigatório, adicionando contorno vermelho à propriedade quando vazia.
    • true: Define como obrigatória.
    • false: Propriedade não obrigatória.
    maskobjetoLista 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-delete
    objeto
    Antes de deletarExecuta 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 errar
    onmouseover
    objeto
    Ao clicar

    Executa evento no

    precionar do clique do botão (JavaScript).Ao clicar

    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
    disabled

    Image Removed

    ÂncoraTopicPropiedadesPropertiesTopicPropiedadesProperties

    Elemento: características do properties

    TipoObjeto
    Descrição:
    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

    .Obs: O último nível "propriedades" está entre aspas pois representa

    de qualquer uma das propriedades informadas na tabela de properties

    citadas acima

    .

    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 serão exibidas quando a propriedade for do tipo lista.-options: keyvalorChave da opção para propriedades
    e os valores (tanto em inglês quanto em português) que serão exibidas quando a propriedade for do tipo lista.

    Ex.: "

    true"options: valuevalorValor da opção para propriedades do tipo lista.Ex.: "Sim"removablevalorExibe o ícone "Remover propriedade"

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

    removable

    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"

    Ex.

    : "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"