@highcharts/grid-pro 2.1.1 → 2.2.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/css/grid-pro.css +428 -432
- package/es-modules/Accessibility/A11yI18n.js +3 -3
- package/es-modules/Accessibility/Accessibility.js +4 -3
- package/es-modules/Accessibility/AccessibilityComponent.d.ts +1 -1
- 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 +4 -3
- package/es-modules/Accessibility/Components/LegendComponent.js +4 -3
- package/es-modules/Accessibility/Components/MenuComponent.js +4 -3
- package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -3
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -3
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +14 -3
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +4 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +4 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +4 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +4 -3
- package/es-modules/Accessibility/Components/ZoomComponent.js +4 -3
- package/es-modules/Accessibility/FocusBorder.js +4 -3
- package/es-modules/Accessibility/HighContrastMode.js +4 -3
- package/es-modules/Accessibility/HighContrastTheme.js +4 -3
- package/es-modules/Accessibility/KeyboardNavigation.js +4 -3
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +4 -3
- package/es-modules/Accessibility/Options/A11yDefaults.js +4 -3
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +4 -3
- package/es-modules/Accessibility/Options/LangDefaults.js +4 -3
- package/es-modules/Accessibility/ProxyElement.js +4 -3
- package/es-modules/Accessibility/ProxyProvider.js +4 -3
- package/es-modules/Accessibility/Utils/Announcer.js +4 -3
- package/es-modules/Accessibility/Utils/ChartUtilities.js +4 -3
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +4 -3
- package/es-modules/Accessibility/Utils/EventProvider.d.ts +1 -1
- package/es-modules/Accessibility/Utils/EventProvider.js +4 -3
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +4 -3
- 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 +39 -3
- package/es-modules/Core/Animation/Fx.d.ts +1 -130
- package/es-modules/Core/Animation/Fx.js +13 -6
- 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 +49 -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 +64 -54
- package/es-modules/Core/Chart/Chart3D.d.ts +123 -233
- package/es-modules/Core/Chart/Chart3D.js +22 -35
- 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 +7 -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 +1217 -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 +4 -3
- package/es-modules/Core/Chart/MapChart.d.ts +9 -4
- package/es-modules/Core/Chart/MapChart.js +13 -3
- package/es-modules/Core/Chart/StockChart.d.ts +0 -85
- package/es-modules/Core/Chart/StockChart.js +33 -15
- package/es-modules/Core/Color/Color.d.ts +16 -24
- package/es-modules/Core/Color/Color.js +26 -8
- 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 +30 -66
- package/es-modules/Core/Foundation.d.ts +1 -19
- package/es-modules/Core/Foundation.js +7 -4
- 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 +17 -15
- 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 +15 -14
- 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 +23 -13
- package/es-modules/Core/Math3D.d.ts +1 -117
- package/es-modules/Core/Math3D.js +13 -10
- package/es-modules/Core/Options.d.ts +334 -0
- package/es-modules/Core/Options.js +10 -0
- package/es-modules/Core/Pointer.d.ts +71 -445
- package/es-modules/Core/Pointer.js +51 -65
- package/es-modules/Core/PointerEvent.d.ts +18 -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 +22 -13
- 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 +27 -22
- 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 +7 -4
- 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 +91 -28
- package/es-modules/Core/Responsive.js +7 -8
- package/es-modules/Core/Templating.d.ts +16 -0
- package/es-modules/Core/Templating.js +9 -4
- package/es-modules/Core/Time.d.ts +10 -1
- package/es-modules/Core/Time.js +4 -3
- package/es-modules/Core/Tooltip.d.ts +63 -115
- package/es-modules/Core/Tooltip.js +61 -27
- package/es-modules/Core/TooltipOptions.d.ts +681 -0
- package/es-modules/Core/TooltipOptions.js +10 -0
- package/es-modules/Core/Utilities.d.ts +75 -106
- package/es-modules/Core/Utilities.js +19 -53
- package/es-modules/Data/ColumnUtils.js +3 -3
- package/es-modules/Data/Connectors/CSVConnector.js +3 -3
- package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +3 -3
- package/es-modules/Data/Connectors/DataConnector.d.ts +12 -1
- package/es-modules/Data/Connectors/DataConnector.js +34 -4
- 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.js +3 -3
- package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +3 -3
- package/es-modules/Data/Connectors/HTMLTableConnector.js +3 -3
- package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +3 -3
- package/es-modules/Data/Connectors/JSONConnector.js +3 -3
- package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +3 -3
- package/es-modules/Data/Converters/CSVConverter.js +3 -3
- package/es-modules/Data/Converters/CSVConverterOptions.d.ts +3 -3
- package/es-modules/Data/Converters/DataConverter.js +3 -3
- package/es-modules/Data/Converters/DataConverterType.d.ts +3 -3
- package/es-modules/Data/Converters/DataConverterUtils.js +3 -3
- package/es-modules/Data/Converters/GoogleSheetsConverter.js +3 -3
- package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +3 -3
- package/es-modules/Data/Converters/HTMLTableConverter.js +3 -3
- package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +3 -3
- package/es-modules/Data/Converters/JSONConverter.js +3 -3
- package/es-modules/Data/Converters/JSONConverterOptions.d.ts +3 -3
- package/es-modules/Data/DataCursor.js +3 -3
- package/es-modules/Data/DataEvent.js +3 -3
- package/es-modules/Data/DataPool.js +3 -3
- package/es-modules/Data/DataPoolOptions.d.ts +3 -3
- package/es-modules/Data/DataTable.d.ts +6 -6
- package/es-modules/Data/DataTable.js +64 -30
- package/es-modules/Data/DataTableCore.d.ts +2 -2
- package/es-modules/Data/DataTableCore.js +5 -5
- package/es-modules/Data/DataTableOptions.js +3 -3
- package/es-modules/Data/Formula/Formula.js +3 -3
- package/es-modules/Data/Formula/FormulaParser.js +3 -3
- package/es-modules/Data/Formula/FormulaProcessor.js +3 -3
- 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.js +3 -3
- package/es-modules/Data/Modifiers/ChainModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/DataModifier.js +3 -3
- 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.js +3 -3
- package/es-modules/Data/Modifiers/FilterModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/InvertModifier.js +3 -3
- package/es-modules/Data/Modifiers/InvertModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/MathModifier.js +3 -3
- package/es-modules/Data/Modifiers/MathModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/RangeModifier.js +3 -3
- package/es-modules/Data/Modifiers/RangeModifierOptions.js +3 -3
- package/es-modules/Data/Modifiers/SortModifier.js +32 -6
- package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +41 -4
- 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 +67 -0
- package/es-modules/Grid/Core/Accessibility/Accessibility.js +176 -3
- package/es-modules/Grid/Core/Credits.js +3 -3
- package/es-modules/Grid/Core/Defaults.js +17 -5
- package/es-modules/Grid/Core/Globals.d.ts +4 -4
- package/es-modules/Grid/Core/Globals.js +5 -5
- package/es-modules/Grid/Core/Grid.d.ts +12 -1
- package/es-modules/Grid/Core/Grid.js +110 -8
- package/es-modules/Grid/Core/GridUtils.js +3 -3
- package/es-modules/Grid/Core/Options.d.ts +17 -1
- package/es-modules/Grid/Core/Options.js +3 -3
- package/es-modules/Grid/Core/Pagination/Pagination.js +3 -3
- package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +0 -40
- package/es-modules/Grid/Core/Pagination/PaginationOptions.js +11 -0
- package/es-modules/Grid/Core/Querying/FilteringController.js +3 -3
- package/es-modules/Grid/Core/Querying/PaginationController.js +3 -3
- package/es-modules/Grid/Core/Querying/QueryingController.js +3 -3
- 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/Table/Actions/ColumnFiltering/ColumnFiltering.js +3 -3
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +2 -2
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +3 -3
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +3 -3
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +3 -3
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +12 -2
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +85 -18
- package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +3 -3
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +37 -0
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +137 -26
- package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +9 -2
- package/es-modules/Grid/Core/Table/Body/TableCell.js +15 -8
- package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +18 -0
- package/es-modules/Grid/Core/Table/Body/TableRow.js +56 -10
- package/es-modules/Grid/Core/Table/Cell.d.ts +0 -7
- package/es-modules/Grid/Core/Table/Cell.js +5 -3
- package/es-modules/Grid/Core/Table/CellContent/CellContent.js +3 -3
- package/es-modules/Grid/Core/Table/CellContent/TextContent.js +4 -4
- package/es-modules/Grid/Core/Table/Column.d.ts +1 -1
- package/es-modules/Grid/Core/Table/Column.js +3 -3
- 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 +3 -3
- package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +3 -3
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +14 -5
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +3 -3
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +3 -3
- 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 +35 -6
- 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 +3 -3
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +3 -3
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +5 -1
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +92 -9
- package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +2 -2
- package/es-modules/Grid/Core/Table/Header/HeaderCell.js +8 -7
- package/es-modules/Grid/Core/Table/Header/HeaderRow.js +3 -3
- package/es-modules/Grid/Core/Table/Header/TableHeader.js +3 -3
- package/es-modules/Grid/Core/Table/Row.js +3 -3
- package/es-modules/Grid/Core/Table/Table.d.ts +30 -0
- package/es-modules/Grid/Core/Table/Table.js +118 -7
- 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.js +3 -3
- package/es-modules/Grid/Core/UI/Popup.js +3 -3
- package/es-modules/Grid/Core/UI/SvgIcons.js +3 -3
- package/es-modules/Grid/Core/UI/Toolbar.js +3 -3
- package/es-modules/Grid/Core/UI/ToolbarButton.js +3 -3
- package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +3 -44
- package/es-modules/Grid/Pro/CellEditing/CellEditMode.js +16 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditing.js +3 -3
- package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +3 -3
- 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.js +3 -3
- 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 +3 -3
- 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 +3 -3
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +3 -3
- package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +3 -3
- package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +10 -1
- package/es-modules/Grid/Pro/ColumnTypes/Validator.js +50 -8
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +3 -3
- package/es-modules/Grid/Pro/Credits/CreditsPro.js +3 -3
- package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +3 -3
- package/es-modules/Grid/Pro/Export/Exporting.js +4 -5
- package/es-modules/Grid/Pro/Export/ExportingComposition.js +3 -3
- package/es-modules/Grid/Pro/GridEvents.d.ts +1 -0
- package/es-modules/Grid/Pro/GridEvents.js +3 -3
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +3 -3
- package/es-modules/Grid/index.js +3 -3
- package/es-modules/Shared/BaseForm.js +3 -3
- package/es-modules/Shared/DownloadURL.d.ts +1 -85
- package/es-modules/Shared/DownloadURL.js +14 -11
- package/es-modules/Shared/LangOptionsCore.d.ts +4 -3
- package/es-modules/Shared/TimeBase.d.ts +1 -46
- package/es-modules/Shared/TimeBase.js +8 -7
- package/es-modules/Shared/Types.d.ts +4 -3
- package/es-modules/masters/grid-pro.src.d.ts +8 -13
- package/es-modules/masters/grid-pro.src.js +15 -7
- package/grid-pro.d.ts +8 -13
- package/grid-pro.js +6 -5
- package/grid-pro.js.map +1 -1
- package/grid-pro.src.d.ts +8 -13
- package/grid-pro.src.js +1923 -721
- package/package.json +1 -1
- package/es-modules/Grid/Pro/highcharts.d.ts +0 -7
|
@@ -20,6 +20,14 @@ declare class Accessibility {
|
|
|
20
20
|
* The timeout for the announcer element removal.
|
|
21
21
|
*/
|
|
22
22
|
private announcerTimeout?;
|
|
23
|
+
/**
|
|
24
|
+
* The before Grid screen reader section element.
|
|
25
|
+
*/
|
|
26
|
+
private beforeGridElement;
|
|
27
|
+
/**
|
|
28
|
+
* The after Grid screen reader section element.
|
|
29
|
+
*/
|
|
30
|
+
private afterGridElement;
|
|
23
31
|
/**
|
|
24
32
|
* Construct the accessibility object.
|
|
25
33
|
*
|
|
@@ -94,6 +102,65 @@ declare class Accessibility {
|
|
|
94
102
|
* Set a11y options for the Grid.
|
|
95
103
|
*/
|
|
96
104
|
setA11yOptions(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Adds the screen reader section before or after the Grid.
|
|
107
|
+
*
|
|
108
|
+
* @param placement
|
|
109
|
+
* Either 'before' or 'after'.
|
|
110
|
+
*/
|
|
111
|
+
addScreenReaderSection(placement: 'before' | 'after'): void;
|
|
112
|
+
/**
|
|
113
|
+
* Sets the accessibility attributes for the screen reader section.
|
|
114
|
+
*
|
|
115
|
+
* @param sectionElement
|
|
116
|
+
* The section element.
|
|
117
|
+
*
|
|
118
|
+
* @param placement
|
|
119
|
+
* Either 'before' or 'after'.
|
|
120
|
+
*/
|
|
121
|
+
setScreenReaderSectionAttributes(sectionElement: HTMLElement, placement: 'before' | 'after'): void;
|
|
122
|
+
/**
|
|
123
|
+
* Gets the default formatter for the before-Grid screen reader section.
|
|
124
|
+
* @private
|
|
125
|
+
*/
|
|
126
|
+
private defaultBeforeFormatter;
|
|
127
|
+
/**
|
|
128
|
+
* Checks if a string is already wrapped in a heading tag (h1-h6).
|
|
129
|
+
* @private
|
|
130
|
+
*
|
|
131
|
+
* @param text
|
|
132
|
+
* The text to check.
|
|
133
|
+
*
|
|
134
|
+
* @returns
|
|
135
|
+
* True if the text is wrapped in a heading tag.
|
|
136
|
+
*/
|
|
137
|
+
private isWrappedInHeadingTag;
|
|
138
|
+
/**
|
|
139
|
+
* Formats a string with template variables.
|
|
140
|
+
*
|
|
141
|
+
* @param format
|
|
142
|
+
* The format string.
|
|
143
|
+
*
|
|
144
|
+
* @param context
|
|
145
|
+
* The context object.
|
|
146
|
+
*
|
|
147
|
+
* @private
|
|
148
|
+
*/
|
|
149
|
+
private formatTemplateString;
|
|
150
|
+
/**
|
|
151
|
+
* Gets the default formatter for the after-Grid screen reader section.
|
|
152
|
+
* @private
|
|
153
|
+
*/
|
|
154
|
+
private defaultAfterFormatter;
|
|
155
|
+
/**
|
|
156
|
+
* Strips empty HTML tags from a string recursively.
|
|
157
|
+
*
|
|
158
|
+
* @param string
|
|
159
|
+
* The string to strip empty HTML tags from.
|
|
160
|
+
*
|
|
161
|
+
* @private
|
|
162
|
+
*/
|
|
163
|
+
private stripEmptyHTMLTags;
|
|
97
164
|
/**
|
|
98
165
|
* Destroy the accessibility controller.
|
|
99
166
|
*/
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Accessibility 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
|
|
13
13
|
* - Sebastian Bochan
|
|
14
|
+
* - Kamil Kubik
|
|
14
15
|
*
|
|
15
16
|
* */
|
|
16
17
|
'use strict';
|
|
@@ -18,7 +19,12 @@ import whcm from '../../../Accessibility/HighContrastMode.js';
|
|
|
18
19
|
import Globals from '../Globals.js';
|
|
19
20
|
import ColumnFiltering from '../Table/Actions/ColumnFiltering/ColumnFiltering.js';
|
|
20
21
|
import GridUtils from '../GridUtils.js';
|
|
22
|
+
import AST from '../../../Core/Renderer/HTML/AST.js';
|
|
23
|
+
import U from '../../../Core/Utilities.js';
|
|
24
|
+
import HTMLU from '../../../Accessibility/Utils/HTMLUtilities.js';
|
|
21
25
|
const { formatText } = GridUtils;
|
|
26
|
+
const { replaceNested } = U;
|
|
27
|
+
const { getHeadingTagNameForElement } = HTMLU;
|
|
22
28
|
/**
|
|
23
29
|
* Representing the accessibility functionalities for the Data Grid.
|
|
24
30
|
*/
|
|
@@ -35,6 +41,14 @@ class Accessibility {
|
|
|
35
41
|
* The Grid Table instance which the accessibility controller belong to.
|
|
36
42
|
*/
|
|
37
43
|
constructor(grid) {
|
|
44
|
+
/**
|
|
45
|
+
* The before Grid screen reader section element.
|
|
46
|
+
*/
|
|
47
|
+
this.beforeGridElement = null;
|
|
48
|
+
/**
|
|
49
|
+
* The after Grid screen reader section element.
|
|
50
|
+
*/
|
|
51
|
+
this.afterGridElement = null;
|
|
38
52
|
this.grid = grid;
|
|
39
53
|
this.element = document.createElement('div');
|
|
40
54
|
this.element.classList.add(Globals.getClassName('visuallyHidden'));
|
|
@@ -214,10 +228,169 @@ class Accessibility {
|
|
|
214
228
|
}
|
|
215
229
|
this.addHighContrast();
|
|
216
230
|
}
|
|
231
|
+
/**
|
|
232
|
+
* Adds the screen reader section before or after the Grid.
|
|
233
|
+
*
|
|
234
|
+
* @param placement
|
|
235
|
+
* Either 'before' or 'after'.
|
|
236
|
+
*/
|
|
237
|
+
addScreenReaderSection(placement) {
|
|
238
|
+
const grid = this.grid;
|
|
239
|
+
const isBefore = placement === 'before';
|
|
240
|
+
// Get the screen reader section content.
|
|
241
|
+
const defaultFormatter = isBefore ?
|
|
242
|
+
this.defaultBeforeFormatter() :
|
|
243
|
+
this.defaultAfterFormatter();
|
|
244
|
+
const formatter = grid.options?.accessibility?.screenReaderSection?.[`${placement}GridFormatter`];
|
|
245
|
+
const content = formatter ? formatter(grid) : defaultFormatter;
|
|
246
|
+
// Create the screen reader section element.
|
|
247
|
+
const sectionElement = this[`${placement}GridElement`] = (this[`${placement}GridElement`] || document.createElement('div'));
|
|
248
|
+
// Create the hidden element.
|
|
249
|
+
const hiddenElement = sectionElement.firstChild ||
|
|
250
|
+
document.createElement('div');
|
|
251
|
+
if (content) {
|
|
252
|
+
this.setScreenReaderSectionAttributes(sectionElement, placement);
|
|
253
|
+
AST.setElementHTML(hiddenElement, content);
|
|
254
|
+
// Append only if not already a child.
|
|
255
|
+
if (hiddenElement.parentNode !== sectionElement) {
|
|
256
|
+
sectionElement.appendChild(hiddenElement);
|
|
257
|
+
}
|
|
258
|
+
// Insert only if not already in the DOM.
|
|
259
|
+
const gridContainer = grid.container;
|
|
260
|
+
if (!sectionElement.parentNode && gridContainer) {
|
|
261
|
+
if (isBefore) {
|
|
262
|
+
gridContainer.insertBefore(sectionElement, gridContainer.firstChild);
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
gridContainer.appendChild(sectionElement);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
hiddenElement.classList.add(Globals.getClassName('visuallyHidden'));
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
if (sectionElement.parentNode) {
|
|
272
|
+
sectionElement.parentNode.removeChild(sectionElement);
|
|
273
|
+
}
|
|
274
|
+
this[`${placement}GridElement`] = null;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Sets the accessibility attributes for the screen reader section.
|
|
279
|
+
*
|
|
280
|
+
* @param sectionElement
|
|
281
|
+
* The section element.
|
|
282
|
+
*
|
|
283
|
+
* @param placement
|
|
284
|
+
* Either 'before' or 'after'.
|
|
285
|
+
*/
|
|
286
|
+
setScreenReaderSectionAttributes(sectionElement, placement) {
|
|
287
|
+
const grid = this.grid;
|
|
288
|
+
sectionElement.setAttribute('id', `grid-screen-reader-region-${placement}-${grid.id}`);
|
|
289
|
+
const regionLabel = grid.options?.lang?.accessibility?.screenReaderSection?.[`${placement}RegionLabel`];
|
|
290
|
+
if (regionLabel) {
|
|
291
|
+
sectionElement.setAttribute('aria-label', regionLabel);
|
|
292
|
+
sectionElement.setAttribute('role', 'region');
|
|
293
|
+
}
|
|
294
|
+
// Position the section relatively to the Grid.
|
|
295
|
+
sectionElement.style.position = 'relative';
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Gets the default formatter for the before-Grid screen reader section.
|
|
299
|
+
* @private
|
|
300
|
+
*/
|
|
301
|
+
defaultBeforeFormatter() {
|
|
302
|
+
const grid = this.grid;
|
|
303
|
+
const { container, dataTable, options } = grid;
|
|
304
|
+
const format = options?.accessibility?.screenReaderSection?.beforeGridFormat;
|
|
305
|
+
if (!format || !container) {
|
|
306
|
+
return '';
|
|
307
|
+
}
|
|
308
|
+
const gridTitle = options?.caption?.text;
|
|
309
|
+
let formattedGridTitle = '';
|
|
310
|
+
if (gridTitle) {
|
|
311
|
+
if (this.isWrappedInHeadingTag(gridTitle)) {
|
|
312
|
+
formattedGridTitle = gridTitle;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
const headingTag = getHeadingTagNameForElement(container);
|
|
316
|
+
formattedGridTitle =
|
|
317
|
+
`<${headingTag}>${gridTitle}</${headingTag}>`;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
const context = {
|
|
321
|
+
gridTitle: formattedGridTitle,
|
|
322
|
+
gridDescription: options?.description?.text || '',
|
|
323
|
+
rowCount: dataTable?.rowCount || 0,
|
|
324
|
+
columnCount: (dataTable?.getColumnIds() || []).length
|
|
325
|
+
};
|
|
326
|
+
const formattedString = this.formatTemplateString(format, context);
|
|
327
|
+
return this.stripEmptyHTMLTags(formattedString);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Checks if a string is already wrapped in a heading tag (h1-h6).
|
|
331
|
+
* @private
|
|
332
|
+
*
|
|
333
|
+
* @param text
|
|
334
|
+
* The text to check.
|
|
335
|
+
*
|
|
336
|
+
* @returns
|
|
337
|
+
* True if the text is wrapped in a heading tag.
|
|
338
|
+
*/
|
|
339
|
+
isWrappedInHeadingTag(text) {
|
|
340
|
+
return /^<h([1-6])[^>]*>[\s\S]*<\/h\1>$/i.test(text.trim());
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Formats a string with template variables.
|
|
344
|
+
*
|
|
345
|
+
* @param format
|
|
346
|
+
* The format string.
|
|
347
|
+
*
|
|
348
|
+
* @param context
|
|
349
|
+
* The context object.
|
|
350
|
+
*
|
|
351
|
+
* @private
|
|
352
|
+
*/
|
|
353
|
+
formatTemplateString(format, context) {
|
|
354
|
+
return format.replace(/\{(\w+)\}/g, (_, key) => (key in context ? String(context[key]) : `{${key}}`));
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Gets the default formatter for the after-Grid screen reader section.
|
|
358
|
+
* @private
|
|
359
|
+
*/
|
|
360
|
+
defaultAfterFormatter() {
|
|
361
|
+
const grid = this.grid;
|
|
362
|
+
const format = grid.options?.accessibility?.screenReaderSection
|
|
363
|
+
?.afterGridFormat;
|
|
364
|
+
if (!format) {
|
|
365
|
+
return '';
|
|
366
|
+
}
|
|
367
|
+
return this.stripEmptyHTMLTags(format);
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Strips empty HTML tags from a string recursively.
|
|
371
|
+
*
|
|
372
|
+
* @param string
|
|
373
|
+
* The string to strip empty HTML tags from.
|
|
374
|
+
*
|
|
375
|
+
* @private
|
|
376
|
+
*/
|
|
377
|
+
stripEmptyHTMLTags(string) {
|
|
378
|
+
return replaceNested(string, [/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g, '']);
|
|
379
|
+
}
|
|
217
380
|
/**
|
|
218
381
|
* Destroy the accessibility controller.
|
|
219
382
|
*/
|
|
220
383
|
destroy() {
|
|
384
|
+
// Removes the screen reader before section.
|
|
385
|
+
const beforeGridElement = this.beforeGridElement;
|
|
386
|
+
if (beforeGridElement?.parentNode) {
|
|
387
|
+
beforeGridElement.parentNode.removeChild(beforeGridElement);
|
|
388
|
+
}
|
|
389
|
+
// Removes the screen reader after section.
|
|
390
|
+
const afterGridElement = this.afterGridElement;
|
|
391
|
+
if (afterGridElement?.parentNode) {
|
|
392
|
+
afterGridElement.parentNode.removeChild(afterGridElement);
|
|
393
|
+
}
|
|
221
394
|
this.element.remove();
|
|
222
395
|
this.announcerElement.remove();
|
|
223
396
|
clearTimeout(this.announcerTimeout);
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid Credits 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
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid default options
|
|
4
4
|
*
|
|
5
|
-
* (c) 2009-
|
|
5
|
+
* (c) 2009-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
|
|
@@ -28,7 +28,8 @@ export const defaultLangOptions = {
|
|
|
28
28
|
ascending: 'Sorted ascending.',
|
|
29
29
|
descending: 'Sorted descending.',
|
|
30
30
|
none: 'Not sorted.'
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
|
+
priority: 'Priority {priority}.'
|
|
32
33
|
},
|
|
33
34
|
pagination: {
|
|
34
35
|
announcements: {
|
|
@@ -45,6 +46,10 @@ export const defaultLangOptions = {
|
|
|
45
46
|
filterCleared: 'Filter cleared for {columnId}. ' +
|
|
46
47
|
'{rowsCount} results found.'
|
|
47
48
|
}
|
|
49
|
+
},
|
|
50
|
+
screenReaderSection: {
|
|
51
|
+
beforeRegionLabel: '',
|
|
52
|
+
afterRegionLabel: ''
|
|
48
53
|
}
|
|
49
54
|
},
|
|
50
55
|
loading: 'Loading...',
|
|
@@ -95,6 +100,13 @@ export const defaultOptions = {
|
|
|
95
100
|
announcements: {
|
|
96
101
|
sorting: true,
|
|
97
102
|
filtering: true
|
|
103
|
+
},
|
|
104
|
+
screenReaderSection: {
|
|
105
|
+
beforeGridFormat: '{gridTitle}' +
|
|
106
|
+
'<div>{gridDescription}</div>' +
|
|
107
|
+
'<div>Grid with {rowCount} rows and {columnCount}' +
|
|
108
|
+
' columns.</div>',
|
|
109
|
+
afterGridFormat: 'End of Grid.'
|
|
98
110
|
}
|
|
99
111
|
},
|
|
100
112
|
time: {
|
|
@@ -120,7 +132,7 @@ export const defaultOptions = {
|
|
|
120
132
|
},
|
|
121
133
|
columnDefaults: {
|
|
122
134
|
sorting: {
|
|
123
|
-
|
|
135
|
+
enabled: true
|
|
124
136
|
},
|
|
125
137
|
filtering: {
|
|
126
138
|
inline: false
|
|
@@ -3,7 +3,7 @@ export type DeepRequired<T> = {
|
|
|
3
3
|
};
|
|
4
4
|
export type ClassNameKey = keyof typeof rawClassNames;
|
|
5
5
|
export declare const classNamePrefix: string;
|
|
6
|
-
export declare const version = "2.
|
|
6
|
+
export declare const version = "2.2.0";
|
|
7
7
|
export declare const rawClassNames: {
|
|
8
8
|
readonly container: "container";
|
|
9
9
|
readonly tableElement: "table";
|
|
@@ -15,7 +15,6 @@ export declare const rawClassNames: {
|
|
|
15
15
|
readonly rowEven: "row-even";
|
|
16
16
|
readonly rowOdd: "row-odd";
|
|
17
17
|
readonly hoveredRow: "hovered-row";
|
|
18
|
-
readonly columnElement: "column";
|
|
19
18
|
readonly hoveredCell: "hovered-cell";
|
|
20
19
|
readonly hoveredColumn: "hovered-column";
|
|
21
20
|
readonly syncedRow: "synced-row";
|
|
@@ -41,6 +40,7 @@ export declare const rawClassNames: {
|
|
|
41
40
|
readonly columnSortableIcon: "column-sortable-icon";
|
|
42
41
|
readonly columnSortedAsc: "column-sorted-asc";
|
|
43
42
|
readonly columnSortedDesc: "column-sorted-desc";
|
|
43
|
+
readonly sortPriorityIndicator: "sort-priority-indicator";
|
|
44
44
|
readonly resizableContent: "resizable-content";
|
|
45
45
|
readonly resizerHandles: "column-resizer";
|
|
46
46
|
readonly resizedColumn: "column-resized";
|
|
@@ -90,7 +90,7 @@ export declare const isSafari: boolean;
|
|
|
90
90
|
export declare const getClassName: (classNameKey: ClassNameKey) => string;
|
|
91
91
|
declare const _default: {
|
|
92
92
|
readonly classNamePrefix: string;
|
|
93
|
-
readonly version: "2.
|
|
93
|
+
readonly version: "2.2.0";
|
|
94
94
|
readonly rawClassNames: {
|
|
95
95
|
readonly container: "container";
|
|
96
96
|
readonly tableElement: "table";
|
|
@@ -102,7 +102,6 @@ declare const _default: {
|
|
|
102
102
|
readonly rowEven: "row-even";
|
|
103
103
|
readonly rowOdd: "row-odd";
|
|
104
104
|
readonly hoveredRow: "hovered-row";
|
|
105
|
-
readonly columnElement: "column";
|
|
106
105
|
readonly hoveredCell: "hovered-cell";
|
|
107
106
|
readonly hoveredColumn: "hovered-column";
|
|
108
107
|
readonly syncedRow: "synced-row";
|
|
@@ -128,6 +127,7 @@ declare const _default: {
|
|
|
128
127
|
readonly columnSortableIcon: "column-sortable-icon";
|
|
129
128
|
readonly columnSortedAsc: "column-sorted-asc";
|
|
130
129
|
readonly columnSortedDesc: "column-sorted-desc";
|
|
130
|
+
readonly sortPriorityIndicator: "sort-priority-indicator";
|
|
131
131
|
readonly resizableContent: "resizable-content";
|
|
132
132
|
readonly resizerHandles: "column-resizer";
|
|
133
133
|
readonly resizedColumn: "column-resized";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* *
|
|
2
2
|
*
|
|
3
|
-
* (c) 2009-
|
|
3
|
+
* (c) 2009-2026 Highsoft AS
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* A commercial license may be required depending on use.
|
|
6
|
+
* See www.highcharts.com/license
|
|
6
7
|
*
|
|
7
|
-
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
8
|
*
|
|
9
9
|
* Authors:
|
|
10
10
|
* - Dawid Dragula
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*
|
|
19
19
|
* */
|
|
20
20
|
export const classNamePrefix = 'hcg-';
|
|
21
|
-
export const version = '2.
|
|
21
|
+
export const version = '2.2.0';
|
|
22
22
|
export const rawClassNames = {
|
|
23
23
|
container: 'container',
|
|
24
24
|
tableElement: 'table',
|
|
@@ -30,7 +30,6 @@ export const rawClassNames = {
|
|
|
30
30
|
rowEven: 'row-even',
|
|
31
31
|
rowOdd: 'row-odd',
|
|
32
32
|
hoveredRow: 'hovered-row',
|
|
33
|
-
columnElement: 'column',
|
|
34
33
|
hoveredCell: 'hovered-cell',
|
|
35
34
|
hoveredColumn: 'hovered-column',
|
|
36
35
|
syncedRow: 'synced-row',
|
|
@@ -56,6 +55,7 @@ export const rawClassNames = {
|
|
|
56
55
|
columnSortableIcon: 'column-sortable-icon',
|
|
57
56
|
columnSortedAsc: 'column-sorted-asc',
|
|
58
57
|
columnSortedDesc: 'column-sorted-desc',
|
|
58
|
+
sortPriorityIndicator: 'sort-priority-indicator',
|
|
59
59
|
resizableContent: 'resizable-content',
|
|
60
60
|
resizerHandles: 'column-resizer',
|
|
61
61
|
resizedColumn: 'column-resized',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Options, GroupedHeaderOptions } from './Options';
|
|
1
|
+
import type { ColumnSortingOrder, Options, GroupedHeaderOptions } from './Options';
|
|
2
2
|
import type { NoIdColumnOptions } from './Table/Column';
|
|
3
3
|
import type Popup from './UI/Popup.js';
|
|
4
4
|
import Accessibility from './Accessibility/Accessibility.js';
|
|
@@ -217,6 +217,17 @@ export declare class Grid {
|
|
|
217
217
|
redraw(): Promise<void>;
|
|
218
218
|
updateColumn(columnId: string, options: NoIdColumnOptions, render?: boolean, overwrite?: boolean): Promise<void>;
|
|
219
219
|
updateColumn(columnId: string, options: NoIdColumnOptions, render?: false, overwrite?: boolean): void;
|
|
220
|
+
/**
|
|
221
|
+
* Sets the sorting order for one or more columns. Provide the sortings
|
|
222
|
+
* in priority order. Use `null` to clear sorting.
|
|
223
|
+
*
|
|
224
|
+
* @param sortings
|
|
225
|
+
* The sorting definition in priority order.
|
|
226
|
+
*/
|
|
227
|
+
setSorting(sortings: Array<{
|
|
228
|
+
columnId: string;
|
|
229
|
+
order: ColumnSortingOrder;
|
|
230
|
+
}> | null): Promise<void>;
|
|
220
231
|
private render;
|
|
221
232
|
/**
|
|
222
233
|
* Hovers the row with the provided index. It removes the hover effect from
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Highcharts Grid 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
|
|
@@ -25,8 +25,8 @@ import QueryingController from './Querying/QueryingController.js';
|
|
|
25
25
|
import Globals from './Globals.js';
|
|
26
26
|
import TimeBase from '../../Shared/TimeBase.js';
|
|
27
27
|
import Pagination from './Pagination/Pagination.js';
|
|
28
|
-
const { makeHTMLElement, setHTMLContent } = GridUtils;
|
|
29
|
-
const { defined, diffObjects, extend, fireEvent,
|
|
28
|
+
const { makeHTMLElement, setHTMLContent, createOptionsProxy } = GridUtils;
|
|
29
|
+
const { defined, diffObjects, extend, fireEvent, merge, pick } = U;
|
|
30
30
|
/* *
|
|
31
31
|
*
|
|
32
32
|
* Class
|
|
@@ -153,8 +153,8 @@ export class Grid {
|
|
|
153
153
|
throw new Error('Rendering div not found. It is unable to find the HTML ' +
|
|
154
154
|
'element to render the Grid in.');
|
|
155
155
|
}
|
|
156
|
-
this.initialContainerHeight = getStyle(container, 'height', true) || 0;
|
|
157
156
|
this.container = container;
|
|
157
|
+
this.container.style.minHeight = 0 + 'px';
|
|
158
158
|
this.container.innerHTML = AST.emptyHTML;
|
|
159
159
|
this.contentWrapper = makeHTMLElement('div', {
|
|
160
160
|
className: Globals.getClassName('container')
|
|
@@ -195,6 +195,9 @@ export class Grid {
|
|
|
195
195
|
merge(true, diff, diffObjects(newOptions, this.userOptions));
|
|
196
196
|
this.userOptions = merge(this.userOptions, newOptions);
|
|
197
197
|
this.options = merge(this.options ?? defaultOptions, this.userOptions);
|
|
198
|
+
this.viewport?.columns.forEach((column) => {
|
|
199
|
+
column.options = createOptionsProxy(this.columnOptionsMap?.[column.id]?.options ?? {}, this.options?.columnDefaults);
|
|
200
|
+
});
|
|
198
201
|
return diff;
|
|
199
202
|
}
|
|
200
203
|
/**
|
|
@@ -496,7 +499,9 @@ export class Grid {
|
|
|
496
499
|
fireEvent(this, 'beforeRedraw');
|
|
497
500
|
const flags = this.dirtyFlags;
|
|
498
501
|
if (flags.has('grid')) {
|
|
499
|
-
|
|
502
|
+
await this.render();
|
|
503
|
+
fireEvent(this, 'afterRedraw');
|
|
504
|
+
return;
|
|
500
505
|
}
|
|
501
506
|
const { viewport: vp, pagination } = this;
|
|
502
507
|
const colResizing = vp?.columnResizing;
|
|
@@ -583,6 +588,90 @@ export class Grid {
|
|
|
583
588
|
columnId
|
|
584
589
|
});
|
|
585
590
|
}
|
|
591
|
+
/**
|
|
592
|
+
* Sets the sorting order for one or more columns. Provide the sortings
|
|
593
|
+
* in priority order. Use `null` to clear sorting.
|
|
594
|
+
*
|
|
595
|
+
* @param sortings
|
|
596
|
+
* The sorting definition in priority order.
|
|
597
|
+
*/
|
|
598
|
+
async setSorting(sortings) {
|
|
599
|
+
const viewport = this.viewport;
|
|
600
|
+
if (!viewport) {
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
603
|
+
if (viewport.validator?.errorCell) {
|
|
604
|
+
return;
|
|
605
|
+
}
|
|
606
|
+
const normalized = (sortings || []).filter((sorting) => !!(sorting.columnId && sorting.order));
|
|
607
|
+
const sortingController = this.querying.sorting;
|
|
608
|
+
const previousSortings = sortingController.currentSortings || [];
|
|
609
|
+
const eventColumnIds = new Set();
|
|
610
|
+
for (const sorting of previousSortings) {
|
|
611
|
+
if (sorting.columnId) {
|
|
612
|
+
eventColumnIds.add(sorting.columnId);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
for (const sorting of normalized) {
|
|
616
|
+
eventColumnIds.add(sorting.columnId);
|
|
617
|
+
}
|
|
618
|
+
const eventColumns = Array.from(eventColumnIds)
|
|
619
|
+
.map((columnId) => {
|
|
620
|
+
const column = viewport.getColumn(columnId);
|
|
621
|
+
if (!column) {
|
|
622
|
+
return null;
|
|
623
|
+
}
|
|
624
|
+
const order = normalized.find((sorting) => sorting.columnId === columnId)?.order || null;
|
|
625
|
+
return { column, order };
|
|
626
|
+
})
|
|
627
|
+
.filter((item) => !!item);
|
|
628
|
+
for (const { column, order } of eventColumns) {
|
|
629
|
+
[column, this].forEach((source) => {
|
|
630
|
+
fireEvent(source, 'beforeSort', {
|
|
631
|
+
target: column,
|
|
632
|
+
order
|
|
633
|
+
});
|
|
634
|
+
});
|
|
635
|
+
}
|
|
636
|
+
sortingController.setSorting(normalized);
|
|
637
|
+
await viewport.updateRows();
|
|
638
|
+
const currentSortings = sortingController.currentSortings || [];
|
|
639
|
+
const hasMultiple = currentSortings.length > 1;
|
|
640
|
+
for (const column of viewport.columns) {
|
|
641
|
+
const sortingIndex = currentSortings.findIndex((sorting) => sorting.columnId === column.id);
|
|
642
|
+
if (sortingIndex !== -1 && currentSortings[sortingIndex].order) {
|
|
643
|
+
const sorting = currentSortings[sortingIndex];
|
|
644
|
+
const sortingOptions = {
|
|
645
|
+
order: sorting.order
|
|
646
|
+
};
|
|
647
|
+
if (hasMultiple) {
|
|
648
|
+
sortingOptions.priority = sortingIndex + 1;
|
|
649
|
+
}
|
|
650
|
+
column.setOptions({ sorting: sortingOptions });
|
|
651
|
+
if (!hasMultiple) {
|
|
652
|
+
delete column.options.sorting?.priority;
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
else {
|
|
656
|
+
delete column.options.sorting?.order;
|
|
657
|
+
delete column.options.sorting?.priority;
|
|
658
|
+
if (column.options.sorting &&
|
|
659
|
+
Object.keys(column.options.sorting).length < 1) {
|
|
660
|
+
delete column.options.sorting;
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
column.sorting?.refreshHeaderAttributes();
|
|
664
|
+
}
|
|
665
|
+
this.accessibility?.userSortedColumn(currentSortings[0]?.order || null);
|
|
666
|
+
for (const { column, order } of eventColumns) {
|
|
667
|
+
[column, this].forEach((source) => {
|
|
668
|
+
fireEvent(source, 'afterSort', {
|
|
669
|
+
target: column,
|
|
670
|
+
order
|
|
671
|
+
});
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
}
|
|
586
675
|
async render() {
|
|
587
676
|
if (this.isRendered) {
|
|
588
677
|
this.destroy(true);
|
|
@@ -765,7 +854,7 @@ export class Grid {
|
|
|
765
854
|
else {
|
|
766
855
|
this.renderNoData();
|
|
767
856
|
}
|
|
768
|
-
this.
|
|
857
|
+
this.renderAccessibility();
|
|
769
858
|
// Render bottom pagination, footer pagination,
|
|
770
859
|
// or custom container pagination (after table).
|
|
771
860
|
if (paginationPosition !== 'top') {
|
|
@@ -775,6 +864,19 @@ export class Grid {
|
|
|
775
864
|
fireEvent(this, 'afterRenderViewport');
|
|
776
865
|
this.viewport?.reflow();
|
|
777
866
|
}
|
|
867
|
+
/**
|
|
868
|
+
* Renders the Grid accessibility.
|
|
869
|
+
* @internal
|
|
870
|
+
*/
|
|
871
|
+
renderAccessibility() {
|
|
872
|
+
const accessibility = this.accessibility;
|
|
873
|
+
if (!accessibility) {
|
|
874
|
+
return;
|
|
875
|
+
}
|
|
876
|
+
accessibility.setA11yOptions();
|
|
877
|
+
accessibility.addScreenReaderSection('before');
|
|
878
|
+
accessibility.addScreenReaderSection('after');
|
|
879
|
+
}
|
|
778
880
|
/**
|
|
779
881
|
* Renders the table (viewport) of the Grid.
|
|
780
882
|
*
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Grid utilities
|
|
4
4
|
*
|
|
5
|
-
* (c) 2009-
|
|
5
|
+
* (c) 2009-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
|