Configurando a Aparência do Tempo de Design de Visualizações

É possível configurar visualizações para aprimorar a experiência de tempo de design para outros desenvolvedores de interface que estão reutilizando suas visualizações. Ao incluir ícones e imagens de visualização ou, para configurações mais avançadas, HTML personalizado e JavaScript,, você pode personalizar a aparência das exibições para ajudar os desenvolvedores de interface a visualizar como a exibição aparece em tempo de execução.

opções de visualização Básica

Sobre esta tarefa

Para configurar a aparência de tempo de design de sua visualização, acesse Visão geral no editor de visualização.

Procedimento

  • Especifique um arquivo de imagem para ser usado como um ícone para a sua visualização.
  • Se a visualização tiver uma UI que seja um resultado do código HTML ou JavaScript e não outras visualizações, especifique uma imagem de layout para exibir na tela no tempo de design.
  • Se quiser vincular a visualização a um arquivo da Web no momento do design, selecione Use URL binding. Por exemplo, as visualizações de imagem usam essa configuração para que eles exibam a imagem que eles estão ligados na tela.
  • Se a sua visualização suporta uma etiqueta, você pode definir a posição da etiqueta na tela especificando a Posição da etiqueta Preview.
    Geralmente, você usa a posição do rótulo do centro para os elementos de UI como botões.
    1. Se você especificou uma imagem de layout e configurou a posição de rótulo de pré-visualização para Center, a imagem do layout se estende para ajustar o texto do rótulo. Por padrão, a imagem inteira está esticada.
    2. Se você estiver usando o designer de baixo código e você especificou um arquivo de snippet HTML ou o arquivo Helper JS (ou ambos), qualquer código nesses arquivos que posicionar a etiqueta substitui o valor especificado para Preview position position.

Opções avançadas para configurar a aparência de visualizações de tempo de design

Quando você está criando seus aplicativos de negócios e visualizações, o designer de baixo código oferece opções mais avançadas para configurar a aparência de tempo de design de suas visualizações. Usando o código HTML e JavaScript , suas visualizações podem ter uma aparência de tempo de design que mais se assemelha à aparência de tempo de execução da visualização, dando aos desenvolvedores de interface uma ideia mais precisa de como suas visualizações serão para os usuários do aplicativo. Em alguns casos, o mesmo código que é usado para a visualização do tempo de execução pode ser aproveito na tela da página.

Procedimento

  • A maneira mais simples de fornecer uma aparência de tempo de design para visualizações que refletem precisamente a aparência do tempo de execução é por meio de um fragmento de HTML. O snippet HTML é carregado como um arquivo web, então selecionado na seção de visualização avançada no editor de visualização. Esse arquivo deve ser um arquivo HTML com um snippet que representa a visualização.
    1. Criar um snippet HTML.
      Esse arquivo deve ser um arquivo HTML com um snippet que representa a visualização. Por exemplo:
      <div>
      <button class="DesignLabel"></button>
      </div>
      O fragmento de HTML tem alguns recursos que permitem que caixas de conteúdo e rótulos sejam colocados apropriadamente.
      Class: DesignLabel
      Essa classe é colocada no elemento HTML que representa o rótulo, se a visualização suportar um rótulo. O editor coloca a cadeia de etiqueta como o conteúdo HTML interno deste elemento. Um fragmento pode ter várias etiquetas, e a etiqueta é aplicada e atualizados para todos os elementos.
      Class: DesignContentBox
      Essa classe é utilizada para indicar onde uma caixa de conteúdo declarado devem estar localizados na visualização. Se esta classe for usada, então o elemento também deve ter o atributo data-designContentBoxID definido. Este atributo deverá ser definido como o ID de controle da caixa de conteúdo declarado. Se várias caixas de conteúdo são declaradas, cada uma pode ser exclusivamente posicionado na visualização HTML. Se uma caixa de conteúdo for declarada no layout da visualização, mas não houver uma div no modelo HTML com a classe DesignContentBox e o data-designContentBoxID correspondente, o editor colocará a instância de caixa de conteúdo no término da renderização da visualização.
      Nota: Os nomes da classe Design* são reservados pelo editor. Fragmentos não deve utilizar as classes correspondentes a este padrão. Da mesma forma, os nomes de atributos data-design* devem ser evitados.
      A seguir está um snippet HTML exemplo :
      <div>
      <h2 class="DesignLabel"></h2>
      <div class="DesignContentBox" data-designContentBoxID="ContentBox1">
      </div>
    2. Adicionar arquivos externos ao seu projeto de aplicação ou kit de ferramentas.
    3. Alternar para Overview e, sob visualização Avançada, selecione o arquivo que contém o trecho HTML.
  • Se um fragmento HTML sozinho não puder fornecer a experiência de visualização de tempo de design desejada, também será possível especificar um arquivo da web contendo um manipulador JavaScript .

    Um manipulador JavaScript permite a manipulação do DOM de tempo de design em reação a mudanças de modelo O manipulador JavaScript pode trabalhar em conjunto com um fragmento HTML ou pode manipular a própria visualização inteira.

    O manipulador JavaScript consiste em um arquivo JavaScript com mixObject definido. O mixObject pode implementar uma ou mais funções que o editor de chamadas durante o ciclo do editor. Você também pode definir funções adicionais, mas os nomes deverão ser prefixados com o coachViewImpl, por exemplo, coachViewImpl_calcValue(). Se você deseja armazenar informações adicionais em this, então ele deverá ser colocado no objeto this.context.coachViewData . Tanto a função convenção de nomenclatura e local de armazenamento variável da instância são utilizados para evitar conflitos em versões futuras do produto.

    A seguir há um exemplo de um manipulador JavaScript simples que fornece um rótulo de visualização e uma imagem para uma visualização de botão
    var mixObject = {
    	createPreview:function(containingDiv, labelText, callback){
    		require([ "dojo/dom-construct"], this.lang.hitch(this, function(domConstruct){
    			var buttonDiv = domConstruct.create("div");
    			domConstruct.place(buttonDiv, containingDiv);
    			var button = domConstruct.create("button");
    
    			domConstruct.place(button, buttonDiv);
    			this.context.coachViewData.labelTextDom = document.createTextNode(labelText);
    			button.appendChild(this.labelTextDom);
    			callback();
    		}));
    	},
    	propertyChanged:function(propertyName, propertyValue){
    		if(propertyName=="@label" && this.context.coachViewData.labelTextDom){
    			this.context.coachViewData.labelTextDom.data = propertyValue;
    		}
    	},
    };