Selección de la mejor clase de acción de datos que ampliar

Antes de empezar a escribir el plugin de acción de datos personalizado, debe decidir cuál de las clases de acción de datos existentes desea ampliar. Elija la clase de acción de datos que proporcione las funciones que más coincidan con lo que desea que realice la acción de datos

Cada acción de datos hereda de la clase AbstractDataAction, como se muestra en el diagrama de clases. El diagrama de clases muestra las dos clases abstractas de acción de datos (AbstractDataAction y AbstractHTTPDataAction) y las cuatros clases concretas de acción de datos (CanvasDataAction, URLNavigationDataAction, HTTPAPIDataAction y EventDataAction) que puede ampliar. Cada acción de datos que proporcione debe ampliar una de estas clases. La clase que amplíe dependerá del comportamiento que desee implantar cuando llame a la acción de datos. Es probable que la mayoría de las acciones de datos de terceros amplíen URLNavigationDataAction, HTTPAPIDataAction o EventDataAction.

Independientemente de la clase que amplíe, cuando se llama a su acción de datos, se le proporcionan metadatos que describen el contexto completo del punto de datos desde el que se llama a la acción de datos. Consulte Contexto de acción de datos.

Clase AbstractDataAction

AbstractDataAction es la clase base abstracta de la que heredan todos los tipos de acción de datos. Es responsable de proporcionar las funciones comunes y el comportamiento por defecto que pueden utilizar las subclases.

AbstractDataAction

Todos los tipos de acción de datos son subclases de la clase base AbstractDataAction. Proporciona el juego principal de funciones comunes a todas las acciones de datos. A menos que esté creando una acción de datos compleja que realice varios tipos de acción al ser llamada o que necesite realizar alguna acción no admitida por las clases concretas, no debe ampliar esta clase directamente. Si necesita crear una acción de datos compleja, considere la opción de ampliar la clase concreta que proporcione la funcionalidad que más coincida con la que necesita.

Sintaxis de AbstractDataAction

+ AbstractDataAction(oKOModel)
+ getKOViewModel():DataActionKOModel
+ createFromJS(fDataActionConstructor, sClassName, oDataActionKOModelUS) : AbstractDataAction
+ invoke(oActionContext, oDataActionContext)
+ getGadgetInfos(oReport) : AbstractGadgetInfo[]
+ validate() : DataActionError
+ getSettings() : Object
+ requiresActionContextToInvoke() : Boolean
+ isAllowedHere() : Boolean
# createNameGadgetInfo(oReport) : AbstractGadgetInfo
# createAnchorToGadgetInfo(oReport) : AbstractGadgetInfo
# createPassValuesGadgetInfo(oReport) : AbstractGadgetInfo

Clase DataActionKOModel

Es probable que cada subclase de AbstractDataAction cree su propia subclase de DataActionKOModel. La clase base DataActionKOModel proporciona las siguientes propiedades:

DataActionKOModel, ValuePassingMode

  • sID:String

    Identificador único que se proporciona a la instancia de acción de datos.

  • sClass:String

    Nombre de clase de este tipo específico de acción de datos.

  • sName:String

    Nombre mostrado que se proporciona a la instancia de acción de datos.

  • sVersion
  • sScopeID
  • eValuePassingMode:ValuePassingMode

    Modo que se utiliza al transferir valores de contexto. El modo puede ser uno de los valores de ValuePassingMode (ALL, ANCHOR_DATA, NONE, CUSTOM).

  • aAnchorToColumns: ColumnKOViewModel[]

    Columnas a las que está anclada la acción de datos. Es opcional. Si no se proporciona, la acción de datos estará disponible en todas las columnas.

  • aContextColumns : ColumnKOViewModel[]

    Columnas que incluye esta acción de datos en el contexto que se transfiere al destino de la acción de datos cuando se llama a la acción de datos. Si no se proporciona, se incluirán todas las columnas en el contexto.

Clase CanvasDataAction

CanvasDataAction es una subclase de la clase base AbstractDataAction. Puede ampliar esta clase concreta para que proporcione la funcionalidad que necesite.

CanvasDataAction

Utilice la clase CanvasDataAction para desplazarse desde un punto de datos de una visualización a un lienzo diferente. El lienzo al que se desplaza puede estar en el mismo libro de trabajo o en uno diferente. Todos los filtros activos de la visualización de origen se transfieren al lienzo de destino junto con los nuevos filtros que describen la referencia de datos cualificada del propio punto de datos. Si la acción de datos necesita desplazarse a un lienzo diferente, esta es la clase que debe ampliar la acción de datos.

+ CanvasDataAction(oKOModel)
+ create(s)ID_sName) : CanvasDataAction
+ upgrade(oOldDataActionJS) : Object
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext)
+ getGadgetInfos(oReport) : AbstractGadgetInfo[]
+ validate() : DataActionError
# createProjectGadgetInfo(oReport) : AbstractGadgetInfo
# createCanvasGadgetInfo(oReport) : AbstractGadgetInfo

Clase EventDataAction

EventDataAction es una subclase de la clase base AbstractDataAction. Puede ampliar esta clase concreta para que proporcione la funcionalidad que necesite.

EventDataAction

Utilice la clase EventDataAction para publicar un evento del cliente. A continuación, puede registrar uno o más suscriptores que reciban ese evento y realicen sus propias acciones. Utilice este tipo de acción de datos en más casos de uso complejos en los que tenga una gran cantidad de código y puede beneficiarse de mantener el código de acción de datos débilmente acoplado al código que realiza las acciones necesarias cuando se llama a la acción de datos.

+ EventDataAction(oKOModel)
+ create(sID_sName) : EventDataAction
+ upgrade(oOldDataActionJS) : Object
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext)
+ getGadgetInfos(oReport) : AbstractGadgetInfo[]
+ validate() : DataActionError
# createEventGadgetInfo(oReport) : AbstractGadgetInfo

Clase AbstractHTTPDataAction

AbstractHTTPDataAction es la clase base abstracta de la que las subclases URLNavigationDataAction y HTTPAPIDataAction heredan las funciones comunes y el comportamiento por defecto.

AbstractHTTPDataAction

La clase base abstracta AbstractHTTPDataAction la comparten las clases URLNavigationDataAction y HTTPAPIDataAction. Si la acción de datos necesita abrir una página web en un nuevo separador del explorador, debe ampliar URLNavigationDataAction. Si la acción de datos necesita llamar a una API HTTP, debe ampliar HTTPAPIDataAction. Puede que decida que es mejor ampliar AbstractHTTPDataAction directamente.

+ HTTPDataAction(oKOModel)
+ validate() : DataActionError
# createURLGadgetInfo(oReport) : AbstractGadgetInfo

Clase URLNavigationDataAction

URLNavigationDataAction es una subclase de la clase base AbstractHTTPDataAction.

URLNavigationDataAction

Utilice la clase URLNavigationDataAction para abrir una URL específica en un nuevo separador del explorador. Defina la URL mediante tokens que se sustituyen por valores derivados de puntos de datos que selecciona el usuario al llamar a la acción de datos. Los valores de punto de datos se transfieren como parte del contexto de acción de datos a la página web externa. Por ejemplo, cree una acción de datos a la que se llama utilizando una columna CustomerID que abre la página web de un cliente en la aplicación de Administración de relaciones con el cliente, como Oracle Sales Cloud.

+ URLNavigationDataAction(oKOModel)
+ create(sID_sName) : URLNavigationDataAction
+ upgrade(oOldDataActionJS) : Object
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext)
+ getGadgetInfos(oReport) : AbstractGadgetInfo[]

Clase HTTPAPIDataAction

HTTPAPIDataAction es una subclase o la clase base de AbstractHTTPDataAction. Puede ampliar esta clase concreta para que proporcione la funcionalidad que necesite.

HTTPAPIDataAction

Utilice la clase HTTPAPIDataAction para llamar a las API HTTP mediante la creación de una XMLHTTPRequest (XHR) asíncrona y su envío a la URL especificada. El código de respuesta HTTP permite que se muestre el mensaje brevemente en el lienzo. Por ejemplo, puede personalizar la solicitud para que envíe cargas útiles JSON o XML a un servidor REST o SOAP, y personalizar el manejador de respuestas para que muestre una interfaz de usuario personalizada.

Para que funcione la acción de datos HTTPAPIDataAction, debe agregar la URL de la API HTTP a la que desea acceder a la lista de dominios seguros y otorgarle acceso para Conectar. Consulte Registro de dominios seguros.

+ HTTPAPIDataAction(oKOModel)
+ create(sID_sName) : HTTPAPIDataAction
+ upgrade(oOldDataActionJS) : Object
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext)
+ getGadgetInfos(oReport) : AbstractGadgetInfo[]
# createHTTPMethodGadgetInfo(oReport) : AbstractGadgetInfo
# createPostParamGadgetInfo(oReport) : AbstractGadgetInfo