@mwater/visualization 5.4.5 → 5.6.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/lib/MWaterContextComponent.d.ts +1 -1
- package/lib/MWaterContextComponent.js +1 -1
- package/lib/MWaterGlobalFiltersComponent.d.ts +2 -2
- package/lib/MWaterGlobalFiltersComponent.js +11 -20
- package/lib/MWaterLoaderComponent.d.ts +5 -14
- package/lib/MWaterLoaderComponent.js +2 -11
- package/lib/UndoStack.d.ts +2 -1
- package/lib/UndoStack.js +12 -6
- package/lib/dashboards/DashboardComponent.js +7 -5
- package/lib/dashboards/DashboardDesign.d.ts +1 -1
- package/lib/dashboards/LayoutOptionsComponent.js +18 -11
- package/lib/dashboards/ServerDashboardDataSource.d.ts +10 -1
- package/lib/dashboards/ServerDashboardDataSource.js +29 -10
- package/lib/dashboards/SettingsModalComponent.js +1 -1
- package/lib/dashboards/layoutOptions.d.ts +5 -1
- package/lib/datagrids/DatagridComponent.js +23 -3
- package/lib/datagrids/DatagridDesignerComponent.d.ts +2 -3
- package/lib/datagrids/DatagridDesignerComponent.js +108 -120
- package/lib/datagrids/DatagridViewComponent.js +3 -2
- package/lib/datagrids/ExprCellComponent.d.ts +1 -0
- package/lib/datagrids/ExprCellComponent.js +22 -20
- package/lib/datagrids/OrderBysDesignerComponent.d.ts +7 -7
- package/lib/datagrids/OrderBysDesignerComponent.js +19 -28
- package/lib/index.css +45 -2
- package/lib/index.d.ts +5 -5
- package/lib/index.js +2 -3
- package/lib/layouts/blocks/BlocksDisplayComponent.d.ts +8 -1
- package/lib/layouts/blocks/BlocksDisplayComponent.js +46 -4
- package/lib/maps/BufferLayer.d.ts +18 -0
- package/lib/maps/BufferLayer.js +36 -14
- package/lib/maps/BufferLayerDesign.d.ts +1 -1
- package/lib/maps/BufferLayerDesignerComponent.js +2 -2
- package/lib/maps/ChoroplethLayer.d.ts +18 -0
- package/lib/maps/ChoroplethLayer.js +46 -25
- package/lib/maps/ChoroplethLayerDesign.d.ts +7 -3
- package/lib/maps/ChoroplethLayerDesigner.d.ts +10 -22
- package/lib/maps/ChoroplethLayerDesigner.js +58 -89
- package/lib/maps/DirectMapDataSource.js +17 -10
- package/lib/maps/EditHoverOver.d.ts +4 -3
- package/lib/maps/EditHoverOver.js +64 -35
- package/lib/maps/HoverContent.d.ts +10 -5
- package/lib/maps/HoverContent.js +7 -36
- package/lib/maps/Layer.d.ts +37 -0
- package/lib/maps/Layer.js +30 -4
- package/lib/maps/LeafletMapComponent.js +10 -19
- package/lib/maps/MWaterServerLayer.d.ts +2 -2
- package/lib/maps/MWaterServerLayer.js +6 -6
- package/lib/maps/MapComponent.js +0 -1
- package/lib/maps/MapLayerDataSource.d.ts +9 -0
- package/lib/maps/MapUtils.d.ts +19 -1
- package/lib/maps/MapUtils.js +80 -1
- package/lib/maps/MarkersLayer.d.ts +18 -0
- package/lib/maps/MarkersLayer.js +42 -26
- package/lib/maps/MarkersLayerDesign.d.ts +1 -1
- package/lib/maps/MarkersLayerDesignerComponent.d.ts +12 -28
- package/lib/maps/MarkersLayerDesignerComponent.js +81 -111
- package/lib/maps/RasterMapViewComponent.js +1 -1
- package/lib/maps/ServerMapDataSource.d.ts +9 -0
- package/lib/maps/ServerMapDataSource.js +29 -10
- package/lib/maps/VectorMapViewComponent.js +7 -15
- package/lib/maps/maps.d.ts +4 -2
- package/lib/maps/symbols/font-awesome/asterisk.png +0 -0
- package/lib/maps/symbols/font-awesome/ban.png +0 -0
- package/lib/maps/symbols/font-awesome/beer.png +0 -0
- package/lib/maps/symbols/font-awesome/bell.png +0 -0
- package/lib/maps/symbols/font-awesome/bolt.png +0 -0
- package/lib/maps/symbols/font-awesome/building.png +0 -0
- package/lib/maps/symbols/font-awesome/bullseye.png +0 -0
- package/lib/maps/symbols/font-awesome/bus.png +0 -0
- package/lib/maps/symbols/font-awesome/caret-up.png +0 -0
- package/lib/maps/symbols/font-awesome/certificate.png +0 -0
- package/lib/maps/symbols/font-awesome/check-circle.png +0 -0
- package/lib/maps/symbols/font-awesome/check.png +0 -0
- package/lib/maps/symbols/font-awesome/chevron-circle-down.png +0 -0
- package/lib/maps/symbols/font-awesome/chevron-circle-up.png +0 -0
- package/lib/maps/symbols/font-awesome/cloud-rain.png +0 -0
- package/lib/maps/symbols/font-awesome/cloud.png +0 -0
- package/lib/maps/symbols/font-awesome/comment.png +0 -0
- package/lib/maps/symbols/font-awesome/crosshairs.png +0 -0
- package/lib/maps/symbols/font-awesome/dot-circle-o.png +0 -0
- package/lib/maps/symbols/font-awesome/exclamation-circle.png +0 -0
- package/lib/maps/symbols/font-awesome/exclamation-triangle.png +0 -0
- package/lib/maps/symbols/font-awesome/female.png +0 -0
- package/lib/maps/symbols/font-awesome/file.png +0 -0
- package/lib/maps/symbols/font-awesome/flag.png +0 -0
- package/lib/maps/symbols/font-awesome/flask.png +0 -0
- package/lib/maps/symbols/font-awesome/h-square.png +0 -0
- package/lib/maps/symbols/font-awesome/home.png +0 -0
- package/lib/maps/symbols/font-awesome/info-circle.png +0 -0
- package/lib/maps/symbols/font-awesome/male.png +0 -0
- package/lib/maps/symbols/font-awesome/medkit.png +0 -0
- package/lib/maps/symbols/font-awesome/mobile.png +0 -0
- package/lib/maps/symbols/font-awesome/plus-circle.png +0 -0
- package/lib/maps/symbols/font-awesome/plus-square.png +0 -0
- package/lib/maps/symbols/font-awesome/plus.png +0 -0
- package/lib/maps/symbols/font-awesome/square.png +0 -0
- package/lib/maps/symbols/font-awesome/star.png +0 -0
- package/lib/maps/symbols/font-awesome/thumbs-down.png +0 -0
- package/lib/maps/symbols/font-awesome/thumbs-up.png +0 -0
- package/lib/maps/symbols/font-awesome/ticket.png +0 -0
- package/lib/maps/symbols/font-awesome/times-circle.png +0 -0
- package/lib/maps/symbols/font-awesome/times.png +0 -0
- package/lib/maps/symbols/font-awesome/tint.png +0 -0
- package/lib/maps/symbols/font-awesome/tree.png +0 -0
- package/lib/maps/symbols/font-awesome/university.png +0 -0
- package/lib/maps/symbols/font-awesome/usd.png +0 -0
- package/lib/maps/symbols/font-awesome/user.png +0 -0
- package/lib/maps/symbols/font-awesome/users.png +0 -0
- package/lib/maps/symbols/font-awesome/wheelchair.png +0 -0
- package/lib/maps/symbols/sdf-ize.sh +93 -0
- package/lib/maps/vectorMaps.d.ts +1 -0
- package/lib/maps/vectorMaps.js +20 -36
- package/lib/mwater_table_selection/FormsListComponent.d.ts +33 -0
- package/lib/mwater_table_selection/FormsListComponent.js +141 -0
- package/lib/mwater_table_selection/IndicatorsListComponent.d.ts +49 -0
- package/lib/mwater_table_selection/IndicatorsListComponent.js +251 -0
- package/lib/mwater_table_selection/IssuesListComponent.d.ts +29 -0
- package/lib/mwater_table_selection/IssuesListComponent.js +123 -0
- package/lib/mwater_table_selection/MWaterAccountingSystemListComponent.d.ts +20 -0
- package/lib/mwater_table_selection/MWaterAccountingSystemListComponent.js +157 -0
- package/lib/mwater_table_selection/MWaterAssetSystemsListComponent.d.ts +17 -0
- package/lib/mwater_table_selection/MWaterAssetSystemsListComponent.js +79 -0
- package/lib/mwater_table_selection/MWaterCalculatedDataSourcesListComponent.d.ts +18 -0
- package/lib/mwater_table_selection/MWaterCalculatedDataSourcesListComponent.js +80 -0
- package/lib/mwater_table_selection/MWaterCompleteTableSelectComponent.d.ts +63 -0
- package/lib/mwater_table_selection/MWaterCompleteTableSelectComponent.js +461 -0
- package/lib/mwater_table_selection/MWaterCustomTablesetListComponent.d.ts +17 -0
- package/lib/mwater_table_selection/MWaterCustomTablesetListComponent.js +94 -0
- package/lib/mwater_table_selection/MWaterMetricsTableListComponent.d.ts +17 -0
- package/lib/mwater_table_selection/MWaterMetricsTableListComponent.js +80 -0
- package/lib/mwater_table_selection/MWaterTableSelectComponent.d.ts +32 -0
- package/lib/mwater_table_selection/MWaterTableSelectComponent.js +163 -0
- package/lib/mwater_table_selection/MWaterWorkflowsSelectComponent.d.ts +19 -0
- package/lib/mwater_table_selection/MWaterWorkflowsSelectComponent.js +111 -0
- package/lib/quickfilter/QuickfiltersComponent.d.ts +3 -102
- package/lib/quickfilter/QuickfiltersComponent.js +53 -110
- package/lib/quickfilter/TextLiteralComponent.d.ts +23 -47
- package/lib/quickfilter/TextLiteralComponent.js +85 -82
- package/lib/widgets/MapWidget.js +4 -2
- package/lib/widgets/charts/Chart.d.ts +11 -0
- package/lib/widgets/charts/Chart.js +15 -0
- package/lib/widgets/charts/ChartWidgetComponent.d.ts +1 -0
- package/lib/widgets/charts/ChartWidgetComponent.js +27 -1
- package/lib/widgets/charts/layered/LayeredChartDesign.d.ts +1 -1
- package/lib/widgets/charts/layered/LayeredChartDesignerComponent.d.ts +1 -1
- package/lib/widgets/charts/layered/LayeredChartDesignerComponent.js +5 -12
- package/lib/widgets/charts/layered/LayeredChartLayerDesignerComponent.d.ts +43 -57
- package/lib/widgets/charts/layered/LayeredChartLayerDesignerComponent.js +113 -110
- package/lib/widgets/charts/layered/LayeredChartUtils.d.ts +2 -1
- package/lib/widgets/charts/layered/LayeredChartUtils.js +0 -2
- package/lib/widgets/charts/pivot/PivotChart.d.ts +2 -0
- package/lib/widgets/charts/pivot/PivotChart.js +156 -0
- package/lib/widgets/charts/pivot/PivotChartDesignerComponent.d.ts +5 -20
- package/lib/widgets/charts/pivot/PivotChartDesignerComponent.js +31 -61
- package/lib/widgets/charts/pivot/PivotChartLayoutBuilder.d.ts +4 -0
- package/lib/widgets/charts/pivot/PivotChartLayoutBuilder.js +4 -2
- package/lib/widgets/charts/pivot/PivotChartLayoutComponent.d.ts +5 -44
- package/lib/widgets/charts/pivot/PivotChartLayoutComponent.js +38 -63
- package/lib/widgets/charts/pivot/SegmentDesignerComponent.d.ts +7 -68
- package/lib/widgets/charts/pivot/SegmentDesignerComponent.js +58 -106
- package/lib/widgets/charts/table/TableChart.d.ts +2 -0
- package/lib/widgets/charts/table/TableChart.js +172 -1
- package/lib/widgets/charts/table/TableChartDesignerComponent.d.ts +7 -17
- package/lib/widgets/charts/table/TableChartDesignerComponent.js +79 -95
- package/lib/widgets/charts/table/TableChartViewComponent.d.ts +1 -7
- package/lib/widgets/charts/table/TableChartViewComponent.js +19 -27
- package/lib/widgets/text/ExprItemEditorComponent.d.ts +3 -8
- package/lib/widgets/text/ExprItemEditorComponent.js +36 -33
- package/lib/widgets/text/ExprUpdateModalComponent.d.ts +1 -0
- package/package.json +4 -10
- package/src/MWaterContextComponent.tsx +2 -2
- package/src/{MWaterGlobalFiltersComponent.ts → MWaterGlobalFiltersComponent.tsx} +32 -33
- package/src/{MWaterLoaderComponent.ts → MWaterLoaderComponent.tsx} +18 -19
- package/src/UndoStack.ts +14 -6
- package/src/dashboards/DashboardComponent.tsx +7 -5
- package/src/dashboards/DashboardDesign.ts +1 -1
- package/src/dashboards/LayoutOptionsComponent.tsx +22 -10
- package/src/dashboards/ServerDashboardDataSource.ts +36 -13
- package/src/dashboards/SettingsModalComponent.tsx +1 -1
- package/src/dashboards/layoutOptions.tsx +5 -1
- package/src/datagrids/DatagridComponent.tsx +31 -3
- package/src/datagrids/DatagridDesignerComponent.tsx +241 -229
- package/src/datagrids/DatagridViewComponent.tsx +3 -2
- package/src/datagrids/ExprCellComponent.tsx +23 -20
- package/src/datagrids/OrderBysDesignerComponent.tsx +61 -70
- package/src/index.css +45 -2
- package/src/index.ts +5 -11
- package/src/layouts/blocks/BlocksDisplayComponent.tsx +60 -5
- package/src/maps/BufferLayer.ts +48 -20
- package/src/maps/BufferLayerDesign.ts +1 -1
- package/src/maps/BufferLayerDesignerComponent.tsx +2 -1
- package/src/maps/ChoroplethLayer.ts +70 -39
- package/src/maps/ChoroplethLayerDesign.ts +6 -2
- package/src/maps/ChoroplethLayerDesigner.tsx +171 -167
- package/src/maps/DirectMapDataSource.ts +21 -13
- package/src/maps/EditHoverOver.tsx +98 -54
- package/src/maps/HoverContent.tsx +17 -48
- package/src/maps/Layer.ts +42 -4
- package/src/maps/LeafletMapComponent.tsx +10 -19
- package/src/maps/MWaterServerLayer.ts +6 -6
- package/src/maps/MapComponent.ts +0 -1
- package/src/maps/MapLayerDataSource.ts +8 -0
- package/src/maps/MapUtils.ts +82 -3
- package/src/maps/MarkersLayer.ts +54 -27
- package/src/maps/MarkersLayerDesign.ts +1 -1
- package/src/maps/MarkersLayerDesignerComponent.tsx +360 -0
- package/src/maps/RasterMapViewComponent.ts +1 -1
- package/src/maps/ServerMapDataSource.ts +35 -12
- package/src/maps/VectorMapViewComponent.tsx +8 -19
- package/src/maps/maps.ts +4 -2
- package/src/maps/symbols/font-awesome/asterisk.png +0 -0
- package/src/maps/symbols/font-awesome/ban.png +0 -0
- package/src/maps/symbols/font-awesome/beer.png +0 -0
- package/src/maps/symbols/font-awesome/bell.png +0 -0
- package/src/maps/symbols/font-awesome/bolt.png +0 -0
- package/src/maps/symbols/font-awesome/building.png +0 -0
- package/src/maps/symbols/font-awesome/bullseye.png +0 -0
- package/src/maps/symbols/font-awesome/bus.png +0 -0
- package/src/maps/symbols/font-awesome/caret-up.png +0 -0
- package/src/maps/symbols/font-awesome/certificate.png +0 -0
- package/src/maps/symbols/font-awesome/check-circle.png +0 -0
- package/src/maps/symbols/font-awesome/check.png +0 -0
- package/src/maps/symbols/font-awesome/chevron-circle-down.png +0 -0
- package/src/maps/symbols/font-awesome/chevron-circle-up.png +0 -0
- package/src/maps/symbols/font-awesome/cloud-rain.png +0 -0
- package/src/maps/symbols/font-awesome/cloud.png +0 -0
- package/src/maps/symbols/font-awesome/comment.png +0 -0
- package/src/maps/symbols/font-awesome/crosshairs.png +0 -0
- package/src/maps/symbols/font-awesome/dot-circle-o.png +0 -0
- package/src/maps/symbols/font-awesome/exclamation-circle.png +0 -0
- package/src/maps/symbols/font-awesome/exclamation-triangle.png +0 -0
- package/src/maps/symbols/font-awesome/female.png +0 -0
- package/src/maps/symbols/font-awesome/file.png +0 -0
- package/src/maps/symbols/font-awesome/flag.png +0 -0
- package/src/maps/symbols/font-awesome/flask.png +0 -0
- package/src/maps/symbols/font-awesome/h-square.png +0 -0
- package/src/maps/symbols/font-awesome/home.png +0 -0
- package/src/maps/symbols/font-awesome/info-circle.png +0 -0
- package/src/maps/symbols/font-awesome/male.png +0 -0
- package/src/maps/symbols/font-awesome/medkit.png +0 -0
- package/src/maps/symbols/font-awesome/mobile.png +0 -0
- package/src/maps/symbols/font-awesome/plus-circle.png +0 -0
- package/src/maps/symbols/font-awesome/plus-square.png +0 -0
- package/src/maps/symbols/font-awesome/plus.png +0 -0
- package/src/maps/symbols/font-awesome/square.png +0 -0
- package/src/maps/symbols/font-awesome/star.png +0 -0
- package/src/maps/symbols/font-awesome/thumbs-down.png +0 -0
- package/src/maps/symbols/font-awesome/thumbs-up.png +0 -0
- package/src/maps/symbols/font-awesome/ticket.png +0 -0
- package/src/maps/symbols/font-awesome/times-circle.png +0 -0
- package/src/maps/symbols/font-awesome/times.png +0 -0
- package/src/maps/symbols/font-awesome/tint.png +0 -0
- package/src/maps/symbols/font-awesome/tree.png +0 -0
- package/src/maps/symbols/font-awesome/university.png +0 -0
- package/src/maps/symbols/font-awesome/usd.png +0 -0
- package/src/maps/symbols/font-awesome/user.png +0 -0
- package/src/maps/symbols/font-awesome/users.png +0 -0
- package/src/maps/symbols/font-awesome/wheelchair.png +0 -0
- package/src/maps/symbols/sdf-ize.sh +93 -0
- package/src/maps/vectorMaps.tsx +20 -44
- package/src/mwater_table_selection/FormsListComponent.tsx +188 -0
- package/src/mwater_table_selection/IndicatorsListComponent.tsx +411 -0
- package/src/mwater_table_selection/IssuesListComponent.tsx +167 -0
- package/src/mwater_table_selection/MWaterAccountingSystemListComponent.tsx +225 -0
- package/src/{MWaterAssetSystemsListComponent.tsx → mwater_table_selection/MWaterAssetSystemsListComponent.tsx} +2 -2
- package/src/mwater_table_selection/MWaterCalculatedDataSourcesListComponent.tsx +111 -0
- package/src/mwater_table_selection/MWaterCompleteTableSelectComponent.tsx +713 -0
- package/src/{MWaterCustomTablesetListComponent.tsx → mwater_table_selection/MWaterCustomTablesetListComponent.tsx} +1 -1
- package/src/{MWaterMetricsTableListComponent.tsx → mwater_table_selection/MWaterMetricsTableListComponent.tsx} +1 -1
- package/src/{MWaterTableSelectComponent.tsx → mwater_table_selection/MWaterTableSelectComponent.tsx} +91 -90
- package/src/mwater_table_selection/MWaterWorkflowsSelectComponent.tsx +159 -0
- package/src/quickfilter/{QuickfiltersComponent.ts → QuickfiltersComponent.tsx} +165 -158
- package/src/quickfilter/TextLiteralComponent.tsx +197 -0
- package/src/widgets/MapWidget.tsx +9 -1
- package/src/widgets/charts/Chart.ts +17 -0
- package/src/widgets/charts/ChartWidgetComponent.tsx +36 -1
- package/src/widgets/charts/layered/LayeredChartDesign.ts +1 -1
- package/src/widgets/charts/layered/LayeredChartDesignerComponent.tsx +23 -24
- package/src/widgets/charts/layered/LayeredChartLayerDesignerComponent.tsx +260 -211
- package/src/widgets/charts/layered/LayeredChartUtils.ts +7 -7
- package/src/widgets/charts/pivot/PivotChart.ts +191 -0
- package/src/widgets/charts/pivot/PivotChartDesignerComponent.tsx +124 -129
- package/src/widgets/charts/pivot/PivotChartLayoutBuilder.ts +4 -2
- package/src/widgets/charts/pivot/PivotChartLayoutComponent.tsx +120 -149
- package/src/widgets/charts/pivot/SegmentDesignerComponent.tsx +178 -198
- package/src/widgets/charts/table/TableChart.ts +177 -1
- package/src/widgets/charts/table/TableChartDesignerComponent.tsx +422 -0
- package/src/widgets/charts/table/{TableChartViewComponent.ts → TableChartViewComponent.tsx} +65 -60
- package/src/widgets/text/ExprItemEditorComponent.tsx +83 -77
- package/src/widgets/text/ExprUpdateModalComponent.tsx +1 -0
- package/test/UndoStackTests.ts +52 -1
- package/.storybook/config.js +0 -7
- package/.storybook/head.html +0 -4
- package/.storybook/webpack.config.js +0 -15
- package/src/MWaterCompleteTableSelectComponent.tsx +0 -975
- package/src/maps/BingLayer.ts +0 -146
- package/src/maps/MarkersLayerDesignerComponent.ts +0 -374
- package/src/quickfilter/TextLiteralComponent.ts +0 -165
- package/src/widgets/charts/table/TableChartDesignerComponent.ts +0 -441
- package/stories/UpdateableComponent.js +0 -29
- package/stories/consoles.js +0 -202
- package/stories/dashboards.js +0 -217
- package/stories/datagridDesign.js +0 -114
- package/stories/datagrids.js +0 -69
- package/stories/dates.js +0 -80
- package/stories/exprcomponent.js +0 -43
- package/stories/index.js +0 -18
- package/stories/leaflet.js +0 -59
- package/stories/maps.js +0 -24
- package/stories/pivotChart.js +0 -235
|
@@ -28,10 +28,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const lodash_1 = __importDefault(require("lodash"));
|
|
30
30
|
const react_1 = __importDefault(require("react"));
|
|
31
|
-
const R = react_1.default.createElement;
|
|
32
31
|
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
33
32
|
const expressions_1 = require("@mwater/expressions");
|
|
34
|
-
const AxisComponent_1 = __importDefault(require("
|
|
33
|
+
const AxisComponent_1 = __importDefault(require("../axes/AxisComponent"));
|
|
35
34
|
const ColorComponent_1 = __importDefault(require("../ColorComponent"));
|
|
36
35
|
const expressions_ui_2 = require("@mwater/expressions-ui");
|
|
37
36
|
const EditPopupComponent_1 = __importDefault(require("./EditPopupComponent"));
|
|
@@ -39,7 +38,7 @@ const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
|
|
|
39
38
|
const MarkerSymbolSelectComponent_1 = __importDefault(require("./MarkerSymbolSelectComponent"));
|
|
40
39
|
const PopupFilterJoinsUtils = __importStar(require("./PopupFilterJoinsUtils"));
|
|
41
40
|
const ui = __importStar(require("@mwater/react-library/lib/bootstrap"));
|
|
42
|
-
const EditHoverOver_1 =
|
|
41
|
+
const EditHoverOver_1 = require("./EditHoverOver");
|
|
43
42
|
const rc_slider_1 = __importDefault(require("rc-slider"));
|
|
44
43
|
// Designer for a markers layer
|
|
45
44
|
class MarkersLayerDesignerComponent extends react_1.default.Component {
|
|
@@ -86,19 +85,22 @@ class MarkersLayerDesignerComponent extends react_1.default.Component {
|
|
|
86
85
|
return this.update({ lineWidth });
|
|
87
86
|
};
|
|
88
87
|
renderTable() {
|
|
89
|
-
return
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
88
|
+
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
89
|
+
react_1.default.createElement("label", { className: "text-muted" },
|
|
90
|
+
react_1.default.createElement("i", { className: "fa fa-database" }),
|
|
91
|
+
" ",
|
|
92
|
+
T `Data Source`),
|
|
93
|
+
react_1.default.createElement("div", { style: { marginLeft: 10 } },
|
|
94
|
+
react_1.default.createElement(expressions_ui_2.TableSelectComponent, { schema: this.props.schema, value: this.props.design.table, onChange: this.handleTableChange, filter: this.props.design.filter, onFilterChange: this.handleFilterChange }))));
|
|
96
95
|
}
|
|
97
96
|
renderGeometryAxis() {
|
|
98
97
|
if (!this.props.design.table) {
|
|
99
98
|
return;
|
|
100
99
|
}
|
|
101
|
-
const title =
|
|
100
|
+
const title = react_1.default.createElement("span", null,
|
|
101
|
+
react_1.default.createElement("span", { className: "fas fa-map-marker-alt" }),
|
|
102
|
+
" ",
|
|
103
|
+
T `Location`);
|
|
102
104
|
const filters = lodash_1.default.clone(this.props.filters) || [];
|
|
103
105
|
if (this.props.design.filter != null) {
|
|
104
106
|
const exprCompiler = new expressions_1.ExprCompiler(this.props.schema);
|
|
@@ -107,16 +109,10 @@ class MarkersLayerDesignerComponent extends react_1.default.Component {
|
|
|
107
109
|
filters.push({ table: this.props.design.filter.table, jsonql });
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
|
-
return
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
types: ["geometry"],
|
|
115
|
-
aggrNeed: "none",
|
|
116
|
-
value: this.props.design.axes.geometry,
|
|
117
|
-
onChange: this.handleGeometryAxisChange,
|
|
118
|
-
filters
|
|
119
|
-
})));
|
|
112
|
+
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
113
|
+
react_1.default.createElement("label", { className: "text-muted" }, title),
|
|
114
|
+
react_1.default.createElement("div", { style: { marginLeft: 10 } },
|
|
115
|
+
react_1.default.createElement(AxisComponent_1.default, { schema: this.props.schema, dataSource: this.props.dataSource, table: this.props.design.table, types: ["geometry"], aggrNeed: "none", value: this.props.design.axes.geometry, onChange: this.handleGeometryAxisChange, filters: filters }))));
|
|
120
116
|
}
|
|
121
117
|
renderColor() {
|
|
122
118
|
if (!this.props.design.axes.geometry) {
|
|
@@ -130,140 +126,114 @@ class MarkersLayerDesignerComponent extends react_1.default.Component {
|
|
|
130
126
|
filters.push({ table: this.props.design.filter.table, jsonql });
|
|
131
127
|
}
|
|
132
128
|
}
|
|
133
|
-
return
|
|
134
|
-
?
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
defaultColor: this.props.design.color,
|
|
146
|
-
showColorMap: true,
|
|
147
|
-
onChange: this.handleColorAxisChange,
|
|
148
|
-
allowExcludedValues: true,
|
|
149
|
-
filters
|
|
150
|
-
})));
|
|
129
|
+
return (react_1.default.createElement("div", null,
|
|
130
|
+
!this.props.design.axes.color ? (react_1.default.createElement("div", { className: "mb-3" },
|
|
131
|
+
react_1.default.createElement("label", { className: "text-muted" },
|
|
132
|
+
react_1.default.createElement("span", { className: "fas fa-tint" }),
|
|
133
|
+
T `Color`),
|
|
134
|
+
react_1.default.createElement("div", null,
|
|
135
|
+
react_1.default.createElement(ColorComponent_1.default, { color: this.props.design.color, onChange: this.handleColorChange })))) : undefined,
|
|
136
|
+
react_1.default.createElement("div", { className: "mb-3" },
|
|
137
|
+
react_1.default.createElement("label", { className: "text-muted" },
|
|
138
|
+
react_1.default.createElement("span", { className: "fas fa-tint" }),
|
|
139
|
+
T `Color By Data`),
|
|
140
|
+
react_1.default.createElement(AxisComponent_1.default, { schema: this.props.schema, dataSource: this.props.dataSource, table: this.props.design.table, types: ["text", "enum", "boolean", "date"], aggrNeed: "none", value: this.props.design.axes.color, defaultColor: this.props.design.color, showColorMap: true, onChange: this.handleColorAxisChange, allowExcludedValues: true, filters: filters }))));
|
|
151
141
|
}
|
|
152
142
|
renderSymbol() {
|
|
153
143
|
if (!this.props.design.axes.geometry) {
|
|
154
144
|
return;
|
|
155
145
|
}
|
|
156
|
-
return
|
|
146
|
+
return react_1.default.createElement(MarkerSymbolSelectComponent_1.default, { symbol: this.props.design.symbol, onChange: this.handleSymbolChange });
|
|
157
147
|
}
|
|
158
148
|
renderMarkerSize() {
|
|
159
149
|
if (!this.props.design.axes.geometry) {
|
|
160
150
|
return;
|
|
161
151
|
}
|
|
162
|
-
return
|
|
163
|
-
|
|
164
|
-
options: [
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
onChange: this.handleMarkerSizeChange
|
|
172
|
-
}));
|
|
152
|
+
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
153
|
+
react_1.default.createElement("label", { className: "text-muted" }, T `Marker Size`),
|
|
154
|
+
react_1.default.createElement(ui.Select, { value: this.props.design.markerSize || 10, options: [
|
|
155
|
+
{ value: 5, label: T `Extra small` },
|
|
156
|
+
{ value: 8, label: T `Small` },
|
|
157
|
+
{ value: 10, label: T `Normal` },
|
|
158
|
+
{ value: 13, label: T `Large` },
|
|
159
|
+
{ value: 16, label: T `Extra large` }
|
|
160
|
+
], onChange: this.handleMarkerSizeChange })));
|
|
173
161
|
}
|
|
174
162
|
renderLineWidth() {
|
|
175
163
|
if (!this.props.design.axes.geometry) {
|
|
176
164
|
return;
|
|
177
165
|
}
|
|
178
|
-
return
|
|
179
|
-
|
|
180
|
-
options: [
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
onChange: this.handleLineWidthChange
|
|
190
|
-
}));
|
|
166
|
+
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
167
|
+
react_1.default.createElement("label", { className: "text-muted" }, T `Line Width (for shapes)`),
|
|
168
|
+
react_1.default.createElement(ui.Select, { value: this.props.design.lineWidth != null ? this.props.design.lineWidth : 3, options: [
|
|
169
|
+
{ value: 0, label: T `None` },
|
|
170
|
+
{ value: 1, label: T `1 pixel` },
|
|
171
|
+
{ value: 2, label: T `2 pixels` },
|
|
172
|
+
{ value: 3, label: T `3 pixels` },
|
|
173
|
+
{ value: 4, label: T `4 pixels` },
|
|
174
|
+
{ value: 5, label: T `5 pixels` },
|
|
175
|
+
{ value: 6, label: T `6 pixels` }
|
|
176
|
+
], onChange: this.handleLineWidthChange })));
|
|
191
177
|
}
|
|
192
178
|
renderPolygonBorderColor() {
|
|
193
179
|
if (!this.props.design.axes.geometry) {
|
|
194
180
|
return;
|
|
195
181
|
}
|
|
196
|
-
return
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
182
|
+
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
183
|
+
react_1.default.createElement("label", { className: "text-muted" }, T `Polygon border color (blank for same as fill color)`),
|
|
184
|
+
react_1.default.createElement("div", null,
|
|
185
|
+
react_1.default.createElement(ColorComponent_1.default, { color: this.props.design.polygonBorderColor, onChange: this.handlePolygonBorderColorChange }))));
|
|
200
186
|
}
|
|
201
187
|
renderPolygonFillOpacity() {
|
|
202
188
|
if (!this.props.design.axes.geometry) {
|
|
203
189
|
return;
|
|
204
190
|
}
|
|
205
191
|
const opacity = this.props.design.polygonFillOpacity != null ? this.props.design.polygonFillOpacity : 0.25;
|
|
206
|
-
return
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
value: opacity * 100,
|
|
212
|
-
onChange: this.handlePolygonFillOpacityChange
|
|
213
|
-
})));
|
|
192
|
+
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
193
|
+
react_1.default.createElement("label", { className: "text-muted" },
|
|
194
|
+
react_1.default.createElement("span", null, T `Polygon Fill Opacity: ${Math.round(opacity * 100)}%`)),
|
|
195
|
+
react_1.default.createElement("div", { style: { padding: "10px" } },
|
|
196
|
+
react_1.default.createElement(rc_slider_1.default, { min: 0, max: 100, step: 1, tipTransitionName: "rc-slider-tooltip-zoom-down", value: opacity * 100, onChange: this.handlePolygonFillOpacityChange }))));
|
|
214
197
|
}
|
|
215
198
|
renderFilter() {
|
|
216
199
|
// If no data, hide
|
|
217
200
|
if (!this.props.design.axes.geometry) {
|
|
218
201
|
return null;
|
|
219
202
|
}
|
|
220
|
-
return
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
})));
|
|
203
|
+
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
204
|
+
react_1.default.createElement("label", { className: "text-muted" },
|
|
205
|
+
react_1.default.createElement("span", { className: "fas fa-filter" }),
|
|
206
|
+
T `Filters`),
|
|
207
|
+
react_1.default.createElement("div", { style: { marginLeft: 8 } },
|
|
208
|
+
react_1.default.createElement(expressions_ui_1.FilterExprComponent, { schema: this.props.schema, dataSource: this.props.dataSource, onChange: this.handleFilterChange, table: this.props.design.table, value: this.props.design.filter }))));
|
|
227
209
|
}
|
|
228
210
|
renderPopup() {
|
|
229
211
|
if (!this.props.design.table) {
|
|
230
212
|
return null;
|
|
231
213
|
}
|
|
232
|
-
return
|
|
233
|
-
design: this.props.design,
|
|
234
|
-
onDesignChange: this.props.onDesignChange,
|
|
235
|
-
schema: this.props.schema,
|
|
236
|
-
dataSource: this.props.dataSource,
|
|
237
|
-
table: this.props.design.table,
|
|
238
|
-
idTable: this.props.design.table,
|
|
239
|
-
defaultPopupFilterJoins: PopupFilterJoinsUtils.createDefaultPopupFilterJoins(this.props.design.table)
|
|
240
|
-
});
|
|
214
|
+
return (react_1.default.createElement(EditPopupComponent_1.default, { design: this.props.design, onDesignChange: this.props.onDesignChange, schema: this.props.schema, dataSource: this.props.dataSource, table: this.props.design.table, idTable: this.props.design.table, defaultPopupFilterJoins: PopupFilterJoinsUtils.createDefaultPopupFilterJoins(this.props.design.table) }));
|
|
241
215
|
}
|
|
242
216
|
renderHoverOver() {
|
|
243
217
|
if (!this.props.design.table) {
|
|
244
218
|
return null;
|
|
245
219
|
}
|
|
246
|
-
return
|
|
247
|
-
design: this.props.design,
|
|
248
|
-
onDesignChange: this.props.onDesignChange,
|
|
249
|
-
schema: this.props.schema,
|
|
250
|
-
dataSource: this.props.dataSource,
|
|
251
|
-
table: this.props.design.table,
|
|
252
|
-
idTable: this.props.design.table,
|
|
253
|
-
defaultPopupFilterJoins: PopupFilterJoinsUtils.createDefaultPopupFilterJoins(this.props.design.table)
|
|
254
|
-
});
|
|
220
|
+
return (react_1.default.createElement(EditHoverOver_1.EditHoverOver, { design: this.props.design, onDesignChange: this.props.onDesignChange, schema: this.props.schema, dataSource: this.props.dataSource, table: this.props.design.table, idTable: this.props.design.table, defaultPopupFilterJoins: PopupFilterJoinsUtils.createDefaultPopupFilterJoins(this.props.design.table), aggrStatuses: ["individual", "literal"] }));
|
|
255
221
|
}
|
|
256
222
|
render() {
|
|
257
|
-
return
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
this.
|
|
262
|
-
this.
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
223
|
+
return (react_1.default.createElement("div", null,
|
|
224
|
+
this.renderTable(),
|
|
225
|
+
this.renderGeometryAxis(),
|
|
226
|
+
this.renderColor(),
|
|
227
|
+
this.renderSymbol(),
|
|
228
|
+
this.renderMarkerSize(),
|
|
229
|
+
react_1.default.createElement(ui.CollapsibleSection, { label: T `Shape Options`, labelMuted: true },
|
|
230
|
+
this.renderLineWidth(),
|
|
231
|
+
this.renderPolygonBorderColor(),
|
|
232
|
+
this.renderPolygonFillOpacity()),
|
|
233
|
+
this.renderFilter(),
|
|
234
|
+
this.renderPopup(),
|
|
235
|
+
this.renderHoverOver(),
|
|
236
|
+
this.props.design.table ? (react_1.default.createElement(ZoomLevelsComponent_1.default, { design: this.props.design, onDesignChange: this.props.onDesignChange })) : undefined));
|
|
267
237
|
}
|
|
268
238
|
}
|
|
269
239
|
exports.default = MarkersLayerDesignerComponent;
|
|
@@ -158,7 +158,7 @@ class RasterMapViewComponent extends react_1.default.Component {
|
|
|
158
158
|
filters: this.getCompiledFilters(),
|
|
159
159
|
dataSource: this.props.dataSource,
|
|
160
160
|
locale: this.context,
|
|
161
|
-
translate: this.props.translate ?? (() =>
|
|
161
|
+
translate: this.props.translate ?? ((input) => input),
|
|
162
162
|
onHide: () => this.setState({ legendHidden: true }),
|
|
163
163
|
zoom: null
|
|
164
164
|
});
|
|
@@ -54,6 +54,15 @@ declare class ServerLayerDataSource implements MapLayerDataSource {
|
|
|
54
54
|
getPopupWidgetDataSource(design: any, widgetId: string): ServerMapLayerPopupWidgetDataSource;
|
|
55
55
|
createUrl(filters: JsonQLFilter[], extension: string): string;
|
|
56
56
|
createLegacyUrl(design: any, extension: string, filters: JsonQLFilter[]): string;
|
|
57
|
+
/** Gets hover over data for hover over items
|
|
58
|
+
* @param design The design of the layer
|
|
59
|
+
* @param data The data of the current item being hovered over. e.g. { id: 123 }
|
|
60
|
+
* @param filters The filters to apply to the layer does not include filters that narrow down to a specific item
|
|
61
|
+
* @returns A promise that resolves to the hover over data, indexed by the id of the hover over item
|
|
62
|
+
*/
|
|
63
|
+
getHoverOverData(design: any, data: any, filters: JsonQLFilter[]): Promise<{
|
|
64
|
+
[key: string]: any;
|
|
65
|
+
}>;
|
|
57
66
|
}
|
|
58
67
|
interface ServerMapLayerPopupWidgetDataSourceOptions {
|
|
59
68
|
/** API url to use for talking to mWater server */
|
|
@@ -144,22 +144,12 @@ class ServerLayerDataSource {
|
|
|
144
144
|
rev: this.options.rev
|
|
145
145
|
};
|
|
146
146
|
let url = `${this.options.apiUrl}maps/tiles/{z}/{x}/{y}.${extension}?` + querystring_1.default.stringify(query);
|
|
147
|
-
// Add subdomains: {s} will be substituted with "a", "b" or "c" in leaflet for api.mwater.co only.
|
|
148
|
-
// Used to speed queries
|
|
149
|
-
if (url.match(/^https:\/\/api\.mwater\.co\//)) {
|
|
150
|
-
url = url.replace(/^https:\/\/api\.mwater\.co\//, "https://{s}-api.mwater.co/");
|
|
151
|
-
}
|
|
152
147
|
return url;
|
|
153
148
|
}
|
|
154
149
|
// Create query string
|
|
155
150
|
createLegacyUrl(design, extension, filters) {
|
|
156
151
|
let where;
|
|
157
152
|
let url = `${this.options.apiUrl}maps/tiles/{z}/{x}/{y}.${extension}?type=${design.type}&radius=1000`;
|
|
158
|
-
// Add subdomains: {s} will be substituted with "a", "b" or "c" in leaflet for api.mwater.co only.
|
|
159
|
-
// Used to speed queries
|
|
160
|
-
if (url.match(/^https:\/\/api\.mwater\.co\//)) {
|
|
161
|
-
url = url.replace(/^https:\/\/api\.mwater\.co\//, "https://{s}-api.mwater.co/");
|
|
162
|
-
}
|
|
163
153
|
if (this.options.client) {
|
|
164
154
|
url += `&client=${this.options.client}`;
|
|
165
155
|
}
|
|
@@ -182,6 +172,35 @@ class ServerLayerDataSource {
|
|
|
182
172
|
}
|
|
183
173
|
return url;
|
|
184
174
|
}
|
|
175
|
+
/** Gets hover over data for hover over items
|
|
176
|
+
* @param design The design of the layer
|
|
177
|
+
* @param data The data of the current item being hovered over. e.g. { id: 123 }
|
|
178
|
+
* @param filters The filters to apply to the layer does not include filters that narrow down to a specific item
|
|
179
|
+
* @returns A promise that resolves to the hover over data, indexed by the id of the hover over item
|
|
180
|
+
*/
|
|
181
|
+
async getHoverOverData(design, data, filters) {
|
|
182
|
+
const query = {
|
|
183
|
+
client: this.options.client,
|
|
184
|
+
share: this.options.share,
|
|
185
|
+
filters: (0, compressJson_1.default)(filters || []),
|
|
186
|
+
data: (0, compressJson_1.default)(data),
|
|
187
|
+
rev: this.options.rev
|
|
188
|
+
};
|
|
189
|
+
const url = `${this.options.apiUrl}maps/${this.options.mapId}/layers/${this.options.layerView.id}/hoverdata?` +
|
|
190
|
+
querystring_1.default.stringify(query);
|
|
191
|
+
const response = await fetch(url, {
|
|
192
|
+
method: "GET",
|
|
193
|
+
headers: {
|
|
194
|
+
Accept: "application/json"
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
if (!response.ok) {
|
|
198
|
+
const errorText = await response.text();
|
|
199
|
+
console.error(errorText);
|
|
200
|
+
throw new Error(`Error fetching hover data: ${response.statusText}`);
|
|
201
|
+
}
|
|
202
|
+
return await response.json();
|
|
203
|
+
}
|
|
185
204
|
}
|
|
186
205
|
class ServerMapLayerPopupWidgetDataSource {
|
|
187
206
|
options;
|
|
@@ -66,7 +66,7 @@ function VectorMapViewComponent(props) {
|
|
|
66
66
|
const [legendHidden, setLegendHidden] = (0, react_1.useState)(initialLegendDisplay == "closed" || (props.width < 500 && initialLegendDisplay == "closedIfSmall"));
|
|
67
67
|
// Locale to use
|
|
68
68
|
const locale = props.locale || props.design.locale || "en";
|
|
69
|
-
// Translate function to use
|
|
69
|
+
// Translate function to use
|
|
70
70
|
const translate = props.translate || ((input) => input);
|
|
71
71
|
// Last feature that mouse entered
|
|
72
72
|
const lastFeature = (0, react_2.useRef)();
|
|
@@ -230,17 +230,9 @@ function VectorMapViewComponent(props) {
|
|
|
230
230
|
else {
|
|
231
231
|
const tileUrl = props.mapDataSource.getLayerDataSource(layerView.id).getTileUrl(design, []);
|
|
232
232
|
if (tileUrl) {
|
|
233
|
-
// Replace "{s}" with "a", "b", "c"
|
|
234
|
-
let tiles = [];
|
|
235
|
-
if (tileUrl.includes("{s}")) {
|
|
236
|
-
tiles = [tileUrl.replace("{s}", "a"), tileUrl.replace("{s}", "b"), tileUrl.replace("{s}", "c")];
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
tiles = [tileUrl];
|
|
240
|
-
}
|
|
241
233
|
newSources[layerView.id] = {
|
|
242
234
|
type: "raster",
|
|
243
|
-
tiles,
|
|
235
|
+
tiles: [tileUrl],
|
|
244
236
|
tileSize: 256
|
|
245
237
|
};
|
|
246
238
|
newLayers.push({
|
|
@@ -424,12 +416,12 @@ function VectorMapViewComponent(props) {
|
|
|
424
416
|
return;
|
|
425
417
|
}
|
|
426
418
|
if (!props.design.autoBounds && props.design.bounds) {
|
|
427
|
-
// If we set the new bounds, do not update map bounds
|
|
419
|
+
// If we set the new bounds, do not update map bounds unless they differ by more than 0.0001 degrees (roughly 10m)
|
|
428
420
|
if (boundsRef.current == null ||
|
|
429
|
-
props.design.bounds.n
|
|
430
|
-
props.design.bounds.e
|
|
431
|
-
props.design.bounds.s
|
|
432
|
-
props.design.bounds.w
|
|
421
|
+
Math.abs(props.design.bounds.n - boundsRef.current.n) > 0.0001 ||
|
|
422
|
+
Math.abs(props.design.bounds.e - boundsRef.current.e) > 0.0001 ||
|
|
423
|
+
Math.abs(props.design.bounds.s - boundsRef.current.s) > 0.0001 ||
|
|
424
|
+
Math.abs(props.design.bounds.w - boundsRef.current.w) > 0.0001) {
|
|
433
425
|
map.fitBounds([props.design.bounds.w, props.design.bounds.s, props.design.bounds.e, props.design.bounds.n]);
|
|
434
426
|
boundsRef.current = props.design.bounds;
|
|
435
427
|
}
|
package/lib/maps/maps.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JsonQLQuery } from "@mwater/jsonql";
|
|
2
2
|
import { Expr } from "@mwater/expressions";
|
|
3
|
+
import { ReactNode } from "react";
|
|
3
4
|
export interface LayerDefinition {
|
|
4
5
|
layers: Array<{
|
|
5
6
|
/** Layer id */
|
|
@@ -16,6 +17,7 @@ export interface LayerDefinition {
|
|
|
16
17
|
fields: string[];
|
|
17
18
|
};
|
|
18
19
|
}
|
|
20
|
+
/** Results from onGridClick that can be used to display a popup */
|
|
19
21
|
export type OnGridClickResults = {
|
|
20
22
|
scope?: any;
|
|
21
23
|
row?: {
|
|
@@ -24,9 +26,9 @@ export type OnGridClickResults = {
|
|
|
24
26
|
};
|
|
25
27
|
popup?: React.ReactElement<{}>;
|
|
26
28
|
} | null;
|
|
29
|
+
/** Results from onGridHover that can be used to display a hover over */
|
|
27
30
|
export type OnGridHoverResults = {
|
|
28
|
-
|
|
29
|
-
hoverOver?: React.ReactElement<{}>;
|
|
31
|
+
hoverOver?: ReactNode;
|
|
30
32
|
} | null;
|
|
31
33
|
/** Item in hover over */
|
|
32
34
|
export interface HoverOverItem {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|