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
package/LICENSE
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/README.md
ADDED
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracks which grid instance's cell selection is currently "active" on the
|
|
3
|
+
* page, so exactly one `CellSelectionEngine` ever has a live selection at a
|
|
4
|
+
* time.
|
|
5
|
+
*
|
|
6
|
+
* Every `GridCore` — including nested Master/Detail instances — shares the
|
|
7
|
+
* same `document`-level keydown listener pattern (see `CellSelectionEngine.
|
|
8
|
+
* attach`). Without this registry, clicking a cell in one grid never clears
|
|
9
|
+
* the previous grid's visual selection, and a global shortcut like Ctrl+A
|
|
10
|
+
* would apply to every grid on the page simultaneously instead of just the
|
|
11
|
+
* one the user is interacting with.
|
|
12
|
+
*
|
|
13
|
+
* The fix doesn't require any DOM containment checks: `CellSelectionEngine.
|
|
14
|
+
* onKeydown` already no-ops when its own `activeCell` is `null` (nothing to
|
|
15
|
+
* act on). This registry's only job is ensuring that whenever a NEW grid
|
|
16
|
+
* becomes active, the PREVIOUSLY active one is deactivated — which clears
|
|
17
|
+
* its `activeCell`, and that existing guard does the rest for free.
|
|
18
|
+
*/
|
|
19
|
+
export interface ActivatableSelection {
|
|
20
|
+
/** Clears this grid's own selection/active-cell state and its visual classes. */
|
|
21
|
+
clearSelection(): void;
|
|
22
|
+
}
|
|
23
|
+
declare class ActiveGridRegistry {
|
|
24
|
+
private active;
|
|
25
|
+
/**
|
|
26
|
+
* Marks `grid` as the active selection surface, deactivating whichever
|
|
27
|
+
* grid held that role before (if different). Called on every user-driven
|
|
28
|
+
* selection start (cell click, range extend, ctrl+click).
|
|
29
|
+
*/
|
|
30
|
+
setActive(grid: ActivatableSelection): void;
|
|
31
|
+
/** Releases `grid`'s claim on activeness — call from `detach()`/`destroy()` so a torn-down grid is never left "active". */
|
|
32
|
+
release(grid: ActivatableSelection): void;
|
|
33
|
+
}
|
|
34
|
+
/** Single shared instance — every `CellSelectionEngine` on the page coordinates through this one registry. */
|
|
35
|
+
export declare const activeGridRegistry: ActiveGridRegistry;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=active-grid-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-grid-registry.d.ts","sourceRoot":"","sources":["../../src/cell-selection/active-grid-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,cAAM,kBAAkB;IACtB,OAAO,CAAC,MAAM,CAAqC;IAEnD;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAO3C,2HAA2H;IAC3H,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;CAG1C;AAED,8GAA8G;AAC9G,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
class ActiveGridRegistry {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.active = null;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Marks `grid` as the active selection surface, deactivating whichever
|
|
7
|
+
* grid held that role before (if different). Called on every user-driven
|
|
8
|
+
* selection start (cell click, range extend, ctrl+click).
|
|
9
|
+
*/
|
|
10
|
+
setActive(grid) {
|
|
11
|
+
if (this.active === grid)
|
|
12
|
+
return;
|
|
13
|
+
const previous = this.active;
|
|
14
|
+
this.active = grid;
|
|
15
|
+
previous?.clearSelection();
|
|
16
|
+
}
|
|
17
|
+
/** Releases `grid`'s claim on activeness — call from `detach()`/`destroy()` so a torn-down grid is never left "active". */
|
|
18
|
+
release(grid) {
|
|
19
|
+
if (this.active === grid)
|
|
20
|
+
this.active = null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** Single shared instance — every `CellSelectionEngine` on the page coordinates through this one registry. */
|
|
24
|
+
export const activeGridRegistry = new ActiveGridRegistry();
|
|
25
|
+
//# sourceMappingURL=active-grid-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-grid-registry.js","sourceRoot":"","sources":["../../src/cell-selection/active-grid-registry.ts"],"names":[],"mappings":"AAuBA,MAAM,kBAAkB;IAAxB;QACU,WAAM,GAAgC,IAAI,CAAC;IAkBrD,CAAC;IAhBC;;;;OAIG;IACH,SAAS,CAAC,IAA0B;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC7B,CAAC;IAED,2HAA2H;IAC3H,OAAO,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAC/C,CAAC;CACF;AAED,8GAA8G;AAC9G,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import type { RowNode } from '../types/row.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 { ClipboardEngine } from '../engines/clipboard/clipboard-engine';
|
|
6
|
+
import { UndoRedoEngine } from '../engines/undo-redo/undo-redo-engine';
|
|
7
|
+
export declare class CellSelectionEngine {
|
|
8
|
+
private store;
|
|
9
|
+
private eventBus;
|
|
10
|
+
private clipboardEngine;
|
|
11
|
+
/** Optional undo/redo engine. When provided, cut, paste, and edit operations are recorded. */
|
|
12
|
+
private undoRedoEngine?;
|
|
13
|
+
private _isSelecting;
|
|
14
|
+
private anchorCell;
|
|
15
|
+
private bodyPanels;
|
|
16
|
+
private contextMenuEl;
|
|
17
|
+
private chartOpenCallback;
|
|
18
|
+
/**
|
|
19
|
+
* Optional callback invoked when the user presses Enter on a focused (non-editing) cell.
|
|
20
|
+
* Return `true` to absorb the event (editing started); `false` to fall through to
|
|
21
|
+
* the default down-navigation behavior.
|
|
22
|
+
*/
|
|
23
|
+
private enterEditHandler;
|
|
24
|
+
/** Optional callback invoked on ArrowLeft/ArrowRight for Tree Data collapse/expand — see `setTreeToggleHandler`. */
|
|
25
|
+
private treeToggleHandler;
|
|
26
|
+
/**
|
|
27
|
+
* Optional callback invoked after every active-cell change so the grid body
|
|
28
|
+
* can scroll the newly active cell into view (AG Grid-style auto-scroll).
|
|
29
|
+
*/
|
|
30
|
+
private scrollToCellCallback;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the number of rows that fit in the visible body viewport.
|
|
33
|
+
* Used by PageUp / PageDown to determine how far to jump.
|
|
34
|
+
*/
|
|
35
|
+
private getViewportRowCountCallback;
|
|
36
|
+
/**
|
|
37
|
+
* Optional callback invoked after a data mutation (fill, cut, paste, undo/redo).
|
|
38
|
+
* When `nodeIds` is provided the renderer evicts only those rows from its cache
|
|
39
|
+
* so custom cell renderers in untouched rows are NOT re-executed.
|
|
40
|
+
* Omitting `nodeIds` falls back to a full cache clear (safe but unoptimised).
|
|
41
|
+
*/
|
|
42
|
+
private dataChangedCallback;
|
|
43
|
+
private boundKeydown;
|
|
44
|
+
private boundHideCtx;
|
|
45
|
+
/** DOM element for the interactive fill handle corner square. */
|
|
46
|
+
private fillHandleEl;
|
|
47
|
+
/** The `.pg-cell` element that currently hosts the fill handle as a child. */
|
|
48
|
+
private fillHandleParentCell;
|
|
49
|
+
/** `true` while the user is dragging the fill handle. */
|
|
50
|
+
private isFillDragging;
|
|
51
|
+
/** Normalised source range captured at the start of a fill drag. */
|
|
52
|
+
private fillSourceRange;
|
|
53
|
+
/** DOM cells currently showing the dashed fill-preview overlay. */
|
|
54
|
+
private fillPreviewCells;
|
|
55
|
+
/** Locked fill direction; null until the user moves far enough in one axis. */
|
|
56
|
+
private fillDirection;
|
|
57
|
+
/** Target row index for up/down fills; null when direction is horizontal. */
|
|
58
|
+
private fillTargetRow;
|
|
59
|
+
/** Target column index for left/right fills; null when direction is vertical. */
|
|
60
|
+
private fillTargetCol;
|
|
61
|
+
/** Callback invoked on every fill-drag mousemove to drive the edge auto-scroller. */
|
|
62
|
+
private fillDragScrollCallback;
|
|
63
|
+
/** Callback invoked when the fill drag ends to stop the edge auto-scroller. */
|
|
64
|
+
private fillDragEndCallback;
|
|
65
|
+
/**
|
|
66
|
+
* Returns the bounding rect of the grid's scroll viewport. Used by
|
|
67
|
+
* `processFillPosition` to clamp the hit-test coordinates when the cursor
|
|
68
|
+
* has moved outside the body area so edge cells are always reachable.
|
|
69
|
+
*/
|
|
70
|
+
private dragViewportRectFn;
|
|
71
|
+
private boundFillMouseMove;
|
|
72
|
+
private boundFillMouseUp;
|
|
73
|
+
constructor(store: GridStore, eventBus: EventBus, clipboardEngine: ClipboardEngine,
|
|
74
|
+
/** Optional undo/redo engine. When provided, cut, paste, and edit operations are recorded. */
|
|
75
|
+
undoRedoEngine?: UndoRedoEngine | undefined);
|
|
76
|
+
get isSelecting(): boolean;
|
|
77
|
+
attach(containerEl: HTMLElement): void;
|
|
78
|
+
setBodyPanels(panels: HTMLElement[]): void;
|
|
79
|
+
/**
|
|
80
|
+
* Register a callback that is invoked when the user presses Enter on a focused
|
|
81
|
+
* cell that is not in edit mode. Return `true` to absorb the event (editing
|
|
82
|
+
* started); return `false` to fall through to the default down-navigation.
|
|
83
|
+
*/
|
|
84
|
+
setEnterEditHandler(fn: (rowIndex: number, colIndex: number) => boolean): void;
|
|
85
|
+
/**
|
|
86
|
+
* Register a callback invoked when Left/Right is pressed (without Ctrl/Cmd
|
|
87
|
+
* or Shift) on a row with children — Tree Data's collapse/expand-via-
|
|
88
|
+
* keyboard convention. Return `true` to absorb the key press (the tree
|
|
89
|
+
* toggled, or focus jumped to a parent/first child); return `false` to
|
|
90
|
+
* fall through to normal column navigation. `CellSelectionEngine` never
|
|
91
|
+
* imports tree types itself — this indirection is how it stays unaware of
|
|
92
|
+
* Tree Data entirely, same as `setEnterEditHandler` above for editing.
|
|
93
|
+
*/
|
|
94
|
+
setTreeToggleHandler(fn: (row: RowNode, direction: 'left' | 'right') => boolean): void;
|
|
95
|
+
/**
|
|
96
|
+
* Register a callback invoked after every active-cell change so the grid body
|
|
97
|
+
* can scroll the newly active cell into view (AG Grid-style auto-scroll).
|
|
98
|
+
* The renderer wires this in `buildLayout`.
|
|
99
|
+
*
|
|
100
|
+
* @param fn - Called with the new `rowIndex` and `colIndex` after each navigation.
|
|
101
|
+
*/
|
|
102
|
+
setScrollToCellCallback(fn: (rowIndex: number, colIndex: number) => void): void;
|
|
103
|
+
/**
|
|
104
|
+
* Registers a callback that returns the number of data rows currently
|
|
105
|
+
* visible in the body viewport. Used by PageUp / PageDown to compute the
|
|
106
|
+
* jump distance. Wired by `GridRenderer` via the scroll controller.
|
|
107
|
+
*
|
|
108
|
+
* @param fn - Returns the visible row count (≥ 1).
|
|
109
|
+
*/
|
|
110
|
+
setGetViewportRowCountCallback(fn: () => number): void;
|
|
111
|
+
/**
|
|
112
|
+
* Register a callback invoked after a data mutation (fill, cut, paste, undo/redo).
|
|
113
|
+
* Pass `nodeIds` to evict only the mutated rows from the renderer cache;
|
|
114
|
+
* omit to fall back to a full cache clear.
|
|
115
|
+
*
|
|
116
|
+
* @param fn - Called with an optional set of mutated row node IDs.
|
|
117
|
+
*/
|
|
118
|
+
setDataChangedCallback(fn: (nodeIds?: Set<string>) => void): void;
|
|
119
|
+
/**
|
|
120
|
+
* Registers a callback invoked on every fill-drag `mousemove` with the
|
|
121
|
+
* current cursor coordinates. Wire this to `AutoScroller.updateMouse` in
|
|
122
|
+
* the grid renderer to enable edge auto-scrolling during fill-handle drags.
|
|
123
|
+
*
|
|
124
|
+
* @param fn - Called with `clientX` and `clientY` of each mousemove event.
|
|
125
|
+
*/
|
|
126
|
+
setFillDragScrollCallback(fn: (clientX: number, clientY: number) => void): void;
|
|
127
|
+
/**
|
|
128
|
+
* Registers a callback invoked when the fill drag ends (mouseup).
|
|
129
|
+
* Wire this to `AutoScroller.stop` in the grid renderer so the RAF loop
|
|
130
|
+
* terminates as soon as the user releases the fill handle.
|
|
131
|
+
*
|
|
132
|
+
* @param fn - Called with no arguments when the fill drag terminates.
|
|
133
|
+
*/
|
|
134
|
+
setFillDragEndCallback(fn: () => void): void;
|
|
135
|
+
/**
|
|
136
|
+
* Registers a callback that returns the bounding rect of the grid's scroll
|
|
137
|
+
* viewport (`bodyWrapEl`). When set, `processFillPosition` clamps its
|
|
138
|
+
* hit-test coordinates to just inside this rect so edge cells are always
|
|
139
|
+
* found even when the cursor has moved outside the grid boundary.
|
|
140
|
+
*
|
|
141
|
+
* @param fn - Returns the current viewport `DOMRect`, or `null` when unmounted.
|
|
142
|
+
*/
|
|
143
|
+
setDragViewportRectCallback(fn: () => DOMRect | null): void;
|
|
144
|
+
/**
|
|
145
|
+
* Re-evaluates which cell lies at `(clientX, clientY)` and updates the fill
|
|
146
|
+
* direction and dashed preview accordingly. Called by the auto-scroller's
|
|
147
|
+
* `onScrolled` callback so the preview stays current after the grid has
|
|
148
|
+
* scrolled under a stationary cursor.
|
|
149
|
+
*
|
|
150
|
+
* No-op when no fill drag is currently active.
|
|
151
|
+
*
|
|
152
|
+
* @param clientX - Viewport X coordinate of the drag cursor.
|
|
153
|
+
* @param clientY - Viewport Y coordinate of the drag cursor.
|
|
154
|
+
*/
|
|
155
|
+
updateFillPosition(clientX: number, clientY: number): void;
|
|
156
|
+
detach(): void;
|
|
157
|
+
startSelection(rowIndex: number, colIndex: number, extend?: boolean): void;
|
|
158
|
+
extendSelection(rowIndex: number, colIndex: number): void;
|
|
159
|
+
endSelection(): void;
|
|
160
|
+
clearSelection(): void;
|
|
161
|
+
isCellSelected(rowIndex: number, colIndex: number): boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Adds the given cell as a new independent 1×1 range to the selection
|
|
164
|
+
* (Ctrl+Click multi-range). If the cell is already the sole member of a
|
|
165
|
+
* 1×1 range it is deselected instead (toggle behaviour matching AG Grid).
|
|
166
|
+
*
|
|
167
|
+
* @param rowIndex - Row index of the clicked cell.
|
|
168
|
+
* @param colIndex - Column index of the clicked cell.
|
|
169
|
+
*/
|
|
170
|
+
addRangeCell(rowIndex: number, colIndex: number): void;
|
|
171
|
+
/**
|
|
172
|
+
* Applies selection CSS classes to every visible cell DOM element.
|
|
173
|
+
*
|
|
174
|
+
* For multi-range selections (Ctrl+Click) edge classes are unioned across
|
|
175
|
+
* all ranges a cell belongs to, so each range always renders a complete
|
|
176
|
+
* closed border regardless of how many ranges share a cell.
|
|
177
|
+
*
|
|
178
|
+
* After updating classes, repositions the fill handle at the primary
|
|
179
|
+
* range's bottom-right corner.
|
|
180
|
+
*/
|
|
181
|
+
applySelectionClasses(): void;
|
|
182
|
+
/** @deprecated Use `applySelectionClasses` directly. Kept for caller compatibility. */
|
|
183
|
+
renderSelection(_getCellRect: (r: number, c: number) => DOMRect | null): void;
|
|
184
|
+
/**
|
|
185
|
+
* Creates (once) or repositions the fill handle at the bottom-right corner
|
|
186
|
+
* of the primary selection range. Hidden during an active fill drag or when
|
|
187
|
+
* there are multiple ranges (Ctrl+Click mode).
|
|
188
|
+
*
|
|
189
|
+
* The element uses `position: fixed` so it always sits above the grid
|
|
190
|
+
* regardless of overflow or scroll state.
|
|
191
|
+
*/
|
|
192
|
+
private updateFillHandle;
|
|
193
|
+
/** Hides the fill handle and clears the overflow-visible class from its host cell. */
|
|
194
|
+
private hideFillHandle;
|
|
195
|
+
/**
|
|
196
|
+
* Begins a fill-handle drag operation. Captures the current selection as
|
|
197
|
+
* the fill source and attaches document-level mouse event listeners.
|
|
198
|
+
*/
|
|
199
|
+
private startFillDrag;
|
|
200
|
+
/**
|
|
201
|
+
* Handles fill-drag `mousemove` by delegating position processing and
|
|
202
|
+
* notifying the auto-scroller callback so edge scrolling can be triggered.
|
|
203
|
+
*/
|
|
204
|
+
private onFillMouseMove;
|
|
205
|
+
/**
|
|
206
|
+
* Core fill-drag position logic: resolves the fill direction and target
|
|
207
|
+
* cell from a viewport coordinate pair, then refreshes the dashed preview.
|
|
208
|
+
*
|
|
209
|
+
* Separated from `onFillMouseMove` so it can also be called by the
|
|
210
|
+
* auto-scroller's `onScrolled` callback — keeping the preview accurate
|
|
211
|
+
* after the grid has scrolled under a stationary cursor.
|
|
212
|
+
*
|
|
213
|
+
* @param clientX - Viewport X coordinate of the drag cursor.
|
|
214
|
+
* @param clientY - Viewport Y coordinate of the drag cursor.
|
|
215
|
+
*/
|
|
216
|
+
private processFillPosition;
|
|
217
|
+
/**
|
|
218
|
+
* Applies `pg-cell--fill-preview` and its directional edge classes to
|
|
219
|
+
* cells in the fill target area, replacing any previous preview.
|
|
220
|
+
*/
|
|
221
|
+
private updateFillPreview;
|
|
222
|
+
/**
|
|
223
|
+
* Finalises the fill drag: applies data, clears preview classes, and
|
|
224
|
+
* restores the fill handle to its resting position.
|
|
225
|
+
*/
|
|
226
|
+
private onFillMouseUp;
|
|
227
|
+
/**
|
|
228
|
+
* Copies source cell values into the fill target area.
|
|
229
|
+
*
|
|
230
|
+
* Cycling semantics:
|
|
231
|
+
* - Vertical fill: each column in the fill area copies from the same
|
|
232
|
+
* column in the source range, cycling rows (`srcH` modulo).
|
|
233
|
+
* - Horizontal fill: each row copies from the same row in the source
|
|
234
|
+
* range, cycling columns (`srcW` modulo).
|
|
235
|
+
*
|
|
236
|
+
* The operation is recorded in the undo/redo engine and triggers an
|
|
237
|
+
* immediate renderer refresh via `dataChangedCallback`.
|
|
238
|
+
*/
|
|
239
|
+
private applyFill;
|
|
240
|
+
/**
|
|
241
|
+
* Flashes the cells in the filled area with a success colour overlay,
|
|
242
|
+
* giving clear visual feedback that the fill operation succeeded.
|
|
243
|
+
*
|
|
244
|
+
* Uses `::before` so it never conflicts with the selection `::after` border.
|
|
245
|
+
*
|
|
246
|
+
* @param startRow - First row of the fill target area.
|
|
247
|
+
* @param endRow - Last row of the fill target area.
|
|
248
|
+
* @param startCol - First column of the fill target area.
|
|
249
|
+
* @param endCol - Last column of the fill target area.
|
|
250
|
+
*/
|
|
251
|
+
/**
|
|
252
|
+
* Applies a flash animation to all visible cells within the given row/column
|
|
253
|
+
* bounding box.
|
|
254
|
+
*
|
|
255
|
+
* @param startRow - First row index (inclusive).
|
|
256
|
+
* @param endRow - Last row index (inclusive).
|
|
257
|
+
* @param startCol - First column index (inclusive, ≥ 0).
|
|
258
|
+
* @param endCol - Last column index (inclusive).
|
|
259
|
+
* @param flashClass - CSS class that carries the animation keyframe.
|
|
260
|
+
* Defaults to `'pg-cell--fill-flash'` (green success).
|
|
261
|
+
* Pass `'pg-cell--cut-flash'` for the red danger flash.
|
|
262
|
+
*/
|
|
263
|
+
private flashFillArea;
|
|
264
|
+
moveActiveCell(dRow: number, dCol: number, rowCount: number, colCount: number, extend?: boolean): void;
|
|
265
|
+
jumpToEdge(direction: 'up' | 'down' | 'left' | 'right', rowCount: number, colCount: number, extend?: boolean): void;
|
|
266
|
+
setChartOpenCallback(fn: (type: string) => void): void;
|
|
267
|
+
copySelection(rows: RowNode[], columns: ColumnDef[]): Promise<void>;
|
|
268
|
+
copySelectionWithHeaders(rows: RowNode[], columns: ColumnDef[]): Promise<void>;
|
|
269
|
+
cutSelection(rows: RowNode[], columns: ColumnDef[]): Promise<void>;
|
|
270
|
+
pasteSelection(rows: RowNode[], columns: ColumnDef[]): Promise<void>;
|
|
271
|
+
/**
|
|
272
|
+
* Reverts the most recent recorded action (edit / cut / paste) by applying
|
|
273
|
+
* the inverse cell changes and triggering a re-render.
|
|
274
|
+
* No-op when the undo stack is empty or no engine is wired up.
|
|
275
|
+
*/
|
|
276
|
+
private performUndo;
|
|
277
|
+
/**
|
|
278
|
+
* Re-applies the most recently undone action and triggers a re-render.
|
|
279
|
+
* No-op when the redo stack is empty or no engine is wired up.
|
|
280
|
+
*/
|
|
281
|
+
private performRedo;
|
|
282
|
+
/**
|
|
283
|
+
* Writes the given cell changes into `allRows`, triggers a renderer refresh,
|
|
284
|
+
* scrolls the first affected cell into view, and flashes the affected region.
|
|
285
|
+
*
|
|
286
|
+
* Used by both `performUndo` and `performRedo`.
|
|
287
|
+
*
|
|
288
|
+
* A `Map<nodeId, RowNode>` is built once before the change loop so each row
|
|
289
|
+
* lookup is O(1) instead of O(n) — important for large paste undo operations.
|
|
290
|
+
*
|
|
291
|
+
* @param changes - Ordered list of `{ nodeId, field, newValue }` to apply.
|
|
292
|
+
*/
|
|
293
|
+
private applyUndoRedoChanges;
|
|
294
|
+
/**
|
|
295
|
+
* Returns the `field` name of the innermost (deepest) grouping column, or
|
|
296
|
+
* `undefined` when no grouping is active.
|
|
297
|
+
*
|
|
298
|
+
* Reads from the store's full column list (including hidden columns) rather
|
|
299
|
+
* than the visible-columns slice passed to copy/cut/paste methods — the
|
|
300
|
+
* grouped column is often hidden from the regular column display (visible: false)
|
|
301
|
+
* but the leaf group cell must still be able to copy its value.
|
|
302
|
+
*/
|
|
303
|
+
private getLeafGroupField;
|
|
304
|
+
showContextMenu(x: number, y: number): void;
|
|
305
|
+
hideContextMenu(): void;
|
|
306
|
+
private flashSelection;
|
|
307
|
+
private clearCutCellsInDom;
|
|
308
|
+
private getVisibleColumns;
|
|
309
|
+
/**
|
|
310
|
+
* Coerces `value` to the primitive type expected by `targetType`.
|
|
311
|
+
*
|
|
312
|
+
* Called by `applyFill` whenever the source column type differs from the
|
|
313
|
+
* destination column type so that data remains correctly typed after a
|
|
314
|
+
* cross-type fill — even if the result is `NaN` or an `Invalid Date`.
|
|
315
|
+
*
|
|
316
|
+
* | `targetType` | Conversion |
|
|
317
|
+
* |---------------------------------|-------------------------------------|
|
|
318
|
+
* | `'number'` / `'currency'` / | `Number(value)` — may produce `NaN` |
|
|
319
|
+
* | `'percentage'` | |
|
|
320
|
+
* | `'date'` | `new Date(String(value))` — may |
|
|
321
|
+
* | | produce `Invalid Date` |
|
|
322
|
+
* | `'boolean'` | `Boolean(value)` |
|
|
323
|
+
* | `'string'` | `String(value)` if not already |
|
|
324
|
+
* | anything else | unchanged |
|
|
325
|
+
*
|
|
326
|
+
* @param value - Raw value from the source cell.
|
|
327
|
+
* @param targetType - `ColumnDef.type` of the destination column.
|
|
328
|
+
*/
|
|
329
|
+
private coerceToColumnType;
|
|
330
|
+
private onKeydown;
|
|
331
|
+
private selectAll;
|
|
332
|
+
private buildContextMenu;
|
|
333
|
+
private exportAsCsv;
|
|
334
|
+
private emitSelectionChanged;
|
|
335
|
+
}
|
|
336
|
+
//# sourceMappingURL=cell-selection-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-selection-engine.d.ts","sourceRoot":"","sources":["../../src/cell-selection/cell-selection-engine.ts"],"names":[],"mappings":"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"}
|