@toolbox-web/grid 1.6.2 → 1.8.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.
Files changed (114) hide show
  1. package/README.md +51 -15
  2. package/all.js +267 -158
  3. package/all.js.map +1 -1
  4. package/index.js +866 -722
  5. package/index.js.map +1 -1
  6. package/lib/core/grid.d.ts +68 -1
  7. package/lib/core/grid.d.ts.map +1 -1
  8. package/lib/core/internal/header.d.ts.map +1 -1
  9. package/lib/core/plugin/base-plugin.d.ts +182 -1
  10. package/lib/core/plugin/base-plugin.d.ts.map +1 -1
  11. package/lib/core/plugin/index.d.ts +1 -1
  12. package/lib/core/plugin/index.d.ts.map +1 -1
  13. package/lib/core/plugin/plugin-manager.d.ts +56 -1
  14. package/lib/core/plugin/plugin-manager.d.ts.map +1 -1
  15. package/lib/core/plugin/types.d.ts +36 -0
  16. package/lib/core/plugin/types.d.ts.map +1 -1
  17. package/lib/core/types.d.ts +1349 -31
  18. package/lib/core/types.d.ts.map +1 -1
  19. package/lib/plugins/clipboard/ClipboardPlugin.d.ts.map +1 -1
  20. package/lib/plugins/clipboard/index.js +140 -87
  21. package/lib/plugins/clipboard/index.js.map +1 -1
  22. package/lib/plugins/column-virtualization/index.js +64 -7
  23. package/lib/plugins/column-virtualization/index.js.map +1 -1
  24. package/lib/plugins/context-menu/ContextMenuPlugin.d.ts.map +1 -1
  25. package/lib/plugins/context-menu/index.js +123 -65
  26. package/lib/plugins/context-menu/index.js.map +1 -1
  27. package/lib/plugins/editing/EditingPlugin.d.ts +6 -1
  28. package/lib/plugins/editing/EditingPlugin.d.ts.map +1 -1
  29. package/lib/plugins/editing/index.js +95 -13
  30. package/lib/plugins/editing/index.js.map +1 -1
  31. package/lib/plugins/export/index.js +91 -34
  32. package/lib/plugins/export/index.js.map +1 -1
  33. package/lib/plugins/filtering/FilteringPlugin.d.ts +6 -1
  34. package/lib/plugins/filtering/FilteringPlugin.d.ts.map +1 -1
  35. package/lib/plugins/filtering/index.js +192 -123
  36. package/lib/plugins/filtering/index.js.map +1 -1
  37. package/lib/plugins/grouping-columns/index.js +57 -0
  38. package/lib/plugins/grouping-columns/index.js.map +1 -1
  39. package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts +7 -2
  40. package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts.map +1 -1
  41. package/lib/plugins/grouping-rows/index.js +142 -60
  42. package/lib/plugins/grouping-rows/index.js.map +1 -1
  43. package/lib/plugins/master-detail/index.js +69 -12
  44. package/lib/plugins/master-detail/index.js.map +1 -1
  45. package/lib/plugins/multi-sort/index.js +70 -13
  46. package/lib/plugins/multi-sort/index.js.map +1 -1
  47. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts +3 -3
  48. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts.map +1 -1
  49. package/lib/plugins/pinned-columns/index.js +106 -36
  50. package/lib/plugins/pinned-columns/index.js.map +1 -1
  51. package/lib/plugins/pinned-rows/index.js +57 -0
  52. package/lib/plugins/pinned-rows/index.js.map +1 -1
  53. package/lib/plugins/pivot/index.js +57 -0
  54. package/lib/plugins/pivot/index.js.map +1 -1
  55. package/lib/plugins/print/PrintPlugin.d.ts.map +1 -1
  56. package/lib/plugins/print/index.js +58 -1
  57. package/lib/plugins/print/index.js.map +1 -1
  58. package/lib/plugins/reorder/ReorderPlugin.d.ts.map +1 -1
  59. package/lib/plugins/reorder/column-drag.d.ts +2 -2
  60. package/lib/plugins/reorder/index.js +68 -17
  61. package/lib/plugins/reorder/index.js.map +1 -1
  62. package/lib/plugins/responsive/ResponsivePlugin.d.ts +6 -1
  63. package/lib/plugins/responsive/ResponsivePlugin.d.ts.map +1 -1
  64. package/lib/plugins/responsive/index.js +125 -54
  65. package/lib/plugins/responsive/index.js.map +1 -1
  66. package/lib/plugins/row-reorder/index.js +169 -112
  67. package/lib/plugins/row-reorder/index.js.map +1 -1
  68. package/lib/plugins/selection/SelectionPlugin.d.ts +14 -2
  69. package/lib/plugins/selection/SelectionPlugin.d.ts.map +1 -1
  70. package/lib/plugins/selection/index.js +84 -7
  71. package/lib/plugins/selection/index.js.map +1 -1
  72. package/lib/plugins/server-side/index.js +79 -22
  73. package/lib/plugins/server-side/index.js.map +1 -1
  74. package/lib/plugins/tree/TreePlugin.d.ts +7 -1
  75. package/lib/plugins/tree/TreePlugin.d.ts.map +1 -1
  76. package/lib/plugins/tree/index.js +140 -58
  77. package/lib/plugins/tree/index.js.map +1 -1
  78. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts +6 -1
  79. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts.map +1 -1
  80. package/lib/plugins/undo-redo/index.js +79 -10
  81. package/lib/plugins/undo-redo/index.js.map +1 -1
  82. package/lib/plugins/visibility/index.js +57 -0
  83. package/lib/plugins/visibility/index.js.map +1 -1
  84. package/package.json +1 -1
  85. package/public.d.ts +80 -2
  86. package/public.d.ts.map +1 -1
  87. package/umd/grid.all.umd.js +25 -25
  88. package/umd/grid.all.umd.js.map +1 -1
  89. package/umd/grid.umd.js +15 -15
  90. package/umd/grid.umd.js.map +1 -1
  91. package/umd/plugins/clipboard.umd.js +5 -5
  92. package/umd/plugins/clipboard.umd.js.map +1 -1
  93. package/umd/plugins/context-menu.umd.js +1 -1
  94. package/umd/plugins/context-menu.umd.js.map +1 -1
  95. package/umd/plugins/editing.umd.js +1 -1
  96. package/umd/plugins/editing.umd.js.map +1 -1
  97. package/umd/plugins/filtering.umd.js +1 -1
  98. package/umd/plugins/filtering.umd.js.map +1 -1
  99. package/umd/plugins/grouping-rows.umd.js +2 -2
  100. package/umd/plugins/grouping-rows.umd.js.map +1 -1
  101. package/umd/plugins/pinned-columns.umd.js +1 -1
  102. package/umd/plugins/pinned-columns.umd.js.map +1 -1
  103. package/umd/plugins/print.umd.js +1 -1
  104. package/umd/plugins/print.umd.js.map +1 -1
  105. package/umd/plugins/reorder.umd.js +1 -1
  106. package/umd/plugins/reorder.umd.js.map +1 -1
  107. package/umd/plugins/responsive.umd.js +1 -1
  108. package/umd/plugins/responsive.umd.js.map +1 -1
  109. package/umd/plugins/selection.umd.js +2 -2
  110. package/umd/plugins/selection.umd.js.map +1 -1
  111. package/umd/plugins/tree.umd.js +1 -1
  112. package/umd/plugins/tree.umd.js.map +1 -1
  113. package/umd/plugins/undo-redo.umd.js +1 -1
  114. package/umd/plugins/undo-redo.umd.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PrintPlugin.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/print/PrintPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,KAAK,EAAuB,WAAW,EAAE,WAAW,EAAoB,MAAM,SAAS,CAAC;AAwB/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,qBAAa,WAAY,SAAQ,cAAc,CAAC,WAAW,CAAC;;IAC1D,gBAAgB;IAChB,QAAQ,CAAC,IAAI,WAAW;IAExB,gBAAgB;IAChB,SAAkB,OAAO,WAAW;IAEpC,gCAAgC;IAChC,SAAkB,MAAM,SAAU;IA8BlC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;;;;;;;;OAaG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiShD;;;OAGG;IACM,WAAW,IAAI,IAAI;CA2C7B"}
1
+ {"version":3,"file":"PrintPlugin.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/print/PrintPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,KAAK,EAAuB,WAAW,EAAE,WAAW,EAAoB,MAAM,SAAS,CAAC;AAwB/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,qBAAa,WAAY,SAAQ,cAAc,CAAC,WAAW,CAAC;;IAC1D,gBAAgB;IAChB,QAAQ,CAAC,IAAI,WAAW;IAExB,gBAAgB;IAChB,SAAkB,OAAO,WAAW;IAEpC,gCAAgC;IAChC,SAAkB,MAAM,SAAU;IA8BlC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;;;;;;;;OAaG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoShD;;;OAGG;IACM,WAAW,IAAI,IAAI;CA2C7B"}
@@ -239,6 +239,63 @@ class w {
239
239
  const i = new CustomEvent(t, { detail: e, bubbles: !0, cancelable: !0 });
240
240
  return this.grid?.dispatchEvent?.(i), i.defaultPrevented;
241
241
  }
242
+ // =========================================================================
243
+ // Event Bus - Plugin-to-Plugin Communication
244
+ // =========================================================================
245
+ /**
246
+ * Subscribe to an event from another plugin.
247
+ * The subscription is automatically cleaned up when this plugin is detached.
248
+ *
249
+ * @category Plugin Development
250
+ * @param eventType - The event type to listen for (e.g., 'filter-change')
251
+ * @param callback - The callback to invoke when the event is emitted
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * // In attach() or other initialization
256
+ * this.on('filter-change', (detail) => {
257
+ * console.log('Filter changed:', detail);
258
+ * });
259
+ * ```
260
+ */
261
+ on(t, e) {
262
+ this.grid?._pluginManager?.subscribe(this, t, e);
263
+ }
264
+ /**
265
+ * Unsubscribe from a plugin event.
266
+ *
267
+ * @category Plugin Development
268
+ * @param eventType - The event type to stop listening for
269
+ *
270
+ * @example
271
+ * ```typescript
272
+ * this.off('filter-change');
273
+ * ```
274
+ */
275
+ off(t) {
276
+ this.grid?._pluginManager?.unsubscribe(this, t);
277
+ }
278
+ /**
279
+ * Emit an event to other plugins via the Event Bus.
280
+ * This is for inter-plugin communication only; it does NOT dispatch DOM events.
281
+ * Use `emit()` to dispatch DOM events that external consumers can listen to.
282
+ *
283
+ * @category Plugin Development
284
+ * @param eventType - The event type to emit (should be declared in manifest.events)
285
+ * @param detail - The event payload
286
+ *
287
+ * @example
288
+ * ```typescript
289
+ * // Emit to other plugins (not DOM)
290
+ * this.emitPluginEvent('filter-change', { field: 'name', value: 'Alice' });
291
+ *
292
+ * // For DOM events that consumers can addEventListener to:
293
+ * this.emit('filter-change', { field: 'name', value: 'Alice' });
294
+ * ```
295
+ */
296
+ emitPluginEvent(t, e) {
297
+ this.grid?._pluginManager?.emitPluginEvent(t, e);
298
+ }
242
299
  /**
243
300
  * Request a re-render of the grid.
244
301
  */
@@ -542,7 +599,7 @@ Click OK to continue, or Cancel to abort.`
542
599
  window.removeEventListener("afterprint", e), t();
543
600
  };
544
601
  window.addEventListener("afterprint", e), window.print(), setTimeout(() => {
545
- window.removeEventListener("afterprint", e), t();
602
+ typeof window < "u" && window.removeEventListener("afterprint", e), t();
546
603
  }, 1e3);
547
604
  });
548
605
  }