Nasłuchiwanie i czyszczenie
Nasłuchiwanie i czyszczenie to mechanizmy umożliwiające definiowanie dynamicznego zachowania komponentów formularza oraz powiązanych z nimi zmiennych. Dzięki nim zmiany w jednym polu mogą automatycznie wpływać na inne pola, komponenty lub wartości w formularzu.
Atrybut Nasłuchiwanie (ListeningOn) – pozwala określić, na które inne komponenty lub zmienne dany komponent „nasłuchuje”. Oznacza to, że zmiana wartości wskazanego komponentu albo zmiennej spowoduje reakcję komponentu nasłuchującego – np. jego ponowne przeliczenie wartości lub odświeżenie widoczności.
Atrybut Wyczyszczenie pola (ClearOn) – definiuje, które zmiany w innych komponentach lub zmiennych wywołają automatyczne wyczyszczenie (usunięcie) wartości danego komponentu. Innymi słowy, jeśli wskazane powiązane pole lub zmienna zmieni swoją wartość, komponent z ustawionym czyszczeniem usunie własną bieżącą wartość (wyczyści pole).
Oba powyższe atrybuty dostępne są w sekcji Interakcje panelu właściwości wybranego komponentu. Konfiguracja odbywa się za pomocą specjalnego okna – należy kliknąć przycisk Lista obok pola Nasłuchiwanie lub Wyczyszczenie pola, co otworzy popup do edycji tych ustawień.

W oknie Elementy wzbudzające zmianę (otwieranym przyciskiem Lista) wyświetlana jest lista komponentów, na które nasłuchuje dana kontrolka. Listę można zawęzić za pomocą pola filtrowania (Filtruj...) u góry okna. Obok każdego dodanego elementu znajduje się ikona kosza – pojawia się po najechaniu kursorem – umożliwiająca usunięcie tego elementu z listy nasłuchiwanych.

Aby dodać nowy element do nasłuchiwania, użyj pola Dodaj MID na dole okna. Pole to podpowiada wszystkie dostępne identyfikatory (MID/ID) komponentów oraz zmiennych, na które można nasłuchiwać. Wybierz żądany komponent z listy podpowiedzi (klikając go lub poprzez zatwierdzenie klawiszem Enter). Wybrany element zostanie dodany do listy, a w opisie atrybutu Nasłuchiwanie w panelu właściwości pojawi się informacja o liczbie elementów nasłuchiwanych (np. Nasłuchiwania: 1).

Uwaga: Jeśli w logice komponentu używane są walidatory, usługi lub warunki (widoczności, aktywności, wymagalności) odwołujące się do wartości innych pól bądź zmiennych, należy prawidłowo ustawić Nasłuchiwanie (oraz ewentualnie Wyczyszczenie pola) dla tych zależności. W przeciwnym razie zmiany w powiązanych polach nie będą automatycznie uwzględniane przez dany komponent.
Przykłady zastosowania
Automatyczne przeliczenie pola – Pole obliczeniowe (np. suma dwóch wartości) nasłuchuje na zmiany pól źródłowych. Jeśli użytkownik zmieni wartość w którymś z pól składowych, pole sumy automatycznie przeliczy swoją wartość na nowo.
Dynamiczna widoczność sekcji – Sekcja formularza wyświetlana warunkowo (np. dodatkowe szczegóły pokazywane po zaznaczeniu checkboxa „Pokaż więcej”) powinna nasłuchiwać na to pole wyboru. Dzięki temu zmiana stanu checkboxa od razu spowoduje ponowną ocenę warunku i ukrycie lub pokazanie sekcji zgodnie z jego definicją.
Resetowanie wartości pola zależnego – Pole które powinno zostać wyczyszczone po zmianie innego wyboru korzysta z atrybutu Wyczyszczenie pola. Przykładowo, pole „Model samochodu” może nasłuchiwać na pole „Marka samochodu” oraz mieć ustawione czyszczenie względem niego. Zmiana marki spowoduje automatyczne usunięcie wybranej wcześniej wartości modelu, aby użytkownik wybrał nowy model pasujący do zmienionej marki.
Odświeżanie listy dokumentów po zmianie strony – Komponent Lista dokumentów (DocumentList) może nasłuchiwać na zmienną
currentPageMid(identyfikator bieżącej strony formularza). Powoduje to, że przy przejściu do innej strony wniosku komponent ponownie załaduje/odświeży swoje dane. Dzięki temu unikniemy sytuacji, w której wyświetlany jest nieaktualny zestaw dokumentów (np. wydruków) po zmianie strony.
FAQ
P: Czym się różnią atrybuty Nasłuchiwanie i Wyczyszczenie pola? O: Nasłuchiwanie powoduje, że komponent reaguje (przelicza się lub odświeża) w odpowiedzi na zmianę wartości określonego innego pola lub zmiennej. Natomiast Wyczyszczenie pola powoduje automatyczne wymazanie bieżącej wartości komponentu, gdy zmieni się wskazane powiązane pole lub zmienna.
P: Czy muszę ustawić nasłuchiwanie, jeśli mój komponent wykorzystuje warunek lub walidator odwołujący się do innego pola? O: Tak. Jeżeli logika komponentu (np. warunek widoczności lub wymagalności, skrypt walidatora, itp.) korzysta z wartości innego pola bądź zmiennej, to komponent musi nasłuchiwać na ten element. W przeciwnym razie zmiany wartości tamtego pola nie będą uwzględniane na bieżąco – warunek czy walidacja nie zareaguje na zmienione dane.
P: Ustawiłem atrybut Wyczyszczenie pola, ale pole nie usuwa wartości przy zmianie powiązanego komponentu – dlaczego? O: Najprawdopodobniej brakuje atrybutu nasłuchiwania. Aby czyszczenie pola zadziałało poprawnie, komponent docelowy musi również nasłuchiwać na wskazany element wyzwalający zmianę. Innymi słowy, w konfiguracji komponentu należy dodać Nasłuchiwanie wraz z Wyczyszczeniem pola odnosząc je do tego samego komponentu, którego zmiana ma czyścić wartość.
P: Jak dodać lub usunąć element na liście nasłuchiwanych dla danego komponentu? O: Należy otworzyć okno konfiguracji nasłuchiwania – w panelu właściwości kliknąć Lista obok atrybutu Nasłuchiwanie. W oknie Elementy wzbudzające zmianę nowy element dodajemy poprzez pole Dodaj MID (wpisując lub wybierając z listy odpowiedni komponent/zmienną i zatwierdzając Enterem). Aby usunąć element z listy nasłuchiwania, wystarczy najechać kursorem na jego nazwę w tym oknie i kliknąć ikonę kosza obok niej.
P: Na jakie elementy można nasłuchiwać? O: Komponent formularza może nasłuchiwać na zmiany innych komponentów (pól formularza) oraz na zmienne sesyjne powiązane z formularzem. Podczas konfiguracji w oknie nasłuchiwania dostępna jest pełna lista ID/MID wszystkich pól i zmiennych, które można wybrać jako źródła nasłuchu.
Last updated
Was this helpful?
