Reglas y Contextos

¿QUÉ ES UNA REGLA Y CÓMO SE DEFINE?

 

Una regla, es una forma de agrupar sentencias de código a ejecutarse como reacción a diferentes eventos en la UI. Debemos tener en claro que:

 

  • Se definen mediante la palabra reservada: Rule
  • Deben estar declaradas dentro de un contexto que las agrupa, el cual se

define mediante la palabra reservada: RuleContext

 

  • La sintaxis de una regla, dentro de un contexto de reglas, es la siguiente:

 

RuleContext nombreDelContexto {

         Rule nombreDeRegla [cláusula listen] [cláusula when] {

                   //cuerpo de la regla

         }

}

 

Por otro lado, el proyecto de app puede contener tantos RuleContexts como se quiera, y cada uno con tantas Rules como se requiera.

RuleContext contextoReglas1 {

        Rule regla11 {

                   //cuerpo de la regla

         }

          …

        Rule regla1N {

                   //cuerpo de la regla

        }

 

}


RuleContext contextoReglas2 {

         Rule regla21 {

                    //cuerpo de la regla

         }

          …

         Rule regla2N {

                   //cuerpo de la regla

         }

 

}

¿QUÉ EVENTOS DISPARAN LA EJECUCIÓN DE UNA REGLA?

 

  1. Tap en un botón en la pantalla por interacción del usuario (regla usando Decision).
  2. Tap en un componente visual, al que se le asoció una acción de ejecución de regla desde la “Configuración de Eventos” en “UI Builder”.
  3. Por activación de un listen: el modelo y/o atributo al que la regla está observando fue modificado.

 

CLÁUSULA LISTEN DE REGLAS

 

Es la que permite configurar una regla, para que observe uno o más atributos de un modelo, o cadena de atributos y se ejecute si alguno de sus valores cambia. 

 

  • La sintaxis de una regla con cláusula listen es la siguiente:

 

Rule nombreRegla listen(nombreAtributo from modelo as nombreVariable) {

         // cuerpo de la regla

}

 

  • nombreAtributo: nombre del atributo a observar. El caracter * puede ser

utilizado para observar todos los atributos del modelo.

  • modelo: nombre del modelo que contiene el atributo a observar.
  • nombreVariable: nombre de una variable local que se usará dentro del

cuerpo de la regla para referenciar a la instancia del modelo cuyo atributo

fue modificado.

 

CLÁUSULA WHEN DE REGLAS

 

Permite agregar condiciones para la ejecución de la regla, de modo que las mismas serán evaluadas y dependiendo del resultado, se ejecutará o no la regla.

 

  • La sintaxis de una regla con cláusula when es la siguiente:

 

Rule nombreRegla when(expresion booleana) {

         // cuerpo de la regla

}

 

VINCULAR REGLAS A EVENTOS EN LA UI

 

  1. Ir al UI Build, al layout de interés, y agrega o selecciona un

componente visual.

  1. Al hacer click en el componente, ir a “Properties”, “Events”.

Según el componente se tendrán habilitados ciertos eventos, y según

estos, el tipo de acción.

  1. Seleciona un tipo de evento.
  2. Selecciona un tipo de acción.
  3. Completa los campos que aparezcan.
  4. Click en “+ADD ACTION” y listo (:

 

 

TIPOS DE EVENTOS

  1. TapEvent
  2.  LongPressEvent
  3. OnSelectEvent
  4. OnSelectBubbleEvent (sólo en Map View)

    Video y PDF no admiten eventos.

 

TIPOS DE ACCIONES SOBRE LOS EVENTOS

  1. ShowAlertAction
  2. NavigateAction
  3. RunRuleAction
  4. InvokeFunctionAction

 

Si te quedó alguna inquietud, no dudes en escribirnos! Por otro lado, en nuestro sitio web podrás encontrar mucha más información.

Te invitamos a ser parte de nuestra comunidad, para que empieces crear tus propios proyectos

EMPEZAR A CREAR