Przejdź do głównej treści

Mechanizm Event-ów w JS-ie

Ready_™ Developer TeamMniej niż 1 minutaEvent w JS

Mechanizm eventów w JS-ie, najlepiej wywoływać w metodzie toHtml. Event uruchamiamy poprzez ROS.EventEmitter, który posiada 3 różne funkcje, tj.

  1. on - czyli uruchomienie nasłuchiwania eventu.

Jako parametr należy podać nazwę eventu, który będzie nazsłuchiwany.

Przykład

ROS.EventEmitter.on('events:delete.'.$this->name.'', 
    function(event, data) {
    
    }
);
  1. off - czyli wyłączenie nasłuchiwania eventu.

Przykład

ROS.EventEmitter.off('events:delete.'.$this->name.'');
  1. trigger - Czyli wyzwalacz eventu, jako 2 parametr przekazujemy dane w formie json-a, te dane są przesyłane do funkcji wywołanej podczas uruchamiania nasłuchania eventu (patrz ptk. 1)

Przykład

ROS.EventEmitter.trigger('events:delete.'.$this->name.'', {doc_id:'.$documentId.'});

Jak nazywać eventy i jak naprawde można je wywołać

Bardzo ważną sprawą jest nazewnictwo eventów, dla przykładu stworzymy event, który będzie reagował na zapis karty pracy

Nie poprawne nazewnictwo

ROS.EventEmitter.on('rcp.save.'+NAZWA);

NAZWA - reprezentuje tak naprawdę, nazwę pola na dialogu,

UWAGA

Powyższy przykład nazwy jest nie dobry!

Gdyż, zarejestrowany event o nazwie rcp.save., możemy wywołać także przez podanie samej nazwy rcp i jeśli będziemy mieć w podobny sposób zarejestrowane eventy na otwarciu, utworzeniu dialogu i w jeszcze jakimś specyficznym momencie, w tedy zostaną zwrócone wszystkie obiekty z eventu rcp

Poprawna nazwa eventu

ROS.EventEmitter.on('rcp:save.'+NAZWA);

NAZWA - reprezentuje tak naprawdę, nazwę pola na dialogu,

Poprzez dodanie dwukropka : w nazwie eventu, wywołując powyższy skrypt, odbierzemy tylko 1 obiekt eventu.