Angular Datentabelle und paginierte Liste | ng-hub-ui-paginable

Angular Datentabelle und paginierte Liste mit serverseitiger Paginierung, Sortierung, Filterung, Auswahl, Templates und CSS-Variablen.

API-Referenz

Hier ist der vollständige Vertrag für paginable: alles, was du binden, abhören, projizieren und gestalten kannst, an einem Ort gesammelt. Verdrahte, was du brauchst, und gestalte, was du willst — es ist standalone und Signals-freundlich.

Inputs

Stelle paginable mit 10 Inputs ein. Binde sie wie jeden Angular-@Input.

NameTypStandardBeschreibung
dataErforderlichT[] | Observable<T[]>Array von Datenelementen, die in der Tabelle angezeigt werden, oder Observable, das Daten-Arrays ausgibt
headersErforderlichPaginableTableHeader[]Konfigurations-Array, das die Tabellenspalten und ihre Eigenschaften definiert
paginationPaginableTablePaginationPaginierungskonfiguration einschließlich Seitengröße, aktueller Seite und Gesamtzahl der Elemente
optionsPaginableTableOptionsAllgemeine Tabellenoptionen einschließlich Auswahlmodus, Ladezustand und responsivem Verhalten
loadingbooleanZeigt den Ladezustand mit Spinner-Overlay an
errorunknown | nullDOCS.PAGINABLE.API.INPUT.ERROR.DESCRIPTION
loadingComponentPaginableStateDefault | nullDOCS.PAGINABLE.API.INPUT.LOADING_COMPONENT.DESCRIPTION
errorComponentPaginableStateDefault | nullDOCS.PAGINABLE.API.INPUT.ERROR_COMPONENT.DESCRIPTION
noResultsComponentPaginableStateDefault | nullDOCS.PAGINABLE.API.INPUT.NO_RESULTS_COMPONENT.DESCRIPTION
selectedT[]Array der aktuell ausgewählten Elemente (Zwei-Wege-Bindung unterstützt)

Outputs

Reagiere darauf, was paginable tut — 5 Events, an die du deine Logik anknüpfen kannst.

NameTypBeschreibung
rowClickTableRowEvent<T>Wird ausgelöst, wenn auf eine Tabellenzeile geklickt wird; enthält Zeilendaten und Ereignisdetails
selectionChangeT[]Wird ausgelöst, wenn sich die Zeilenauswahl ändert; gibt ein Array der ausgewählten Elemente zurück
sortChangePaginableTableOrdination[]Wird ausgelöst, wenn sich die Spaltensortierung ändert; gibt die aktuelle Sortierkonfiguration zurück
filterChangeFilterChangeEventWird ausgelöst, wenn Filter angewendet oder geändert werden
pageChangePaginationStateWird ausgelöst, wenn sich die Paginierung ändert (Seitenzahl oder -größe)

Templates

Mach es zu deinem — 7 Template-Slots lassen dich eigenes Markup projizieren.

NameBeschreibungBeispiel
*paginableTableHeaderBenutzerdefiniertes Header-Template zum Definieren benutzerdefinierter Spaltenüberschriften<ng-template *paginableTableHeader="let column">{{ column.title }}</ng-template>
*paginableTableCellBenutzerdefiniertes Zellen-Template zum Anpassen des Renderns von Zelleninhalten<ng-template *paginableTableCell="let value; let row">{{ value }}</ng-template>
*paginableTableRowBenutzerdefiniertes Zeilen-Template zum Definieren der gesamten Zeilenstruktur<ng-template *paginableTableRow="let row"><tr>...</tr></ng-template>
*paginableTableFilterBenutzerdefiniertes Filter-Template zum Hinzufügen von Filter-UI-Elementen<ng-template *paginableTableFilter="let column"><input type="text"></ng-template>
*paginableTableLoadingLadezustands-Template für benutzerdefinierte Ladeindikatoren<ng-template *paginableTableLoading><div class="spinner"></div></ng-template>
*paginableNoResultsLeerzustands-Template, das angezeigt wird, wenn keine Daten verfügbar sind<ng-template *paginableNoResults><p>No data found</p></ng-template>
*paginableTableErrorFehlerzustands-Template zur Behandlung von Fehlerbedingungen<ng-template *paginableTableError="let error"><p>Error: {{ error }}</p></ng-template>

CSS-Variablen

Gestalte jedes Pixel mit 69 CSS-Variablen. Überschreibe sie auf :root oder begrenze sie auf einen Wrapper.

DOCS.PAGINABLE.API.CSS_GROUP.TABLE_COLORS.TITLE

DOCS.PAGINABLE.API.CSS_GROUP.TABLE_COLORS.DESCRIPTION

VariableStandardTypBeschreibung
--hub-table-container-bgvar(--hub-ref-color-white, #fff)color Background of the entire table container. #f8f9favar(--bs-body-bg)
--hub-table-container-colorvar(--hub-sys-text-primary, #212529)color Default text colour inside the container. #333inherit
--hub-table-bgvar(--hub-ref-color-white, #fff)color Table element background. transparent#fff
--hub-table-colorvar(--hub-sys-text-primary, #212529)color Table text colour. #495057
--hub-table-border-colorvar(--hub-sys-border-color-default, #dee2e6)color Border colour used for table, rows and cells. #ccctransparent
--hub-table-hover-bgcolor Row background on hover. rgba(0,0,0,.04)#f0f4f8
--hub-table-hover-colorcolor Row text colour on hover. inherit
--hub-table-striped-bgcolor Alternating stripe row background. rgba(0,0,0,.03)
--hub-table-striped-colorcolor Alternating stripe row text colour. inherit
--hub-table-active-bgvar(--hub-sys-state-active-bg, rgba(0,0,0,.1))color Selected/active row background. #e3f2fd
--hub-table-active-colorvar(--hub-sys-text-primary, #212529)color Selected/active row text colour. inherit

DOCS.PAGINABLE.API.CSS_GROUP.TABLE_LAYOUT.TITLE

DOCS.PAGINABLE.API.CSS_GROUP.TABLE_LAYOUT.DESCRIPTION

VariableStandardTypBeschreibung
--hub-table-border-radiusvar(--hub-ref-radius-md, 0.375rem)length Container corner radius. 00.5rem
--hub-table-border-widthvar(--hub-ref-border-width, 1px)length Border width. 02px
--hub-table-container-gapvar(--hub-ref-space-3, 1rem)length Gap between container regions (top bar, table, bottom bar). 0.5rem1.5rem
--hub-table-cell-padding-xvar(--hub-ref-space-3, 1rem)length Horizontal cell padding. 0.75rem1.5rem
--hub-table-cell-padding-yvar(--hub-ref-space-2, 0.5rem)length Vertical cell padding. 0.25rem0.75rem
--hub-table-cell-padding-x-smvar(--hub-ref-space-2, 0.5rem)length Horizontal cell padding in small/dense mode. 0.5rem
--hub-table-cell-padding-y-smvar(--hub-ref-space-1, 0.25rem)length Vertical cell padding in small/dense mode. 0.125rem
--hub-table-cell-vertical-alignmiddlestring Vertical alignment of cell content. topbottom

DOCS.PAGINABLE.API.CSS_GROUP.TABLE_BARS.TITLE

DOCS.PAGINABLE.API.CSS_GROUP.TABLE_BARS.DESCRIPTION

VariableStandardTypBeschreibung
--hub-table-top-bar-gapvar(--hub-ref-space-3, 1rem)length Gap between items in the top bar. 0.5rem
--hub-table-top-bar-justify-contentendstring Flex justify-content for the top bar. space-betweencenter
--hub-table-bottom-bar-gapvar(--hub-ref-space-3, 1rem)length Gap between items in the bottom bar. 0.5rem
--hub-table-bottom-bar-justify-contentspace-aroundstring Flex justify-content for the bottom bar. space-between
--hub-table-bottom-bar-paginator-order1number Flex order of the paginator in the bottom bar. 3
--hub-table-bottom-bar-settings-order2number Flex order of the settings control. 1
--hub-table-bottom-bar-info-order3number Flex order of the info text. 1

DOCS.PAGINABLE.API.CSS_GROUP.TABLE_SEARCH.TITLE

DOCS.PAGINABLE.API.CSS_GROUP.TABLE_SEARCH.DESCRIPTION

VariableStandardTypBeschreibung
--hub-table-search-border-radiuslength Search field border radius. 0.375rem9999px
--hub-table-search-input-bgcolor Search input background. #fff
--hub-table-search-input-colorcolor Search input text colour. #212529
--hub-table-search-button-bgcolor Search button background. var(--bs-primary)
--hub-table-search-button-colorcolor Search button icon/text colour. #fff

DOCS.PAGINABLE.API.CSS_GROUP.LIST_COLORS.TITLE

DOCS.PAGINABLE.API.CSS_GROUP.LIST_COLORS.DESCRIPTION

VariableStandardTypBeschreibung
--hub-list-bgcolor List host background. #ffftransparent
--hub-list-items-bgcolor Background of the items container. #f8f9fa
--hub-list-item-bgcolor Individual item background. #fff
--hub-list-item-colorcolor Individual item text colour. #212529
--hub-list-item-hover-bgcolor Item background on hover. rgba(0,0,0,.04)
--hub-list-item-selected-bgcolor Selected item background. #e3f2fd
--hub-list-item-selected-colorcolor Selected item text colour. inherit
--hub-list-item-border-colorcolor Item border colour. #dee2e6

DOCS.PAGINABLE.API.CSS_GROUP.LIST_LAYOUT.TITLE

DOCS.PAGINABLE.API.CSS_GROUP.LIST_LAYOUT.DESCRIPTION

VariableStandardTypBeschreibung
--hub-list-gaplength Gap between list items. 00.5rem
--hub-list-items-gaplength Gap inside the items wrapper. 0.25rem
--hub-list-padding-xlength Horizontal padding of the list host. 01rem
--hub-list-padding-ylength Vertical padding of the list host. 00.5rem
--hub-list-item-padding-xlength Horizontal padding of each item. 1rem1.25rem
--hub-list-item-padding-ylength Vertical padding of each item. 0.5rem0.75rem
--hub-list-border-radiuslength Container border radius. 0.375rem

DOCS.PAGINABLE.API.CSS_GROUP.LIST_CARDS.TITLE

DOCS.PAGINABLE.API.CSS_GROUP.LIST_CARDS.DESCRIPTION

VariableStandardTypBeschreibung
--hub-list-cards-columnsnumber Number of card columns (auto-fill when unset). 234
--hub-list-cards-min-column-widthlength Minimum column width for auto-fill grid. 200px280px
--hub-list-cards-gaplength Gap between cards. 0.75rem1.5rem
--hub-list-cards-bgcolor Card background. #fff
--hub-list-cards-border-colorcolor Card border colour. #dee2e6
--hub-list-cards-border-radiuslength Card corner radius. 0.5rem
--hub-list-cards-shadowshadow Card drop shadow. 0 2px 8px rgba(0,0,0,.1)
--hub-list-cards-hover-shadowshadow Card drop shadow on hover. 0 4px 16px rgba(0,0,0,.15)
--hub-list-cards-padding-xlength Card horizontal padding. 1rem
--hub-list-cards-padding-ylength Card vertical padding. 1rem

DOCS.PAGINABLE.API.CSS_GROUP.PAGINATOR.TITLE

DOCS.PAGINABLE.API.CSS_GROUP.PAGINATOR.DESCRIPTION

VariableStandardTypBeschreibung
--hub-paginator-link-bgcolor Page link background. #ffftransparent
--hub-paginator-link-colorcolor Page link text colour. var(--bs-primary)
--hub-paginator-link-border-colorcolor Page link border colour. #dee2e6
--hub-paginator-link-border-radiuslength Page link border radius. 0.375rem9999px
--hub-paginator-link-active-bgcolor Active page link background. var(--bs-primary)
--hub-paginator-link-active-colorcolor Active page link text colour. #fff
--hub-paginator-link-hover-bgcolor Hovered page link background. #f0f4f8
--hub-paginator-link-padding-xlength Page link horizontal padding. 0.625rem
--hub-paginator-link-padding-ylength Page link vertical padding. 0.375rem
--hub-paginator-font-sizelength Paginator font size. 0.875rem1rem
--hub-paginator-gaplength Gap between paginator controls. 0.25rem0.5rem
--hub-paginator-info-colorcolor Pagination info text colour. #6c757d
--hub-paginator-label-colorcolor Per-page label colour. #6c757d

Styling und Theming

Es sind noch keine Styling-Beispiele dokumentiert. Dieser Abschnitt wird Anpassungsrezepte und Theming-Beispiele enthalten.