Tetikleyicileri Ayarlama

Bir bileşen, diğer bileşenlerde eylem yürütecek tetikleyiciler içerebilir. Bileşenlerin başlatacağı tetikleyicileri kaydetmeniz gerekir.

Bileşen tetikleyici için bir veri yükü sağlar ve veri yükü tetikleyici çalıştırıldığında yürütülen herhangi bir eyleme iletilir. Her tetikleyici için hangi eylemlerin yürütüleceğini seçebilirsiniz. Beraber çalışmak üzere oluşturulmuş olan bileşenler kullanıcı etkileşimi olmadan eylemleri yürütmek üzere beraber çalışarak otomatik olarak tetikleyicileri çalıştırabilirler.

Tetikleyicileri Kaydetme

Özel bir bileşen için tetikleyiciler, bileşenin kayıt verilerinin parçası olarak kaydedilir. Tetikleyici eklemek için "triggers" nitelik dizisini, bileşenin desteklediği her tetikleyiciyle güncelleyin. Kullanıcıların veri yükündeki değerleri eylem tarafından desteklenen niteliklere eşlemesine izin veren kullanıcı arayüzünün oluşturulabilmesi için tetikleyicinin desteklediği veri yükünü de belirleyebilirsiniz.

  1. appinfo.json dosyasını düzenleyin ve "triggers":[], girişini gözden geçirin:
    "triggers": [{
        "triggerName": "helloWorldWhoAreYou",
        "triggerDescription": "Show Who I Am",
        "triggerPayload": [{
          "name": "whoAreYou",
          "displayName": "Who I Am"
       }]
    }],
  2. Dosyayı siteler sunucusuyla senkronize edin.

Bu örnek tetikleyici girişinde bir triggerName ("helloWorldWhoAreYou") tanımladınız. Ad değeri benzersiz olmalıdır. Daha sonra, tetikleyiciye kullanıcı arayüzü iletişim kutusunun tetikleyiciyi görüntülemek için kullandığı bir açıklama ("Show Who I Am") verdiniz. Son olarak, tetikleyici için tek değerli bir veri yükü tanımladınız. Kullanıcılar bu veri yükündeki girişleri seçebilir ve eylemdeki alanlara eşleyebilir.

Bir tetikleyici kaydedildikten sonra, bileşeninizin Ayarlar panelindeki Bağlantı sekmesine giderek tetikleyiciyi görebilir ve seçebilirsiniz.

Tetikleyici Başlatma

Tetikleyiciler bir bileşen tarafından herhangi bir noktada başlatılabilir. Tetikleyiciler genellikle bir düğmeye tıklama veya bir tabloda satır seçme gibi bir kullanıcı etkileşimiyle başlatılır. Bir bileşen herhangi bir ölçüte göre tetikleyiciyi başlatabilir. Örneğin, Temsili Durum Transferi Uygulama Programı Arabirimi çağrısı nedeniyle veriler değiştiğinde. Bir tetikleyici başlatıldığında herhangi bir sayıda eylem yürütebilirsiniz.

Tetikleyicilerin nasıl başlatılacağına ilişkin bir örnek:
  1. render.js dosyasını düzenleyin ve viewModel nesnesine tetikleyici başlatmak için Siteler Yazılım Geliştirme Kitini çağıracak bir JavaScript fonksiyonu ekleyin.
    self.raiseTrigger = function (triggerName) {
      SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
        'triggerName': 'helloWorldWhoAreYou', 
        'triggerPayload': { "whoAreYou": "This is " + self.whoAreYou() + "!"}
      });
    };
  2. Tetikleyiciyi başlatan fonksiyonu çağırmak için kullanıcı arayüzüne bir giriş ekleyin (-edit template.html) ve </div> kodunun önüne bir düğme ekleyin.
    <button data-bind="click raiseTrigger">Who Am I?</button>
  3. render.js dosyasını Oracle Content Management anı sunucunuzla eşzamanlı kılın veya sunucunuza yükleyin.

ViewModel nesnesinde, düğmeye tıklandığında çağrılan bir JavaScript fonksiyonu oluşturdunuz. Bu fonksiyon Siteler Yazılım Geliştirme Kitini çağırır ve ona bu "helloWorldWhoAreYou" tetikleyicisi için tanımlanan tüm eylemleri tetiklemesini söyler. Tek alan ("whoAreYou") içeren bir triggerPayload da iletir. "helloWorldWhoAreYou" ve "whoAreYou" değerleri, önceki adımda tetikleyiciyi kaydederken girdiğiniz değerlerle eşleşir.

Not:

Bir eylemin yürütülmesi için öntanımlı bir sıra yoktur. Her eylem listelendiği sırada çağrılsa da, sonraki eylem çağrılmadan önce eylemin tamamlanması beklenmez. Bir eylem zamanuyumsuz bir çağrı yaparsa sonraki eylem yürütülmeden önce tamamlanamaz.