לפני שאתה מתחיל לכתוב את תוסף הפעולות על נתונים המותאם אישית שלך, החלט איזה ממחלקות הפעולות על נתונים הקיימות אתה רוצה להרחיב. בחר את מחלקת פעולות הנתונים המעניקה פונקציונליות שקרובה ביותר למה שאתה רוצה שהפעולה על נתונים שלך תעשה.
כל פעולה על נתונים יורשת מהמחלקה AbstractDataAction
כפי שמוצג בדיאגרמת המחלקה. דיאגרמת המחלקה מציגה את שתי המחלקות abstract של פעולות על נתונים (AbstractDataAction
ו-AbstractHTTPDataAction
) ואת ארבע המחלקות concrete של פעולות על נתונים (CanvasDataAction
, URLNavigationDataAction
, HTTPAPIDataAction
, ו-EventDataAction
) שאתה יכול להרחיב. כל פעולה על נתונים שאתה מספק חייבת להרחיב אחת ממחלקות אלה. הבחירה במחלקה להרחבה תלויה בהתנהגות שאתה רוצה לממש כשאתה מפעיל את הפעולה על נתונים שלך. רוב הפעולות על נתונים של צד שלישי מרחיבות את URLNavigationDataAction
, HTTPAPIDataAction
או EventDataAction
.
ללא קשר במחלקה שאותה אתה מרחיב, כשהפעולה על נתונים שלך מופעלת אתה מקבל מטאדטה המתארים את ההקשר המלא של נקודת הנתונים ממנה מופעלת הפעולה על נתונים. ראה הקשר של פעולה על נתונים.
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
סביר להניח שכל תת-מחלקה של 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
היא תת-מחלקה של מחלקת הבסיס 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
היא תת-מחלקה של מחלקת הבסיס 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
היא מחלקת הבסיס המופשטת 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
היא תת-מחלקה או מחלקת הבסיס של 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
היא תת-מחלקה או מחלקת הבסיס של 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