Konfiguracja ekranów aplikacji
Aplikacje Eximee mogą wpływać na wygląd i układ widoków prezentowanych w Eximee Dashboard. Konfiguracja odbywa się poprzez zdefiniowanie ustawień w komponencie aplikacji, w sekcji „Ekrany aplikacji”.

W tej sekcji należy przygotować skrypt zgodny z udostępnionym API, który pozwala dostosować widoki Eximee Dashboard dla danej aplikacji. W ramach konfiguracji można m.in.:
wskazać, które zakładki mają być widoczne,
określić kolejność wyświetlania zakładek,
dostosować zawartość prezentowaną w poszczególnych zakładkach,
zdefiniować wygląd nagłówka dla danego procesu.
Ekrany aplikacji konfigurowane są poprzez implementację funkcji konfiguracyjnej zwracającej obiekt konfiguracji ProcessConfig.
np.
Konfiguracja ekranów aplikacji jest cache'owana po stronie Eximee Dashboard. W zależności od konfiguracji środowiska, zmiany wprowadzone w skrypcie konfiguracyjnym mogą być widoczne dopiero po upływie kilku minut od momentu ich zapisania.
API konfiguracyjne
Poniżej znajdują się szczegółowe informacje dotyczące dostępnych funkcji i sposobu konfiguracji ekranów aplikacji. W skryptach konfiguracyjnych dostępne są następujące low-code API platformy Eximee:
data-model-api
rest-api
process-api
user-api
W kontekście wywołania funkcji (context) dostępne są następujące metody:
context.processId()- zwraca identyfikator procesu, dla którego konfigurowany jest ekran. Jest to szczególnie przydatne przy definiowaniu zakładek zadań użytkownika, które muszą być powiązane z konkretnym procesem.
Styl fluent (builder)
API konfiguracyjne jest dostępne w stylu fluent (builder), co oznacza, że obiekt konfiguracji można budować poprzez łańcuchowe wywołania metod. Dzięki temu konfiguracja jest czytelna i łatwa do rozbudowy w kolejnych krokach.
Przykładowo, konfigurację można zbudować zarówno przez przekazanie parametrów do funkcji, jak i przez kolejne wywołania metod:
W praktyce:
wariant z parametrami (np.
processConfigV1(header, tabs, userTaskTabs)) jest wygodny, gdy masz już przygotowane kompletne obiekty/listy,wariant fluent (
processConfigV1().header(...).tab(...).userTaskTab(...)) lepiej sprawdza się, gdy konfigurację budujesz krok po kroku.
processConfigV1
processConfigV1processConfigV1(header, tabs, userTaskTabs)
Tworzy instancję konfiguracji procesu. Przyjmuje trzy parametry:
header- konfiguracja nagłówka procesu, należy dostarczyć definicjęheaderV1.tabs- lista zakładek procesu. Należy dostarczyć listę definicjiprocessTabV1.userTaskTabs- mapa zakładek zadań użytkownika. Należy dostarczyć parę klucz-wartość, gdzie klucz to identyfikator zadania użytkownika procesu (user-task), a wartość to definicjaprocessTabV1. Zakładka z tej mapy będzie wyświetlana zawsze jako pierwsza, jeśli w danej chwili proces znajduje się na wskazanym zadaniu użytkownika.Fluent API:
.header(header)- ustawienie nagłówka procesu.tabs(tabs)- ustawienie listy zakładek naraz.tab(tab)- dodanie pojedynczej zakładki (można wywołać wielokrotnie).userTaskTabs(userTaskTabs)- ustawienie mapy naraz.userTaskTab(key, tab)- dodanie pojedynczego wpisu (można wywołać wielokrotnie)
Przykład:
headerV1
headerV1headerV1(title, sections)
Tworzy konfigurację nagłówka procesu. Przyjmuje dwa parametry:
title- tytuł nagłówka, wyświetlany w Eximee Dashboard.sections- lista sekcji nagłówka. Należy dostarczyć listę definicjiheaderSectionV1.Przykład:
Fluent API:
.title(title)- ustawienie tytułu nagłówka.sections(sections)- ustawienie całej listy sekcji naraz.section(section)- dodanie pojedynczej sekcji (można wywołać wielokrotnie)Przykład:
headerSectionV1
headerSectionV1headerSectionV1(label, key, details)
Tworzy konfigurację sekcji nagłówka. Przyjmuje trzy parametry:
label- etykieta sekcji, wyświetlana w Eximee Dashboard.key- wartość sekcjidetails- lista informacji szczegółowych, które mają być wyświetlane w pomocy kontekstowej sekcji. Należy dostarczyć listę definicjisectionDetailV1.Przykład:
Fluent API:
.label(label)- ustawienie etykiety sekcji.key(key)- ustawienie treści sekcji.details(details)- ustawienie listy dodatkowych informacji.detail(detail)- dodanie pojedynczej informacji (można wywołać wielokrotnie)
sectionDetailV1
sectionDetailV1sectionDetailV1(label, key)
Tworzy konfigurację informacji szczegółowej w sekcji nagłówka. Przyjmuje dwa parametry:
label- etykieta informacji dodatkowej, wyświetlana w Eximee Dashboard.key- treść informacji dodatkowejPrzykład:
Fluent API:
.label(label)- ustawienie etykiety informacji dodatkowej.key(key)- ustawienie treści informacji dodatkowejPrzykład:
Przykład pełnej konfiguracji nagłówka

processTabV1
processTabV1processTabV1(id, name, type, permission, data)
Tworzy konfigurację zakładki procesu. Przyjmuje pięć parametrów:
id- unikalny identyfikator zakładki.name- nazwa zakładki, wyświetlana w Eximee Dashboard.type- typ zakładki, określający jej funkcjonalność. Dostępne typy:usertask- zakładka zadania użytkownika. Dla tego typu w polu data należy zdefiniowaćuserTaskTabV1.documents- zakładka dokumentów. Dla tego typu w polu data należy zdefiniowaćdocumentsTabV1.external- zakładka komponentu zewnętrznego. Dla tego typu w polu data należy zdefiniowaćexternalComponentTabV1.form- zakładka formularza. Dla tego typu w polu data należy zdefiniowaćformTabV1.layout- zakładka pozwalająca na grupowanie wielu zakładek. Dla tego typu w polu data należy zdefiniowaćlayoutTabV1.process-details- systemowa zakładka zawierająca dane sprawyprocess-overview- systemowa zakładka zawierająca szczegóły procesu. Diagram bpmn oraz ewentualne incydenty.notes- systemowa zakładka z notatkami do procesu
permission- opcjonalne uprawnienie wymagane do wyświetlenia zakładki.data- dodatkowe dane konfiguracyjne, specyficzne dla typu zakładki (np.userTaskTabV1dla zakładek zadań użytkownika) - Definicje typów zakładek.Przykład:
Fluent API:
.id(id)- ustawienie identyfikatora zakładki.name(name)- ustawienie nazwy zakładki.type(type)- ustawienie typu zakładki.permission(permission)- ustawienie wymaganego uprawnienia.hidden()- oznacza zakładkę jako ukrytą, niedostępną dla użytkownika.data(data)- ustawienie dodatkowych danych konfiguracyjnych Przykład:
Przykład konfiguracji zakładki procesu (więcej typów zakładek w sekcji Definicje typów zakładek)

processTabHeaderV1
processTabHeaderV1processTabHeaderV1(title, standardButtonDisabled, businessSlot)
Tworzy konfigurację nagłówka zakładki procesu. Przyjmuje trzy parametry:
title- tytuł zakładki, wyświetlany w Eximee Dashboard.standardButtonDisabled- opcjonalna flaga, która pozwala wyłączyć standardowe przyciski (np. "Dalej", "Zapisz") w nagłówku zakładki - zależnie od typu zakładki.businessSlot- opcjonalna konfiguracja, która pozwala na osadzenie niestandardowego komponentu webowego w nagłówku zakładki. Należy dostarczyć definicjęwebComponentV1. Komponent zostanie wyświetlony gdystandardButtonDisabledbędzie ustawione natrue. W miejscu standardowych przycisków pojawi się wtedy slot, w którym zostanie osadzony komponent.Przykład:
Fluent API:
.title(title)- ustawienie tytułu zakładki.standardButtonDisabled(standardButtonDisabled)- ustawienie flagi wyłączającej standardowe przyciski.businessSlot(businessSlot)- ustawienie konfiguracji dodatkowego slotuPrzykład:
webComponentV1
webComponentV1webComponentV1(name, sources)
Tworzy konfigurację niestandardowego komponentu webowego, który może być osadzony w dedykowanych miejscach Eximee Dashboard np. w nagłówku zakładki (processTabHeaderV1). Przyjmuje dwa parametry:
tag- tag HTML webcomponentu.sources- źródła komponentu, określające, skąd ma być ładowany (np. URL do pliku JavaScript). Należy dostarczyć definicjęsourceV1.Przykład:
Fluent API:
.tag(tag)- ustawienie nazwy komponentu.sources(sources)- ustawienie listy źródeł komponentu.source(source)- ustawienie pojedynczego źródła komponentuPrzykład:
sourceV1
sourceV1sourceV1(path)
Tworzy konfigurację źródła dla niestandardowego komponentu webowego. Przyjmuje jeden parametr:
path- ścieżka do pliku JavaScript, z którego ma być ładowany komponent.Przykład:
Fluent API:
.path(path)- ustawienie ścieżki do źródłaPrzykład:
Definicje typów zakładek
userTaskTabV1
userTaskTabV1userTaskTabV1(processId, id, tabHeader, config, data)
Tworzy konfigurację zakładki dla zadania użytkownika. Przyjmuje pięć parametrów:
processId- identyfikator procesuid- unikalny identyfikator zakładkitabHeader- opcjonalna konfiguracja nagłówka zakładki (definicjaprocessTabHeaderV1).config- dodatkowa konfiguracja specyficzna dla zakładek zadań użytkownika.data- dodatkowe dane konfiguracyjne.Przykład:
Fluent API:
.processId(processId)- ustawienie identyfikatora procesu.id(id)- ustawienie identyfikatora zakładki.tabHeader(tabHeader)- ustawienie nagłówka zakładki.config(config)- ustawienie dodatkowej konfiguracji.data(key, value)- ustawienie dodatkowych parametrów konfiguracyjnychPrzykład:
Przykład konfiguracji zakładki zadania użytkownika:

layoutTabV1
layoutTabV1layoutTabV1(tabs) Tworzy konfigurację zakładki typu "layout", która pozwala na zdefiniowanie układu innych zakładek. Np. umieścić obok siebie webcomponent oraz formularz Eximee. Można określić dowolną ilość definicji - zakładki zostaną umieszczone obok siebie. Dostępna przestrzeń zostanie przydzielona równo dla każdej zakładki. Przyjmuje jeden parametr:
tabs- lista zakładek, które mają być wyświetlane w ramach tej zakładki typu "layout". Należy dostarczyć listę definicjiprocessTabV1.Przykład:
Fluent API:
.tabs(tabs)- ustawienie listy zakładek naraz.tab(tab)- dodanie pojedynczej zakładki (można wywołać wielokrotnie)Przykład:
Przykład konfiguracji zakładki typu "layout":

formTabV1
formTabV1formTabV1(processId, formId, tabHeader)
Tworzy konfigurację zakładki typu "form", która pozwala na osadzenie formularza. Przyjmuje trzy parametry:
processId- identyfikator procesu, do którego należy zakładka.formId- nazwa formularza, który ma być osadzony w zakładce.tabHeader- opcjonalna konfiguracja nagłówka zakładki (definicjaprocessTabHeaderV1).Przykład:
Fluent API:
.processId(processId)- ustawienie identyfikatora procesu.formId(formId)- ustawienie nazwy formularza.tabHeader(tabHeader)- ustawienie nagłówka zakładkiPrzykład:
Przykład konfiguracji zakładki formularza:

documentsTabV1
documentsTabV1documentsTabV1(groups)
Tworzy konfigurację zakładki typu "documents", która pozwala na wyświetlenie dokumentów przypisanych do procesu. Przyjmuje jeden parametr:
groups- lista grup dokumentów, które mają być wyświetlane w zakładce. Należy dostarczyć listę definicjidocumentGroupV1.Przykład:
Fluent API:
.groups(groups)- ustawienie listy grup naraz.group(group)- dodanie pojedynczej grupy (można wywołać wielokrotnie)Przykład:
documentGroupV1
documentGroupV1documentGroupV1(documents)
Tworzy konfigurację grupy dokumentów w zakładce "documents". Przyjmuje jeden parametr:
documents- lista dokumentów, które mają być wyświetlane w ramach tej grupy. Należy dostarczyć listę definicjidocumentV1.Przykład:
Fluent API:
.documents(documents)- ustawienie listy dokumentów naraz.document(document)- dodanie pojedynczego dokumentu (można wywołać wielokrotnie)Przykład:
documentV1
documentV1documentV1(name, source, typeName, style)
Tworzy konfigurację pojedynczego dokumentu w grupie dokumentów. Przyjmuje cztery parametry:
name- nazwa dokumentu, wyświetlana w Eximee Dashboard.source- źródło dokumentu, określające, skąd ma być pobierany (np. URL do pliku PDF).typeName- opcjonalna nazwa typu dokumentu, która może być wykorzystana do dodatkowej kategoryzacji.style- opcjonalna konfiguracja stylu wyświetlania dokumentu. Dostępne style dokumentu:primary
Przykład:
Fluent API:
.name(name)- ustawienie nazwy dokumentu.source(source)- ustawienie źródła dokumentu.typeName(typeName)- ustawienie nazwy typu dokumentu.style(style)- ustawienie konfiguracji styluPrzykład:
Przykład konfiguracji zakładki dokumentów:

externalComponentTabV1
externalComponentTabV1externalComponentTabV1(data, tabHeader, config)
Tworzy konfigurację zakładki typu "external", która pozwala na osadzenie zewnętrznego komponentu. Przyjmuje trzy parametry:
tabHeader- opcjonalna konfiguracja nagłówka zakładki (definicjaprocessTabHeaderV1).config- konfiguracja komponentu webowego, który ma być osadzony w zakładce. Należy dostarczyć definicjęwebComponentV1.data- dane konfiguracyjne specyficzne dla osadzanego komponentu.
Przykład: javascript externalComponentTabV1( { url: "https://example.com" }, processTabHeaderV1("Zewnętrzny komponent"), webComponentV1("custom-component", [sourceV1("https://example.com/custom-component.js")]) )
Fluent API:
.setData(data)- ustawienie całej mapy konfiguracyjnej dla komponentu naraz.data(key, value)- ustawienie pojedynczego wpisu konfiguracyjnego dla komponentu (można wywołać wielokrotnie).tabHeader(tabHeader)- ustawienie nagłówka zakładki.config(config)- ustawienie dodatkowej konfiguracjiPrzykład:
Przykład konfiguracji zakładki zewnętrznego komponentu

Ukrywanie systemowych zakładek
System domyślnie prezentuje zakładki szczegółów instnacji procesu:
formularz bieżącego zadania użytkownika,
dane procesu,
diagram bieżącego stanu,
historię wykonania.
Wskazane zakładki są generowane automatycznie i prezentowane na podstawie uprawnień zalogowanego użytkownika.
Istnieje możliwość ukrycia części systemowych zakładek zwracając dla nich przesłoniętą konfigurację. Możliwe jest stworzenie zakładki o id zgodnym z id zakładki systemowej i przesłonięcie jej konfiguracji wywołując na niej metodę .hidden().
Przykładowo, żeby ukryć trzy systemowe zakładki można zwrócić konfigurację:
Konkretne zakładki z ich id są opisane w kolejnym punkcie.
Systemowe zakładki instancji procesu
-
formularz bieżącego zadania użytkownika
nie, zawsze widoczna jeśli jest zadanie
process-details
podsumowania danych procesu
tak
process-overview
diagramu bieżącego stanu procesu
tak
history
historia zmian w procesie
tak
Ostatnia aktualizacja
Czy to było pomocne?
