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.
{ "menus": [] // lista obiektów menu }
Obiekt menu
Opcje konfiguracyjne:
- id (string) - identyfikator menu (unikalny globalnie)
- name (string) - nazwa menu wyświetlana w głównym menu systemu PlusWorkflow
- permissions (object) - obiekt uprawnień dla danego menu
- views (list) - lista obiektów widoków dla danego menu. Widoki zostaną wyświetlone jako podzakładki po wejściu w menu.
Obiekt uprawnień
- users (list) - lista stringów zawierająca loginy użytkowników, którzy mają uprawnienia do danego menu
- groups (list) - lista stringów zawierająca nazwy grup posiadających uprawnienia do danego menu
Uprawnienia działają na logicznym operatorze OR (wystarczy, że istnieje login użytkownika w users lub należy on do przynajmniej jednej z grup wymienionej w groups).
Obiekt widoku
- 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ł.
Obiekt filtra
- 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ą.
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).
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 timestampPrzykład rzutowania w postgreSQL dla kolumny typu BIGINT przechowującej datyTO_TIMESTAMP(nazwa_kolumny/ 1000) AS nazwa_kolumny
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)
Przykł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 } }
Przykł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
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.
Add Comment