Configuración del aspecto de tiempo de diseño de las vistas

Puede configurar vistas para mejorar la experiencia del tiempo de diseño para otros desarrolladores de interfaz que están reutilizando las vistas. Incluyendo iconos e imágenes de vista previa, o para configuraciones más avanzadas, HTML y JavaScript, personalizados, puede personalizar la apariencia de sus vistas para ayudar a los desarrolladores de interfaces a visualizar cómo aparecerá la vista en tiempo de ejecución.

Opciones básicas de vista previa

Acerca de esta tarea

Para configurar el aspecto del tiempo de diseño de la vista, vaya a Visión general en el editor de vista.

Procedimiento

  • Especifique un archivo de imagen que utilizar como icono para la vista.
  • Si la vista tiene una interfaz de usuario que es un resultado de código HTML o JavaScript y no de otras vistas, especifique una imagen de diseño para visualizarla en el lienzo durante el tiempo de diseño.
  • Si desea vincular la vista a un activo gestionado en tiempo de diseño, seleccione Utilizar vinculación URL. Por ejemplo, las vistas de imagen utilizan este valor para poder visualizar la imagen con la que están enlazadas en el lienzo.
  • Si la vista da soporte a una etiqueta, puede establecer la posición de la etiqueta en el lienzo especificando la Vista previa de la posición de la etiqueta.
    Normalmente, se utiliza el centro de posición de etiqueta para elementos como botones.
    1. Si ha especificado una imagen de diseño y ha establecido la posición de la etiqueta de vista previa en Center, la imagen de diseño se amplía para ajustarse al texto de la etiqueta. De manera predeterminada, la imagen entera se extiende.
    2. Si ha especificado un archivo de fragmento de código HTML o el archivo JS de ayudante (o ambos), cualquier código de estos archivos que coloque la etiqueta alterará temporalmente el valor especificado para Vista previa de posición de etiqueta.

Opciones avanzadas para configurar el aspecto de las vistas durante el tiempo de diseño

Tiene opciones más avanzadas para configurar el aspecto de tiempo de diseño de las vistas. Utilizando código HTML y JavaScript , las vistas pueden tener un aspecto de tiempo de diseño más parecido al aspecto de tiempo de ejecución de la vista, lo que proporciona a los desarrolladores de interfaces una idea más precisa de cómo se verán sus vistas para los usuarios de la aplicación. En algunos casos, el mismo código que se utiliza para la vista de tiempo de ejecución se puede utilizar en el lienzo del coach.

Procedimiento

  • La manera más sencilla de proporcionar un aspecto de tiempo de diseño para las vistas que refleje con exactitud el aspecto del tiempo de ejecución es mediante un fragmento de código HTML. El fragmento de código HTML se carga como activo gestionado y luego se selecciona en la sección de vista previa avanzada en el editor de vista. Este archivo debe ser un archivo HTML con un fragmento de código que representa la vista.
    1. Cree un fragmento de código HTML.
      Este archivo debe ser un archivo HTML con un fragmento de código que representa la vista. Por ejemplo:
      <div>
      <button class="DesignLabel"></button>
      </div>
      El fragmento de código HTML tiene algunas características para permitir que se coloquen correctamente los recuadros de contenido y las etiquetas.
      Class: DesignLabel
      Esta clase se coloca en el elemento HTML que representa la etiqueta, si la vista admite una etiqueta. El editor coloca la serie de la etiqueta en el contenido HTML interno de este elemento. Un fragmento de código puede tener varias etiquetas y la etiqueta se aplica y actualiza en todos los elementos.
      Class: DesignContentBox
      Esta clase se utiliza para indicar dónde se debe colocar un recuadro de contenido declarado en la vista previa. Si se utiliza esta clase, el elemento también debe tener el atributo data-designContentBoxID definido. Este atributo se debe establecer en el ID de control del recuadro de contenido declarado. Si se declaran varios recuadros de contenido, cada uno se debe colocar de forma exclusiva en el HTML de la vista de previa. Si se declara un recuadro de contenido en el diseño de la vista, pero no existe ninguna división en la plantilla HTML con la clase DesignContentBox y un data-designContentBoxID coincidente, el editor colocará la instancia del recuadro de contenido al final de la presentación de la vista.
      Nota: El editor reserva los nombres de clase de Design* . Los fragmentos de código no deben utilizar clases que coincidan con este patrón. De forma similar, se deben evitar los nombres del atributo data-design*.
      Lo siguiente es un fragmento de código HTML de ejemplo:
      <div>
      <h2 class="DesignLabel"></h2>
      <div class="DesignContentBox" data-designContentBoxID="ContentBox1">
      </div>
    2. Añada archivos externos a la automatización de flujo de trabajo o al kit de herramientas, tal como se describe en Adición de archivos gestionados.
    3. Cambie a Visión general y, en Vista previa avanzada, seleccione el archivo que contiene el fragmento de código HTML.
  • Si un fragmento de código HTML por sí solo no puede proporcionar la experiencia de vista previa en tiempo de diseño que desea, también puede especificar un archivo gestionado que contenga un manejador JavaScript .

    Un manejador JavaScript permite la manipulación del DOM de tiempo de diseño en reacción a los cambios de modelo. El manejador JavaScript puede funcionar junto con un fragmento de código HTML o puede manejar toda la propia vista previa.

    El manejador JavaScript consta de un archivo JavaScript con un mixObject definido. El mixObject puede implementar una o más funciones a las que llama el editor durante el ciclo de vida del editor. También puede definir funciones adicionales, pero los nombres deben tener el prefijo coachViewImpl, por ejemplo, coachViewImpl_calcValue(). Si desea almacenar información adicional sobre this, se debe colocar en el objeto this.context.coachViewData. Tanto la convención de denominación de la función como la ubicación de almacenamiento de la variable de instancia se utilizan para evitar conflictos en futuras versiones del producto.

    A continuación se muestra un ejemplo de un manejador JavaScript simple que proporciona una etiqueta de vista previa y una imagen para un control de botón.
    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;
    		}
    	},
    };

    Para obtener más información sobre las API de previsualización de tiempo de diseño, consulte Manejadores de sucesos para la previsualización de tiempo de diseño de vista de coach.