@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,56 @@
|
|
|
1
|
+
import type { ColumnSortingOrder } from '../../Options.js';
|
|
2
|
+
import Column from '../Column.js';
|
|
3
|
+
/**
|
|
4
|
+
* Class that manages sorting for a dedicated column.
|
|
5
|
+
*/
|
|
6
|
+
declare class ColumnSorting {
|
|
7
|
+
/**
|
|
8
|
+
* The sorted column of the table.
|
|
9
|
+
*/
|
|
10
|
+
column: Column;
|
|
11
|
+
/**
|
|
12
|
+
* The head element of the column.
|
|
13
|
+
*/
|
|
14
|
+
headerCellElement: HTMLElement;
|
|
15
|
+
/**
|
|
16
|
+
* Constructs sorting for a dedicated column.
|
|
17
|
+
*
|
|
18
|
+
* @param column
|
|
19
|
+
* The column that be sorted.
|
|
20
|
+
*
|
|
21
|
+
* @param headerCellElement
|
|
22
|
+
* The head element of the column.
|
|
23
|
+
*/
|
|
24
|
+
constructor(column: Column, headerCellElement: HTMLElement);
|
|
25
|
+
/**
|
|
26
|
+
* Adds attributes to the column header.
|
|
27
|
+
*/
|
|
28
|
+
private addHeaderElementAttributes;
|
|
29
|
+
/**
|
|
30
|
+
* Updates the column options with the new sorting state.
|
|
31
|
+
*
|
|
32
|
+
* @param col
|
|
33
|
+
* The column to update.
|
|
34
|
+
*/
|
|
35
|
+
private updateColumnOptions;
|
|
36
|
+
/**
|
|
37
|
+
* Set sorting order for the column. It will modify the presentation data
|
|
38
|
+
* and rerender the rows.
|
|
39
|
+
*
|
|
40
|
+
* @param order
|
|
41
|
+
* The order of sorting. It can be `'asc'`, `'desc'` or `null` if the
|
|
42
|
+
* sorting should be disabled.
|
|
43
|
+
*/
|
|
44
|
+
setOrder(order: ColumnSortingOrder): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Toggle sorting order for the column in the order: asc -> desc -> none
|
|
47
|
+
*/
|
|
48
|
+
toggle: () => void;
|
|
49
|
+
}
|
|
50
|
+
declare namespace ColumnSorting {
|
|
51
|
+
interface Event {
|
|
52
|
+
target: Column;
|
|
53
|
+
order: ColumnSortingOrder;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export default ColumnSorting;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid ColumnSorting 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 Globals from '../../Globals.js';
|
|
18
|
+
import U from '../../../../Core/Utilities.js';
|
|
19
|
+
const { fireEvent } = U;
|
|
20
|
+
/* *
|
|
21
|
+
*
|
|
22
|
+
* Class
|
|
23
|
+
*
|
|
24
|
+
* */
|
|
25
|
+
/**
|
|
26
|
+
* Class that manages sorting for a dedicated column.
|
|
27
|
+
*/
|
|
28
|
+
class ColumnSorting {
|
|
29
|
+
/* *
|
|
30
|
+
*
|
|
31
|
+
* Constructor
|
|
32
|
+
*
|
|
33
|
+
* */
|
|
34
|
+
/**
|
|
35
|
+
* Constructs sorting for a dedicated column.
|
|
36
|
+
*
|
|
37
|
+
* @param column
|
|
38
|
+
* The column that be sorted.
|
|
39
|
+
*
|
|
40
|
+
* @param headerCellElement
|
|
41
|
+
* The head element of the column.
|
|
42
|
+
*/
|
|
43
|
+
constructor(column, headerCellElement) {
|
|
44
|
+
/**
|
|
45
|
+
* Toggle sorting order for the column in the order: asc -> desc -> none
|
|
46
|
+
*/
|
|
47
|
+
this.toggle = () => {
|
|
48
|
+
const viewport = this.column.viewport;
|
|
49
|
+
const querying = viewport.grid.querying;
|
|
50
|
+
const sortingController = querying.sorting;
|
|
51
|
+
const currentOrder = (sortingController.currentSorting?.columnId === this.column.id ?
|
|
52
|
+
sortingController.currentSorting.order : null) || 'none';
|
|
53
|
+
const consequents = {
|
|
54
|
+
none: 'asc',
|
|
55
|
+
asc: 'desc',
|
|
56
|
+
desc: null
|
|
57
|
+
};
|
|
58
|
+
void this.setOrder(consequents[currentOrder]);
|
|
59
|
+
};
|
|
60
|
+
this.column = column;
|
|
61
|
+
this.headerCellElement = headerCellElement;
|
|
62
|
+
this.addHeaderElementAttributes();
|
|
63
|
+
if (column.options.sorting?.sortable) {
|
|
64
|
+
headerCellElement.classList.add(Globals.getClassName('columnSortable'));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/* *
|
|
68
|
+
*
|
|
69
|
+
* Methods
|
|
70
|
+
*
|
|
71
|
+
* */
|
|
72
|
+
/**
|
|
73
|
+
* Adds attributes to the column header.
|
|
74
|
+
*/
|
|
75
|
+
addHeaderElementAttributes() {
|
|
76
|
+
const col = this.column;
|
|
77
|
+
const a11y = col.viewport.grid.accessibility;
|
|
78
|
+
const sortingOptions = col.options.sorting;
|
|
79
|
+
const { currentSorting } = col.viewport.grid.querying.sorting;
|
|
80
|
+
const sortedAscClassName = Globals.getClassName('columnSortedAsc');
|
|
81
|
+
const sortedDescClassName = Globals.getClassName('columnSortedDesc');
|
|
82
|
+
const el = this.headerCellElement;
|
|
83
|
+
if (currentSorting?.columnId !== col.id || !currentSorting?.order) {
|
|
84
|
+
el.classList.remove(sortedAscClassName);
|
|
85
|
+
el.classList.remove(sortedDescClassName);
|
|
86
|
+
if (sortingOptions?.sortable) {
|
|
87
|
+
a11y?.setColumnSortState(el, 'none');
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
switch (currentSorting?.order) {
|
|
92
|
+
case 'asc':
|
|
93
|
+
el.classList.add(sortedAscClassName);
|
|
94
|
+
el.classList.remove(sortedDescClassName);
|
|
95
|
+
a11y?.setColumnSortState(el, 'ascending');
|
|
96
|
+
break;
|
|
97
|
+
case 'desc':
|
|
98
|
+
el.classList.remove(sortedAscClassName);
|
|
99
|
+
el.classList.add(sortedDescClassName);
|
|
100
|
+
a11y?.setColumnSortState(el, 'descending');
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Updates the column options with the new sorting state.
|
|
106
|
+
*
|
|
107
|
+
* @param col
|
|
108
|
+
* The column to update.
|
|
109
|
+
*/
|
|
110
|
+
updateColumnOptions(col) {
|
|
111
|
+
const order = col.viewport.grid.querying.sorting.currentSorting?.order;
|
|
112
|
+
if (col.id === this.column.id && order) {
|
|
113
|
+
col.update({
|
|
114
|
+
sorting: {
|
|
115
|
+
order
|
|
116
|
+
}
|
|
117
|
+
}, false);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
delete col.options.sorting?.order;
|
|
121
|
+
if (col.options.sorting &&
|
|
122
|
+
Object.keys(col.options.sorting).length < 1) {
|
|
123
|
+
delete col.options.sorting;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Set sorting order for the column. It will modify the presentation data
|
|
129
|
+
* and rerender the rows.
|
|
130
|
+
*
|
|
131
|
+
* @param order
|
|
132
|
+
* The order of sorting. It can be `'asc'`, `'desc'` or `null` if the
|
|
133
|
+
* sorting should be disabled.
|
|
134
|
+
*/
|
|
135
|
+
async setOrder(order) {
|
|
136
|
+
const viewport = this.column.viewport;
|
|
137
|
+
// Do not call sorting when cell is currently edited and validated.
|
|
138
|
+
if (viewport.validator?.errorCell) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const querying = viewport.grid.querying;
|
|
142
|
+
const sortingController = querying.sorting;
|
|
143
|
+
const a11y = viewport.grid.accessibility;
|
|
144
|
+
[this.column, viewport.grid].forEach((source) => {
|
|
145
|
+
fireEvent(source, 'beforeSort', {
|
|
146
|
+
target: this.column,
|
|
147
|
+
order
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
sortingController.setSorting(order, this.column.id);
|
|
151
|
+
await viewport.updateRows();
|
|
152
|
+
for (const col of viewport.columns) {
|
|
153
|
+
this.updateColumnOptions(col);
|
|
154
|
+
col.sorting?.addHeaderElementAttributes();
|
|
155
|
+
}
|
|
156
|
+
a11y?.userSortedColumn(order);
|
|
157
|
+
[this.column, viewport.grid].forEach((source) => {
|
|
158
|
+
fireEvent(source, 'afterSort', {
|
|
159
|
+
target: this.column,
|
|
160
|
+
order
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/* *
|
|
166
|
+
*
|
|
167
|
+
* Default Export
|
|
168
|
+
*
|
|
169
|
+
* */
|
|
170
|
+
export default ColumnSorting;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import Table from '../Table.js';
|
|
2
|
+
import Column from '../Column.js';
|
|
3
|
+
import Cell from '../Cell.js';
|
|
4
|
+
/**
|
|
5
|
+
* The class that handles the resizing of columns in the data grid.
|
|
6
|
+
*/
|
|
7
|
+
declare class ColumnsResizer {
|
|
8
|
+
/**
|
|
9
|
+
* The viewport of the data grid.
|
|
10
|
+
*/
|
|
11
|
+
private viewport;
|
|
12
|
+
/**
|
|
13
|
+
* Any column is being resized. Turned off after slight delay.
|
|
14
|
+
*/
|
|
15
|
+
isResizing: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The start X position of the drag.
|
|
18
|
+
*/
|
|
19
|
+
private dragStartX?;
|
|
20
|
+
/**
|
|
21
|
+
* The handles and their mouse down event listeners.
|
|
22
|
+
*/
|
|
23
|
+
private handles;
|
|
24
|
+
constructor(viewport: Table);
|
|
25
|
+
/**
|
|
26
|
+
* Render the drag handle for resizing columns.
|
|
27
|
+
*
|
|
28
|
+
* @param column
|
|
29
|
+
* The reference to rendered column
|
|
30
|
+
*
|
|
31
|
+
* @param cell
|
|
32
|
+
* The reference to rendered cell, where hadles should be added
|
|
33
|
+
*/
|
|
34
|
+
renderColumnDragHandles(column: Column, cell: Cell): void;
|
|
35
|
+
/**
|
|
36
|
+
* Handles the mouse up event on the document.
|
|
37
|
+
*/
|
|
38
|
+
private onDocumentMouseUp;
|
|
39
|
+
/**
|
|
40
|
+
* Adds event listeners to the handle.
|
|
41
|
+
*
|
|
42
|
+
* @param handle
|
|
43
|
+
* The handle element.
|
|
44
|
+
*
|
|
45
|
+
* @param column
|
|
46
|
+
* The column the handle belongs to.
|
|
47
|
+
*/
|
|
48
|
+
addHandleListeners(handle: HTMLElement, column: Column): void;
|
|
49
|
+
/**
|
|
50
|
+
* Removes all added event listeners from the document and handles. This
|
|
51
|
+
* should be called on the destroy of the data grid.
|
|
52
|
+
*/
|
|
53
|
+
removeEventListeners(): void;
|
|
54
|
+
}
|
|
55
|
+
export default ColumnsResizer;
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Columns Resizer 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 GridUtils from '../../GridUtils.js';
|
|
18
|
+
import Globals from '../../Globals.js';
|
|
19
|
+
import Utils from '../../../../Core/Utilities.js';
|
|
20
|
+
const { makeHTMLElement } = GridUtils;
|
|
21
|
+
const { fireEvent } = Utils;
|
|
22
|
+
/* *
|
|
23
|
+
*
|
|
24
|
+
* Class
|
|
25
|
+
*
|
|
26
|
+
* */
|
|
27
|
+
/**
|
|
28
|
+
* The class that handles the resizing of columns in the data grid.
|
|
29
|
+
*/
|
|
30
|
+
class ColumnsResizer {
|
|
31
|
+
/* *
|
|
32
|
+
*
|
|
33
|
+
* Constructor
|
|
34
|
+
*
|
|
35
|
+
* */
|
|
36
|
+
constructor(viewport) {
|
|
37
|
+
/**
|
|
38
|
+
* Any column is being resized. Turned off after slight delay.
|
|
39
|
+
*/
|
|
40
|
+
this.isResizing = false;
|
|
41
|
+
/**
|
|
42
|
+
* The handles and their mouse down event listeners.
|
|
43
|
+
*/
|
|
44
|
+
this.handles = [];
|
|
45
|
+
/**
|
|
46
|
+
* Handles the mouse move event on the document.
|
|
47
|
+
*
|
|
48
|
+
* @param e
|
|
49
|
+
* The mouse event.
|
|
50
|
+
*
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
this.onDocumentMouseMove = (e) => {
|
|
54
|
+
if (!this.draggedResizeHandle || !this.draggedColumn) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const diff = e.pageX - (this.dragStartX || 0);
|
|
58
|
+
const vp = this.viewport;
|
|
59
|
+
vp.columnResizing.resize(this, diff);
|
|
60
|
+
vp.reflow();
|
|
61
|
+
vp.rowsVirtualizer.adjustRowHeights();
|
|
62
|
+
fireEvent(this.draggedColumn, 'afterResize', {
|
|
63
|
+
target: this.draggedColumn,
|
|
64
|
+
originalEvent: e
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Handles the mouse up event on the document.
|
|
69
|
+
*/
|
|
70
|
+
this.onDocumentMouseUp = () => {
|
|
71
|
+
this.draggedColumn?.header?.htmlElement?.classList.remove(Globals.getClassName('resizedColumn'));
|
|
72
|
+
if (!this.draggedResizeHandle?.matches(':hover')) {
|
|
73
|
+
this.draggedResizeHandle?.classList.remove('hovered');
|
|
74
|
+
}
|
|
75
|
+
this.dragStartX = void 0;
|
|
76
|
+
this.draggedColumn = void 0;
|
|
77
|
+
this.draggedResizeHandle = void 0;
|
|
78
|
+
this.columnStartWidth = void 0;
|
|
79
|
+
this.nextColumnStartWidth = void 0;
|
|
80
|
+
requestAnimationFrame(() => {
|
|
81
|
+
this.isResizing = false;
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
this.viewport = viewport;
|
|
85
|
+
document.addEventListener('mousemove', this.onDocumentMouseMove);
|
|
86
|
+
document.addEventListener('mouseup', this.onDocumentMouseUp);
|
|
87
|
+
}
|
|
88
|
+
/* *
|
|
89
|
+
*
|
|
90
|
+
* Functions
|
|
91
|
+
*
|
|
92
|
+
* */
|
|
93
|
+
/**
|
|
94
|
+
* Render the drag handle for resizing columns.
|
|
95
|
+
*
|
|
96
|
+
* @param column
|
|
97
|
+
* The reference to rendered column
|
|
98
|
+
*
|
|
99
|
+
* @param cell
|
|
100
|
+
* The reference to rendered cell, where hadles should be added
|
|
101
|
+
*/
|
|
102
|
+
renderColumnDragHandles(column, cell) {
|
|
103
|
+
const vp = column.viewport;
|
|
104
|
+
if (vp.columnsResizer) {
|
|
105
|
+
const handle = makeHTMLElement('div', {
|
|
106
|
+
className: Globals.getClassName('resizerHandles')
|
|
107
|
+
}, cell.htmlElement);
|
|
108
|
+
handle.setAttribute('aria-hidden', true);
|
|
109
|
+
vp.columnsResizer?.addHandleListeners(handle, column);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Adds event listeners to the handle.
|
|
114
|
+
*
|
|
115
|
+
* @param handle
|
|
116
|
+
* The handle element.
|
|
117
|
+
*
|
|
118
|
+
* @param column
|
|
119
|
+
* The column the handle belongs to.
|
|
120
|
+
*/
|
|
121
|
+
addHandleListeners(handle, column) {
|
|
122
|
+
const onHandleMouseDown = (e) => {
|
|
123
|
+
const vp = column.viewport;
|
|
124
|
+
this.isResizing = true;
|
|
125
|
+
handle.classList.add('hovered');
|
|
126
|
+
vp.reflow();
|
|
127
|
+
this.dragStartX = e.pageX;
|
|
128
|
+
this.draggedColumn = column;
|
|
129
|
+
this.draggedResizeHandle = handle;
|
|
130
|
+
this.columnStartWidth = column.getWidth();
|
|
131
|
+
this.nextColumnStartWidth =
|
|
132
|
+
vp.columns[column.index + 1]?.getWidth();
|
|
133
|
+
column.header?.htmlElement.classList.add(Globals.getClassName('resizedColumn'));
|
|
134
|
+
};
|
|
135
|
+
const onHandleMouseOver = () => {
|
|
136
|
+
if (this.draggedResizeHandle) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
handle.classList.add('hovered');
|
|
140
|
+
};
|
|
141
|
+
const onHandleMouseOut = () => {
|
|
142
|
+
if (this.draggedResizeHandle) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
handle.classList.remove('hovered');
|
|
146
|
+
};
|
|
147
|
+
const handleListeners = [{
|
|
148
|
+
eventName: 'mousedown',
|
|
149
|
+
listener: onHandleMouseDown
|
|
150
|
+
}, {
|
|
151
|
+
eventName: 'mouseover',
|
|
152
|
+
listener: onHandleMouseOver
|
|
153
|
+
}, {
|
|
154
|
+
eventName: 'mouseout',
|
|
155
|
+
listener: onHandleMouseOut
|
|
156
|
+
}];
|
|
157
|
+
for (const { eventName, listener } of handleListeners) {
|
|
158
|
+
handle.addEventListener(eventName, listener);
|
|
159
|
+
}
|
|
160
|
+
this.handles.push([handle, handleListeners]);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Removes all added event listeners from the document and handles. This
|
|
164
|
+
* should be called on the destroy of the data grid.
|
|
165
|
+
*/
|
|
166
|
+
removeEventListeners() {
|
|
167
|
+
document.removeEventListener('mousemove', this.onDocumentMouseMove);
|
|
168
|
+
document.removeEventListener('mouseup', this.onDocumentMouseUp);
|
|
169
|
+
for (let i = 0, iEnd = this.handles.length; i < iEnd; i++) {
|
|
170
|
+
const [handle, listeners] = this.handles[i];
|
|
171
|
+
for (const { eventName, listener } of listeners) {
|
|
172
|
+
handle.removeEventListener(eventName, listener);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/* *
|
|
178
|
+
*
|
|
179
|
+
* Default Export
|
|
180
|
+
*
|
|
181
|
+
* */
|
|
182
|
+
export default ColumnsResizer;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { RowsSettings } from '../../Options';
|
|
2
|
+
import Table from '../Table.js';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a virtualized rows renderer for the data grid.
|
|
5
|
+
*/
|
|
6
|
+
declare class RowsVirtualizer {
|
|
7
|
+
/**
|
|
8
|
+
* The default height of a row.
|
|
9
|
+
*/
|
|
10
|
+
readonly defaultRowHeight: number;
|
|
11
|
+
/**
|
|
12
|
+
* The index of the first visible row.
|
|
13
|
+
*/
|
|
14
|
+
rowCursor: number;
|
|
15
|
+
/**
|
|
16
|
+
* The viewport (table) of the data grid.
|
|
17
|
+
*/
|
|
18
|
+
readonly viewport: Table;
|
|
19
|
+
/**
|
|
20
|
+
* Size of the row buffer - how many rows should be rendered outside of the
|
|
21
|
+
* viewport from the top and the bottom.
|
|
22
|
+
*/
|
|
23
|
+
readonly buffer: number;
|
|
24
|
+
/**
|
|
25
|
+
* Flag indicating if the rows should have strict heights (no custom or
|
|
26
|
+
* dynamic heights allowed).
|
|
27
|
+
*/
|
|
28
|
+
private readonly strictRowHeights;
|
|
29
|
+
/**
|
|
30
|
+
* Flag indicating if the scrolling handler should be prevented to avoid
|
|
31
|
+
* flickering loops when scrolling to the last row.
|
|
32
|
+
*/
|
|
33
|
+
private preventScroll;
|
|
34
|
+
/**
|
|
35
|
+
* Rendering row settings.
|
|
36
|
+
*/
|
|
37
|
+
rowSettings?: RowsSettings;
|
|
38
|
+
/**
|
|
39
|
+
* Constructs an instance of the rows virtualizer.
|
|
40
|
+
*
|
|
41
|
+
* @param viewport
|
|
42
|
+
* The viewport of the data grid to render rows in.
|
|
43
|
+
*/
|
|
44
|
+
constructor(viewport: Table);
|
|
45
|
+
/**
|
|
46
|
+
* Renders the rows in the viewport for the first time.
|
|
47
|
+
*/
|
|
48
|
+
initialRender(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Renders the rows in the viewport. It is called when the rows need to be
|
|
51
|
+
* re-rendered, e.g., after a sort or filter operation.
|
|
52
|
+
*/
|
|
53
|
+
rerender(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Method called on the viewport scroll event, only when the virtualization
|
|
56
|
+
* is enabled.
|
|
57
|
+
*/
|
|
58
|
+
scroll(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Adjusts the visible row heights from the bottom of the viewport.
|
|
61
|
+
*/
|
|
62
|
+
private adjustBottomRowHeights;
|
|
63
|
+
/**
|
|
64
|
+
* Renders rows in the specified range. Removes rows that are out of the
|
|
65
|
+
* range except the last row.
|
|
66
|
+
*
|
|
67
|
+
* @param rowCursor
|
|
68
|
+
* The index of the first visible row.
|
|
69
|
+
*/
|
|
70
|
+
private renderRows;
|
|
71
|
+
/**
|
|
72
|
+
* Adjusts the heights of the rows based on the current scroll position.
|
|
73
|
+
* It handles the possibility of the rows having different heights than
|
|
74
|
+
* the default height.
|
|
75
|
+
*/
|
|
76
|
+
adjustRowHeights(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Reflow the rendered rows content dimensions.
|
|
79
|
+
*/
|
|
80
|
+
reflowRows(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Returns the default height of a row. This method should be called only
|
|
83
|
+
* once on initialization.
|
|
84
|
+
*/
|
|
85
|
+
private getDefaultRowHeight;
|
|
86
|
+
}
|
|
87
|
+
export default RowsVirtualizer;
|