選擇要延伸的最佳資料動作類別

開始寫入自訂資料動作 Plug-in 之前,請決定要延伸的現有資料動作類別。選擇可提供與您想要的資料動作執行功能最相符的資料動作類別。

每個資料動作都繼承自類別圖表所示的 AbstractDataAction 類別。類別圖表顯示兩個抽象資料動作類別 (AbstractDataActionAbstractHTTPDataAction) 以及您可以延伸的四個具體動作類別 (CanvasDataActionURLNavigationDataActionHTTPAPIDataActionEventDataAction)。您提供的每個資料動作必須延伸其中一個類別。您要延伸的類別取決於當您呼叫資料動作時想要實行的行為。大多數的第三方資料動作可能會延伸 URLNavigationDataActionHTTPAPIDataActionEventDataAction

無論您延伸哪一個類別,呼叫您的資料動作時,將會提供您描述呼叫資料動作的完整資料點相關資訊環境的中繼資料。請參閱資料動作相關資訊環境

AbstractDataAction 類別

AbstractDataAction 是抽象基礎類別,所有類型的資料動作皆繼承自此類別。它負責提供子類別可以使用的通用功能和預設行為。

AbstractDataAction

所有類型的資料動作皆為 AbstractDataAction 基礎類別的子類別。它提供一組所有資料動作皆通用的核心功能。除非是要建立在呼叫時會執行多個類型動作的複雜資料動作,或者您必須執行具體類別不支援的一些動作,否則您不應直接延伸此類別。如果您需要建立複雜資料動作,請考慮延伸最能提供您所需功能的具體類別。

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

DataActionKOModel 類別

AbstractDataAction 的每個子類別都有可能建立 DataActionKOModel 自己的子類別。DataActionKOModel 基礎類別提供下列特性:

DataActionKOModel、ValuePassingMode

  • sID:String

    指定給資料動作執行處理的唯一 ID。

  • sClass:String

    此特定類型的資料動作其類別名稱。

  • sName:String

    指定給資料動作執行處理的顯示名稱。

  • sVersion
  • sScopeID
  • eValuePassingMode:ValuePassingMode

    傳送相關資訊環境值時所使用的模式。模式可以是其中一個 ValuePassingMode 值 (ALL、ANCHOR_DATA、NONE、CUSTOM)。

  • aAnchorToColumns: ColumnKOViewModel[]

    將此資料動作定錨至的資料欄。此為選擇性特性。若未提供,則資料動作可在所有資料欄上使用。

  • aContextColumns : ColumnKOViewModel[]

    相關資訊環境中包含此資料動作的資料欄,已於呼叫資料動作時傳送至資料動作目標。若未提供,所有標示的資料欄都會包含在相關資訊環境中。

CanvasDataAction 類別

CanvasDataActionAbstractDataAction 基礎類別的子類別。您可以延伸此實體類別來提供您需要的功能。

CanvasDataAction

使用 CanvasDataAction 類別從視覺化中的資料點瀏覽至不同的工作區。您要瀏覽的工作區可以位於相同或不同的工作簿中。所有來源視覺化的作用中篩選條件會與描述資料點本身的「限定資料參照」一起傳送至目標工作區。如果您的資料動作需要瀏覽至其他工作區,則此類別為您的資料動作應該延伸的類別。

+ 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

EventDataAction 類別

EventDataActionAbstractDataAction 基礎類別的子類別。您可以延伸此實體類別來提供您需要的功能。

EventDataAction

使用 EventDataAction 類別來發布從屬端事件。您可以接著註冊一或多個監聽事件並執行自己動作的訂戶。在較複雜的使用案例中使用此類型的資料動作,其中您已具有大量的程式碼,且能讓資料動作程式碼與呼叫資料動作時執行必要動作的程式碼保持鬆散結合。

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

AbstractHTTPDataAction 類別

AbstractHTTPDataAction 是抽象基礎類別,URLNavigationDataActionHTTPAPIDataAction 子類別會繼承此類別的通用功能與預設行為。

AbstractHTTPDataAction

AbstractHTTPDataAction 抽象基礎類別由 URLNavigationDataActionHTTPAPIDataAction 類別所共用。如果資料動作必須以新的瀏覽器頁籤開啟網頁,您必須延伸 URLNavigationDataAction。如果資料動作必須呼叫 HTTP API,則您應延伸 HTTPAPIDataAction。您可以決定最好是直接延伸 AbstractHTTPDataAction

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

URLNavigationDataAction 類別

URLNavigationDataActionAbstractHTTPDataAction 基礎類別的子類別。

URLNavigationDataAction

使用 URLNavigationDataAction 類別以在新的瀏覽器頁籤中開啟特定的 URL。您可以使用當使用者呼叫資料動作時,選取的資料點衍生的值所取代的記號來撰寫 URL。資料點值會作為資料動作相關資訊環境的一部分傳送至外部網頁。例如,使用 CustomerID 資料欄建立呼叫的資料動作,此動作會在客戶關係管理應用程式 (例如 Oracle Sales Cloud) 中開啟客戶的網頁。

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

HTTPAPIDataAction 類別

HTTPAPIDataActionAbstractHTTPDataAction 基礎類別的子類別。您可以延伸此實體類別來提供您需要的功能。

HTTPAPIDataAction

使用 HTTPAPIDataAction 類別來呼叫 HTTP API,方法是建立非同步 XMLHTTPRequest (XHR) 並將其送出至指定的 URL。HTTP 回應代碼可讓訊息短暫顯示在工作區上。例如,您可以自訂要求將 JSON 或 XML 有效負載傳送至 REST 或 SOAP 伺服器,也可以自訂回應處理程式以顯示自訂使用者介面。

為了讓 HTTPAPIDataAction 資料動作運作,您必須將要存取的 HTTP API 其 URL 新增至「安全網域」清單,並對其授予連線存取權。請參閱註冊安全網域

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