@aquera/ngx-smart-table 0.0.32 → 0.0.34

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": "@aquera/ngx-smart-table",
3
- "version": "0.0.32",
3
+ "version": "0.0.34",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -4862,6 +4862,12 @@ declare class StTableComponent implements OnInit, OnChanges, OnDestroy, AfterVie
4862
4862
  triggerTop?: number;
4863
4863
  }>;
4864
4864
  readonly columnMenuContext: _angular_core.WritableSignal<ColumnActionContext | null>;
4865
+ readonly tableActionsMenuIsOpen: _angular_core.WritableSignal<boolean>;
4866
+ readonly tableActionsMenuPosition: _angular_core.WritableSignal<{
4867
+ x: number;
4868
+ y: number;
4869
+ }>;
4870
+ readonly tableActionsMenuView: _angular_core.WritableSignal<"main" | "columns">;
4865
4871
  readonly virtualScrollState: _angular_core.WritableSignal<VirtualScrollState | null>;
4866
4872
  readonly virtualScrollTotalHeight: _angular_core.Signal<number>;
4867
4873
  readonly virtualScrollOffsetY: _angular_core.Signal<number>;
@@ -4945,6 +4951,22 @@ declare class StTableComponent implements OnInit, OnChanges, OnDestroy, AfterVie
4945
4951
  showBottomPagination(): boolean;
4946
4952
  private validateConfiguration;
4947
4953
  onAddColumnClick(): void;
4954
+ onTableActionsButtonClick(position: {
4955
+ x: number;
4956
+ y: number;
4957
+ }): void;
4958
+ closeTableActionsMenu(): void;
4959
+ onTableActionsAddColumn(): void;
4960
+ openTableActionsColumnsView(): void;
4961
+ backToTableActionsMain(): void;
4962
+ onTableActionsToggleColumn(columnKey: string, event: Event): void;
4963
+ getTableActionsColumnsVisibility(): {
4964
+ key: string;
4965
+ header: string;
4966
+ visible: boolean;
4967
+ hideable: boolean;
4968
+ }[];
4969
+ tableActionsDropdownStyle(): Record<string, string | number>;
4948
4970
  onColumnCreated(column: ColumnConfig): void;
4949
4971
  onModalCancelled(): void;
4950
4972
  isVirtualScrollEnabled(): boolean;
@@ -4973,6 +4995,9 @@ declare class StTableComponent implements OnInit, OnChanges, OnDestroy, AfterVie
4973
4995
  private focusNextOutsideTable;
4974
4996
  /** Move focus to the last focusable element before the table host. */
4975
4997
  private focusPrevOutsideTable;
4998
+ private getFocusableOutsideTable;
4999
+ /** focus() can still no-op (inert ancestors, shadow hosts) — walk candidates until one takes focus. */
5000
+ private focusFirstThatTakesFocus;
4976
5001
  openColumnMenuFromKeyboard(columnIndex: number, isFirst: boolean, isLast: boolean): void;
4977
5002
  openColumnMenu(event: MouseEvent, column: ColumnConfig<any>, columnIndex: number, isFirst: boolean, isLast: boolean): void;
4978
5003
  closeColumnMenu(): void;
@@ -5589,78 +5614,15 @@ declare class StColumnEditorModalComponent implements OnInit, OnDestroy {
5589
5614
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StColumnEditorModalComponent, "st-column-editor-modal", never, {}, { "columnCreated": "columnCreated"; "cancelled": "cancelled"; }, never, never, true, never>;
5590
5615
  }
5591
5616
 
5592
- type MenuView = 'main' | 'columns';
5593
- declare class StTableActionsComponent implements OnInit, OnDestroy {
5594
- tableState: TableState;
5595
- allowAddColumn: boolean;
5596
- addColumnClicked: EventEmitter<void>;
5597
- isOpen: boolean;
5598
- currentView: MenuView;
5599
- columnsVisibility: {
5600
- key: string;
5601
- header: string;
5602
- visible: boolean;
5603
- hideable: boolean;
5604
- }[];
5605
- /**
5606
- * Dropdown positioning style
5607
- */
5608
- dropdownStyle: any;
5609
- private stateSubscription?;
5610
- constructor();
5611
- ngOnInit(): void;
5612
- ngOnDestroy(): void;
5613
- /**
5614
- * Update columns visibility list from current table state
5615
- */
5616
- private updateColumnsVisibility;
5617
- /**
5618
- * Subscribe to table state changes
5619
- */
5620
- private subscribeToStateChanges;
5621
- /**
5622
- * Toggle menu open/close
5623
- */
5624
- toggleMenu(event: Event): void;
5625
- /**
5626
- * Update dropdown position based on trigger button
5627
- */
5628
- private updateDropdownPosition;
5629
- /**
5630
- * Close menu
5631
- */
5632
- closeMenu(): void;
5633
- /**
5634
- * Handle add column action
5635
- */
5636
- onAddColumn(event: Event): void;
5637
- /**
5638
- * Open column visibility submenu
5639
- */
5640
- openColumnsSubmenu(event: Event): void;
5641
- /**
5642
- * Go back to main menu
5643
- */
5644
- backToMain(event: Event): void;
5645
- /**
5646
- * Toggle column visibility
5647
- */
5648
- onToggleColumn(columnKey: string, event: Event): void;
5649
- /**
5650
- * Check if column is visible
5651
- */
5652
- isColumnVisible(columnKey: string): boolean;
5653
- /**
5654
- * Check if column is hideable
5655
- */
5656
- isColumnHideable(column: {
5657
- key: string;
5658
- header: string;
5659
- visible: boolean;
5660
- hideable: boolean;
5661
- }): boolean;
5617
+ declare class StTableActionsComponent {
5618
+ isMenuOpen: boolean;
5619
+ menuButtonClicked: EventEmitter<{
5620
+ x: number;
5621
+ y: number;
5622
+ }>;
5623
+ onButtonClick(event: MouseEvent): void;
5662
5624
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StTableActionsComponent, never>;
5663
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StTableActionsComponent, "st-table-actions", never, { "tableState": { "alias": "tableState"; "required": false; }; "allowAddColumn": { "alias": "allowAddColumn"; "required": false; }; }, { "addColumnClicked": "addColumnClicked"; }, never, never, true, never>;
5625
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StTableActionsComponent, "st-table-actions", never, { "isMenuOpen": { "alias": "isMenuOpen"; "required": false; }; }, { "menuButtonClicked": "menuButtonClicked"; }, never, never, true, never>;
5664
5626
  }
5665
5627
 
5666
5628
  declare class StRowActionsDropdownComponent implements OnChanges {
@@ -5969,6 +5931,22 @@ declare class StWorkbookComponent implements OnInit, OnChanges, OnDestroy {
5969
5931
  private beforeUnloadHandler;
5970
5932
  /** Sheet ID rendered in the last updateActiveSheet — used to skip key bumps that would otherwise re-mount the content on every config update. */
5971
5933
  private lastRenderedSheetId;
5934
+ /**
5935
+ * Pipe-joined column.key sequence for the table currently mounted in the
5936
+ * shared panel. We compare this on every `updateActiveSheet` to detect
5937
+ * structural column changes (insert / remove / reorder) WITHIN the same
5938
+ * sheet id and trigger a `tableComponentKey` bump so <st-table> rebuilds
5939
+ * its cell grid. Header text / width / formatter changes do NOT change the
5940
+ * key sequence, so cosmetic config updates stay flicker-free.
5941
+ */
5942
+ private lastRenderedColumnKeys;
5943
+ /**
5944
+ * Monotonic counter appended to `tableComponentKey` so consecutive bumps
5945
+ * (e.g. two column changes in the same millisecond) are guaranteed unique
5946
+ * even when `Date.now()` collides — without this, Angular's `@for…track`
5947
+ * sees the same key and skips the destroy/recreate we need.
5948
+ */
5949
+ private tableComponentKeyCounter;
5972
5950
  constructor();
5973
5951
  ngOnInit(): void;
5974
5952
  ngOnChanges(changes: SimpleChanges): void;