Page tree
Skip to end of metadata
Go to start of metadata

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 HTML 5 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's 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.

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 (que contém os componentes visuais), Propriedades (responsável por personalizar os componentes), Responsividade e Estilização (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 elementos que serão renderizados em algum momento, após uma ação feita pelo usuário.
    Como exemplo, podemos citar o botão sanduíche dos dispositivos moveis que ficará visível na tela de edição, mesmo que o redimensionamento esteja configurado para grandes dispositivos.
  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, 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.

Redimensionamento

A área de design pode ser redimensionada, 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, Tv's.

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 também utiliza o Wave Web Accessibility, ferramenta de avaliação de acessibilidade e também utiliza os padrões WCAG para garantir que as aplicações geradas sigam os padrões.


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 role main, seção que tem um formulário de busca marcado com a role search e rodapé contendo as informações versão, sobre, contato, etc e marcada com a role 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 devem 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 label 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 - 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 renomeá-lo, basta clicar em algum componente dentro do modal, como na div body (figura 4.2), e na árvore DOM clicar na div referente ao modal (item 1 da figura 4.2), dessa forma o menu lateral irá exibir as propriedades do modal (item 2 da figura 4.2).


Figura 4.2 - Campo para renomear modal

Menu lateral

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. Propriedades;
  3. Responsividade e
  4. Estilo.

Controles

Contém os componentes visuais que são utilizados para o design das páginas / telas. É possível pesquisar pelos componentes usando o termo em português ou inglês.

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


Figura 5.2 - Aba de controle

Propriedades dos componentes

As propriedades são exibidas sempre que um componente é selecionado na área de design. Essa aba possui três subabas com funcionalidades bem distintas entre elas e específica para cada componente selecionado.


Figura 5.3 - Aba de propriedades do componente botão


Subabas:

  • Propriedades: permite adicionar ou editar as propriedades HTML, AngularJS, permissão de acesso e outras;
  • Eventos: permite adicionar eventos ao componente selecionado: abrir um novo formulário ou relatório, executar um bloco de programação ou ainda um expressão;
  • Estilos: permite adicionar ou editar o CSS do componente.


Selecionando um componente na área de edição, somente as principais propriedades serão exibidas, clique no link "+ Exibir mais" para expandir as outras propriedades. Ainda é possível adicionar uma nova propriedade ou evento através do campo "Nova Propriedade" (Figura 5.6).


Figura 5.4 - Campo para adicionar nova propriedade e link para listar as propriedades ocultas

Subaba Propriedade

Os campos dessa subaba alteram as características dos componentes selecionados, posicionando o cursor do mouse sobre o rótulo de um campo exibirá um tooltip com nome e, entre parênteses, seu respectivo atributo ou diretiva AngularJS. Os ícones ao lado do nome (Figura 5.5) significam respectivamente: internacionalização, editor de expressões (permite adicionar um texto, expressão, selecionar um campo da tela ou chamar um bloco de programação), limpar campo e excluir propriedade (só ocorre em alguns atributos).


Figura 5.5 - Propriedades do componente selecionado


Algumas Propriedades:

NomePropriedadeFunção
ConteúdoContentDefine o rótulo ou conteúdo do componente
Valorng-modelDiretiva AngularJS que associa o valor dos controles aos dados do aplicativo
TipoTypeDefine o tipo do componente (money, data, String, password)
Requeridong-requiredDiretiva AngularJS que define se o componente é de preenchimento obrigatório
Repetircrn-repeatPropriedade do Cronapp que vincula o componente com uma fonte de dados e o repete de acordo com o numero de registros existentes dessa fonte
IdentificadoridIdentificador HTML do componente
Exibirng-showDiretiva AngularJS que exibe ou oculta o componente
Segurançacronapp-securityDefine quais grupos de acesso tem permissão para ver e editar o componente

Subaba Eventos

Assim como ocorre na subaba propriedades, ao posicionar o cursor do mouse sobre o rótulo de um campo de Eventos, será exibido um tooltip com o nome e sua respectiva diretiva AngularJS ou HTML. Ao clicar no botão "…" ao lado do campo, uma janela abrirá permitindo inserir uma expressão, chamar um bloco de programação, um relatório ou formulário. (Figura 5.6)


Figura 5.6 - Eventos do componente selecionado


Alguns Eventos:

NomeEventosFunção
Ao Iniciarng-initDiretiva AngularJS que executa uma ação ao renderizar o componente na tela
Ao Clicarng-clickDiretiva AngularJS que executa uma ação ao clicar no componente
Ao Focarng-focusDiretiva AngularJS que executa uma ação ao selecionar o componente

Subaba Estilo

Essa subaba é responsável por definir o CSS do componente selecionado, inclusive em momentos específicos, como passar o mouse sobre o componente. Os campos exibidos variam de acordo com o componente selecionado. Ao clicar no botão "..." ao lado do campo, o menu é alterado para o modo de edição do CSS. Ver mais detalhes em Estilização de componentes - CSS.


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

Responsividade

Configuração da responsividade de um componente para diferentes tamanhos de tela.


Figura 5.8 - Aba de Responsividade


  1. Dispositivo: Informa o tipo de redimensionamento selecionado no momento;
  2. Tamanho: define o tamanho do componente baseado no sistema de grid do Bootstrap.
  • Exibir todos dispositivos mostra os outros tipos de redimensionamentos e suas respectivas áreas para definir a responsividade.

Estilos

Nessa aba é feita toda a configuração de estilos do componente. Acesse a página Estilização de componentes - CSS para mais informações.


Figura 5.9 - Aba de Estilos


  1. Nova Regra CSS: adiciona um novo estilo para o componente;
  2. Remover regra: elimina o estilo correspondente.

Propriedades da página

 A div starter envolve toda a página e possui algumas propriedades próprias, para acessá-las clique com o botão de contexto sobre a área de edição e exibir o menu, selecione a opção "Eventos da página" ou "Propriedades da página". Após isso, é possível verificar que o componente destacado na sequência da árvore DOM é a div starter (item 1 da figura 5.8), a página passará a se comportar como os componentes internos, exibindo os botões bolas.


Figura 5.10 - Acesso as Propriedades e Eventos da página


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. 
Repetircrn-repeatPropriedade do Cronapp que vincula o conteúdo selecionado com uma fonte de dados e o repete de acordo com o numero de registros existentes dessa fonte.
Segurançacronapp-securityDefine quais grupos de acesso tem permissão para ver e editar o componente.


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.

Abas visualização e código

Elas exibem a tela em modo WYSIWYG ou código fonte. Por padrão, ao abrir um formulário HTML sempre será exibido no modo visualização, mas basta selecionar as abas Visualização e Código para alterar entre as formas de exibição.

É possível visualizar o respectivo trecho do código de um componente, basta selecioná-lo na área de design e alterar para a aba Código que o trecho HTML do componente estará selecionado. (Figura 6.1)


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


Além disso, ao clicar duas vezes sobre o componente fará com que seja aberta a janela de edição do HTML com o trecho de código do componente. (Figura 6.2)


Figura 6.2 - Editor HTML do componente