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.
config.json
{ "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.
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.
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 - float, integer, date, string, boolean)
- thousandSeparator - znak rozdzielający części tysięczne liczby (dostępny dla typów: float, integer)
- decimalPrecision - liczba miejsc po przecinku (dostępny dla typów: float, integer)
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