Drzewa
Wiele wiodących produktów i wdrożeń szeroko wykorzystuje struktury drzewa w interfejsie użytkownika do wyświetlania hierarchicznych relacji między rekordami w systemie. Framework udostępnia obiekty do definiowania struktur drzew, reguły określające, w jaki sposób wypełniać węzły drzewa, oraz procesy służące do interpretowania konfiguracji i dynamicznego renderowania widoku drzewa.
Tematy dostępne w tej sekcji zawierają informacje na temat elementów udostępnianych we frameworku. Produkt użytkownika może udostępniać składniki interfejsu użytkownika z gotowymi drzewami do wykorzystania we wspólnych przypadkach użycia. Więcej informacji można znaleźć w dokumentacji produktu.
Wspólne atrybuty drzew
-
Drzewa mają pewną liczbę poziomów. Na danym poziomie mogą znajdować się różne typy węzłów drzewa; na przykład lista typów algorytmów skryptu, a po niej lista kroków skryptu. Aby lepiej identyfikować typ obiektu węzła, mogą być wyświetlane także ikony.
-
Najbardziej powszechne typy węzłów zawierają odwołania do jakiegoś obiektu w systemie, takiego jak schemat, skrypt, obszar danych itp. W węzłach tych zwykle wyświetlany jest łańcuch informacyjny z odwołania do klucza obcego obiektu i dostępna jest w nich możliwość przejścia do obiektu. Mogą one także umożliwiać rozsyłanie kontekstu węzła do innych stref portalu.
-
Oprócz możliwości przejścia do powiązanego obiektu wiele typów węzłów udostępnia menu kontekstowe zawierające dodatkowe ścieżki nawigacji.
-
Nie które węzły mają charakter czysto informacyjny i służą do grupowania zestawów węzłów podrzędnych należących do jakiegoś typu lub kategorii. Na przykład drzewo opcji obiektu biznesowego umożliwia grupowanie węzłów wartości opcji w węzłach podsumowań określających typ opcji.
W każdym drzewie zdefiniowane są węzły, które je tworzą, oraz relacje nadrzędności i podrzędności między węzłami. W węźle drzewa określone jest także, które ze wspólnych atrybutów mają zastosowanie w przypadku tego węzła, i zdefiniowane są algorytmy odpowiedzialne za pobieranie danych węzła oraz określające, jakie informacje dotyczące węzła będą wyświetlane (opcjonalnie).
Algorytm wypełniania węzła
W węźle wyświetlana jest kombinacja atrybutów wyszczególnionych powyżej, zwykle dla obiektu w kontekście. W przypadku węzła głównego obiekt zostanie uzyskany po prostu na podstawie wartości kontekstu globalnego lub kontekstu portalu, takiej jak bieżący skrypt. Kontekst węzłów niższego poziomu uzyskiwany jest w oparciu o pola kontekstu ich wierszy nadrzędnych. Przykładem mogą być algorytmy związane z określonym typem algorytmu.
Głównym zadaniem algorytmu wypełniania węzła jest pobranie kodu drzewa, nazwy węzła i wartości kontekstu nadrzędnego, stwierdzenie, czy są dostępne dane, które powinny zostać wyświetlone dla tego węzła, i zwrócenie listy pól i wartości kontekstu mających zastosowanie do każdego wiersza w węźle. Poniżej wyszczególniono dodatkowe informacje opcjonalne, które mogą być zwracane przez algorytm:
-
Informacje dotyczące obiektu. Jeśli węzeł jest powiązany z konkretnym obiektem, zwrócone mogą zostać wartości kodu obiektu obsługi i klucza głównego. Są one używane do określenia domyślnych informacji dotyczących węzła, w tym szczegółów nawigacji.
-
Wartość wyświetlanej ikony. Służy do nadpisywania ikony zdefiniowanej w węźle drzewa i/lub domyślnej ikony obiektu zdefiniowanej w obiekcie obsługi lub obiekcie biznesowym.
-
Informacyjny ciąg znaków. Może być używany do nadpisywania domyślnego informacyjnego ciągu znaków obiektu lub do wyświetlania samodzielnego tekstu, takiego jak podsumowanie lub opis węzłów podrzędnych, które można prześledzić.
Algorytm nadpisywania informacji
Algorytm nadpisywania informacji ma dwa główne cele:
-
Dostarczenie alternatywnego tekstu informacji dotyczących węzła drzewa, gdy dostarczone informacje nie są odpowiednie w przypadku wdrożenia użytkownika.
-
Pobranie obserwacji kontekstowych powiązanych z obiektem węzła drzewa w celu dołączenia ich do tekstu informacyjnego tego węzła. Obecnie obsługiwane są tylko typy obserwacji-etykiety.
Algorytm nadpisywania informacji otrzymuje wartości kodu drzewa, nazwy węzła, obiektu obsługi i klucza głównego dotyczące węzła. Poniżej wyszczególniono informacje, które mogą być zwracane przez algorytm:
-
Wartość wyświetlanej ikony.
-
Informacyjny ciąg znaków. Zostanie on wykorzystany do nadpisania domyślnego informacyjnego ciągu znaków w sformatowanym ciągu znaków węzła.
-
Pełny tekst węzła. Zostanie użyty jako pełny tekst do wyświetlenia, przesłaniający formatowanie zdefiniowane w węźle.
-
Lista typów obserwacji-etykiety i ich kontekstów.
Przygotowywanie węzła do wyświetlenia
W poniższej sekcji przedstawiono główne kroki wykonywane przy pobieraniu danych węzła i formatowaniu ich w celu ich wyświetlenia.
Określanie zawartości węzła
W celu pobrania składników potrzebnych do wyświetlenia węzła drzewa wykonywane są następujące kroki:
-
Uruchamiany jest algorytm wypełniania węzła, aby określić wszystkie węzły instancji związane z danym węzłem drzewa wraz z powiązanymi z nimi informacjami szczegółowymi.
-
Algorytm nadpisywania informacji jest wywoływany dla każdej instancji węzła, aby umożliwić opcjonalne nadpisanie szczegółów związanych z prezentacją.
Zawartość do wyświetlenia dotyczącą węzła określa się w następujący sposób:
-
Ikonę ustala się na podstawie następujących źródeł, w kolejności: definicja węzła drzewa, wartość algorytmu nadpisywania informacji, wartość algorytmu wypełniania węzła, wartość domyślna obiektu obsługi / obiektu biznesowego.
-
Użycie rozsyłania ustala się za pomocą ustawienia w definicji węzła drzewa.
-
Informacyjny ciąg znaków jest określany na podstawie następujących źródeł, w kolejności: wartość algorytmu nadpisywania informacji, wartość węzła wypełniania, algorytm informacji obiektu obsługi / obiektu biznesowego. Jeśli ciąg znaków jest uzyskiwany z algorytmu obiektu obsługi / obiektu biznesowego, wtedy wykorzystywany jest krótki tekst informacyjny, jeśli jest dostępny. W przeciwnym przypadku używa się standardowego tekstu informacyjnego.
-
Użycie menu kontekstowego ustala się za pomocą ustawienia w definicji węzła drzewa.
-
W systemie obsługiwane są różne style wierszy nagłówka, w tym także większa czcionka. Użycie stylu nagłówka ustala się za pomocą ustawienia w definicji drzewa i ma ono zastosowanie tylko w przypadku węzła głównego zawierającego tylko jedną instancję.
Format tekstu węzła
Tekst dotyczący węzłów zawierających odwołania do obiektu systemowego uwzględnia zwykle jakąś kombinację etykiety, klucza obiektu i informacyjnego ciągu znaków. Konfiguracja węzła zawiera pole etykiety oraz pole ciągu znaków formatu zastępczego, które może być używane do definiowania formatu tekstu węzła. Ciąg znaków formatu umożliwia zdefiniowanie, który z trzech składników powinien być uwzględniany w tekście, kolejność tych składników oraz dowolne otaczające znaczniki tekstowe i znaczniki języka HTML. Na przykład następujący ciąg znaków formatu ‘%label - %key - %info’ spowoduje, że tekst węzła będzie wyglądał jak w poniższym przykładzie:
Jeśli ciąg znaków formatu jest pusty, domyślny tekst będzie zawierał jedynie informację ‘%info’. Jeśli algorytm nadpisywania informacji jest skonfigurowany tak, że zwraca pełny tekst węzła, tekst ten jest wyświetlany bez dodatkowego formatowania.
Automatyczne rozwijanie
Jeśli definicja węzła drzewa wskazuje, że węzeł powinien zostać rozwinięty, wtedy system automatycznie pobierze i wyświetli dane jego węzła podrzędnego. Proces ten trwa do momentu, gdy nie ma już więcej węzłów podrzędnych oznaczonych jako rozwijane.
Drzewa dostarczane w pakiecie podstawowym
Drzewa są danymi systemowymi i używany produkt może już udostępniać różne drzewa w ramach podstawowej konfiguracji. Użytkownik może się zdecydować na dostosowanie drzewa dostarczanego w pakiecie podstawowym w następujący sposób:
-
Można dodawać własne węzły do istniejącej definicji drzewa.
-
Można nadpisywać informacyjny ciąg znaków węzła dodając własny algorytm nadpisywania informacji. Jeśli dla węzła skonfigurowany jest podstawowy algorytm nadpisywania, niestandardowy algorytm użytkownika powinien być dołączony z większą liczbą porządkową, aby mieć pierwszeństwo przed algorytmem podstawowym.
Renderowanie drzewa
Aby renderować drzewo w interfejsie użytkownika, użytkownik może dołączyć składnik sieciowy "ou-insight" do odwzorowania interfejsu użytkownika zawierający odwołanie do definicji tego drzewa.