בחירת המחלקה הטובה ביותר של פעולות על נתונים לצורך הרחבה

לפני שאתה מתחיל לכתוב את תוסף הפעולות על נתונים המותאם אישית שלך, החלט איזה ממחלקות הפעולות על נתונים הקיימות אתה רוצה להרחיב. בחר את מחלקת פעולות הנתונים המעניקה פונקציונליות שקרובה ביותר למה שאתה רוצה שהפעולה על נתונים שלך תעשה.

כל פעולה על נתונים יורשת מהמחלקה AbstractDataAction כפי שמוצג בדיאגרמת המחלקה. דיאגרמת המחלקה מציגה את שתי המחלקות abstract של פעולות על נתונים (AbstractDataAction ו-AbstractHTTPDataAction) ואת ארבע המחלקות concrete של פעולות על נתונים (CanvasDataAction, URLNavigationDataAction, HTTPAPIDataAction, ו-EventDataAction) שאתה יכול להרחיב. כל פעולה על נתונים שאתה מספק חייבת להרחיב אחת ממחלקות אלה. הבחירה במחלקה להרחבה תלויה בהתנהגות שאתה רוצה לממש כשאתה מפעיל את הפעולה על נתונים שלך. רוב הפעולות על נתונים של צד שלישי מרחיבות את URLNavigationDataAction, HTTPAPIDataAction או EventDataAction.

ללא קשר במחלקה שאותה אתה מרחיב, כשהפעולה על נתונים שלך מופעלת אתה מקבל מטאדטה המתארים את ההקשר המלא של נקודת הנתונים ממנה מופעלת הפעולה על נתונים. ראה הקשר של פעולה על נתונים.

המחלקה AbstractDataAction

AbstractDataAction היא מחלקת הבסיס של abstract שממנה מתקבלים בירושה כל סוגי הפעולה על הנתונים. היא אחראית להספקת פונקציונליות משותפת וברירת מחדל של התנהגות שבהן תת-המחלקות יכולות להשתמש.

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

    המזהה הייחודי שניתן למופע הפעולה על הנתונים.

  • sClass:String

    שם המחלקה של סוג ספציפי זה של פעולה על נתונים.

  • sName:String

    שם התצוגה שניתן למופע הפעולה על הנתונים.

  • sVersion
  • sScopeID
  • eValuePassingMode:ValuePassingMode

    המצב שבו נעשה שימוש בעת העברת ערכי הקשר. המצב עשוי להיות אחד מערכי ValuePassingMode (ALL, ANCHOR_DATA, NONE, CUSTOM).

  • aAnchorToColumns: ColumnKOViewModel[]

    העמודות שבהן מעוגנת פעולה זו על הנתונים. הדבר אופציונלי. אם לא מספקים אותן, הפעולה על הנתונים זמינה לכל העמודות.

  • aContextColumns : ColumnKOViewModel[]

    העמודות שפעולה זו על הנתונים מכלילה בהקשר שהועבר ליעד הפעולה על הנתונים כאשר הפעולה התחילה. אם לא מספקים אותן, כל העמודות שסומנו נכללות בהקשר.

המחלקה CanvasDataAction

CanvasDataAction היא תת-מחלקה של מחלקת הבסיס AbstractDataAction. תוכל להרחיב מחלקה קונקרטית זו כדי לספק את הפונקציונליות הדרושה לך.

CanvasDataAction

השתמש במחלקה CanvasDataAction כדי לנווט מנקודת נתונים בהמחשה גרפית ליריעה אחרת. היריעה שאליה אתה מנווט יכולה להיות באותה חוברת עבודה או בחוברת עבודה אחרת. המסננים הפעילים להמחשת המקור מועברים ליריעת היעד, ביחד עם מסננים חדשים שמתארים את ה-Qualified Data Reference של נקודת הנתונים עצמה. אם הפעולה על הנתונים צריכה לנווט ליריעה אחרת, אזי זו המחלקה שהפעולה על הנתונים אמורה להרחיב.

+ 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 Class

EventDataAction היא תת-מחלקה של מחלקת הבסיס AbstractDataAction. תוכל להרחיב מחלקה קונקרטית זו כדי לספק את הפונקציונליות הדרושה לך.

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 היא מחלקת הבסיס המופשטת the abstract base class that the URLNavigationDataAction and HTTPAPIDataAction subclasses inherit common functionality and default behavior from.

AbstractHTTPDataAction

מחלקת הבסיס המופשטת AbstractHTTPDataAction abstract base class is shared by both the URLNavigationDataAction and HTTPAPIDataAction classes. אם צריך לפתוח את הפעולה על הנתונים בדף אינטרנט בכרטיסיית דפדפן חדשה, עליך להרחיב את URLNavigationDataAction. אם הפעולה על הנתונים צריכה להפעיל HTTP API, עליך להרחיב את HTTPAPIDataAction. ייתכן שתרצה להחליט שזה עדיף להרחיב את AbstractHTTPDataAction ישירות.

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

המחלקה URLNavigationDataAction

URLNavigationDataAction היא תת-מחלקה או מחלקת הבסיס של AbstractHTTPDataAction.

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

HTTPAPIDataAction היא תת-מחלקה או מחלקת הבסיס של AbstractHTTPDataAction. תוכל להרחיב מחלקה קונקרטית זו כדי לספק את הפונקציונליות הדרושה לך.

HTTPAPIDataAction

השתמש במחלקה HTTPAPIDataAction כדי להפעיל HTTP APIs על-ידי יצירת XMLHTTPRequest (XHR) לא סנכרונית ולשלוח אותה לכתובת ה-URL שצוינה. קוד תגובת ה-HTTP מאפשר להציג בקצרה הודעה על גבי היריעה. לדוגמה, תוכל להתאים אישית את הבקשה לשלוח מסרי JSON או XML לשרתי REST או SOAP, ותוכל להתאים אישית את מנהל התגובות כדי להציג ממשק משתמש בהתאמה אישית.

כדי שהפעולה על הנתונים HTTPAPIDataAction תפעל, עליך להוסיף את כתובת ה-URL של ה-HTTP API שאליה תרצה לגשת, לרשימת הדומיינים הבטוחים שלך ולהעניק לה גישת התחברות. ראה רישום דומיינים בטוחים.

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