@toolbox-web/grid-angular 1.5.0 → 1.5.1

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.
Files changed (74) hide show
  1. package/fesm2022/toolbox-web-grid-angular-features-clipboard.mjs +1 -1
  2. package/fesm2022/toolbox-web-grid-angular-features-clipboard.mjs.map +1 -1
  3. package/fesm2022/toolbox-web-grid-angular-features-column-virtualization.mjs +1 -1
  4. package/fesm2022/toolbox-web-grid-angular-features-column-virtualization.mjs.map +1 -1
  5. package/fesm2022/toolbox-web-grid-angular-features-context-menu.mjs +1 -1
  6. package/fesm2022/toolbox-web-grid-angular-features-context-menu.mjs.map +1 -1
  7. package/fesm2022/toolbox-web-grid-angular-features-editing.mjs +1 -1
  8. package/fesm2022/toolbox-web-grid-angular-features-editing.mjs.map +1 -1
  9. package/fesm2022/toolbox-web-grid-angular-features-export.mjs +1 -1
  10. package/fesm2022/toolbox-web-grid-angular-features-export.mjs.map +1 -1
  11. package/fesm2022/toolbox-web-grid-angular-features-grouping-columns.mjs +1 -1
  12. package/fesm2022/toolbox-web-grid-angular-features-grouping-columns.mjs.map +1 -1
  13. package/fesm2022/toolbox-web-grid-angular-features-grouping-rows.mjs +1 -1
  14. package/fesm2022/toolbox-web-grid-angular-features-grouping-rows.mjs.map +1 -1
  15. package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs +1 -2
  16. package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs.map +1 -1
  17. package/fesm2022/toolbox-web-grid-angular-features-multi-sort.mjs +1 -1
  18. package/fesm2022/toolbox-web-grid-angular-features-multi-sort.mjs.map +1 -1
  19. package/fesm2022/toolbox-web-grid-angular-features-pinned-columns.mjs +1 -1
  20. package/fesm2022/toolbox-web-grid-angular-features-pinned-columns.mjs.map +1 -1
  21. package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs +1 -1
  22. package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs.map +1 -1
  23. package/fesm2022/toolbox-web-grid-angular-features-pivot.mjs +1 -1
  24. package/fesm2022/toolbox-web-grid-angular-features-pivot.mjs.map +1 -1
  25. package/fesm2022/toolbox-web-grid-angular-features-print.mjs +1 -1
  26. package/fesm2022/toolbox-web-grid-angular-features-print.mjs.map +1 -1
  27. package/fesm2022/toolbox-web-grid-angular-features-reorder-columns.mjs +1 -1
  28. package/fesm2022/toolbox-web-grid-angular-features-reorder-columns.mjs.map +1 -1
  29. package/fesm2022/toolbox-web-grid-angular-features-reorder-rows.mjs +1 -1
  30. package/fesm2022/toolbox-web-grid-angular-features-reorder-rows.mjs.map +1 -1
  31. package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs +1 -2
  32. package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs.map +1 -1
  33. package/fesm2022/toolbox-web-grid-angular-features-row-drag-drop.mjs +1 -1
  34. package/fesm2022/toolbox-web-grid-angular-features-row-drag-drop.mjs.map +1 -1
  35. package/fesm2022/toolbox-web-grid-angular-features-selection.mjs +1 -1
  36. package/fesm2022/toolbox-web-grid-angular-features-selection.mjs.map +1 -1
  37. package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs +1 -1
  38. package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs.map +1 -1
  39. package/fesm2022/toolbox-web-grid-angular-features-tooltip.mjs +1 -1
  40. package/fesm2022/toolbox-web-grid-angular-features-tooltip.mjs.map +1 -1
  41. package/fesm2022/toolbox-web-grid-angular-features-tree.mjs +1 -1
  42. package/fesm2022/toolbox-web-grid-angular-features-tree.mjs.map +1 -1
  43. package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs +1 -1
  44. package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs.map +1 -1
  45. package/fesm2022/toolbox-web-grid-angular-features-visibility.mjs +1 -1
  46. package/fesm2022/toolbox-web-grid-angular-features-visibility.mjs.map +1 -1
  47. package/fesm2022/toolbox-web-grid-angular.mjs +17 -4
  48. package/fesm2022/toolbox-web-grid-angular.mjs.map +1 -1
  49. package/package.json +1 -1
  50. package/types/toolbox-web-grid-angular-features-clipboard.d.ts +1 -1
  51. package/types/toolbox-web-grid-angular-features-column-virtualization.d.ts +1 -1
  52. package/types/toolbox-web-grid-angular-features-context-menu.d.ts +1 -1
  53. package/types/toolbox-web-grid-angular-features-editing.d.ts +1 -1
  54. package/types/toolbox-web-grid-angular-features-export.d.ts +1 -1
  55. package/types/toolbox-web-grid-angular-features-grouping-columns.d.ts +1 -1
  56. package/types/toolbox-web-grid-angular-features-grouping-rows.d.ts +1 -1
  57. package/types/toolbox-web-grid-angular-features-master-detail.d.ts +1 -1
  58. package/types/toolbox-web-grid-angular-features-multi-sort.d.ts +1 -1
  59. package/types/toolbox-web-grid-angular-features-pinned-columns.d.ts +1 -1
  60. package/types/toolbox-web-grid-angular-features-pinned-rows.d.ts +1 -1
  61. package/types/toolbox-web-grid-angular-features-pivot.d.ts +1 -1
  62. package/types/toolbox-web-grid-angular-features-print.d.ts +1 -1
  63. package/types/toolbox-web-grid-angular-features-reorder-columns.d.ts +1 -1
  64. package/types/toolbox-web-grid-angular-features-reorder-rows.d.ts +1 -1
  65. package/types/toolbox-web-grid-angular-features-responsive.d.ts +1 -1
  66. package/types/toolbox-web-grid-angular-features-row-drag-drop.d.ts +1 -1
  67. package/types/toolbox-web-grid-angular-features-selection.d.ts +1 -1
  68. package/types/toolbox-web-grid-angular-features-server-side.d.ts +1 -1
  69. package/types/toolbox-web-grid-angular-features-tooltip.d.ts +1 -1
  70. package/types/toolbox-web-grid-angular-features-tree.d.ts +1 -1
  71. package/types/toolbox-web-grid-angular-features-undo-redo.d.ts +1 -1
  72. package/types/toolbox-web-grid-angular-features-visibility.d.ts +1 -1
  73. package/types/toolbox-web-grid-angular.d.ts +14 -1
  74. package/types/toolbox-web-grid-angular.d.ts.map +1 -1
@@ -12,7 +12,7 @@ import { registerFeatureClaim, claimEvent, unregisterFeatureClaim, unclaimEvent
12
12
  * @category Directive
13
13
  */
14
14
  /**
15
- * Owns the binding(s) `[visibility], [columnVisibility]` on `<tbw-grid>` for the matching feature plugin. See {@link GridFilteringDirective} for the full rationale.
15
+ * Owns the binding(s) `[visibility], [columnVisibility]` on `<tbw-grid>` for the matching feature plugin. See `GridFilteringDirective` for the full rationale.
16
16
  *
17
17
  * @category Directive
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"toolbox-web-grid-angular-features-visibility.mjs","sources":["../../../../libs/grid-angular/features/visibility/src/grid-visibility.directive.ts","../../../../libs/grid-angular/features/visibility/src/index.ts","../../../../libs/grid-angular/features/visibility/src/toolbox-web-grid-angular-features-visibility.ts"],"sourcesContent":["/**\n * `GridVisibilityDirective` — owns `[visibility]` and `(columnVisibility)`\n * on `<tbw-grid>`. The `(columnStateChange)` output stays on `Grid`\n * because it covers a broader set of column-state mutations beyond just\n * visibility toggles. See `GridFilteringDirective` for the full rationale.\n *\n * @category Directive\n */\nimport { Directive, ElementRef, inject, input, OnDestroy, OnInit, output } from '@angular/core';\nimport type { DataGridElement } from '@toolbox-web/grid';\nimport { claimEvent, registerFeatureClaim, unclaimEvent, unregisterFeatureClaim } from '@toolbox-web/grid-angular';\nimport type { ColumnVisibilityDetail, VisibilityConfig } from '@toolbox-web/grid/plugins/visibility';\n\n/**\n * Owns the binding(s) `[visibility], [columnVisibility]` on `<tbw-grid>` for the matching feature plugin. See {@link GridFilteringDirective} for the full rationale.\n *\n * @category Directive\n */\n@Directive({\n selector: 'tbw-grid[visibility], tbw-grid[columnVisibility]',\n standalone: true,\n})\nexport class GridVisibilityDirective implements OnInit, OnDestroy {\n private readonly elementRef = inject(ElementRef<DataGridElement>);\n\n readonly visibility = input<boolean | VisibilityConfig>();\n readonly columnVisibility = output<ColumnVisibilityDetail>();\n\n private listener?: (e: Event) => void;\n\n constructor() {\n const grid = this.elementRef.nativeElement;\n registerFeatureClaim(grid, 'visibility', () => this.visibility());\n claimEvent(grid, 'column-visibility');\n }\n\n ngOnInit(): void {\n const grid = this.elementRef.nativeElement;\n this.listener = (e: Event): void => this.columnVisibility.emit((e as CustomEvent<ColumnVisibilityDetail>).detail);\n grid.addEventListener('column-visibility', this.listener);\n }\n\n ngOnDestroy(): void {\n const grid = this.elementRef.nativeElement;\n if (this.listener) {\n grid.removeEventListener('column-visibility', this.listener);\n this.listener = undefined;\n }\n unregisterFeatureClaim(grid, 'visibility');\n unclaimEvent(grid, 'column-visibility');\n }\n}\n","/**\n * Column visibility feature for @toolbox-web/grid-angular\n *\n * Import this module to enable the `visibility` input on Grid directive.\n *\n * @example\n * ```typescript\n * import '@toolbox-web/grid-angular/features/visibility';\n *\n * <tbw-grid [visibility]=\"true\" />\n * ```\n *\n * @packageDocumentation\n */\n\nimport '@toolbox-web/grid/features/visibility';\nexport { GridVisibilityDirective } from './grid-visibility.directive';\nexport type { _Augmentation as _VisibilityAugmentation } from '@toolbox-web/grid/features/visibility';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;;;;;;;AAOG;AAMH;;;;AAIG;MAKU,uBAAuB,CAAA;AACjB,IAAA,UAAU,GAAG,MAAM,EAAC,UAA2B,EAAC;IAExD,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA8B;IAChD,gBAAgB,GAAG,MAAM,EAA0B;AAEpD,IAAA,QAAQ;AAEhB,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAC1C,QAAA,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;AACjE,QAAA,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACvC;IAEA,QAAQ,GAAA;AACN,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAQ,KAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAyC,CAAC,MAAM,CAAC;QACjH,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC;IAC3D;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAC1C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC5D,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;QAC3B;AACA,QAAA,sBAAsB,CAAC,IAAI,EAAE,YAAY,CAAC;AAC1C,QAAA,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACzC;uGA5BW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kDAAkD;AAC5D,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACrBD;;;;;;;;;;;;;AAaG;;ACbH;;AAEG;;;;"}
1
+ {"version":3,"file":"toolbox-web-grid-angular-features-visibility.mjs","sources":["../../../../libs/grid-angular/features/visibility/src/grid-visibility.directive.ts","../../../../libs/grid-angular/features/visibility/src/index.ts","../../../../libs/grid-angular/features/visibility/src/toolbox-web-grid-angular-features-visibility.ts"],"sourcesContent":["/**\n * `GridVisibilityDirective` — owns `[visibility]` and `(columnVisibility)`\n * on `<tbw-grid>`. The `(columnStateChange)` output stays on `Grid`\n * because it covers a broader set of column-state mutations beyond just\n * visibility toggles. See `GridFilteringDirective` for the full rationale.\n *\n * @category Directive\n */\nimport { Directive, ElementRef, inject, input, OnDestroy, OnInit, output } from '@angular/core';\nimport type { DataGridElement } from '@toolbox-web/grid';\nimport { claimEvent, registerFeatureClaim, unclaimEvent, unregisterFeatureClaim } from '@toolbox-web/grid-angular';\nimport type { ColumnVisibilityDetail, VisibilityConfig } from '@toolbox-web/grid/plugins/visibility';\n\n/**\n * Owns the binding(s) `[visibility], [columnVisibility]` on `<tbw-grid>` for the matching feature plugin. See `GridFilteringDirective` for the full rationale.\n *\n * @category Directive\n */\n@Directive({\n selector: 'tbw-grid[visibility], tbw-grid[columnVisibility]',\n standalone: true,\n})\nexport class GridVisibilityDirective implements OnInit, OnDestroy {\n private readonly elementRef = inject(ElementRef<DataGridElement>);\n\n readonly visibility = input<boolean | VisibilityConfig>();\n readonly columnVisibility = output<ColumnVisibilityDetail>();\n\n private listener?: (e: Event) => void;\n\n constructor() {\n const grid = this.elementRef.nativeElement;\n registerFeatureClaim(grid, 'visibility', () => this.visibility());\n claimEvent(grid, 'column-visibility');\n }\n\n ngOnInit(): void {\n const grid = this.elementRef.nativeElement;\n this.listener = (e: Event): void => this.columnVisibility.emit((e as CustomEvent<ColumnVisibilityDetail>).detail);\n grid.addEventListener('column-visibility', this.listener);\n }\n\n ngOnDestroy(): void {\n const grid = this.elementRef.nativeElement;\n if (this.listener) {\n grid.removeEventListener('column-visibility', this.listener);\n this.listener = undefined;\n }\n unregisterFeatureClaim(grid, 'visibility');\n unclaimEvent(grid, 'column-visibility');\n }\n}\n","/**\n * Column visibility feature for @toolbox-web/grid-angular\n *\n * Import this module to enable the `visibility` input on Grid directive.\n *\n * @example\n * ```typescript\n * import '@toolbox-web/grid-angular/features/visibility';\n *\n * <tbw-grid [visibility]=\"true\" />\n * ```\n *\n * @packageDocumentation\n */\n\nimport '@toolbox-web/grid/features/visibility';\nexport { GridVisibilityDirective } from './grid-visibility.directive';\nexport type { _Augmentation as _VisibilityAugmentation } from '@toolbox-web/grid/features/visibility';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;;;;;;;AAOG;AAMH;;;;AAIG;MAKU,uBAAuB,CAAA;AACjB,IAAA,UAAU,GAAG,MAAM,EAAC,UAA2B,EAAC;IAExD,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA8B;IAChD,gBAAgB,GAAG,MAAM,EAA0B;AAEpD,IAAA,QAAQ;AAEhB,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAC1C,QAAA,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;AACjE,QAAA,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACvC;IAEA,QAAQ,GAAA;AACN,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAQ,KAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAyC,CAAC,MAAM,CAAC;QACjH,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC;IAC3D;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAC1C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC5D,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;QAC3B;AACA,QAAA,sBAAsB,CAAC,IAAI,EAAE,YAAY,CAAC;AAC1C,QAAA,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACzC;uGA5BW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kDAAkD;AAC5D,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACrBD;;;;;;;;;;;;;AAaG;;ACbH;;AAEG;;;;"}
@@ -1450,13 +1450,11 @@ function runTemplateBridges(ctx) {
1450
1450
  const result = bridge(ctx);
1451
1451
  if (result && typeof result.catch === 'function') {
1452
1452
  result.catch((err) => {
1453
- // eslint-disable-next-line no-console
1454
1453
  console.error('[tbw-grid-angular] template bridge threw:', err);
1455
1454
  });
1456
1455
  }
1457
1456
  }
1458
1457
  catch (err) {
1459
- // eslint-disable-next-line no-console
1460
1458
  console.error('[tbw-grid-angular] template bridge threw:', err);
1461
1459
  }
1462
1460
  }
@@ -2307,6 +2305,23 @@ class GridAdapter {
2307
2305
  }
2308
2306
  }
2309
2307
  }
2308
+ /**
2309
+ * Open a teardown batch. No-op for the Angular adapter — `viewRef.destroy()`
2310
+ * and `componentRef.destroy()` are synchronous DOM operations with no
2311
+ * deferred-commit warning analogous to React's `flushSync`. Implemented
2312
+ * for {@link FrameworkAdapter} parity so grid core's bulk-teardown
2313
+ * wrappers work uniformly across adapters.
2314
+ */
2315
+ beginBatch(_gridEl) {
2316
+ // intentionally empty
2317
+ }
2318
+ /**
2319
+ * Close a teardown batch opened by {@link beginBatch}. No-op for Angular —
2320
+ * see {@link beginBatch}.
2321
+ */
2322
+ endBatch(_gridEl) {
2323
+ // intentionally empty
2324
+ }
2310
2325
  /**
2311
2326
  * Unmount a specific container (e.g., detail panel, tool panel).
2312
2327
  * Finds the matching view or component ref whose DOM nodes are inside
@@ -6157,7 +6172,6 @@ class Grid {
6157
6172
  _intentionallyOmittedEvents;
6158
6173
  _assertEventOutputMapCoversCore;
6159
6174
  // Store event listeners for cleanup
6160
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6161
6175
  eventListeners = new Map();
6162
6176
  ngOnInit() {
6163
6177
  // Create and register the adapter
@@ -6214,7 +6228,6 @@ class Grid {
6214
6228
  * Returns the array of created plugins (doesn't modify grid).
6215
6229
  */
6216
6230
  createFeaturePlugins() {
6217
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6218
6231
  const plugins = [];
6219
6232
  const adapter = this.adapter;
6220
6233
  const grid = this.elementRef.nativeElement;