photon-grid-core 0.0.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.
- package/LICENSE +1 -0
- package/README.md +0 -0
- package/cell-selection/active-grid-registry.d.ts +37 -0
- package/cell-selection/active-grid-registry.d.ts.map +1 -0
- package/cell-selection/active-grid-registry.js +25 -0
- package/cell-selection/active-grid-registry.js.map +1 -0
- package/cell-selection/cell-selection-engine.d.ts +336 -0
- package/cell-selection/cell-selection-engine.d.ts.map +1 -0
- package/cell-selection/cell-selection-engine.js +1534 -0
- package/cell-selection/cell-selection-engine.js.map +1 -0
- package/cell-selection/selection-range.d.ts +16 -0
- package/cell-selection/selection-range.d.ts.map +1 -0
- package/cell-selection/selection-range.js +48 -0
- package/cell-selection/selection-range.js.map +1 -0
- package/cell-selection/selection-renderer.d.ts +24 -0
- package/cell-selection/selection-renderer.d.ts.map +1 -0
- package/cell-selection/selection-renderer.js +107 -0
- package/cell-selection/selection-renderer.js.map +1 -0
- package/chart/chart-analyzer/aggregation-analyzer.d.ts +18 -0
- package/chart/chart-analyzer/aggregation-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/aggregation-analyzer.js +63 -0
- package/chart/chart-analyzer/aggregation-analyzer.js.map +1 -0
- package/chart/chart-analyzer/bar-analyzer.d.ts +19 -0
- package/chart/chart-analyzer/bar-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/bar-analyzer.js +56 -0
- package/chart/chart-analyzer/bar-analyzer.js.map +1 -0
- package/chart/chart-analyzer/bubble-analyzer.d.ts +16 -0
- package/chart/chart-analyzer/bubble-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/bubble-analyzer.js +61 -0
- package/chart/chart-analyzer/bubble-analyzer.js.map +1 -0
- package/chart/chart-analyzer/cardinality-analyzer.d.ts +13 -0
- package/chart/chart-analyzer/cardinality-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/cardinality-analyzer.js +28 -0
- package/chart/chart-analyzer/cardinality-analyzer.js.map +1 -0
- package/chart/chart-analyzer/dimension-analyzer.d.ts +12 -0
- package/chart/chart-analyzer/dimension-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/dimension-analyzer.js +33 -0
- package/chart/chart-analyzer/dimension-analyzer.js.map +1 -0
- package/chart/chart-analyzer/histogram-analyzer.d.ts +11 -0
- package/chart/chart-analyzer/histogram-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/histogram-analyzer.js +43 -0
- package/chart/chart-analyzer/histogram-analyzer.js.map +1 -0
- package/chart/chart-analyzer/index.d.ts +58 -0
- package/chart/chart-analyzer/index.d.ts.map +1 -0
- package/chart/chart-analyzer/index.js +130 -0
- package/chart/chart-analyzer/index.js.map +1 -0
- package/chart/chart-analyzer/line-analyzer.d.ts +23 -0
- package/chart/chart-analyzer/line-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/line-analyzer.js +61 -0
- package/chart/chart-analyzer/line-analyzer.js.map +1 -0
- package/chart/chart-analyzer/measure-analyzer.d.ts +11 -0
- package/chart/chart-analyzer/measure-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/measure-analyzer.js +44 -0
- package/chart/chart-analyzer/measure-analyzer.js.map +1 -0
- package/chart/chart-analyzer/pie-analyzer.d.ts +19 -0
- package/chart/chart-analyzer/pie-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/pie-analyzer.js +64 -0
- package/chart/chart-analyzer/pie-analyzer.js.map +1 -0
- package/chart/chart-analyzer/recommendation-engine.d.ts +18 -0
- package/chart/chart-analyzer/recommendation-engine.d.ts.map +1 -0
- package/chart/chart-analyzer/recommendation-engine.js +82 -0
- package/chart/chart-analyzer/recommendation-engine.js.map +1 -0
- package/chart/chart-analyzer/scatter-analyzer.d.ts +16 -0
- package/chart/chart-analyzer/scatter-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/scatter-analyzer.js +70 -0
- package/chart/chart-analyzer/scatter-analyzer.js.map +1 -0
- package/chart/chart-analyzer/types.d.ts +52 -0
- package/chart/chart-analyzer/types.d.ts.map +1 -0
- package/chart/chart-analyzer/types.js +10 -0
- package/chart/chart-analyzer/types.js.map +1 -0
- package/chart/chart-analyzer.d.ts +12 -0
- package/chart/chart-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer.js +77 -0
- package/chart/chart-analyzer.js.map +1 -0
- package/chart/chart-data-transformer.d.ts +26 -0
- package/chart/chart-data-transformer.d.ts.map +1 -0
- package/chart/chart-data-transformer.js +93 -0
- package/chart/chart-data-transformer.js.map +1 -0
- package/chart/chart-engine.d.ts +38 -0
- package/chart/chart-engine.d.ts.map +1 -0
- package/chart/chart-engine.js +96 -0
- package/chart/chart-engine.js.map +1 -0
- package/chart/chart-panel.d.ts +54 -0
- package/chart/chart-panel.d.ts.map +1 -0
- package/chart/chart-panel.js +350 -0
- package/chart/chart-panel.js.map +1 -0
- package/chart/chart-renderer.d.ts +93 -0
- package/chart/chart-renderer.d.ts.map +1 -0
- package/chart/chart-renderer.js +1330 -0
- package/chart/chart-renderer.js.map +1 -0
- package/chart/sparkline/sparkline-renderer.d.ts +269 -0
- package/chart/sparkline/sparkline-renderer.d.ts.map +1 -0
- package/chart/sparkline/sparkline-renderer.js +875 -0
- package/chart/sparkline/sparkline-renderer.js.map +1 -0
- package/chart/sparkline/sparkline.types.d.ts +214 -0
- package/chart/sparkline/sparkline.types.d.ts.map +1 -0
- package/chart/sparkline/sparkline.types.js +8 -0
- package/chart/sparkline/sparkline.types.js.map +1 -0
- package/column-groups/column-group-drag-handler.d.ts +169 -0
- package/column-groups/column-group-drag-handler.d.ts.map +1 -0
- package/column-groups/column-group-drag-handler.js +517 -0
- package/column-groups/column-group-drag-handler.js.map +1 -0
- package/column-groups/column-group-header-builder.d.ts +106 -0
- package/column-groups/column-group-header-builder.d.ts.map +1 -0
- package/column-groups/column-group-header-builder.js +311 -0
- package/column-groups/column-group-header-builder.js.map +1 -0
- package/column-groups/column-group-model.d.ts +248 -0
- package/column-groups/column-group-model.d.ts.map +1 -0
- package/column-groups/column-group-model.js +668 -0
- package/column-groups/column-group-model.js.map +1 -0
- package/column-groups/column-group-state-manager.d.ts +110 -0
- package/column-groups/column-group-state-manager.d.ts.map +1 -0
- package/column-groups/column-group-state-manager.js +153 -0
- package/column-groups/column-group-state-manager.js.map +1 -0
- package/column-groups/column-group.types.d.ts +250 -0
- package/column-groups/column-group.types.d.ts.map +1 -0
- package/column-groups/column-group.types.js +20 -0
- package/column-groups/column-group.types.js.map +1 -0
- package/column-groups/display-group-builder.d.ts +91 -0
- package/column-groups/display-group-builder.d.ts.map +1 -0
- package/column-groups/display-group-builder.js +225 -0
- package/column-groups/display-group-builder.js.map +1 -0
- package/column-groups/display-group-drag-handler.d.ts +205 -0
- package/column-groups/display-group-drag-handler.d.ts.map +1 -0
- package/column-groups/display-group-drag-handler.js +536 -0
- package/column-groups/display-group-drag-handler.js.map +1 -0
- package/column-groups/display-group-engine.d.ts +310 -0
- package/column-groups/display-group-engine.d.ts.map +1 -0
- package/column-groups/display-group-engine.js +549 -0
- package/column-groups/display-group-engine.js.map +1 -0
- package/column-groups/display-group-header-builder.d.ts +94 -0
- package/column-groups/display-group-header-builder.d.ts.map +1 -0
- package/column-groups/display-group-header-builder.js +224 -0
- package/column-groups/display-group-header-builder.js.map +1 -0
- package/column-groups/display-group.types.d.ts +140 -0
- package/column-groups/display-group.types.d.ts.map +1 -0
- package/column-groups/display-group.types.js +2 -0
- package/column-groups/display-group.types.js.map +1 -0
- package/column-groups/index.d.ts +25 -0
- package/column-groups/index.d.ts.map +1 -0
- package/column-groups/index.js +26 -0
- package/column-groups/index.js.map +1 -0
- package/column-groups/logical-group-registry.d.ts +77 -0
- package/column-groups/logical-group-registry.d.ts.map +1 -0
- package/column-groups/logical-group-registry.js +118 -0
- package/column-groups/logical-group-registry.js.map +1 -0
- package/core/column-model.d.ts +30 -0
- package/core/column-model.d.ts.map +1 -0
- package/core/column-model.js +203 -0
- package/core/column-model.js.map +1 -0
- package/core/grid-api.d.ts +187 -0
- package/core/grid-api.d.ts.map +1 -0
- package/core/grid-api.js +569 -0
- package/core/grid-api.js.map +1 -0
- package/core/grid-context.d.ts +61 -0
- package/core/grid-context.d.ts.map +1 -0
- package/core/grid-context.js +2 -0
- package/core/grid-context.js.map +1 -0
- package/core/grid-core.d.ts +49 -0
- package/core/grid-core.d.ts.map +1 -0
- package/core/grid-core.js +675 -0
- package/core/grid-core.js.map +1 -0
- package/core/grid-store.d.ts +62 -0
- package/core/grid-store.d.ts.map +1 -0
- package/core/grid-store.js +104 -0
- package/core/grid-store.js.map +1 -0
- package/core/row-model.d.ts +32 -0
- package/core/row-model.d.ts.map +1 -0
- package/core/row-model.js +150 -0
- package/core/row-model.js.map +1 -0
- package/drag-drop/drag-autoscroll.d.ts +14 -0
- package/drag-drop/drag-autoscroll.d.ts.map +1 -0
- package/drag-drop/drag-autoscroll.js +66 -0
- package/drag-drop/drag-autoscroll.js.map +1 -0
- package/drag-drop/drag-drop-engine.d.ts +55 -0
- package/drag-drop/drag-drop-engine.d.ts.map +1 -0
- package/drag-drop/drag-drop-engine.js +179 -0
- package/drag-drop/drag-drop-engine.js.map +1 -0
- package/drag-drop/drag-preview.d.ts +32 -0
- package/drag-drop/drag-preview.d.ts.map +1 -0
- package/drag-drop/drag-preview.js +74 -0
- package/drag-drop/drag-preview.js.map +1 -0
- package/engines/aggregation/aggregation-engine.d.ts +66 -0
- package/engines/aggregation/aggregation-engine.d.ts.map +1 -0
- package/engines/aggregation/aggregation-engine.js +149 -0
- package/engines/aggregation/aggregation-engine.js.map +1 -0
- package/engines/clipboard/clipboard-engine.d.ts +89 -0
- package/engines/clipboard/clipboard-engine.d.ts.map +1 -0
- package/engines/clipboard/clipboard-engine.js +323 -0
- package/engines/clipboard/clipboard-engine.js.map +1 -0
- package/engines/editing/cell-editor-engine.d.ts +62 -0
- package/engines/editing/cell-editor-engine.d.ts.map +1 -0
- package/engines/editing/cell-editor-engine.js +359 -0
- package/engines/editing/cell-editor-engine.js.map +1 -0
- package/engines/editing/custom-dropdown-editor.d.ts +99 -0
- package/engines/editing/custom-dropdown-editor.d.ts.map +1 -0
- package/engines/editing/custom-dropdown-editor.js +355 -0
- package/engines/editing/custom-dropdown-editor.js.map +1 -0
- package/engines/editing/value-parser.d.ts +12 -0
- package/engines/editing/value-parser.d.ts.map +1 -0
- package/engines/editing/value-parser.js +125 -0
- package/engines/editing/value-parser.js.map +1 -0
- package/engines/export/export-engine.d.ts +16 -0
- package/engines/export/export-engine.d.ts.map +1 -0
- package/engines/export/export-engine.js +99 -0
- package/engines/export/export-engine.js.map +1 -0
- package/engines/filter/filter-condition.d.ts +7 -0
- package/engines/filter/filter-condition.d.ts.map +1 -0
- package/engines/filter/filter-condition.js +126 -0
- package/engines/filter/filter-condition.js.map +1 -0
- package/engines/filter/filter-engine.d.ts +35 -0
- package/engines/filter/filter-engine.d.ts.map +1 -0
- package/engines/filter/filter-engine.js +150 -0
- package/engines/filter/filter-engine.js.map +1 -0
- package/engines/filter/filter-panel.d.ts +103 -0
- package/engines/filter/filter-panel.d.ts.map +1 -0
- package/engines/filter/filter-panel.js +645 -0
- package/engines/filter/filter-panel.js.map +1 -0
- package/engines/grouping/group-node.d.ts +21 -0
- package/engines/grouping/group-node.d.ts.map +1 -0
- package/engines/grouping/group-node.js +96 -0
- package/engines/grouping/group-node.js.map +1 -0
- package/engines/grouping/grouping-engine.d.ts +33 -0
- package/engines/grouping/grouping-engine.d.ts.map +1 -0
- package/engines/grouping/grouping-engine.js +118 -0
- package/engines/grouping/grouping-engine.js.map +1 -0
- package/engines/master-detail/master-detail-engine.d.ts +77 -0
- package/engines/master-detail/master-detail-engine.d.ts.map +1 -0
- package/engines/master-detail/master-detail-engine.js +199 -0
- package/engines/master-detail/master-detail-engine.js.map +1 -0
- package/engines/pagination/pagination-engine.d.ts +33 -0
- package/engines/pagination/pagination-engine.d.ts.map +1 -0
- package/engines/pagination/pagination-engine.js +110 -0
- package/engines/pagination/pagination-engine.js.map +1 -0
- package/engines/selection/row-selection-engine.d.ts +26 -0
- package/engines/selection/row-selection-engine.d.ts.map +1 -0
- package/engines/selection/row-selection-engine.js +145 -0
- package/engines/selection/row-selection-engine.js.map +1 -0
- package/engines/sort/sort-comparator.d.ts +43 -0
- package/engines/sort/sort-comparator.d.ts.map +1 -0
- package/engines/sort/sort-comparator.js +113 -0
- package/engines/sort/sort-comparator.js.map +1 -0
- package/engines/sort/sort-engine.d.ts +67 -0
- package/engines/sort/sort-engine.d.ts.map +1 -0
- package/engines/sort/sort-engine.js +178 -0
- package/engines/sort/sort-engine.js.map +1 -0
- package/engines/summary/summary-engine.d.ts +17 -0
- package/engines/summary/summary-engine.d.ts.map +1 -0
- package/engines/summary/summary-engine.js +72 -0
- package/engines/summary/summary-engine.js.map +1 -0
- package/engines/tree/tree-data-service.d.ts +117 -0
- package/engines/tree/tree-data-service.d.ts.map +1 -0
- package/engines/tree/tree-data-service.js +296 -0
- package/engines/tree/tree-data-service.js.map +1 -0
- package/engines/tree/tree-expansion-service.d.ts +35 -0
- package/engines/tree/tree-expansion-service.d.ts.map +1 -0
- package/engines/tree/tree-expansion-service.js +84 -0
- package/engines/tree/tree-expansion-service.js.map +1 -0
- package/engines/tree/tree-node.d.ts +40 -0
- package/engines/tree/tree-node.d.ts.map +1 -0
- package/engines/tree/tree-node.js +199 -0
- package/engines/tree/tree-node.js.map +1 -0
- package/engines/tree/tree-selection-service.d.ts +35 -0
- package/engines/tree/tree-selection-service.d.ts.map +1 -0
- package/engines/tree/tree-selection-service.js +72 -0
- package/engines/tree/tree-selection-service.js.map +1 -0
- package/engines/undo-redo/undo-redo-engine.d.ts +114 -0
- package/engines/undo-redo/undo-redo-engine.d.ts.map +1 -0
- package/engines/undo-redo/undo-redo-engine.js +165 -0
- package/engines/undo-redo/undo-redo-engine.js.map +1 -0
- package/event-bus/event-bus.d.ts +21 -0
- package/event-bus/event-bus.d.ts.map +1 -0
- package/event-bus/event-bus.js +106 -0
- package/event-bus/event-bus.js.map +1 -0
- package/icons/icon-registry.d.ts +19 -0
- package/icons/icon-registry.d.ts.map +1 -0
- package/icons/icon-registry.js +37 -0
- package/icons/icon-registry.js.map +1 -0
- package/icons/icon-renderer.d.ts +18 -0
- package/icons/icon-renderer.d.ts.map +1 -0
- package/icons/icon-renderer.js +75 -0
- package/icons/icon-renderer.js.map +1 -0
- package/icons/icon-sets/core-icons.d.ts +2 -0
- package/icons/icon-sets/core-icons.d.ts.map +1 -0
- package/icons/icon-sets/core-icons.js +48 -0
- package/icons/icon-sets/core-icons.js.map +1 -0
- package/index.d.ts +72 -0
- package/index.d.ts.map +1 -0
- package/index.js +54 -0
- package/index.js.map +1 -0
- package/package.json +64 -0
- package/photon-ai/builtins/filter.commands.d.ts +4 -0
- package/photon-ai/builtins/filter.commands.d.ts.map +1 -0
- package/photon-ai/builtins/filter.commands.js +189 -0
- package/photon-ai/builtins/filter.commands.js.map +1 -0
- package/photon-ai/builtins/grouping.commands.d.ts +4 -0
- package/photon-ai/builtins/grouping.commands.d.ts.map +1 -0
- package/photon-ai/builtins/grouping.commands.js +115 -0
- package/photon-ai/builtins/grouping.commands.js.map +1 -0
- package/photon-ai/builtins/index.d.ts +10 -0
- package/photon-ai/builtins/index.d.ts.map +1 -0
- package/photon-ai/builtins/index.js +26 -0
- package/photon-ai/builtins/index.js.map +1 -0
- package/photon-ai/builtins/info.commands.d.ts +4 -0
- package/photon-ai/builtins/info.commands.d.ts.map +1 -0
- package/photon-ai/builtins/info.commands.js +201 -0
- package/photon-ai/builtins/info.commands.js.map +1 -0
- package/photon-ai/builtins/move.commands.d.ts +4 -0
- package/photon-ai/builtins/move.commands.d.ts.map +1 -0
- package/photon-ai/builtins/move.commands.js +53 -0
- package/photon-ai/builtins/move.commands.js.map +1 -0
- package/photon-ai/builtins/pin.commands.d.ts +4 -0
- package/photon-ai/builtins/pin.commands.d.ts.map +1 -0
- package/photon-ai/builtins/pin.commands.js +106 -0
- package/photon-ai/builtins/pin.commands.js.map +1 -0
- package/photon-ai/builtins/selection.commands.d.ts +4 -0
- package/photon-ai/builtins/selection.commands.d.ts.map +1 -0
- package/photon-ai/builtins/selection.commands.js +102 -0
- package/photon-ai/builtins/selection.commands.js.map +1 -0
- package/photon-ai/builtins/sort.commands.d.ts +4 -0
- package/photon-ai/builtins/sort.commands.d.ts.map +1 -0
- package/photon-ai/builtins/sort.commands.js +67 -0
- package/photon-ai/builtins/sort.commands.js.map +1 -0
- package/photon-ai/builtins/visibility.commands.d.ts +4 -0
- package/photon-ai/builtins/visibility.commands.d.ts.map +1 -0
- package/photon-ai/builtins/visibility.commands.js +75 -0
- package/photon-ai/builtins/visibility.commands.js.map +1 -0
- package/photon-ai/command-builder.d.ts +21 -0
- package/photon-ai/command-builder.d.ts.map +1 -0
- package/photon-ai/command-builder.js +18 -0
- package/photon-ai/command-builder.js.map +1 -0
- package/photon-ai/command-executor.d.ts +15 -0
- package/photon-ai/command-executor.d.ts.map +1 -0
- package/photon-ai/command-executor.js +26 -0
- package/photon-ai/command-executor.js.map +1 -0
- package/photon-ai/entity-resolver.d.ts +121 -0
- package/photon-ai/entity-resolver.d.ts.map +1 -0
- package/photon-ai/entity-resolver.js +393 -0
- package/photon-ai/entity-resolver.js.map +1 -0
- package/photon-ai/fuzzy-match.d.ts +12 -0
- package/photon-ai/fuzzy-match.d.ts.map +1 -0
- package/photon-ai/fuzzy-match.js +37 -0
- package/photon-ai/fuzzy-match.js.map +1 -0
- package/photon-ai/index.d.ts +15 -0
- package/photon-ai/index.d.ts.map +1 -0
- package/photon-ai/index.js +13 -0
- package/photon-ai/index.js.map +1 -0
- package/photon-ai/intent-parser.d.ts +20 -0
- package/photon-ai/intent-parser.d.ts.map +1 -0
- package/photon-ai/intent-parser.js +52 -0
- package/photon-ai/intent-parser.js.map +1 -0
- package/photon-ai/photon-ai-memory.d.ts +42 -0
- package/photon-ai/photon-ai-memory.d.ts.map +1 -0
- package/photon-ai/photon-ai-memory.js +86 -0
- package/photon-ai/photon-ai-memory.js.map +1 -0
- package/photon-ai/photon-ai-panel.d.ts +54 -0
- package/photon-ai/photon-ai-panel.d.ts.map +1 -0
- package/photon-ai/photon-ai-panel.js +191 -0
- package/photon-ai/photon-ai-panel.js.map +1 -0
- package/photon-ai/photon-ai-registry.d.ts +25 -0
- package/photon-ai/photon-ai-registry.d.ts.map +1 -0
- package/photon-ai/photon-ai-registry.js +41 -0
- package/photon-ai/photon-ai-registry.js.map +1 -0
- package/photon-ai/photon-ai-service.d.ts +71 -0
- package/photon-ai/photon-ai-service.d.ts.map +1 -0
- package/photon-ai/photon-ai-service.js +165 -0
- package/photon-ai/photon-ai-service.js.map +1 -0
- package/photon-ai/photon-ai.types.d.ts +100 -0
- package/photon-ai/photon-ai.types.d.ts.map +1 -0
- package/photon-ai/photon-ai.types.js +2 -0
- package/photon-ai/photon-ai.types.js.map +1 -0
- package/photon-ai/query-splitter.d.ts +22 -0
- package/photon-ai/query-splitter.d.ts.map +1 -0
- package/photon-ai/query-splitter.js +81 -0
- package/photon-ai/query-splitter.js.map +1 -0
- package/photon-ai/text-normalizer.d.ts +33 -0
- package/photon-ai/text-normalizer.d.ts.map +1 -0
- package/photon-ai/text-normalizer.js +132 -0
- package/photon-ai/text-normalizer.js.map +1 -0
- package/renderer/auto-scroller.d.ts +78 -0
- package/renderer/auto-scroller.d.ts.map +1 -0
- package/renderer/auto-scroller.js +141 -0
- package/renderer/auto-scroller.js.map +1 -0
- package/renderer/body-renderer.d.ts +191 -0
- package/renderer/body-renderer.d.ts.map +1 -0
- package/renderer/body-renderer.js +806 -0
- package/renderer/body-renderer.js.map +1 -0
- package/renderer/cell-renderer.d.ts +26 -0
- package/renderer/cell-renderer.d.ts.map +1 -0
- package/renderer/cell-renderer.js +201 -0
- package/renderer/cell-renderer.js.map +1 -0
- package/renderer/column-menu.d.ts +285 -0
- package/renderer/column-menu.d.ts.map +1 -0
- package/renderer/column-menu.js +873 -0
- package/renderer/column-menu.js.map +1 -0
- package/renderer/column-style-manager.d.ts +38 -0
- package/renderer/column-style-manager.d.ts.map +1 -0
- package/renderer/column-style-manager.js +110 -0
- package/renderer/column-style-manager.js.map +1 -0
- package/renderer/detail-row-renderer.d.ts +153 -0
- package/renderer/detail-row-renderer.d.ts.map +1 -0
- package/renderer/detail-row-renderer.js +388 -0
- package/renderer/detail-row-renderer.js.map +1 -0
- package/renderer/dom-utils.d.ts +22 -0
- package/renderer/dom-utils.d.ts.map +1 -0
- package/renderer/dom-utils.js +132 -0
- package/renderer/dom-utils.js.map +1 -0
- package/renderer/footer-renderer.d.ts +25 -0
- package/renderer/footer-renderer.d.ts.map +1 -0
- package/renderer/footer-renderer.js +168 -0
- package/renderer/footer-renderer.js.map +1 -0
- package/renderer/grid-renderer.d.ts +295 -0
- package/renderer/grid-renderer.d.ts.map +1 -0
- package/renderer/grid-renderer.js +1456 -0
- package/renderer/grid-renderer.js.map +1 -0
- package/renderer/group-context-menu.d.ts +79 -0
- package/renderer/group-context-menu.d.ts.map +1 -0
- package/renderer/group-context-menu.js +238 -0
- package/renderer/group-context-menu.js.map +1 -0
- package/renderer/group-drop-zone.d.ts +56 -0
- package/renderer/group-drop-zone.d.ts.map +1 -0
- package/renderer/group-drop-zone.js +376 -0
- package/renderer/group-drop-zone.js.map +1 -0
- package/renderer/header-renderer.d.ts +264 -0
- package/renderer/header-renderer.d.ts.map +1 -0
- package/renderer/header-renderer.js +1321 -0
- package/renderer/header-renderer.js.map +1 -0
- package/renderer/overlay-renderer.d.ts +16 -0
- package/renderer/overlay-renderer.d.ts.map +1 -0
- package/renderer/overlay-renderer.js +64 -0
- package/renderer/overlay-renderer.js.map +1 -0
- package/renderer/renderer-resolver.d.ts +18 -0
- package/renderer/renderer-resolver.d.ts.map +1 -0
- package/renderer/renderer-resolver.js +18 -0
- package/renderer/renderer-resolver.js.map +1 -0
- package/renderer/row-animator.d.ts +72 -0
- package/renderer/row-animator.d.ts.map +1 -0
- package/renderer/row-animator.js +175 -0
- package/renderer/row-animator.js.map +1 -0
- package/renderer/row-drag-renderer.d.ts +58 -0
- package/renderer/row-drag-renderer.d.ts.map +1 -0
- package/renderer/row-drag-renderer.js +395 -0
- package/renderer/row-drag-renderer.js.map +1 -0
- package/renderer/row-offset-search.d.ts +17 -0
- package/renderer/row-offset-search.d.ts.map +1 -0
- package/renderer/row-offset-search.js +31 -0
- package/renderer/row-offset-search.js.map +1 -0
- package/renderer/row-position-sheet.d.ts +11 -0
- package/renderer/row-position-sheet.d.ts.map +1 -0
- package/renderer/row-position-sheet.js +29 -0
- package/renderer/row-position-sheet.js.map +1 -0
- package/renderer/scroll-controller.d.ts +58 -0
- package/renderer/scroll-controller.d.ts.map +1 -0
- package/renderer/scroll-controller.js +200 -0
- package/renderer/scroll-controller.js.map +1 -0
- package/renderer/sticky-row-tracker.d.ts +40 -0
- package/renderer/sticky-row-tracker.d.ts.map +1 -0
- package/renderer/sticky-row-tracker.js +63 -0
- package/renderer/sticky-row-tracker.js.map +1 -0
- package/renderer/tooltip-renderer.d.ts +36 -0
- package/renderer/tooltip-renderer.d.ts.map +1 -0
- package/renderer/tooltip-renderer.js +133 -0
- package/renderer/tooltip-renderer.js.map +1 -0
- package/renderer/tree-cell-renderer.d.ts +37 -0
- package/renderer/tree-cell-renderer.d.ts.map +1 -0
- package/renderer/tree-cell-renderer.js +75 -0
- package/renderer/tree-cell-renderer.js.map +1 -0
- package/renderer/tree-sticky-row-tracker.d.ts +62 -0
- package/renderer/tree-sticky-row-tracker.d.ts.map +1 -0
- package/renderer/tree-sticky-row-tracker.js +120 -0
- package/renderer/tree-sticky-row-tracker.js.map +1 -0
- package/renderer/virtual-scroll-renderer.d.ts +37 -0
- package/renderer/virtual-scroll-renderer.d.ts.map +1 -0
- package/renderer/virtual-scroll-renderer.js +133 -0
- package/renderer/virtual-scroll-renderer.js.map +1 -0
- package/styles/base-styles.d.ts +3 -0
- package/styles/base-styles.d.ts.map +1 -0
- package/styles/base-styles.js +3045 -0
- package/styles/base-styles.js.map +1 -0
- package/styles/themes/theme-alpine.d.ts +2 -0
- package/styles/themes/theme-alpine.d.ts.map +1 -0
- package/styles/themes/theme-alpine.js +120 -0
- package/styles/themes/theme-alpine.js.map +1 -0
- package/styles/themes/theme-balham.d.ts +2 -0
- package/styles/themes/theme-balham.d.ts.map +1 -0
- package/styles/themes/theme-balham.js +120 -0
- package/styles/themes/theme-balham.js.map +1 -0
- package/styles/themes/theme-dark.d.ts +2 -0
- package/styles/themes/theme-dark.d.ts.map +1 -0
- package/styles/themes/theme-dark.js +216 -0
- package/styles/themes/theme-dark.js.map +1 -0
- package/styles/themes/theme-material.d.ts +2 -0
- package/styles/themes/theme-material.d.ts.map +1 -0
- package/styles/themes/theme-material.js +134 -0
- package/styles/themes/theme-material.js.map +1 -0
- package/styles/themes/theme-quartz.d.ts +2 -0
- package/styles/themes/theme-quartz.d.ts.map +1 -0
- package/styles/themes/theme-quartz.js +120 -0
- package/styles/themes/theme-quartz.js.map +1 -0
- package/theme/css-var-injector.d.ts +10 -0
- package/theme/css-var-injector.d.ts.map +1 -0
- package/theme/css-var-injector.js +63 -0
- package/theme/css-var-injector.js.map +1 -0
- package/theme/theme-manager.d.ts +20 -0
- package/theme/theme-manager.d.ts.map +1 -0
- package/theme/theme-manager.js +79 -0
- package/theme/theme-manager.js.map +1 -0
- package/theme/themes/dark-theme.d.ts +3 -0
- package/theme/themes/dark-theme.d.ts.map +1 -0
- package/theme/themes/dark-theme.js +149 -0
- package/theme/themes/dark-theme.js.map +1 -0
- package/theme/themes/light-theme.d.ts +3 -0
- package/theme/themes/light-theme.d.ts.map +1 -0
- package/theme/themes/light-theme.js +149 -0
- package/theme/themes/light-theme.js.map +1 -0
- package/types/column.types.d.ts +195 -0
- package/types/column.types.d.ts.map +1 -0
- package/types/column.types.js +2 -0
- package/types/column.types.js.map +1 -0
- package/types/event.types.d.ts +213 -0
- package/types/event.types.d.ts.map +1 -0
- package/types/event.types.js +67 -0
- package/types/event.types.js.map +1 -0
- package/types/filter.types.d.ts +42 -0
- package/types/filter.types.d.ts.map +1 -0
- package/types/filter.types.js +2 -0
- package/types/filter.types.js.map +1 -0
- package/types/grid.types.d.ts +214 -0
- package/types/grid.types.d.ts.map +1 -0
- package/types/grid.types.js +2 -0
- package/types/grid.types.js.map +1 -0
- package/types/master-detail.types.d.ts +112 -0
- package/types/master-detail.types.d.ts.map +1 -0
- package/types/master-detail.types.js +2 -0
- package/types/master-detail.types.js.map +1 -0
- package/types/photon-ai.types.d.ts +19 -0
- package/types/photon-ai.types.d.ts.map +1 -0
- package/types/photon-ai.types.js +2 -0
- package/types/photon-ai.types.js.map +1 -0
- package/types/renderer.types.d.ts +156 -0
- package/types/renderer.types.d.ts.map +1 -0
- package/types/renderer.types.js +19 -0
- package/types/renderer.types.js.map +1 -0
- package/types/row.types.d.ts +127 -0
- package/types/row.types.d.ts.map +1 -0
- package/types/row.types.js +9 -0
- package/types/row.types.js.map +1 -0
- package/types/theme.types.d.ts +159 -0
- package/types/theme.types.d.ts.map +1 -0
- package/types/theme.types.js +2 -0
- package/types/theme.types.js.map +1 -0
- package/types/tree-data.types.d.ts +94 -0
- package/types/tree-data.types.d.ts.map +1 -0
- package/types/tree-data.types.js +2 -0
- package/types/tree-data.types.js.map +1 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { GridEventType } from '../types/event.types';
|
|
2
|
+
import { createDiv } from './dom-utils';
|
|
3
|
+
export class FooterRenderer {
|
|
4
|
+
constructor(eventBus, iconRenderer, paginationEngine) {
|
|
5
|
+
this.eventBus = eventBus;
|
|
6
|
+
this.iconRenderer = iconRenderer;
|
|
7
|
+
this.paginationEngine = paginationEngine;
|
|
8
|
+
this.footerEl = null;
|
|
9
|
+
this.pageInfoEl = null;
|
|
10
|
+
this.pageInputEl = null;
|
|
11
|
+
}
|
|
12
|
+
render(containerEl, options = {}) {
|
|
13
|
+
this.footerEl = createDiv('pg-footer');
|
|
14
|
+
const h = options.footerHeight ?? 44;
|
|
15
|
+
this.footerEl.style.height = `${h}px`;
|
|
16
|
+
if (options.showPagination) {
|
|
17
|
+
this.footerEl.appendChild(this.buildPaginationControls());
|
|
18
|
+
}
|
|
19
|
+
if (options.showRowCount) {
|
|
20
|
+
const rowCount = createDiv('pg-footer__row-count');
|
|
21
|
+
this.pageInfoEl = rowCount;
|
|
22
|
+
this.footerEl.appendChild(rowCount);
|
|
23
|
+
}
|
|
24
|
+
this.updatePaginationState();
|
|
25
|
+
containerEl.appendChild(this.footerEl);
|
|
26
|
+
return this.footerEl;
|
|
27
|
+
}
|
|
28
|
+
updatePaginationState() {
|
|
29
|
+
if (!this.footerEl)
|
|
30
|
+
return;
|
|
31
|
+
const config = this.getConfig();
|
|
32
|
+
const totalPages = this.paginationEngine.getTotalPages();
|
|
33
|
+
const { start, end } = this.paginationEngine.getPageRange();
|
|
34
|
+
const pageInfo = this.footerEl.querySelector('.pg-pagination__info');
|
|
35
|
+
if (pageInfo) {
|
|
36
|
+
pageInfo.textContent = `${start}–${end} of ${config.totalRows ?? 0}`;
|
|
37
|
+
}
|
|
38
|
+
if (this.pageInputEl) {
|
|
39
|
+
this.pageInputEl.value = String(config.page);
|
|
40
|
+
this.pageInputEl.max = String(totalPages);
|
|
41
|
+
}
|
|
42
|
+
const firstBtn = this.footerEl.querySelector('[data-action="first"]');
|
|
43
|
+
const prevBtn = this.footerEl.querySelector('[data-action="prev"]');
|
|
44
|
+
const nextBtn = this.footerEl.querySelector('[data-action="next"]');
|
|
45
|
+
const lastBtn = this.footerEl.querySelector('[data-action="last"]');
|
|
46
|
+
const isFirst = this.paginationEngine.isFirstPage();
|
|
47
|
+
const isLast = this.paginationEngine.isLastPage();
|
|
48
|
+
if (firstBtn)
|
|
49
|
+
firstBtn.disabled = isFirst;
|
|
50
|
+
if (prevBtn)
|
|
51
|
+
prevBtn.disabled = isFirst;
|
|
52
|
+
if (nextBtn)
|
|
53
|
+
nextBtn.disabled = isLast;
|
|
54
|
+
if (lastBtn)
|
|
55
|
+
lastBtn.disabled = isLast;
|
|
56
|
+
}
|
|
57
|
+
destroy() {
|
|
58
|
+
this.footerEl?.remove();
|
|
59
|
+
this.footerEl = null;
|
|
60
|
+
this.pageInfoEl = null;
|
|
61
|
+
this.pageInputEl = null;
|
|
62
|
+
}
|
|
63
|
+
buildPaginationControls() {
|
|
64
|
+
const pagination = createDiv('pg-pagination');
|
|
65
|
+
const firstBtn = this.buildNavButton('first', 'pageFirst', 'First page');
|
|
66
|
+
const prevBtn = this.buildNavButton('prev', 'pagePrev', 'Previous page');
|
|
67
|
+
const pageInfo = createDiv('pg-pagination__info');
|
|
68
|
+
pageInfo.textContent = '—';
|
|
69
|
+
const pageInput = document.createElement('input');
|
|
70
|
+
pageInput.type = 'number';
|
|
71
|
+
pageInput.min = '1';
|
|
72
|
+
pageInput.className = 'pg-pagination__page-input';
|
|
73
|
+
pageInput.setAttribute('aria-label', 'Page number');
|
|
74
|
+
this.pageInputEl = pageInput;
|
|
75
|
+
pageInput.addEventListener('change', () => {
|
|
76
|
+
const page = parseInt(pageInput.value, 10);
|
|
77
|
+
if (!isNaN(page)) {
|
|
78
|
+
this.paginationEngine.goToPage(page);
|
|
79
|
+
this.updatePaginationState();
|
|
80
|
+
this.eventBus.emit(GridEventType.PAGE_CHANGED, {
|
|
81
|
+
page,
|
|
82
|
+
pageSize: this.getConfig().pageSize,
|
|
83
|
+
totalRows: this.getConfig().totalRows ?? 0,
|
|
84
|
+
totalPages: this.paginationEngine.getTotalPages(),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
const nextBtn = this.buildNavButton('next', 'pageNext', 'Next page');
|
|
89
|
+
const lastBtn = this.buildNavButton('last', 'pageLast', 'Last page');
|
|
90
|
+
const pageSizeSelect = this.buildPageSizeSelect();
|
|
91
|
+
pagination.appendChild(pageSizeSelect);
|
|
92
|
+
pagination.appendChild(firstBtn);
|
|
93
|
+
pagination.appendChild(prevBtn);
|
|
94
|
+
pagination.appendChild(pageInfo);
|
|
95
|
+
pagination.appendChild(pageInput);
|
|
96
|
+
pagination.appendChild(nextBtn);
|
|
97
|
+
pagination.appendChild(lastBtn);
|
|
98
|
+
return pagination;
|
|
99
|
+
}
|
|
100
|
+
buildNavButton(action, iconName, label) {
|
|
101
|
+
const btn = document.createElement('button');
|
|
102
|
+
btn.className = `pg-pagination__btn pg-pagination__btn--${action}`;
|
|
103
|
+
btn.setAttribute('data-action', action);
|
|
104
|
+
btn.setAttribute('aria-label', label);
|
|
105
|
+
btn.setAttribute('type', 'button');
|
|
106
|
+
btn.appendChild(this.iconRenderer.render(iconName, { size: 16 }));
|
|
107
|
+
btn.addEventListener('click', () => {
|
|
108
|
+
switch (action) {
|
|
109
|
+
case 'first':
|
|
110
|
+
this.paginationEngine.goToFirstPage();
|
|
111
|
+
break;
|
|
112
|
+
case 'prev':
|
|
113
|
+
this.paginationEngine.goToPreviousPage();
|
|
114
|
+
break;
|
|
115
|
+
case 'next':
|
|
116
|
+
this.paginationEngine.goToNextPage();
|
|
117
|
+
break;
|
|
118
|
+
case 'last':
|
|
119
|
+
this.paginationEngine.goToLastPage();
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
this.updatePaginationState();
|
|
123
|
+
const config = this.getConfig();
|
|
124
|
+
this.eventBus.emit(GridEventType.PAGE_CHANGED, {
|
|
125
|
+
page: config.page,
|
|
126
|
+
pageSize: config.pageSize,
|
|
127
|
+
totalRows: config.totalRows ?? 0,
|
|
128
|
+
totalPages: this.paginationEngine.getTotalPages(),
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
return btn;
|
|
132
|
+
}
|
|
133
|
+
buildPageSizeSelect() {
|
|
134
|
+
const wrapper = createDiv('pg-pagination__size');
|
|
135
|
+
const label = document.createElement('span');
|
|
136
|
+
label.textContent = 'Rows per page:';
|
|
137
|
+
label.className = 'pg-pagination__size-label';
|
|
138
|
+
const select = document.createElement('select');
|
|
139
|
+
select.className = 'pg-pagination__size-select';
|
|
140
|
+
const config = this.getConfig();
|
|
141
|
+
for (const size of config.pageSizeOptions) {
|
|
142
|
+
const opt = document.createElement('option');
|
|
143
|
+
opt.value = String(size);
|
|
144
|
+
opt.textContent = String(size);
|
|
145
|
+
opt.selected = size === config.pageSize;
|
|
146
|
+
select.appendChild(opt);
|
|
147
|
+
}
|
|
148
|
+
select.addEventListener('change', () => {
|
|
149
|
+
const size = parseInt(select.value, 10);
|
|
150
|
+
this.paginationEngine.setPageSize(size);
|
|
151
|
+
this.updatePaginationState();
|
|
152
|
+
});
|
|
153
|
+
wrapper.appendChild(label);
|
|
154
|
+
wrapper.appendChild(select);
|
|
155
|
+
return wrapper;
|
|
156
|
+
}
|
|
157
|
+
getConfig() {
|
|
158
|
+
return {
|
|
159
|
+
enabled: true,
|
|
160
|
+
page: this.paginationEngine.getCurrentPage(),
|
|
161
|
+
pageSize: this.paginationEngine.getPageSize(),
|
|
162
|
+
pageSizeOptions: [10, 25, 50, 100, 1000, 10000, 100000],
|
|
163
|
+
serverSide: false,
|
|
164
|
+
totalRows: this.paginationEngine.getTotalRows(),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=footer-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer-renderer.js","sourceRoot":"","sources":["../../src/renderer/footer-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import type { GridOptions } from '../types/grid.types';
|
|
2
|
+
import type { ColumnDef } from '../types/column.types';
|
|
3
|
+
import type { GridStore } from '../core/grid-store';
|
|
4
|
+
import type { EventBus } from '../event-bus/event-bus';
|
|
5
|
+
import type { ColumnModel } from '../core/column-model';
|
|
6
|
+
import type { PaginationEngine } from '../engines/pagination/pagination-engine';
|
|
7
|
+
import type { IconRenderer } from '../icons/icon-renderer';
|
|
8
|
+
import type { SortEngine } from '../engines/sort/sort-engine';
|
|
9
|
+
import type { RowSelectionEngine } from '../engines/selection/row-selection-engine';
|
|
10
|
+
import type { GroupingEngine } from '../engines/grouping/grouping-engine';
|
|
11
|
+
import type { FilterEngine } from '../engines/filter/filter-engine';
|
|
12
|
+
import type { ColumnGroupModel } from '../column-groups/column-group-model';
|
|
13
|
+
import type { ColumnGroupHeaderBuilder } from '../column-groups/column-group-header-builder';
|
|
14
|
+
import type { DisplayGroupEngine } from '../column-groups/display-group-engine';
|
|
15
|
+
import { ColumnStyleManager } from './column-style-manager';
|
|
16
|
+
import { CellSelectionEngine } from '../cell-selection/cell-selection-engine';
|
|
17
|
+
import type { MasterDetailEngine } from '../engines/master-detail/master-detail-engine';
|
|
18
|
+
import type { TreeExpansionService } from '../engines/tree/tree-expansion-service';
|
|
19
|
+
import type { ThemeManager } from '../theme/theme-manager';
|
|
20
|
+
import { type NestedGridFactory } from './detail-row-renderer';
|
|
21
|
+
import type { PhotonCommandResult } from '../photon-ai/photon-ai.types';
|
|
22
|
+
export declare class GridRenderer {
|
|
23
|
+
private containerEl;
|
|
24
|
+
private store;
|
|
25
|
+
private eventBus;
|
|
26
|
+
private columnModel;
|
|
27
|
+
private paginationEngine;
|
|
28
|
+
private iconRenderer;
|
|
29
|
+
private cellSelectionEngine;
|
|
30
|
+
private sortEngine;
|
|
31
|
+
private rowSelectionEngine;
|
|
32
|
+
private groupingEngine;
|
|
33
|
+
private options;
|
|
34
|
+
private wrapperEl;
|
|
35
|
+
private leftHeaderPanelEl;
|
|
36
|
+
private centerHeaderInnerEl;
|
|
37
|
+
private rightHeaderPanelEl;
|
|
38
|
+
private leftBodyPanelEl;
|
|
39
|
+
private centerBodyEl;
|
|
40
|
+
private centerBodyContentEl;
|
|
41
|
+
private rightBodyPanelEl;
|
|
42
|
+
private leftBodyContentEl;
|
|
43
|
+
private rightBodyContentEl;
|
|
44
|
+
private footerContainerEl;
|
|
45
|
+
private bodyWrapEl;
|
|
46
|
+
private leftStickyRowEl;
|
|
47
|
+
private centerStickyRowEl;
|
|
48
|
+
private rightStickyRowEl;
|
|
49
|
+
private readonly masterDetailEnabledAtConstruction;
|
|
50
|
+
private readonly treeDataEnabledAtConstruction;
|
|
51
|
+
/** `nodeId` of the currently-stuck master row, or `null` when none is sticky. */
|
|
52
|
+
private stickyNodeId;
|
|
53
|
+
private readonly stickyRowTracker;
|
|
54
|
+
private readonly treeStickyRowTracker;
|
|
55
|
+
/** Exposed for {@link DisplayGroupEngine} construction in `GridCore`. */
|
|
56
|
+
readonly colStyles: ColumnStyleManager;
|
|
57
|
+
private rowPositionSheet;
|
|
58
|
+
private scrollController;
|
|
59
|
+
private headerRenderer;
|
|
60
|
+
private bodyRenderer;
|
|
61
|
+
private footerRenderer;
|
|
62
|
+
private overlayRenderer;
|
|
63
|
+
private groupDropZone;
|
|
64
|
+
private rowDragRenderer;
|
|
65
|
+
private treeDragConfig;
|
|
66
|
+
private detailRowRenderer;
|
|
67
|
+
private masterDetailEngine;
|
|
68
|
+
private treeExpansionService;
|
|
69
|
+
private treeToggleColumnId;
|
|
70
|
+
/** Floating Photon AI command bar — only created when `photonAI.enabled`. */
|
|
71
|
+
private photonAIPanel;
|
|
72
|
+
/** Shows a custom floating tooltip for columns with `renderer.tooltip`; a no-op for every other column. */
|
|
73
|
+
private tooltipController;
|
|
74
|
+
private rafId;
|
|
75
|
+
private autoScroller;
|
|
76
|
+
private unsubscribers;
|
|
77
|
+
private headerRendered;
|
|
78
|
+
private lastCenterColStart;
|
|
79
|
+
private lastCenterColEnd;
|
|
80
|
+
private rowAnimator;
|
|
81
|
+
private columnGroupModel;
|
|
82
|
+
private groupHeaderBuilder;
|
|
83
|
+
private groupDragHandler;
|
|
84
|
+
/** New Display Group Engine — takes priority over the legacy ColumnGroupModel when set. */
|
|
85
|
+
private displayGroupEngine;
|
|
86
|
+
private filterEngine;
|
|
87
|
+
private filterRefreshFn;
|
|
88
|
+
private activeFilterPanel;
|
|
89
|
+
/** Last `columns` array reference seen — guards column-width recomputation. */
|
|
90
|
+
private _lastColumnsRef;
|
|
91
|
+
/** Last `groupedColumnIds` array reference seen — guards grouping recomputation. */
|
|
92
|
+
private _lastGroupedIdsRef;
|
|
93
|
+
/** Last `visibleRows` array reference seen — guards total-height recomputation. */
|
|
94
|
+
private _lastRowsRef;
|
|
95
|
+
/** Cached total content height in pixels (sum of all visible row heights). */
|
|
96
|
+
private _cachedTotalHeight;
|
|
97
|
+
/** Cached center-panel content width in pixels. */
|
|
98
|
+
private _cachedCenterW;
|
|
99
|
+
/**
|
|
100
|
+
* Center-panel `clientWidth` last used to resolve `flex` columns. Flex
|
|
101
|
+
* widths are normally only re-resolved when the columns array itself
|
|
102
|
+
* changes (cheap, guards the 60fps scroll path) — but the container can
|
|
103
|
+
* also resize with the columns reference untouched, e.g. a vertical
|
|
104
|
+
* scrollbar transiently appearing/disappearing as a Master/Detail row is
|
|
105
|
+
* inserted. Comparing against this on every render (a single cheap
|
|
106
|
+
* `clientWidth` read, only paid by grids that actually use `flex` columns)
|
|
107
|
+
* catches that case so flex columns don't get stuck sized for a stale width.
|
|
108
|
+
*/
|
|
109
|
+
private _lastFlexResolvedWidth;
|
|
110
|
+
constructor(containerEl: HTMLElement, store: GridStore, eventBus: EventBus, columnModel: ColumnModel, paginationEngine: PaginationEngine, iconRenderer: IconRenderer, cellSelectionEngine: CellSelectionEngine, sortEngine: SortEngine, rowSelectionEngine: RowSelectionEngine, groupingEngine: GroupingEngine, options: GridOptions);
|
|
111
|
+
/**
|
|
112
|
+
* Enables Tree Data drag-to-reparent on the row-drag system. Must be
|
|
113
|
+
* called before `mount()` (mirrors `setMasterDetailConfig`) — `mount()`
|
|
114
|
+
* is when `RowDragRenderer` is actually constructed.
|
|
115
|
+
*/
|
|
116
|
+
setTreeDragConfig(active: boolean, reparentHandler: (draggedId: string, targetId: string, position: 'before' | 'after' | 'inside') => boolean): void;
|
|
117
|
+
/** Wires Tree Data's expansion state + toggle column into the body renderer, so `data-level` indentation and the expand/collapse toggle render on the configured column. A no-op (undefined `treeData` on every `renderRows` call) until this is called. */
|
|
118
|
+
setTreeRenderConfig(toggleColumnId: string | undefined, expansionService: TreeExpansionService): void;
|
|
119
|
+
mount(): void;
|
|
120
|
+
scheduleRender(): void;
|
|
121
|
+
forceRender(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Clears the body-renderer's row cache so the next render fully rebuilds every
|
|
124
|
+
* visible row from the data model. Use this after in-place data mutations
|
|
125
|
+
* (paste, cut) where the `visibleRows` reference is unchanged but cell values
|
|
126
|
+
* have been updated — `updatePanelRow` only refreshes row-level classes, not
|
|
127
|
+
* cell content, so a cache invalidation + re-render is required.
|
|
128
|
+
*/
|
|
129
|
+
invalidateBodyRows(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Evicts only the rows with the given node IDs from the render cache and
|
|
132
|
+
* schedules a repaint. All other rows keep their cached DOM elements so
|
|
133
|
+
* custom cell renderers (images, flags, etc.) are not needlessly re-executed.
|
|
134
|
+
*
|
|
135
|
+
* Prefer this over `invalidateBodyRows` whenever the set of mutated rows is
|
|
136
|
+
* known (fill, cut, paste, undo/redo).
|
|
137
|
+
*
|
|
138
|
+
* @param nodeIds - Node IDs of the rows whose cache entries should be evicted.
|
|
139
|
+
*/
|
|
140
|
+
invalidateBodyRowsByIds(nodeIds: Set<string>): void;
|
|
141
|
+
/**
|
|
142
|
+
* Provides the renderer with a `FilterEngine` reference so it can read the
|
|
143
|
+
* current filter model and write column filters when the user interacts with
|
|
144
|
+
* the filter panel. Called from `GridApi` after construction.
|
|
145
|
+
*/
|
|
146
|
+
setFilterEngine(engine: FilterEngine): void;
|
|
147
|
+
/**
|
|
148
|
+
* Registers a callback that runs the full sort/filter pipeline and triggers
|
|
149
|
+
* a render whenever the filter state changes from within the panel.
|
|
150
|
+
* Called from `GridApi` after construction.
|
|
151
|
+
*/
|
|
152
|
+
setFilterRefreshCallback(fn: () => void): void;
|
|
153
|
+
/**
|
|
154
|
+
* Wire the column-group model and header builder into the renderer.
|
|
155
|
+
*
|
|
156
|
+
* Must be called **before** the first `mount()` so that `renderInPanels`
|
|
157
|
+
* can insert group header rows above the leaf row. Called by `GridCore`
|
|
158
|
+
* when any top-level `ColumnDef` has a `children` array.
|
|
159
|
+
*
|
|
160
|
+
* @param model - The live tree model.
|
|
161
|
+
* @param builder - The DOM builder instance.
|
|
162
|
+
*/
|
|
163
|
+
setColumnGroupModel(model: ColumnGroupModel, builder: ColumnGroupHeaderBuilder): void;
|
|
164
|
+
/**
|
|
165
|
+
* Wire the new Display Group Engine into the renderer.
|
|
166
|
+
*
|
|
167
|
+
* Creates the drag handler, forwards the engine into `HeaderRenderer`, and
|
|
168
|
+
* subscribes to the events that trigger header rebuilds. Must be called
|
|
169
|
+
* before `mount()` when the grid's column definitions contain groups.
|
|
170
|
+
*
|
|
171
|
+
* Takes priority over the legacy `setColumnGroupModel` path.
|
|
172
|
+
*
|
|
173
|
+
* @param engine - Fully-initialised `DisplayGroupEngine` instance.
|
|
174
|
+
*/
|
|
175
|
+
setDisplayGroupEngine(engine: DisplayGroupEngine): void;
|
|
176
|
+
/**
|
|
177
|
+
* Opens (or replaces) the floating filter panel for the given column.
|
|
178
|
+
* Called by `HeaderRenderer` when the user clicks a column's filter icon.
|
|
179
|
+
*
|
|
180
|
+
* @param colDef - Column definition the filter applies to.
|
|
181
|
+
* @param anchorEl - Filter-icon button element — panel positions below this.
|
|
182
|
+
*/
|
|
183
|
+
openFilterPanel(colDef: ColumnDef, anchorEl: HTMLElement): void;
|
|
184
|
+
/**
|
|
185
|
+
* Extracts unique display value/label pairs for set-type (dropdown / array)
|
|
186
|
+
* filter panels. For `dropdown` columns the predefined `dropdownOptions`
|
|
187
|
+
* are used directly; for other types unique values are scanned from `allRows`.
|
|
188
|
+
*/
|
|
189
|
+
private extractUniqueOptions;
|
|
190
|
+
/**
|
|
191
|
+
* Snapshot current row positions so the next render animates the transition.
|
|
192
|
+
* Call this **before** any pipeline that reorders or hides rows.
|
|
193
|
+
*
|
|
194
|
+
* @param rows - Current visible rows before the pipeline runs.
|
|
195
|
+
* @param type - `'sort'` (default) or `'filter'` — controls duration and entrance style.
|
|
196
|
+
*/
|
|
197
|
+
captureRowAnimation(rows: ReadonlyArray<{
|
|
198
|
+
nodeId: string;
|
|
199
|
+
top: number;
|
|
200
|
+
}>, type?: import('./row-animator').RowAnimationType): void;
|
|
201
|
+
/** Wire up the group-bar search input to an external handler (e.g. api.setQuickFilter). */
|
|
202
|
+
setSearchCallback(fn: (term: string) => void): void;
|
|
203
|
+
/**
|
|
204
|
+
* Wires the Master/Detail engine and nested-grid factory into the renderer.
|
|
205
|
+
* A no-op when `masterDetail.enabled` was falsy at construction (the
|
|
206
|
+
* `DetailRowRenderer` instance was never created). Called once from
|
|
207
|
+
* `GridCore.buildContext`, before `mount()`.
|
|
208
|
+
*/
|
|
209
|
+
setMasterDetailConfig(engine: MasterDetailEngine, nestedGridFactory: NestedGridFactory, iconRenderer: IconRenderer, themeManager: ThemeManager): void;
|
|
210
|
+
/**
|
|
211
|
+
* Late-bound once the owning `GridCore`'s `GridApi` exists — passed through
|
|
212
|
+
* to `masterDetail.detailRendererFn` as `DetailRendererParams.parentApi`.
|
|
213
|
+
*/
|
|
214
|
+
setParentApiForDetail(api: unknown): void;
|
|
215
|
+
/** The nested grid's `GridApi` for an expanded master row, or `undefined`. Backs `GridApi.getDetailGridApi`. */
|
|
216
|
+
getDetailGridApi(parentNodeId: string): unknown;
|
|
217
|
+
/**
|
|
218
|
+
* Wires the callback the Photon AI panel's send button/Enter key invokes —
|
|
219
|
+
* late-bound once the owning `GridCore`'s `GridApi` (and therefore its
|
|
220
|
+
* `PhotonAIService`) exists. A no-op when `photonAI.enabled` was falsy at
|
|
221
|
+
* construction (the panel was never created).
|
|
222
|
+
*/
|
|
223
|
+
setPhotonAISubmitHandler(fn: (text: string) => PhotonCommandResult): void;
|
|
224
|
+
/** Programmatic entry point mirroring the panel's own UI — backs `GridApi.submitAICommand`. */
|
|
225
|
+
submitAICommand(text: string): PhotonCommandResult;
|
|
226
|
+
/**
|
|
227
|
+
* Starts the shrink/fade-out animation for `parentNodeId`'s detail row.
|
|
228
|
+
* Must be called synchronously **before** the pipeline re-runs and removes
|
|
229
|
+
* the row — see `DetailRowRenderer.beginCollapse` for why the timing matters.
|
|
230
|
+
*/
|
|
231
|
+
beginDetailCollapse(parentNodeId: string): void;
|
|
232
|
+
scrollToRow(rowIndex: number): void;
|
|
233
|
+
scrollToTop(): void;
|
|
234
|
+
/** Whether the body can still scroll further up. Used by a Master/Detail parent to chain wheel scroll into this grid before forwarding it further up itself. */
|
|
235
|
+
canScrollUp(): boolean;
|
|
236
|
+
/** Whether the body can still scroll further down. */
|
|
237
|
+
canScrollDown(): boolean;
|
|
238
|
+
/**
|
|
239
|
+
* Scrolls the grid body (vertically and horizontally) so that the cell at
|
|
240
|
+
* `rowIndex` / `colIndex` is fully visible — mirrors AG Grid's auto-scroll
|
|
241
|
+
* behaviour on keyboard navigation.
|
|
242
|
+
*
|
|
243
|
+
* - For pinned-left/right columns only vertical scrolling is applied.
|
|
244
|
+
* - For center columns both axes are adjusted when the cell is out of view.
|
|
245
|
+
*
|
|
246
|
+
* @param rowIndex - Index into `visibleRows`
|
|
247
|
+
* @param colIndex - Index in the flat visible-columns array (left + center + right)
|
|
248
|
+
*/
|
|
249
|
+
scrollToCell(rowIndex: number, colIndex: number): void;
|
|
250
|
+
getCellRect(rowIndex: number, colIndex: number): DOMRect | null;
|
|
251
|
+
enterFullScreen(): void;
|
|
252
|
+
exitFullScreen(): void;
|
|
253
|
+
destroy(): void;
|
|
254
|
+
private buildLayout;
|
|
255
|
+
/**
|
|
256
|
+
* Builds the top-level sticky-row layer and its three left/center/right
|
|
257
|
+
* regions, mirroring the pinned-column layout via the same
|
|
258
|
+
* `--pg-left-panel-width` / `--pg-right-panel-width` CSS vars the real
|
|
259
|
+
* panels use — so a stuck row lines up pixel-for-pixel with the columns
|
|
260
|
+
* it belongs to. The center region gets its own horizontal-scroll
|
|
261
|
+
* transform so a stuck row's center cells track the user's horizontal
|
|
262
|
+
* scroll exactly like the real (non-sticky) center panel does.
|
|
263
|
+
*/
|
|
264
|
+
private buildStickyLayer;
|
|
265
|
+
private performRender;
|
|
266
|
+
private subscribeToStore;
|
|
267
|
+
/**
|
|
268
|
+
* Called when the user clicks a group collapse/expand toggle.
|
|
269
|
+
*
|
|
270
|
+
* When **collapsing**: hides all leaf columns except the first one (the "peek"
|
|
271
|
+
* column) so the group header continues to show meaningful data.
|
|
272
|
+
* When **expanding**: restores all leaf columns to visible.
|
|
273
|
+
*
|
|
274
|
+
* `setColumnVisible` fires `COLUMNS_STATE_CHANGED` → full rebuild.
|
|
275
|
+
*/
|
|
276
|
+
private handleGroupToggle;
|
|
277
|
+
/**
|
|
278
|
+
* Called when the user drags a group resize handle.
|
|
279
|
+
* Distributes the new width proportionally among all visible leaf columns.
|
|
280
|
+
*/
|
|
281
|
+
private handleGroupResize;
|
|
282
|
+
/**
|
|
283
|
+
* Re-wires column-group references back into `HeaderRenderer` after
|
|
284
|
+
* `headerRenderer.destroy()` has cleared them.
|
|
285
|
+
*/
|
|
286
|
+
private rewireGroupModelIntoHeaderRenderer;
|
|
287
|
+
/**
|
|
288
|
+
* Full header rebuild — clears inner HTML and resets the rendered flag so
|
|
289
|
+
* the next `performRender` call re-runs `renderInPanels` with the current
|
|
290
|
+
* group model state.
|
|
291
|
+
*/
|
|
292
|
+
private rebuildHeader;
|
|
293
|
+
private generateId;
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=grid-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-renderer.d.ts","sourceRoot":"","sources":["../../src/renderer/grid-renderer.ts"],"names":[],"mappings":"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"}
|