@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 Sort Context Menu Button 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
|
'use strict';
|
|
16
16
|
import ContextMenuButton from '../../../../UI/ContextMenuButton.js';
|
|
17
17
|
import StateHelpers from '../StateHelpers.js';
|
|
18
|
-
import
|
|
19
|
-
const { addEvent } = U;
|
|
18
|
+
import { addEvent } from '../../../../../../Shared/Utilities.js';
|
|
20
19
|
/* *
|
|
21
20
|
*
|
|
22
21
|
* Class
|
|
@@ -29,9 +28,10 @@ class SortMenuButton extends ContextMenuButton {
|
|
|
29
28
|
*
|
|
30
29
|
* */
|
|
31
30
|
constructor(langOptions, direction) {
|
|
32
|
-
super({ icon: direction === 'asc' ? '
|
|
31
|
+
super({ icon: direction === 'asc' ? 'arrowUp' : 'arrowDown' });
|
|
33
32
|
this.direction = direction;
|
|
34
|
-
this.
|
|
33
|
+
this.baseLabel = langOptions[direction === 'asc' ? 'sortAscending' : 'sortDescending'] || '';
|
|
34
|
+
this.options.label = this.baseLabel;
|
|
35
35
|
}
|
|
36
36
|
/* *
|
|
37
37
|
*
|
|
@@ -43,7 +43,35 @@ class SortMenuButton extends ContextMenuButton {
|
|
|
43
43
|
if (!column) {
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
const isSorted = StateHelpers.isSorted(column, this.direction);
|
|
47
|
+
this.setActive(isSorted);
|
|
48
|
+
// Update label with priority if multi-column sorting is active
|
|
49
|
+
this.updateLabelWithPriority(isSorted ? column : void 0);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Updates the label to include the sort priority when multi-column
|
|
53
|
+
* sorting is active.
|
|
54
|
+
*
|
|
55
|
+
* @param column
|
|
56
|
+
* The column to get the priority from, or undefined to reset the label.
|
|
57
|
+
*/
|
|
58
|
+
updateLabelWithPriority(column) {
|
|
59
|
+
if (!column) {
|
|
60
|
+
this.setLabel(this.baseLabel);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const { currentSortings } = column.viewport.grid.querying.sorting;
|
|
64
|
+
const sortings = currentSortings || [];
|
|
65
|
+
const sortIndex = sortings.findIndex((sorting) => sorting.columnId === column.id);
|
|
66
|
+
const priority = (sortings.length > 1 && sortIndex !== -1 ?
|
|
67
|
+
sortIndex + 1 :
|
|
68
|
+
void 0);
|
|
69
|
+
if (priority) {
|
|
70
|
+
this.setLabel(`${this.baseLabel} (${priority})`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.setLabel(this.baseLabel);
|
|
74
|
+
}
|
|
47
75
|
}
|
|
48
76
|
addEventListeners() {
|
|
49
77
|
super.addEventListeners();
|
|
@@ -60,7 +88,7 @@ class SortMenuButton extends ContextMenuButton {
|
|
|
60
88
|
if (!sorting) {
|
|
61
89
|
return;
|
|
62
90
|
}
|
|
63
|
-
void sorting.setOrder(this.isActive ? null : this.direction);
|
|
91
|
+
void sorting.setOrder(this.isActive ? null : this.direction, !!event?.shiftKey);
|
|
64
92
|
}
|
|
65
93
|
}
|
|
66
94
|
/* *
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Menu Popup 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
|
|
@@ -44,7 +44,8 @@ class MenuPopup extends ContextMenu {
|
|
|
44
44
|
const columnOptions = this.button.toolbar?.column.options || {};
|
|
45
45
|
const filteringEnabled = (columnOptions.filtering?.enabled &&
|
|
46
46
|
!columnOptions.filtering.inline);
|
|
47
|
-
const sortingEnabled = columnOptions.sorting?.
|
|
47
|
+
const sortingEnabled = columnOptions.sorting?.enabled ??
|
|
48
|
+
columnOptions.sorting?.sortable;
|
|
48
49
|
this.addHeader(this.button.toolbar?.column.header?.value || '', lang.column);
|
|
49
50
|
if (sortingEnabled) {
|
|
50
51
|
new SortMenuButton(lang, 'desc').add(this);
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Header Cell State Helpers namespace
|
|
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
|
|
@@ -44,13 +44,17 @@ export function isFiltered(column) {
|
|
|
44
44
|
* only if the column is sorted in the provided order.
|
|
45
45
|
*/
|
|
46
46
|
export function isSorted(column, order) {
|
|
47
|
-
const { currentSorting } = column.viewport.grid.querying.sorting || {};
|
|
48
|
-
|
|
47
|
+
const { currentSorting, currentSortings } = column.viewport.grid.querying.sorting || {};
|
|
48
|
+
const columnSorting = (currentSortings?.find((sorting) => sorting.columnId === column.id) ||
|
|
49
|
+
(currentSorting?.columnId === column.id ?
|
|
50
|
+
currentSorting :
|
|
51
|
+
void 0));
|
|
52
|
+
if (!columnSorting?.order) {
|
|
49
53
|
return false;
|
|
50
54
|
}
|
|
51
55
|
return order ?
|
|
52
|
-
|
|
53
|
-
!!
|
|
56
|
+
columnSorting.order === order :
|
|
57
|
+
!!columnSorting.order;
|
|
54
58
|
}
|
|
55
59
|
/* *
|
|
56
60
|
*
|
package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Filter Toolbar Button 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,8 +16,7 @@
|
|
|
16
16
|
import FilterPopup from '../FilterPopup.js';
|
|
17
17
|
import ToolbarButton from '../../../../UI/ToolbarButton.js';
|
|
18
18
|
import StateHelpers from '../StateHelpers.js';
|
|
19
|
-
import
|
|
20
|
-
const { addEvent } = U;
|
|
19
|
+
import { addEvent } from '../../../../../../Shared/Utilities.js';
|
|
21
20
|
/* *
|
|
22
21
|
*
|
|
23
22
|
* Class
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Menu Toolbar Button 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,8 +16,7 @@
|
|
|
16
16
|
import ToolbarButton from '../../../../UI/ToolbarButton.js';
|
|
17
17
|
import StateHelpers from '../StateHelpers.js';
|
|
18
18
|
import MenuPopup from '../MenuPopup.js';
|
|
19
|
-
import
|
|
20
|
-
const { addEvent } = U;
|
|
19
|
+
import { addEvent } from '../../../../../../Shared/Utilities.js';
|
|
21
20
|
/* *
|
|
22
21
|
*
|
|
23
22
|
* Class
|
package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts
CHANGED
|
@@ -2,10 +2,13 @@ import type ColumnToolbar from '../ColumnToolbar.js';
|
|
|
2
2
|
import ToolbarButton from '../../../../UI/ToolbarButton.js';
|
|
3
3
|
declare class SortToolbarButton extends ToolbarButton {
|
|
4
4
|
toolbar?: ColumnToolbar;
|
|
5
|
+
private sortPriorityIndicator?;
|
|
6
|
+
private getColumnLabel;
|
|
7
|
+
private updateA11yLabel;
|
|
5
8
|
constructor();
|
|
6
9
|
protected clickHandler(event: MouseEvent): void;
|
|
10
|
+
private renderSortPriorityIndicator;
|
|
7
11
|
refreshState(): void;
|
|
8
12
|
protected addEventListeners(): void;
|
|
9
|
-
protected renderActiveIndicator(): void;
|
|
10
13
|
}
|
|
11
14
|
export default SortToolbarButton;
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Sort Toolbar Button 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
|
|
@@ -14,15 +14,58 @@
|
|
|
14
14
|
* */
|
|
15
15
|
'use strict';
|
|
16
16
|
import ToolbarButton from '../../../../UI/ToolbarButton.js';
|
|
17
|
+
import GridUtils from '../../../../GridUtils.js';
|
|
17
18
|
import StateHelpers from '../StateHelpers.js';
|
|
18
|
-
import
|
|
19
|
-
const {
|
|
19
|
+
import { addEvent } from '../../../../../../Shared/Utilities.js';
|
|
20
|
+
const { formatText } = GridUtils;
|
|
20
21
|
/* *
|
|
21
22
|
*
|
|
22
23
|
* Class
|
|
23
24
|
*
|
|
24
25
|
* */
|
|
25
26
|
class SortToolbarButton extends ToolbarButton {
|
|
27
|
+
getColumnLabel() {
|
|
28
|
+
const column = this.toolbar?.column;
|
|
29
|
+
const label = (column?.header?.headerContent?.textContent ||
|
|
30
|
+
column?.header?.value ||
|
|
31
|
+
column?.id ||
|
|
32
|
+
'').trim();
|
|
33
|
+
return label || column?.id || '';
|
|
34
|
+
}
|
|
35
|
+
updateA11yLabel(order, priority) {
|
|
36
|
+
const button = this.wrapper?.querySelector('button');
|
|
37
|
+
if (!button) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const column = this.toolbar?.column;
|
|
41
|
+
const lang = column?.viewport.grid.options?.lang;
|
|
42
|
+
const sortingLang = lang?.accessibility?.sorting;
|
|
43
|
+
const announcements = sortingLang?.announcements;
|
|
44
|
+
const columnLabel = this.getColumnLabel();
|
|
45
|
+
const labelParts = [];
|
|
46
|
+
if (columnLabel) {
|
|
47
|
+
labelParts.push(columnLabel);
|
|
48
|
+
}
|
|
49
|
+
let stateLabel;
|
|
50
|
+
if (order === 'asc') {
|
|
51
|
+
stateLabel = announcements?.ascending;
|
|
52
|
+
}
|
|
53
|
+
else if (order === 'desc') {
|
|
54
|
+
stateLabel = announcements?.descending;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
stateLabel = announcements?.none;
|
|
58
|
+
}
|
|
59
|
+
if (stateLabel) {
|
|
60
|
+
labelParts.push(stateLabel);
|
|
61
|
+
}
|
|
62
|
+
if (priority) {
|
|
63
|
+
labelParts.push(formatText(sortingLang?.priority ?? 'Priority {priority}.', { priority: String(priority) }));
|
|
64
|
+
}
|
|
65
|
+
if (labelParts.length) {
|
|
66
|
+
button.setAttribute('aria-label', labelParts.join(' '));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
26
69
|
/* *
|
|
27
70
|
*
|
|
28
71
|
* Constructor
|
|
@@ -30,8 +73,7 @@ class SortToolbarButton extends ToolbarButton {
|
|
|
30
73
|
* */
|
|
31
74
|
constructor() {
|
|
32
75
|
super({
|
|
33
|
-
icon: '
|
|
34
|
-
classNameKey: 'headerCellSortIcon',
|
|
76
|
+
icon: 'arrowUpDown',
|
|
35
77
|
accessibility: {
|
|
36
78
|
ariaLabel: 'sort'
|
|
37
79
|
}
|
|
@@ -44,21 +86,55 @@ class SortToolbarButton extends ToolbarButton {
|
|
|
44
86
|
* */
|
|
45
87
|
clickHandler(event) {
|
|
46
88
|
super.clickHandler(event);
|
|
47
|
-
this.toolbar?.column.sorting?.toggle();
|
|
89
|
+
this.toolbar?.column.sorting?.toggle(event);
|
|
90
|
+
}
|
|
91
|
+
renderSortPriorityIndicator(priority) {
|
|
92
|
+
const wrapper = this.wrapper;
|
|
93
|
+
if (!wrapper) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const button = wrapper.querySelector('button');
|
|
97
|
+
if (!button) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (!priority) {
|
|
101
|
+
this.sortPriorityIndicator?.remove();
|
|
102
|
+
delete this.sortPriorityIndicator;
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (!this.sortPriorityIndicator) {
|
|
106
|
+
this.sortPriorityIndicator = document.createElement('span');
|
|
107
|
+
}
|
|
108
|
+
// Ensure the indicator is rendered to the right of the icon.
|
|
109
|
+
button.appendChild(this.sortPriorityIndicator);
|
|
110
|
+
this.sortPriorityIndicator.textContent = String(priority);
|
|
48
111
|
}
|
|
49
112
|
refreshState() {
|
|
50
113
|
const column = this.toolbar?.column;
|
|
51
114
|
if (!column) {
|
|
52
115
|
return;
|
|
53
116
|
}
|
|
54
|
-
|
|
117
|
+
const { currentSortings, currentSorting } = column.viewport.grid.querying.sorting;
|
|
118
|
+
const sortings = currentSortings || [];
|
|
119
|
+
const columnSorting = (sortings.find((sorting) => sorting.columnId === column.id) ||
|
|
120
|
+
(currentSorting?.columnId === column.id ?
|
|
121
|
+
currentSorting :
|
|
122
|
+
void 0));
|
|
123
|
+
if (!StateHelpers.isSorted(column) || !columnSorting?.order) {
|
|
55
124
|
this.setActive(false);
|
|
56
|
-
this.setIcon('
|
|
125
|
+
this.setIcon('arrowUpDown');
|
|
126
|
+
this.renderSortPriorityIndicator();
|
|
127
|
+
this.updateA11yLabel(null);
|
|
57
128
|
return;
|
|
58
129
|
}
|
|
59
|
-
const { currentSorting } = column.viewport.grid.querying.sorting;
|
|
60
130
|
this.setActive(true);
|
|
61
|
-
this.setIcon(
|
|
131
|
+
this.setIcon(columnSorting.order === 'asc' ? 'arrowUp' : 'arrowDown');
|
|
132
|
+
const sortIndex = sortings.findIndex((sorting) => sorting.columnId === column.id);
|
|
133
|
+
const priority = (sortings.length > 1 && sortIndex !== -1 ?
|
|
134
|
+
sortIndex + 1 :
|
|
135
|
+
void 0);
|
|
136
|
+
this.renderSortPriorityIndicator(priority);
|
|
137
|
+
this.updateA11yLabel(columnSorting.order, priority);
|
|
62
138
|
}
|
|
63
139
|
addEventListeners() {
|
|
64
140
|
super.addEventListeners();
|
|
@@ -69,9 +145,6 @@ class SortToolbarButton extends ToolbarButton {
|
|
|
69
145
|
// If this grid is currently sorted, update the state
|
|
70
146
|
this.eventListenerDestroyers.push(addEvent(column.viewport.grid, 'afterSort', () => this.refreshState()));
|
|
71
147
|
}
|
|
72
|
-
renderActiveIndicator() {
|
|
73
|
-
// Do nothing
|
|
74
|
-
}
|
|
75
148
|
}
|
|
76
149
|
/* *
|
|
77
150
|
*
|
|
@@ -53,10 +53,15 @@ declare class HeaderCell extends Cell {
|
|
|
53
53
|
/**
|
|
54
54
|
* Render the cell container.
|
|
55
55
|
*/
|
|
56
|
-
render(): void
|
|
56
|
+
render(): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Returns merged header styles from defaults and current column options.
|
|
59
|
+
*
|
|
60
|
+
*/
|
|
61
|
+
private getColumnStyles;
|
|
57
62
|
reflow(): void;
|
|
58
|
-
|
|
59
|
-
|
|
63
|
+
onKeyDown(e: KeyboardEvent): void;
|
|
64
|
+
onClick(e: MouseEvent): void;
|
|
60
65
|
/**
|
|
61
66
|
* Add sorting option to the column.
|
|
62
67
|
*/
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid HeaderCell 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,13 +15,11 @@
|
|
|
15
15
|
* */
|
|
16
16
|
'use strict';
|
|
17
17
|
import Cell from '../Cell.js';
|
|
18
|
-
import
|
|
18
|
+
import { makeHTMLElement, setHTMLContent, createOptionsProxy, resolveStyleValue, mergeStyleValues } from '../../GridUtils.js';
|
|
19
19
|
import ColumnSorting from '../Actions/ColumnSorting.js';
|
|
20
20
|
import Globals from '../../Globals.js';
|
|
21
|
-
import Utilities from '../../../../Core/Utilities.js';
|
|
22
21
|
import ColumnToolbar from './ColumnToolbar/ColumnToolbar.js';
|
|
23
|
-
|
|
24
|
-
const { fireEvent, isString } = Utilities;
|
|
22
|
+
import { fireEvent, isString } from '../../../../Shared/Utilities.js';
|
|
25
23
|
/* *
|
|
26
24
|
*
|
|
27
25
|
* Class
|
|
@@ -102,12 +100,14 @@ class HeaderCell extends Cell {
|
|
|
102
100
|
/**
|
|
103
101
|
* Render the cell container.
|
|
104
102
|
*/
|
|
105
|
-
render() {
|
|
103
|
+
async render() {
|
|
106
104
|
const { column } = this;
|
|
107
105
|
const options = createOptionsProxy(this.superColumnOptions, column?.options);
|
|
108
106
|
const headerCellOptions = options.header || {};
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
const headerValue = column ?
|
|
108
|
+
headerCellOptions.formatter?.call(column) : void 0;
|
|
109
|
+
if (headerValue) {
|
|
110
|
+
this.value = headerValue.toString();
|
|
111
111
|
}
|
|
112
112
|
else if (isString(headerCellOptions.format)) {
|
|
113
113
|
this.value = column ?
|
|
@@ -151,7 +151,25 @@ class HeaderCell extends Cell {
|
|
|
151
151
|
this.htmlElement.classList[column?.dataType === 'number' ? 'add' : 'remove'](Globals.getClassName('rightAlign'));
|
|
152
152
|
// Add custom class name from column options
|
|
153
153
|
this.setCustomClassName(options.header?.className);
|
|
154
|
+
this.setCustomStyles(this.getColumnStyles());
|
|
154
155
|
fireEvent(this, 'afterRender', { column });
|
|
156
|
+
return Promise.resolve();
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Returns merged header styles from defaults and current column options.
|
|
160
|
+
*
|
|
161
|
+
*/
|
|
162
|
+
getColumnStyles() {
|
|
163
|
+
const { column } = this;
|
|
164
|
+
if (!column) {
|
|
165
|
+
return resolveStyleValue(this.superColumnOptions.header?.style);
|
|
166
|
+
}
|
|
167
|
+
const { grid } = this.row.viewport;
|
|
168
|
+
const rawColumnOptions = grid.columnOptionsMap?.[column.id]?.options;
|
|
169
|
+
return {
|
|
170
|
+
...mergeStyleValues(column, grid.options?.columnDefaults?.style, rawColumnOptions?.style),
|
|
171
|
+
...mergeStyleValues(column, grid.options?.columnDefaults?.header?.style, rawColumnOptions?.header?.style)
|
|
172
|
+
};
|
|
155
173
|
}
|
|
156
174
|
reflow() {
|
|
157
175
|
const th = this.htmlElement;
|
|
@@ -179,13 +197,16 @@ class HeaderCell extends Cell {
|
|
|
179
197
|
super.onKeyDown(e);
|
|
180
198
|
}
|
|
181
199
|
onClick(e) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
200
|
+
if (!this.column ||
|
|
201
|
+
!this.htmlElement.contains(e.target) ||
|
|
202
|
+
this.column.viewport.columnsResizer?.isResizing) {
|
|
185
203
|
return;
|
|
186
204
|
}
|
|
187
|
-
|
|
188
|
-
|
|
205
|
+
// Toggle sort only when clicking header text/area, not toolbar icons
|
|
206
|
+
if (!this.toolbar?.container?.contains(e.target) &&
|
|
207
|
+
(this.column.options.sorting?.enabled ??
|
|
208
|
+
this.column.options.sorting?.sortable)) {
|
|
209
|
+
this.column.sorting?.toggle(e);
|
|
189
210
|
}
|
|
190
211
|
fireEvent(this, 'click', {
|
|
191
212
|
originalEvent: e,
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid HeaderRow 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
|
|
@@ -17,8 +17,7 @@
|
|
|
17
17
|
import Row from '../Row.js';
|
|
18
18
|
import HeaderCell from './HeaderCell.js';
|
|
19
19
|
import Globals from '../../Globals.js';
|
|
20
|
-
import
|
|
21
|
-
const { isString } = Utils;
|
|
20
|
+
import { isString } from '../../../../Shared/Utilities.js';
|
|
22
21
|
/* *
|
|
23
22
|
*
|
|
24
23
|
* Class
|
|
@@ -63,7 +62,7 @@ class HeaderRow extends Row {
|
|
|
63
62
|
*
|
|
64
63
|
* @internal
|
|
65
64
|
*/
|
|
66
|
-
renderContent(level) {
|
|
65
|
+
async renderContent(level) {
|
|
67
66
|
const headerOpt = this.viewport.grid.options?.header;
|
|
68
67
|
const vp = this.viewport;
|
|
69
68
|
const enabledColumns = vp.grid.enabledColumns || [];
|
|
@@ -71,7 +70,7 @@ class HeaderRow extends Row {
|
|
|
71
70
|
vp.theadElement?.appendChild(this.htmlElement);
|
|
72
71
|
this.htmlElement.classList.add(Globals.getClassName('headerRow'));
|
|
73
72
|
if (!headerOpt) {
|
|
74
|
-
super.render();
|
|
73
|
+
await super.render();
|
|
75
74
|
}
|
|
76
75
|
else {
|
|
77
76
|
const columnsOnLevel = this.getColumnsAtLevel(headerOpt, level);
|
|
@@ -110,7 +109,7 @@ class HeaderRow extends Row {
|
|
|
110
109
|
if (dataColumn?.index === 0 && i === 0) {
|
|
111
110
|
headerCell.htmlElement.classList.add(Globals.getClassName('columnFirst'));
|
|
112
111
|
}
|
|
113
|
-
headerCell.render();
|
|
112
|
+
await headerCell.render();
|
|
114
113
|
if (columnId) {
|
|
115
114
|
headerCell.htmlElement.setAttribute('rowSpan', (this.viewport.header?.levels || 1) - level);
|
|
116
115
|
}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid TableHeader 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
|
|
@@ -70,7 +70,7 @@ class TableHeader {
|
|
|
70
70
|
/**
|
|
71
71
|
* Renders the table head content.
|
|
72
72
|
*/
|
|
73
|
-
render() {
|
|
73
|
+
async render() {
|
|
74
74
|
const vp = this.viewport;
|
|
75
75
|
if (!vp.grid.enabledColumns) {
|
|
76
76
|
return;
|
|
@@ -78,14 +78,14 @@ class TableHeader {
|
|
|
78
78
|
// Render regular, multiple level rows.
|
|
79
79
|
for (let i = 0, iEnd = this.levels; i < iEnd; i++) {
|
|
80
80
|
const row = new HeaderRow(vp, i + 1); // Avoid indexing from 0
|
|
81
|
-
row.renderContent(i);
|
|
81
|
+
await row.renderContent(i);
|
|
82
82
|
this.rows.push(row);
|
|
83
83
|
}
|
|
84
84
|
// Render an extra row for inline filtering.
|
|
85
85
|
if (vp.columns.some((column) => (column.options.filtering?.enabled &&
|
|
86
86
|
column.options.filtering.inline) || false)) {
|
|
87
87
|
const row = new FilterRow(vp);
|
|
88
|
-
row.renderContent();
|
|
88
|
+
await row.renderContent();
|
|
89
89
|
this.rows.push(row);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -39,7 +39,7 @@ declare abstract class Row {
|
|
|
39
39
|
* Renders the row's content. It does not attach the row element to the
|
|
40
40
|
* viewport nor pushes the rows to the viewport.rows array.
|
|
41
41
|
*/
|
|
42
|
-
render(): void
|
|
42
|
+
render(): Promise<void>;
|
|
43
43
|
/**
|
|
44
44
|
* Reflows the row's content dimensions.
|
|
45
45
|
*/
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Row abstract 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
|
|
@@ -54,11 +54,11 @@ class Row {
|
|
|
54
54
|
* Renders the row's content. It does not attach the row element to the
|
|
55
55
|
* viewport nor pushes the rows to the viewport.rows array.
|
|
56
56
|
*/
|
|
57
|
-
render() {
|
|
57
|
+
async render() {
|
|
58
58
|
const columns = this.viewport.columns;
|
|
59
59
|
for (let i = 0, iEnd = columns.length; i < iEnd; i++) {
|
|
60
60
|
const cell = this.createCell(columns[i]);
|
|
61
|
-
cell.render();
|
|
61
|
+
await cell.render();
|
|
62
62
|
}
|
|
63
63
|
this.rendered = true;
|
|
64
64
|
if (this.viewport.virtualRows) {
|