Funkcja MojaOnLoad wykonuje następujące operacje na stronie internetowej. Na początku pokazuje element o identyfikatorze LISTA_DOKUMENTOW za pomocą metody show z biblioteki jQuery. Następnie pobiera dane z bazy danych przy użyciu funkcji ssDataSQL z określonym identyfikatorem.
Jeżeli pobrane dane nie są puste funkcja tworzy tabelę HTML z marginesami oraz odstępami między komórkami. W pętli dla każdego elementu z pobranych danych generuje wiersze tabeli zawierające następujące informacje:
- Kolor tabeli jest ustalany na podstawie wartości pola ACH przy pomocy funkcji getTableColor
- Data rozpoczęcia wydarzenia
- Ikona wydarzenia
- Data zakończenia wydarzenia
- Nazwa kontrahenta
- Informacje o przewoźniku jeśli są dostępne
- Dane kierowcy wraz z numerem telefonu jeśli są dostępne
- Numer rejestracyjny pojazdu jeśli jest dostępny
- Numer rejestracyjny naczepy jeśli jest dostępny
Po każdym wierszu dodawana jest pozioma linia oddzielająca. Na końcu cała wygenerowana tabela jest wstawiana do elementu o identyfikatorze formularz.
Funkcja getTableColor przyjmuje parametr ach i na jego podstawie zwraca odpowiedni kolor tekstu w tabeli:
- 1 - czarny
- 2 - zielony
- 3 - niebieski
- 4 - żółty
- domyślnie czerwony
Funkcja wykorzystuje obiekt colorMap do mapowania wartości na odpowiednie style CSS. Wynik działania funkcji jest wyświetlany w konsoli za pomocą console.log.
Działanie skryptu
Funkcja MojaOnLoad() to skrypt JavaScript, który dynamicznie generuje i formatuje listę dokumentów na stronie internetowej. Poniżej znajduje się szczegółowy opis jej działania:
1. Pobieranie danych:
Funkcja rozpoczyna od zlokalizowania elementu HTML o identyfikatorze LISTA_DOKUMENTOW. Następnie, za pomocą funkcji ssDataSQL(), pobiera dane identyfikowane przez specyficzny GUID. Pobrane dane są przechowywane w zmiennej cZrodlo.
2. Konstruowanie HTML:
W przypadku, gdy zmienna cZrodlo zawiera dane, inicjalizowana jest zmienna htmlPozycjeListy. Będzie ona przechowywać finalny kod HTML. Tworzona jest tabela HTML ze stylami.
3. Iteracja i formatowanie wierszy:
Funkcja iteruje po każdym elemencie w cZrodlo. Wewnątrz pętli, dla każdego elementu, tworzony jest wiersz tabeli zawierający datę rozpoczęcia (DATE_FROM2), datę zakończenia (DATE_TO2), nazwę kontrahenta (SKROCO) oraz opcjonalne informacje, takie jak przewoźnik (SKROCO_PRZ), kierowca (KIEROWCA_1), numer rejestracyjny auta (NRAUTA_1) i naczepy (NRNACZEPY).
4. Kolorowanie wierszy:
Dodatkowo, funkcja getTableColor(ach) jest wywoływana w celu dynamicznego ustawienia koloru tekstu w wierszu. Kolor zależy od wartości ACH i jest pobierany z mapy kolorów colorMap. Jeśli wartość ACH nie znajduje się w mapie, używany jest domyślny kolor czerwony.
5. Wyświetlanie rezultatów:
Po przetworzeniu wszystkich elementów, do zmiennej htmlPozycjeListy dodawany jest separator <div class='ssHr'>. Na koniec, wygenerowany kod HTML jest wstawiany do elementu o identyfikatorze formularz.
Funkcja getTableColor(ach):
Funkcja ta przyjmuje wartość ach jako argument. Jej zadaniem jest zwrócenie kodu HTML tabeli z odpowiednio ustawionym kolorem tekstu. getTableColor(ach) korzysta z obiektu colorMap w celu mapowania wartości ach na konkretne kolory. W przypadku braku dopasowania, zwracany jest domyślny kolor (czerwony).
Podsumowując, funkcja MojaOnLoad() dynamicznie pobiera dane, formatuje je w czytelną tabelę HTML i wyświetla użytkownikowi. Dodatkowo, kolorowanie wierszy na podstawie wartości ACH poprawia czytelność i wizualną prezentację danych.