14.2 Managing Dynamic Actions

https://docs.oracle.com/en/database/oracle/application-express/19.2/htmdb/managing-dynamic-actions.html#GUID-7E564715-E963-44AA-B620-5FFB5EFA62EE

14.2.1 Acerca de las acciones dinámicas

Las acciones dinámicas proporcionan una forma de definir el comportamiento complejo del lado del cliente de forma declarativa sin la necesidad de JavaScript. Con el asistente Crear acción dinámica, puede especificar una acción que se realiza cuando se produce un conjunto definido de condiciones. También puede especificar qué elementos se ven afectados por la acción, y cuándo y cómo se ven afectados.

Cuando trabaje con acciones dinámicas, debe tener en cuenta el hecho de que cuantas más acciones dinámicas agregue a una página, mayor será el tamaño general de la página. Esto se debe a que el marco de acción dinámico emite código adicional al cliente para cada acción dinámica definida, que también debe ser descargada y ejecutada por el marco en el cliente.

El proceso de implementación de una acción dinámica implica los siguientes pasos:

  • Edite o cree una columna de cuadrícula interactiva, elemento, botón, región, expresión de JavaScript o selector jQuery en una página. Se hace referencia a este componente dentro de la acción dinámica al definir cuándo se dispara.
  • Cree una acción dinámica desde la página de la aplicación que invoca la acción.
  • Ejecute su aplicación para probar la acción dinámica.

Propina:

Consulte «Depuración de acciones dinámicas» para obtener información sobre cómo depurar problemas.

Ver ejemplos de acciones dinámicas

Para ver ejemplos de acciones dinámicas, instale la aplicación de ejemplo Acciones dinámicas de muestra. Como alternativa, vaya a la Biblioteca de aprendizaje de Oracle en http://www.oracle.com/oll/apex. Ingrese los criterios de búsqueda en el campo provisto (por ejemplo, acciones dinámicas) y haga clic en Buscar.

Ver también:

«Instalación de una aplicación de productividad y muestra»

Tema principal: Gestión de acciones dinámicas


14.2.2 Acerca de los eventos de acción dinámica

Puede definir acciones dinámicas para disparar en función de los eventos que suceden en la página. Oracle Application Express incluye cuatro categorías diferentes de eventos:

  • eventos de navegador,
  • eventos de Framework,
  • eventos de componentes y
  • eventos personalizados.

Esta sección describe todos los eventos compatibles, incluido el nombre interno del evento JavaScript entre paréntesis.

Eventos del navegador

Nota:

Los eventos que se muestran difieren según el tipo de interfaz de usuario actual de la página. Si desea seleccionar un evento que corresponda a un tipo diferente, entonces tiene la opción de seleccionar Mostrar no admitido, que muestra todos los eventos, incluidos los que no corresponden al tipo actual.

  • Cambio (cambio): se dispara cuando un control pierde el foco de entrada y su valor se ha modificado desde que ganó el foco.
  • Hacer clic (hacer clic): se activa cuando se hace clic en el botón del dispositivo señalador sobre el elemento de activación.
  • Doble clic (dblclick): se activa cuando se hace doble clic en el botón del dispositivo señalador sobre el elemento activador.
  • Double Tap (apexdoubletap): se dispara cuando el puntero hace un doble toque / clic.
  • Obtener enfoque (enfoque): se dispara cuando el elemento desencadenante recibe el foco, ya sea mediante un dispositivo señalador o presionando el elemento.
  • Tecla abajo (tecla abajo): se activa cuando se presiona una tecla del teclado. Use este evento cuando desee capturar pulsaciones de teclas especiales, como las teclas de flecha, después de presionar una tecla.
  • Pulsación de teclas (pulsación de teclas): se dispara cuando se presiona una tecla del teclado y se ingresa texto. Use este evento cuando desee capturar la entrada de texto real.
  • Key Release (keyup): se activa cuando se suelta una tecla del teclado. Use este evento cuando desee capturar pulsaciones de teclas especiales, como las teclas de flecha, después de que se haya soltado una tecla.
  • Perder foco (foco): se dispara cuando el elemento desencadenante pierde el foco, ya sea por el dispositivo señalador o por la separación del elemento.
  • Presionar el botón del mouse (mousedown): se dispara cuando se presiona el botón del dispositivo señalador sobre el elemento disparador.
  • Liberación del botón del mouse (activación del mouse): se activa cuando se suelta el botón del dispositivo señalador sobre el elemento disparador.
  • Mouse Enter (mouseenter): se dispara una vez cuando el dispositivo señalador se mueve al elemento de activación.
  • Mouse Leave (mouseleave): se dispara una vez cuando el dispositivo señalador se aleja del elemento disparador.
  • Mouse Move (mousemove): se dispara cuando el dispositivo señalador se mueve mientras se encuentra sobre el elemento disparador.
  • Pan (apexpan): se dispara cuando el puntero está hacia abajo y luego se mueve en dirección horizontal.
  • Carga de página lista: se dispara cuando se carga la página.
  • Descarga de página (descarga): se dispara cuando se descarga una página.
  • Presione (apexpress): se dispara cuando el puntero está presionado durante más de 250 ms.
  • Cambiar tamaño (cambiar tamaño): se activa cuando se cambia el tamaño de la ventana del navegador.
  • Carga de recursos (carga): cuando el elemento desencadenante es el elemento de la ventana (utilizando un valor de expresión de JavaScript de la ventana en los atributos When), el evento se dispara cuando el navegador termina de cargar todo el contenido dentro de un documento, incluyendo ventanas, marcos, objetos e imágenes . Para otros elementos, este evento solo puede usarse para elementos asociados con una URL: imágenes, scripts, marcos, iframes.
  • Desplazamiento (desplazamiento): se activa cuando se desplaza un elemento desencadenante desplazable. Esta podría ser la ventana del navegador (usando un valor de expresión de JavaScript de la ventana en los atributos When), scromarcos o elementos con la propiedad CSS de desbordamiento configurada para desplazarse (o auto cuando la altura explícita del elemento es menor que la altura de su contenido).
  • Seleccionar (seleccionar): se activa cuando un usuario selecciona texto en un campo de texto.
  • Deslizar (apexswipe): se dispara cuando el puntero se mueve rápidamente en dirección horizontal.
  • Tap (apextap): se dispara cuando el puntero está haciendo un pequeño clic.

Eventos marco

  • After Refresh (apexafterrefresh): se activa después de que se haya actualizado el elemento desencadenante. El evento solo es válido para activar elementos que realizan Actualización parcial de página y activan este evento. Los componentes nativos que admiten esto son informes interactivos, informes clásicos, gráficos, vista de lista y todos los tipos de elementos con soporte de LOV en cascada. Los complementos también pueden admitir este evento. Este evento puede ser enviado por las API apex.server.plugin y apex.server.process cuando se proporciona la opción refreshObject. Consulte «apex.server» en la Referencia de la API de JavaScript de Oracle Application Express
  • Antes de enviar la página (apexbeforepagesubmit): se activa antes de que se envíe una página.
  • Antes de actualizar (apexbeforerefresh): se dispara antes de que el elemento desencadenante se haya actualizado. El evento solo es válido para activar elementos que realizan Actualización parcial de página y activan este evento. Los componentes nativos que admiten esto son informes interactivos, informes clásicos, gráficos, vista de lista y todos los tipos de elementos con soporte de LOV en cascada. Los complementos también pueden admitir este evento. Este evento puede ser enviado por las API apex.server.plugin y apex.server.process cuando se proporciona la opción refreshObject. Consulte «apex.server» en la Referencia de la API de JavaScript de Oracle Application Express.
  • Diálogo cerrado (apexafterclosedialog): se activa cuando se cierra un diálogo de Application Express. Este evento solo se activa cuando el cuadro de diálogo se cierra mediante el proceso de página ‘Cerrar cuadro de diálogo’ o la acción dinámica ‘Cerrar cuadro de diálogo’.

Eventos componentes

Estos eventos están disponibles cuando hay un componente (ya sea un elemento, región o acción dinámica) disponible para su aplicación que desencadena un evento personalizado. Estos eventos aparecen en el siguiente formato Nombre del evento [Nombre del componente], por ejemplo, el evento Orden de cambio desencadenado por el tipo de elemento nativo Shuttle aparece como Orden de cambio [Shuttle]. Los eventos de componentes se desencadenan desde componentes nativos enviados con Oracle Application Express o desde componentes de complemento que haya instalado en su aplicación.

  • Eventos activados por componentes nativos: Estos estarán en el formato Nombre del evento [Nombre del componente]. Para obtener ayuda relacionada con los eventos generados por nuestros componentes nativos, vea interactiveGrid y treeView. Consulte «interactiveGrid» y «treeView» en la Referencia de la API de JavaScript de Oracle Application Express.
  • Eventos activados por componentes de complemento: Estarán disponibles cuando se agreguen a su aplicación actual y tendrán el formato Nombre del evento [Nombre del componente]. Para obtener ayuda relacionada con los eventos generados por los complementos, consulte el texto de Ayuda en la página de configuración del complemento, navegando a Componentes compartidos, Complementos, nombre del complemento, Texto de ayuda, donde el autor del complemento puede haber incluido documentación.
  • Evento personalizado: Al seleccionar Personalizado, se muestra un campo adicional que le permite definir un evento personalizado. Esto es útil cuando los eventos nativos o complementos proporcionados son insuficientes.

Tema principal: Gestión de acciones dinámicas
14.2.3 Crear una acción dinámica

Crear una acción dinámica implica especificar cuándo ocurre la acción (con condiciones opcionales), qué acción o acciones se realizan y qué elementos se ven afectados por la acción. Para obtener más información sobre cualquier atributo del Editor de propiedades, seleccione el atributo y haga clic en la pestaña Ayuda en el panel central.

Para crear una acción dinámica en el Diseñador de páginas:

Ver la página en el Diseñador de páginas:
    En la página de inicio de Workspace, haga clic en el icono de App Builder.
    Selecciona una aplicación.
    Selecciona una página.
Aparece el Diseñador de páginas.
Haga clic en la pestaña Acciones dinámicas en el panel izquierdo.
En Acciones dinámicas, haga clic con el botón derecho en Eventos y seleccione Crear acción dinámica.

Propina:

También puede seleccionar un tipo de evento y luego hacer clic derecho para seleccionar Crear acción dinámica.

El Editor de propiedades muestra los atributos de Acción dinámica.

La pestaña Mensajes muestra una insignia roja o amarilla para identificar los mensajes que necesita abordar. Al seleccionar un mensaje, se muestra el atributo asociado en el Editor de propiedades. Debe abordar el mensaje de error rojo antes de poder guardar.
En el Editor de propiedades, edite los siguientes atributos de Acción dinámica:

Propina:

Para obtener más información sobre un atributo, seleccione el atributo en el Editor de propiedades y haga clic en la pestaña Ayuda en el panel central.

    Identificación, nombre: ingrese el nombre de la acción dinámica.

    Opciones de ejecución, secuencia: ingrese la secuencia para este cálculo. La secuencia determina el orden de ejecución.

    Cuándo, evento: especifique el evento que hace que se active la acción dinámica.

    Cuándo, Selección: seleccione el tipo de elemento de página o construcción que se utilizará

para desencadenar el evento.

    Nota:

    Solo está disponible si el evento seleccionado admite la definición de un elemento de página. La selección de cualquiera de los siguientes eventos oculta este atributo: carga de página, descarga de página, cambio de tamaño, antes de enviar la página, cambio de orientación. Todos los demás tipos de eventos muestran este campo.

    Condición del lado del cliente, Tipo: opcionalmente, seleccione el tipo de condición que desea controlar el procesamiento de acción verdadera y falsa de la acción dinámica. Si no se define una condición del lado del cliente, solo se dispararán las acciones verdaderas. Si se define una condición del lado del cliente, la acción verdadera se disparará cuando se cumpla la condición, y la acción falsa se disparará cuando no se cumpla.

    Nota:

    Se mostrarán otras propiedades condicionalmente según el tipo, para permitirle declarativamente definir la condición. Por ejemplo, para el tipo de condición Artículo = Valor, verá una propiedad Artículo y Valor, que se comprobará al evaluar la condición.
A continuación, defina la acción que se realizará si el evento se evalúa como Verdadero o Falso.
Para editar una acción existente:

    Expanda el árbol de Acción dinámica y seleccione una acción existente (es decir, seleccione Verdadero o Falso).

    En el Editor de propiedades, edite los siguientes atributos de Acción:

        Acción: especifique qué acción desea realizar.

        Elementos afectados: seleccione cómo definir los componentes de la página que se verán afectados cuando se ejecute esta acción. Se muestran opciones adicionales según el tipo de elemento seleccionado.

        Opciones de ejecución, Activar cuando el resultado del evento es: especifique si esta acción se activa cuando se cumple la condición del elemento desencadenante seleccionando Verdadero (Acción verdadera) o cuando no se cumple seleccionando Falso (Acción falsa). Si no se especifica ninguna condición, solo se disparan las acciones verdaderas.

        Tipo de selección: seleccione cómo definir los componentes de la página que se verán afectados cuando se ejecute esta acción.

        Fuego en la inicialización: especifique si la acción se dispara en la inicialización.

        La inicialización tiene un significado ligeramente diferente según cómo se defina la acción dinámica. Para acciones dinámicas definidas para disparar en columnas de cuadrícula interactiva, esto especifica si la acción se dispara cuando la fila de cuadrícula interactiva está activada para edición. Para todas las demás acciones dinámicas, esto especifica si la acción se dispara cuando se carga la página.
Para agregar una nueva acción:

    Expanda el árbol de Acción dinámica.

    Haga clic con el botón derecho en la acción dinámica y seleccione Crear acción VERDADERA o Crear acción FALSA.

    Edite la acción en el Editor de propiedades como se describe en el paso anterior.
Clic en Guardar.

Ver también:

«Acerca de los eventos de acción dinámica»

Tema principal: Gestión de acciones dinámicas
14.2.4 Edición de acciones dinámicas

Una vez que crea una acción dinámica, puede modificar los atributos definidos durante el proceso de creación, especificar los atributos que no están disponibles durante el proceso (como especificar un Esquema de autorización) y agregar acciones verdaderas adicionales.

Para editar una acción dinámica:

Ver la página en el Diseñador de páginas:
    En la página de inicio de Workspace, haga clic en el icono de App Builder.
    Selecciona una aplicación.
    Selecciona una página.
Aparece el Diseñador de páginas.
Haga clic en la pestaña Acciones dinámicas en el panel izquierdo. Las acciones dinámicas están organizadas por eventos.
Expanda el evento apropiado y seleccione la acción dinámica.
Los atributos para la acción dinámica se muestran en el Editor de propiedades.
En el Editor de propiedades, edite los atributos apropiados de Acción dinámica.

Propina:

Para obtener más información sobre un atributo, seleccione el atributo en el Editor de propiedades y haga clic en la pestaña Ayuda en el panel central.
Para editar una acción existente:
    Expanda el árbol de Acción dinámica para ver los nodos Verdadero o Falso.
    En Verdadero o Falso, seleccione la acción.
    Edite la acción en el Editor de propiedades.
Para agregar una nueva acción:
    Expanda el árbol de Acción dinámica.
    Haga clic con el botón derecho en la acción dinámica y seleccione Crear acción VERDADERA o Crear acción FALSA.
    Edite la acción en el Editor de propiedades.
Clic en Guardar.

Tema principal: Gestión de acciones dinámicas
14.2.5 Definición del alcance del evento de acción dinámica

Después de crear la acción dinámica, el alcance de la acción puede modificarse para activarse solo una vez, durante la vida útil de la página actual o hasta que los elementos desencadenantes se actualicen mediante una actualización de página parcial (PPR).

Para especificar el alcance:

Ver la página en el Diseñador de páginas:
    En la página de inicio de Workspace, haga clic en el icono de App Builder.
    Selecciona una aplicación.
    Selecciona una página.
Aparece el Diseñador de páginas.
Haga clic en la pestaña Acciones dinámicas en el panel izquierdo.
En Acciones dinámicas, seleccione la acción dinámica.

El Editor de propiedades muestra atributos para la acción dinámica. Los atributos están organizados en grupos.
Para buscar un grupo o atributo:

    Busque el grupo o atributo: ingrese palabras clave en el campo Propiedades del filtro. El Editor de propiedades muestra el grupo o los atributos. Para volver a la pantalla predeterminada, elimine las palabras clave.

    Use Ir al grupo - Haga clic en Ir al grupo y seleccione

lect el grupo. Para volver a la pantalla predeterminada, haga clic en Ir al grupo nuevamente y seleccione Expandir todo.
En Avanzado, seleccione Alcance del evento. El alcance del evento determina cuándo se evalúa el evento por segunda vez o sucesivamente. Las opciones incluyen:

    Estático: vincula el controlador de eventos a los elementos desencadenantes durante la vida útil de la página actual, pero ya no está enlazado si un elemento desencadenante se actualiza mediante Actualización parcial de página (PPR).

    Dinámico: vincula el controlador de eventos a los elementos desencadenantes durante la vida útil de la página actual, independientemente de los elementos desencadenantes que se vuelvan a crear mediante Actualización parcial de página (PPR).

    Una vez: vincula el controlador de eventos a los elementos desencadenantes solo una vez. La acción dinámica no se activa nuevamente hasta que la página se haya actualizado por completo.
Clic en Guardar.

Tema principal: Gestión de acciones dinámicas
14.2.6 Eliminar una acción dinámica

Elimine una acción dinámica seleccionándola en el Diseñador de páginas y seleccionando Eliminar en el menú contextual.

Para eliminar una acción dinámica:

Ver la página en el Diseñador de páginas:
    En la página de inicio de Workspace, haga clic en el icono de App Builder.
    Selecciona una aplicación.
    Selecciona una página.
Aparece el Diseñador de páginas.
Haga clic en la pestaña Acciones dinámicas en el panel izquierdo.
Expanda el evento apropiado y localice la acción dinámica que se eliminará.
Haga clic con el botón derecho en la acción dinámica y seleccione Eliminar.
Clic en Guardar.

Tema principal: Gestión de acciones dinámicas
14.2.7 Acerca de llamar a JavaScript utilizando una acción dinámica

Puede ejecutar código JavaScript creando una acción dinámica.

También puede ejecutar código JavaScript creando una acción dinámica con ActionExecute JavaScript Code y Set Value. También puede usar el código JavaScript para la condición de una acción dinámica estableciendo el tipo de condición del lado del cliente en Expresión JavaScript.

Ver también:

«Gestión de acciones dinámicas»

Tema principal: Gestión de acciones dinámicas
14.2.8 Depuración de acciones dinámicas

Aprenda a depurar acciones dinámicas en Oracle Application Express.

Acerca de la depuración de acciones dinámicas
Depuración de acciones dinámicas

Tema principal: Gestión de acciones dinámicas
14.2.8.1 Acerca de la depuración de acciones dinámicas

La depuración de acciones dinámicas en Oracle Application Express es ligeramente diferente de otras depuraciones, porque gran parte del procesamiento realizado con el marco de acción dinámica se realiza en el cliente, no en el servidor. Para depurar acciones dinámicas, Oracle Application Express envía información de depuración a la consola JavaScript del navegador si su navegador lo admite (por ejemplo, Firefox con Firebug instalado muestra la información de depuración en el panel de la Consola). La información de depuración le indica cuándo se activa una acción de una acción dinámica, junto con información adicional sobre la acción dinámica, en el siguiente formato:

Acción dinámica activada: [nombre de acción dinámica] ([nombre de acción]) {objeto JavaScript que contiene toda la información de acción dinámica}

Este formato le permite identificar el nombre de la acción dinámica, el nombre de la acción que indica qué acción se activa y el objeto JavaScript que contiene mucha información sobre la acción dinámica, incluido el elemento when, los elementos afectados, el objeto de evento y cualquier datos que pueden estar asociados con la acción dinámica.

Tema principal: Depuración de acciones dinámicas
14.2.8.2 Depuración de acciones dinámicas

Para depurar una acción dinámica:

Asegúrese de que la aplicación que contiene la acción dinámica tenga la depuración habilitada. Consulte "Utilización del modo de depuración".
Ejecute la página que contiene la acción dinámica.
Abra la consola de JavaScript del navegador.
Desde la barra de herramientas del desarrollador, haga clic en Depurar.

La página se actualiza. Si tiene acciones dinámicas configuradas para activarse al cargar la página, verá la salida de depuración en la consola del navegador.

Dado que la información de depuración solo se genera cuando se ejecuta en modo de depuración, dejar el modo de depuración activado le permite probar aún más si las acciones dinámicas se activan cuando lo espera. Por ejemplo, si ha definido una acción dinámica que se activa cuando cambia el valor de un determinado elemento, cambie el valor de ese elemento y la consola muestra la salida de depuración si se activa la acción dinámica.

Tema principal: Depuración de acciones dinámicas