@highcharts/grid-pro 2.0.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/README.md +35 -0
- package/css/grid-pro.css +1756 -0
- package/es-modules/Accessibility/A11yI18n.d.ts +95 -0
- package/es-modules/Accessibility/A11yI18n.js +290 -0
- package/es-modules/Accessibility/Accessibility.d.ts +116 -0
- package/es-modules/Accessibility/Accessibility.js +402 -0
- package/es-modules/Accessibility/AccessibilityComponent.d.ts +97 -0
- package/es-modules/Accessibility/AccessibilityComponent.js +147 -0
- package/es-modules/Accessibility/Components/AnnotationsA11y.d.ts +43 -0
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
- package/es-modules/Accessibility/Components/ContainerComponent.d.ts +48 -0
- package/es-modules/Accessibility/Components/ContainerComponent.js +142 -0
- package/es-modules/Accessibility/Components/InfoRegionsComponent.d.ts +144 -0
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +555 -0
- package/es-modules/Accessibility/Components/LegendComponent.d.ts +124 -0
- package/es-modules/Accessibility/Components/LegendComponent.js +474 -0
- package/es-modules/Accessibility/Components/MenuComponent.d.ts +93 -0
- package/es-modules/Accessibility/Components/MenuComponent.js +430 -0
- package/es-modules/Accessibility/Components/NavigatorComponent.d.ts +57 -0
- package/es-modules/Accessibility/Components/NavigatorComponent.js +235 -0
- package/es-modules/Accessibility/Components/RangeSelectorComponent.d.ts +126 -0
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +473 -0
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.d.ts +18 -0
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +234 -0
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.d.ts +87 -0
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +309 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.d.ts +53 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +130 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.d.ts +28 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +415 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.d.ts +114 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +721 -0
- package/es-modules/Accessibility/Components/ZoomComponent.d.ts +96 -0
- package/es-modules/Accessibility/Components/ZoomComponent.js +314 -0
- package/es-modules/Accessibility/FocusBorder.d.ts +40 -0
- package/es-modules/Accessibility/FocusBorder.js +301 -0
- package/es-modules/Accessibility/HighContrastMode.d.ts +35 -0
- package/es-modules/Accessibility/HighContrastMode.js +100 -0
- package/es-modules/Accessibility/HighContrastTheme.d.ts +11 -0
- package/es-modules/Accessibility/HighContrastTheme.js +212 -0
- package/es-modules/Accessibility/KeyboardNavigation.d.ts +133 -0
- package/es-modules/Accessibility/KeyboardNavigation.js +450 -0
- package/es-modules/Accessibility/KeyboardNavigationHandler.d.ts +48 -0
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +126 -0
- package/es-modules/Accessibility/Options/A11yDefaults.d.ts +68 -0
- package/es-modules/Accessibility/Options/A11yDefaults.js +971 -0
- package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +22 -0
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +265 -0
- package/es-modules/Accessibility/Options/LangDefaults.d.ts +4 -0
- package/es-modules/Accessibility/Options/LangDefaults.js +440 -0
- package/es-modules/Accessibility/ProxyElement.d.ts +78 -0
- package/es-modules/Accessibility/ProxyElement.js +223 -0
- package/es-modules/Accessibility/ProxyProvider.d.ts +90 -0
- package/es-modules/Accessibility/ProxyProvider.js +315 -0
- package/es-modules/Accessibility/Utils/Announcer.d.ts +26 -0
- package/es-modules/Accessibility/Utils/Announcer.js +90 -0
- package/es-modules/Accessibility/Utils/ChartUtilities.d.ts +90 -0
- package/es-modules/Accessibility/Utils/ChartUtilities.js +298 -0
- package/es-modules/Accessibility/Utils/DOMElementProvider.d.ts +20 -0
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +69 -0
- package/es-modules/Accessibility/Utils/EventProvider.d.ts +26 -0
- package/es-modules/Accessibility/Utils/EventProvider.js +65 -0
- package/es-modules/Accessibility/Utils/HTMLUtilities.d.ts +108 -0
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +319 -0
- package/es-modules/Core/Animation/AnimationUtilities.d.ts +107 -0
- package/es-modules/Core/Animation/AnimationUtilities.js +200 -0
- package/es-modules/Core/Animation/Fx.d.ts +130 -0
- package/es-modules/Core/Animation/Fx.js +388 -0
- package/es-modules/Core/Chart/Chart.d.ts +1009 -0
- package/es-modules/Core/Chart/Chart.js +3008 -0
- package/es-modules/Core/Chart/Chart3D.d.ts +276 -0
- package/es-modules/Core/Chart/Chart3D.js +1686 -0
- package/es-modules/Core/Chart/ChartDefaults.d.ts +8 -0
- package/es-modules/Core/Chart/ChartDefaults.js +1304 -0
- package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +55 -0
- package/es-modules/Core/Chart/ChartNavigationComposition.js +90 -0
- package/es-modules/Core/Chart/GanttChart.d.ts +74 -0
- package/es-modules/Core/Chart/GanttChart.js +189 -0
- package/es-modules/Core/Chart/MapChart.d.ts +132 -0
- package/es-modules/Core/Chart/MapChart.js +232 -0
- package/es-modules/Core/Chart/StockChart.d.ts +117 -0
- package/es-modules/Core/Chart/StockChart.js +641 -0
- package/es-modules/Core/Color/Color.d.ts +112 -0
- package/es-modules/Core/Color/Color.js +418 -0
- package/es-modules/Core/Color/Palettes.d.ts +84 -0
- package/es-modules/Core/Color/Palettes.js +23 -0
- package/es-modules/Core/Defaults.d.ts +42 -0
- package/es-modules/Core/Defaults.js +2977 -0
- package/es-modules/Core/Foundation.d.ts +19 -0
- package/es-modules/Core/Foundation.js +63 -0
- package/es-modules/Core/Geometry/CircleUtilities.d.ts +189 -0
- package/es-modules/Core/Geometry/CircleUtilities.js +388 -0
- package/es-modules/Core/Geometry/GeometryUtilities.d.ts +48 -0
- package/es-modules/Core/Geometry/GeometryUtilities.js +105 -0
- package/es-modules/Core/Geometry/PolygonClip.d.ts +19 -0
- package/es-modules/Core/Geometry/PolygonClip.js +96 -0
- package/es-modules/Core/Globals.d.ts +110 -0
- package/es-modules/Core/Globals.js +127 -0
- package/es-modules/Core/HttpUtilities.d.ts +61 -0
- package/es-modules/Core/HttpUtilities.js +214 -0
- package/es-modules/Core/MSPointer.d.ts +74 -0
- package/es-modules/Core/MSPointer.js +218 -0
- package/es-modules/Core/Math3D.d.ts +117 -0
- package/es-modules/Core/Math3D.js +250 -0
- package/es-modules/Core/Pointer.d.ts +590 -0
- package/es-modules/Core/Pointer.js +1631 -0
- package/es-modules/Core/Renderer/HTML/AST.d.ts +163 -0
- package/es-modules/Core/Renderer/HTML/AST.js +562 -0
- package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +76 -0
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +471 -0
- package/es-modules/Core/Renderer/RendererRegistry.d.ts +29 -0
- package/es-modules/Core/Renderer/RendererRegistry.js +76 -0
- package/es-modules/Core/Renderer/RendererUtilities.d.ts +26 -0
- package/es-modules/Core/Renderer/RendererUtilities.js +172 -0
- package/es-modules/Core/Responsive.d.ts +55 -0
- package/es-modules/Core/Responsive.js +260 -0
- package/es-modules/Core/Templating.d.ts +125 -0
- package/es-modules/Core/Templating.js +428 -0
- package/es-modules/Core/Time.d.ts +69 -0
- package/es-modules/Core/Time.js +172 -0
- package/es-modules/Core/Tooltip.d.ts +297 -0
- package/es-modules/Core/Tooltip.js +1377 -0
- package/es-modules/Core/Utilities.d.ts +770 -0
- package/es-modules/Core/Utilities.js +1989 -0
- package/es-modules/Data/ColumnUtils.d.ts +87 -0
- package/es-modules/Data/ColumnUtils.js +140 -0
- package/es-modules/Data/Connectors/CSVConnector.d.ts +63 -0
- package/es-modules/Data/Connectors/CSVConnector.js +149 -0
- package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +149 -0
- package/es-modules/Data/Connectors/DataConnector.d.ts +204 -0
- package/es-modules/Data/Connectors/DataConnector.js +345 -0
- package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +87 -0
- package/es-modules/Data/Connectors/DataConnectorType.d.ts +45 -0
- package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +65 -0
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +226 -0
- package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +167 -0
- package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +77 -0
- package/es-modules/Data/Connectors/HTMLTableConnector.js +119 -0
- package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +49 -0
- package/es-modules/Data/Connectors/JSONConnector.d.ts +64 -0
- package/es-modules/Data/Connectors/JSONConnector.js +156 -0
- package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +185 -0
- package/es-modules/Data/Converters/CSVConverter.d.ts +64 -0
- package/es-modules/Data/Converters/CSVConverter.js +374 -0
- package/es-modules/Data/Converters/CSVConverterOptions.d.ts +53 -0
- package/es-modules/Data/Converters/DataConverter.d.ts +168 -0
- package/es-modules/Data/Converters/DataConverter.js +387 -0
- package/es-modules/Data/Converters/DataConverterType.d.ts +40 -0
- package/es-modules/Data/Converters/DataConverterUtils.d.ts +82 -0
- package/es-modules/Data/Converters/DataConverterUtils.js +216 -0
- package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +46 -0
- package/es-modules/Data/Converters/GoogleSheetsConverter.js +135 -0
- package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +52 -0
- package/es-modules/Data/Converters/HTMLTableConverter.d.ts +72 -0
- package/es-modules/Data/Converters/HTMLTableConverter.js +362 -0
- package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +51 -0
- package/es-modules/Data/Converters/JSONConverter.d.ts +99 -0
- package/es-modules/Data/Converters/JSONConverter.js +239 -0
- package/es-modules/Data/Converters/JSONConverterOptions.d.ts +52 -0
- package/es-modules/Data/DataCursor.d.ts +176 -0
- package/es-modules/Data/DataCursor.js +379 -0
- package/es-modules/Data/DataEvent.d.ts +81 -0
- package/es-modules/Data/DataEvent.js +14 -0
- package/es-modules/Data/DataPool.d.ts +130 -0
- package/es-modules/Data/DataPool.js +257 -0
- package/es-modules/Data/DataPoolOptions.d.ts +66 -0
- package/es-modules/Data/DataTable.d.ts +563 -0
- package/es-modules/Data/DataTable.js +930 -0
- package/es-modules/Data/DataTableCore.d.ts +165 -0
- package/es-modules/Data/DataTableCore.js +316 -0
- package/es-modules/Data/DataTableOptions.d.ts +25 -0
- package/es-modules/Data/DataTableOptions.js +15 -0
- package/es-modules/Data/Formula/Formula.d.ts +21 -0
- package/es-modules/Data/Formula/Formula.js +54 -0
- package/es-modules/Data/Formula/FormulaParser.d.ts +31 -0
- package/es-modules/Data/Formula/FormulaParser.js +488 -0
- package/es-modules/Data/Formula/FormulaProcessor.d.ts +155 -0
- package/es-modules/Data/Formula/FormulaProcessor.js +529 -0
- package/es-modules/Data/Formula/FormulaTypes.d.ts +138 -0
- package/es-modules/Data/Formula/FormulaTypes.js +135 -0
- package/es-modules/Data/Formula/Functions/ABS.d.ts +19 -0
- package/es-modules/Data/Formula/Functions/ABS.js +67 -0
- package/es-modules/Data/Formula/Functions/AND.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/AND.js +59 -0
- package/es-modules/Data/Formula/Functions/AVERAGE.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/AVERAGE.js +74 -0
- package/es-modules/Data/Formula/Functions/AVERAGEA.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/AVERAGEA.js +90 -0
- package/es-modules/Data/Formula/Functions/COUNT.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/COUNT.js +65 -0
- package/es-modules/Data/Formula/Functions/COUNTA.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/COUNTA.js +71 -0
- package/es-modules/Data/Formula/Functions/IF.d.ts +21 -0
- package/es-modules/Data/Formula/Functions/IF.js +54 -0
- package/es-modules/Data/Formula/Functions/ISNA.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/ISNA.js +52 -0
- package/es-modules/Data/Formula/Functions/MAX.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/MAX.js +69 -0
- package/es-modules/Data/Formula/Functions/MEDIAN.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/MEDIAN.js +78 -0
- package/es-modules/Data/Formula/Functions/MIN.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/MIN.js +69 -0
- package/es-modules/Data/Formula/Functions/MOD.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/MOD.js +63 -0
- package/es-modules/Data/Formula/Functions/MODE.d.ts +41 -0
- package/es-modules/Data/Formula/Functions/MODE.js +149 -0
- package/es-modules/Data/Formula/Functions/NOT.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/NOT.js +60 -0
- package/es-modules/Data/Formula/Functions/OR.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/OR.js +62 -0
- package/es-modules/Data/Formula/Functions/PRODUCT.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/PRODUCT.js +68 -0
- package/es-modules/Data/Formula/Functions/SUM.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/SUM.js +65 -0
- package/es-modules/Data/Formula/Functions/XOR.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/XOR.js +81 -0
- package/es-modules/Data/Modifiers/ChainModifier.d.ts +128 -0
- package/es-modules/Data/Modifiers/ChainModifier.js +231 -0
- package/es-modules/Data/Modifiers/ChainModifierOptions.d.ts +20 -0
- package/es-modules/Data/Modifiers/ChainModifierOptions.js +14 -0
- package/es-modules/Data/Modifiers/DataModifier.d.ts +117 -0
- package/es-modules/Data/Modifiers/DataModifier.js +202 -0
- package/es-modules/Data/Modifiers/DataModifierEvent.d.ts +28 -0
- package/es-modules/Data/Modifiers/DataModifierEvent.js +15 -0
- package/es-modules/Data/Modifiers/DataModifierOptions.d.ts +11 -0
- package/es-modules/Data/Modifiers/DataModifierOptions.js +15 -0
- package/es-modules/Data/Modifiers/DataModifierType.d.ts +44 -0
- package/es-modules/Data/Modifiers/FilterModifier.d.ts +53 -0
- package/es-modules/Data/Modifiers/FilterModifier.js +172 -0
- package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +110 -0
- package/es-modules/Data/Modifiers/FilterModifierOptions.js +14 -0
- package/es-modules/Data/Modifiers/InvertModifier.d.ts +48 -0
- package/es-modules/Data/Modifiers/InvertModifier.js +116 -0
- package/es-modules/Data/Modifiers/InvertModifierOptions.d.ts +11 -0
- package/es-modules/Data/Modifiers/InvertModifierOptions.js +15 -0
- package/es-modules/Data/Modifiers/MathModifier.d.ts +68 -0
- package/es-modules/Data/Modifiers/MathModifier.js +165 -0
- package/es-modules/Data/Modifiers/MathModifierOptions.d.ts +50 -0
- package/es-modules/Data/Modifiers/MathModifierOptions.js +14 -0
- package/es-modules/Data/Modifiers/RangeModifier.d.ts +46 -0
- package/es-modules/Data/Modifiers/RangeModifier.js +96 -0
- package/es-modules/Data/Modifiers/RangeModifierOptions.d.ts +22 -0
- package/es-modules/Data/Modifiers/RangeModifierOptions.js +15 -0
- package/es-modules/Data/Modifiers/SortModifier.d.ts +54 -0
- package/es-modules/Data/Modifiers/SortModifier.js +144 -0
- package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +44 -0
- package/es-modules/Data/Modifiers/SortModifierOptions.js +14 -0
- package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +148 -0
- package/es-modules/Grid/Core/Accessibility/A11yOptions.js +17 -0
- package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +115 -0
- package/es-modules/Grid/Core/Accessibility/Accessibility.js +231 -0
- package/es-modules/Grid/Core/Credits.d.ts +57 -0
- package/es-modules/Grid/Core/Credits.js +125 -0
- package/es-modules/Grid/Core/Defaults.d.ts +20 -0
- package/es-modules/Grid/Core/Defaults.js +148 -0
- package/es-modules/Grid/Core/Globals.d.ts +103 -0
- package/es-modules/Grid/Core/Globals.js +134 -0
- package/es-modules/Grid/Core/Grid.d.ts +295 -0
- package/es-modules/Grid/Core/Grid.js +730 -0
- package/es-modules/Grid/Core/GridUtils.d.ts +110 -0
- package/es-modules/Grid/Core/GridUtils.js +191 -0
- package/es-modules/Grid/Core/Options.d.ts +599 -0
- package/es-modules/Grid/Core/Options.js +16 -0
- package/es-modules/Grid/Core/Pagination/Icons.d.ts +7 -0
- package/es-modules/Grid/Core/Pagination/Icons.js +7 -0
- package/es-modules/Grid/Core/Pagination/Pagination.d.ts +278 -0
- package/es-modules/Grid/Core/Pagination/Pagination.js +842 -0
- package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +228 -0
- package/es-modules/Grid/Core/Querying/FilteringController.d.ts +66 -0
- package/es-modules/Grid/Core/Querying/FilteringController.js +256 -0
- package/es-modules/Grid/Core/Querying/PaginationController.d.ts +50 -0
- package/es-modules/Grid/Core/Querying/PaginationController.js +101 -0
- package/es-modules/Grid/Core/Querying/QueryingController.d.ts +58 -0
- package/es-modules/Grid/Core/Querying/QueryingController.js +127 -0
- package/es-modules/Grid/Core/Querying/SortingController.d.ts +67 -0
- package/es-modules/Grid/Core/Querying/SortingController.js +136 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.d.ts +114 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +351 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +14 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +86 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +19 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +80 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.d.ts +52 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +81 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +56 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +170 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.d.ts +55 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +182 -0
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +87 -0
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +346 -0
- package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +88 -0
- package/es-modules/Grid/Core/Table/Body/TableCell.js +231 -0
- package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +79 -0
- package/es-modules/Grid/Core/Table/Body/TableRow.js +177 -0
- package/es-modules/Grid/Core/Table/Cell.d.ts +92 -0
- package/es-modules/Grid/Core/Table/Cell.js +223 -0
- package/es-modules/Grid/Core/Table/CellContent/CellContent.d.ts +30 -0
- package/es-modules/Grid/Core/Table/CellContent/CellContent.js +40 -0
- package/es-modules/Grid/Core/Table/CellContent/TextContent.d.ts +19 -0
- package/es-modules/Grid/Core/Table/CellContent/TextContent.js +98 -0
- package/es-modules/Grid/Core/Table/Column.d.ts +136 -0
- package/es-modules/Grid/Core/Table/Column.js +230 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.d.ts +7 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +62 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.d.ts +32 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +68 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.d.ts +7 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +53 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.d.ts +7 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +63 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.d.ts +92 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +194 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +68 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +187 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.d.ts +29 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +77 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.d.ts +13 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +79 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +12 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +71 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.d.ts +12 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +66 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.d.ts +25 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +65 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.d.ts +12 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +81 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.d.ts +12 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +80 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +11 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +81 -0
- package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +70 -0
- package/es-modules/Grid/Core/Table/Header/HeaderCell.js +225 -0
- package/es-modules/Grid/Core/Table/Header/HeaderRow.d.ts +53 -0
- package/es-modules/Grid/Core/Table/Header/HeaderRow.js +182 -0
- package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +65 -0
- package/es-modules/Grid/Core/Table/Header/TableHeader.js +159 -0
- package/es-modules/Grid/Core/Table/Row.d.ts +76 -0
- package/es-modules/Grid/Core/Table/Row.js +131 -0
- package/es-modules/Grid/Core/Table/Table.d.ts +181 -0
- package/es-modules/Grid/Core/Table/Table.js +399 -0
- package/es-modules/Grid/Core/UI/Button.d.ts +31 -0
- package/es-modules/Grid/Core/UI/Button.js +16 -0
- package/es-modules/Grid/Core/UI/ContextMenu.d.ts +38 -0
- package/es-modules/Grid/Core/UI/ContextMenu.js +132 -0
- package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +126 -0
- package/es-modules/Grid/Core/UI/ContextMenuButton.js +183 -0
- package/es-modules/Grid/Core/UI/Popup.d.ts +149 -0
- package/es-modules/Grid/Core/UI/Popup.js +271 -0
- package/es-modules/Grid/Core/UI/SvgIcons.d.ts +53 -0
- package/es-modules/Grid/Core/UI/SvgIcons.js +158 -0
- package/es-modules/Grid/Core/UI/Toolbar.d.ts +16 -0
- package/es-modules/Grid/Core/UI/Toolbar.js +16 -0
- package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +135 -0
- package/es-modules/Grid/Core/UI/ToolbarButton.js +191 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +112 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditing.d.ts +80 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditing.js +211 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.d.ts +123 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +198 -0
- package/es-modules/Grid/Pro/CellRendering/CellContentPro.d.ts +23 -0
- package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +45 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderer.d.ts +50 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +41 -0
- package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.d.ts +18 -0
- package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +58 -0
- package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +48 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +18 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +79 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +30 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +122 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.d.ts +12 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +39 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.d.ts +66 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +145 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.d.ts +12 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +38 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.d.ts +58 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +158 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +58 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +173 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +28 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +157 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +58 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +168 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.d.ts +13 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +41 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.d.ts +50 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +65 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.d.ts +37 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +65 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.d.ts +26 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +16 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.d.ts +37 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +64 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.d.ts +52 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +64 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.d.ts +74 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +66 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +45 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +89 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.d.ts +54 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +65 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.d.ts +43 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +74 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.d.ts +37 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +64 -0
- package/es-modules/Grid/Pro/ColumnTypes/ColumnDataType.d.ts +29 -0
- package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +118 -0
- package/es-modules/Grid/Pro/ColumnTypes/Validator.js +270 -0
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +32 -0
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +63 -0
- package/es-modules/Grid/Pro/Credits/CreditsPro.d.ts +35 -0
- package/es-modules/Grid/Pro/Credits/CreditsPro.js +112 -0
- package/es-modules/Grid/Pro/Credits/CreditsProComposition.d.ts +28 -0
- package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +61 -0
- package/es-modules/Grid/Pro/Export/Exporting.d.ts +68 -0
- package/es-modules/Grid/Pro/Export/Exporting.js +202 -0
- package/es-modules/Grid/Pro/Export/ExportingComposition.d.ts +68 -0
- package/es-modules/Grid/Pro/Export/ExportingComposition.js +55 -0
- package/es-modules/Grid/Pro/GridEvents.d.ts +119 -0
- package/es-modules/Grid/Pro/GridEvents.js +107 -0
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +75 -0
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +76 -0
- package/es-modules/Grid/Pro/highcharts.d.ts +7 -0
- package/es-modules/Grid/index.d.ts +5 -0
- package/es-modules/Grid/index.js +19 -0
- package/es-modules/Shared/BaseForm.d.ts +49 -0
- package/es-modules/Shared/BaseForm.js +126 -0
- package/es-modules/Shared/DownloadURL.d.ts +85 -0
- package/es-modules/Shared/DownloadURL.js +198 -0
- package/es-modules/Shared/LangOptionsCore.d.ts +27 -0
- package/es-modules/Shared/TimeBase.d.ts +353 -0
- package/es-modules/Shared/TimeBase.js +830 -0
- package/es-modules/Shared/Types.d.ts +48 -0
- package/es-modules/masters/grid-pro.src.d.ts +99 -0
- package/es-modules/masters/grid-pro.src.js +129 -0
- package/grid-pro.d.ts +50 -0
- package/grid-pro.js +12 -0
- package/grid-pro.js.map +1 -0
- package/grid-pro.src.d.ts +50 -0
- package/grid-pro.src.js +26623 -0
- package/package.json +21 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { GroupedHeaderOptions } from '../../Options';
|
|
2
|
+
import Cell from '../Cell.js';
|
|
3
|
+
import Column from '../Column';
|
|
4
|
+
import Row from '../Row';
|
|
5
|
+
import TableHeader from './TableHeader.js';
|
|
6
|
+
import ColumnToolbar from './ColumnToolbar/ColumnToolbar.js';
|
|
7
|
+
/**
|
|
8
|
+
* Represents a cell in the data grid header.
|
|
9
|
+
*/
|
|
10
|
+
declare class HeaderCell extends Cell {
|
|
11
|
+
/**
|
|
12
|
+
* The HTML element of the header cell content.
|
|
13
|
+
*/
|
|
14
|
+
headerContent?: HTMLElement;
|
|
15
|
+
/**
|
|
16
|
+
* The container element of the header cell.
|
|
17
|
+
*/
|
|
18
|
+
container?: HTMLDivElement;
|
|
19
|
+
/**
|
|
20
|
+
* List of columns that are subordinated to the header cell.
|
|
21
|
+
*/
|
|
22
|
+
readonly columns: Column[];
|
|
23
|
+
/**
|
|
24
|
+
* Content value of the header cell.
|
|
25
|
+
*/
|
|
26
|
+
value: string;
|
|
27
|
+
/**
|
|
28
|
+
* The table header that this header cell belongs to.
|
|
29
|
+
*/
|
|
30
|
+
tableHeader: TableHeader;
|
|
31
|
+
/**
|
|
32
|
+
* The toolbar of the header cell.
|
|
33
|
+
*/
|
|
34
|
+
toolbar?: ColumnToolbar;
|
|
35
|
+
/**
|
|
36
|
+
* Constructs a cell in the data grid header.
|
|
37
|
+
*
|
|
38
|
+
* @param row
|
|
39
|
+
* The row of the cell.
|
|
40
|
+
*
|
|
41
|
+
* @param column
|
|
42
|
+
* The column of the cell.
|
|
43
|
+
*
|
|
44
|
+
* @param columnsTree
|
|
45
|
+
* If the cell is a wider than one column, this property contains the
|
|
46
|
+
* structure of the columns that are subordinated to the header cell.
|
|
47
|
+
*/
|
|
48
|
+
constructor(row: Row, column?: Column, columnsTree?: GroupedHeaderOptions[]);
|
|
49
|
+
/**
|
|
50
|
+
* Init element.
|
|
51
|
+
*/
|
|
52
|
+
init(): HTMLTableCellElement;
|
|
53
|
+
/**
|
|
54
|
+
* Render the cell container.
|
|
55
|
+
*/
|
|
56
|
+
render(): void;
|
|
57
|
+
reflow(): void;
|
|
58
|
+
protected onKeyDown(e: KeyboardEvent): void;
|
|
59
|
+
protected onClick(e: MouseEvent): void;
|
|
60
|
+
/**
|
|
61
|
+
* Add sorting option to the column.
|
|
62
|
+
*/
|
|
63
|
+
private initColumnSorting;
|
|
64
|
+
/**
|
|
65
|
+
* Check if the cell is part of the last cell in the header.
|
|
66
|
+
*/
|
|
67
|
+
isLastColumn(): boolean;
|
|
68
|
+
destroy(): void;
|
|
69
|
+
}
|
|
70
|
+
export default HeaderCell;
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid HeaderCell class
|
|
4
|
+
*
|
|
5
|
+
* (c) 2020-2025 Highsoft AS
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*
|
|
9
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
|
+
*
|
|
11
|
+
* Authors:
|
|
12
|
+
* - Dawid Dragula
|
|
13
|
+
* - Sebastian Bochan
|
|
14
|
+
*
|
|
15
|
+
* */
|
|
16
|
+
'use strict';
|
|
17
|
+
import Cell from '../Cell.js';
|
|
18
|
+
import GridUtils from '../../GridUtils.js';
|
|
19
|
+
import ColumnSorting from '../Actions/ColumnSorting.js';
|
|
20
|
+
import Globals from '../../Globals.js';
|
|
21
|
+
import Utilities from '../../../../Core/Utilities.js';
|
|
22
|
+
import ColumnToolbar from './ColumnToolbar/ColumnToolbar.js';
|
|
23
|
+
const { makeHTMLElement, setHTMLContent, createOptionsProxy } = GridUtils;
|
|
24
|
+
const { fireEvent, isString } = Utilities;
|
|
25
|
+
/* *
|
|
26
|
+
*
|
|
27
|
+
* Class
|
|
28
|
+
*
|
|
29
|
+
* */
|
|
30
|
+
/**
|
|
31
|
+
* Represents a cell in the data grid header.
|
|
32
|
+
*/
|
|
33
|
+
class HeaderCell extends Cell {
|
|
34
|
+
/* *
|
|
35
|
+
*
|
|
36
|
+
* Constructor
|
|
37
|
+
*
|
|
38
|
+
* */
|
|
39
|
+
/**
|
|
40
|
+
* Constructs a cell in the data grid header.
|
|
41
|
+
*
|
|
42
|
+
* @param row
|
|
43
|
+
* The row of the cell.
|
|
44
|
+
*
|
|
45
|
+
* @param column
|
|
46
|
+
* The column of the cell.
|
|
47
|
+
*
|
|
48
|
+
* @param columnsTree
|
|
49
|
+
* If the cell is a wider than one column, this property contains the
|
|
50
|
+
* structure of the columns that are subordinated to the header cell.
|
|
51
|
+
*/
|
|
52
|
+
constructor(row, column, columnsTree) {
|
|
53
|
+
super(row, column);
|
|
54
|
+
/**
|
|
55
|
+
* Reference to options taken from the header settings, that will override
|
|
56
|
+
* the column options.
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
this.superColumnOptions = {};
|
|
60
|
+
/**
|
|
61
|
+
* List of columns that are subordinated to the header cell.
|
|
62
|
+
*/
|
|
63
|
+
this.columns = [];
|
|
64
|
+
/**
|
|
65
|
+
* Content value of the header cell.
|
|
66
|
+
*/
|
|
67
|
+
this.value = '';
|
|
68
|
+
const header = this.row.viewport.header;
|
|
69
|
+
if (!header) {
|
|
70
|
+
throw new Error('No header found.');
|
|
71
|
+
}
|
|
72
|
+
this.tableHeader = header;
|
|
73
|
+
if (column) {
|
|
74
|
+
column.header = this;
|
|
75
|
+
this.columns.push(column);
|
|
76
|
+
}
|
|
77
|
+
else if (columnsTree) {
|
|
78
|
+
const vp = this.row.viewport;
|
|
79
|
+
const columnIds = vp.grid.getColumnIds(columnsTree, true);
|
|
80
|
+
for (const columnId of columnIds) {
|
|
81
|
+
const column = vp.getColumn(columnId);
|
|
82
|
+
if (column) {
|
|
83
|
+
this.columns.push(column);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/* *
|
|
89
|
+
*
|
|
90
|
+
* Methods
|
|
91
|
+
*
|
|
92
|
+
* */
|
|
93
|
+
/**
|
|
94
|
+
* Init element.
|
|
95
|
+
*/
|
|
96
|
+
init() {
|
|
97
|
+
const elem = document.createElement('th', {});
|
|
98
|
+
elem.classList.add(Globals.getClassName('headerCell'));
|
|
99
|
+
elem.setAttribute('role', 'columnheader');
|
|
100
|
+
return elem;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Render the cell container.
|
|
104
|
+
*/
|
|
105
|
+
render() {
|
|
106
|
+
const { column } = this;
|
|
107
|
+
const options = createOptionsProxy(this.superColumnOptions, column?.options);
|
|
108
|
+
const headerCellOptions = options.header || {};
|
|
109
|
+
if (headerCellOptions.formatter) {
|
|
110
|
+
this.value = headerCellOptions.formatter.call(this).toString();
|
|
111
|
+
}
|
|
112
|
+
else if (isString(headerCellOptions.format)) {
|
|
113
|
+
this.value = column ?
|
|
114
|
+
column.format(headerCellOptions.format) :
|
|
115
|
+
headerCellOptions.format;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.value = column?.id || '';
|
|
119
|
+
}
|
|
120
|
+
// Render content of th element
|
|
121
|
+
this.row.htmlElement.appendChild(this.htmlElement);
|
|
122
|
+
// Create flex container for header content and icons
|
|
123
|
+
const container = this.container = makeHTMLElement('div', {
|
|
124
|
+
className: Globals.getClassName('headerCellContainer')
|
|
125
|
+
}, this.htmlElement);
|
|
126
|
+
this.headerContent = makeHTMLElement('span', {
|
|
127
|
+
className: Globals.getClassName('headerCellContent')
|
|
128
|
+
}, container);
|
|
129
|
+
// Render the header cell element content.
|
|
130
|
+
setHTMLContent(this.headerContent, this.value);
|
|
131
|
+
this.htmlElement.setAttribute('scope', 'col');
|
|
132
|
+
if (this.superColumnOptions.className) {
|
|
133
|
+
this.htmlElement.classList.add(...this.superColumnOptions.className.split(/\s+/g));
|
|
134
|
+
}
|
|
135
|
+
if (column) {
|
|
136
|
+
this.htmlElement.setAttribute('data-column-id', column.id);
|
|
137
|
+
this.htmlElement.setAttribute('aria-label', column.id);
|
|
138
|
+
// Add user column classname
|
|
139
|
+
if (column.options.className) {
|
|
140
|
+
this.htmlElement.classList.add(...column.options.className.split(/\s+/g));
|
|
141
|
+
}
|
|
142
|
+
// Add resizing
|
|
143
|
+
column.viewport.columnsResizer?.renderColumnDragHandles(column, this);
|
|
144
|
+
// Add toolbar
|
|
145
|
+
this.toolbar = new ColumnToolbar(column);
|
|
146
|
+
this.toolbar.add();
|
|
147
|
+
// Add sorting
|
|
148
|
+
this.initColumnSorting();
|
|
149
|
+
}
|
|
150
|
+
this.setCustomClassName(options.header?.className);
|
|
151
|
+
// Add alignment to number column
|
|
152
|
+
if (column?.dataType === 'number') {
|
|
153
|
+
this.setCustomClassName(Globals.getClassName('rightAlign'));
|
|
154
|
+
}
|
|
155
|
+
fireEvent(this, 'afterRender', { column });
|
|
156
|
+
}
|
|
157
|
+
reflow() {
|
|
158
|
+
const th = this.htmlElement;
|
|
159
|
+
if (!th) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
let width = 0;
|
|
163
|
+
for (const column of this.columns) {
|
|
164
|
+
width += column.getWidth() || 0;
|
|
165
|
+
}
|
|
166
|
+
// Set the width of the column. Max width is needed for the
|
|
167
|
+
// overflow: hidden to work.
|
|
168
|
+
th.style.width = th.style.maxWidth = width + 'px';
|
|
169
|
+
this.toolbar?.reflow();
|
|
170
|
+
}
|
|
171
|
+
onKeyDown(e) {
|
|
172
|
+
if (!this.column || e.target !== this.htmlElement) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (e.key === 'Enter') {
|
|
176
|
+
this.toolbar?.focus();
|
|
177
|
+
e.preventDefault();
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
super.onKeyDown(e);
|
|
181
|
+
}
|
|
182
|
+
onClick(e) {
|
|
183
|
+
const column = this.column;
|
|
184
|
+
if (!column || (e.target !== this.htmlElement &&
|
|
185
|
+
e.target !== column.header?.headerContent) || column.viewport.columnsResizer?.isResizing) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
if (column.options.sorting?.sortable) {
|
|
189
|
+
column.sorting?.toggle();
|
|
190
|
+
}
|
|
191
|
+
fireEvent(this, 'click', {
|
|
192
|
+
originalEvent: e,
|
|
193
|
+
column: this.column
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Add sorting option to the column.
|
|
198
|
+
*/
|
|
199
|
+
initColumnSorting() {
|
|
200
|
+
const { column } = this;
|
|
201
|
+
if (!column) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
column.sorting = new ColumnSorting(column, this.htmlElement);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Check if the cell is part of the last cell in the header.
|
|
208
|
+
*/
|
|
209
|
+
isLastColumn() {
|
|
210
|
+
const vp = this.row.viewport;
|
|
211
|
+
const lastViewportColumn = vp.columns[vp.columns.length - 1];
|
|
212
|
+
const lastCellColumn = this.columns?.[this.columns.length - 1];
|
|
213
|
+
return lastViewportColumn === lastCellColumn;
|
|
214
|
+
}
|
|
215
|
+
destroy() {
|
|
216
|
+
this.toolbar?.destroy();
|
|
217
|
+
super.destroy();
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/* *
|
|
221
|
+
*
|
|
222
|
+
* Default Export
|
|
223
|
+
*
|
|
224
|
+
* */
|
|
225
|
+
export default HeaderCell;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { GroupedHeaderOptions } from '../../Options';
|
|
2
|
+
import Table from '../Table.js';
|
|
3
|
+
import Row from '../Row.js';
|
|
4
|
+
import HeaderCell from './HeaderCell.js';
|
|
5
|
+
import Column from '../Column.js';
|
|
6
|
+
/**
|
|
7
|
+
* Represents a row in the data grid header.
|
|
8
|
+
*/
|
|
9
|
+
declare class HeaderRow extends Row {
|
|
10
|
+
/**
|
|
11
|
+
* The level in the header.
|
|
12
|
+
*/
|
|
13
|
+
level: number;
|
|
14
|
+
/**
|
|
15
|
+
* Constructs a row in the data grid.
|
|
16
|
+
*
|
|
17
|
+
* @param viewport
|
|
18
|
+
* The Grid Table instance which the row belongs to.
|
|
19
|
+
*
|
|
20
|
+
* @param level
|
|
21
|
+
* The current level of header that is rendered.
|
|
22
|
+
*/
|
|
23
|
+
constructor(viewport: Table, level: number);
|
|
24
|
+
createCell(column?: Column, columnsTree?: GroupedHeaderOptions[]): HeaderCell;
|
|
25
|
+
reflow(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Sets a specific class to the last cell in the row.
|
|
28
|
+
*/
|
|
29
|
+
protected setLastCellClass(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Get all headers that should be rendered in a level.
|
|
32
|
+
*
|
|
33
|
+
* @param scope
|
|
34
|
+
* Level that we start from
|
|
35
|
+
*
|
|
36
|
+
* @param targetLevel
|
|
37
|
+
* Max level
|
|
38
|
+
*
|
|
39
|
+
* @param currentLevel
|
|
40
|
+
* Current level
|
|
41
|
+
*
|
|
42
|
+
* @return
|
|
43
|
+
* Array of headers that should be rendered in a level
|
|
44
|
+
*/
|
|
45
|
+
private getColumnsAtLevel;
|
|
46
|
+
/**
|
|
47
|
+
* Sets the row HTML element attributes and additional classes.
|
|
48
|
+
*/
|
|
49
|
+
private setRowAttributes;
|
|
50
|
+
}
|
|
51
|
+
declare namespace HeaderRow {
|
|
52
|
+
}
|
|
53
|
+
export default HeaderRow;
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid HeaderRow class
|
|
4
|
+
*
|
|
5
|
+
* (c) 2020-2025 Highsoft AS
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*
|
|
9
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
|
+
*
|
|
11
|
+
* Authors:
|
|
12
|
+
* - Dawid Dragula
|
|
13
|
+
* - Sebastian Bochan
|
|
14
|
+
*
|
|
15
|
+
* */
|
|
16
|
+
'use strict';
|
|
17
|
+
import Row from '../Row.js';
|
|
18
|
+
import HeaderCell from './HeaderCell.js';
|
|
19
|
+
import Globals from '../../Globals.js';
|
|
20
|
+
import Utils from '../../../../Core/Utilities.js';
|
|
21
|
+
const { isString } = Utils;
|
|
22
|
+
/* *
|
|
23
|
+
*
|
|
24
|
+
* Class
|
|
25
|
+
*
|
|
26
|
+
* */
|
|
27
|
+
/**
|
|
28
|
+
* Represents a row in the data grid header.
|
|
29
|
+
*/
|
|
30
|
+
class HeaderRow extends Row {
|
|
31
|
+
/* *
|
|
32
|
+
*
|
|
33
|
+
* Constructor
|
|
34
|
+
*
|
|
35
|
+
* */
|
|
36
|
+
/**
|
|
37
|
+
* Constructs a row in the data grid.
|
|
38
|
+
*
|
|
39
|
+
* @param viewport
|
|
40
|
+
* The Grid Table instance which the row belongs to.
|
|
41
|
+
*
|
|
42
|
+
* @param level
|
|
43
|
+
* The current level of header that is rendered.
|
|
44
|
+
*/
|
|
45
|
+
constructor(viewport, level) {
|
|
46
|
+
super(viewport);
|
|
47
|
+
this.level = level;
|
|
48
|
+
this.setRowAttributes();
|
|
49
|
+
}
|
|
50
|
+
/* *
|
|
51
|
+
*
|
|
52
|
+
* Methods
|
|
53
|
+
*
|
|
54
|
+
* */
|
|
55
|
+
createCell(column, columnsTree) {
|
|
56
|
+
return new HeaderCell(this, column, columnsTree);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Renders the row's content in the header.
|
|
60
|
+
*
|
|
61
|
+
* @param level
|
|
62
|
+
* The current level in the header tree
|
|
63
|
+
*
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
renderContent(level) {
|
|
67
|
+
const headerOpt = this.viewport.grid.options?.header;
|
|
68
|
+
const vp = this.viewport;
|
|
69
|
+
const enabledColumns = vp.grid.enabledColumns || [];
|
|
70
|
+
// Render element
|
|
71
|
+
vp.theadElement?.appendChild(this.htmlElement);
|
|
72
|
+
this.htmlElement.classList.add(Globals.getClassName('headerRow'));
|
|
73
|
+
if (!headerOpt) {
|
|
74
|
+
super.render();
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const columnsOnLevel = this.getColumnsAtLevel(headerOpt, level);
|
|
78
|
+
for (let i = 0, iEnd = columnsOnLevel.length; i < iEnd; i++) {
|
|
79
|
+
const columnOnLevel = columnsOnLevel[i];
|
|
80
|
+
const colIsString = typeof columnOnLevel === 'string';
|
|
81
|
+
const colSpan = (!colIsString && columnOnLevel.columns) ?
|
|
82
|
+
vp.grid.getColumnIds(columnOnLevel.columns).length : 0;
|
|
83
|
+
const columnId = colIsString ?
|
|
84
|
+
columnOnLevel : columnOnLevel.columnId;
|
|
85
|
+
const dataColumn = columnId ?
|
|
86
|
+
vp.getColumn(columnId || '') : void 0;
|
|
87
|
+
const headerFormat = !colIsString ?
|
|
88
|
+
columnOnLevel.format : void 0;
|
|
89
|
+
const className = !colIsString ?
|
|
90
|
+
columnOnLevel.className : void 0;
|
|
91
|
+
// Skip hidden column or header when all columns are hidden.
|
|
92
|
+
if ((columnId && enabledColumns &&
|
|
93
|
+
enabledColumns.indexOf(columnId) < 0) || (!dataColumn && colSpan === 0)) {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const headerCell = this.createCell(dataColumn, !colIsString ? columnOnLevel.columns : void 0);
|
|
97
|
+
if (!colIsString) {
|
|
98
|
+
vp.grid.accessibility?.addHeaderCellDescription(headerCell.htmlElement, columnOnLevel.accessibility?.description);
|
|
99
|
+
}
|
|
100
|
+
if (isString(headerFormat)) {
|
|
101
|
+
if (!headerCell.superColumnOptions.header) {
|
|
102
|
+
headerCell.superColumnOptions.header = {};
|
|
103
|
+
}
|
|
104
|
+
headerCell.superColumnOptions.header.format = headerFormat;
|
|
105
|
+
}
|
|
106
|
+
if (className) {
|
|
107
|
+
headerCell.superColumnOptions.className = className;
|
|
108
|
+
}
|
|
109
|
+
// Add class to disable left border on first column
|
|
110
|
+
if (dataColumn?.index === 0 && i === 0) {
|
|
111
|
+
headerCell.htmlElement.classList.add(Globals.getClassName('columnFirst'));
|
|
112
|
+
}
|
|
113
|
+
headerCell.render();
|
|
114
|
+
if (columnId) {
|
|
115
|
+
headerCell.htmlElement.setAttribute('rowSpan', (this.viewport.header?.levels || 1) - level);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
if (colSpan > 1) {
|
|
119
|
+
headerCell.htmlElement.setAttribute('colSpan', colSpan);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
this.setLastCellClass();
|
|
125
|
+
}
|
|
126
|
+
reflow() {
|
|
127
|
+
const row = this;
|
|
128
|
+
for (let i = 0, iEnd = row.cells.length; i < iEnd; i++) {
|
|
129
|
+
const cell = row.cells[i];
|
|
130
|
+
cell.reflow();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Sets a specific class to the last cell in the row.
|
|
135
|
+
*/
|
|
136
|
+
setLastCellClass() {
|
|
137
|
+
const lastCell = this.cells[this.cells.length - 1];
|
|
138
|
+
if (lastCell.isLastColumn()) {
|
|
139
|
+
lastCell.htmlElement.classList.add(Globals.getClassName('lastHeaderCellInRow'));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get all headers that should be rendered in a level.
|
|
144
|
+
*
|
|
145
|
+
* @param scope
|
|
146
|
+
* Level that we start from
|
|
147
|
+
*
|
|
148
|
+
* @param targetLevel
|
|
149
|
+
* Max level
|
|
150
|
+
*
|
|
151
|
+
* @param currentLevel
|
|
152
|
+
* Current level
|
|
153
|
+
*
|
|
154
|
+
* @return
|
|
155
|
+
* Array of headers that should be rendered in a level
|
|
156
|
+
*/
|
|
157
|
+
getColumnsAtLevel(scope, targetLevel, currentLevel = 0) {
|
|
158
|
+
let result = [];
|
|
159
|
+
for (const column of scope) {
|
|
160
|
+
if (currentLevel === targetLevel) {
|
|
161
|
+
result.push(column);
|
|
162
|
+
}
|
|
163
|
+
if (typeof column !== 'string' && column.columns) {
|
|
164
|
+
result = result.concat(this.getColumnsAtLevel(column.columns, targetLevel, currentLevel + 1));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return result;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Sets the row HTML element attributes and additional classes.
|
|
171
|
+
*/
|
|
172
|
+
setRowAttributes() {
|
|
173
|
+
this.viewport.grid.accessibility?.setRowIndex(this.htmlElement, this.level // Level (1-based)
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/* *
|
|
178
|
+
*
|
|
179
|
+
* Default Export
|
|
180
|
+
*
|
|
181
|
+
* */
|
|
182
|
+
export default HeaderRow;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import Column from '../Column.js';
|
|
2
|
+
import Table from '../Table.js';
|
|
3
|
+
import HeaderRow from './HeaderRow.js';
|
|
4
|
+
/**
|
|
5
|
+
* Represents a table header row containing the cells (headers) with
|
|
6
|
+
* column names.
|
|
7
|
+
*/
|
|
8
|
+
declare class TableHeader {
|
|
9
|
+
/**
|
|
10
|
+
* The visible columns of the table.
|
|
11
|
+
*/
|
|
12
|
+
columns: Column[];
|
|
13
|
+
/**
|
|
14
|
+
* The container of the table head.
|
|
15
|
+
*/
|
|
16
|
+
rows: HeaderRow[];
|
|
17
|
+
/**
|
|
18
|
+
* The viewport (table) the table head belongs to.
|
|
19
|
+
*/
|
|
20
|
+
viewport: Table;
|
|
21
|
+
/**
|
|
22
|
+
* Amount of levels in the header, that is used in creating correct rows.
|
|
23
|
+
* Excludes any extra levels, like filtering row.
|
|
24
|
+
*/
|
|
25
|
+
levels: number;
|
|
26
|
+
/**
|
|
27
|
+
* Constructs a new table head.
|
|
28
|
+
*
|
|
29
|
+
* @param viewport
|
|
30
|
+
* The viewport (table) the table head belongs to.
|
|
31
|
+
*/
|
|
32
|
+
constructor(viewport: Table);
|
|
33
|
+
/**
|
|
34
|
+
* Renders the table head content.
|
|
35
|
+
*/
|
|
36
|
+
render(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Reflows the table head's content dimensions.
|
|
39
|
+
*/
|
|
40
|
+
reflow(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Returns amount of rows for the current cell in header tree.
|
|
43
|
+
*
|
|
44
|
+
* @param scope
|
|
45
|
+
* Structure of header
|
|
46
|
+
*
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
private getRowLevels;
|
|
50
|
+
/**
|
|
51
|
+
* Scrolls the table head horizontally, only when the virtualization
|
|
52
|
+
* is enabled.
|
|
53
|
+
*
|
|
54
|
+
* @param scrollLeft
|
|
55
|
+
* The left scroll position.
|
|
56
|
+
*/
|
|
57
|
+
scrollHorizontally(scrollLeft: number): void;
|
|
58
|
+
/**
|
|
59
|
+
* Destroys the table header and all its associated components.
|
|
60
|
+
*/
|
|
61
|
+
destroy(): void;
|
|
62
|
+
}
|
|
63
|
+
declare namespace TableHeader {
|
|
64
|
+
}
|
|
65
|
+
export default TableHeader;
|