Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 56 Próxima »

O Editor de views do Cronapp é responsável por modelar o layout das páginas web e das telas dos aplicativos mobile. Através da técnica drag and drop (arrasta e solta) é possível construir páginas e telas utilizando os diversos componentes visuais, sem a necessidade de edição do código HTML ou CSS gerado (o resultado da edição é uma página HTML5 crua sem scripts server-side). Ainda assim, caso queira, é possível alterar ou criar o conteúdo de uma página em modo high code, trabalhando diretamente com o código, inclusive das páginas CRUD geradas via templates no Diagrama de dados. Além disso, os sistemas gerados pelo Cronapp são responsivos e seguem padrões de acessibilidade baseado no WCAG do W3C.


Observação

Páginas criadas em modo high code, sem o Editor de views, não possuirão o mesmo padrão das páginas criadas pelo editor - sendo assim, algumas funcionalidades, como vincular com outras páginas HTML criadas em modo low code ou eventos de componentes podem não funcionar.


O nosso editor visual é do tipo WYSIWYG (What You See Is What You Get ou “o que você vê é o que você obtém”, em português), ou seja, a página em modo de edição será semelhante ao modo em execução, facilitando muito o desenvolvimento. O menu lateral (item 6 da figura 1) possui quatro abas superiores: Controle, contém os componentes visuais; Hierarquia, exibe a estrutura hierárquica dos componentes na tela; Propriedades, responsável por personalizar os componentes; Responsividade e Estilos (CSS).


Figura 1 - Área de trabalho da view


  1. Recarregar Área de Design.
  2. Redimensionamento: redimensiona a tela para verificar a responsividade em diferentes equipamentos.
  3. Modal: botão para criar modal e caixa de seleção dos modais.
  4. Exibir elementos ocultos: exibe todos os elementos que serão renderizados em algum momento após uma ação feita pelo usuário.
  5. Exibir elementos não visuais: exibe/oculta elementos que não serão renderizados ao executar o projeto, como ícones de fonte de dados.
  6. Menu lateralárea que abrange as abas de controle, hierarquia, propriedade, responsividade e estilos.
  7. Área de design: área de confecção das páginas web ou telas mobile.
  8. Árvore DOM: exibe a árvore DOM (Document Object Model) do componente selecionado na área de edição.
  9. Abas visualização e código: exibe o conteúdo de forma visual ou o código-fonte HTML.

    A subaba código só é exibida quando a IDE está no modo Avançado.

Redimensionamento

No menu superior da área da edição se encontra as ferramentas para redimensionamento da página, facilitando a visualização da página em diferentes tamanhos de tela. 


Figura 2 - Itens do redimensionamento


  1. Recarregar área de design: atualiza a área de design;
  2. Resetar: ajusta a área de design do formulário baseando-se no tamanho da janela no browser;
  3. Área de redimensionamento: redimensiona a área de design para mostrar como é seu comportamento conforme o dispositivo selecionado:
    • Dispositivos pequenos, telefones;
    • Dispositivos médios, tablets;
    • Dispositivos desktops;
    • Dispositivos grandes, TVs.

Acessibilidade

A acessibilidade é uma das características presentes no Cronapp, já que a IDE utiliza os padrões da W3C e WCAG (Web Content Accessibility Guidelines) 2.0 e 2.1 na construção de suas aplicações. Além disso, o Cronapp utiliza o Wave Web Accessibility, ferramenta de avaliação de acessibilidade e está em conformidade com os padrões WCAG para garantir que as aplicações geradas sigam todos os padrões (Figura 3).



Figura 3 - Plugin Wave rodando numa aplicação Cronapp


 As competências referentes a acessibilidade presentes no Cronapp são:

  • Estrutura do documento: possui um HTML bem definido que respeita as regras de uso, como por exemplo, possuir um DOCTYPE apropriado, subordinação obrigatória entre as tags é respeitada e tags são corretamente aninhadas e fechadas;
  • Divisão de áreas de informação: tem como objetivo organizar a estrutura da aplicação de forma a garantir a consistência entre as páginas definindo bem as divisões topo, conteúdo, menu, rodapé e possui como algumas regras de uso ter a seção do conteúdo principal marcada com a regra main, seção que tem um formulário de busca marcado com a regra search e rodapé contendo as informações versão, sobre, contato, etc. e marcada com a regra contentinfo;
  • Semântica das tags: visa manter a lógica, semântica, ordem dos elementos e tem como algumas regras de uso blocos marcados com p, table não é usado para posicionar elementos na tela e cabeçalhos marcados com h1, h2, ... h6
  • Leitura da tela: permitindo aos usuários cegos ou com baixa visão compreensão e acesso total às funcionalidades do sistema, desde manipulação de arquivos e fotos, cadastros, criação e edição de documentos de texto rico, navegação, entre outras funcionalidades.
  • Fluxo de leitura e tabulação: consiste em manter a ordem lógica das apresentações para facilitar leituras, navegação entre links e possui as regras de uso conteúdo apresentados na sequência em que se espera que o usuário leia, paradas de tabulação aparecem na sequência em que se espera que o usuário acesse;
  • Uso de cabeçalhos: possui regras de uso, como h1 usado apenas uma vez na página, níveis não são saltados da hierarquia, ou seja, depois de h1 se usa h2 e assim por diante, o h1 não precisa ser necessário o primeiro cabeçalho na ordem de leitura;
  • Atalhos para conteúdo e navegação: tem como algumas regras de uso link para ir direto ao conteúdo principal da página, link que leva ao conteúdo é o primeiro elemento a receber foco com o pressionamento da tecla TAB, link para ir direto à navegação da página;
  • Totalmente acessível por teclado: obtém como regras de uso a possibilidade de realizar toda e qualquer ação em uma página usando somente o teclado, controle de foco e visualização deve permitir uma experiência usável quando se navega por teclado; 
  • Visual: visa garantir que o texto possua contraste suficiente para a leitura, e tem regras de uso, como por exemplo, texto regular com contraste mínimo de 4.5:1 entre cor de fonte e de fundo, indicação visual evidencia o elemento que possui foco e texto grande (a partir de 18 pontos, ou 14 pontos com negrito) com contraste mínimo de 3:1 entre cor de fonte e de fundo;
  • Links: possui algumas regras de uso como texto do link indica com clareza seu destino, links que levam ao mesmo destino possuem o mesmo texto e links que levam a destinos diferentes possuem textos diferentes;
  • Imagens: contém regras de uso como imagens possuem o atributo alt que possui conteúdo variável que depende de como a imagem é usada na página, imagem decorativa inserida por CSS (preferencialmente) não necessita do atributo alt e imagem que faz parte do conteúdo inserida por HTML e não por CSS;
  • Tabelas: tem regras de uso, como por exemplo, título da tabela (quando houver) informado por meio da tag caption, cabeçalhos contidos em tags th e dados contidos em tags td
  • Formulários: obtém algumas regras de uso como ao navegar por teclado o controle deve receber o foco, controle operável por teclado e controle associado a seu rótulo (label) de ao menos uma dessas formas (atributo id do controle possui o mesmo valor do atributo for do rótulo correspondente, tag do controle posicionada dentro da tag label correspondente) e controles que guardam forte relação entre si agrupados com uso de fieldset;
  • Multimídias: dispõe algumas regras de uso, conteúdo multimídia não inicia automaticamente sua reprodução, controle de execução operável por teclado e legenda em vídeo que contém áudio falado. 

Modal

Modais são pequenas janelas que ficam sobrepostas sobre a tela principal, usadas para chamar a atenção do usuário, exibir um conteúdo ou adicionar uma funcionalidade extra na tela. A janela modal é constituída de três áreas: header, body e footer; e para adicionar componentes nessa área, basta selecionar os componentes e arrastá-los sobre a área do modal (Figura 4.1).



Figura 4.1 - Modal


  1. Adicionar janela: cria uma modal;
  2. Remover janela: remove a janela modal selecionada na caixa de seleção lateral;
  3. Caixa de seleção das janelas modais;
  4. Janela do modal: área de design do modal.

Seleção do modal

Para selecionar o modal e realizar algumas ações, como renomear, basta clicar em algum componente dentro do modal (Figura 4.2) e, na árvore DOM, clicar na div referente ao modal (destaque 1 da Figura 4.2), dessa forma o menu lateral irá exibir as propriedades do modal (2 da Figura 4.2).


Figura 4.2 - Campo para renomear modal

Menu lateral

O menu lateral possui quatro abas que contém os componentes que são adicionados na área de design, onde mostra a configuração e a estilização desses componentes.


Figura 5.1 - Abas do menu lateral


  1. Controles;
  2. Hierarquia;
  3. Propriedades;
  4. Responsividade;
  5. Estilos.

Controles

Contém os componentes visuais que são utilizados para o design das páginas e telas (Figura 5.2), esses componentes variam conforme o tipo de projeto - ou seja, se é uma view web ou mobile. O campo de busca permite pesquisar pelos componentes usando o termo em português ou inglês, independente do idioma configurado no Cronapp.

Os componentes visuais estão organizados em categorias, podendo um componente está vinculado a mais de uma categoria, caso possua relação. A última categoria exibirá todos os componentes disponíveis.

 

Acesse a página Componentes visuais para maiores informações.


Figura 5.2 - Aba de controle no editor de view web e mobile

Hierarquia

Exibe uma árvore com a estrutura DOM (Modelo de Objeto de Documento) da página e destaca o elemento selecionado (destaques 1 e 3 da figura 5.3). Essa mesma navegação estrutural (breadcrumb) pode ser vista na parte debaixo da janela (destaque 2 da figura 5.3).


Figura 5.3 - Hierarquia da estrutura DOM

Árvore DOM

Modelo de Objeto de Documento (DOM) é uma interface de programação para documentos HTML, XML e SVG. Ele fornece uma representação estruturada do documento como em uma árvore. Imagine que o elemento <HTML> é a raiz dessa árvore e ele possui filhos, como o <Head> e o <Body>que por sua vez também possuem outros elementos filhos e assim sucessivamente. Cada elemento da árvore DOM pode possuir atributos e eventos (exemplo <input type="text">), no Cronapp chamamos respectivamente de Propriedades e Eventos. Clique aqui para mais detalhes sobre o conceito da árvore DOM. 

No Cronapp, a estrutura DOM da página atual pode ser visualizada através da aba Hierarquia (destaque 1 da figura 5.3.1). Ao selecionar um componente visual na tela, o elemento que o representa na árvore DOM é destacado nessa hierarquia (2 da figura 5.3.1) e a sequência hierárquica desse elemento será exibida no formato de navegação estrutural (breadcrumb) na parte debaixo da janela (destaque 3 da figura 5.3.1). Na prática, quando selecionamentos um componente visual na área de edição, estamos selecionando todo o código do seu elemento HTML juntamente com todos os seus subelementos.


Figura 5.3.1 - Ferramenta que exibe a estrutura DOM do componente selecionado


Na figura 5.3.2 temos o componente Entrada de texto com botão selecionado (destaque 1 da figura 5.3.2) e, logo abaixo, na navegação estrutural (3), vemos que o último elemento exibido é a div principal que envolve todo o componente (div#crn-textinputbutton-209389). Os campos das abas Propriedades e Eventos exibidos no menu lateral (2 da figura 5.3.2) faz referência aos atributos e eventos do elemento HTML selecionado e, muitas vezes, também os principais atributos e eventos de seus sub elementos.

No exemplo da figura abaixo, as propriedades "Sugestão" e "* Valor" são específicas do subcomponente Entrada de texto, essas propriedade também podem ser acessadas ao desbloquear o componente principal (destaque 4 da figura 5.3.2) e selecionar apenas o campo entrada de texto. Já as propriedades do subcomponente Botão não são exibidas ao selecionar o componente principal, sendo necessário selecionar o subcomponente para ter acesso as suas propriedades.


Figura 5.3.2 - Ao selecionar um componente, suas propriedades e as principais propriedades dos subcomponentes são exibidas no menu lateral


Assim, selecionando o subcomponente Botão dentro do componente Entrada de texto com botão, podemos ver as propriedades específicas do botão e de seus subelementos, como as propriedades Conteúdo e ícone (destaque 3 da figura 5.3.3), A navegação estrutural (breadcrumb) também estará maior, exibindo como último elemento o button (1 da figura 5.3.3) e deixando claro que ele está dentro da div do componente Entrada de texto com botão (2). Clicando na div do Entrada de texto com botão (2), o foco da seleção passará do subcomponente Botão para o componente Entrada de texto com botão. Dessa forma, para selecionar um subcomponente é necessário utilizar o cadeado (4 da figura 5.3.2), enquanto que para selecionar um componente mais externo, podemos usar a navegação estrutural na parte inferior.


Para mais detalhes sobre as opções da barra de ajustes do Componente visual, acesse o tópico "Barra de ajustes" na documentação da Componentes visuais.


Figura 5.3.3 - Subcomponente DOM

Propriedades dos componentes

As propriedades de um componente são exibidas sempre que o mesmo é selecionado na área de design e seu conteúdo pode variar a depender do item selecionado. Os campos de propriedades permitem alterar de forma low-code o conteúdo do elemento HTML, sejam atributos, eventos ou estilos (inline)


Figura 5.4 - Subabas das propriedades do componente visual Botão


Subabas:

  • Propriedades: permite adicionar ou editar as propriedades HTML, Angular, permissão de acesso e outros recursos;
  • Eventos: permite adicionar eventos ao componente selecionado, como abrir um novo formulário, relatório, executar um bloco de programação ou ainda uma expressão;
  • Estilos: permite editar ou adicionar CSS nos formatos em linha ou incorporado no componente selecionado.


Ao selecionar um componente visual da área de edição, apenas as principais propriedades e eventos são exibidas, para exibir mais, clique em + Exibir mais (destaque 1 da figura 5.5) ou informe o nome da propriedade que deseja adicionar e seu valor no campo Nova Propriedade (2).



Figura 5.4 - Campo para adicionar novas propriedades e link para exibir as propriedades ocultas

Subaba Propriedade

Os campos dessa subaba alteram as características do componente selecionado através de propriedades HTML, Angular ou Cronapp. Seus títulos possuem nomes amigáveis, para saber o nome real da propriedade, posicione o cursor do mouse sobre o título e um tooltip exibirá o nome entre parênteses (tooltip da figura 5.5). Ao selecionar uma propriedade, alguns botões de configuração são exibidos (destaque 1 da figura 5.5):

  • Traduzir: abre a janela de internacionalização e permite traduzir o conteúdo da propriedade. Acesse a documentação Internacionalização para mais detalhes.
  • Editar expressão: abre uma janela para configurar o conteúdo da propriedade através de um Texto livre, Expressão, Campo da tela ou Bloco de programação.
  • Limpar: exclui o valor da propriedade, deixando-a com o valor vazio.
  • Remover propriedade: exclui a propriedade e seu valor do componente.



Figura 5.5 - Propriedades do componente selecionado


Acesse a documentação Propriedades dos componentes visuais para mais detalhes.

Subaba Eventos

Os campos dessa subaba alteram os eventos do componente selecionado através de propriedades HTML, Angular ou Cronapp. Seus títulos possuem nomes amigáveis, para saber o nome real do evento, posicione o cursor do mouse sobre o título e um tooltip exibirá o nome entre parênteses (tooltip da figura 5.6). Ao selecionar um evento, o botão Limpar (x) será exibido ao lado do título, ele irá excluir o valor do evento (destaque 1 da figura 5.5). 

Todos os eventos possuem o botão "..." ao lado do campo, esse botão abre uma janela para indicar qual a ação do evento.  


Figura 5.6 - Eventos do componente selecionado


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

Subaba Estilos

Os campos dessa subaba permitem etilizar o componente selecionado e seus subcomponentes. O primeiro campo (Em Linha - destaque 1 da figura 5.7) permite adicionar conteúdo CSS no formato inline, já os demais campos (2 da figura 5.7) são específicos para cada subcomponente contido no componente principal e o CSS é adicionado no formato incorporado. Os campos dos subcomponentes podem expandir para mudar o CSS dos subcomponentes em duas ações (destaque a da figura 5.7): Ao passar o mouse sobre o subcomponente e ao focar o subcomponente.

Todos os campos possuem o botão "..." ao lado, ao clicar, o editor CSS low-code será aberto.


Figura 5.7 - Edição do CSS do componente selecionado


Acesse a documentação do editor de Estilos - CSS para mais detalhes.

Responsividade

Essa aba permite configurar o tamanho do componente selecionado em relação ao tamanho da tela, podendo ser dividido em até 12 colunas horizontais. É possível configurar e ajustar a responsividade dos componentes para até 4 tamanhos de telas diferentes: televisores, monitores, tablets e smartphones.

Clique em "+ Exibir todos dispositivos" ou "- Exibir apenas dispositivo selecionado" (destaque 1 da figura 5.8) para expandir ou ocultar a configuração dos demais dispositivos.



Figura 5.8 - Aba de Responsividade


Acesse a documentação sobre Responsividade para mais detalhes.

Estilos

Essa aba lista as classes CSS já criadas em seu projeto e permite criar novas (destaque 1 da figura 5.9), editar ou excluir (2). As classes criadas aqui serão armazenadas no arquivo app.css ( ) e serão associadas aos componentes no formato CSS linkado ou externo.


Figura 5.9 - Aba de Estilos


Após criar a classe, é possível vincular a um componente utilizando a propriedade Classes CSS do componente selecionado.


Figura 5.10 - Associando uma classe a um componente


Acesse a documentação sobre Estilos - CSS para mais detalhes.

Área de design

Para criar e configurar o layout das páginas web ou telas mobile, os componentes visuais devem ser arrastados para o centro do editor de views através de ações simples como clique ou arrasta e solta (drag and drop). Também é possível reordenar os componentes em tela, facilitando a sua configuração. 

Cada componente em tela exibe um contorno pontilhado mostrando a área em que ocupa na tela. Ao clicar em um componente na área do editor, ele será selecionado e uma barra de opções é exibida logo acima, mostrando seu nome e exibindo algumas opções de edição (destaque 1 da figura 6.1). Veja mais detalhes sobre a barra de opção em Componentes visuais.


Figura 6.1 - Área de edição das páginas web e telas mobile

Página Home

Após logar na aplicação, o usuário é direcionado para a página home e dela será possível navegar dentre as demais páginas. Como veremos abaixo, existem algumas pequenas diferenças no projeto web e mobile.

Web

Os projetos web do Cronapp trabalham com o conceito de Single Page Application (SPA), dessa forma, quando o usuário navega entre as páginas ou telas da aplicação, somente parte do conteúdo é atualizado, evitando que o usuário tenha que carregar mais recursos e melhorando a experiência do usuário ao utilizar sua aplicação.

Desconsiderando o modal de alteração da senha do usuário, a página home (Localização Formulário/Web/Autenticado/ ) é composta inicialmente por um componente Barra de navegação e um contêiner <div id="main-view"> que possui o conteúdo da página home. Assim, quando navegamos por outras páginas do sistema o conteúdo fora desse contêiner fica sempre visível na tela, enquanto que o interno é modificado de acordo com a página acessada.

Na figura 7.1 vemos a div#main-view selecionada no modo low-code (superior) e high-code (inferior).

Para acessar a subaba Código é necessário acessar o editor de views no Modo Avançado.


Figura 7.1 - Elemento main-view é responsável por renderizar o conteúdo das demais páginas do projeto

Mobile

Os projetos mobile não seguem o conceito de SPA como no web pois todas as telas já estão dentro da própria aplicação e a navegação entre elas costuma ser um processo suave. Tanto a home (Localização: Formulário/Mobile/Autenticado/ ) quanto as demais telas possuem um componente Cabeçalho que possui um título e dois botões (ícones sanduíche) que exibem a tela do menu de navegação.


Figura 7.2 - Elemento main-view exibido no modo low-code e high-code


O menu lateral dos projetos mobile encontra-se na tela menu (Localização: Formulário/Mobile/Autenticado/ ) e possui os componentes: Item com Avatar, que exibe o nome, username e foto, e o Menu Dinâmico para navegação entre as telas.


Figura 7.3 - Tela de menu das aplicações mobile

Propriedades e Eventos da página

É possível associar propriedades e eventos diretamente a uma página. Isso pode ser feito acessando o menu de contexto dentro da área de edição da tela e selecionando a opção Eventos da página ou Propriedades da página (destaque 1 da figura 8.1). Por padrão, essas propriedades/eventos não existem quando criamos uma nova página, porém, ao acessar as propriedades ou eventos dessa página, um contêiner (div#starter) irá englobar todo o conteúdo da página. Além das propriedades e eventos contidos no contêiner, é possível inserir outros através da propriedade Nova Propriedade (2 da figura 8.1).

Para acessar a subaba Código é necessário acessar o editor de views no Modo Avançado.


Figura 8.1 - Após acessar a propriedade da página, a div#starter será inserida para permitir configurações


Principais Propriedades:

NomePropriedadeFunção
Fonte de dados principalprimary-datasourceDefine o comportamento geral da tela baseado nas ações da fonte de dados, dessa forma, em um formulário CRUD, se a fonte de dados mudar o status para edição, os componentes de exibição, como a grade, serão ocultados.
Exibirng-showDiretiva AngularJS que exibe ou oculta a página.
IdentificadoridIdentificador HTML da div principal, nesse caso sempre será starter.
Parâmetros da telascreen-paramsDefinem parâmetros que serão passados a essa página via query string, dessa forma, ao configurarmos eventos que abram essa tela, serão exibidos esses parâmetros. 
Segurançacronapp-securityDefine quais grupos de acesso tem permissão para ver e editar.


Principais Eventos:

NomeEventosFunção
Ao Iniciarng-initDiretiva AngularJS que executa uma ação ao abrir a tela.
Ao Destruirng-destroyDiretiva AngularJS que executa uma ação ao fechar a tela.

Acesse as documentações Propriedades dos componentes visuaisEventos dos componentes visuais para mais detalhes.

Subabas visualização e código

Ao trabalhar com o Cronapp no Modo Avançado (destaque 1 da figura 9.1), o Editor de views exibirá duas subabas: Visualização e Código (destaque 2). A subaba Visualização exibe a tela no padrão WYSIWYG e permite editar seu conteúdo de forma low-code, já a subaba Código exibe o mesmo conteúdo no formato HTML e permite a edição em modo high-code.

Para saber o trecho de código HTML de um componente visual, basta selecionar o componente na área de edição (3) e alterar da subaba Visualização para Código, o conteúdo estará selecionado (4).



Figura 9.1 - Abas inferiores: Visualização e Código


A ação de um duplo clique sobre um componente visual pode variar a depender do componente selecionado. Em componentes que possuem configurações próprias, como a Grade ou Fonte de dados, a sua janela de configuração será exibida, já os demais componentes exibirão uma janela com o código HTML do componente selecionado (Figura 9.2)


Figura 9.2 - Editor HTML do componente

Nesta página


Conteúdo complementar

  • Sem rótulos