Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Added

Wstęp

Konfiguracja wtyczki jest plikiem JSON o odpowiedniej strukturze, którą można stworzyć na podstawie poniższego opisu. Pisanie JSONa powinno zacząć się od stworzenia obiektu z polem menus będącym listą obiektów menu.

...

  • id (string) - identyfikator widoku (unikalny globalnie)
  • name (string) - nazwa widoku wyświetlana jako nazwa podzakładki
  • default (boolean) - flaga określająca, czy widok ten jest domyślnym widokiem w obrębie wszystkich widoków dla danego menu. Jeżeli tak, zostanie on wyświetlony po wejściu w menu. Tylko jeden widok może być widokiem domyślnym.
  • source (object) - obiekt źródła do pobrania danych dla danego widoku
  • action (object) - obiekt akcji, która zostanie uruchomiona po kliknięciu w wiersz
  • inputs (list) - lista obiektów filtrów dla danego widoku. Jeżeli jest pusta, nie zostanie w ogóle wyświetlony formularz Filtruj wyniki wyszukiwania. Wartości filtrów tak, jak ich pola są wartościami tekstowymi, które są przekazywane źródłu przy każdym jego wywołaniu.
  • outputs (list) - lista obiektów kolumn dla danego widoku
  • comments (boolean) - flaga określająca, czy do tabeli danych ma być dodana kolumna Komentarze prezentująca listę komentarzy dla każdego wiersza.
  • links (lista) - lista obiektów linków tj. dodatkowych "przycisków" wyświetlanych w dodatkowej kolumnie Akcja. Jeżeli lista jest pusta, kolumna nie zostanie wyświetlona.
  • summary (object) - obiekt podsumowania dla danego widoku
  • pageSize (number) - liczba wyników na stronie. Domyślnie brane z ustawień użytkownika.
  • searchOnLoad (boolean) - flaga określająca, czy wyszukiwanie ma się wykonać po wejściu w widok. Domyślna wartość: true.
  • hideFiltersOnLoad (boolean) - flaga określająca, czy podczas wejścia w widok okienko z filtrami ma być ukryte. Domyślna wartość: false. 

Obiekt źródła

  • type (string) - typ źródła. Obecnie jedynym obsługiwanym typem jest komponent źródła danych (wartość DATASOURCE)
  • id (string) - identyfikator źródła (np. dla źródła typu DATASOURCE jest to identyfikator komponentu). Nie musi być unikalny w konfiguracji DataViewera, gdyż wiele widoków może używać tych samych źródeł.

...

  • id (string) - identyfikator filtra (unikalny w obrębie widoku)
  • name (string) - nazwa filtra wyświetlana jako etykieta pola
  • alias (string) - identyfikator parametru wejściowego źródła, z którym ma być powiązany filtr. Przy wywołaniu źródła wartość filtra zostanie wstawiona jako wartość parametru wejściowego o tym podanym identyfikatorze.
  • type (string) - typ filtra. Dostępne typy: string, integer, double, boolean, date, list. Po wybraniu odpowiedniego typu, pole nie pozwoli na wprowadzenie błędnej wartości "z ręki" np. nie będzie można wpisać dowolnego ciągu znaków do pola typu integer.
  • source (object) - obiekt źródła do pobrania danych, jeżeli typem jest list (opis poniżej).
  • defaultValue (string) - domyślna wartość, która zostanie ustawione w filtrze po wejściu w widok i automatycznie wyszukana jeżeli parametr "searchOnLoad" na widoku ustawione jest na true
  • dynamicDefaultValue (object) - obiekt źródła do pobrania wartości domyślnej. Konfiguracja jak w filtrze source. Źródło musi zwracać jeden rekord z jedną kolumną.

Info

Jeżeli nie określono typu filtra, będzie on taki, jak typ odpowiadającego parametru wejściowego w źródle danych dla widoku.

UWAGA. Nie wszystkie typy filtrów są obsługiwane przez wszystkie typy źródeł np. w Źródłach danych na podstawie zapytań do bazy nie jest obsługiwany typ date. Przeglądarka wyśle wartość ustawionego filtru w formacie unix time (należy ją samemu skonwertować w zapytaniu SQL).

Info

Typ list jest typem specjalnym działającym podobnie do datachooserów na formularzu. Jest to filtrowana lista rozwijana, która pobiera dane na podstawie pola source. Źródło musi posiadać parametr wyjściowy o nazwie value (wartość ta zostanie wyświetlona w liście i wysłana do serwera przy wyszukiwaniu). Jeżeli wartość wysyłana do serwera ma być różna od wartości wyświetlanej na liście (np. pokazywany jest jakiś tekst, ale wysłany ma być identyfikator), można dodatkowo w źródle stworzyć parametr wyjściowy text. Aby filtrować wyniki na żywo, należy stworzyć w źródle parametr wejściowy query.


Obiekt kolumny

  • id (string) - identyfikator kolumny (unikalny w obrębie widoku)
  • name (string) - nazwa kolumny
  • hidden (boolean) - flaga określająca, czy kolumna ma być ukryta
  • alias (string) - analogicznie do aliasu w filtrze - identyfikator parametru wyjściowego źródła. Wartość wiersza danej kolumny zostanie ustawiona taka, jak wartość parametru wyjściowego źródła o podanym identyfikatorze.
  • primaryKey (boolean) - flaga określająca, czy kolumna ma być traktowana jako klucz główny wiersza. Przynajmniej jedna kolumna w widoku musi być kluczem głównym.
  • action (object) - obiekt akcji, która zostanie uruchomiona po kliknięciu w komórkę
  • format (object) - obiekt do formatowania wyników dla użytkownika
    • type - typ kolumny (dostępne typy - double, integer, timestamp)
    • thousandSeparator - znak rozdzielający części tysięczne liczby (dostępny dla typów: double, integer)
    • decimalPrecision - liczba miejsc po przecinku (dostępny dla typów: double, integer)
    • dateFormat - format daty (dostępny dla typu timestamp). Domyślnie "yyyy-MM-dd hh:mm:ss"

      Uwaga: Aby kolumna została sformatowana za pomocą typu timestamp, SQL musi rzutować zwracaną kolumnę na typ timestamp

      Code Block
      titlePrzykład rzutowania w postgreSQL dla kolumny typu BIGINT przechowującej daty
      TO_TIMESTAMP(nazwa_kolumny/ 1000) AS nazwa_kolumny
Info
 Nie można jednocześnie określić akcji na widoku oraz na kolumnach.

Obiekt linku

  •  id (string) - identyfikator linku (unikalny w obrębie widoku)
  • name (string) - nazwa linku
  • action (object) - obiekt akcji, która zostanie uruchomiona po kliknięciu w link
  • showCondition (object) - obiekt warunku wyświetlania linku
    • columnId (string) - id kolumny, która jest użyta w warunku
    • operator (string) - operator, którego używamy w porównaniu (możliwe wartości: isempty, isnotempty, eq, noteq, gt, lt, ge, le)
    • value (string lub number) - wartość, którą używamy do porównania 
    • columnValue (string) - id kolumny użytej do porównania (nie można użyć value i columnValue jednocześnie)
    • group (object) - używane dla wielu warunków (przykłady poniżej)

      Code Block
      titlePrzykład konfiguracji linku dla pojedynczego warunku wyświetlania
      {
         "id":"showCommentsWindowLink",
         "name":"Zarządzaj komentarzami",
         "action":{
            "type":"showComments"
         },
         "showCondition":{
            "columnId":"valuelong",
            "operator":"gt",
            "value":100,
            "columnValue":null,
            "group":null
         }
      }
      Code Block
      titlePrzykład konfiguracji linku dla wielu warunków wyświetlania
      {
         "id":"goToActivityFormLink",
         "name":"Przejdź do formularza zadania",
         "action":{
            "type":"showActivityForm",
            "mapping":{
               "processId":"processId",
               "activityId":"activityId"
            }
         },
         "showCondition":{
            "columnId":null,
            "operator":"and", // możliwe wartości: or lub and
            "value":null,
            "columnValue":null,
            "group":[
               {
                  "columnId":"processId",
                  "operator":"isnotempty",
                  "value":null,
                  "columnValue":null,
                  "group":null
               },
               {
                  "columnId":"activityId",
                  "operator":"isnotempty",
                  "value":null,
                  "columnValue":null,
                  "group":null
               }
            ]
         }
      }

Obiekt podsumowania

  • source (object) - obiekt źródła, z którego będą pobierane dane dla ostatniego dodatkowego wiersza
  • loadOnce (boolean) - flaga określająca, czy podsumowanie ma być załadowane tylko raz przy wejściu w widok, czy za każdym razem przy zmianie sortowania, filtrów itd.
  • inputMappings (list) - lista obiektów mapowania identyfikatorów kolumn z identyfikatorami wejściowymi źródła
    • inputId (string) - identyfikator filtra
    • alias (string) - identyfikator parametru wejściowego źródła
  • outputMappings (list) - lista obiektów mapowania identyfikatorów kolumn z identyfikatorami wyjściowymi źródła
    • outputId (string) - identyfikator kolumny, w której mają zostać wyświetlone dane
    • alias (string) - identyfikator parametru wyjściowego źródła
Info

Podsumowanie może służyć do wyświetlenia jednego wiersza, w którym np. zsumowane są dane dla danej kolumny na danej stronie. Podsumowanie wyświetla tyle wierszy ile zostało zwróconych przez źródło, dlatego możliwe jest wyświetlenie dowolnej liczby dodatkowych wierszy.