...
Code Block | ||
---|---|---|
| ||
PW.EventActions.register("test-action", function(context) { const value = context.variable("zmienna_1").get(); context.variable("zmienna_2").set("zmienna_1:" + value); }); |
Zmiana rekordów w tabeli:
Code Block | ||
---|---|---|
| ||
PW.EventActions.register("test-action", function(context) { const table = context.variableSet("table_1"); table.variable("zmienna_1").add("new_value"); }); |
Zmiany wartości zmiennych przekazanych jako parametr
Akcje asynchroniczne
Akcje asynchroniczne to akcje w których zachodzi potrzeba wywołania asynchronicznego kodu (np. żądania http lub wyświetlenie modal'a z callbackiem). Aby taka akcja była w stanie zmieniać stan formularza i wyzwalać kolejne akcje w reakcji na zdarzenia wyemitowany poprzez this.fireEvent() niezbędne jest zwrócenie kontroli do framework'u akcji.
...
Code Block | ||||
---|---|---|---|---|
| ||||
PW.EventActions.register("async-action", function(context) { context.set("var1", "before"); // zmiana kontekstu jest dozwolona przed przejściem w tryb asynchroniczny this.fireEvent("before_async"); // tak samo jak wyzwalanie zdarzeń // wywołanie asynchroniczne (np. odpowiedź serwera, modala) // funkcje przekazywaną jako callback należy wcześniej przygotować używając funkcji this.async() setTimeout(this.async(() => { context.set("var1", "after"); this.fireEvent("after_async"); }), 1000); // w przypadku gdy nie użyjemy funkcji this.async() - dostęp do kontekstu bądź i wyzwalanie zdarzeń nie jest możliwe i zakończy się błędem setTimeout(() => { this.fireEvent("will throw"); }, 1000); }); |
Context API
Context | |
---|---|
Funkcja | Opis |
variable(id) : VariableContext | Zwraca VariableContext zmiennej o podanym identyfikatorze |
variableSet(tableId) : VariableSetContext | Zwraca VariableSetContext tabeli o podanym identyfikatorze |
VariableContext | |
---|---|
Funkcja | Opis |
set(newValue): this | Zmiana warto |
get(): Object |
Troubleshooting
Logowanie wywołania akcji
...