Genişletmek istediğiniz veri eyleminin alt sınıfını seçip gerekli klasör ve dosyaları oluşturduktan sonra, yeni veri eyleminize özel kodu yazmaya başlamak için hazırsınız.
Yeni oluşturulan veri eylemi kodunuzu %PLUGIN_DEV_DIR%\src\dataaction
yolunda bulabilirsiniz. Dosya ve klasör yapısının açıklaması için bkz. Oluşturulan Klasörler ve Dosyalar. Düzenlemeniz gereken ana dosya JavaScript dosyasıdır. Örneğin, özel veri eylemi no'nuz company.MyDataaction
ise aradığınız dosya şudur: %PLUGIN_DEV_DIR%\src\dataaction\company-mydataaction\mydataaction.js
.
Veri eyleminizde depolanması gereken ek nitelikler varsa bunları Knockout Modeline gözlemlenebilir nitelikler olarak eklemeniz gerekir. Veri eyleminize company.MyDataaction
no'su verilirse, Knockout Modelinin adı mydataaction.js
öğesinin üstünün yakınındaki mydataaction.MyDataActionKOModel
olarak adlandırılır. Öndeğer olarak bu Knockout Modeli, veri eyleminizin üst sınıfı tarafından kullanılan Knockout Modelini genişletecek şekilde konfigüre edilir; yani sadece modele ek nitelikler eklemeniz gerekir.
HTTPAPIDataAction
temel sınıfını genişleten bir veri eylemi için aşağıdakine benzer bir kod kullanın:
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
olarak da bilinen yapılandırıcısıdır. Knockout Modelinin üst sınıflarından biri tarafından işlenen tüm nitelikler için değerleri buna iletirsiniz.Veri eylemi tarafından sürdürülen nitelikleri ayarlamak için bir dize ve dizi eklemek üzere aşağıdakine benzer bir kod kullanın.
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);