Výběr nejlepší třídy akcí s daty k rozšíření

Než začnete psát vlastní modul plugin akce s daty, rozhodněte se, kterou ze stávajících tříd akcí s daty chcete rozšířit. Zvolte třídu akcí s daty, jež poskytuje funkce, které se nejvíce shodují s vaší představou o tom, co by akce s daty měla provádět.

Každá akce s daty zdědí vlastnosti od třídy AbstractDataAction, jak je znázorněno ve schématu tříd. Ve schématu tříd jsou uvedeny dvě abstraktní třídy akcí s daty (AbstractDataActionAbstractHTTPDataAction) a čtyři konkrétní třídy akcí s daty (CanvasDataAction, URLNavigationDataAction, HTTPAPIDataActionEventDataAction), které můžete rozšířit. Každá akce s daty, kterou poskytnete, musí rozšiřovat jednu z těchto tříd. Výběr třídy k rozšíření závisí na chování, které chcete implementovat při vyvolání akce s daty. Většina akcí s daty od třetích stran pravděpodobně rozšíří třídu URLNavigationDataAction, HTTPAPIDataAction nebo EventDataAction.

Bez ohledu na to, kterou třídu rozšíříte, získáte při vyvolání akce s daty metadata popisující úplný kontext datového bodu, z něhož je akce s daty vyvolána. Prostudujte si téma Kontext akce s daty.

Třída AbstractDataAction

AbstractDataAction je abstraktní základní třída, ze které vycházejí všechny typy akcí s daty. Je zodpovědná za poskytování společných funkcí a výchozího chování, které mohou podtřídy používat.

AbstractDataAction

Všechny typy akcí s daty jsou podtřídami základní třídy AbstractDataAction. Poskytuje základní sadu funkcí společných pro všechny akce s daty. Pokud nevytváříte složitou akci s daty, která při vyvolání provede více typů akcí, nebo pokud nepotřebujete provést něco, co konkrétní třídy nepodporují, neměli byste rozšiřovat přímo tuto třídu. Pokud je potřebné vytvořit složitou akci s daty, pak zvažte rozšíření konkrétní třídy, která co nejblíže poskytuje vámi vyžadované funkce.

Syntaxe třídy 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

Třída DataActionKOModel

Každá podtřída třídy AbstractDataAction pravděpodobně vytvoří svou vlastní podtřídu základní třídy DataActionKOModel. Základní třída DataActionKOModel poskytuje následující vlastnosti:

DataActionKOModel, ValuePassingMode

  • sID:String

    Jedinečný identifikátor přiřazený instanci akce s daty.

  • sClass:String

    Název třídy tohoto konkrétního typu akcí s daty.

  • sName:String

    Zobrazovaný název přiřazený instanci akce s daty.

  • sVersion
  • sScopeID
  • eValuePassingMode:ValuePassingMode

    Režim používaný při předávání hodnot kontextu. Režim může být jedna z hodnot vlastnosti ValuePassingMode (ALL, ANCHOR_DATA, NONE, CUSTOM).

  • aAnchorToColumns: ColumnKOViewModel[]

    Sloupce, ke kterým je tato akce s daty ukotvena. Tato vlastnost je volitelná. Pokud není poskytnuta, pak je akce s daty dostupná ve všech sloupcích.

  • aContextColumns : ColumnKOViewModel[]

    Sloupce, které tato akce s daty zahrnuje v kontextu předaném do cíle akce s daty při vyvolání akce. Pokud není tato vlastnost poskytnuta, budou do kontextu zahrnuty všechny označené sloupce.

Třída CanvasDataAction

CanvasDataAction je podtřída základní třídy AbstractDataAction. Tuto konkrétní třídu můžete rozšířit, aby poskytovala vámi požadované funkce.

CanvasDataAction

Třídu CanvasDataAction použijte k přechodu z datového bodu ve vizualizaci na jiný kanvas. Kanvas, na který přecházíte, se může nacházet ve stejném nebo jiném sešitu. Všechny aktivní filtry pro vizualizaci zdroje budou předány do cílového kanvasu společně s novými filtry, které popisují kvalifikovanou referenci dat vlastního datového bodu. Pokud akce s daty vyžaduje přechod na jiný kanvas, pak by měla rozšířit tuto třídu.

+ 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

Třída EventDataAction

EventDataAction je podtřída základní třídy AbstractDataAction. Tuto konkrétní třídu můžete rozšířit, aby poskytovala vámi požadované funkce.

EventDataAction

Třídu EventDataAction používejte k publikování událostí na straně klientu. Poté můžete registrovat jednoho nebo více účastníků, kteří budou moci sledovat tuto událost a provádět vlastní akce. Tento typ akcí s daty používejte ve složitějších případech použití, kdy máte velmi rozsáhlý kód a můžete mít prospěch z toho, že ponecháte kód akce s daty volně propojený s kódem, který provádí nezbytné akce, když je vyvolána příslušná akce s daty.

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

Třída AbstractHTTPDataAction

AbstractHTTPDataAction je abstraktní základní třída, ze které přebírají společné funkce a výchozí chování podtřídy URLNavigationDataActionHTTPAPIDataAction.

AbstractHTTPDataAction

Abstraktní základní třída AbstractHTTPDataAction je sdílena třídami URLNavigationDataActionHTTPAPIDataAction. Pokud akce s daty potřebuje otevřít webovou stránku na nové kartě prohlížeče, musíte rozšířit třídu URLNavigationDataAction. Pokud akce s daty potřebuje vyvolat rozhraní HTTP API, pak rozšiřte třídu HTTPAPIDataAction. Můžete se také rozhodnout, že bude lepší rozšířit přímo třídu AbstractHTTPDataAction.

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

Třída URLNavigationDataAction

URLNavigationDataAction je podtřída základní třídy AbstractHTTPDataAction.

URLNavigationDataAction

Třídu URLNavigationDataAction použijte k otevření určité adresy URL na nové kartě prohlížeče. Adresu URL můžete sestavit pomocí tokenů, které jsou nahrazovány hodnotami odvozenými z datových bodů zvolených uživatelem při vyvolání akce s daty. Hodnoty datových bodů jsou předány jako část kontextu akce s daty na externí webovou stránku. Můžete například vytvořit akci s daty vyvolávanou pomocí sloupce ID zákazníka, která otevírá webovou stránku zákazníka v aplikaci řízení vztahů se zákazníky, jako je Oracle Sales Cloud.

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

Třída HTTPAPIDataAction

HTTPAPIDataAction je podtřída základní třídy AbstractHTTPDataAction. Tuto konkrétní třídu můžete rozšířit, aby poskytovala vámi požadované funkce.

HTTPAPIDataAction

Třídu HTTPAPIDataAction používejte k vyvolání rozhraní HTTP API vytvořením asynchronního požadavku XMLHTTPRequest (XHR) a jeho odesláním na stanovenou adresu URL. Kód odpovědi protokolu HTTP umožňuje krátce zobrazit zprávu na kanvasu. Můžete například přizpůsobit požadavek na odeslání datových částí JSON nebo XML na server REST nebo SOAP a současně můžete přizpůsobit obslužný program odpovědi, aby zobrazil vlastní uživatelské rozhraní.

K zajištění řádné funkce akce s daty HTTPAPIDataAction musíte do seznamu bezpečných domén přidat adresu URL rozhraní HTTP API, k němuž chcete přistupovat, a musíte jí udělit přístup Připojit. Viz část Registrace bezpečných domén.

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