Używanie ID w adresie URL
Jak stworzyć hierarchiczną strukturę danych
Użycie zmiennych globalnych nie jest w stanie pokryć wszystkich przypadków - nie będziemy mogli podać linku do wybranego wpisu. W końcu wartość zmiennej jest przechowywana tylko w zakładce przeglądarki, w której została ustawiona. Aby rozwiązać ten problem, możliwe jest wpisanie niezbędnych informacji bezpośrednio do adresu URL i przekazanie dokładnego linku do konkretnego elementu.
Zobaczmy, jak to zrobić na konkretnym przykładzie. Zróbmy tak, aby w tabeli z listą krajów podwójne kliknięcie na dowolnym wierszu otwierało informacje tylko o tych miastach, które należą do tego kraju. Pozwoli nam to zaimplementować nawigację z hierarchiczną strukturą danych, gdy można przechodzić z elementu nadrzędnego do jego elementów potomnych.
Ustawienia strony
Przede wszystkim należy zmienić adres strony z tablicą miast. Aby to zrobić, otwórz ustawienia odpowiedniego elementu menu i określ :id w adresie URL.
Następnie należy ustawić nawigację, która powinna nie tylko przejść do wskazanej strony, ale także dodać parametr ID do adresu URL. Aby to zrobić, wróćmy do tabeli z listą krajów i ustawmy akcje na onRowDoubleClick trigger. Teraz dwukrotne kliknięcie na wiersz w tabeli spowoduje przejście do strony, której adres będzie zawierał ID wybranego rekordu.
Proces biznesowy w celu uzyskania ID z adresu URL
Kolejnym krokiem jest uzyskanie danego ID z adresu URL. Funkcja ta może być potrzebna w różnych procesach biznesowych, dlatego najlepszym rozwiązaniem będzie stworzenie dla niej osobnej funkcji. Można ją utworzyć w odpowiedniej zakładce sekcji aplikacji internetowych. Jednocześnie, w przeciwieństwie do procesów biznesowych, które zostały wcześniej utworzone dla backendu, nie będzie ona wykonywana na serwerze, lecz bezpośrednio na urządzeniu użytkownika, który ją uruchomił.
W procesie biznesowym wykorzystujemy następujące bloki:
- Get Current Page, aby uzyskać aktualny adres URL.
- Split string, aby rozbić adres URL na osobne bloki, wybierając "/" jako delimiter.
- Dla konkretnej strony mogliśmy od razu określić pożądany String z wynikowej tablicy przez jej indeks. Ale proces biznesowy jest uniwersalny i może być użyty dla adresu URL o innej strukturze, więc lepiej nieco skomplikować logikę. Sprawdźmy liczbę elementów String w tablicy po podziale za pomocą bloku Array size blok.
- Używając Subtract odejmij 3 od otrzymanej ilości (nasz element jest drugi od końca, a sama numeracja indeksów zaczyna się od 0).
- Przekaż obliczoną wartość jako indeks do Array Element aby uzyskać z tablicy wymaganą wartość String.
- Dokonaj ostatecznej konwersji String to Integer.
I teraz musimy już tylko wykorzystać wartość z utworzonego procesu biznesowego w GET żądaniach, aby pobrać dane do tabeli.