LiDataTableComponent class

High-performance AngularDart datatable with table/grid rendering, server-side data requests, selection, sorting, responsive columns, export, and virtual scroll support.

The component deliberately keeps DOM-sensitive orchestration local while delegating stateless template/context and CSS helper responsibilities to smaller files. That keeps the public API compatible and avoids additional work in the render path.

Annotations
  • @Component.new(selector: 'li-datatable', styleUrls: ['datatable_component.css', 'grid.css'], templateUrl: 'datatable_component.html', directives: [coreDirectives, limitlessFormDirectives, LiDropdownMenuPositionDirective, LiSafeHtmlDirective, LiCssStyleDirective, ...liTooltipDirectives, ...liPopoverDirectives, ...liPaginationDirectives], changeDetection: ChangeDetectionStrategy.onPush, exports: [DatatableRowType])

Constructors

LiDataTableComponent(Element rootElement, ChangeDetectorRef _changeDetectorRef)

Properties

allColumnsVisible → bool
no setter
allowSingleSelectionOnly ↔ bool
getter/setter pair
card ↔ DivElement?
getter/setter pair
cardTemplate ↔ TemplateRef?
getter/setter pair
collapseRowDetailsLabel ↔ String
getter/setter pair
compactPaginationButtonQuantity ↔ int
getter/setter pair
compactPaginationMaxWidth ↔ int
getter/setter pair
data ↔ DataFrame
getter/setter pair
dataRequest → Stream<Filters>
no setter
dataTableFilter ↔ Filters
getter/setter pair
debugInstrumentation ↔ bool
getter/setter pair
debugInstrumentationLabel ↔ String
getter/setter pair
deferInitialDrawUntilData ↔ bool
getter/setter pair
deferInitialDrawUntilVisible ↔ bool
getter/setter pair
disableHeaderPadding ↔ bool
getter/setter pair
disableRowClick ↔ bool
getter/setter pair
disableSearchEvent ↔ bool
getter/setter pair
emptyStateLabel ↔ String
getter/setter pair
enableGlobalSorting ↔ bool
getter/setter pair
enableGridMode ↔ bool
Enables the grid/card view and its toggle button.
getter/setter pair
enableMultiColumnSorting ↔ bool
getter/setter pair
enableResponsiveFeatures ↔ bool
Enables responsive collapse and responsive auto-hide features.
getter/setter pair
expandRowDetailsLabel ↔ String
getter/setter pair
expandsResponsiveDetailsOnRowClick → bool
Whether a click on the row body opens the responsive details instead of being reported through onRowClick.
no setter
exportMenuActions ↔ List<DatatableMenuAction>
getter/setter pair
exportMenuButtonTitle ↔ String
getter/setter pair
exportPdfLabel ↔ String
getter/setter pair
exportXlsxLabel ↔ String
getter/setter pair
fixedTableLayout ↔ bool
Opt-in for CSS table-layout: fixed.
getter/setter pair
footerTemplate ↔ TemplateRef?
getter/setter pair
footerTemplateContext → LiDatatableFooterContext
no setter
getCurrentPage → int
no setter
getCurrentTotalItems → int
no setter
gridMode ↔ bool
Requests grid/card rendering when enableGridMode allows it.
getter/setter pair
gridScrollContainer ↔ HtmlElement?
getter/setter pair
hasCustomCardTemplate → bool
no setter
hasCustomFooter → bool
no setter
hasCustomHeader → bool
no setter
hashCode → int
The hash code for this object.
no setterinherited
hasResponsiveCollapsedColumns → bool
no setter
headerTemplate ↔ TemplateRef?
getter/setter pair
headerTemplateContext → LiDatatableHeaderContext
no setter
hideAllColumnsLabel ↔ String
getter/setter pair
inputSearchElement → InputElement?
no setter
instrumentation → Stream<LiDatatableInstrumentationEvent>
no setter
isCompactPaginationViewport → bool
no setter
isEnglishLocale → bool
no setter
isGridVirtualScrollActive → bool
no setter
isLoading ↔ bool
getter/setter pair
isResponsiveTextWrapActive → bool
Se o container de rolagem deve deixar as células quebrarem linha.
no setter
isSaliPagedPerformanceProfile → bool
no setter
isSelectAll ↔ bool
getter/setter pair
isStickyTableHeaderOnVirtualScrollActive → bool
no setter
isTableVirtualScrollActive → bool
no setter
isVirtualScrollActive → bool
no setter
limitChange → Stream<Filters>
no setter
limitPerPageOptions ↔ List<int>
getter/setter pair
locale ↔ String
getter/setter pair
nullIsEmpty ↔ bool
getter/setter pair
numPages → int
no setter
onExportPdf ↔ DatatableExportPdfCallback?
getter/setter pair
onExportXlsx ↔ DatatableExportPdfCallback?
getter/setter pair
onRowClick → Stream
no setter
paginationButtonQuantity ↔ int
getter/setter pair
paginationSummaryText → String
no setter
performanceProfile ↔ DatatablePerformanceProfile
getter/setter pair
projectedCardTemplateDirective ↔ LiDatatableCardDirective?
getter/setter pair
projectedCellTemplateDirectives ↔ List<LiDatatableCellDirective>?
getter/setter pair
projectedFooterTemplateDirective ↔ LiDatatableFooterDirective?
getter/setter pair
projectedHeaderCellTemplateDirectives ↔ List<LiDatatableHeaderCellDirective>?
getter/setter pair
projectedHeaderTemplateDirective ↔ LiDatatableHeaderDirective?
getter/setter pair
renderedRows ↔ List<DatatableRenderedRow>
getter/setter pair
requestDataOnItemsPerPageChange ↔ bool
When enabled, changing the page size emits dataRequest and recalculates the offset like a regular page navigation instead of only emitting limitChange.
getter/setter pair
resolvedCardTemplate → TemplateRef?
no setter
resolvedEmptyStateLabel → String
no setter
resolvedFooterTemplate → TemplateRef?
no setter
resolvedGridContainerClass ↔ String
getter/setter pair
resolvedGridContainerStyleCss ↔ String
getter/setter pair
resolvedGridLayoutStyleCss ↔ String
getter/setter pair
resolvedGridScrollContainerStyleCss ↔ String
getter/setter pair
resolvedHeaderTemplate → TemplateRef?
no setter
resolvedPaginationButtonQuantity → int
no setter
resolvedScrollContainerStyleCss ↔ String
getter/setter pair
responsiveAutoHideColumns ↔ bool
getter/setter pair
responsiveCollapse ↔ bool
getter/setter pair
responsiveCollapseByContainer ↔ bool
getter/setter pair
responsiveCollapseContainerMaxWidth ↔ int
getter/setter pair
responsiveCollapseMaxWidth ↔ int
getter/setter pair
rootElement → Element
final
rows ↔ List<DatatableRow>
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scrollContainer ↔ HtmlElement?
getter/setter pair
searchButtonTitle ↔ String
getter/setter pair
searchInFields ↔ List<DatatableSearchField>
getter/setter pair
searchLabel ↔ String
getter/setter pair
searchPlaceholder ↔ String
getter/setter pair
searchRequest → Stream<Filters>
no setter
select → Stream
no setter
selectAll → Stream<List>
no setter
selectedSearchFieldIndex → int?
no setter
settings ↔ DatatableSettings
getter/setter pair
showAllColumnsLabel ↔ String
getter/setter pair
showCheckboxToSelectRow ↔ bool
getter/setter pair
showExportMenu ↔ bool
getter/setter pair
showGridView → bool
no setter
showResponsiveControlColumn → bool
Whether the dedicated expand/collapse column is currently rendered.
no setter
showTableView → bool
no setter
stickyTableHeaderOnVirtualScroll ↔ bool
getter/setter pair
table ↔ HtmlElement?
getter/setter pair
titleHelp → DatatableTitleHelpController
final
toggleColumnsButtonTitle ↔ String
getter/setter pair
toggleViewModeButtonTitle ↔ String
getter/setter pair
totalRecords ↔ int
getter/setter pair
totalRecordsLabel ↔ String
getter/setter pair
virtualBottomSpacerHeight → int
no setter
virtualGridItemHeight ↔ int
getter/setter pair
virtualGridMinItemWidth ↔ int
getter/setter pair
virtualOverscan ↔ int
getter/setter pair
virtualRowHeight ↔ int
getter/setter pair
virtualScroll ↔ bool
getter/setter pair
virtualSpacerColspan → int
no setter
virtualTopSpacerHeight → int
no setter
virtualViewportHeight ↔ String
getter/setter pair
visible ↔ bool
getter/setter pair

Methods

changeItemsPerPageHandler(SelectElement select) → void
changePage(int page) → void
changeViewMode() → void
changeVisibilityOfCol(DatatableCol col) → void
draw({String reason = 'manual'}) → void
drawPagination() → void
exportPdf([bool isPrint = false, bool isDownload = true]) → Future<void>
exportXlsx() → Future<void>
getAllSelected<T>() → List<T>
handleSearchFieldSelectChange(dynamic event, String? index) → void
handleSearchInputKeypress(dynamic e) → void
hasCellTemplateFor(DatatableCol column) → bool
hasHeaderCellTemplateFor(DatatableCol column) → bool
hasResponsiveHiddenColumns(DatatableRow row) → bool
hideLoading() → void
irParaPrimeiraPagina() → void
irParaUltimaPagina() → void
isColumnEffectivelyVisible(DatatableCol column) → bool
isFixedColumn(DatatableCol column) → bool
isLeftFixedColumn(DatatableCol column) → bool
isResponsiveControlColumn(DatatableRenderedRow view, DatatableCol column) → bool
isRightFixedColumn(DatatableCol column) → bool
isRowInteractive(DatatableRenderedRow view) → bool
isRuntimeResponsiveHidden(DatatableCol column) → bool
nextPage() → void
ngAfterChanges() → void
ngAfterViewInit() → void
ngOnDestroy() → void
Executed before the directive is removed from the DOM and destroyed.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onHeaderCellClick(MouseEvent event, DatatableCol colDefinition) → void
onOrder(DatatableCol colDefinition) → void
onRequestData() → void
onResponsiveControlClick(MouseEvent event, dynamic viewOrRow) → void
onResponsiveControlKeydown(KeyboardEvent event, dynamic viewOrRow) → void
Keyboard parity for the expand/collapse control, which lives on a cell rather than a button.
onRowElementClick(DatatableRenderedRow view) → void
Routes a click landing on the row itself rather than on the control.
onSearch() → void
onSelect(MouseEvent event, DatatableRow item) → void
onSelectAll(Event event) → void
onVirtualViewportScroll() → void
prevPage() → void
refresh({bool immediate = false}) → void
Discards the cached rows and redraws the table from the current data.
removeItem(dynamic element) → int
resolveCardTemplateContext(DatatableRow row, int rowIndex) → LiDatatableCardContext
resolveCellTemplateContext(DatatableRenderedRow view, DatatableCol column, int rowIndex, int columnIndex) → LiDatatableCellContext
resolveCellTemplateFor(DatatableCol column) → TemplateRef?
resolveChildRowColspan(DatatableRenderedRow view) → int
resolvedCellStyleCss(DatatableCol column, int index) → String
resolvedHeaderStyleCss(DatatableCol column, int index) → String
resolveHeaderCellTemplateContext(DatatableCol column, int columnIndex) → LiDatatableHeaderCellContext
resolveHeaderCellTemplateFor(DatatableCol column) → TemplateRef?
resolveResponsiveControlLabel(DatatableRenderedRow view) → String
responsiveHiddenColumns(DatatableRow row) → Iterable<DatatableCol>
rowClickHandler(DatatableRow row) → void
scheduleDraw({bool force = false, String reason = 'unspecified'}) → void
setInputSearchFocus() → void
showLoading() → void
syncContainerResizeObserverTarget() → void
Points the observer at the element that currently carries the width.
syncSelection(bool predicate(dynamic instance)) → void
toggleAllColumnsVisibility() → void
toggleResponsiveRowDetails(dynamic viewOrRow) → void
Expands or collapses the responsive details of viewOrRow.
toString() → String
A string representation of this object.
inherited
trackByColumnKey(int index, dynamic column) → Object?
trackByRenderedRow(int index, dynamic item) → Object?
trackByRow(int index, dynamic item) → Object?
unSelectAll() → void
unSelectItemInstance(dynamic item) → void
update() → void
Alias kept for backwards compatibility; prefer refresh.
usePlainTextCell(DatatableCol column) → bool
useSimpleHeaderTitle(DatatableCol column) → bool

Operators

operator ==(Object other) → bool
The equality operator.
inherited