Eylemleri Ayarlama

Bir bileşenin içerdiği eylemleri yürütmek üzere bir sayfaya bırakılabilmesi için eylem kaydını geliştirmeye yönelik olarak bileşeni ayarlayabilirsiniz.

Eylemleri Kaydetme

Tetikleyiciler çalıştırıldıklarında eylemler bileşenlerde çağrılır. Bir bileşen herhangi bir sayıda eylemi kayıt edebilir ve ayrıca eylemin desteklediği veri yükünü de tanımlayabilir. Bir kullanıcı bir eylemi seçtiğinde eyleme iletilecek veri yükünü doldurabilir.

Kaydetme tetikleyicileri ile olduğu gibi, bileşeninizin desteklediği eylemleri temanızın appinfo.json kayıt verilerinde kaydedebilirsiniz.

Bir eylemin nasıl kayıt edileceğine ilişkin örnek:

  1. Bileşeniniz için appinfo.json dosyasını düzenleyin ve "actions":[], girişini güncelleyin.
    "actions": [{
      "actionName": "helloWorldChangeWhoIAm",
      "actionDescription": "Change Who I Am",
      "actionPayload": [{
        "name": "whoAreYou",
        "description": "Who are you?",
        "type": {
          "ojComponent": {
           "component": "ojInputText"}
          },
        },
        "value": ""
      }]
    }]
  2. Kaydedildiğinde eylem, bileşeninize yönelik Ayarlar panelindeki Bağlantı sekmesindeki bir tetikleyiciye tıkladığınızda çağrılan eylem iletişim kutusunda görünür.

Eylemleri Yürütme

Bir eylem kaydedildiğinde, bileşenleri bileşendeki eylemleri yürüten sayfaya bırakabilirsiniz. Bir bileşenin bir eylemi yürütmesi için EXECUTE_ACTION mesajını dinlemelidir. Bu mesaj ayrıca beklenen değerleri çıkartmanız gereken eyleme iletilen veri yükünü de içerir.

Örnek olarak, EXECUTE_ACTION mesajını dinlemek için, render.js dosyasını düzenleyin ve ViewModel nesnesini bu girişler ile güncelleyin:
self.executeActionListener = function (args) {
  // get action and payload
  var payload = $.isArray(args.payload) ? args.payload[0] : {},
        action = args.action,
        actionName = action && action.actionName;

  // handle 'helloWorldChangeWhoIAm' actions
  if ((actionName === 'helloWorldChangeWhoIAm') && (payload.name === 'whoAreYou')) {
    self.whoAreYou(payload.value);
  }
};

Bu, eylemi yürütmek üzere bir JavaScript fonksiyonu oluşturur, ardından her EXECUTE_ACTION mesajı oluşturulduğunda fonksiyonu çağırmak üzere Siteler Yazılım Geliştirme Kitini kullanır.

Eylem EXECUTE_ACTION mesajı her oluşturulduğunda çağrılır ve sadece idare etmek üzere tasarlandığı eylemleri idare etmesi bileşene bağlıdır. Bunu yapmak için, idare edebileceğinize emin olmak üzere eylemin adını kontrol etmelisiniz.

Eylemin veri yükü, değer dizisidir. Örnekte, değerin dizideki ilk giriş olduğu varsayılıyor. Genel olarak, önem verdiğiniz veri yükü değerlerini dizide bulmalısınız.

Not:

Eylem izleyicisi bir geri arama olduğundan, fonksiyon yürütüldüğünde ViewModel erişiminizin olmasını sağlamak üzere fonksiyonu uygun olarak bağlamalı veya JavaScript Kapanışı kullanmalısınız.