@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,58 @@
|
|
|
1
|
+
import type DataModifier from '../../../Data/Modifiers/DataModifier.js';
|
|
2
|
+
import type Grid from '../Grid.js';
|
|
3
|
+
import SortingController from './SortingController.js';
|
|
4
|
+
import FilteringController from './FilteringController.js';
|
|
5
|
+
import PaginationController from './PaginationController.js';
|
|
6
|
+
/**
|
|
7
|
+
* Class that manage data modification of the visible data in the data grid.
|
|
8
|
+
* It manages the modifiers that are applied to the data table.
|
|
9
|
+
*/
|
|
10
|
+
declare class QueryingController {
|
|
11
|
+
/**
|
|
12
|
+
* The data grid instance.
|
|
13
|
+
*/
|
|
14
|
+
grid: Grid;
|
|
15
|
+
/**
|
|
16
|
+
* Sorting controller instance.
|
|
17
|
+
*/
|
|
18
|
+
sorting: SortingController;
|
|
19
|
+
/**
|
|
20
|
+
* Filtering controller instance.
|
|
21
|
+
*/
|
|
22
|
+
filtering: FilteringController;
|
|
23
|
+
/**
|
|
24
|
+
* Pagination controller instance
|
|
25
|
+
*/
|
|
26
|
+
pagination: PaginationController;
|
|
27
|
+
/**
|
|
28
|
+
* This flag should be set to `true` if the modifiers should reapply to the
|
|
29
|
+
* data table due to some data change or other important reason.
|
|
30
|
+
*/
|
|
31
|
+
shouldBeUpdated: boolean;
|
|
32
|
+
constructor(grid: Grid);
|
|
33
|
+
/**
|
|
34
|
+
* Proceeds with the data modification if needed.
|
|
35
|
+
*
|
|
36
|
+
* @param force
|
|
37
|
+
* If the data should be modified even if the significant options are not
|
|
38
|
+
* changed.
|
|
39
|
+
*/
|
|
40
|
+
proceed(force?: boolean): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Load all options needed to generate the modifiers.
|
|
43
|
+
*/
|
|
44
|
+
loadOptions(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Creates a list of modifiers that should be applied to the data table.
|
|
47
|
+
*/
|
|
48
|
+
willNotModify(): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Returns a list of modifiers that should be applied to the data table.
|
|
51
|
+
*/
|
|
52
|
+
getGroupedModifiers(): DataModifier[];
|
|
53
|
+
/**
|
|
54
|
+
* Apply all modifiers to the data table.
|
|
55
|
+
*/
|
|
56
|
+
private modifyData;
|
|
57
|
+
}
|
|
58
|
+
export default QueryingController;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Querying Controller 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 ChainModifier from '../../../Data/Modifiers/ChainModifier.js';
|
|
17
|
+
import SortingController from './SortingController.js';
|
|
18
|
+
import FilteringController from './FilteringController.js';
|
|
19
|
+
import PaginationController from './PaginationController.js';
|
|
20
|
+
/* *
|
|
21
|
+
*
|
|
22
|
+
* Class
|
|
23
|
+
*
|
|
24
|
+
* */
|
|
25
|
+
/**
|
|
26
|
+
* Class that manage data modification of the visible data in the data grid.
|
|
27
|
+
* It manages the modifiers that are applied to the data table.
|
|
28
|
+
*/
|
|
29
|
+
class QueryingController {
|
|
30
|
+
/* *
|
|
31
|
+
*
|
|
32
|
+
* Constructor
|
|
33
|
+
*
|
|
34
|
+
* */
|
|
35
|
+
constructor(grid) {
|
|
36
|
+
/**
|
|
37
|
+
* This flag should be set to `true` if the modifiers should reapply to the
|
|
38
|
+
* data table due to some data change or other important reason.
|
|
39
|
+
*/
|
|
40
|
+
this.shouldBeUpdated = false;
|
|
41
|
+
this.grid = grid;
|
|
42
|
+
this.filtering = new FilteringController(this);
|
|
43
|
+
this.sorting = new SortingController(this);
|
|
44
|
+
this.pagination = new PaginationController(this);
|
|
45
|
+
}
|
|
46
|
+
/* *
|
|
47
|
+
*
|
|
48
|
+
* Functions
|
|
49
|
+
*
|
|
50
|
+
* */
|
|
51
|
+
/**
|
|
52
|
+
* Proceeds with the data modification if needed.
|
|
53
|
+
*
|
|
54
|
+
* @param force
|
|
55
|
+
* If the data should be modified even if the significant options are not
|
|
56
|
+
* changed.
|
|
57
|
+
*/
|
|
58
|
+
async proceed(force = false) {
|
|
59
|
+
if (force || this.shouldBeUpdated) {
|
|
60
|
+
await this.modifyData();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Load all options needed to generate the modifiers.
|
|
65
|
+
*/
|
|
66
|
+
loadOptions() {
|
|
67
|
+
this.filtering.loadOptions();
|
|
68
|
+
this.sorting.loadOptions();
|
|
69
|
+
this.pagination.loadOptions();
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Creates a list of modifiers that should be applied to the data table.
|
|
73
|
+
*/
|
|
74
|
+
willNotModify() {
|
|
75
|
+
return (!this.sorting.modifier &&
|
|
76
|
+
!this.filtering.modifier);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Returns a list of modifiers that should be applied to the data table.
|
|
80
|
+
*/
|
|
81
|
+
getGroupedModifiers() {
|
|
82
|
+
const modifiers = [];
|
|
83
|
+
if (this.sorting.modifier) {
|
|
84
|
+
modifiers.push(this.sorting.modifier);
|
|
85
|
+
}
|
|
86
|
+
if (this.filtering.modifier) {
|
|
87
|
+
modifiers.push(this.filtering.modifier);
|
|
88
|
+
}
|
|
89
|
+
return modifiers;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Apply all modifiers to the data table.
|
|
93
|
+
*/
|
|
94
|
+
async modifyData() {
|
|
95
|
+
const originalDataTable = this.grid.dataTable;
|
|
96
|
+
if (!originalDataTable) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const groupedModifiers = this.getGroupedModifiers();
|
|
100
|
+
let interTable;
|
|
101
|
+
// Grouped modifiers
|
|
102
|
+
if (groupedModifiers.length > 0) {
|
|
103
|
+
const chainModifier = new ChainModifier({}, ...groupedModifiers);
|
|
104
|
+
const dataTableCopy = originalDataTable.clone();
|
|
105
|
+
await chainModifier.modify(dataTableCopy.getModified());
|
|
106
|
+
interTable = dataTableCopy.getModified();
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
interTable = originalDataTable.getModified();
|
|
110
|
+
}
|
|
111
|
+
// Pagination modifier
|
|
112
|
+
const paginationModifier = this.pagination.createModifier(interTable.rowCount);
|
|
113
|
+
if (paginationModifier) {
|
|
114
|
+
interTable = interTable.clone();
|
|
115
|
+
await paginationModifier.modify(interTable);
|
|
116
|
+
interTable = interTable.getModified();
|
|
117
|
+
}
|
|
118
|
+
this.grid.presentationTable = interTable;
|
|
119
|
+
this.shouldBeUpdated = false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/* *
|
|
123
|
+
*
|
|
124
|
+
* Default Export
|
|
125
|
+
*
|
|
126
|
+
* */
|
|
127
|
+
export default QueryingController;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ColumnSortingOrder } from '../Options.js';
|
|
2
|
+
import QueryingController from './QueryingController.js';
|
|
3
|
+
import SortModifier from '../../../Data/Modifiers/SortModifier.js';
|
|
4
|
+
/**
|
|
5
|
+
* Class that manages one of the data grid querying types - sorting.
|
|
6
|
+
*/
|
|
7
|
+
declare class SortingController {
|
|
8
|
+
/**
|
|
9
|
+
* The data grid instance.
|
|
10
|
+
*/
|
|
11
|
+
private querying;
|
|
12
|
+
/**
|
|
13
|
+
* The current sorting options: column ID and sorting order.
|
|
14
|
+
*/
|
|
15
|
+
currentSorting?: SortingController.SortingState;
|
|
16
|
+
/**
|
|
17
|
+
* The initial sorting options: column ID and sorting order.
|
|
18
|
+
* This is the sorting that is applied when the data grid is created or
|
|
19
|
+
* after the whole viewport is reloaded with changed sorting options.
|
|
20
|
+
*/
|
|
21
|
+
private initialSorting?;
|
|
22
|
+
/**
|
|
23
|
+
* The modifier that is applied to the data table.
|
|
24
|
+
*/
|
|
25
|
+
modifier?: SortModifier;
|
|
26
|
+
/**
|
|
27
|
+
* Constructs the SortingController instance.
|
|
28
|
+
*
|
|
29
|
+
* @param querying
|
|
30
|
+
* The querying controller instance.
|
|
31
|
+
*/
|
|
32
|
+
constructor(querying: QueryingController);
|
|
33
|
+
/**
|
|
34
|
+
* Sets the sorting state. If the new sorting state is different than the
|
|
35
|
+
* current one, the `shouldBeUpdated` flag is set to `true`. If the
|
|
36
|
+
* same, the flag is set to `false`.
|
|
37
|
+
*
|
|
38
|
+
* @param order
|
|
39
|
+
* The sorting order.
|
|
40
|
+
*
|
|
41
|
+
* @param columnId
|
|
42
|
+
* The column ID to sort by.
|
|
43
|
+
*/
|
|
44
|
+
setSorting(order: ColumnSortingOrder, columnId?: string): void;
|
|
45
|
+
/**
|
|
46
|
+
* Returns the sorting options from the data grid options.
|
|
47
|
+
*/
|
|
48
|
+
private getSortingOptions;
|
|
49
|
+
/**
|
|
50
|
+
* Loads sorting options from the data grid options.
|
|
51
|
+
*/
|
|
52
|
+
loadOptions(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Returns the sorting modifier based on the loaded sorting options.
|
|
55
|
+
*/
|
|
56
|
+
private createModifier;
|
|
57
|
+
}
|
|
58
|
+
declare namespace SortingController {
|
|
59
|
+
/**
|
|
60
|
+
* The sorting state interface.
|
|
61
|
+
*/
|
|
62
|
+
interface SortingState {
|
|
63
|
+
columnId?: string;
|
|
64
|
+
order: ColumnSortingOrder;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export default SortingController;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Sorting Controller 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 SortModifier from '../../../Data/Modifiers/SortModifier.js';
|
|
17
|
+
/* *
|
|
18
|
+
*
|
|
19
|
+
* Class
|
|
20
|
+
*
|
|
21
|
+
* */
|
|
22
|
+
/**
|
|
23
|
+
* Class that manages one of the data grid querying types - sorting.
|
|
24
|
+
*/
|
|
25
|
+
class SortingController {
|
|
26
|
+
/* *
|
|
27
|
+
*
|
|
28
|
+
* Constructor
|
|
29
|
+
*
|
|
30
|
+
* */
|
|
31
|
+
/**
|
|
32
|
+
* Constructs the SortingController instance.
|
|
33
|
+
*
|
|
34
|
+
* @param querying
|
|
35
|
+
* The querying controller instance.
|
|
36
|
+
*/
|
|
37
|
+
constructor(querying) {
|
|
38
|
+
this.querying = querying;
|
|
39
|
+
}
|
|
40
|
+
/* *
|
|
41
|
+
*
|
|
42
|
+
* Functions
|
|
43
|
+
*
|
|
44
|
+
* */
|
|
45
|
+
/**
|
|
46
|
+
* Sets the sorting state. If the new sorting state is different than the
|
|
47
|
+
* current one, the `shouldBeUpdated` flag is set to `true`. If the
|
|
48
|
+
* same, the flag is set to `false`.
|
|
49
|
+
*
|
|
50
|
+
* @param order
|
|
51
|
+
* The sorting order.
|
|
52
|
+
*
|
|
53
|
+
* @param columnId
|
|
54
|
+
* The column ID to sort by.
|
|
55
|
+
*/
|
|
56
|
+
setSorting(order, columnId) {
|
|
57
|
+
if (this.currentSorting?.columnId !== columnId ||
|
|
58
|
+
this.currentSorting?.order !== order) {
|
|
59
|
+
this.querying.shouldBeUpdated = true;
|
|
60
|
+
this.currentSorting = {
|
|
61
|
+
columnId,
|
|
62
|
+
order
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
this.modifier = this.createModifier();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Returns the sorting options from the data grid options.
|
|
69
|
+
*/
|
|
70
|
+
getSortingOptions() {
|
|
71
|
+
const grid = this.querying.grid, { columnOptionsMap } = grid;
|
|
72
|
+
if (!columnOptionsMap) {
|
|
73
|
+
return { order: null };
|
|
74
|
+
}
|
|
75
|
+
const columnIDs = Object.keys(columnOptionsMap);
|
|
76
|
+
let foundOrder = null;
|
|
77
|
+
let foundColumnId;
|
|
78
|
+
for (let i = columnIDs.length - 1; i > -1; --i) {
|
|
79
|
+
const columnId = columnIDs[i];
|
|
80
|
+
const columnOptions = columnOptionsMap[columnId]?.options || {};
|
|
81
|
+
const order = columnOptions.sorting?.order;
|
|
82
|
+
if (order) {
|
|
83
|
+
if (foundColumnId) {
|
|
84
|
+
// eslint-disable-next-line no-console
|
|
85
|
+
console.warn('Grid: Only one column can be sorted at a time. ' +
|
|
86
|
+
'Data will be sorted only by the last found column ' +
|
|
87
|
+
`with the sorting order defined in the options: "${foundColumnId}".`);
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
foundOrder = order;
|
|
91
|
+
foundColumnId = columnId;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
columnId: foundColumnId,
|
|
96
|
+
order: foundOrder
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Loads sorting options from the data grid options.
|
|
101
|
+
*/
|
|
102
|
+
loadOptions() {
|
|
103
|
+
const stateFromOptions = this.getSortingOptions();
|
|
104
|
+
if (stateFromOptions.columnId !== this.initialSorting?.columnId ||
|
|
105
|
+
stateFromOptions.order !== this.initialSorting?.order) {
|
|
106
|
+
this.initialSorting = stateFromOptions;
|
|
107
|
+
this.setSorting(stateFromOptions.order, stateFromOptions.columnId);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Returns the sorting modifier based on the loaded sorting options.
|
|
112
|
+
*/
|
|
113
|
+
createModifier() {
|
|
114
|
+
if (!this.currentSorting) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const { columnId, order } = this.currentSorting;
|
|
118
|
+
if (!order || !columnId) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const grid = this.querying.grid;
|
|
122
|
+
return new SortModifier({
|
|
123
|
+
orderByColumn: columnId,
|
|
124
|
+
direction: order,
|
|
125
|
+
compare: grid.columnOptionsMap?.[columnId]?.options
|
|
126
|
+
?.sorting?.compare ||
|
|
127
|
+
grid.options?.columnDefaults?.sorting?.compare
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/* *
|
|
132
|
+
*
|
|
133
|
+
* Default Export
|
|
134
|
+
*
|
|
135
|
+
* */
|
|
136
|
+
export default SortingController;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type Column from '../../Column';
|
|
2
|
+
import type { Condition } from './FilteringTypes';
|
|
3
|
+
import type FilterCell from './FilterCell.js';
|
|
4
|
+
/**
|
|
5
|
+
* Class that manages filtering for a dedicated column.
|
|
6
|
+
*/
|
|
7
|
+
declare class ColumnFiltering {
|
|
8
|
+
/**
|
|
9
|
+
* Parses a camel case string to a readable string and capitalizes the first
|
|
10
|
+
* letter.
|
|
11
|
+
*
|
|
12
|
+
* @param value
|
|
13
|
+
* The camel case string to parse.
|
|
14
|
+
*
|
|
15
|
+
* @returns
|
|
16
|
+
* The readable string with the first letter capitalized.
|
|
17
|
+
*/
|
|
18
|
+
static parseCamelCaseToReadable(value: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* The filtered column of the table.
|
|
21
|
+
*/
|
|
22
|
+
column: Column;
|
|
23
|
+
/**
|
|
24
|
+
* The filter cell of the column if the filtering is inline.
|
|
25
|
+
*/
|
|
26
|
+
inlineCell?: FilterCell;
|
|
27
|
+
/**
|
|
28
|
+
* The input element for the filtering. Can be of type `text`, `number`
|
|
29
|
+
* or `date`.
|
|
30
|
+
*/
|
|
31
|
+
filterInput?: HTMLInputElement;
|
|
32
|
+
/**
|
|
33
|
+
* The select element setting the condition for the filtering.
|
|
34
|
+
*/
|
|
35
|
+
filterSelect?: HTMLSelectElement;
|
|
36
|
+
/**
|
|
37
|
+
* The button to clear the filtering.
|
|
38
|
+
*/
|
|
39
|
+
clearButton?: HTMLButtonElement;
|
|
40
|
+
/**
|
|
41
|
+
* Constructs filtering controller for a dedicated column.
|
|
42
|
+
*
|
|
43
|
+
* @param column
|
|
44
|
+
* The filtered column.
|
|
45
|
+
*/
|
|
46
|
+
constructor(column: Column);
|
|
47
|
+
/**
|
|
48
|
+
* Sets the value and condition for the filtering.
|
|
49
|
+
*
|
|
50
|
+
* @param value
|
|
51
|
+
* The value to set.
|
|
52
|
+
*
|
|
53
|
+
* @param condition
|
|
54
|
+
* The condition to set.
|
|
55
|
+
*/
|
|
56
|
+
set(value?: string, condition?: Condition): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Render the filtering content in the container.
|
|
59
|
+
*
|
|
60
|
+
* @param container
|
|
61
|
+
* The container element.
|
|
62
|
+
*/
|
|
63
|
+
renderFilteringContent(container: HTMLElement): void;
|
|
64
|
+
/**
|
|
65
|
+
* Handles the keydown event for the filtering content. Used externally,
|
|
66
|
+
* not in the class itself.
|
|
67
|
+
*
|
|
68
|
+
* @param e
|
|
69
|
+
* The keyboard event.
|
|
70
|
+
*/
|
|
71
|
+
onKeyDown: (e: KeyboardEvent) => void;
|
|
72
|
+
/**
|
|
73
|
+
* Takes the filtering value and condition from the inputs and applies it
|
|
74
|
+
* to the column.
|
|
75
|
+
*/
|
|
76
|
+
private applyFilterFromForm;
|
|
77
|
+
/**
|
|
78
|
+
* Applies the filtering to the column.
|
|
79
|
+
*
|
|
80
|
+
* @param condition
|
|
81
|
+
* The filtering condition.
|
|
82
|
+
*/
|
|
83
|
+
private applyFilter;
|
|
84
|
+
/**
|
|
85
|
+
* Render the filtering input element, based on the column type.
|
|
86
|
+
*
|
|
87
|
+
* @param inputWrapper
|
|
88
|
+
* Reference to the input wrapper.
|
|
89
|
+
*
|
|
90
|
+
* @param columnType
|
|
91
|
+
* Reference to the column type.
|
|
92
|
+
*/
|
|
93
|
+
private renderFilteringInput;
|
|
94
|
+
/**
|
|
95
|
+
* Render the condition select element.
|
|
96
|
+
*
|
|
97
|
+
* @param inputWrapper
|
|
98
|
+
* Reference to the input wrapper.
|
|
99
|
+
*/
|
|
100
|
+
private renderConditionSelect;
|
|
101
|
+
private renderClearButton;
|
|
102
|
+
/**
|
|
103
|
+
* Checks if filtering is applied to the column.
|
|
104
|
+
*
|
|
105
|
+
* @returns
|
|
106
|
+
* `true` if filtering is applied to the column, `false` otherwise.
|
|
107
|
+
*/
|
|
108
|
+
private isFilteringApplied;
|
|
109
|
+
/**
|
|
110
|
+
* Disables the input element if the condition is `empty` or `notEmpty`.
|
|
111
|
+
*/
|
|
112
|
+
private disableInputIfNeeded;
|
|
113
|
+
}
|
|
114
|
+
export default ColumnFiltering;
|