Zachowanie pól: tylko do odczytu, wymagane, widoczne, liczone
Używamy wyrażeń w praktyce: blokujemy pola, ustawiamy warunkową wymagalność, pokazujemy podpowiedź i liczymy wartość pola automatycznie.
Tylko do odczytu (readOnlyExpression)
Dział zatytułowany „Tylko do odczytu (readOnlyExpression)”- Zatwierdzonego wniosku nie powinno się dać zmienić. Na polach (np. datach) ustawiasz readOnlyExpression: jeśli
status z
contractwynosi 2 (zatwierdzony), pole jest tylko do odczytu. - Antywzorzec: blokowanie pola rodzaju przez
value()(„zablokuj, gdy ma wartość”).value()to stan bieżący, więc pole zablokuje się zaraz po pierwszym wyborze i użytkownik nie może go już poprawić. - Dobrze: oprzeć się na
contract. Jeśli dane przyszły z procesu, wniosek był już zapisany w bazie.
Wymagane warunkowo (requiredExpression)
Dział zatytułowany „Wymagane warunkowo (requiredExpression)”- Pole uwag jest wymagane tylko dla wybranego rodzaju nieobecności. Wyrażenie czyta bieżący rodzaj przez
data()i zwracatrue/false.
Widoczność warunkowa (kontener condition)
Dział zatytułowany „Widoczność warunkowa (kontener condition)”- Podpowiedź dla zwolnienia lekarskiego (co zrobić z numerem zwolnienia) ma być widoczna tylko przy tym rodzaju.
- Wstawiasz kontener condition z polem tekstowym w środku. W warunku wyrażenie sprawdza, czy wybrano zwolnienie lekarskie. Przy innych rodzajach podpowiedź znika.
- Ścieżka do pola w siatce: klucz sekcji /
grid/ numer wiersza / numer kolumny / klucz pola, liczone od zera.
Wartość liczona (valueExpression)
Dział zatytułowany „Wartość liczona (valueExpression)”- Liczba dni wylicza się sama z dat Od i Do. Wyrażenie czyta obie daty, sprawdza, czy nie są puste, zamienia
je na daty i liczy różnicę (wbudowane funkcje JS, np.
Math). - Warunek: valueExpression działa tylko na polu tylko do odczytu. Po odznaczeniu read only edytor pokazuje błąd z dokładnym wskazaniem: ścieżka, typ pola i właściwość. Dzięki temu od razu wiesz, co poprawić.
Formularz pomaga, proces pilnuje
Dział zatytułowany „Formularz pomaga, proces pilnuje”- Walidacje z formularza są wykonywane także na serwerze, na tych samych danych. Nie da się ich obejść — serwer odrzuci formularz jako niepoprawny.
- Logikę możesz też dopisać w procesie, jak sprawdzenie pracownika z lekcji 4.
Zapamiętaj
Dział zatytułowany „Zapamiętaj”Pytanie „czy wniosek był zatwierdzony, kiedy go otworzyłem?” → contract. Pytanie „co użytkownik wybrał teraz?”
→ data(). W następnej lekcji formularz zaczyna mówić użytkownikowi, co jest źle — walidacja.