הרחבת מחלקת הבסיס של פעולות על נתונים

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

תוכל למצוא את הקוד החדש שהופק של פעולה על נתונים בנתיב %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);
  • שורה 1: זה הבונה של מודל הנוקאאוט שלך. הוא מקבל את המאפיינים שהמודל צריך לאחסן.
  • שורה 3: זהו בונה מחלקת-העל, הידוע גם בשם baseConstructor שאליו תעביר את הערכים לכל המאפיינים המטופלים באמצעות אחת ממחלקות העל של מודל הנוקאאוט.
  • שורה 5: מגדיר את מחלקת-העל למחלקה זו של מודל נוקאאוט.

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

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);