Krok 6: Vyvolanie spúšťačov

V tomto kroku vám ukážeme, ako vyvolať zaregistrovaný spúšťač.

Komponent môže kedykoľvek vyvolať spúšťač. Zvyčajne ho vyvolá používateľ kliknutím na tlačidlo alebo výberom riadka v tabuľke. Komponent môže spúšťač vyvolať na základe ľubovoľného kritéria, napríklad pri zmene dát v dôsledku volania služby REST.

Keď pri tejto vzorke kliknete na obrázok, vyvolá sa spúšťač, pričom sa prenesie aktuálna hodnota vlastnosti whoAreYou.

Skontrolujte súbor render.js a pozrite si objekt SampleComponentViewModel.

Ako vyvolať spúšťač:

  1. Skontrolujte funkciu v objekte SampleComponentViewModel, ktorá zavolá súpravu Sites SDK na vyvolanie spúšťača.

    self.raiseTrigger = function (triggerName) {
      SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
        'triggerName': triggerName, 
        'triggerPayload': { 
            'payloadData': 'some data here'
        }
      });
    };
  2. Teraz potrebujete niečo v používateľskom rozhraní na volanie funkcie, ktorá vyvolá spúšťač. Skontrolujte súbor render.js a aktualizujte objekt sampleComponentTemplate, aby ste získali tento záznam:

         '<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +

V objekte SampleComponentViewModel uvidíte funkciu JavaScript, ktorá sa zavolá po kliknutí na obrázok. Táto funkcia volá súpravu Sites SDK a dá jej príkaz na spustenie všetkých akcií definovaných pre spúšťač "imageClicked", čo je hodnota odovzdaná z viazania click v kroku 2. Prenesie aj objekt triggerPayload, ktorý obsahuje jedno pole: payloadData, a prenáša statickú hodnotu 'some data here'. Hodnoty imageClicked a whoAreYou zodpovedajú hodnotám v súbore appinfo.json, v ktorom je spúšťač zaregistrovaný (v predchádzajúcom kroku).

Vo vzorovom kóde je spúšťač vyvolaný pomocou data-bind vo viazaní click a odovzdá názov spúšťača imageClicked. Momentálne sú k dispozícii tri vykreslenia komponentu <scs-image> podľa toho, aké rozloženie si používateľ vyberie. Aby ste sa uistili, že spúšťač sa vyvolá pre každé z rozložení, vykonajte nasledujúce zmeny v súbore render.js.

  • Vyvolajte spúšťače z iných rozložení. Nájdite príslušné dva záznamy tohto kódu:

    '<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}">' +

    Zmeňte kód na tento:

    '<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +
  • Zadajte payload, ktorý sa má odovzdať spúšťačom. Zmeňte tento kód:

        self.raiseTrigger = function (triggerName) {
          SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
            'triggerName': triggerName,
            'triggerPayload': {
              'payloadData': 'some data here'
            }
          });
        };

    Namiesto toho použite kód:

        self.raiseTrigger = function (triggerName) {
          SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
            'triggerName': triggerName,
            'triggerPayload': {
              'payloadData': self.imageBannerText() // pass banner text as payload
            }
          });
        };
  • Synchronizujte alebo nahrajte súbor render.js na server inštancie služby Oracle Content Management.

Teraz, keď ste skontrolovali požadovaný kód, môžete pripojiť spúšťač, aby ho vlastný komponent mohol vyvolať po kliknutí na tlačidlo.

Kontrola výsledkov pre krok 6

Teraz by sa už mala dať zaregistrovať akcia, ktorá sa má spúšťať v spúšťači a mala by sa spustiť aj po vyvolaní spúšťača:

  1. Obnovte stránku na svojej lokalite, aby generátor lokalít mohol vybrať zmeny komponentu.

  2. Otvorte stránku v režime úprav.

  3. Myšou presuňte komponent na stránku.

  4. Otvorte panel Nastavenia pre váš komponent.

  5. Vyberte kartu Prepojenie v hornej časti panela Nastavenia.

  6. Ako typ prepojenia vyberte položku Akcie spúšťača.

  7. Kliknite na spúšťač imageClicked, ktorý bol zaregistrovaný.

  8. V dialógovom okne myšou presuňte akciu Zobraziť výstrahu zo sekcie Akcie so stránkami.

  9. V poli Správa vyberte hodnotu payloadData, čo je payload, ktorý ste zadali pri registrácii spúšťača.

  10. Zatvorte panel Nastavenia a generátor zostáv prepnite do režimu ukážky.

  11. Kliknite na obrázok v komponente.

    Zobrazí sa hlásenie no message defined, pretože ste nezadali hodnotu imageBannerText.

  12. Otvorte stránku v režime úprav a znova otvorte panel Nastavenia pre komponent.

  13. Kliknite na položku Vlastné nastavenia a zadajte hodnotu Workplace.

  14. Zatvorte panel Nastavenia a prepnite stránku do režimu ukážky.

  15. Kliknite na obrázok v komponente.

    Teraz by sa mal zobrazovať aktualizovaný payload Workplace vyvolaný zmenou, ktorú ste vykonali vo viazaní click.

Po vyvolaní spúšťača môžete vykonať ľubovoľný počet akcií.

Poznámka:

Neexistuje žiadne vopred definované poradie, v akom sa má určitá akcia vykonať. Každá akcia sa volá v poradí, v akom je uvedená v zozname, ale pred volaním nasledujúcej akcie sa nečaká na dokončenie predchádzajúcej akcie. Ak akcia vykoná asynchrónne volanie, nemusí sa dokončiť pred vykonaním nasledujúcej akcie.

Pokračujte na Krok 7: Registrácia akcií.