@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,126 @@
|
|
|
1
|
+
import type ContextMenu from './ContextMenu';
|
|
2
|
+
import type Button from './Button';
|
|
3
|
+
import type Popup from './Popup';
|
|
4
|
+
import SvgIcons from './SvgIcons.js';
|
|
5
|
+
import Globals from '../Globals.js';
|
|
6
|
+
declare class ContextMenuButton implements Button {
|
|
7
|
+
/**
|
|
8
|
+
* The wrapper `<li>` element for the button.
|
|
9
|
+
*/
|
|
10
|
+
wrapper?: HTMLLIElement;
|
|
11
|
+
/**
|
|
12
|
+
* The context menu that the button belongs to.
|
|
13
|
+
*/
|
|
14
|
+
contextMenu?: ContextMenu;
|
|
15
|
+
popup?: Popup;
|
|
16
|
+
/**
|
|
17
|
+
* Used to remove the event listeners when the button is destroyed.
|
|
18
|
+
*/
|
|
19
|
+
protected eventListenerDestroyers: Function[];
|
|
20
|
+
/**
|
|
21
|
+
* Whether the button is active.
|
|
22
|
+
*/
|
|
23
|
+
protected isActive: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The options for the context menu button.
|
|
26
|
+
*/
|
|
27
|
+
protected options: ContextMenuButton.Options;
|
|
28
|
+
/**
|
|
29
|
+
* The container for the icon element.
|
|
30
|
+
*/
|
|
31
|
+
private iconWrapper?;
|
|
32
|
+
/**
|
|
33
|
+
* The default icon for the context menu button.
|
|
34
|
+
*/
|
|
35
|
+
private icon?;
|
|
36
|
+
/**
|
|
37
|
+
* The button element.
|
|
38
|
+
*/
|
|
39
|
+
private buttonEl?;
|
|
40
|
+
/**
|
|
41
|
+
* The span element for the label.
|
|
42
|
+
*/
|
|
43
|
+
private spanEl?;
|
|
44
|
+
constructor(options: ContextMenuButton.Options);
|
|
45
|
+
/**
|
|
46
|
+
* Adds the button to the context menu.
|
|
47
|
+
*
|
|
48
|
+
* @param contextMenu
|
|
49
|
+
* The context menu to add the button to.
|
|
50
|
+
*/
|
|
51
|
+
add(contextMenu: ContextMenu): this | undefined;
|
|
52
|
+
focus(): void;
|
|
53
|
+
setLabel(label: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Sets the icon for the button.
|
|
56
|
+
*
|
|
57
|
+
* @param icon
|
|
58
|
+
* The icon to set.
|
|
59
|
+
*/
|
|
60
|
+
setIcon(icon?: SvgIcons.GridIconName): void;
|
|
61
|
+
setActive(active: boolean): void;
|
|
62
|
+
setHighlighted(highlighted: boolean): void;
|
|
63
|
+
/**
|
|
64
|
+
* Destroys the button.
|
|
65
|
+
*/
|
|
66
|
+
destroy(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Initializes the state of the button.
|
|
69
|
+
*/
|
|
70
|
+
protected refreshState(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Handles the click event for the button.
|
|
73
|
+
*
|
|
74
|
+
* @param event
|
|
75
|
+
* The mouse event.
|
|
76
|
+
*/
|
|
77
|
+
protected clickHandler(event: MouseEvent): void;
|
|
78
|
+
/**
|
|
79
|
+
* Adds event listeners to the button.
|
|
80
|
+
*/
|
|
81
|
+
protected addEventListeners(): void;
|
|
82
|
+
/**
|
|
83
|
+
* Removes event listeners from the button.
|
|
84
|
+
*/
|
|
85
|
+
private removeEventListeners;
|
|
86
|
+
}
|
|
87
|
+
declare namespace ContextMenuButton {
|
|
88
|
+
/**
|
|
89
|
+
* Options for the context menu button.
|
|
90
|
+
*/
|
|
91
|
+
interface Options {
|
|
92
|
+
/**
|
|
93
|
+
* The label for the button.
|
|
94
|
+
*/
|
|
95
|
+
label?: string;
|
|
96
|
+
/**
|
|
97
|
+
* The icon for the button.
|
|
98
|
+
*/
|
|
99
|
+
icon?: SvgIcons.GridIconName;
|
|
100
|
+
/**
|
|
101
|
+
* A class name key applied to the `<li>` wrapper of the button.
|
|
102
|
+
*/
|
|
103
|
+
classNameKey?: Globals.ClassNameKey;
|
|
104
|
+
/**
|
|
105
|
+
* The icon for the active state of the button.
|
|
106
|
+
*/
|
|
107
|
+
activeIcon?: SvgIcons.GridIconName;
|
|
108
|
+
/**
|
|
109
|
+
* The icon for the highlighted state of the button.
|
|
110
|
+
*/
|
|
111
|
+
highlightedIcon?: SvgIcons.GridIconName;
|
|
112
|
+
/**
|
|
113
|
+
* The tooltip string for the button.
|
|
114
|
+
*/
|
|
115
|
+
tooltip?: string;
|
|
116
|
+
/**
|
|
117
|
+
* If the chevron icon should be rendered.
|
|
118
|
+
*/
|
|
119
|
+
chevron?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* The click handler for the button.
|
|
122
|
+
*/
|
|
123
|
+
onClick?: (event: MouseEvent, button: ContextMenuButton) => void;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export default ContextMenuButton;
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Context Menu Button 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 SvgIcons from './SvgIcons.js';
|
|
17
|
+
import Globals from '../Globals.js';
|
|
18
|
+
import GridUtils from '../GridUtils.js';
|
|
19
|
+
const { makeHTMLElement } = GridUtils;
|
|
20
|
+
/* *
|
|
21
|
+
*
|
|
22
|
+
* Class
|
|
23
|
+
*
|
|
24
|
+
* */
|
|
25
|
+
class ContextMenuButton {
|
|
26
|
+
/* *
|
|
27
|
+
*
|
|
28
|
+
* Constructor
|
|
29
|
+
*
|
|
30
|
+
* */
|
|
31
|
+
constructor(options) {
|
|
32
|
+
/**
|
|
33
|
+
* Used to remove the event listeners when the button is destroyed.
|
|
34
|
+
*/
|
|
35
|
+
this.eventListenerDestroyers = [];
|
|
36
|
+
/**
|
|
37
|
+
* Whether the button is active.
|
|
38
|
+
*/
|
|
39
|
+
this.isActive = false;
|
|
40
|
+
this.options = options;
|
|
41
|
+
}
|
|
42
|
+
/* *
|
|
43
|
+
*
|
|
44
|
+
* Methods
|
|
45
|
+
*
|
|
46
|
+
* */
|
|
47
|
+
/**
|
|
48
|
+
* Adds the button to the context menu.
|
|
49
|
+
*
|
|
50
|
+
* @param contextMenu
|
|
51
|
+
* The context menu to add the button to.
|
|
52
|
+
*/
|
|
53
|
+
add(contextMenu) {
|
|
54
|
+
const cfg = this.options;
|
|
55
|
+
this.contextMenu = contextMenu;
|
|
56
|
+
contextMenu.buttons.push(this);
|
|
57
|
+
const container = contextMenu.ensureItemsContainer();
|
|
58
|
+
if (!container) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const liEl = this.wrapper = makeHTMLElement('li', cfg.classNameKey && {
|
|
62
|
+
className: Globals.getClassName(cfg.classNameKey)
|
|
63
|
+
}, container);
|
|
64
|
+
const buttonEl = this.buttonEl = makeHTMLElement('button', {
|
|
65
|
+
className: Globals.getClassName('menuItem')
|
|
66
|
+
}, liEl);
|
|
67
|
+
const iconEl = this.iconWrapper = makeHTMLElement('span', {
|
|
68
|
+
className: Globals.getClassName('menuItemIcon')
|
|
69
|
+
}, buttonEl);
|
|
70
|
+
this.spanEl = makeHTMLElement('span', {
|
|
71
|
+
className: Globals.getClassName('menuItemLabel'),
|
|
72
|
+
innerText: cfg.label || ''
|
|
73
|
+
}, buttonEl);
|
|
74
|
+
const chevronEl = makeHTMLElement('span', {
|
|
75
|
+
className: Globals.getClassName('menuItemIcon')
|
|
76
|
+
}, buttonEl);
|
|
77
|
+
iconEl.setAttribute('aria-hidden', 'true');
|
|
78
|
+
chevronEl.setAttribute('aria-hidden', 'true');
|
|
79
|
+
buttonEl.setAttribute('type', 'button');
|
|
80
|
+
buttonEl.setAttribute('tabindex', '-1');
|
|
81
|
+
this.refreshState();
|
|
82
|
+
if (cfg.chevron) {
|
|
83
|
+
chevronEl.appendChild(SvgIcons.createGridIcon('chevronRight'));
|
|
84
|
+
}
|
|
85
|
+
if (cfg.icon) {
|
|
86
|
+
this.setIcon(cfg.icon);
|
|
87
|
+
}
|
|
88
|
+
this.addEventListeners();
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
focus() {
|
|
92
|
+
this.buttonEl?.focus();
|
|
93
|
+
const cm = this.contextMenu;
|
|
94
|
+
if (cm) {
|
|
95
|
+
cm.focusCursor = cm.buttons.indexOf(this);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
setLabel(label) {
|
|
99
|
+
if (this.spanEl) {
|
|
100
|
+
this.spanEl.innerText = label;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Sets the icon for the button.
|
|
105
|
+
*
|
|
106
|
+
* @param icon
|
|
107
|
+
* The icon to set.
|
|
108
|
+
*/
|
|
109
|
+
setIcon(icon) {
|
|
110
|
+
this.icon?.remove();
|
|
111
|
+
if (!icon) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
this.icon = SvgIcons.createGridIcon(icon);
|
|
115
|
+
this.iconWrapper?.appendChild(this.icon);
|
|
116
|
+
}
|
|
117
|
+
setActive(active) {
|
|
118
|
+
this.isActive = active;
|
|
119
|
+
this.buttonEl?.classList.toggle('active', active);
|
|
120
|
+
const { activeIcon, icon } = this.options;
|
|
121
|
+
if (activeIcon) {
|
|
122
|
+
this.setIcon(active ? activeIcon : icon);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
setHighlighted(highlighted) {
|
|
126
|
+
this.buttonEl?.classList.toggle('highlighted', highlighted);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Destroys the button.
|
|
130
|
+
*/
|
|
131
|
+
destroy() {
|
|
132
|
+
this.removeEventListeners();
|
|
133
|
+
this.wrapper?.remove();
|
|
134
|
+
// Unregister from the context menu
|
|
135
|
+
const cm = this.contextMenu;
|
|
136
|
+
if (cm) {
|
|
137
|
+
cm.buttons.splice(cm.buttons.indexOf(this), 1);
|
|
138
|
+
delete this.contextMenu;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Initializes the state of the button.
|
|
143
|
+
*/
|
|
144
|
+
refreshState() {
|
|
145
|
+
// Do nothing, to be overridden by subclasses
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Handles the click event for the button.
|
|
149
|
+
*
|
|
150
|
+
* @param event
|
|
151
|
+
* The mouse event.
|
|
152
|
+
*/
|
|
153
|
+
clickHandler(event) {
|
|
154
|
+
this.options.onClick?.(event, this);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Adds event listeners to the button.
|
|
158
|
+
*/
|
|
159
|
+
addEventListeners() {
|
|
160
|
+
const clickListener = (event) => {
|
|
161
|
+
this.clickHandler(event);
|
|
162
|
+
};
|
|
163
|
+
this.buttonEl?.addEventListener('click', clickListener);
|
|
164
|
+
this.eventListenerDestroyers.push(() => {
|
|
165
|
+
this.buttonEl?.removeEventListener('click', clickListener);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Removes event listeners from the button.
|
|
170
|
+
*/
|
|
171
|
+
removeEventListeners() {
|
|
172
|
+
for (const destroyer of this.eventListenerDestroyers) {
|
|
173
|
+
destroyer();
|
|
174
|
+
}
|
|
175
|
+
this.eventListenerDestroyers.length = 0;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/* *
|
|
179
|
+
*
|
|
180
|
+
* Default Export
|
|
181
|
+
*
|
|
182
|
+
* */
|
|
183
|
+
export default ContextMenuButton;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import type Grid from '../Grid';
|
|
2
|
+
import type Button from './Button';
|
|
3
|
+
/**
|
|
4
|
+
* Abstract base class for for Grid popups.
|
|
5
|
+
*/
|
|
6
|
+
declare abstract class Popup {
|
|
7
|
+
/**
|
|
8
|
+
* The popup container element.
|
|
9
|
+
*/
|
|
10
|
+
container?: HTMLElement;
|
|
11
|
+
/**
|
|
12
|
+
* The popup content element.
|
|
13
|
+
*/
|
|
14
|
+
content?: HTMLElement;
|
|
15
|
+
/**
|
|
16
|
+
* Parent element of the popup.
|
|
17
|
+
*/
|
|
18
|
+
grid: Grid;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the popup is currently visible.
|
|
21
|
+
*/
|
|
22
|
+
isVisible: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The anchor element that the popup is positioned relative to.
|
|
25
|
+
*/
|
|
26
|
+
anchorElement?: HTMLElement;
|
|
27
|
+
/**
|
|
28
|
+
* The button that opened the popup, if any.
|
|
29
|
+
*/
|
|
30
|
+
protected button?: Button;
|
|
31
|
+
/**
|
|
32
|
+
* Event listener destroyers.
|
|
33
|
+
*/
|
|
34
|
+
protected eventListenerDestroyers: Function[];
|
|
35
|
+
/**
|
|
36
|
+
* Options for the popup.
|
|
37
|
+
*/
|
|
38
|
+
private options;
|
|
39
|
+
/**
|
|
40
|
+
* Constructs a popup for the given grid.
|
|
41
|
+
*
|
|
42
|
+
* @param grid
|
|
43
|
+
* The grid that will own this popup.
|
|
44
|
+
*
|
|
45
|
+
* @param button
|
|
46
|
+
* The button that opened the popup, if any.
|
|
47
|
+
*
|
|
48
|
+
* @param options
|
|
49
|
+
* Popup options.
|
|
50
|
+
*/
|
|
51
|
+
constructor(grid: Grid, button?: Button, options?: Popup.Options);
|
|
52
|
+
/**
|
|
53
|
+
* Renders the popup content.
|
|
54
|
+
*
|
|
55
|
+
* @param contentElement
|
|
56
|
+
* The content element.
|
|
57
|
+
*/
|
|
58
|
+
protected abstract renderContent(contentElement: HTMLElement): void;
|
|
59
|
+
/**
|
|
60
|
+
* Shows the popup positioned relative to the anchor element.
|
|
61
|
+
*
|
|
62
|
+
* @param anchorElement
|
|
63
|
+
* The element to position the popup relative to.
|
|
64
|
+
*/
|
|
65
|
+
show(anchorElement?: HTMLElement): void;
|
|
66
|
+
/**
|
|
67
|
+
* Hides the popup. In reality, it just destroys the popup container and
|
|
68
|
+
* removes the event listeners.
|
|
69
|
+
*/
|
|
70
|
+
hide(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Toggles the popup visibility.
|
|
73
|
+
*
|
|
74
|
+
* @param anchorElement
|
|
75
|
+
* The element to position the popup relative to. If not provided, the popup
|
|
76
|
+
* will be positioned relative to the parent element.
|
|
77
|
+
*/
|
|
78
|
+
toggle(anchorElement?: HTMLElement): void;
|
|
79
|
+
/**
|
|
80
|
+
* Reflows the popup.
|
|
81
|
+
*/
|
|
82
|
+
reflow(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Positions the popup relative to the anchor element.
|
|
85
|
+
*
|
|
86
|
+
* @param anchorElement
|
|
87
|
+
* The element to position relative to. If not provided, the popup will be
|
|
88
|
+
* positioned relative to the parent element.
|
|
89
|
+
*/
|
|
90
|
+
private position;
|
|
91
|
+
/**
|
|
92
|
+
* Adds a header to the context menu.
|
|
93
|
+
*
|
|
94
|
+
* @param label
|
|
95
|
+
* The label shown in the header of the context menu.
|
|
96
|
+
*
|
|
97
|
+
* @param category
|
|
98
|
+
* The category shown in the header of the context menu, before the label.
|
|
99
|
+
*
|
|
100
|
+
* @returns
|
|
101
|
+
* The header element.
|
|
102
|
+
*/
|
|
103
|
+
protected addHeader(label: string, category?: string): HTMLElement | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Handles key down events.
|
|
106
|
+
*
|
|
107
|
+
* @param e
|
|
108
|
+
* Keyboard event
|
|
109
|
+
*/
|
|
110
|
+
protected onKeyDown(e: KeyboardEvent): void;
|
|
111
|
+
/**
|
|
112
|
+
* Handles click outside events.
|
|
113
|
+
*
|
|
114
|
+
* @param e
|
|
115
|
+
* Mouse event
|
|
116
|
+
*/
|
|
117
|
+
protected onClickOutside(e: MouseEvent): void;
|
|
118
|
+
/**
|
|
119
|
+
* Adds event listeners for click outside and escape key.
|
|
120
|
+
*/
|
|
121
|
+
protected addEventListeners(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Removes event listeners.
|
|
124
|
+
*/
|
|
125
|
+
private removeEventListeners;
|
|
126
|
+
}
|
|
127
|
+
declare namespace Popup {
|
|
128
|
+
interface Options {
|
|
129
|
+
/**
|
|
130
|
+
* Whether to position the popup next to the anchor element (`true`), or
|
|
131
|
+
* directly below it (`false`). Defaults to `false`.
|
|
132
|
+
*/
|
|
133
|
+
nextToAnchor?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* The header of the popup.
|
|
136
|
+
*/
|
|
137
|
+
header?: {
|
|
138
|
+
/**
|
|
139
|
+
* The prefix of the header label, placed before the label.
|
|
140
|
+
*/
|
|
141
|
+
category?: string;
|
|
142
|
+
/**
|
|
143
|
+
* The label of the header.
|
|
144
|
+
*/
|
|
145
|
+
label: string;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
export default Popup;
|