@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,270 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid cell content validator
|
|
4
|
+
*
|
|
5
|
+
* (c) 2009-2024 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 AST from '../../../Core/Renderer/HTML/AST.js';
|
|
17
|
+
import Globals from '../../Core/Globals.js';
|
|
18
|
+
import GridUtils from '../../Core/GridUtils.js';
|
|
19
|
+
import U from '../../../Core/Utilities.js';
|
|
20
|
+
const { makeDiv, setHTMLContent } = GridUtils;
|
|
21
|
+
const { defined } = U;
|
|
22
|
+
/* *
|
|
23
|
+
*
|
|
24
|
+
* Class
|
|
25
|
+
*
|
|
26
|
+
* */
|
|
27
|
+
/**
|
|
28
|
+
* Class for validating cell content.
|
|
29
|
+
*/
|
|
30
|
+
class Validator {
|
|
31
|
+
/* *
|
|
32
|
+
*
|
|
33
|
+
* Constructor
|
|
34
|
+
*
|
|
35
|
+
* */
|
|
36
|
+
constructor(viewport) {
|
|
37
|
+
this.viewport = viewport;
|
|
38
|
+
this.notifContainer = makeDiv(Validator.classNames.notifContainer);
|
|
39
|
+
this.viewport.grid.contentWrapper?.appendChild(this.notifContainer);
|
|
40
|
+
}
|
|
41
|
+
/* *
|
|
42
|
+
*
|
|
43
|
+
* Methods
|
|
44
|
+
*
|
|
45
|
+
* */
|
|
46
|
+
/**
|
|
47
|
+
* Validates the cell content.
|
|
48
|
+
*
|
|
49
|
+
* @param cell
|
|
50
|
+
* Edited cell.
|
|
51
|
+
*
|
|
52
|
+
* @param errors
|
|
53
|
+
* An output array for error messages.
|
|
54
|
+
*
|
|
55
|
+
* @returns
|
|
56
|
+
* Returns true if the value is valid, false otherwise.
|
|
57
|
+
*/
|
|
58
|
+
validate(cell, errors = []) {
|
|
59
|
+
const { options, dataType } = cell.column;
|
|
60
|
+
const validationErrors = cell.row.viewport.grid.options?.lang?.validationErrors;
|
|
61
|
+
let rules = Array.from(options?.cells?.editMode?.validationRules || []);
|
|
62
|
+
// Remove duplicates in validationRules
|
|
63
|
+
const isArrayString = rules.every((rule) => typeof rule === 'string');
|
|
64
|
+
if (rules.length > 0 && isArrayString) {
|
|
65
|
+
rules = [...new Set(rules)];
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const predefined = Validator.predefinedRules[dataType] || [];
|
|
69
|
+
const hasPredefined = rules.some((rule) => typeof rule !== 'string' &&
|
|
70
|
+
typeof rule.validate === 'string' &&
|
|
71
|
+
predefined.includes(rule.validate));
|
|
72
|
+
if (!hasPredefined) {
|
|
73
|
+
rules.push(...predefined);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
for (const rule of rules) {
|
|
77
|
+
let ruleDef;
|
|
78
|
+
let err;
|
|
79
|
+
if (typeof rule === 'string') {
|
|
80
|
+
ruleDef = Validator.rulesRegistry[rule];
|
|
81
|
+
err = validationErrors?.[rule]?.notification;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
ruleDef = rule;
|
|
85
|
+
}
|
|
86
|
+
let validateFn;
|
|
87
|
+
if (typeof ruleDef.validate === 'string') {
|
|
88
|
+
const predefinedRules = (Validator.rulesRegistry[ruleDef.validate]);
|
|
89
|
+
validateFn =
|
|
90
|
+
predefinedRules?.validate;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
validateFn = ruleDef.validate;
|
|
94
|
+
}
|
|
95
|
+
const { editModeContent } = cell.column.viewport.cellEditing || {};
|
|
96
|
+
if (typeof validateFn === 'function' &&
|
|
97
|
+
editModeContent &&
|
|
98
|
+
!validateFn.call(cell, editModeContent)) {
|
|
99
|
+
if (typeof ruleDef.notification === 'function') {
|
|
100
|
+
err = ruleDef.notification.call(cell, editModeContent);
|
|
101
|
+
}
|
|
102
|
+
errors.push((err || ruleDef.notification));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return !errors.length;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Set content of notification and adjust the position.
|
|
109
|
+
*
|
|
110
|
+
* @param cell
|
|
111
|
+
* Cell that is currently edited and is not valid.
|
|
112
|
+
*
|
|
113
|
+
* @param errors
|
|
114
|
+
* An array of error messages.
|
|
115
|
+
*
|
|
116
|
+
*/
|
|
117
|
+
initErrorBox(cell, errors) {
|
|
118
|
+
const { grid } = this.viewport;
|
|
119
|
+
this.errorCell = cell;
|
|
120
|
+
// Set error container position
|
|
121
|
+
this.reflow();
|
|
122
|
+
// Set width and content
|
|
123
|
+
setHTMLContent(this.notifContainer, errors.join('<br />'));
|
|
124
|
+
// A11y announcement
|
|
125
|
+
if (grid.options?.accessibility?.announcements?.cellEditing) {
|
|
126
|
+
this.viewport.grid.accessibility?.announce((grid.options?.lang?.accessibility?.cellEditing
|
|
127
|
+
?.announcements?.notValid || '') + ' ' + errors.join('. '), true);
|
|
128
|
+
}
|
|
129
|
+
this.show();
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Highlight the non-valid cell and display error in the notification box.
|
|
133
|
+
*/
|
|
134
|
+
show() {
|
|
135
|
+
this.errorCell?.htmlElement.classList.add(Validator.classNames.editedCellError);
|
|
136
|
+
this.notifContainer.classList.add(Validator.classNames.notifError, Validator.classNames.notifAnimation);
|
|
137
|
+
// Set for the aria-errormessage attribute.
|
|
138
|
+
this.notifContainer.setAttribute('id', 'notification-error');
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Hide the notification, error and unset highlight on cell.
|
|
142
|
+
*
|
|
143
|
+
* @param hideErrorBox
|
|
144
|
+
* The flag that hides the error on edited cell.
|
|
145
|
+
*
|
|
146
|
+
*/
|
|
147
|
+
hide(hideErrorBox = true) {
|
|
148
|
+
this.errorCell?.htmlElement.classList.remove(Validator.classNames.editedCellError);
|
|
149
|
+
this.notifContainer.classList.remove(Validator.classNames.notifError, Validator.classNames.notifAnimation);
|
|
150
|
+
this.notifContainer.removeAttribute('id');
|
|
151
|
+
if (hideErrorBox) {
|
|
152
|
+
this.errorCell = void 0;
|
|
153
|
+
}
|
|
154
|
+
this.notifContainer.innerHTML = AST.emptyHTML;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Set the position of the error box.
|
|
158
|
+
*/
|
|
159
|
+
reflow() {
|
|
160
|
+
const vp = this.viewport, errorCell = this.errorCell?.htmlElement, tableElement = vp.grid.tableElement, contentWrapper = vp.grid.contentWrapper;
|
|
161
|
+
if (!errorCell || !tableElement || !contentWrapper) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const tableTop = tableElement.offsetTop, tableHeight = tableElement.offsetHeight, middlePoint = tableTop + (tableHeight / 2), errorCellTop = errorCell.offsetTop - tableTop;
|
|
165
|
+
if (errorCellTop > middlePoint) {
|
|
166
|
+
this.notifContainer.style.top = // Avoid header overlap
|
|
167
|
+
tableTop + (vp.theadElement?.offsetHeight || 0) + 'px';
|
|
168
|
+
this.notifContainer.style.bottom = 'auto';
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
this.notifContainer.style.top = 'auto';
|
|
172
|
+
this.notifContainer.style.bottom =
|
|
173
|
+
contentWrapper.offsetHeight - tableTop - tableHeight + 'px';
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Destroy validator.
|
|
178
|
+
*/
|
|
179
|
+
destroy() {
|
|
180
|
+
this.errorCell = void 0;
|
|
181
|
+
this.notifContainer.remove();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/* *
|
|
185
|
+
*
|
|
186
|
+
* Namespace
|
|
187
|
+
*
|
|
188
|
+
* */
|
|
189
|
+
/**
|
|
190
|
+
* Namespace for Validation functionality.
|
|
191
|
+
*/
|
|
192
|
+
(function (Validator) {
|
|
193
|
+
/**
|
|
194
|
+
* The class names used by the validator functionality.
|
|
195
|
+
*/
|
|
196
|
+
Validator.classNames = {
|
|
197
|
+
notifContainer: Globals.classNamePrefix + 'notification',
|
|
198
|
+
notifError: Globals.classNamePrefix + 'notification-error',
|
|
199
|
+
notifAnimation: Globals.classNamePrefix + 'notification-animation',
|
|
200
|
+
editedCellError: Globals.classNamePrefix + 'edited-cell-error'
|
|
201
|
+
};
|
|
202
|
+
/* *
|
|
203
|
+
*
|
|
204
|
+
* Variables
|
|
205
|
+
*
|
|
206
|
+
* */
|
|
207
|
+
/**
|
|
208
|
+
* Definition of default validation rules.
|
|
209
|
+
*/
|
|
210
|
+
Validator.rulesRegistry = {
|
|
211
|
+
notEmpty: {
|
|
212
|
+
validate: ({ value, rawValue }) => (defined(value) && rawValue.length > 0),
|
|
213
|
+
notification: 'Value cannot be empty.'
|
|
214
|
+
},
|
|
215
|
+
number: {
|
|
216
|
+
validate: ({ rawValue }) => !isNaN(+rawValue),
|
|
217
|
+
notification: 'Value has to be a number.'
|
|
218
|
+
},
|
|
219
|
+
datetime: {
|
|
220
|
+
validate: ({ value }) => !defined(value) || !isNaN(+value),
|
|
221
|
+
notification: 'Value has to be parsed to a valid timestamp.'
|
|
222
|
+
},
|
|
223
|
+
'boolean': {
|
|
224
|
+
validate: ({ rawValue }) => (rawValue === 'true' || rawValue === 'false' ||
|
|
225
|
+
Number(rawValue) === 1 || Number(rawValue) === 0),
|
|
226
|
+
notification: 'Value has to be a boolean.'
|
|
227
|
+
},
|
|
228
|
+
ignoreCaseUnique: {
|
|
229
|
+
validate: function ({ rawValue }) {
|
|
230
|
+
const oldValue = String(this.value).toLowerCase();
|
|
231
|
+
const rowValueString = rawValue.toLowerCase();
|
|
232
|
+
if (oldValue === rowValueString) {
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
const columnData = this.column.data;
|
|
236
|
+
const isDuplicate = columnData?.some((value) => String(value).toLowerCase() ===
|
|
237
|
+
rowValueString);
|
|
238
|
+
return !isDuplicate;
|
|
239
|
+
},
|
|
240
|
+
notification: 'Value must be unique within this column (case-insensitive).'
|
|
241
|
+
},
|
|
242
|
+
unique: {
|
|
243
|
+
validate: function ({ rawValue }) {
|
|
244
|
+
const oldValue = this.value;
|
|
245
|
+
if (oldValue === rawValue) {
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
const columnData = this.column.data;
|
|
249
|
+
const isDuplicate = columnData?.some((value) => value === rawValue);
|
|
250
|
+
return !isDuplicate;
|
|
251
|
+
},
|
|
252
|
+
notification: 'Value must be unique within this column (case-sensitive).'
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* Default validation rules for each dataType.
|
|
257
|
+
*/
|
|
258
|
+
Validator.predefinedRules = {
|
|
259
|
+
'boolean': ['boolean'],
|
|
260
|
+
datetime: ['datetime'],
|
|
261
|
+
number: ['number'],
|
|
262
|
+
string: []
|
|
263
|
+
};
|
|
264
|
+
})(Validator || (Validator = {}));
|
|
265
|
+
/* *
|
|
266
|
+
*
|
|
267
|
+
* Default Export
|
|
268
|
+
*
|
|
269
|
+
* */
|
|
270
|
+
export default Validator;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import Validator from './Validator.js';
|
|
2
|
+
declare module '../../Core/Table/Table' {
|
|
3
|
+
export default interface Table {
|
|
4
|
+
/**
|
|
5
|
+
* The validator object.
|
|
6
|
+
*/
|
|
7
|
+
validator: Validator;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
declare module '../../Pro/CellEditing/CellEditingComposition' {
|
|
11
|
+
interface ColumnEditModeOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Validation options for the column.
|
|
14
|
+
*
|
|
15
|
+
* If not set, the validation rules are applied according to the data
|
|
16
|
+
* type.
|
|
17
|
+
*/
|
|
18
|
+
validationRules?: (Validator.RuleKey | Validator.RuleDefinition)[];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
declare module '../../Core/Options' {
|
|
22
|
+
interface LangOptions {
|
|
23
|
+
/**
|
|
24
|
+
* Validation options for the column.
|
|
25
|
+
*
|
|
26
|
+
* If not set, the validation rules are applied according to the data
|
|
27
|
+
* type.
|
|
28
|
+
*/
|
|
29
|
+
validationErrors?: Validator.RulesRegistryType;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export default ValidatorComposition;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Validator Composition.
|
|
4
|
+
*
|
|
5
|
+
* (c) 2020-2024 Highsoft AS
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*
|
|
9
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
|
+
*
|
|
11
|
+
* Authors:
|
|
12
|
+
* - Sebastian Bochan
|
|
13
|
+
*
|
|
14
|
+
* */
|
|
15
|
+
'use strict';
|
|
16
|
+
import Validator from './Validator.js';
|
|
17
|
+
import Globals from '../../Core/Globals.js';
|
|
18
|
+
import U from '../../../Core/Utilities.js';
|
|
19
|
+
const { addEvent, pushUnique } = U;
|
|
20
|
+
/* *
|
|
21
|
+
*
|
|
22
|
+
* Composition
|
|
23
|
+
*
|
|
24
|
+
* */
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
var ValidatorComposition;
|
|
29
|
+
(function (ValidatorComposition) {
|
|
30
|
+
/**
|
|
31
|
+
* Extends the grid classes with cell editing functionality.
|
|
32
|
+
*
|
|
33
|
+
* @param TableClass
|
|
34
|
+
* The class to extend.
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
37
|
+
function compose(TableClass) {
|
|
38
|
+
if (!pushUnique(Globals.composed, 'Validator')) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
addEvent(TableClass, 'afterInit', initValidatorComposition);
|
|
42
|
+
addEvent(TableClass, 'afterDestroy', destroy);
|
|
43
|
+
}
|
|
44
|
+
ValidatorComposition.compose = compose;
|
|
45
|
+
/**
|
|
46
|
+
* Callback function called after table initialization.
|
|
47
|
+
*/
|
|
48
|
+
function initValidatorComposition() {
|
|
49
|
+
this.validator = new Validator(this);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Callback function called after table destroy.
|
|
53
|
+
*/
|
|
54
|
+
function destroy() {
|
|
55
|
+
this.validator.destroy();
|
|
56
|
+
}
|
|
57
|
+
})(ValidatorComposition || (ValidatorComposition = {}));
|
|
58
|
+
/* *
|
|
59
|
+
*
|
|
60
|
+
* Default Export
|
|
61
|
+
*
|
|
62
|
+
* */
|
|
63
|
+
export default ValidatorComposition;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { CreditsOptions } from '../../Core/Options';
|
|
2
|
+
import Credits from '../../Core/Credits.js';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a credits in the data grid.
|
|
5
|
+
*/
|
|
6
|
+
declare class CreditsPro extends Credits {
|
|
7
|
+
/**
|
|
8
|
+
* Set the content of the credits.
|
|
9
|
+
*/
|
|
10
|
+
private setContent;
|
|
11
|
+
/**
|
|
12
|
+
* Append the credits to the container. The position of the credits is
|
|
13
|
+
* determined by the `position` option.
|
|
14
|
+
*/
|
|
15
|
+
private appendToContainer;
|
|
16
|
+
/**
|
|
17
|
+
* Update the credits with new options.
|
|
18
|
+
*
|
|
19
|
+
* @param options
|
|
20
|
+
* The new options for the credits.
|
|
21
|
+
*
|
|
22
|
+
* @param render
|
|
23
|
+
* Whether to render the credits after the update.
|
|
24
|
+
*/
|
|
25
|
+
update(options: Partial<CreditsOptions> | undefined, render?: boolean): void;
|
|
26
|
+
/**
|
|
27
|
+
* Render the credits. If the credits are disabled, they will be removed
|
|
28
|
+
* from the container. If also reflows the viewport dimensions.
|
|
29
|
+
*/
|
|
30
|
+
render(): void;
|
|
31
|
+
destroy(): void;
|
|
32
|
+
}
|
|
33
|
+
declare namespace CreditsPro {
|
|
34
|
+
}
|
|
35
|
+
export default CreditsPro;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Credits 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 '../../Core/Globals.js';
|
|
18
|
+
import Credits from '../../Core/Credits.js';
|
|
19
|
+
import GridUtils from '../../Core/GridUtils.js';
|
|
20
|
+
const { setHTMLContent } = GridUtils;
|
|
21
|
+
/* *
|
|
22
|
+
*
|
|
23
|
+
* Class
|
|
24
|
+
*
|
|
25
|
+
* */
|
|
26
|
+
/**
|
|
27
|
+
* Represents a credits in the data grid.
|
|
28
|
+
*/
|
|
29
|
+
class CreditsPro extends Credits {
|
|
30
|
+
/* *
|
|
31
|
+
*
|
|
32
|
+
* Methods
|
|
33
|
+
*
|
|
34
|
+
* */
|
|
35
|
+
/**
|
|
36
|
+
* Set the content of the credits.
|
|
37
|
+
*/
|
|
38
|
+
setContent() {
|
|
39
|
+
const { text, href } = this.options;
|
|
40
|
+
setHTMLContent(this.textElement, text || '');
|
|
41
|
+
this.textElement.setAttribute('href', href || '');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Append the credits to the container. The position of the credits is
|
|
45
|
+
* determined by the `position` option.
|
|
46
|
+
*/
|
|
47
|
+
appendToContainer() {
|
|
48
|
+
const grid = this.grid;
|
|
49
|
+
const contentWrapper = grid.contentWrapper;
|
|
50
|
+
const { position } = this.options;
|
|
51
|
+
// Apply grid-pro class
|
|
52
|
+
this.containerElement.classList.add(Globals.getClassName('creditsPro'));
|
|
53
|
+
if (position === 'top') {
|
|
54
|
+
// Append the credits to the top of the table.
|
|
55
|
+
contentWrapper?.prepend(this.containerElement);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// Append the credits to the bottom of the table.
|
|
59
|
+
if (grid.descriptionElement) {
|
|
60
|
+
contentWrapper?.insertBefore(this.containerElement, grid.descriptionElement);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
contentWrapper?.appendChild(this.containerElement);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Update the credits with new options.
|
|
68
|
+
*
|
|
69
|
+
* @param options
|
|
70
|
+
* The new options for the credits.
|
|
71
|
+
*
|
|
72
|
+
* @param render
|
|
73
|
+
* Whether to render the credits after the update.
|
|
74
|
+
*/
|
|
75
|
+
update(options, render = true) {
|
|
76
|
+
if (options) {
|
|
77
|
+
this.grid.update({
|
|
78
|
+
credits: options
|
|
79
|
+
}, false);
|
|
80
|
+
this.options = this.grid.options?.credits ?? {};
|
|
81
|
+
}
|
|
82
|
+
if (render) {
|
|
83
|
+
this.render();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Render the credits. If the credits are disabled, they will be removed
|
|
88
|
+
* from the container. If also reflows the viewport dimensions.
|
|
89
|
+
*/
|
|
90
|
+
render() {
|
|
91
|
+
const enabled = this.options.enabled ?? false;
|
|
92
|
+
this.containerElement.remove();
|
|
93
|
+
if (enabled) {
|
|
94
|
+
this.setContent();
|
|
95
|
+
this.appendToContainer();
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.destroy();
|
|
99
|
+
}
|
|
100
|
+
this.grid.viewport?.reflow();
|
|
101
|
+
}
|
|
102
|
+
destroy() {
|
|
103
|
+
super.destroy();
|
|
104
|
+
delete this.grid.credits;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/* *
|
|
108
|
+
*
|
|
109
|
+
* Default Export
|
|
110
|
+
*
|
|
111
|
+
* */
|
|
112
|
+
export default CreditsPro;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type Grid from '../../Core/Grid';
|
|
2
|
+
import CreditsPro from './CreditsPro.js';
|
|
3
|
+
declare namespace CreditsProComposition {
|
|
4
|
+
/**
|
|
5
|
+
* Extends the grid classes with customizable credits.
|
|
6
|
+
*
|
|
7
|
+
* @param GridClass
|
|
8
|
+
* The class to extend.
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
function compose(GridClass: typeof Grid): void;
|
|
12
|
+
}
|
|
13
|
+
declare module '../../Core/Options' {
|
|
14
|
+
interface Options {
|
|
15
|
+
/**
|
|
16
|
+
* Options for the credits label.
|
|
17
|
+
*
|
|
18
|
+
* Try it: {@link https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/grid-pro/credits | Credits options}
|
|
19
|
+
*/
|
|
20
|
+
credits?: CreditsOptions;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
declare module '../../Core/Grid' {
|
|
24
|
+
export default interface Grid {
|
|
25
|
+
credits?: CreditsPro;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export default CreditsProComposition;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Credits 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 CreditsPro from './CreditsPro.js';
|
|
18
|
+
import Globals from '../../Core/Globals.js';
|
|
19
|
+
import U from '../../../Core/Utilities.js';
|
|
20
|
+
import Defaults from '../../Core/Defaults.js';
|
|
21
|
+
const { addEvent, merge, pushUnique } = U;
|
|
22
|
+
/* *
|
|
23
|
+
*
|
|
24
|
+
* Class Namespace
|
|
25
|
+
*
|
|
26
|
+
* */
|
|
27
|
+
var CreditsProComposition;
|
|
28
|
+
(function (CreditsProComposition) {
|
|
29
|
+
/**
|
|
30
|
+
* Extends the grid classes with customizable credits.
|
|
31
|
+
*
|
|
32
|
+
* @param GridClass
|
|
33
|
+
* The class to extend.
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
36
|
+
function compose(GridClass) {
|
|
37
|
+
if (!pushUnique(Globals.composed, 'CreditsPro')) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
merge(true, Defaults.defaultOptions, {
|
|
41
|
+
credits: CreditsPro.defaultOptions
|
|
42
|
+
});
|
|
43
|
+
// TODO: Change to `beforeLoad` after upgrading grid update.
|
|
44
|
+
addEvent(GridClass, 'afterRenderViewport', initCredits);
|
|
45
|
+
}
|
|
46
|
+
CreditsProComposition.compose = compose;
|
|
47
|
+
/**
|
|
48
|
+
* Init configurable credits.
|
|
49
|
+
* @param this
|
|
50
|
+
* Reference to Grid.
|
|
51
|
+
*/
|
|
52
|
+
function initCredits() {
|
|
53
|
+
this.credits = new CreditsPro(this, this.options?.credits);
|
|
54
|
+
}
|
|
55
|
+
})(CreditsProComposition || (CreditsProComposition = {}));
|
|
56
|
+
/* *
|
|
57
|
+
*
|
|
58
|
+
* Default Export
|
|
59
|
+
*
|
|
60
|
+
* */
|
|
61
|
+
export default CreditsProComposition;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type Grid from '../../Core/Grid';
|
|
2
|
+
import type { ExportingOptions } from '../../Core/Options';
|
|
3
|
+
/**
|
|
4
|
+
* Export the given table to CSV format.
|
|
5
|
+
*/
|
|
6
|
+
declare class Exporting {
|
|
7
|
+
/**
|
|
8
|
+
* The Grid instance.
|
|
9
|
+
*/
|
|
10
|
+
readonly grid: Grid;
|
|
11
|
+
/**
|
|
12
|
+
* Default options of the credits.
|
|
13
|
+
*/
|
|
14
|
+
static defaultOptions: ExportingOptions;
|
|
15
|
+
/**
|
|
16
|
+
* Construct the exporting.
|
|
17
|
+
*
|
|
18
|
+
* @param grid
|
|
19
|
+
* The Grid instance.
|
|
20
|
+
*/
|
|
21
|
+
constructor(grid: Grid);
|
|
22
|
+
/**
|
|
23
|
+
* Downloads the CSV string as a file.
|
|
24
|
+
*
|
|
25
|
+
* @param modified
|
|
26
|
+
* Whether to return the modified data table (after filtering/sorting/etc.)
|
|
27
|
+
* or the unmodified, original one. Default value is set to `true`.
|
|
28
|
+
*/
|
|
29
|
+
downloadCSV(modified?: boolean): void;
|
|
30
|
+
/**
|
|
31
|
+
* Downloads the JSON string as a file.
|
|
32
|
+
*
|
|
33
|
+
* @param modified
|
|
34
|
+
* Whether to return the modified data table (after filtering/sorting/etc.)
|
|
35
|
+
* or the unmodified, original one. Default value is set to `true`.
|
|
36
|
+
*/
|
|
37
|
+
downloadJSON(modified?: boolean): void;
|
|
38
|
+
/**
|
|
39
|
+
* Creates a CSV string from the data table.
|
|
40
|
+
*
|
|
41
|
+
* @param modified
|
|
42
|
+
* Whether to return the modified data table (after filtering/sorting/etc.)
|
|
43
|
+
* or the unmodified, original one. Default value is set to `true`.
|
|
44
|
+
*
|
|
45
|
+
* @return
|
|
46
|
+
* CSV string representing the data table.
|
|
47
|
+
*/
|
|
48
|
+
getCSV(modified?: boolean): string;
|
|
49
|
+
/**
|
|
50
|
+
* Returns the current grid data as a JSON string.
|
|
51
|
+
*
|
|
52
|
+
* @param modified
|
|
53
|
+
* Whether to return the modified data table (after filtering/sorting/etc.)
|
|
54
|
+
* or the unmodified, original one. Default value is set to `true`.
|
|
55
|
+
*
|
|
56
|
+
* @return
|
|
57
|
+
* JSON representation of the data
|
|
58
|
+
*/
|
|
59
|
+
getJSON(modified?: boolean): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get the default file name used for exported the grid.
|
|
62
|
+
*
|
|
63
|
+
* @returns
|
|
64
|
+
* A file name without extension.
|
|
65
|
+
*/
|
|
66
|
+
private getFilename;
|
|
67
|
+
}
|
|
68
|
+
export default Exporting;
|