Veri Eylemi Temel Sınıfını Genişletme

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 Eyleminizin Knockout Modelini Genişletme

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);
  • Satır 1: Bu, Knockout Modelinizin yapılandırıcısıdır. Modelin depolaması gereken nitelikleri kabul eder.
  • Satır 3: Bu, üst sınıfın 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.
  • Satır 5: Bu Knockout Modeli sınıfı için üst sınıfı belirler.

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