Joissain tilanteissa on tarvetta viestiä plugineiden sisällöstä toisille plugineille ja laittaa tehtäviä toimimaan eri tavalla riippuen siitä miten muita tehtäviä on tehty
Käyttötapaus:
Esimerkiksi drowpdown-plugineissa/alasvetovalikoissa on tarvetta rajoittaa vaihtoehtoja toisen valikon mukaan.
Tällöin voisi tehdä esimerkiksi valikon jossa ensin kysytään kaupunkia tai oppilaitosta ja tämän jälkeen toisessa valikossa tarjottaisiin
saleja jotka sijaitsevat ensimmäisen valinnan mukaisessa paikassa.
Toteutustapoja:
Tällä hetkellä on jo keino rekisteröityä muiden plugineiden muutosten kuuntelijaksi (IChangeListener). Tosin tällä hetkellä tuota käytetään vain tallennustilanteesta ilmoittamiseen, ei varsinaisesta sisällöstä ilmoittamiseen.
ITimComponent-rajapinnassa taas on metodi jolla kerrotaan sisältö (getContent), ja noita yhdistelemällä voitaisiin toteuttaa plugineiden välinen sisällön viestintä.
Uusi sivunlataus monimutkaistaa tuota hieman: sekä kuunteleville että kuunneltaville plugineille pitäisi tehdä jotain kommunikaatiokutsuja aina niiden latautuessa. Jos esimerkiksi alasvetovalikoiden tapauksessa kuunneltava plugin latautuu ensin, kuuntelevan pluginin täytyy osata latautumisensa jälkeen käydä läpi kiinnostavat pluginit jotta se tietäisi mitä vaihtoehtoja tarjota. Jos kuunteleva plugin latautuu ensin, kuunneltavan pluginin täytyy lautumisensa jälkeen käydä ilmoittamassa sisältönsä kuunteleville plugineille.
In GitLab by @sijualle on Apr 28, 2021, 15:08
Joissain tilanteissa on tarvetta viestiä plugineiden sisällöstä toisille plugineille ja laittaa tehtäviä toimimaan eri tavalla riippuen siitä miten muita tehtäviä on tehty
Käyttötapaus:
Esimerkiksi drowpdown-plugineissa/alasvetovalikoissa on tarvetta rajoittaa vaihtoehtoja toisen valikon mukaan. Tällöin voisi tehdä esimerkiksi valikon jossa ensin kysytään kaupunkia tai oppilaitosta ja tämän jälkeen toisessa valikossa tarjottaisiin saleja jotka sijaitsevat ensimmäisen valinnan mukaisessa paikassa.
Toteutustapoja:
Tällä hetkellä on jo keino rekisteröityä muiden plugineiden muutosten kuuntelijaksi (
IChangeListener
). Tosin tällä hetkellä tuota käytetään vain tallennustilanteesta ilmoittamiseen, ei varsinaisesta sisällöstä ilmoittamiseen.ITimComponent
-rajapinnassa taas on metodi jolla kerrotaan sisältö (getContent
), ja noita yhdistelemällä voitaisiin toteuttaa plugineiden välinen sisällön viestintä.Uusi sivunlataus monimutkaistaa tuota hieman: sekä kuunteleville että kuunneltaville plugineille pitäisi tehdä jotain kommunikaatiokutsuja aina niiden latautuessa. Jos esimerkiksi alasvetovalikoiden tapauksessa kuunneltava plugin latautuu ensin, kuuntelevan pluginin täytyy osata latautumisensa jälkeen käydä läpi kiinnostavat pluginit jotta se tietäisi mitä vaihtoehtoja tarjota. Jos kuunteleva plugin latautuu ensin, kuunneltavan pluginin täytyy lautumisensa jälkeen käydä ilmoittamassa sisältönsä kuunteleville plugineille.