@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,63 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Independent Resizing Mode 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
|
+
*
|
|
14
|
+
* */
|
|
15
|
+
'use strict';
|
|
16
|
+
import ResizingMode from './ResizingMode.js';
|
|
17
|
+
/* *
|
|
18
|
+
*
|
|
19
|
+
* Class
|
|
20
|
+
*
|
|
21
|
+
* */
|
|
22
|
+
class IndependentResizingMode extends ResizingMode {
|
|
23
|
+
constructor() {
|
|
24
|
+
/* *
|
|
25
|
+
*
|
|
26
|
+
* Properties
|
|
27
|
+
*
|
|
28
|
+
* */
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.type = 'independent';
|
|
31
|
+
}
|
|
32
|
+
/* *
|
|
33
|
+
*
|
|
34
|
+
* Methods
|
|
35
|
+
*
|
|
36
|
+
* */
|
|
37
|
+
resize(resizer, diff) {
|
|
38
|
+
const column = resizer.draggedColumn;
|
|
39
|
+
if (!column) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Set the width of the resized column.
|
|
43
|
+
const width = this.columnWidths[column.id] = Math.round(Math.max((resizer.columnStartWidth || 0) + diff, ResizingMode.getMinWidth(column)) * 10) / 10;
|
|
44
|
+
this.columnWidthUnits[column.id] = 0; // Set to px
|
|
45
|
+
// Change width units of all columns on the right to px.
|
|
46
|
+
const vp = this.viewport;
|
|
47
|
+
const colIndex = column.index;
|
|
48
|
+
for (let i = colIndex; i < vp.columns.length; ++i) {
|
|
49
|
+
const rightCol = vp.columns[i];
|
|
50
|
+
const rcWidth = this.columnWidths[rightCol.id] =
|
|
51
|
+
rightCol.getWidth();
|
|
52
|
+
this.columnWidthUnits[rightCol.id] = 0; // Set to px
|
|
53
|
+
rightCol.update({ width: rcWidth }, false);
|
|
54
|
+
}
|
|
55
|
+
column.update({ width }, false);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/* *
|
|
59
|
+
*
|
|
60
|
+
* Default Export
|
|
61
|
+
*
|
|
62
|
+
* */
|
|
63
|
+
export default IndependentResizingMode;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { ColumnResizingMode } from '../../Options';
|
|
2
|
+
import type Table from '../Table';
|
|
3
|
+
import type Column from '../Column.js';
|
|
4
|
+
import type ColumnsResizer from '../Actions/ColumnsResizer';
|
|
5
|
+
/**
|
|
6
|
+
* Represents a column distribution strategy.
|
|
7
|
+
*/
|
|
8
|
+
declare abstract class ResizingMode {
|
|
9
|
+
/**
|
|
10
|
+
* The type of the column distribution strategy.
|
|
11
|
+
*/
|
|
12
|
+
abstract readonly type: ColumnResizingMode;
|
|
13
|
+
/**
|
|
14
|
+
* The table that the column distribution strategy is applied to.
|
|
15
|
+
*/
|
|
16
|
+
readonly viewport: Table;
|
|
17
|
+
/**
|
|
18
|
+
* The current widths values of the columns.
|
|
19
|
+
*/
|
|
20
|
+
columnWidths: Record<string, number>;
|
|
21
|
+
/**
|
|
22
|
+
* Array of units for each column width value. Codified as:
|
|
23
|
+
* - `0` - px
|
|
24
|
+
* - `1` - %
|
|
25
|
+
*/
|
|
26
|
+
columnWidthUnits: Record<string, number>;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the column distribution strategy is invalidated. This flag is
|
|
29
|
+
* used to determine whether the column distribution strategy metadata
|
|
30
|
+
* should be maintained when the table is destroyed and recreated.
|
|
31
|
+
*/
|
|
32
|
+
invalidated?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Creates a new column distribution strategy.
|
|
35
|
+
*
|
|
36
|
+
* @param viewport
|
|
37
|
+
* The table that the column distribution strategy is applied to.
|
|
38
|
+
*/
|
|
39
|
+
constructor(viewport: Table);
|
|
40
|
+
/**
|
|
41
|
+
* Resizes the column by the given diff of pixels.
|
|
42
|
+
*
|
|
43
|
+
* @param resizer
|
|
44
|
+
* The columns resizer instance that is used to resize the column.
|
|
45
|
+
*
|
|
46
|
+
* @param diff
|
|
47
|
+
* The X position difference in pixels.
|
|
48
|
+
*/
|
|
49
|
+
abstract resize(resizer: ColumnsResizer, diff: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* Returns the column's current width in pixels.
|
|
52
|
+
*
|
|
53
|
+
* @param column
|
|
54
|
+
* The column to get the width for.
|
|
55
|
+
*
|
|
56
|
+
* @returns
|
|
57
|
+
* The column's current width in pixels.
|
|
58
|
+
*/
|
|
59
|
+
getColumnWidth(column: Column): number;
|
|
60
|
+
/**
|
|
61
|
+
* Performs important calculations when the column is loaded.
|
|
62
|
+
*
|
|
63
|
+
* @param column
|
|
64
|
+
* The column that is loaded.
|
|
65
|
+
*/
|
|
66
|
+
loadColumn(column: Column): void;
|
|
67
|
+
/**
|
|
68
|
+
* Loads the column to the distribution strategy. Should be called before
|
|
69
|
+
* the table is rendered.
|
|
70
|
+
*/
|
|
71
|
+
loadColumns(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Recaulculates the changing dimentions of the table.
|
|
74
|
+
*/
|
|
75
|
+
reflow(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Returns the minimum width of the column.
|
|
78
|
+
*
|
|
79
|
+
* @param column
|
|
80
|
+
* The column to get the minimum width for.
|
|
81
|
+
*
|
|
82
|
+
* @returns
|
|
83
|
+
* The minimum width in pixels.
|
|
84
|
+
*/
|
|
85
|
+
protected static getMinWidth(column: Column): number;
|
|
86
|
+
/**
|
|
87
|
+
* Calculates defined (px and %) widths of all columns with non-undefined
|
|
88
|
+
* widths in the grid. Total in px.
|
|
89
|
+
*/
|
|
90
|
+
private calculateOccupiedWidth;
|
|
91
|
+
}
|
|
92
|
+
export default ResizingMode;
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Resizing Mode abstract 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
|
+
*
|
|
14
|
+
* */
|
|
15
|
+
'use strict';
|
|
16
|
+
import U from '../../../../Core/Utilities.js';
|
|
17
|
+
const { getStyle, defined } = U;
|
|
18
|
+
/* *
|
|
19
|
+
*
|
|
20
|
+
* Class
|
|
21
|
+
*
|
|
22
|
+
* */
|
|
23
|
+
/**
|
|
24
|
+
* Represents a column distribution strategy.
|
|
25
|
+
*/
|
|
26
|
+
class ResizingMode {
|
|
27
|
+
/* *
|
|
28
|
+
*
|
|
29
|
+
* Constructor
|
|
30
|
+
*
|
|
31
|
+
* */
|
|
32
|
+
/**
|
|
33
|
+
* Creates a new column distribution strategy.
|
|
34
|
+
*
|
|
35
|
+
* @param viewport
|
|
36
|
+
* The table that the column distribution strategy is applied to.
|
|
37
|
+
*/
|
|
38
|
+
constructor(viewport) {
|
|
39
|
+
/**
|
|
40
|
+
* The current widths values of the columns.
|
|
41
|
+
*/
|
|
42
|
+
this.columnWidths = {};
|
|
43
|
+
/**
|
|
44
|
+
* Array of units for each column width value. Codified as:
|
|
45
|
+
* - `0` - px
|
|
46
|
+
* - `1` - %
|
|
47
|
+
*/
|
|
48
|
+
this.columnWidthUnits = {};
|
|
49
|
+
this.viewport = viewport;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Returns the column's current width in pixels.
|
|
53
|
+
*
|
|
54
|
+
* @param column
|
|
55
|
+
* The column to get the width for.
|
|
56
|
+
*
|
|
57
|
+
* @returns
|
|
58
|
+
* The column's current width in pixels.
|
|
59
|
+
*/
|
|
60
|
+
getColumnWidth(column) {
|
|
61
|
+
const vp = this.viewport;
|
|
62
|
+
const widthValue = this.columnWidths[column.id];
|
|
63
|
+
const minWidth = ResizingMode.getMinWidth(column);
|
|
64
|
+
if (!defined(widthValue)) {
|
|
65
|
+
const tbody = vp.tbodyElement;
|
|
66
|
+
const freeWidth = tbody.getBoundingClientRect().width -
|
|
67
|
+
this.calculateOccupiedWidth() -
|
|
68
|
+
tbody.offsetWidth + tbody.clientWidth;
|
|
69
|
+
const freeColumns = (vp.grid.enabledColumns?.length || 0) -
|
|
70
|
+
Object.keys(this.columnWidths).length;
|
|
71
|
+
// If undefined width:
|
|
72
|
+
return Math.max(freeWidth / freeColumns, minWidth);
|
|
73
|
+
}
|
|
74
|
+
if (this.columnWidthUnits[column.id] === 0) {
|
|
75
|
+
// If px:
|
|
76
|
+
return widthValue;
|
|
77
|
+
}
|
|
78
|
+
// If %:
|
|
79
|
+
return Math.max(vp.getWidthFromRatio(widthValue / 100), minWidth);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Performs important calculations when the column is loaded.
|
|
83
|
+
*
|
|
84
|
+
* @param column
|
|
85
|
+
* The column that is loaded.
|
|
86
|
+
*/
|
|
87
|
+
loadColumn(column) {
|
|
88
|
+
const rawWidth = column.options.width;
|
|
89
|
+
if (!rawWidth) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
let value;
|
|
93
|
+
let unitCode = 0;
|
|
94
|
+
if (typeof rawWidth === 'number') {
|
|
95
|
+
value = rawWidth;
|
|
96
|
+
unitCode = 0;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
value = parseFloat(rawWidth);
|
|
100
|
+
unitCode = rawWidth.charAt(rawWidth.length - 1) === '%' ? 1 : 0;
|
|
101
|
+
}
|
|
102
|
+
this.columnWidthUnits[column.id] = unitCode;
|
|
103
|
+
this.columnWidths[column.id] = value;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Loads the column to the distribution strategy. Should be called before
|
|
107
|
+
* the table is rendered.
|
|
108
|
+
*/
|
|
109
|
+
loadColumns() {
|
|
110
|
+
const { columns } = this.viewport;
|
|
111
|
+
for (let i = 0, iEnd = columns.length; i < iEnd; ++i) {
|
|
112
|
+
this.loadColumn(columns[i]);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Recaulculates the changing dimentions of the table.
|
|
117
|
+
*/
|
|
118
|
+
reflow() {
|
|
119
|
+
const vp = this.viewport;
|
|
120
|
+
let rowsWidth = 0;
|
|
121
|
+
for (let i = 0, iEnd = vp.columns.length; i < iEnd; ++i) {
|
|
122
|
+
rowsWidth += this.getColumnWidth(vp.columns[i]);
|
|
123
|
+
}
|
|
124
|
+
vp.rowsWidth = rowsWidth;
|
|
125
|
+
}
|
|
126
|
+
/* *
|
|
127
|
+
*
|
|
128
|
+
* Static Methods
|
|
129
|
+
*
|
|
130
|
+
* */
|
|
131
|
+
/**
|
|
132
|
+
* Returns the minimum width of the column.
|
|
133
|
+
*
|
|
134
|
+
* @param column
|
|
135
|
+
* The column to get the minimum width for.
|
|
136
|
+
*
|
|
137
|
+
* @returns
|
|
138
|
+
* The minimum width in pixels.
|
|
139
|
+
*/
|
|
140
|
+
static getMinWidth(column) {
|
|
141
|
+
const tableColumnEl = column.cells[0]?.htmlElement;
|
|
142
|
+
const headerColumnEl = column.header?.htmlElement;
|
|
143
|
+
const getElPaddings = (el) => ((getStyle(el, 'padding-left', true) || 0) +
|
|
144
|
+
(getStyle(el, 'padding-right', true) || 0) +
|
|
145
|
+
(getStyle(el, 'border-left', true) || 0) +
|
|
146
|
+
(getStyle(el, 'border-right', true) || 0));
|
|
147
|
+
let result = ResizingMode.MIN_COLUMN_WIDTH;
|
|
148
|
+
if (tableColumnEl) {
|
|
149
|
+
result = Math.max(result, getElPaddings(tableColumnEl));
|
|
150
|
+
}
|
|
151
|
+
if (headerColumnEl) {
|
|
152
|
+
result = Math.max(result, getElPaddings(headerColumnEl));
|
|
153
|
+
}
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Calculates defined (px and %) widths of all columns with non-undefined
|
|
158
|
+
* widths in the grid. Total in px.
|
|
159
|
+
*/
|
|
160
|
+
calculateOccupiedWidth() {
|
|
161
|
+
const vp = this.viewport;
|
|
162
|
+
let occupiedWidth = 0;
|
|
163
|
+
let unit, width;
|
|
164
|
+
const columnIds = Object.keys(this.columnWidths);
|
|
165
|
+
let columnId;
|
|
166
|
+
for (let i = 0, iEnd = columnIds.length; i < iEnd; ++i) {
|
|
167
|
+
columnId = columnIds[i];
|
|
168
|
+
unit = this.columnWidthUnits[columnId];
|
|
169
|
+
if (unit === 0) {
|
|
170
|
+
occupiedWidth += this.columnWidths[columnId];
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
width = this.columnWidths[columnId];
|
|
174
|
+
occupiedWidth += vp.getWidthFromRatio(width / 100);
|
|
175
|
+
}
|
|
176
|
+
return occupiedWidth;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/* *
|
|
180
|
+
*
|
|
181
|
+
* Static Properties
|
|
182
|
+
*
|
|
183
|
+
* */
|
|
184
|
+
/**
|
|
185
|
+
* The minimum width of a column.
|
|
186
|
+
* @internal
|
|
187
|
+
*/
|
|
188
|
+
ResizingMode.MIN_COLUMN_WIDTH = 20;
|
|
189
|
+
/* *
|
|
190
|
+
*
|
|
191
|
+
* Default Export
|
|
192
|
+
*
|
|
193
|
+
* */
|
|
194
|
+
export default ResizingMode;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type Toolbar from '../../../UI/Toolbar';
|
|
2
|
+
import type Column from '../../Column';
|
|
3
|
+
import ToolbarButton from '../../../UI/ToolbarButton.js';
|
|
4
|
+
declare class HeaderCellToolbar implements Toolbar {
|
|
5
|
+
/**
|
|
6
|
+
* The maximum width of the column to be minimized.
|
|
7
|
+
*/
|
|
8
|
+
static MINIMIZED_COLUMN_WIDTH: number;
|
|
9
|
+
/**
|
|
10
|
+
* The column that this toolbar belongs to.
|
|
11
|
+
*/
|
|
12
|
+
column: Column;
|
|
13
|
+
buttons: ToolbarButton[];
|
|
14
|
+
container?: HTMLDivElement;
|
|
15
|
+
focusCursor: number;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the toolbar is minimized. If true, the toolbar will only show
|
|
18
|
+
* the context menu button.
|
|
19
|
+
*/
|
|
20
|
+
private isMinimized?;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the menu button is centered. Used when the header content is
|
|
23
|
+
* super thin, so that it's not visible.
|
|
24
|
+
*/
|
|
25
|
+
private isMenuCentered?;
|
|
26
|
+
/**
|
|
27
|
+
* The resize observer of the column.
|
|
28
|
+
*/
|
|
29
|
+
private columnResizeObserver?;
|
|
30
|
+
/**
|
|
31
|
+
* The event listener destroyers of the toolbar.
|
|
32
|
+
*/
|
|
33
|
+
private eventListenerDestroyers;
|
|
34
|
+
constructor(column: Column);
|
|
35
|
+
/**
|
|
36
|
+
* Initializes the buttons of the toolbar.
|
|
37
|
+
*/
|
|
38
|
+
private renderFull;
|
|
39
|
+
private renderMinimized;
|
|
40
|
+
/**
|
|
41
|
+
* Render the toolbar.
|
|
42
|
+
*/
|
|
43
|
+
add(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Destroys all buttons of the toolbar.
|
|
46
|
+
*/
|
|
47
|
+
clearButtons(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Reflows the toolbar. It is called when the column is resized.
|
|
50
|
+
*/
|
|
51
|
+
reflow(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Destroy the toolbar.
|
|
54
|
+
*/
|
|
55
|
+
destroy(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Focuses the first button of the toolbar.
|
|
58
|
+
*/
|
|
59
|
+
focus(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Handles the key down event on the toolbar.
|
|
62
|
+
*
|
|
63
|
+
* @param e
|
|
64
|
+
* Keyboard event object.
|
|
65
|
+
*/
|
|
66
|
+
private keyDownHandler;
|
|
67
|
+
}
|
|
68
|
+
export default HeaderCellToolbar;
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Header Cell Toolbar 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
|
+
*
|
|
14
|
+
* */
|
|
15
|
+
'use strict';
|
|
16
|
+
import GridUtils from '../../../GridUtils.js';
|
|
17
|
+
import Globals from '../../../Globals.js';
|
|
18
|
+
import SortToolbarButton from './ToolbarButtons/SortToolbarButton.js';
|
|
19
|
+
import FilterToolbarButton from './ToolbarButtons/FilterToolbarButton.js';
|
|
20
|
+
import MenuToolbarButton from './ToolbarButtons/MenuToolbarButton.js';
|
|
21
|
+
import U from '../../../../../Core/Utilities.js';
|
|
22
|
+
const { makeHTMLElement } = GridUtils;
|
|
23
|
+
const { getStyle } = U;
|
|
24
|
+
/* *
|
|
25
|
+
*
|
|
26
|
+
* Class
|
|
27
|
+
*
|
|
28
|
+
* */
|
|
29
|
+
class HeaderCellToolbar {
|
|
30
|
+
/* *
|
|
31
|
+
*
|
|
32
|
+
* Constructor
|
|
33
|
+
*
|
|
34
|
+
* */
|
|
35
|
+
constructor(column) {
|
|
36
|
+
this.buttons = [];
|
|
37
|
+
this.focusCursor = 0;
|
|
38
|
+
/**
|
|
39
|
+
* The event listener destroyers of the toolbar.
|
|
40
|
+
*/
|
|
41
|
+
this.eventListenerDestroyers = [];
|
|
42
|
+
this.column = column;
|
|
43
|
+
}
|
|
44
|
+
/* *
|
|
45
|
+
*
|
|
46
|
+
* Methods
|
|
47
|
+
*
|
|
48
|
+
* */
|
|
49
|
+
/**
|
|
50
|
+
* Initializes the buttons of the toolbar.
|
|
51
|
+
*/
|
|
52
|
+
renderFull() {
|
|
53
|
+
const columnOptions = this.column.options;
|
|
54
|
+
if (columnOptions.sorting?.sortable) {
|
|
55
|
+
new SortToolbarButton().add(this);
|
|
56
|
+
}
|
|
57
|
+
if (columnOptions.filtering?.enabled &&
|
|
58
|
+
!columnOptions.filtering.inline) {
|
|
59
|
+
new FilterToolbarButton().add(this);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
renderMinimized() {
|
|
63
|
+
const columnOptions = this.column.options;
|
|
64
|
+
if (columnOptions.sorting?.sortable || (columnOptions.filtering?.enabled &&
|
|
65
|
+
!columnOptions.filtering.inline)) {
|
|
66
|
+
new MenuToolbarButton().add(this);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Render the toolbar.
|
|
71
|
+
*/
|
|
72
|
+
add() {
|
|
73
|
+
const headerCell = this.column.header;
|
|
74
|
+
if (!headerCell?.container) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (this.columnResizeObserver) {
|
|
78
|
+
this.columnResizeObserver.disconnect();
|
|
79
|
+
delete this.columnResizeObserver;
|
|
80
|
+
}
|
|
81
|
+
this.columnResizeObserver = new ResizeObserver(() => this.reflow());
|
|
82
|
+
this.columnResizeObserver.observe(headerCell.container);
|
|
83
|
+
const container = this.container = makeHTMLElement('div', {
|
|
84
|
+
className: Globals.getClassName('headerCellIcons')
|
|
85
|
+
});
|
|
86
|
+
headerCell.container.appendChild(container);
|
|
87
|
+
const onKeyDown = (e) => {
|
|
88
|
+
this.keyDownHandler(e);
|
|
89
|
+
};
|
|
90
|
+
container.addEventListener('keydown', onKeyDown);
|
|
91
|
+
this.eventListenerDestroyers.push(() => {
|
|
92
|
+
container.removeEventListener('keydown', onKeyDown);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Destroys all buttons of the toolbar.
|
|
97
|
+
*/
|
|
98
|
+
clearButtons() {
|
|
99
|
+
const { buttons } = this;
|
|
100
|
+
while (buttons.length > 0) {
|
|
101
|
+
buttons[buttons.length - 1].destroy();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Reflows the toolbar. It is called when the column is resized.
|
|
106
|
+
*/
|
|
107
|
+
reflow() {
|
|
108
|
+
const width = this.column.getWidth();
|
|
109
|
+
const shouldBeMinimized = width <= HeaderCellToolbar.MINIMIZED_COLUMN_WIDTH;
|
|
110
|
+
if (shouldBeMinimized !== this.isMinimized) {
|
|
111
|
+
this.isMinimized = shouldBeMinimized;
|
|
112
|
+
this.clearButtons();
|
|
113
|
+
if (shouldBeMinimized) {
|
|
114
|
+
this.renderMinimized();
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.renderFull();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (!shouldBeMinimized) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const parent = this.column.header?.htmlElement;
|
|
124
|
+
const container = this.container;
|
|
125
|
+
const parentWidth = parent?.offsetWidth || 0;
|
|
126
|
+
const containerWidth = this.buttons[0]?.wrapper?.offsetWidth || 0;
|
|
127
|
+
const parentPaddings = ((parent && getStyle(parent, 'padding-left', true) || 0) +
|
|
128
|
+
(parent && getStyle(parent, 'padding-right', true) || 0));
|
|
129
|
+
const containerMargins = ((container && getStyle(container, 'margin-left', true) || 0) +
|
|
130
|
+
(container && getStyle(container, 'margin-right', true) || 0));
|
|
131
|
+
const shouldBeCentered = parentWidth - parentPaddings < containerWidth + containerMargins;
|
|
132
|
+
if (this.isMenuCentered !== shouldBeCentered) {
|
|
133
|
+
this.isMenuCentered = shouldBeCentered;
|
|
134
|
+
this.column.header?.container?.classList.toggle(Globals.getClassName('noWidth'), shouldBeCentered);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Destroy the toolbar.
|
|
139
|
+
*/
|
|
140
|
+
destroy() {
|
|
141
|
+
for (const destroyer of this.eventListenerDestroyers) {
|
|
142
|
+
destroyer();
|
|
143
|
+
}
|
|
144
|
+
this.eventListenerDestroyers.length = 0;
|
|
145
|
+
this.columnResizeObserver?.disconnect();
|
|
146
|
+
delete this.columnResizeObserver;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Focuses the first button of the toolbar.
|
|
150
|
+
*/
|
|
151
|
+
focus() {
|
|
152
|
+
this.buttons[0]?.focus();
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Handles the key down event on the toolbar.
|
|
156
|
+
*
|
|
157
|
+
* @param e
|
|
158
|
+
* Keyboard event object.
|
|
159
|
+
*/
|
|
160
|
+
keyDownHandler(e) {
|
|
161
|
+
const len = this.buttons.length;
|
|
162
|
+
const cursor = this.focusCursor;
|
|
163
|
+
switch (e.key) {
|
|
164
|
+
case 'ArrowUp':
|
|
165
|
+
case 'ArrowLeft':
|
|
166
|
+
this.buttons[Math.abs((cursor - 1 + len) % len)].focus();
|
|
167
|
+
break;
|
|
168
|
+
case 'ArrowDown':
|
|
169
|
+
case 'ArrowRight':
|
|
170
|
+
this.buttons[(cursor + 1) % len].focus();
|
|
171
|
+
break;
|
|
172
|
+
case 'Escape':
|
|
173
|
+
this.column.header?.htmlElement.focus();
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* The maximum width of the column to be minimized.
|
|
180
|
+
*/
|
|
181
|
+
HeaderCellToolbar.MINIMIZED_COLUMN_WIDTH = 120;
|
|
182
|
+
/* *
|
|
183
|
+
*
|
|
184
|
+
* Default Export
|
|
185
|
+
*
|
|
186
|
+
* */
|
|
187
|
+
export default HeaderCellToolbar;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type Button from '../../../UI/Button';
|
|
2
|
+
import ColumnFiltering from '../../Actions/ColumnFiltering/ColumnFiltering.js';
|
|
3
|
+
import Popup from '../../../UI/Popup.js';
|
|
4
|
+
/**
|
|
5
|
+
* The column filtering popup.
|
|
6
|
+
*/
|
|
7
|
+
declare class FilterPopup extends Popup {
|
|
8
|
+
/**
|
|
9
|
+
* The column filtering.
|
|
10
|
+
*/
|
|
11
|
+
filtering: ColumnFiltering;
|
|
12
|
+
/**
|
|
13
|
+
* Constructs a column filtering popup.
|
|
14
|
+
*
|
|
15
|
+
* @param filtering
|
|
16
|
+
* The column filtering.
|
|
17
|
+
*
|
|
18
|
+
* @param button
|
|
19
|
+
* The button that opened the popup.
|
|
20
|
+
*
|
|
21
|
+
* @param options
|
|
22
|
+
* Popup options.
|
|
23
|
+
*/
|
|
24
|
+
constructor(filtering: ColumnFiltering, button: Button, options?: Popup.Options);
|
|
25
|
+
show(anchorElement?: HTMLElement): void;
|
|
26
|
+
protected renderContent(contentElement: HTMLElement): void;
|
|
27
|
+
protected onKeyDown(event: KeyboardEvent): void;
|
|
28
|
+
}
|
|
29
|
+
export default FilterPopup;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Filter Popup 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
|
+
*
|
|
14
|
+
* */
|
|
15
|
+
'use strict';
|
|
16
|
+
import Popup from '../../../UI/Popup.js';
|
|
17
|
+
import U from '../../../../../Core/Utilities.js';
|
|
18
|
+
const { merge } = U;
|
|
19
|
+
/* *
|
|
20
|
+
*
|
|
21
|
+
* Class
|
|
22
|
+
*
|
|
23
|
+
* */
|
|
24
|
+
/**
|
|
25
|
+
* The column filtering popup.
|
|
26
|
+
*/
|
|
27
|
+
class FilterPopup extends Popup {
|
|
28
|
+
/* *
|
|
29
|
+
*
|
|
30
|
+
* Constructor
|
|
31
|
+
*
|
|
32
|
+
* */
|
|
33
|
+
/**
|
|
34
|
+
* Constructs a column filtering popup.
|
|
35
|
+
*
|
|
36
|
+
* @param filtering
|
|
37
|
+
* The column filtering.
|
|
38
|
+
*
|
|
39
|
+
* @param button
|
|
40
|
+
* The button that opened the popup.
|
|
41
|
+
*
|
|
42
|
+
* @param options
|
|
43
|
+
* Popup options.
|
|
44
|
+
*/
|
|
45
|
+
constructor(filtering, button, options) {
|
|
46
|
+
const grid = filtering.column.viewport.grid;
|
|
47
|
+
super(grid, button, merge({
|
|
48
|
+
header: {
|
|
49
|
+
category: grid.options?.lang?.setFilter,
|
|
50
|
+
label: filtering.column.header?.value || ''
|
|
51
|
+
}
|
|
52
|
+
}, options));
|
|
53
|
+
this.filtering = filtering;
|
|
54
|
+
}
|
|
55
|
+
/* *
|
|
56
|
+
*
|
|
57
|
+
* Methods
|
|
58
|
+
*
|
|
59
|
+
* */
|
|
60
|
+
show(anchorElement) {
|
|
61
|
+
super.show(anchorElement);
|
|
62
|
+
this.filtering.filterSelect?.focus();
|
|
63
|
+
}
|
|
64
|
+
renderContent(contentElement) {
|
|
65
|
+
this.filtering.renderFilteringContent(contentElement);
|
|
66
|
+
}
|
|
67
|
+
onKeyDown(event) {
|
|
68
|
+
super.onKeyDown(event);
|
|
69
|
+
this.filtering.onKeyDown(event);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/* *
|
|
73
|
+
*
|
|
74
|
+
* Default Export
|
|
75
|
+
*
|
|
76
|
+
* */
|
|
77
|
+
export default FilterPopup;
|