Komponentti voi sisältää herättimiä, jotka käynnistävät toimia muissa komponenteissa. Herättimet on rekisteröitävä, jotta komponentit voivat käynnistää niitä.
Komponentti toimittaa herättimelle tietoja, jotka välitetään kaikille herättimen käynnistyksen johdosta suoritettaville toiminnoille. Voit valita, mitä toimia kunkin herättimen seurauksena suoritetaan. Jos komponentit on suunniteltu toimimaan yhdessä, ne voivat automaattisesti käynnistää herättimiä, jotka suorittavat toimia ilman käyttäjän vuorovaikutusta.
Herättimien rekisteröinti
Räätälöityjen komponenttien herättimet rekisteröidään osana komponentin rekisteröintitietoja. Voit lisätä herättimen päivittämällä jokaisen komponentin tukeman herättimen "triggers"
-ominaisuustaulukkoon. Herättimen tukemat tiedot on myös määritettävä käyttöliittymän luontia varten. Käyttöliittymän avulla käyttäjät voivat määrittää vastaavuuksia herättimen tietojen ja toiminnon tukemien ominaisuuksien välille.
appinfo.json
-tiedostoa ja tarkista "triggers":[],
-merkintä:
"triggers": [{ "triggerName": "helloWorldWhoAreYou", "triggerDescription": "Show Who I Am", "triggerPayload": [{ "name": "whoAreYou", "displayName": "Who I Am" }] }],
Synkronoi tiedosto sivustojen palvelimen kanssa.
Tässä herättimen merkinnän esimerkissä on määritetty herätin triggerName
("helloWorldWhoAreYou"
). Nimen arvon on oltava yksilöivä. Lisäksi esimerkissä on määritetty herättimen kuvaus ("Show Who I Am"
), jota käyttöliittymän valintaikkuna käyttää, kun se näyttää herättimen. Lopuksi herättimelle on määritetty yksittäinen tietoarvo. Käyttäjät voivat valita näiden tietojen merkintöjä ja määrittää niitä vastaavat toiminnon kentät.
Kun herätin on rekisteröity ja siirryt komponentin Asetukset-paneelin Linkki-välilehteen, herättimen pitäisi näkyä ja olla valittavissa.
Herättimien käynnistys
Komponentti voi käynnistää herättimiä milloin tahansa. Yleensä herättimen käynnistää käyttäjän toimi, kuten painikkeen napsautus tai taulukon rivin valinta. Komponentti voi käynnistää herättimen minkä tahansa ehdon perusteella, kuten REST API -kutsun aiheuttamien tietojen muutosten vuoksi. Voit suorittaa rajoittamattoman määrän toimia, kun herätin käynnistyy.
render.js
-tiedostoa ja lisää viewModel
-objektiin JavaScript-funktio, joka kutsuu sivustojen SDK:ta ja käynnistää herättimen.
self.raiseTrigger = function (triggerName) { SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, { 'triggerName': 'helloWorldWhoAreYou', 'triggerPayload': { "whoAreYou": "This is " + self.whoAreYou() + "!"} }); };
-edit template.html
). Lisää myös painike ennen </div>
-elementtiä.
<button data-bind="click raiseTrigger">Who Am I?</button>
Synkronoi tai lataa render.js
-tiedosto Oracle Content Management -instanssin palvelimeen.
Loit ViewModel
-objektiin JavaScript-funktion, jota kutsutaan, kun painiketta napsautetaan. Tämä funktio kutsuu sivustojen SDK:ta ja pyytää sitä käynnistämään kaikki herättimelle "helloWorldWhoAreYou"
määritetyt toimet. Se myös välittää triggerPayload
-objektin, jossa on yksi kenttä: "whoAreYou"
. Nämä "helloWorldWhoAreYou"
- ja "whoAreYou"
-arvot ovat samat kuin ne, jotka syötit, kun rekisteröit herättimen edellisessä vaiheessa.
Huomautus::
Toimia ei suoriteta ennalta määritetyssä järjestyksessä. Toimintoja kutsutaan siinä järjestyksessä, jossa ne on lueteltu, mutta toiminnon valmistumista ei odoteta ennen seuraavan toiminnon kutsumista. Jos toiminto suorittaa asynkronisen kutsun, se ei ehkä valmistu ennen seuraavan toiminnon suoritusta.