Unofficial Content

ViewGenerator.dkt

A continuación se comentan algunos puntos importantes de este template, que servirán de guia para entender como está implementado y como funciona.
A su vez, puede servir para el resto de los templates ya que todos siguen la misma estructura.

Aqui se indican los parámetros que recibe el template.
FileName - Nombre de la instancia

<%@ Property Name="FileName" Type="System.String"%>

Toma la información del folder donde se generarán los objetos

string folder = General.AttributeValue(instanceNode, "folder");

Se recorren las instancias y se lee el nodo Level. El template procesa el xml de la instancia por nodos.

foreach(XmlNode objectNode in instanceNode.SelectNodes("level"))

Se va obteniendo información de la KB (nombres de objeto, descripciones, etc.) usando la templatehelpers.dll (General.NodeName(objectNode) accede a la templatehelpers.dll).

string objName = General.NodeName(objectNode);
string objDescription = General.NodeDescription(objectNode);
string descriptionAttribute = General.NodeName(objectNode.SelectSingleNode("descriptionAttribute"));

Llama al subtemplate ViewTemplate para generar los Tabs del View con todos los datos pasados por parámetro.

<%@ CallSubTemplate ViewTemplate ViewNode='viewNode' ViewObjName='viewName' Folder='folder' SelectionLink='selectionLink' SelectionDescription='selectionDescription' ObjName='objName' Parm='parameterList' DescriptionAttribute='descriptionAttribute' %>

Para cada nodo en Tabs\Tab se llama al TabularTemplate y al GridTemplate dependiendo si se generará un componente con tabular o con grid (propiedad Type del nodo Tab).

foreach (XmlNode node in viewNode.SelectNodes("tabs/tab"))

 


Last update: April 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant