@highcharts/grid-pro 2.1.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +6 -0
- package/README.md +15 -9
- package/css/grid-pro.css +1289 -1153
- package/css/modules/grid-base-variables.css +131 -0
- package/css/modules/grid-button-variables.css +140 -0
- package/css/modules/grid-caption-variables.css +11 -0
- package/css/modules/grid-description-variables.css +11 -0
- package/css/modules/grid-input-variables.css +114 -0
- package/css/modules/grid-link-variables.css +18 -0
- package/css/modules/grid-menu-variables.css +50 -0
- package/css/modules/grid-pagination-variables.css +12 -0
- package/css/modules/grid-popup-variables.css +24 -0
- package/css/modules/grid-pro.css +234 -0
- package/css/modules/grid-table-variables.css +385 -0
- package/css/modules/grid-theme-default.css +55 -0
- package/es-modules/Accessibility/A11yI18n.js +4 -5
- package/es-modules/Accessibility/Accessibility.js +5 -5
- package/es-modules/Accessibility/AccessibilityComponent.d.ts +3 -3
- package/es-modules/Accessibility/AccessibilityComponent.js +4 -3
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +4 -3
- package/es-modules/Accessibility/Components/ContainerComponent.js +4 -3
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +9 -9
- package/es-modules/Accessibility/Components/LegendComponent.js +5 -5
- package/es-modules/Accessibility/Components/MenuComponent.js +5 -5
- package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -7
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -5
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +15 -5
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +7 -7
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +4 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +7 -7
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +5 -5
- package/es-modules/Accessibility/Components/ZoomComponent.js +5 -5
- package/es-modules/Accessibility/FocusBorder.js +5 -5
- package/es-modules/Accessibility/HighContrastMode.js +4 -3
- package/es-modules/Accessibility/HighContrastTheme.js +4 -3
- package/es-modules/Accessibility/KeyboardNavigation.js +5 -5
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +5 -5
- package/es-modules/Accessibility/Options/A11yDefaults.d.ts +11 -0
- package/es-modules/Accessibility/Options/A11yDefaults.js +15 -3
- package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +58 -0
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -5
- package/es-modules/Accessibility/Options/LangDefaults.js +13 -3
- package/es-modules/Accessibility/ProxyElement.js +6 -8
- package/es-modules/Accessibility/ProxyProvider.js +5 -5
- package/es-modules/Accessibility/Utils/Announcer.js +6 -6
- package/es-modules/Accessibility/Utils/ChartUtilities.js +5 -5
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +4 -3
- package/es-modules/Accessibility/Utils/EventProvider.d.ts +3 -3
- package/es-modules/Accessibility/Utils/EventProvider.js +10 -5
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +5 -5
- package/es-modules/Core/Animation/AnimationOptions.d.ts +42 -0
- package/es-modules/Core/Animation/AnimationOptions.js +10 -0
- package/es-modules/Core/Animation/AnimationUtilities.js +40 -5
- package/es-modules/Core/Animation/Fx.d.ts +1 -130
- package/es-modules/Core/Animation/Fx.js +14 -8
- package/es-modules/Core/Animation/FxBase.d.ts +1 -0
- package/es-modules/Core/Animation/FxBase.js +11 -0
- package/es-modules/Core/Callback.d.ts +56 -0
- package/es-modules/Core/Callback.js +10 -0
- package/es-modules/Core/Chart/Chart.d.ts +659 -400
- package/es-modules/Core/Chart/Chart.js +112 -95
- package/es-modules/Core/Chart/Chart3D.d.ts +123 -233
- package/es-modules/Core/Chart/Chart3D.js +23 -37
- package/es-modules/Core/Chart/ChartBase.d.ts +3 -0
- package/es-modules/Core/Chart/ChartBase.js +11 -0
- package/es-modules/Core/Chart/ChartDefaults.js +18 -12
- package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +1 -55
- package/es-modules/Core/Chart/ChartNavigationComposition.js +13 -13
- package/es-modules/Core/Chart/ChartOptions.d.ts +1225 -0
- package/es-modules/Core/Chart/ChartOptions.js +10 -0
- package/es-modules/Core/Chart/GanttChart.d.ts +0 -38
- package/es-modules/Core/Chart/GanttChart.js +5 -5
- package/es-modules/Core/Chart/MapChart.d.ts +9 -4
- package/es-modules/Core/Chart/MapChart.js +14 -5
- package/es-modules/Core/Chart/StockChart.d.ts +0 -85
- package/es-modules/Core/Chart/StockChart.js +35 -18
- package/es-modules/Core/Color/Color.d.ts +16 -24
- package/es-modules/Core/Color/Color.js +27 -10
- package/es-modules/Core/Color/ColorString.d.ts +0 -23
- package/es-modules/Core/Color/ColorString.js +11 -0
- package/es-modules/Core/Color/ColorType.d.ts +0 -33
- package/es-modules/Core/Color/ColorType.js +11 -0
- package/es-modules/Core/Color/GradientColor.d.ts +0 -33
- package/es-modules/Core/Color/GradientColor.js +11 -0
- package/es-modules/Core/Color/Palettes.d.ts +1 -84
- package/es-modules/Core/Color/Palettes.js +2 -1
- package/es-modules/Core/Defaults.d.ts +6 -0
- package/es-modules/Core/Defaults.js +66 -75
- package/es-modules/Core/Delaunay.d.ts +52 -0
- package/es-modules/Core/Delaunay.js +310 -0
- package/es-modules/Core/Foundation.d.ts +1 -19
- package/es-modules/Core/Foundation.js +8 -6
- package/es-modules/Core/Geometry/CircleObject.d.ts +5 -0
- package/es-modules/Core/Geometry/CircleObject.js +10 -0
- package/es-modules/Core/Geometry/CircleUtilities.d.ts +1 -189
- package/es-modules/Core/Geometry/CircleUtilities.js +18 -17
- package/es-modules/Core/Geometry/GeometryObject.d.ts +7 -0
- package/es-modules/Core/Geometry/GeometryObject.js +10 -0
- package/es-modules/Core/Geometry/GeometryUtilities.d.ts +1 -48
- package/es-modules/Core/Geometry/GeometryUtilities.js +9 -7
- package/es-modules/Core/Geometry/IntersectionObject.d.ts +7 -0
- package/es-modules/Core/Geometry/IntersectionObject.js +10 -0
- package/es-modules/Core/Geometry/PolygonClip.d.ts +1 -19
- package/es-modules/Core/Geometry/PolygonClip.js +9 -7
- package/es-modules/Core/Globals.d.ts +9 -31
- package/es-modules/Core/Globals.js +9 -10
- package/es-modules/Core/GlobalsBase.d.ts +35 -0
- package/es-modules/Core/GlobalsBase.js +11 -0
- package/es-modules/Core/HttpUtilities.d.ts +54 -17
- package/es-modules/Core/HttpUtilities.js +16 -16
- package/es-modules/Core/JSON.d.ts +29 -0
- package/es-modules/Core/JSON.js +13 -0
- package/es-modules/Core/KeyboardEvent.d.ts +1 -0
- package/es-modules/Core/KeyboardEvent.js +11 -0
- package/es-modules/Core/MSPointer.d.ts +1 -74
- package/es-modules/Core/MSPointer.js +24 -15
- package/es-modules/Core/Math3D.d.ts +1 -117
- package/es-modules/Core/Math3D.js +14 -12
- package/es-modules/Core/Options.d.ts +338 -0
- package/es-modules/Core/Options.js +10 -0
- package/es-modules/Core/Pointer.d.ts +71 -445
- package/es-modules/Core/Pointer.js +74 -69
- package/es-modules/Core/PointerEvent.d.ts +20 -0
- package/es-modules/Core/PointerEvent.js +11 -0
- package/es-modules/Core/Renderer/AlignObject.d.ts +25 -27
- package/es-modules/Core/Renderer/AlignObject.js +11 -0
- package/es-modules/Core/Renderer/BBoxObject.d.ts +20 -31
- package/es-modules/Core/Renderer/BBoxObject.js +11 -0
- package/es-modules/Core/Renderer/CSSObject.d.ts +268 -59
- package/es-modules/Core/Renderer/CSSObject.js +10 -0
- package/es-modules/Core/Renderer/DOMElementType.d.ts +1 -33
- package/es-modules/Core/Renderer/DOMElementType.js +11 -0
- package/es-modules/Core/Renderer/DashStyleValue.d.ts +1 -27
- package/es-modules/Core/Renderer/DashStyleValue.js +11 -0
- package/es-modules/Core/Renderer/FontMetricsObject.d.ts +6 -26
- package/es-modules/Core/Renderer/FontMetricsObject.js +11 -0
- package/es-modules/Core/Renderer/HTML/AST.d.ts +3 -15
- package/es-modules/Core/Renderer/HTML/AST.js +24 -15
- package/es-modules/Core/Renderer/HTML/HTMLAttributes.d.ts +1 -25
- package/es-modules/Core/Renderer/HTML/HTMLAttributes.js +11 -0
- package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +0 -54
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +28 -24
- package/es-modules/Core/Renderer/PolygonBoxObject.d.ts +15 -12
- package/es-modules/Core/Renderer/PolygonBoxObject.js +11 -0
- package/es-modules/Core/Renderer/Position3DObject.d.ts +6 -30
- package/es-modules/Core/Renderer/Position3DObject.js +11 -0
- package/es-modules/Core/Renderer/PositionObject.d.ts +9 -23
- package/es-modules/Core/Renderer/PositionObject.js +11 -0
- package/es-modules/Core/Renderer/RectangleObject.d.ts +6 -30
- package/es-modules/Core/Renderer/RectangleObject.js +11 -0
- package/es-modules/Core/Renderer/RendererRegistry.d.ts +1 -29
- package/es-modules/Core/Renderer/RendererRegistry.js +6 -3
- package/es-modules/Core/Renderer/RendererType.d.ts +1 -53
- package/es-modules/Core/Renderer/RendererType.js +11 -0
- package/es-modules/Core/Renderer/RendererUtilities.d.ts +1 -26
- package/es-modules/Core/Renderer/RendererUtilities.js +41 -23
- package/es-modules/Core/Renderer/SVG/ButtonThemeObject.d.ts +26 -31
- package/es-modules/Core/Renderer/SVG/SVGArc3D.d.ts +1 -44
- package/es-modules/Core/Renderer/SVG/SVGAttributes.d.ts +15 -51
- package/es-modules/Core/Renderer/SVG/SVGAttributes3D.d.ts +1 -42
- package/es-modules/Core/Renderer/SVG/SVGCuboid.d.ts +1 -42
- package/es-modules/Core/Renderer/SVG/SVGElement.d.ts +459 -0
- package/es-modules/Core/Renderer/SVG/SVGElement3D.d.ts +1 -0
- package/es-modules/Core/Renderer/SVG/SVGElementBase.d.ts +0 -23
- package/es-modules/Core/Renderer/SVG/SVGLabel.d.ts +14 -0
- package/es-modules/Core/Renderer/SVG/SVGPath.d.ts +18 -56
- package/es-modules/Core/Renderer/SVG/SVGPath3D.d.ts +0 -30
- package/es-modules/Core/Renderer/SVG/SVGRenderer.d.ts +652 -0
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.d.ts +1 -0
- package/es-modules/Core/Renderer/SVG/SVGRendererBase.d.ts +0 -24
- package/es-modules/Core/Renderer/SVG/SymbolOptions.d.ts +3 -26
- package/es-modules/Core/Renderer/SVG/SymbolType.d.ts +1 -41
- package/es-modules/Core/Renderer/SVG/Symbols.d.ts +146 -0
- package/es-modules/Core/Renderer/SVG/TextBuilder.d.ts +1 -0
- package/es-modules/Core/Renderer/ShadowOptionsObject.d.ts +21 -30
- package/es-modules/Core/Renderer/ShadowOptionsObject.js +11 -0
- package/es-modules/Core/Renderer/SizeObject.d.ts +0 -23
- package/es-modules/Core/Renderer/SizeObject.js +11 -0
- package/es-modules/Core/Responsive.d.ts +94 -29
- package/es-modules/Core/Responsive.js +17 -12
- package/es-modules/Core/Templating.d.ts +17 -1
- package/es-modules/Core/Templating.js +12 -8
- package/es-modules/Core/Time.d.ts +18 -1
- package/es-modules/Core/Time.js +6 -5
- package/es-modules/Core/Tooltip.d.ts +67 -123
- package/es-modules/Core/Tooltip.js +161 -108
- package/es-modules/Core/TooltipOptions.d.ts +724 -0
- package/es-modules/Core/TooltipOptions.js +10 -0
- package/es-modules/Core/Utilities.d.ts +32 -703
- package/es-modules/Core/Utilities.js +28 -1443
- package/es-modules/Data/ColumnUtils.d.ts +83 -80
- package/es-modules/Data/ColumnUtils.js +106 -116
- package/es-modules/Data/Connectors/CSVConnector.d.ts +9 -14
- package/es-modules/Data/Connectors/CSVConnector.js +6 -7
- package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +3 -3
- package/es-modules/Data/Connectors/DataConnector.d.ts +63 -54
- package/es-modules/Data/Connectors/DataConnector.js +67 -56
- package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +3 -3
- package/es-modules/Data/Connectors/DataConnectorType.d.ts +3 -3
- package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +40 -42
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +76 -91
- package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +7 -5
- package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +23 -28
- package/es-modules/Data/Connectors/HTMLTableConnector.js +6 -7
- package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +3 -3
- package/es-modules/Data/Connectors/JSONConnector.d.ts +9 -14
- package/es-modules/Data/Connectors/JSONConnector.js +6 -7
- package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +3 -3
- package/es-modules/Data/Converters/CSVConverter.d.ts +5 -5
- package/es-modules/Data/Converters/CSVConverter.js +6 -7
- package/es-modules/Data/Converters/CSVConverterOptions.d.ts +5 -5
- package/es-modules/Data/Converters/DataConverter.d.ts +76 -78
- package/es-modules/Data/Converters/DataConverter.js +29 -56
- package/es-modules/Data/Converters/DataConverterType.d.ts +3 -3
- package/es-modules/Data/Converters/DataConverterUtils.d.ts +88 -81
- package/es-modules/Data/Converters/DataConverterUtils.js +172 -184
- package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +4 -4
- package/es-modules/Data/Converters/GoogleSheetsConverter.js +6 -6
- package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +5 -5
- package/es-modules/Data/Converters/HTMLTableConverter.d.ts +4 -4
- package/es-modules/Data/Converters/HTMLTableConverter.js +5 -6
- package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +5 -5
- package/es-modules/Data/Converters/JSONConverter.d.ts +7 -7
- package/es-modules/Data/Converters/JSONConverter.js +9 -9
- package/es-modules/Data/Converters/JSONConverterOptions.d.ts +5 -5
- package/es-modules/Data/DataCursor.d.ts +65 -70
- package/es-modules/Data/DataCursor.js +122 -142
- package/es-modules/Data/DataEvent.d.ts +55 -57
- package/es-modules/Data/DataEvent.js +3 -3
- package/es-modules/Data/DataPool.d.ts +10 -17
- package/es-modules/Data/DataPool.js +23 -12
- package/es-modules/Data/DataPoolOptions.d.ts +3 -3
- package/es-modules/Data/DataTable.d.ts +115 -117
- package/es-modules/Data/DataTable.js +67 -33
- package/es-modules/Data/DataTableCore.d.ts +11 -11
- package/es-modules/Data/DataTableCore.js +7 -7
- package/es-modules/Data/DataTableOptions.js +3 -3
- package/es-modules/Data/Formula/Formula.js +3 -3
- package/es-modules/Data/Formula/FormulaParser.js +4 -5
- package/es-modules/Data/Formula/FormulaProcessor.js +4 -5
- package/es-modules/Data/Formula/FormulaTypes.js +3 -3
- package/es-modules/Data/Formula/Functions/ABS.js +3 -3
- package/es-modules/Data/Formula/Functions/AND.js +3 -3
- package/es-modules/Data/Formula/Functions/AVERAGE.js +3 -3
- package/es-modules/Data/Formula/Functions/AVERAGEA.js +3 -3
- package/es-modules/Data/Formula/Functions/COUNT.js +3 -3
- package/es-modules/Data/Formula/Functions/COUNTA.js +3 -3
- package/es-modules/Data/Formula/Functions/IF.js +3 -3
- package/es-modules/Data/Formula/Functions/ISNA.js +3 -3
- package/es-modules/Data/Formula/Functions/MAX.js +3 -3
- package/es-modules/Data/Formula/Functions/MEDIAN.js +3 -3
- package/es-modules/Data/Formula/Functions/MIN.js +3 -3
- package/es-modules/Data/Formula/Functions/MOD.js +3 -3
- package/es-modules/Data/Formula/Functions/MODE.js +3 -3
- package/es-modules/Data/Formula/Functions/NOT.js +3 -3
- package/es-modules/Data/Formula/Functions/OR.js +3 -3
- package/es-modules/Data/Formula/Functions/PRODUCT.js +3 -3
- package/es-modules/Data/Formula/Functions/SUM.js +3 -3
- package/es-modules/Data/Formula/Functions/XOR.js +3 -3
- package/es-modules/Data/Modifiers/ChainModifier.d.ts +29 -34
- package/es-modules/Data/Modifiers/ChainModifier.js +10 -11
- package/es-modules/Data/Modifiers/ChainModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/DataModifier.d.ts +36 -41
- package/es-modules/Data/Modifiers/DataModifier.js +34 -56
- package/es-modules/Data/Modifiers/DataModifierEvent.js +3 -3
- package/es-modules/Data/Modifiers/DataModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/DataModifierType.d.ts +3 -3
- package/es-modules/Data/Modifiers/FilterModifier.d.ts +4 -4
- package/es-modules/Data/Modifiers/FilterModifier.js +6 -7
- package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +3 -2
- package/es-modules/Data/Modifiers/FilterModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/InvertModifier.d.ts +4 -4
- package/es-modules/Data/Modifiers/InvertModifier.js +6 -7
- package/es-modules/Data/Modifiers/InvertModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/MathModifier.d.ts +5 -4
- package/es-modules/Data/Modifiers/MathModifier.js +3 -3
- package/es-modules/Data/Modifiers/MathModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/RangeModifier.d.ts +4 -4
- package/es-modules/Data/Modifiers/RangeModifier.js +6 -7
- package/es-modules/Data/Modifiers/RangeModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/SortModifier.d.ts +6 -11
- package/es-modules/Data/Modifiers/SortModifier.js +35 -10
- package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +43 -6
- package/es-modules/Data/Modifiers/SortModifierOptions.js +3 -3
- package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +77 -0
- package/es-modules/Grid/Core/Accessibility/A11yOptions.js +4 -3
- package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +68 -1
- package/es-modules/Grid/Core/Accessibility/Accessibility.js +179 -7
- package/es-modules/Grid/Core/Credits.js +3 -3
- package/es-modules/Grid/Core/Data/DataProvider.d.ts +97 -0
- package/es-modules/Grid/Core/Data/DataProvider.js +89 -0
- package/es-modules/Grid/Core/Data/DataProviderRegistry.d.ts +20 -0
- package/es-modules/Grid/Core/Data/DataProviderRegistry.js +52 -0
- package/es-modules/Grid/Core/Data/DataProviderType.d.ts +19 -0
- package/es-modules/Grid/Core/Data/DataProviderType.js +15 -0
- package/es-modules/Grid/Core/Data/LocalDataProvider.d.ts +165 -0
- package/es-modules/Grid/Core/Data/LocalDataProvider.js +341 -0
- package/es-modules/Grid/Core/Defaults.js +21 -7
- package/es-modules/Grid/Core/Globals.d.ts +20 -16
- package/es-modules/Grid/Core/Globals.js +13 -11
- package/es-modules/Grid/Core/Grid.d.ts +43 -23
- package/es-modules/Grid/Core/Grid.js +316 -136
- package/es-modules/Grid/Core/GridUtils.d.ts +33 -0
- package/es-modules/Grid/Core/GridUtils.js +53 -6
- package/es-modules/Grid/Core/Options.d.ts +162 -5
- package/es-modules/Grid/Core/Options.js +3 -3
- package/es-modules/Grid/Core/Pagination/Pagination.d.ts +3 -0
- package/es-modules/Grid/Core/Pagination/Pagination.js +66 -26
- package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +4 -40
- package/es-modules/Grid/Core/Pagination/PaginationOptions.js +11 -0
- package/es-modules/Grid/Core/Querying/FilteringController.js +4 -5
- package/es-modules/Grid/Core/Querying/PaginationController.d.ts +2 -2
- package/es-modules/Grid/Core/Querying/PaginationController.js +6 -6
- package/es-modules/Grid/Core/Querying/QueryingController.d.ts +1 -1
- package/es-modules/Grid/Core/Querying/QueryingController.js +5 -29
- package/es-modules/Grid/Core/Querying/SortingController.d.ts +15 -0
- package/es-modules/Grid/Core/Querying/SortingController.js +89 -51
- package/es-modules/Grid/Core/Responsive/ResponsiveComposition.d.ts +53 -0
- package/es-modules/Grid/Core/Responsive/ResponsiveComposition.js +229 -0
- package/es-modules/Grid/Core/Responsive/ResponsiveOptions.d.ts +58 -0
- package/es-modules/Grid/Core/Responsive/ResponsiveOptions.js +15 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +5 -6
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +3 -3
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +6 -7
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +1 -1
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +5 -5
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +3 -3
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +29 -3
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +136 -26
- package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +4 -6
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +94 -3
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +481 -91
- package/es-modules/Grid/Core/Table/Body/CellContextMenu.d.ts +11 -0
- package/es-modules/Grid/Core/Table/Body/CellContextMenu.js +84 -0
- package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +36 -15
- package/es-modules/Grid/Core/Table/Body/TableCell.js +89 -33
- package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +15 -5
- package/es-modules/Grid/Core/Table/Body/TableRow.js +70 -19
- package/es-modules/Grid/Core/Table/Cell.d.ts +16 -10
- package/es-modules/Grid/Core/Table/Cell.js +41 -6
- package/es-modules/Grid/Core/Table/CellContent/CellContent.js +3 -3
- package/es-modules/Grid/Core/Table/CellContent/TextContent.js +7 -12
- package/es-modules/Grid/Core/Table/Column.d.ts +11 -5
- package/es-modules/Grid/Core/Table/Column.js +26 -37
- package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +3 -3
- package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +3 -3
- package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +3 -3
- package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +12 -11
- package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +7 -6
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +5 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +21 -7
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +4 -5
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +4 -5
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +9 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +37 -9
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +5 -4
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +11 -7
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +4 -5
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +4 -5
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +4 -1
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +88 -15
- package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +8 -3
- package/es-modules/Grid/Core/Table/Header/HeaderCell.js +36 -15
- package/es-modules/Grid/Core/Table/Header/HeaderRow.js +7 -8
- package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +1 -1
- package/es-modules/Grid/Core/Table/Header/TableHeader.js +6 -6
- package/es-modules/Grid/Core/Table/Row.d.ts +1 -1
- package/es-modules/Grid/Core/Table/Row.js +5 -5
- package/es-modules/Grid/Core/Table/Table.d.ts +68 -12
- package/es-modules/Grid/Core/Table/Table.js +296 -92
- package/es-modules/Grid/Core/UI/Button.js +3 -3
- package/es-modules/Grid/Core/UI/ContextMenu.js +3 -3
- package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +6 -7
- package/es-modules/Grid/Core/UI/ContextMenuButton.js +8 -6
- package/es-modules/Grid/Core/UI/Popup.js +10 -12
- package/es-modules/Grid/Core/UI/SvgIcons.d.ts +42 -7
- package/es-modules/Grid/Core/UI/SvgIcons.js +209 -36
- package/es-modules/Grid/Core/UI/Toolbar.d.ts +5 -0
- package/es-modules/Grid/Core/UI/Toolbar.js +3 -3
- package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +4 -12
- package/es-modules/Grid/Core/UI/ToolbarButton.js +11 -29
- package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +4 -45
- package/es-modules/Grid/Pro/CellEditing/CellEditMode.js +16 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditing.js +13 -13
- package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +1 -34
- package/es-modules/Grid/Pro/CellRendering/CellRendererType.js +15 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +1 -1
- package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +7 -5
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +2 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +2 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +7 -5
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +2 -2
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +4 -4
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +4 -5
- package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +4 -5
- package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +10 -1
- package/es-modules/Grid/Pro/ColumnTypes/Validator.js +56 -12
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +1 -1
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +6 -7
- package/es-modules/Grid/Pro/Credits/CreditsPro.js +3 -3
- package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +4 -6
- package/es-modules/Grid/Pro/Data/DataSourceHelper.d.ts +74 -0
- package/es-modules/Grid/Pro/Data/DataSourceHelper.js +246 -0
- package/es-modules/Grid/Pro/Data/QuerySerializer.d.ts +46 -0
- package/es-modules/Grid/Pro/Data/QuerySerializer.js +169 -0
- package/es-modules/Grid/Pro/Data/RemoteDataProvider.d.ts +187 -0
- package/es-modules/Grid/Pro/Data/RemoteDataProvider.js +500 -0
- package/es-modules/Grid/Pro/Export/Exporting.js +5 -7
- package/es-modules/Grid/Pro/Export/ExportingComposition.js +4 -5
- package/es-modules/Grid/Pro/GridEvents.d.ts +1 -0
- package/es-modules/Grid/Pro/GridEvents.js +4 -5
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +0 -1
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +4 -5
- package/es-modules/Grid/index.js +3 -3
- package/es-modules/Shared/BaseForm.js +4 -5
- package/es-modules/Shared/DownloadURL.d.ts +1 -85
- package/es-modules/Shared/DownloadURL.js +15 -13
- package/es-modules/Shared/LangOptionsCore.d.ts +4 -3
- package/es-modules/Shared/TimeBase.d.ts +1 -46
- package/es-modules/Shared/TimeBase.js +11 -10
- package/es-modules/Shared/Types.d.ts +11 -3
- package/es-modules/Shared/Utilities.d.ts +576 -0
- package/es-modules/Shared/Utilities.js +1368 -0
- package/es-modules/masters/grid-pro.src.d.ts +18 -19
- package/es-modules/masters/grid-pro.src.js +24 -9
- package/grid-pro.d.ts +18 -19
- package/grid-pro.js +6 -5
- package/grid-pro.js.map +1 -1
- package/grid-pro.src.d.ts +18 -19
- package/grid-pro.src.js +8132 -4531
- package/package.json +1 -1
- package/es-modules/Grid/Core/Pagination/Icons.d.ts +0 -7
- package/es-modules/Grid/Core/Pagination/Icons.js +0 -7
- package/es-modules/Grid/Pro/highcharts.d.ts +0 -7
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid ColumnSorting class
|
|
4
4
|
*
|
|
5
|
-
* (c) 2020-
|
|
5
|
+
* (c) 2020-2026 Highsoft AS
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* A commercial license may be required depending on use.
|
|
8
|
+
* See www.highcharts.com/license
|
|
8
9
|
*
|
|
9
|
-
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
10
|
*
|
|
11
11
|
* Authors:
|
|
12
12
|
* - Dawid Dragula
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
* */
|
|
16
16
|
'use strict';
|
|
17
17
|
import Globals from '../../Globals.js';
|
|
18
|
-
import
|
|
19
|
-
const { fireEvent } = U;
|
|
18
|
+
import { fireEvent } from '../../../../Shared/Utilities.js';
|
|
20
19
|
/* *
|
|
21
20
|
*
|
|
22
21
|
* Class
|
|
@@ -42,25 +41,59 @@ class ColumnSorting {
|
|
|
42
41
|
*/
|
|
43
42
|
constructor(column, headerCellElement) {
|
|
44
43
|
/**
|
|
45
|
-
* Toggle sorting order for the column
|
|
44
|
+
* Toggle sorting order for the column according to the configured
|
|
45
|
+
* sorting order sequence.
|
|
46
|
+
*
|
|
47
|
+
* @param e
|
|
48
|
+
* Optional mouse or keyboard event.
|
|
46
49
|
*/
|
|
47
|
-
this.toggle = () => {
|
|
50
|
+
this.toggle = (e) => {
|
|
48
51
|
const viewport = this.column.viewport;
|
|
49
52
|
const querying = viewport.grid.querying;
|
|
50
53
|
const sortingController = querying.sorting;
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
const additive = !!e?.shiftKey;
|
|
55
|
+
let hasCurrentColumnSorting = false;
|
|
56
|
+
const currentOrder = (() => {
|
|
57
|
+
if (additive) {
|
|
58
|
+
const currentSorting = sortingController.currentSortings?.find((sorting) => sorting.columnId === this.column.id);
|
|
59
|
+
hasCurrentColumnSorting = !!currentSorting;
|
|
60
|
+
return this.normalizeOrder(currentSorting?.order);
|
|
61
|
+
}
|
|
62
|
+
const currentSorting = sortingController.currentSorting;
|
|
63
|
+
hasCurrentColumnSorting =
|
|
64
|
+
currentSorting?.columnId === this.column.id;
|
|
65
|
+
return hasCurrentColumnSorting ?
|
|
66
|
+
this.normalizeOrder(currentSorting?.order) :
|
|
67
|
+
null;
|
|
68
|
+
})();
|
|
69
|
+
const orderSequence = this.getOrderSequence();
|
|
70
|
+
if (orderSequence.length < 1) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
let nextOrderIndex = 0;
|
|
74
|
+
const lastIndex = this.lastOrderSequenceIndex;
|
|
75
|
+
if (hasCurrentColumnSorting &&
|
|
76
|
+
typeof lastIndex === 'number' &&
|
|
77
|
+
orderSequence[lastIndex] === currentOrder) {
|
|
78
|
+
nextOrderIndex = (lastIndex + 1) % orderSequence.length;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const currentOrderIndex = orderSequence.indexOf(currentOrder);
|
|
82
|
+
nextOrderIndex = (currentOrderIndex === -1 ?
|
|
83
|
+
0 :
|
|
84
|
+
(currentOrderIndex + 1) % orderSequence.length);
|
|
85
|
+
}
|
|
86
|
+
this.lastOrderSequenceIndex = nextOrderIndex;
|
|
87
|
+
const nextOrder = orderSequence[nextOrderIndex];
|
|
88
|
+
void this.setOrder(nextOrder, additive);
|
|
59
89
|
};
|
|
60
90
|
this.column = column;
|
|
61
91
|
this.headerCellElement = headerCellElement;
|
|
62
92
|
this.addHeaderElementAttributes();
|
|
63
|
-
|
|
93
|
+
const sortingOptions = column.options.sorting;
|
|
94
|
+
const sortingEnabled = sortingOptions?.enabled ??
|
|
95
|
+
sortingOptions?.sortable;
|
|
96
|
+
if (sortingEnabled) {
|
|
64
97
|
headerCellElement.classList.add(Globals.getClassName('columnSortable'));
|
|
65
98
|
}
|
|
66
99
|
}
|
|
@@ -76,19 +109,25 @@ class ColumnSorting {
|
|
|
76
109
|
const col = this.column;
|
|
77
110
|
const a11y = col.viewport.grid.accessibility;
|
|
78
111
|
const sortingOptions = col.options.sorting;
|
|
79
|
-
const { currentSorting } = col.viewport.grid.querying.sorting;
|
|
112
|
+
const { currentSorting, currentSortings } = col.viewport.grid.querying.sorting;
|
|
80
113
|
const sortedAscClassName = Globals.getClassName('columnSortedAsc');
|
|
81
114
|
const sortedDescClassName = Globals.getClassName('columnSortedDesc');
|
|
82
115
|
const el = this.headerCellElement;
|
|
83
|
-
|
|
116
|
+
const sortingEnabled = sortingOptions?.enabled ??
|
|
117
|
+
sortingOptions?.sortable;
|
|
118
|
+
const columnSorting = (currentSortings?.find((sorting) => sorting.columnId === col.id) ||
|
|
119
|
+
(currentSorting?.columnId === col.id ?
|
|
120
|
+
currentSorting :
|
|
121
|
+
void 0));
|
|
122
|
+
if (!columnSorting?.order) {
|
|
84
123
|
el.classList.remove(sortedAscClassName);
|
|
85
124
|
el.classList.remove(sortedDescClassName);
|
|
86
|
-
if (
|
|
125
|
+
if (sortingEnabled) {
|
|
87
126
|
a11y?.setColumnSortState(el, 'none');
|
|
88
127
|
}
|
|
89
128
|
return;
|
|
90
129
|
}
|
|
91
|
-
switch (
|
|
130
|
+
switch (columnSorting.order) {
|
|
92
131
|
case 'asc':
|
|
93
132
|
el.classList.add(sortedAscClassName);
|
|
94
133
|
el.classList.remove(sortedDescClassName);
|
|
@@ -101,6 +140,12 @@ class ColumnSorting {
|
|
|
101
140
|
break;
|
|
102
141
|
}
|
|
103
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Refreshes the sorting-related header attributes and classes.
|
|
145
|
+
*/
|
|
146
|
+
refreshHeaderAttributes() {
|
|
147
|
+
this.addHeaderElementAttributes();
|
|
148
|
+
}
|
|
104
149
|
/**
|
|
105
150
|
* Updates the column options with the new sorting state.
|
|
106
151
|
*
|
|
@@ -108,18 +153,51 @@ class ColumnSorting {
|
|
|
108
153
|
* The column to update.
|
|
109
154
|
*/
|
|
110
155
|
updateColumnOptions(col) {
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
156
|
+
const sortings = col.viewport.grid.querying.sorting.currentSortings || [];
|
|
157
|
+
const sortingIndex = sortings.findIndex((sorting) => sorting.columnId === col.id);
|
|
158
|
+
if (sortingIndex !== -1 && sortings[sortingIndex].order) {
|
|
159
|
+
const sorting = sortings[sortingIndex];
|
|
160
|
+
const sortingOptions = {
|
|
161
|
+
order: sorting.order
|
|
162
|
+
};
|
|
163
|
+
if (sortings.length > 1) {
|
|
164
|
+
sortingOptions.priority = sortingIndex + 1;
|
|
165
|
+
}
|
|
166
|
+
col.setOptions({ sorting: sortingOptions });
|
|
167
|
+
if (sortings.length < 2) {
|
|
168
|
+
delete col.options.sorting?.priority;
|
|
169
|
+
}
|
|
114
170
|
}
|
|
115
171
|
else {
|
|
116
172
|
delete col.options.sorting?.order;
|
|
173
|
+
delete col.options.sorting?.priority;
|
|
117
174
|
if (col.options.sorting &&
|
|
118
175
|
Object.keys(col.options.sorting).length < 1) {
|
|
119
176
|
delete col.options.sorting;
|
|
120
177
|
}
|
|
121
178
|
}
|
|
122
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Returns sorting order sequence for this column.
|
|
182
|
+
*/
|
|
183
|
+
getOrderSequence() {
|
|
184
|
+
return this.column.options.sorting?.orderSequence || [
|
|
185
|
+
'asc',
|
|
186
|
+
'desc',
|
|
187
|
+
null
|
|
188
|
+
];
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Normalizes arbitrary sorting values to valid order states.
|
|
192
|
+
*
|
|
193
|
+
* @param order
|
|
194
|
+
* Value to normalize.
|
|
195
|
+
*/
|
|
196
|
+
normalizeOrder(order) {
|
|
197
|
+
return order === 'asc' || order === 'desc' ?
|
|
198
|
+
order :
|
|
199
|
+
null;
|
|
200
|
+
}
|
|
123
201
|
/**
|
|
124
202
|
* Set sorting order for the column. It will modify the presentation data
|
|
125
203
|
* and rerender the rows.
|
|
@@ -127,8 +205,11 @@ class ColumnSorting {
|
|
|
127
205
|
* @param order
|
|
128
206
|
* The order of sorting. It can be `'asc'`, `'desc'` or `null` if the
|
|
129
207
|
* sorting should be disabled.
|
|
208
|
+
*
|
|
209
|
+
* @param additive
|
|
210
|
+
* Whether to add this sort to existing sorts or replace them.
|
|
130
211
|
*/
|
|
131
|
-
async setOrder(order) {
|
|
212
|
+
async setOrder(order, additive = false) {
|
|
132
213
|
const viewport = this.column.viewport;
|
|
133
214
|
// Do not call sorting when cell is currently edited and validated.
|
|
134
215
|
if (viewport.validator?.errorCell) {
|
|
@@ -143,11 +224,40 @@ class ColumnSorting {
|
|
|
143
224
|
order
|
|
144
225
|
});
|
|
145
226
|
});
|
|
146
|
-
|
|
227
|
+
if (additive) {
|
|
228
|
+
const baseSortings = (sortingController.currentSortings ||
|
|
229
|
+
(sortingController.currentSorting?.columnId &&
|
|
230
|
+
sortingController.currentSorting.order ?
|
|
231
|
+
[sortingController.currentSorting] :
|
|
232
|
+
[])).filter((sorting) => !!(sorting.columnId && sorting.order));
|
|
233
|
+
const sortings = baseSortings.slice();
|
|
234
|
+
const index = sortings.findIndex((sorting) => sorting.columnId === this.column.id);
|
|
235
|
+
if (!order) {
|
|
236
|
+
if (index !== -1) {
|
|
237
|
+
sortings.splice(index, 1);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
const sorting = {
|
|
242
|
+
columnId: this.column.id,
|
|
243
|
+
order
|
|
244
|
+
};
|
|
245
|
+
if (index !== -1) {
|
|
246
|
+
sortings[index] = sorting;
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
sortings.push(sorting);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
sortingController.setSorting(sortings);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
sortingController.setSorting(order, this.column.id);
|
|
256
|
+
}
|
|
147
257
|
await viewport.updateRows();
|
|
148
258
|
for (const col of viewport.columns) {
|
|
149
259
|
this.updateColumnOptions(col);
|
|
150
|
-
col.sorting?.
|
|
260
|
+
col.sorting?.refreshHeaderAttributes();
|
|
151
261
|
}
|
|
152
262
|
a11y?.userSortedColumn(order);
|
|
153
263
|
[this.column, viewport.grid].forEach((source) => {
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Columns Resizer class.
|
|
4
4
|
*
|
|
5
|
-
* (c) 2020-
|
|
5
|
+
* (c) 2020-2026 Highsoft AS
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* A commercial license may be required depending on use.
|
|
8
|
+
* See www.highcharts.com/license
|
|
8
9
|
*
|
|
9
|
-
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
10
|
*
|
|
11
11
|
* Authors:
|
|
12
12
|
* - Dawid Dragula
|
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
'use strict';
|
|
17
17
|
import GridUtils from '../../GridUtils.js';
|
|
18
18
|
import Globals from '../../Globals.js';
|
|
19
|
-
import
|
|
19
|
+
import { fireEvent } from '../../../../Shared/Utilities.js';
|
|
20
20
|
const { makeHTMLElement } = GridUtils;
|
|
21
|
-
const { fireEvent } = Utils;
|
|
22
21
|
/* *
|
|
23
22
|
*
|
|
24
23
|
* Class
|
|
@@ -58,7 +57,6 @@ class ColumnsResizer {
|
|
|
58
57
|
const vp = this.viewport;
|
|
59
58
|
vp.columnResizing.resize(this, diff);
|
|
60
59
|
vp.reflow();
|
|
61
|
-
vp.rowsVirtualizer.adjustRowHeights();
|
|
62
60
|
fireEvent(this.draggedColumn, 'afterResize', {
|
|
63
61
|
target: this.draggedColumn,
|
|
64
62
|
originalEvent: e
|
|
@@ -7,7 +7,7 @@ declare class RowsVirtualizer {
|
|
|
7
7
|
/**
|
|
8
8
|
* The default height of a row.
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
defaultRowHeight: number;
|
|
11
11
|
/**
|
|
12
12
|
* The index of the first visible row.
|
|
13
13
|
*/
|
|
@@ -35,6 +35,57 @@ declare class RowsVirtualizer {
|
|
|
35
35
|
* Rendering row settings.
|
|
36
36
|
*/
|
|
37
37
|
rowSettings?: RowsSettings;
|
|
38
|
+
/**
|
|
39
|
+
* Cached max element height in CSS pixels.
|
|
40
|
+
*/
|
|
41
|
+
private static maxElementHeight?;
|
|
42
|
+
/**
|
|
43
|
+
* The maximum height of a HTML element in most browsers.
|
|
44
|
+
* Firefox has a lower limit than other browsers.
|
|
45
|
+
*/
|
|
46
|
+
private static getMaxElementHeight;
|
|
47
|
+
/**
|
|
48
|
+
* The maximum height of the scrollable element in CSS pixels.
|
|
49
|
+
*/
|
|
50
|
+
private maxElementHeight;
|
|
51
|
+
/**
|
|
52
|
+
* The total height of the grid, used when the Grid height
|
|
53
|
+
* exceeds the max element height.
|
|
54
|
+
*/
|
|
55
|
+
private totalGridHeight;
|
|
56
|
+
/**
|
|
57
|
+
* The overflow height of the grid, used when the Grid height
|
|
58
|
+
* exceeds the max element height.
|
|
59
|
+
*/
|
|
60
|
+
private gridHeightOverflow;
|
|
61
|
+
/**
|
|
62
|
+
* The scroll offset in pixels used to adjust the row positions when
|
|
63
|
+
* the Grid height exceeds the max element height.
|
|
64
|
+
*/
|
|
65
|
+
private scrollOffset;
|
|
66
|
+
/**
|
|
67
|
+
* Reuse pool for rows that are currently out of viewport.
|
|
68
|
+
*/
|
|
69
|
+
private readonly rowPool;
|
|
70
|
+
/**
|
|
71
|
+
* Maximum number of rows to keep in the reuse pool.
|
|
72
|
+
*/
|
|
73
|
+
private static readonly MAX_POOL_SIZE;
|
|
74
|
+
/**
|
|
75
|
+
* Flag indicating if a scroll update is queued for the next animation
|
|
76
|
+
* frame.
|
|
77
|
+
*/
|
|
78
|
+
private scrollQueued;
|
|
79
|
+
/**
|
|
80
|
+
* Flag indicating if rows are currently being rendered to prevent
|
|
81
|
+
* concurrent render operations.
|
|
82
|
+
*/
|
|
83
|
+
private isRendering;
|
|
84
|
+
/**
|
|
85
|
+
* Pending row cursor to render after current render completes.
|
|
86
|
+
* Used to ensure the final scroll position is rendered.
|
|
87
|
+
*/
|
|
88
|
+
private pendingRowCursor;
|
|
38
89
|
/**
|
|
39
90
|
* Constructs an instance of the rows virtualizer.
|
|
40
91
|
*
|
|
@@ -45,17 +96,26 @@ declare class RowsVirtualizer {
|
|
|
45
96
|
/**
|
|
46
97
|
* Renders the rows in the viewport for the first time.
|
|
47
98
|
*/
|
|
48
|
-
initialRender(): void
|
|
99
|
+
initialRender(): Promise<void>;
|
|
49
100
|
/**
|
|
50
101
|
* Renders the rows in the viewport. It is called when the rows need to be
|
|
51
102
|
* re-rendered, e.g., after a sort or filter operation.
|
|
52
103
|
*/
|
|
53
|
-
rerender(): void
|
|
104
|
+
rerender(): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Refreshes the rendered rows without a full teardown.
|
|
107
|
+
* It updates the row range and reuses existing rows when possible.
|
|
108
|
+
*/
|
|
109
|
+
refreshRows(): Promise<void>;
|
|
54
110
|
/**
|
|
55
111
|
* Method called on the viewport scroll event, only when the virtualization
|
|
56
112
|
* is enabled.
|
|
57
113
|
*/
|
|
58
114
|
scroll(): void;
|
|
115
|
+
/**
|
|
116
|
+
* Applies the scroll logic for virtualized rows.
|
|
117
|
+
*/
|
|
118
|
+
private applyScroll;
|
|
59
119
|
/**
|
|
60
120
|
* Adjusts the visible row heights from the bottom of the viewport.
|
|
61
121
|
*/
|
|
@@ -78,10 +138,41 @@ declare class RowsVirtualizer {
|
|
|
78
138
|
* Reflow the rendered rows content dimensions.
|
|
79
139
|
*/
|
|
80
140
|
reflowRows(): void;
|
|
141
|
+
/**
|
|
142
|
+
* Gets a row from the pool or creates a new one for the given index.
|
|
143
|
+
*
|
|
144
|
+
* @param index
|
|
145
|
+
* The row index in the data table.
|
|
146
|
+
*
|
|
147
|
+
* @returns
|
|
148
|
+
* A TableRow instance ready for use.
|
|
149
|
+
*/
|
|
150
|
+
private getOrCreateRow;
|
|
151
|
+
/**
|
|
152
|
+
* Adds a row to the reuse pool, or destroys it if the pool is full.
|
|
153
|
+
*
|
|
154
|
+
* @param row
|
|
155
|
+
* The row to pool.
|
|
156
|
+
*/
|
|
157
|
+
private poolRow;
|
|
81
158
|
/**
|
|
82
159
|
* Returns the default height of a row. This method should be called only
|
|
83
160
|
* once on initialization.
|
|
161
|
+
*
|
|
162
|
+
* @returns
|
|
163
|
+
* The default height of a row.
|
|
84
164
|
*/
|
|
85
165
|
private getDefaultRowHeight;
|
|
166
|
+
/**
|
|
167
|
+
* Updates cached row count and derived grid height metrics used for
|
|
168
|
+
* overflow-aware scrolling.
|
|
169
|
+
*/
|
|
170
|
+
private updateGridMetrics;
|
|
171
|
+
/**
|
|
172
|
+
* Updates row translate offsets based on scroll scaling. When the grid
|
|
173
|
+
* exceeds the max element height, it keeps the bottom rows aligned to the
|
|
174
|
+
* maximum scrollable height.
|
|
175
|
+
*/
|
|
176
|
+
private adjustRowOffsets;
|
|
86
177
|
}
|
|
87
178
|
export default RowsVirtualizer;
|