Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej
Kolumna JS służy do tworzenia „niestandardowych kolumn” w tabelach, renderując zawartość każdej komórki w wierszu za pomocą JavaScript. Nie jest ona powiązana z konkretnym polem, dzięki czemu idealnie nadaje się do kolumn pochodnych, łączonych wyświetleń z wielu pól, wskaźników statusu, przycisków akcji czy agregacji danych zdalnych.

Podczas renderowania każdej komórki, Kolumna JS udostępnia następujące możliwości kontekstowe:
ctx.element: Kontener DOM bieżącej komórki (ElementProxy), obsługujący innerHTML, querySelector, addEventListener itp.;ctx.record: Obiekt rekordu bieżącego wiersza (tylko do odczytu);ctx.recordIndex: Indeks wiersza na bieżącej stronie (zaczyna się od 0, może być zależny od stronicowania);ctx.collection: Metadane kolekcji powiązanej z tabelą (tylko do odczytu);ctx.requireAsync(url): Asynchronicznie ładuje bibliotekę AMD/UMD pod wskazanym adresem URL;ctx.importAsync(url): Dynamicznie importuje moduł ESM pod wskazanym adresem URL;ctx.openView(options): Otwiera skonfigurowany widok (modal/szuflada/strona);ctx.i18n.t() / ctx.t(): Internacjonalizacja;ctx.onRefReady(ctx.ref, cb): Renderuje po przygotowaniu kontenera;ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Wbudowane biblioteki ogólnego przeznaczenia, takie jak React, ReactDOM, Ant Design, ikony Ant Design i dayjs, służące do renderowania JSX i obsługi czasu. (ctx.React / ctx.ReactDOM / ctx.antd są zachowane dla kompatybilności.)ctx.render(vnode): Renderuje element React/HTML/DOM do domyślnego kontenera ctx.element (bieżącej komórki). Wielokrotne renderowanie spowoduje ponowne użycie Root i nadpisanie istniejącej zawartości kontenera.Edytor skryptów Kolumny JS obsługuje podświetlanie składni, podpowiedzi błędów oraz wbudowane fragmenty kodu (Snippets).
Snippets: Otwiera listę wbudowanych fragmentów kodu, umożliwiając wyszukiwanie i wstawianie ich w bieżącej pozycji kursora jednym kliknięciem.Run: Bezpośrednio uruchamia bieżący kod. Dziennik wykonania jest wyświetlany w panelu Logs na dole, z obsługą console.log/info/warn/error oraz podświetlaniem błędów.
Mogą Państwo również skorzystać z pracownika AI do generowania kodu:
if (!lib) return;).class lub [name=...] zamiast stałych id, aby zapobiec duplikowaniu id w wielu blokach lub modalach.