Zaawansowany edytor warunków

Edytor nie wymaga podawania prefixu "js:" oraz nie będzie go wyświetlał w warunkach. Prefix zostanie doklejony w źródle automatycznie w momencie zapisywania zmian.

Wstęp

Zaawansowany edytor warunków to specjalny edytor mający na celu usprawnienie pracy projektanta wniosku. Został on wyposażony w następujące funkcjonalności:

  • kolorowanie składni,

  • wyświetlanie podpowiedzi nazw zmiennych i pól podczas edycji warunków,

  • wyświetlanie podpowiedzi API eximee podczas edycji warunków.

Ilustracja 1. Przykładowe warunki w palecie właściwości komponentu

Miejsca wystąpienia

Trzy atrybuty komponentów w Eximee Designer korzystają z tego edytora. Są to:

  • warunek widoczności,

  • warunek aktywności,

  • warunek wymagalności.

Ilustracja 2. Zaawansowany edytor warunków - edycja warunku widoczności

Podpowiadanie składni

Edytor podpowiada użytkownikowi elementy API eximee i często używane metody JS. Podpowiedzi edytora można zobaczyć klikając kombinację klawiszy Ctrl + Spacja. Spowoduje to rozwinięcie listy z elementami, spośród których można zobaczyć poniższe:

Standardowe metody i pola JS:

  • parseInt()

  • parseFloat()

  • .length

  • size

  • empty

API dostarczane przez eximee:

  • getValue()

  • getData()

  • isVisible()

  • getStatementValue()

Ilustracja 3. Zaawansowany edytor warunków - rozwinięta lista z podpowiedziami składni

Dodatkowo w podpowiedziach będą pojawiać się MIDy komponentów (z ich ID w nawiasie) oraz nazw zmiennych sesyjnych występujących na wniosku.

Ilustracja 4. Zaawansowany edytor warunków - widok podpowiedzi komponentów znajdujących się w artefakcie
Ilustracja 5. Zaawansowany edytor warunków - widok podpowiedzi przefiltrowanych komponentów

Przykłady warunków

// porównanie całkowitoliczbowe pola typu TextField
parseInt(getValue("GesTextField3"))>5
  
// porównanie zmiennoprzecinkowe pola typu TextField
parseFloat(getValue("GesTextField5"))<200.001
  
// porównanie wartości logicznej (równe) pola typu CheckBox
getValue("GesCheckbox1")=="true"
 
// porównanie wartości logicznej (różne) pola typu CheckBox
getValue("GesCheckbox1")!="true"
 
// porównanie wartości tekstowej pola typu RadioGroup
getValue("GesRadioGroup1")=="audi"
  
// sprawdzenie czy wartość, np. zmienna sesyjna nie pusta
!!getValue("nazwiskoZew")
  
// sprawdzenie czy wartość, np. zmienna sesyjna jest pusta
!getValue("nazwiskoZew")
  
// sprawdzenie, czy oświadczenie o midzie oswiadczenie1 w komponencie o id GesStatementPopup1 zostało zaakceptowane
getStatementItem("GesStatementPopup1","oswiadczenie1") == "true"
  
// sprawdzenie, czy oświadczenie o midzie zdrowotne w komponencie o id GesStatementFlat5 (znajdujące się w komponencie złożonym) zostało zaakceptowane
getStatementItem("@GesStatementFlat5","zdrowotne")=="false"
 
 
// warunek wymagalności dla pola, jeśli inne są puste
!!!(getValue("@GesTextField13")||getValue("@GesTextField8"))
 
 
// sprawdzenie wartości comboboxów
getValue("@GesCombobox1")!=2&&getValue("@GesCombobox1")>0
 
 
// sprawdzenie czy TextField jest widoczny
isVisible("@GesTextField1")=="true"
 
 
//sprawdzenie, czy liczba znaków w TextField wynosi 10
getValue("GesTextField5").length==10

Last updated

Was this helpful?