Definición de propiedades

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Asistente de Procesos > Definir Formas > Extender o personalizar las formas > Crear Widgets > Estructura de un Widget >

Definición de propiedades

Introduccón

Las propiedades en un Widget permiten acceder (tanto obtener como actualizar) a información de negocio del modelo de datos de su proceso y promueve el uso de parámetros configurables, de tal manera que un Widget es completamente reutilizable en cualquier otro proceso y actividad.

Para más información sobre cómo agregar o editar una propiedad, consulte Interfaz de usuario del Editor de Widgets.

 

Tipo de Propiedad

Usted necesita definir qué tipo de datos es válido para la propiedad, de tal forma que el usuario de Bizagi Studio pueda configurarlo adecuadamente.

El diseñador de formas de Bizagi filtrará y validará automáticamente que sea asignado un correcto tipo de datos a esta propiedad (por ejemplo, si la propiedad es un XPath, usted podrá seleccionar solo un XPath del modelo de datos).

 

Algunas propiedades requieren configuración adicional (sub-properties).

 

La siguiente tabla muestra los diferentes tipos de propiedades:

 

Valor del tipo de propiedad

¿Para qué es?

Configuración adicional

Simple data binding (xpath-to-simple)

Para atributos de tipo string, enteros, Booleanos y otros que estén almacenados en su modelo de datos (XPath).

Tenga en cuenta que si quiere usar esta propiedad, asegúrese de que llame explícitamente el XPath.

Si utiliza más de uno, el primero que use debe seguir llamándose XPath y los adicionales pueden llamarse Xpath2, Xpath3, etc.

Escoja uno de estos tipo de datos específicos para el XPath:

Texto (string)

Número (number)

Booleano (boolean)

Fecha (date)

Carga de Archivos (upload)

Imagen (image)

Carga de Archivos con ECM (uploadecm)

Entity data binding (xpath-to-entity)

Para una referencia a otra Entidad de su modelo de datos (XPath).

 

Collection data binding (xpath-to-collection)

Para una colección de registros dado por una relación 1-n. Visto como una colección de Bizagi en su modelo de datos (XPath).

 

Regla de negocio (rule)

Para el valor de retorno de una regla de negocio.

Esta opción es especialmente poderosa debido a que permite recuperar cualquier valor calculador por el servidor a través de una regla de negocio simple o sofisticada (e.g Usar una librería de Componentes).

Asegúrese de que esta regla sea ejecutada de manera asíncrona y usada como se describe en la siguiente sección.

 

 

int: Para los valores enteros non-xpath (la información no está en el modelo de datos).

boolean: Para los valores booleanos non-xpath (la información no está en el modelo de datos). Cuando use booleanos, tenga en cuenta que siempre necesitará definir el valor por defecto.

string: Para los valores de texto non-xpath (la información no está en el modelo de datos).

localizable-string: Para los valores de texto non-xpath que se presenten en multi-lenguaje (la información no está en el modelo de datos).

 

 

note_pin

Cada tipo de propiedad es establecido en su atributo interno llamado bas-type.

Usted puede poner el título de la propiedad para ser localizable (su nombre de mostrar) y establecer si es requerido o no (verdadero/falso) en el atributo interno llamado requerido.

Para información detallada sobre la definición del archivo de propiedades, consulte Estructura del Widget.

 

Para definir las propiedades que considere deben ser configurables en un Widget, incluya o edite las mismas considerando su tipo y posibilidades.

 

note_pin

Las propiedades son definidas en el archivo miWidget.json en la estructura del mismo.

Usted puede ver que una propiedad es definida por separado en la estructura del JSON para: diseño, configuración y ejecución.

La siguiente imagen muestra la definición de la propiedad "My property" para diseño:

 

WidgetEditor_MyProperty

 

Uso de las propiedades

Refiera a los siguientes puntos para usar las propiedades en tiempo de ejecución (codificado en el archivo de implementación del archivo miWidget.js).

 

Cargando las propiedades y sus valores

La plantilla inicial de los Widgets provee la carga de propiedades para acceso en tiempo de ejecución.

Por el uso de

var properties = self.properties;

Usted puede empezar a usar directamente cualquier propiedad definida y su valor por medio de:

properties.[su_propiedad];

 

note_pin

Obtenga el valor de la propiedad XPath principal por medio de self.properties.value

 

Valores por defecto de las propiedades

Si necesita usar un valor por defecto (e.g asegurarse de que se use información preestablecida), considere lo siguiente en su archivo de implementación.

var displayName = properties.displayName || "Nombre para mostrar";

En el ejemplo anterior, si la propiedad displayName no se establece explícitamente en el diseñador de formas, utilizaremos el texto "Nombre para mostrar".

 

Propiedades Asíncronas (del tipo "regla")

Cuando utilice propiedades de tipo regla, es más útil acceder a los valores de retorno de manera asíncrona ("async": "true" en su definición de runtime).

Para acceder a esta propiedad y su valor en tiempo de ejecución, use:

var self = this;

self.getPropertyValue("dataRule").done(function(data) {

 bizagi.log("data", { data: data.value });

});

Tenga en cuenta que en el ejemplo anterior, nuestra propiedad de regla se llama dataRule.

 

note_pin

El método getPropertyValue(propertyName) es un objeto deferred que se encarga del método promiser (para tratamiento asíncrono).

Para mayor información sobre este concepto, consulte http://api.jquery.com/deferred.promise/.

 

 

Notas adicionales

Recuerde que la propiedad XPath (con este nombre), permitirá definir si algunos valores son emparejados directamente a su modelo de datos. Pero, usted puede usar y definir más de 1 XPath (emparejamiento múltiple de información desde el modelo de datos) por Widget. Si este es su caso, se requiere que la primera información emparejada se llame XPath.

Las propiedades pueden tener subpropiedades usando subproperties y dejando la estructura como una propiedad.