ברגע שבחרת את תת-מחלקת הפעולה על נתונים שברצונך להרחיב והפקת את התיקיות והקבצים הנחוצים, תהיה מוכן להתחיל בכתיבת הקוד הספציפי לפעולה החדשה על הנתונים.
תוכל למצוא את הקוד החדש שהופק של פעולה על נתונים בנתיב %PLUGIN_DEV_DIR%\src\dataaction
. ראה תיקיות וקבצים שהופקו לקבלת הסבר על מבנה הקבצים והתיקייה. הקובץ הראשי שעליך לערוך הוא קובץ ה-JavaScript. לדוגמה, אם מזהה הפעולה המותאמת אישית על נתונים הוא company.MyDataaction
, אזי הקובץ שאתה מחפש הוא %PLUGIN_DEV_DIR%\src\dataaction\company-mydataaction\mydataaction.js
.
אם הפעולה על הנתונים מכילה מאפיינים נוספים שצריך לאחסן, עליך להוסיף אותם כמאפיינים ניתנים לצפייה במודל הנוקאאוט. אם הפעולה על הנתונים שלך מקבלת את המזהה company.MyDataaction
, אזי מודל הנוקאאוט נקרא mydataaction.MyDataActionKOModel
וממוקם ליד החלק העליון של mydataaction.js
. לפי ברירת המחדל, מודל נוקאאוט זה מוגדר להרחבת מודל הנוקאאוט שנמצא בשימוש במחלקת-העל של הפעולות על נתונים, כך שכל מה שתצטרך להוסיף הם עוד מאפיינים למודל.
לפעולה על נתונים שמרחיבה את מחלקת הבסיס HTTPAPIDataAction
, השתמש בקוד הדומה לקוד הבא:
1 - mydataaction.MydataactionKOModel = function (sClass, sID, sName, sVersion, sScopeID, aAnchorToColumns, eValuePassingMode, sURL, eHTTPMethod, sPOSTParams) 2 - { 3 - mydataaction.MydataactionKOModel.baseConstructor.call(this, sClass, sID, sName, sVersion, sScopeID, aAnchorToColumns, eValuePassingMode, sURL, eHTTPMethod, sPOSTParams); 4 - }; 5 - jsx.extend(mydataaction.MydataactionKOModel, dataaction.HTTPAPIDataActionKOModel);
baseConstructor
שאליו תעביר את הערכים לכל המאפיינים המטופלים באמצעות אחת ממחלקות העל של מודל הנוקאאוט.השתמש בקוד הדומה לקוד הבא כדי להוסיף מחרוזת ומערך, להגדרת המאפיינים המתמידים באמצעות הפעולה על הנתונים.
1 mydataaction.MydataactionKOModel = function (sClass, sID, sName, sVersion, sScopeID, aAnchorToColumns, eValuePassingMode, sURL, eHTTPMethod, sPOSTParams) 2 { 3 mydataaction.MydataactionKOModel.baseConstructor.call(this, sClass, sID, sName, sVersion, sScopeID, aAnchorToColumns, eValuePassingMode, sURL, eHTTPMethod, sPOSTParams); 4 5 6 // Set Defaults 7 sMyString = sMyString || "My default string value"; 8 aMyArray = aMyArray || []; 9 10 11 // Asserts 12 jsx.assertString(sMyString, "sMyString"); 13 jsx.assertArray(aMyArray, "aMyArray"); 14 15 16 // Add observable properties 17 this.sMyString = ko.observable(sMyString); 18 this.aMyArray = ko.observableArray(aMyArray); 19 }; 20 jsx.extend(mydataaction.MydataactionKOModel, dataaction.HTTPAPIDataActionKOModel);