Komponenty, które renderują HTML
Każdy widżet to klasa — TsgcHTMLComponent_Chart, TsgcHTMLComponent_Grid, TsgcHTMLComponent_Form i 60 kolejnych. Ustaw jego właściwości, a następnie odczytaj właściwość HTML, aby uzyskać czyste znaczniki Bootstrap 5 gotowe do udostępnienia.
Obsługiwane przez Twój własny serwer
Umieść komponent TsgcHTMLEngine_Server (lub podłącz HTML do istniejącego TsgcWebSocketHTTPServer). Żądania trafiają do Twojej procedury obsługi OnCommandGet; odpowiadasz stroną zbudowaną z komponentów. Bez zewnętrznego stosu webowego.
Interaktywność dzięki htmx
Dodaj komponent TsgcHTMX_Engine_Server, a kliknięcia, wysyłki formularzy i aktualizacje na żywo trafiają do Twoich procedur obsługi zdarzeń w Pascalu/C#. Serwer podmienia fragmenty HTML w miejscu — wrażenie aplikacji SPA, bez całego łańcucha budowania JavaScript.
Czas rzeczywisty przez WebSocket
Ponieważ htmx działa na serwerze sgcWebSockets, możesz wypychać na żywo HTML do każdej podłączonej przeglądarki. Pulpity, monitory i okna czatu aktualizują się w momencie zmiany danych — sterowane przez serwer, bez odpytywania.
Motywy i szablony
TsgcHTMLTemplate_Bootstrap opakowuje Twoją treść w kompletny responsywny dokument; TsgcHTMLThemeController i TsgcHTMLThemeBuilder zapewniają motywy jasny/ciemny oraz wspólny arkusz stylów. Bootstrap 5.3 i htmx dostarczane są jako wbudowane — bez CDN w czasie działania.
Bezpośrednie wiązanie z bazą danych
Grid, DataTable, Chart, Select, TreeView, Scheduler, Timeline i Form wiążą się bezpośrednio z TDataSet przez LoadFromDataSet / DataSource. Wskaż komponentowi zapytanie, a wyrenderuje on wiersze.
Zlokalizowany interfejs, 17 języków
sgcHTML dostarcza wbudowane teksty interfejsu (przyciski, etykiety, komunikaty walidacji) w 17 językach: angielskim, hiszpańskim, francuskim, niemieckim, portugalskim, włoskim, niderlandzkim, szwedzkim, norweskim, polskim, czeskim, tureckim, rosyjskim, chińskim, japońskim, koreańskim i arabskim. Wybierz jeden za pomocą sgcHTMLSetLanguage, a komponenty renderują się w języku odwiedzającego z poprawnymi natywnymi pismami, w tym CJK, cyrylicą i alfabetem arabskim.
Bezpieczne dane wyjściowe domyślnie
Każdy komponent przepuszcza swój dynamiczny tekst, atrybuty, wbudowany JavaScript i adresy URL przez automatyczne kodowanie HTML, atrybutów, JavaScript i URL oraz oczyszczanie adresów URL (sgcHTMLEncode, sgcHTMLAttrEncode, sgcJSEncode, sgcHTMLSanitizeURL), dzięki czemu dane użytkownika nie mogą wyrwać się ze swojego kontekstu i wstrzyknąć skryptu. Ochrona przed XSS i wstrzyknięciami działa bez dodatkowej pracy.