Edytor oświadczeń

Dla komponentów Oświadczenia oraz Oświadczenia na warstwie dostępny jest specjalizowany edytor. Umożliwia on definiowanie oświadczeń korzystając z formatu JSON.

Lokalizacja edytora

Edytor oświadczeń dostępny jest w sekcji Podstawowe właściwości komponentów Oświadczenia oraz Oświadczenia na warstwie.

Ilustracja 1. Miejsce osadzenia edytora oświadczeń

Otwarcie edytora następuje po kliknięciu w Dodaj oświadczenie.

Prezentacja edytora

Otwarcie edytora oświadczeń skutkuje wysunięciem szuflady prezentującej obszar do wpisywania tekstu w formacie JSON. Dla nowo utworzonego komponentu zawiera on jedynie nawiasy klamrowe bez zawartości. Po lewej stronie edytora widoczne są numery wierszy.

Edytor oświadczeń może być wyświetlony w trybie tylko do odczytu oraz w trybie do edycji. Tryb tylko do odczytu umożliwia jedynie podejrzenie zapisanych wartości.

Ilustracja 2. Wygląd edytora oświadczeń dla nowo utworzonego komponentu

Edytor w czasie rzeczywistym podkreśla zarówno błędy semantyczne, jak i składniowe. Po najechaniu kursorem myszy na czerwone podkreślenie symbolizujące wystąpienie błędu, wyświetlony zostaje dymek ukazujący jego treść.

Ilustracja 3. Przykładowa informacja o wymagalności pól

Działanie edytora

Edytor oświadczeń obsługuje funkcjonalność podpowiadania składni. Po wciśnięciu kombinacji klawiszy Ctrl + Spacja zostaje wyświetlona podpowiedź zawierająca możliwe do wpisania pola w zależności od aktualnej pozycji kursora w edytorze. Zaznaczenie którejś z nich i wciśnięcie klawisza Enter powoduje wprowadzenie danej podpowiedzi do edytora.

Ilustracja 4. Podpowiedzi wyświetlane po wciśnięciu kombinacji klawiszy Ctrl + Spacja

Edytor można zamknąć na dwa sposoby. Pierwszym z nich jest symbol X znajdujący się w prawym górnym rogu (widoczny na Ilustracji 2). Drugim sposobem jest kliknięcie poza obszarem edytora.

Jeżeli przy zamykaniu edytora wpisane dane są poprawne semantycznie oraz składniowo — zostają one zapisane. Jeżeli zawierają jakikolwiek błąd — zmiany zostają porzucone. W obu przypadkach szuflada się zamyka.

Dostępne pola

Edytor oświadczeń przyjmuje poniżej wymienione pola. Ich znaczenie zostanie wyjaśnione w następnym paragrafie. Pola wymagane zostały dodatkowo oznaczone:

Przykładowa struktura JSON
{
  "items": [
    {
      "controls": [
        {
          "mid": "tekst",                 // wymagane
          "titleKey": "tekst",           // wymagane
          "type": "CHECKBOX|RADIO",      // możliwe wartości CHECKBOX lub RADIO, wymagane
          "visibleCondition": "tekst",
          "styleName": "tekst",
          "requiredCondition": "tekst",
          "notSelectedErrorTextKey": "tekst",
          "requiredNotAcceptedErrorTextKey": "tekst",
          "mastercheckbox": "tekst"
        }
        // ...
      ],
      "actionBindings": {
        "bindings": [
          {
            "event": "EDIT"             // możliwa wartość EDIT, wymagane
          }
          // ...
        ]
      },
      "mid": "tekst",                   // wymagane
      "textContent": "tekst",
      "textContentUnexpanded": "tekst",
      "visibleCondition": "tekst",
      "expandableCondition": "tekst",
      "expandedCondition": "tekst",
      "descriptionKey": "tekst",
      "nativePopupTitleKey": "tekst",
      "styleName": "tekst"
    }
    // ...
  ]
}

Znaczenie pól

Właściwość
Opis

items

Lista zdefiniowanych oświadczeń do wyświetlenia.

textContent

Artefakt z treścią oświadczenia wyświetlaną poniżej tytułu podanego w titleKey. Jeśli artefakt zostanie wskazany, a nie zostanie podany klucz titleKey i zdefiniowana kontrolka w controls, to treść textContentu nie będzie zawierała kontrolki.

textContentUnexpanded

Artefakt z treścią oświadczenia wyświetlaną przy zwiniętym oświadczeniu.

mid

Biznesowy identyfikator danego oświadczenia.

visibleCondition

Warunki, przy jakich dane oświadczenie ma być wyświetlone. Jeżeli warunek jest pusty lub nieprawidłowy, zostanie wyewoluowana wartość "true".

styleName

Nazwa stylu.

expandableCondition

Warunek, dla którego przy tytule oświadczenia ma się wyświetlić tekst do zwijania/rozwijania treści oświadczenia. Jeżeli warunek jest pusty lub nieprawidłowy, zostanie wyewoluowana wartość "false". Uwaga: jeśli titleKey jest niezdefiniowany, tekst nie pojawi się.

expandedCondition

Jeśli expandableCondition jest ustawiony na "true", właściwość expandedCondition decyduje o tym, czy i kiedy treść oświadczenia ma być domyślnie rozwinięta. Jeżeli warunek jest pusty lub nieprawidłowy, zostanie wyewoluowana wartość "true" (treść rozwinięta).

titleKey

Klucz tytułu pojedynczego oświadczenia definiowanego w zakładce Tłumaczenia. W kluczach rozwiązują się zmienne.

nativePopupTitleKey

Klucz tytułu natywnego popupu, który się wyświetli przy kliknięciu w "Więcej" → ten tekst można nadpisać przez i18n.statements.item.native.more w zakładce Tłumaczenia. Popup wyświetla się tylko w aplikacji natywnej. W przypadku braku zdefiniowania nativePopupTitleKey jako tytuł zostanie wyświetlona wartość klucza titleKey.

event

Zdarzenie, które należy dodać, jeżeli została zdefiniowana akcja na wniosku powiązana z danym itemem oświadczenia.

controls

Lista zdefiniowanych kontrolek danego oświadczenia. Wyjaśnienie pól obiektu controls znajduje się poniżej.

Definiowanie listy kontrolek (controls)

Właściwość
Opis

mid

Biznesowy identyfikator kontrolki (pole wymagane).

titleKey

Klucz tytułu wyświetlanego przy/nad kontrolką.

visibleCondition

Warunki, przy jakich dana kontrolka ma być wyświetlona. Jeżeli warunek jest pusty lub nieprawidłowy, zostanie wyewoluowana wartość "true".

requiredCondition

Warunek, dla którego kontrolka ma być wymagalna. Jeżeli warunek jest pusty lub nieprawidłowy, zostanie wyewoluowana wartość "true".

type

Typ kontrolki: RADIO - oświadczenie z dwoma radio TAK/NIE (inne typy jak CHECKBOX też mogą występować zgodnie z definicją JSON).

notSelectedErrorTextKey

Klucz tłumaczenia nadpisującego tekst "Nie dokonałeś wyboru".

requiredNotAcceptedErrorTextKey

Klucz tłumaczenia nadpisującego tekst "Zgoda na wybrane oświadczenie jest wymagana".

styleName

Nazwa stylu.

mastercheckbox

Id master checkboxa.

Last updated

Was this helpful?