@ascentgl/ads-ui 21.88.0 → 21.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ascentgl/ads-ui",
3
- "version": "21.88.0",
3
+ "version": "21.90.0",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">=21.0.0",
6
6
  "date-fns": ">=4.1.0",
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnChanges, SimpleChanges, OnDestroy, EventEmitter, ElementRef, SimpleChange, OnInit, AfterContentInit, Renderer2, AfterViewInit, ChangeDetectorRef, TemplateRef, DoCheck, PipeTransform, QueryList } from '@angular/core';
2
+ import { OnChanges, SimpleChanges, OnDestroy, EventEmitter, ElementRef, SimpleChange, OnInit, AfterContentInit, Renderer2, AfterViewInit, ChangeDetectorRef, TemplateRef, DoCheck, PipeTransform, AfterViewChecked, QueryList } from '@angular/core';
3
3
  import * as i4 from '@ascentgl/ads-icons';
4
4
  import { AdsIconRegistry, IconThemes } from '@ascentgl/ads-icons';
5
5
  import * as i2 from '@angular/common';
@@ -2878,7 +2878,7 @@ interface ColumnVisibilityControl {
2878
2878
  headerName: string;
2879
2879
  control: FormControl<boolean>;
2880
2880
  }
2881
- declare class AdsTableComponent implements AfterViewInit, OnChanges, OnDestroy {
2881
+ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {
2882
2882
  private elementRef;
2883
2883
  private registry;
2884
2884
  private cdr;
@@ -2912,6 +2912,8 @@ declare class AdsTableComponent implements AfterViewInit, OnChanges, OnDestroy {
2912
2912
  defaultViewMode: 'grid' | 'list';
2913
2913
  /** Template for rendering each row in list view mode */
2914
2914
  listItemTemplate?: TemplateRef<unknown>;
2915
+ /** Number of list view items to render per batch. Defaults to 50. */
2916
+ listBatchSize: number;
2915
2917
  /** Enable custom column sort/filter menu (optional, default false for backward compatibility) */
2916
2918
  enableCustomSortFilter: boolean;
2917
2919
  /** Change header buttons to mobile view */
@@ -2931,6 +2933,20 @@ declare class AdsTableComponent implements AfterViewInit, OnChanges, OnDestroy {
2931
2933
  viewChanged: EventEmitter<"list" | "grid">;
2932
2934
  /** @ignore - Current view mode: grid or list */
2933
2935
  isListView: i0.WritableSignal<boolean>;
2936
+ /** @ignore - Number of list rows currently rendered (grows in batches) */
2937
+ private renderedListCount;
2938
+ /** @ignore - Cached filtered row data for list view (avoids recalculating on every access) */
2939
+ private listRowDataCache;
2940
+ /** @ignore - Visible slice of list rows for incremental rendering */
2941
+ visibleListRows: i0.Signal<GENERIC_COLLECTION[]>;
2942
+ /** @ignore - Whether there are more rows to render */
2943
+ hasMoreListRows: i0.Signal<boolean>;
2944
+ /** @ignore - Sentinel element reference for IntersectionObserver */
2945
+ private listSentinelQuery;
2946
+ /** @ignore - IntersectionObserver for incremental list rendering */
2947
+ private listSentinelObserver?;
2948
+ /** @ignore - Currently observed sentinel element */
2949
+ private observedSentinelEl?;
2934
2950
  /** @ignore */
2935
2951
  menuTrigger: MatMenuTrigger;
2936
2952
  /** @ignore */
@@ -2993,6 +3009,10 @@ declare class AdsTableComponent implements AfterViewInit, OnChanges, OnDestroy {
2993
3009
  private refreshColumnHeaders;
2994
3010
  /** @ignore */
2995
3011
  ngAfterViewInit(): void;
3012
+ /** @ignore - Re-observe sentinel when ViewChildren change (e.g. after switching to list view) */
3013
+ ngAfterViewChecked(): void;
3014
+ /** @ignore - Set up IntersectionObserver on the sentinel element for incremental list rendering */
3015
+ private observeListSentinel;
2996
3016
  /** @ignore */
2997
3017
  private initializeColumnVisibility;
2998
3018
  /** @ignore */
@@ -3062,6 +3082,8 @@ declare class AdsTableComponent implements AfterViewInit, OnChanges, OnDestroy {
3062
3082
  filterChanged($event: FilterChangedEvent): void;
3063
3083
  /** @ignore - Toggle between grid view and list view */
3064
3084
  toggleView(): void;
3085
+ /** @ignore - Refresh the list view data cache and reset rendered count */
3086
+ private refreshListView;
3065
3087
  /** @ignore - Get filtered and sorted row data for list view */
3066
3088
  getFilteredRowData(): GENERIC_COLLECTION[];
3067
3089
  /**
@@ -3200,7 +3222,7 @@ declare class AdsTableComponent implements AfterViewInit, OnChanges, OnDestroy {
3200
3222
  protected readonly themeQuartz: ag_grid_community.Theme<ag_grid_community.ThemeDefaultParams>;
3201
3223
  protected readonly SpinnerSize: typeof SpinnerSize;
3202
3224
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsTableComponent, never>;
3203
- static ɵcmp: i0.ɵɵComponentDeclaration<AdsTableComponent, "ads-table", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "gridOptions": { "alias": "gridOptions"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "columnDefs": { "alias": "columnDefs"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "defaultColDef": { "alias": "defaultColDef"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "columnDefsByBreakpoint": { "alias": "columnDefsByBreakpoint"; "required": false; }; "showHeaderActions": { "alias": "showHeaderActions"; "required": false; }; "showChangeViewButton": { "alias": "showChangeViewButton"; "required": false; }; "defaultViewMode": { "alias": "defaultViewMode"; "required": false; }; "listItemTemplate": { "alias": "listItemTemplate"; "required": false; }; "enableCustomSortFilter": { "alias": "enableCustomSortFilter"; "required": false; }; "mobileHeaderView": { "alias": "mobileHeaderView"; "required": false; }; "showBorder": { "alias": "showBorder"; "required": false; }; "columnSortFilterConfigs": { "alias": "columnSortFilterConfigs"; "required": false; }; }, { "filtersCleared": "filtersCleared"; "columnFilterChanged": "columnFilterChanged"; "viewChanged": "viewChanged"; }, never, never, false, never>;
3225
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdsTableComponent, "ads-table", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "gridOptions": { "alias": "gridOptions"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "columnDefs": { "alias": "columnDefs"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "defaultColDef": { "alias": "defaultColDef"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "columnDefsByBreakpoint": { "alias": "columnDefsByBreakpoint"; "required": false; }; "showHeaderActions": { "alias": "showHeaderActions"; "required": false; }; "showChangeViewButton": { "alias": "showChangeViewButton"; "required": false; }; "defaultViewMode": { "alias": "defaultViewMode"; "required": false; }; "listItemTemplate": { "alias": "listItemTemplate"; "required": false; }; "listBatchSize": { "alias": "listBatchSize"; "required": false; }; "enableCustomSortFilter": { "alias": "enableCustomSortFilter"; "required": false; }; "mobileHeaderView": { "alias": "mobileHeaderView"; "required": false; }; "showBorder": { "alias": "showBorder"; "required": false; }; "columnSortFilterConfigs": { "alias": "columnSortFilterConfigs"; "required": false; }; }, { "filtersCleared": "filtersCleared"; "columnFilterChanged": "columnFilterChanged"; "viewChanged": "viewChanged"; }, never, never, false, never>;
3204
3226
  }
3205
3227
 
3206
3228
  declare class AdsTableButtonComponent {