Wstęp
Gałąź filtrowana służy do wyświetlania dokumentów w drzewie, gdzie każdy dokument jest reprezentowany przez osobną gałąź. Tekst w gałęzi może zawierać wartości indeksów danego dokumentu, aby uprościć wyszukanie konkretnego dokumentu przez użytkownika. Gałąź ta daje również możliwość bezpośredniego podglądu dokumentu przez kliknięcie w tekst Otwórz dokument. Gałąź ta nie daje możliwości usuwania, dodawania, edytowania dokumentów. Lista gałęzi dla danej konfiguracji jest zawsze równa liczbie znalezionych dokumentów. Aby stworzyć gałąź filtrowaną, należy użyć parametru filteredChildren, którego wartością jest obiekt zawierający poniższe parametry konfiguracyjne.
Parametry konfiguracyjne
- documentClassId (number) - id klasy dokumentów, której dokumenty mają zostać wyświetlone
textFormatter (string) - tekst zawierający znaczniki, w które zostaną podstawione wartości indeksów dokumentu. Aby podstawić wartość indeksu, należy umieścić jego identyfikator w nawiasach klamrowych np. "Stały tekst {id_indeksu1}, stały tekst 2 {id_indeksu2}"
- filter (object) - obiekt filtru indeksów. Możliwe jest podanie operatora porównania wartości indeksu. Możliwe jest też grupowanie filtrów (analogicznie do nawiasów w zapytaniu SQL). Możliwe operatory to: OR, AND, LIKE, NOTLIKE, EQ, NOTEQ, ISNULL, NOTNULL, GT, LT, GE, LE, ILIKE, NOTILIKE. Dokładniejszy opis poniżej.
Poza filtrami w parametrze filter uwzględnione są również wszystkie filtry gałęzi na wyższych poziomach drzewa poprzez funkcję logiczną AND (muszą być spełnione wszystkie filtry gałęzi "rodziców"). Dotyczy gałęzi filtrowanych oraz unikalnych.
Przykłady
Prosta konfiguracja
{ "staticChildren": [ { "text": "Umowy", "filteredChildren": { "documentClassId": 1, "textFormatter": "Wartość indeksu o id równym 1 = {1}" } } ] }
Wynik
Filtrowanie
Możliwe jest dodanie filtrowania w parametrze filter, który umożliwia tworzenie trudniejszych zapytań podobnych do języka SQL. Obsługiwane operatory zostały przedstawione powyżej. Przykładowa konfiguracja pokazująca strukturę obiektu:
{ "staticChildren": [ { "text": "Umowy", "filteredChildren": { "documentClassId": 1, "textFormatter": "Wartość indeksu o id równym 1 = {1}", "filter": { "operator": "OR", "group": [ { "indexId": 1, "value": "tekst 1", "operator": "ILIKE" }, { "indexId": 1, "value": "tekst 2", "operator": "ILIKE" } ] } } } ] }
Dla operatorów logicznych OR i AND należy używać parametru group jak wyżej. Dla parametrów porównujących wartości należy używać parametrów indexId, value, operator.
Wynik
Add Comment