@mwater/visualization 5.0.1 → 5.2.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/GlobalFilter.d.ts +13 -0
- package/lib/GlobalFilter.js +2 -0
- package/lib/MWaterAddRelatedFormComponent.d.ts +1 -1
- package/lib/MWaterAddRelatedFormComponent.js +10 -17
- package/lib/MWaterCompleteTableSelectComponent.d.ts +2 -9
- package/lib/MWaterContextComponent.d.ts +31 -9
- package/lib/MWaterContextComponent.js +85 -76
- package/lib/MWaterCustomTablesetListComponent.js +9 -3
- package/lib/MWaterGlobalFiltersComponent.d.ts +6 -5
- package/lib/MWaterGlobalFiltersComponent.js +4 -4
- package/lib/MWaterLoaderComponent.d.ts +14 -4
- package/lib/MWaterLoaderComponent.js +10 -2
- package/lib/MWaterTableSelectComponent.d.ts +0 -1
- package/lib/MWaterTableSelectComponent.js +20 -41
- package/lib/axes/Axis.d.ts +20 -25
- package/lib/axes/AxisBuilder.js +9 -7
- package/lib/axes/AxisComponent.d.ts +4 -4
- package/lib/axes/RangesComponent.d.ts +12 -6
- package/lib/axes/RangesComponent.js +21 -10
- package/lib/dashboards/DashboardComponent.d.ts +1 -14
- package/lib/dashboards/DashboardComponent.js +18 -56
- package/lib/dashboards/DashboardDesign.d.ts +2 -17
- package/lib/dashboards/DashboardViewComponent.js +3 -4
- package/lib/dashboards/LayoutOptionsComponent.js +4 -3
- package/lib/dashboards/ServerDashboardDataSource.d.ts +1 -0
- package/lib/dashboards/ServerDashboardDataSource.js +3 -0
- package/lib/dashboards/SettingsModalComponent.d.ts +4 -15
- package/lib/dashboards/SettingsModalComponent.js +24 -38
- package/lib/datagrids/DatagridComponent.d.ts +10 -13
- package/lib/datagrids/DatagridComponent.js +27 -5
- package/lib/datagrids/DatagridDataSource.d.ts +3 -2
- package/lib/datagrids/DatagridDataSource.js +0 -11
- package/lib/datagrids/DatagridDesign.d.ts +2 -0
- package/lib/datagrids/DatagridDesignerComponent.d.ts +2 -93
- package/lib/datagrids/DatagridDesignerComponent.js +11 -8
- package/lib/datagrids/DatagridViewComponent.js +2 -2
- package/lib/datagrids/DirectDatagridDataSource.d.ts +1 -0
- package/lib/datagrids/DirectDatagridDataSource.js +26 -0
- package/lib/datagrids/FindReplaceModalComponent.d.ts +4 -20
- package/lib/datagrids/FindReplaceModalComponent.js +27 -13
- package/lib/datagrids/ServerDatagridDataSource.d.ts +2 -1
- package/lib/datagrids/ServerDatagridDataSource.js +16 -3
- package/lib/demo.js +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -4
- package/lib/layouts/blocks/BlocksDisplayComponent.d.ts +2 -1
- package/lib/layouts/blocks/BlocksDisplayComponent.js +2 -2
- package/lib/layouts/grid/GridLayoutManager.d.ts +2 -1
- package/lib/layouts/grid/LegoLayoutEngine.d.ts +1 -1
- package/lib/maps/BufferLayer.js +3 -1
- package/lib/maps/BufferLayerDesignerComponent.js +2 -2
- package/lib/maps/ChoroplethLayerDesigner.js +2 -2
- package/lib/maps/ClusterLayer.js +3 -1
- package/lib/maps/ClusterLayerDesignerComponent.js +2 -2
- package/lib/maps/DirectMapDataSource.js +1 -2
- package/lib/maps/GridLayer.js +5 -3
- package/lib/maps/GridLayerDesigner.js +2 -3
- package/lib/maps/LayerSwitcherComponent.js +1 -1
- package/lib/maps/MapComponent.d.ts +2 -7
- package/lib/maps/MapDesign.d.ts +2 -13
- package/lib/maps/MapDesignerComponent.d.ts +1 -12
- package/lib/maps/MapDesignerComponent.js +5 -12
- package/lib/maps/MapFiltersDesignerComponent.d.ts +0 -4
- package/lib/maps/MapFiltersDesignerComponent.js +4 -5
- package/lib/maps/MarkersLayerDesignerComponent.js +2 -2
- package/lib/maps/PopupFilterJoinsUtils.d.ts +6 -1
- package/lib/maps/PopupFilterJoinsUtils.js +4 -3
- package/lib/maps/RasterMapViewComponent.d.ts +2 -9
- package/lib/maps/RegionSelectComponent.d.ts +2 -1
- package/lib/maps/ServerMapDataSource.d.ts +1 -1
- package/lib/maps/UtfGridLayer.js +1 -1
- package/lib/maps/vectorMaps.d.ts +1 -0
- package/lib/maps/vectorMaps.js +10 -2
- package/lib/quickfilter/QuickfilterCompiler.d.ts +1 -1
- package/lib/widgets/IFrameWidgetComponent.d.ts +2 -9
- package/lib/widgets/ImageWidgetComponent.d.ts +6 -24
- package/lib/widgets/ImageWidgetComponent.js +2 -2
- package/lib/widgets/MapWidget.d.ts +2 -7
- package/lib/widgets/MarkdownWidget.d.ts +2 -7
- package/lib/widgets/TOCWidget.d.ts +2 -9
- package/lib/widgets/charts/ChartWidget.d.ts +3 -15
- package/lib/widgets/charts/calendar/CalendarChartDesignerComponent.js +2 -2
- package/lib/widgets/charts/imagemosaic/ImageMosaicChart.d.ts +1 -1
- package/lib/widgets/charts/imagemosaic/ImageMosaicChart.js +1 -1
- package/lib/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.js +2 -2
- package/lib/widgets/charts/imagemosaic/ImagePopupComponent.d.ts +2 -7
- package/lib/widgets/charts/layered/LayeredChartDesignerComponent.d.ts +2 -31
- package/lib/widgets/charts/layered/LayeredChartLayerDesignerComponent.d.ts +2 -7
- package/lib/widgets/charts/layered/LayeredChartLayerDesignerComponent.js +2 -2
- package/lib/widgets/charts/pivot/IntersectionDesignerComponent.d.ts +73 -66
- package/lib/widgets/charts/pivot/PivotChartDesignerComponent.d.ts +10 -6
- package/lib/widgets/charts/pivot/PivotChartDesignerComponent.js +2 -2
- package/lib/widgets/charts/pivot/PivotChartViewComponent.d.ts +3 -22
- package/lib/widgets/charts/pivot/SegmentDesignerComponent.d.ts +55 -58
- package/lib/widgets/charts/table/TableChartDesignerComponent.js +2 -2
- package/lib/widgets/charts/table/TableChartViewComponent.js +21 -7
- package/lib/widgets/text/ExprInsertModalComponent.d.ts +2 -13
- package/lib/widgets/text/ExprItemEditorComponent.js +2 -2
- package/lib/widgets/text/ExprUpdateModalComponent.d.ts +2 -13
- package/lib/widgets/text/TextWidgetDesign.d.ts +3 -1
- package/package.json +1 -1
- package/src/GlobalFilter.ts +17 -0
- package/src/MWaterAddRelatedFormComponent.ts +15 -20
- package/src/MWaterContextComponent.tsx +158 -0
- package/src/MWaterCustomTablesetListComponent.tsx +21 -3
- package/src/MWaterGlobalFiltersComponent.ts +8 -8
- package/src/MWaterLoaderComponent.ts +10 -3
- package/src/{MWaterTableSelectComponent.ts → MWaterTableSelectComponent.tsx} +61 -66
- package/src/axes/Axis.ts +24 -25
- package/src/axes/AxisBuilder.ts +10 -9
- package/src/axes/RangesComponent.ts +27 -16
- package/src/dashboards/{DashboardComponent.ts → DashboardComponent.tsx} +39 -80
- package/src/dashboards/DashboardDesign.ts +2 -22
- package/src/dashboards/DashboardViewComponent.ts +4 -5
- package/src/dashboards/LayoutOptionsComponent.tsx +6 -4
- package/src/dashboards/ServerDashboardDataSource.ts +16 -12
- package/src/dashboards/SettingsModalComponent.tsx +170 -0
- package/src/datagrids/DatagridComponent.ts +45 -14
- package/src/datagrids/DatagridDataSource.ts +10 -8
- package/src/datagrids/DatagridDesign.ts +3 -0
- package/src/datagrids/DatagridDesignerComponent.tsx +31 -19
- package/src/datagrids/DatagridViewComponent.ts +4 -4
- package/src/datagrids/DirectDatagridDataSource.ts +35 -0
- package/src/datagrids/ExprCellComponent.ts +0 -1
- package/src/datagrids/FindReplaceModalComponent.ts +39 -22
- package/src/datagrids/ServerDatagridDataSource.ts +23 -6
- package/src/demo.ts +1 -1
- package/src/index.ts +1 -2
- package/src/layouts/blocks/BlocksDisplayComponent.ts +2 -2
- package/src/layouts/grid/LegoLayoutEngine.ts +2 -2
- package/src/layouts/grid/WidgetContainerComponent.ts +2 -2
- package/src/maps/BingLayer.ts +2 -2
- package/src/maps/BufferLayer.ts +3 -1
- package/src/maps/BufferLayerDesignerComponent.ts +1 -1
- package/src/maps/ChoroplethLayerDesigner.tsx +1 -1
- package/src/maps/ClusterLayer.ts +3 -1
- package/src/maps/ClusterLayerDesignerComponent.ts +1 -1
- package/src/maps/DirectMapDataSource.ts +1 -2
- package/src/maps/GridLayer.ts +5 -3
- package/src/maps/GridLayerDesigner.tsx +1 -2
- package/src/maps/LayerSwitcherComponent.tsx +1 -1
- package/src/maps/LegendGroup.ts +1 -1
- package/src/maps/MWaterServerLayer.ts +2 -2
- package/src/maps/MapDesign.ts +2 -17
- package/src/maps/{MapDesignerComponent.ts → MapDesignerComponent.tsx} +8 -16
- package/src/maps/{MapFiltersDesignerComponent.ts → MapFiltersDesignerComponent.tsx} +25 -25
- package/src/maps/MarkersLayerDesignerComponent.ts +1 -1
- package/src/maps/PopupFilterJoinsUtils.ts +4 -4
- package/src/maps/ServerMapDataSource.ts +7 -7
- package/src/maps/SwitchableTileUrlLayerDesigner.tsx +1 -13
- package/src/maps/UtfGridLayer.ts +4 -4
- package/src/maps/VectorMapViewComponent.tsx +0 -1
- package/src/maps/mapboxUtils.ts +2 -2
- package/src/maps/vectorMaps.tsx +10 -1
- package/src/quickfilter/QuickfilterCompiler.ts +1 -1
- package/src/richtext/ExprItemsHtmlConverter.ts +1 -1
- package/src/richtext/FontColorPaletteItem.ts +1 -1
- package/src/richtext/FontSizePaletteItem.ts +1 -1
- package/src/richtext/ItemsHtmlConverter.ts +2 -2
- package/src/widgets/ImageWidgetComponent.ts +1 -1
- package/src/widgets/charts/calendar/CalendarChartDesignerComponent.ts +1 -1
- package/src/widgets/charts/imagemosaic/ImageMosaicChart.ts +1 -1
- package/src/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.ts +1 -1
- package/src/widgets/charts/layered/LayeredChartLayerDesignerComponent.tsx +1 -1
- package/src/widgets/charts/pivot/PivotChartDesignerComponent.tsx +1 -1
- package/src/widgets/charts/table/TableChartDesignerComponent.ts +1 -1
- package/src/widgets/charts/table/TableChartViewComponent.ts +21 -7
- package/src/widgets/text/ExprItemEditorComponent.tsx +1 -1
- package/src/widgets/text/TextWidgetDesign.ts +4 -1
- package/src/MWaterContextComponent.ts +0 -141
- package/src/TableSelectComponent.ts +0 -60
- package/src/dashboards/SettingsModalComponent.ts +0 -169
package/lib/index.js
CHANGED
|
@@ -17,8 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.RichTextComponent = exports.AxisColorEditorComponent = exports.MarkerSymbolSelectComponent = exports.DetailLevelSelectComponent = exports.LayoutManager = exports.LabeledExprGenerator = exports.DirectDatagridDataSource = exports.ServerDatagridDataSource = exports.DirectMapDataSource = exports.ServerMapDataSource = exports.ServerDashboardDataSource = exports.DatagridViewComponent = exports.DatagridComponent = exports.ColorSchemeFactory = exports.AxisBuilder = exports.WidgetScopesViewComponent = exports.WidgetScoper = exports.ChartViewComponent = exports.ImageMosaicChart = exports.CalendarChart = exports.TableChart = exports.LayeredChart = exports.CheckboxComponent = exports.RadioButtonComponent = exports.VerticalLayoutComponent = exports.MapComponent = exports.MapDesignerComponent = exports.LayerFactory = exports.UtfGridLayer = exports.BingLayer = exports.DashboardViewComponent = exports.UndoStack = exports.setMapTilerApiKey = exports.DirectWidgetDataSource = exports.mWaterLoader = exports.MWaterContextComponent = exports.MWaterLoaderComponent = exports.languages = exports.DatagridUtils = exports.Widget = exports.WidgetFactory = exports.LocaleContextInjector = exports.compressJson = exports.DirectDashboardDataSource = exports.DashboardDataSource = exports.DashboardComponent = exports.
|
|
21
|
-
exports.OptionListComponent = exports.ToggleEditComponent = exports.QuickfilterCompiler = exports.DropdownWidgetComponent =
|
|
20
|
+
exports.ItemsHtmlConverter = exports.RichTextComponent = exports.AxisColorEditorComponent = exports.MarkerSymbolSelectComponent = exports.DetailLevelSelectComponent = exports.LayoutManager = exports.LabeledExprGenerator = exports.DirectDatagridDataSource = exports.ServerDatagridDataSource = exports.DirectMapDataSource = exports.ServerMapDataSource = exports.ServerDashboardDataSource = exports.DatagridViewComponent = exports.DatagridComponent = exports.ColorSchemeFactory = exports.AxisBuilder = exports.WidgetScopesViewComponent = exports.WidgetScoper = exports.ChartViewComponent = exports.ImageMosaicChart = exports.CalendarChart = exports.TableChart = exports.LayeredChart = exports.CheckboxComponent = exports.RadioButtonComponent = exports.VerticalLayoutComponent = exports.MapComponent = exports.MapDesignerComponent = exports.LayerFactory = exports.UtfGridLayer = exports.BingLayer = exports.DashboardViewComponent = exports.UndoStack = exports.setMapTilerApiKey = exports.DirectWidgetDataSource = exports.mWaterLoader = exports.MWaterContextComponent = exports.MWaterLoaderComponent = exports.languages = exports.DatagridUtils = exports.Widget = exports.WidgetFactory = exports.LocaleContextInjector = exports.compressJson = exports.DirectDashboardDataSource = exports.DashboardDataSource = exports.DashboardComponent = exports.RegionSelectComponent = exports.DateRangeComponent = exports.LeafletMapComponent = void 0;
|
|
21
|
+
exports.OptionListComponent = exports.ToggleEditComponent = exports.QuickfilterCompiler = exports.DropdownWidgetComponent = void 0;
|
|
22
22
|
var LeafletMapComponent_1 = require("./maps/LeafletMapComponent");
|
|
23
23
|
Object.defineProperty(exports, "LeafletMapComponent", { enumerable: true, get: function () { return __importDefault(LeafletMapComponent_1).default; } });
|
|
24
24
|
var DateRangeComponent_1 = require("./DateRangeComponent");
|
|
@@ -26,8 +26,6 @@ Object.defineProperty(exports, "DateRangeComponent", { enumerable: true, get: fu
|
|
|
26
26
|
var RegionSelectComponent_1 = require("./maps/RegionSelectComponent");
|
|
27
27
|
Object.defineProperty(exports, "RegionSelectComponent", { enumerable: true, get: function () { return __importDefault(RegionSelectComponent_1).default; } });
|
|
28
28
|
__exportStar(require("./datagrids/DatagridDesign"), exports);
|
|
29
|
-
var TableSelectComponent_1 = require("./TableSelectComponent");
|
|
30
|
-
Object.defineProperty(exports, "TableSelectComponent", { enumerable: true, get: function () { return __importDefault(TableSelectComponent_1).default; } });
|
|
31
29
|
__exportStar(require("./JsonQLFilter"), exports);
|
|
32
30
|
var DashboardComponent_1 = require("./dashboards/DashboardComponent");
|
|
33
31
|
Object.defineProperty(exports, "DashboardComponent", { enumerable: true, get: function () { return __importDefault(DashboardComponent_1).default; } });
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import AutoSizeComponent from "@mwater/react-library/lib/AutoSizeComponent";
|
|
2
3
|
import HorizontalBlockComponent from "./HorizontalBlockComponent";
|
|
3
4
|
import { LayoutBlock } from "./blockUtils";
|
|
4
5
|
export interface BlocksDisplayComponentProps {
|
|
@@ -38,7 +39,7 @@ declare class BlocksDisplayComponent extends React.Component<BlocksDisplayCompon
|
|
|
38
39
|
left: number;
|
|
39
40
|
};
|
|
40
41
|
}, HTMLElement>;
|
|
41
|
-
render(): React.CElement<
|
|
42
|
+
render(): React.CElement<import("@mwater/react-library/lib/AutoSizeComponent").AutoSizeComponentProps, AutoSizeComponent> | React.DetailedReactHTMLElement<{
|
|
42
43
|
style: {
|
|
43
44
|
width: string;
|
|
44
45
|
height: string;
|
|
@@ -265,7 +265,7 @@ class BlocksDisplayComponent extends react_1.default.Component {
|
|
|
265
265
|
innerParentStyle = {};
|
|
266
266
|
innerParentStyle.maxWidth = layoutOptions.maximumWidth || undefined;
|
|
267
267
|
return R("div", { style: { width: "100%", height: "100%", overflow: "hidden", position: "relative" } }, this.renderPalette(), R("div", {
|
|
268
|
-
style: { position: "absolute", left: 141, top: 0, bottom: 0, right: 0,
|
|
268
|
+
style: { position: "absolute", left: 141, top: 0, bottom: 0, right: 0, overflowX: "auto", overflowY: "scroll" },
|
|
269
269
|
className: `mwater-visualization-block-parent-outer mwater-visualization-block-parent-outer-${this.props.style || "default"} mwater-visualization-block-editing`
|
|
270
270
|
}, R("div", {
|
|
271
271
|
key: "inner",
|
|
@@ -275,7 +275,7 @@ class BlocksDisplayComponent extends react_1.default.Component {
|
|
|
275
275
|
}
|
|
276
276
|
else {
|
|
277
277
|
return R(AutoSizeComponent_1.default, { injectWidth: true, injectHeight: true }, (size) => {
|
|
278
|
-
const outerParentStyle = { width: "100%", height: "100%", overflowX: "auto" };
|
|
278
|
+
const outerParentStyle = { width: "100%", height: "100%", overflowX: "auto", overflowY: "scroll" };
|
|
279
279
|
innerParentStyle = {};
|
|
280
280
|
// Remove padding if small
|
|
281
281
|
if (size.width < 600) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import LayoutManager from "../LayoutManager";
|
|
3
|
+
import AutoSizeComponent from "@mwater/react-library/lib/AutoSizeComponent";
|
|
3
4
|
export default class GridLayoutManager extends LayoutManager {
|
|
4
5
|
renderPalette(width: any): React.DetailedReactHTMLElement<{
|
|
5
6
|
className: string;
|
|
@@ -11,7 +12,7 @@ export default class GridLayoutManager extends LayoutManager {
|
|
|
11
12
|
width: number;
|
|
12
13
|
};
|
|
13
14
|
}, HTMLElement>;
|
|
14
|
-
renderLayout(options: any): React.CElement<
|
|
15
|
+
renderLayout(options: any): React.CElement<import("@mwater/react-library/lib/AutoSizeComponent").AutoSizeComponentProps, AutoSizeComponent>;
|
|
15
16
|
isEmpty(items: any): boolean;
|
|
16
17
|
getWidgetTypeAndDesign(items: any, widgetId: any): any;
|
|
17
18
|
getAllWidgets(items: any): {
|
package/lib/maps/BufferLayer.js
CHANGED
|
@@ -96,7 +96,9 @@ class BufferLayer extends Layer_1.default {
|
|
|
96
96
|
sourceLayers: [{ id: "circles", jsonql: jsonql }],
|
|
97
97
|
ctes: [],
|
|
98
98
|
mapLayers: mapLayers,
|
|
99
|
-
mapLayersHandleClicks: [`${sourceId}:fill`]
|
|
99
|
+
mapLayersHandleClicks: [`${sourceId}:fill`],
|
|
100
|
+
minZoom: this.getMinZoom(design),
|
|
101
|
+
maxZoom: this.getMaxZoom(design)
|
|
100
102
|
};
|
|
101
103
|
}
|
|
102
104
|
createJsonQL(design, schema, filters) {
|
|
@@ -34,7 +34,7 @@ const expressions_1 = require("@mwater/expressions");
|
|
|
34
34
|
const NumberInputComponent_1 = __importDefault(require("@mwater/react-library/lib/NumberInputComponent"));
|
|
35
35
|
const AxisComponent_1 = __importDefault(require("./../axes/AxisComponent"));
|
|
36
36
|
const ColorComponent_1 = __importDefault(require("../ColorComponent"));
|
|
37
|
-
const
|
|
37
|
+
const expressions_ui_2 = require("@mwater/expressions-ui");
|
|
38
38
|
const rc_slider_1 = __importDefault(require("rc-slider"));
|
|
39
39
|
const EditPopupComponent_1 = __importDefault(require("./EditPopupComponent"));
|
|
40
40
|
const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
|
|
@@ -77,7 +77,7 @@ class BufferLayerDesignerComponent extends react_1.default.Component {
|
|
|
77
77
|
this.props.onDesignChange({ ...this.props.design, unionShapes });
|
|
78
78
|
};
|
|
79
79
|
renderTable() {
|
|
80
|
-
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(
|
|
80
|
+
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(expressions_ui_2.TableSelectComponent, {
|
|
81
81
|
schema: this.props.schema,
|
|
82
82
|
value: this.props.design.table,
|
|
83
83
|
onChange: this.handleTableChange,
|
|
@@ -33,7 +33,7 @@ const immer_1 = require("immer");
|
|
|
33
33
|
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
34
34
|
const expressions_1 = require("@mwater/expressions");
|
|
35
35
|
const AxisComponent_1 = __importDefault(require("./../axes/AxisComponent"));
|
|
36
|
-
const
|
|
36
|
+
const expressions_ui_2 = require("@mwater/expressions-ui");
|
|
37
37
|
const ColorComponent_1 = __importDefault(require("../ColorComponent"));
|
|
38
38
|
const rc_slider_1 = __importDefault(require("rc-slider"));
|
|
39
39
|
const EditPopupComponent_1 = __importDefault(require("./EditPopupComponent"));
|
|
@@ -147,7 +147,7 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
|
|
|
147
147
|
react_1.default.createElement("label", { className: "text-muted" },
|
|
148
148
|
react_1.default.createElement("i", { className: "fa fa-database" }),
|
|
149
149
|
" Data Source"),
|
|
150
|
-
react_1.default.createElement(
|
|
150
|
+
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 })));
|
|
151
151
|
}
|
|
152
152
|
renderRegionsTable() {
|
|
153
153
|
let options = lodash_1.default.map(lodash_1.default.filter(this.props.schema.getTables(), table => table.id.startsWith("regions.")), table => ({ value: table.id, label: table.name.en }));
|
package/lib/maps/ClusterLayer.js
CHANGED
|
@@ -90,7 +90,9 @@ class ClusterLayer extends Layer_1.default {
|
|
|
90
90
|
sourceLayers: [{ id: "clusters", jsonql: jsonql }],
|
|
91
91
|
ctes: [],
|
|
92
92
|
mapLayers: mapLayers,
|
|
93
|
-
mapLayersHandleClicks: [`${sourceId}:circles-single`, `${sourceId}:circles-multiple`]
|
|
93
|
+
mapLayersHandleClicks: [`${sourceId}:circles-single`, `${sourceId}:circles-multiple`],
|
|
94
|
+
minZoom: this.getMinZoom(design),
|
|
95
|
+
maxZoom: this.getMaxZoom(design)
|
|
94
96
|
};
|
|
95
97
|
}
|
|
96
98
|
createJsonQL(design, schema, filters) {
|
|
@@ -10,7 +10,7 @@ const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
|
10
10
|
const expressions_1 = require("@mwater/expressions");
|
|
11
11
|
const AxisComponent_1 = __importDefault(require("./../axes/AxisComponent"));
|
|
12
12
|
const ColorComponent_1 = __importDefault(require("../ColorComponent"));
|
|
13
|
-
const
|
|
13
|
+
const expressions_ui_2 = require("@mwater/expressions-ui");
|
|
14
14
|
const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
|
|
15
15
|
class ClusterLayerDesignerComponent extends react_1.default.Component {
|
|
16
16
|
// Apply updates to design
|
|
@@ -38,7 +38,7 @@ class ClusterLayerDesignerComponent extends react_1.default.Component {
|
|
|
38
38
|
return this.update({ fillColor: color });
|
|
39
39
|
};
|
|
40
40
|
renderTable() {
|
|
41
|
-
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(
|
|
41
|
+
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(expressions_ui_2.TableSelectComponent, {
|
|
42
42
|
schema: this.props.schema,
|
|
43
43
|
value: this.props.design.table,
|
|
44
44
|
onChange: this.handleTableChange,
|
|
@@ -157,8 +157,7 @@ class DirectLayerDataSource {
|
|
|
157
157
|
const { url, expires } = await getVectorTileFromDirectRequest({
|
|
158
158
|
apiUrl: this.options.apiUrl,
|
|
159
159
|
client: this.options.client,
|
|
160
|
-
directTokenRequest
|
|
161
|
-
createdAfter
|
|
160
|
+
directTokenRequest
|
|
162
161
|
});
|
|
163
162
|
return { url, expires };
|
|
164
163
|
}
|
package/lib/maps/GridLayer.js
CHANGED
|
@@ -51,7 +51,9 @@ class GridLayer extends Layer_1.default {
|
|
|
51
51
|
sourceLayers: [{ id: "grid", jsonql: jsonql }],
|
|
52
52
|
ctes: [],
|
|
53
53
|
mapLayers: mapLayers,
|
|
54
|
-
mapLayersHandleClicks: [`${sourceId}:fill`]
|
|
54
|
+
mapLayersHandleClicks: [`${sourceId}:fill`],
|
|
55
|
+
minZoom: this.getMinZoom(design),
|
|
56
|
+
maxZoom: this.getMaxZoom(design)
|
|
55
57
|
};
|
|
56
58
|
}
|
|
57
59
|
createJsonQL(design, schema, filters) {
|
|
@@ -544,9 +546,9 @@ class GridLayer extends Layer_1.default {
|
|
|
544
546
|
// }
|
|
545
547
|
// Get min and max zoom levels
|
|
546
548
|
getMinZoom(design) {
|
|
547
|
-
// Determine if too zoomed out to safely display (
|
|
549
|
+
// Determine if too zoomed out to safely display (200x200, so size = 4e7/(2^zoom) < 200)
|
|
548
550
|
if (design.sizeUnits === "meters") {
|
|
549
|
-
const minSafeZoom = Math.log2(
|
|
551
|
+
const minSafeZoom = Math.log2(200000.0 / (design.size || 20000));
|
|
550
552
|
if (design.minZoom) {
|
|
551
553
|
return Math.max(design.minZoom, minSafeZoom);
|
|
552
554
|
}
|
|
@@ -33,7 +33,7 @@ const immer_1 = require("immer");
|
|
|
33
33
|
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
34
34
|
const expressions_1 = require("@mwater/expressions");
|
|
35
35
|
const AxisComponent_1 = __importDefault(require("../axes/AxisComponent"));
|
|
36
|
-
const
|
|
36
|
+
const expressions_ui_2 = require("@mwater/expressions-ui");
|
|
37
37
|
const rc_slider_1 = __importDefault(require("rc-slider"));
|
|
38
38
|
const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
|
|
39
39
|
const ui = __importStar(require("@mwater/react-library/lib/bootstrap"));
|
|
@@ -79,7 +79,6 @@ class GridLayerDesigner extends react_1.default.Component {
|
|
|
79
79
|
this.update((d) => {
|
|
80
80
|
d.sizeUnits = sizeUnits;
|
|
81
81
|
d.size = 20000;
|
|
82
|
-
d.minZoom = 6;
|
|
83
82
|
});
|
|
84
83
|
}
|
|
85
84
|
};
|
|
@@ -127,7 +126,7 @@ class GridLayerDesigner extends react_1.default.Component {
|
|
|
127
126
|
react_1.default.createElement("label", { className: "text-muted" },
|
|
128
127
|
react_1.default.createElement("i", { className: "fa fa-database" }),
|
|
129
128
|
" Data Source"),
|
|
130
|
-
react_1.default.createElement(
|
|
129
|
+
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 })));
|
|
131
130
|
}
|
|
132
131
|
renderGeometryExpr() {
|
|
133
132
|
// If no data, hide
|
|
@@ -72,7 +72,7 @@ function LayerSwitcherComponent(props) {
|
|
|
72
72
|
}) },
|
|
73
73
|
react_1.default.createElement("div", { style: iconStyle, onClick: toggleDropdown },
|
|
74
74
|
react_1.default.createElement("i", { className: "fas fa-layer-group fa-fw" })),
|
|
75
|
-
dropdownOpen ? (react_1.default.createElement("div", { style: { backgroundColor: "white", padding: 5 } }, props.design.layerViews.map(renderLayerView))) : null));
|
|
75
|
+
dropdownOpen ? (react_1.default.createElement("div", { style: { backgroundColor: "white", padding: 5, textAlign: "left" } }, props.design.layerViews.map(renderLayerView))) : null));
|
|
76
76
|
}
|
|
77
77
|
exports.LayerSwitcherComponent = LayerSwitcherComponent;
|
|
78
78
|
/** Hook for click outside catching */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import PropTypes from "prop-types";
|
|
2
2
|
import React, { ReactNode } from "react";
|
|
3
|
+
import AutoSizeComponent from "@mwater/react-library/lib/AutoSizeComponent";
|
|
3
4
|
import UndoStack from "../UndoStack";
|
|
4
5
|
import { DataSource, Schema } from "@mwater/expressions";
|
|
5
6
|
import { MapDataSource } from "./MapDataSource";
|
|
@@ -60,13 +61,7 @@ export default class MapComponent extends React.Component<MapComponentProps, Map
|
|
|
60
61
|
getDesign(): MapDesign;
|
|
61
62
|
handleToggleDesignPanel: () => void;
|
|
62
63
|
getQuickfilterValues: () => any[];
|
|
63
|
-
renderView(): React.CElement<
|
|
64
|
-
injectWidth: boolean;
|
|
65
|
-
injectHeight: boolean;
|
|
66
|
-
}, React.Component<{
|
|
67
|
-
injectWidth: boolean;
|
|
68
|
-
injectHeight: boolean;
|
|
69
|
-
}, any, any>>;
|
|
64
|
+
renderView(): React.CElement<import("@mwater/react-library/lib/AutoSizeComponent").AutoSizeComponentProps, AutoSizeComponent>;
|
|
70
65
|
getCompiledFilters(): {
|
|
71
66
|
table: string;
|
|
72
67
|
jsonql: import("@mwater/jsonql").JsonQLExpr;
|
package/lib/maps/MapDesign.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Expr
|
|
1
|
+
import { Expr } from "@mwater/expressions";
|
|
2
2
|
import { Quickfilter } from "../quickfilter/Quickfilter";
|
|
3
|
+
import { GlobalFilter } from "../GlobalFilter";
|
|
3
4
|
/** Maps are stored as a base layer, a series of layers and filters. */
|
|
4
5
|
export interface MapDesign {
|
|
5
6
|
/** "bing_road"/"bing_aerial"/"cartodb_positron"/"cartodb_dark_matter"/"blank" */
|
|
@@ -63,15 +64,3 @@ export interface MapLayerView {
|
|
|
63
64
|
/** true to hide legend */
|
|
64
65
|
hideLegend?: boolean;
|
|
65
66
|
}
|
|
66
|
-
/** Global filters apply to multiple tables at once if a certain column is present. User-interface to set them is application-specific
|
|
67
|
-
and the default (non-mWater) dashboard applies them but does not allow editing. */
|
|
68
|
-
export interface GlobalFilter {
|
|
69
|
-
/** id of column to filter */
|
|
70
|
-
columnId: string;
|
|
71
|
-
/** type of column to filter (to ensure that consistent) */
|
|
72
|
-
columnType: LiteralType;
|
|
73
|
-
/** op of expression for filtering */
|
|
74
|
-
op: string;
|
|
75
|
-
/** array of expressions to use for filtering. field expression for column will be injected as expression 0 in the resulting filter expression */
|
|
76
|
-
exprs: Expr[];
|
|
77
|
-
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import PropTypes from "prop-types";
|
|
2
1
|
import React from "react";
|
|
3
2
|
import { DataSource, Schema } from "@mwater/expressions";
|
|
4
3
|
import { MapDesign } from "./MapDesign";
|
|
@@ -18,12 +17,6 @@ export interface MapDesignerComponentProps {
|
|
|
18
17
|
enableQuickfilters?: boolean;
|
|
19
18
|
}
|
|
20
19
|
export default class MapDesignerComponent extends React.Component<MapDesignerComponentProps> {
|
|
21
|
-
static childContextTypes: {
|
|
22
|
-
activeTables: PropTypes.Requireable<string[]>;
|
|
23
|
-
};
|
|
24
|
-
getChildContext(): {
|
|
25
|
-
activeTables: string[];
|
|
26
|
-
};
|
|
27
20
|
handleAttributionChange: (text: any) => void;
|
|
28
21
|
handleAutoBoundsChange: (value: any) => void;
|
|
29
22
|
handleShowLayerSwitcherChange: (value: any) => void;
|
|
@@ -31,9 +24,5 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
|
|
|
31
24
|
handleConvertToMarkersMap: () => void;
|
|
32
25
|
handleInitialLegendDisplayChange: (value: any) => void;
|
|
33
26
|
renderOptionsTab(): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
34
|
-
render(): React.
|
|
35
|
-
style: {
|
|
36
|
-
padding: number;
|
|
37
|
-
};
|
|
38
|
-
}, HTMLElement>;
|
|
27
|
+
render(): React.JSX.Element;
|
|
39
28
|
}
|
|
@@ -27,7 +27,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const lodash_1 = __importDefault(require("lodash"));
|
|
30
|
-
const prop_types_1 = __importDefault(require("prop-types"));
|
|
31
30
|
const react_1 = __importDefault(require("react"));
|
|
32
31
|
const R = react_1.default.createElement;
|
|
33
32
|
const TabbedComponent_1 = __importDefault(require("@mwater/react-library/lib/TabbedComponent"));
|
|
@@ -42,14 +41,8 @@ const MapUtils = __importStar(require("./MapUtils"));
|
|
|
42
41
|
const ui = __importStar(require("@mwater/react-library/lib/bootstrap"));
|
|
43
42
|
const QuickfiltersDesignComponent_1 = __importDefault(require("../quickfilter/QuickfiltersDesignComponent"));
|
|
44
43
|
const immer_1 = __importDefault(require("immer"));
|
|
44
|
+
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
45
45
|
class MapDesignerComponent extends react_1.default.Component {
|
|
46
|
-
static childContextTypes = { activeTables: prop_types_1.default.arrayOf(prop_types_1.default.string.isRequired) };
|
|
47
|
-
getChildContext() {
|
|
48
|
-
return {
|
|
49
|
-
// Pass active tables down to table select components so they can present a shorter list
|
|
50
|
-
activeTables: MapUtils.getFilterableTables(this.props.design, this.props.schema)
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
46
|
handleAttributionChange = (text) => {
|
|
54
47
|
const design = { ...this.props.design, attribution: text };
|
|
55
48
|
return this.props.onDesignChange(design);
|
|
@@ -152,10 +145,10 @@ class MapDesignerComponent extends react_1.default.Component {
|
|
|
152
145
|
}))
|
|
153
146
|
});
|
|
154
147
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
148
|
+
const activeTables = MapUtils.getFilterableTables(this.props.design, this.props.schema);
|
|
149
|
+
return (react_1.default.createElement(expressions_ui_1.ActiveTablesContext.Provider, { value: activeTables },
|
|
150
|
+
react_1.default.createElement("div", { style: { padding: 5 } },
|
|
151
|
+
react_1.default.createElement(TabbedComponent_1.default, { initialTabId: "layers", tabs: tabs }))));
|
|
159
152
|
}
|
|
160
153
|
}
|
|
161
154
|
exports.default = MapDesignerComponent;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import PropTypes from "prop-types";
|
|
2
1
|
import React from "react";
|
|
3
2
|
import { DataSource, Schema } from "@mwater/expressions";
|
|
4
3
|
export interface MapFiltersDesignerComponentProps {
|
|
@@ -12,9 +11,6 @@ export interface MapFiltersDesignerComponentProps {
|
|
|
12
11
|
onDesignChange: any;
|
|
13
12
|
}
|
|
14
13
|
export default class MapFiltersDesignerComponent extends React.Component<MapFiltersDesignerComponentProps> {
|
|
15
|
-
static contextTypes: {
|
|
16
|
-
globalFiltersElementFactory: PropTypes.Requireable<(...args: any[]) => any>;
|
|
17
|
-
};
|
|
18
14
|
handleFiltersChange: (filters: any) => any;
|
|
19
15
|
handleGlobalFiltersChange: (globalFilters: any) => any;
|
|
20
16
|
render(): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLElement>, HTMLElement> | null;
|
|
@@ -27,15 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const lodash_1 = __importDefault(require("lodash"));
|
|
30
|
-
const prop_types_1 = __importDefault(require("prop-types"));
|
|
31
30
|
const react_1 = __importDefault(require("react"));
|
|
32
31
|
const R = react_1.default.createElement;
|
|
33
32
|
const PopoverHelpComponent_1 = __importDefault(require("@mwater/react-library/lib/PopoverHelpComponent"));
|
|
34
33
|
const FiltersDesignerComponent_1 = __importDefault(require("../FiltersDesignerComponent"));
|
|
35
34
|
const MapUtils = __importStar(require("./MapUtils"));
|
|
35
|
+
const MWaterContextComponent_1 = require("../MWaterContextComponent");
|
|
36
36
|
// Designer for filters for a map
|
|
37
37
|
class MapFiltersDesignerComponent extends react_1.default.Component {
|
|
38
|
-
static contextTypes = { globalFiltersElementFactory: prop_types_1.default.func };
|
|
39
38
|
handleFiltersChange = (filters) => {
|
|
40
39
|
const design = lodash_1.default.extend({}, this.props.design, { filters });
|
|
41
40
|
return this.props.onDesignChange(design);
|
|
@@ -56,15 +55,15 @@ class MapFiltersDesignerComponent extends react_1.default.Component {
|
|
|
56
55
|
filters: this.props.design.filters,
|
|
57
56
|
onFiltersChange: this.handleFiltersChange,
|
|
58
57
|
filterableTables
|
|
59
|
-
}))),
|
|
60
|
-
? R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Global Filters "), R("div", { style: { margin: 5 } },
|
|
58
|
+
}))), react_1.default.createElement(MWaterContextComponent_1.GlobalFiltersElementFactoryContext.Consumer, null, globalFiltersElementFactory => globalFiltersElementFactory
|
|
59
|
+
? R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Global Filters "), R("div", { style: { margin: 5 } }, globalFiltersElementFactory({
|
|
61
60
|
schema: this.props.schema,
|
|
62
61
|
dataSource: this.props.dataSource,
|
|
63
62
|
filterableTables,
|
|
64
63
|
globalFilters: this.props.design.globalFilters || [],
|
|
65
64
|
onChange: this.handleGlobalFiltersChange
|
|
66
65
|
})))
|
|
67
|
-
: undefined);
|
|
66
|
+
: undefined));
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
69
|
exports.default = MapFiltersDesignerComponent;
|
|
@@ -33,7 +33,7 @@ const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
|
33
33
|
const expressions_1 = require("@mwater/expressions");
|
|
34
34
|
const AxisComponent_1 = __importDefault(require("./../axes/AxisComponent"));
|
|
35
35
|
const ColorComponent_1 = __importDefault(require("../ColorComponent"));
|
|
36
|
-
const
|
|
36
|
+
const expressions_ui_2 = require("@mwater/expressions-ui");
|
|
37
37
|
const EditPopupComponent_1 = __importDefault(require("./EditPopupComponent"));
|
|
38
38
|
const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
|
|
39
39
|
const MarkerSymbolSelectComponent_1 = __importDefault(require("./MarkerSymbolSelectComponent"));
|
|
@@ -86,7 +86,7 @@ class MarkersLayerDesignerComponent extends react_1.default.Component {
|
|
|
86
86
|
return this.update({ lineWidth });
|
|
87
87
|
};
|
|
88
88
|
renderTable() {
|
|
89
|
-
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(
|
|
89
|
+
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(expressions_ui_2.TableSelectComponent, {
|
|
90
90
|
schema: this.props.schema,
|
|
91
91
|
value: this.props.design.table,
|
|
92
92
|
onChange: this.handleTableChange,
|
|
@@ -12,4 +12,9 @@ import { JsonQLFilter } from "..";
|
|
|
12
12
|
export declare function createPopupFilters(popupFilterJoins: {
|
|
13
13
|
[tableId: string]: Expr;
|
|
14
14
|
}, schema: Schema, layerTable: any, rowId: any, useWithin?: boolean): JsonQLFilter[];
|
|
15
|
-
export declare function createDefaultPopupFilterJoins(table: any): {
|
|
15
|
+
export declare function createDefaultPopupFilterJoins(table: any): {
|
|
16
|
+
[x: number]: {
|
|
17
|
+
table: any;
|
|
18
|
+
type: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -30,7 +30,7 @@ function createPopupFilters(popupFilterJoins, schema, layerTable, rowId, useWith
|
|
|
30
30
|
type: "op",
|
|
31
31
|
op: "within",
|
|
32
32
|
table,
|
|
33
|
-
exprs: [expr, { type: "literal", idTable: exprUtils.getExprIdTable(expr), valueType: "id", value: rowId }]
|
|
33
|
+
exprs: [expr, { type: "literal", idTable: exprUtils.getExprIdTable(expr) ?? undefined, valueType: "id", value: rowId }]
|
|
34
34
|
};
|
|
35
35
|
filters.push({ table, jsonql: exprCompiler.compileExpr({ expr: filterExpr, tableAlias: "{alias}" }) });
|
|
36
36
|
}
|
|
@@ -83,9 +83,10 @@ function createPopupFilters(popupFilterJoins, schema, layerTable, rowId, useWith
|
|
|
83
83
|
exports.createPopupFilters = createPopupFilters;
|
|
84
84
|
// Create default popup filter joins where the join is just the id (not used for choropleth since that needs to join to admin_regions)
|
|
85
85
|
function createDefaultPopupFilterJoins(table) {
|
|
86
|
-
const popupFilterJoins = {};
|
|
87
86
|
// Return id of row for a simple match
|
|
88
|
-
popupFilterJoins
|
|
87
|
+
const popupFilterJoins = {
|
|
88
|
+
[table]: { table, type: "id" }
|
|
89
|
+
};
|
|
89
90
|
return popupFilterJoins;
|
|
90
91
|
}
|
|
91
92
|
exports.createDefaultPopupFilterJoins = createDefaultPopupFilterJoins;
|
|
@@ -2,6 +2,7 @@ import PropTypes from "prop-types";
|
|
|
2
2
|
import React, { ReactNode } from "react";
|
|
3
3
|
import LeafletMapComponent from "./LeafletMapComponent";
|
|
4
4
|
import { Schema, DataSource } from "@mwater/expressions";
|
|
5
|
+
import ModalPopupComponent from "@mwater/react-library/lib/ModalPopupComponent";
|
|
5
6
|
import { JsonQLFilter } from "../JsonQLFilter";
|
|
6
7
|
import { MapDesign } from "./MapDesign";
|
|
7
8
|
import { MapDataSource } from "./MapDataSource";
|
|
@@ -64,15 +65,7 @@ export default class RasterMapViewComponent extends React.Component<RasterMapVie
|
|
|
64
65
|
locale: string;
|
|
65
66
|
onHide: () => void;
|
|
66
67
|
}>;
|
|
67
|
-
renderPopup(): React.CElement<
|
|
68
|
-
onClose: () => void;
|
|
69
|
-
showCloseX: boolean;
|
|
70
|
-
size: string;
|
|
71
|
-
}, React.Component<{
|
|
72
|
-
onClose: () => void;
|
|
73
|
-
showCloseX: boolean;
|
|
74
|
-
size: string;
|
|
75
|
-
}, any, any>> | null;
|
|
68
|
+
renderPopup(): React.CElement<import("@mwater/react-library/lib/ModalPopupComponent").ModalPopupComponentProps, ModalPopupComponent> | null;
|
|
76
69
|
render(): React.DetailedReactHTMLElement<{
|
|
77
70
|
style: {
|
|
78
71
|
width: number;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { IdLiteralComponent } from "@mwater/expressions-ui";
|
|
2
3
|
import { DataSource, Schema } from "@mwater/expressions";
|
|
3
4
|
export interface RegionSelectComponentProps {
|
|
4
5
|
schema: Schema;
|
|
@@ -19,5 +20,5 @@ export default class RegionSelectComponent extends React.Component<RegionSelectC
|
|
|
19
20
|
regionsTable: string;
|
|
20
21
|
};
|
|
21
22
|
handleChange: (id: any) => void;
|
|
22
|
-
render(): React.
|
|
23
|
+
render(): React.CElement<import("@mwater/expressions-ui/lib/IdLiteralComponent").IdLiteralComponentProps, IdLiteralComponent>;
|
|
23
24
|
}
|
|
@@ -22,7 +22,7 @@ interface ServerMapDataSourceOptions {
|
|
|
22
22
|
/** map id to use on server */
|
|
23
23
|
mapId: string;
|
|
24
24
|
/** revision to use to allow caching */
|
|
25
|
-
rev:
|
|
25
|
+
rev: number;
|
|
26
26
|
}
|
|
27
27
|
interface ServerMapLayerDataSourceOptions extends ServerMapDataSourceOptions {
|
|
28
28
|
layerView: MapLayerView;
|
package/lib/maps/UtfGridLayer.js
CHANGED
package/lib/maps/vectorMaps.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Map, LngLatBoundsLike } from "maplibre-gl";
|
|
|
2
2
|
import "maplibre-gl/dist/maplibre-gl.css";
|
|
3
3
|
import "./VectorMapViewComponent.css";
|
|
4
4
|
import React from "react";
|
|
5
|
+
export declare function setPrintingModeEnabled(val: boolean): void;
|
|
5
6
|
/** This must be called to set the appropriate key before use. If it is not set, vector maps will not function.
|
|
6
7
|
* Maps will fall back to leaflet if the key is not set or if set to ""
|
|
7
8
|
*/
|
package/lib/maps/vectorMaps.js
CHANGED
|
@@ -3,13 +3,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.usePersistedMapBounds = exports.VectorMapLogo = exports.AttributionControl = exports.mergeBaseAndUserStyle = exports.useBaseStyle = exports.useStyleMap = exports.useHoverCursor = exports.useVectorMap = exports.areVectorMapsEnabled = exports.getMapTilerApiKey = exports.setMapTilerApiKey = void 0;
|
|
6
|
+
exports.usePersistedMapBounds = exports.VectorMapLogo = exports.AttributionControl = exports.mergeBaseAndUserStyle = exports.useBaseStyle = exports.useStyleMap = exports.useHoverCursor = exports.useVectorMap = exports.areVectorMapsEnabled = exports.getMapTilerApiKey = exports.setMapTilerApiKey = exports.setPrintingModeEnabled = void 0;
|
|
7
7
|
const maplibre_gl_1 = __importDefault(require("maplibre-gl"));
|
|
8
8
|
const react_1 = require("react");
|
|
9
9
|
const mapSymbols_1 = require("./mapSymbols");
|
|
10
10
|
require("maplibre-gl/dist/maplibre-gl.css");
|
|
11
11
|
require("./VectorMapViewComponent.css");
|
|
12
12
|
const react_2 = __importDefault(require("react"));
|
|
13
|
+
/** Set to true to enable printing by preserving the drawing buffer */
|
|
14
|
+
let printingModeEnabled = false;
|
|
15
|
+
function setPrintingModeEnabled(val) {
|
|
16
|
+
printingModeEnabled = val;
|
|
17
|
+
}
|
|
18
|
+
exports.setPrintingModeEnabled = setPrintingModeEnabled;
|
|
13
19
|
/* Hooks and functions related to displaying a vector map */
|
|
14
20
|
let mapTilerApiKey = "";
|
|
15
21
|
/** This must be called to set the appropriate key before use. If it is not set, vector maps will not function.
|
|
@@ -45,7 +51,8 @@ function useVectorMap(options) {
|
|
|
45
51
|
return;
|
|
46
52
|
}
|
|
47
53
|
const observer = new IntersectionObserver(function (entries) {
|
|
48
|
-
|
|
54
|
+
// When in printing mode, always visible as we need to render the map
|
|
55
|
+
setMapDivVisible(entries[0].isIntersecting || printingModeEnabled);
|
|
49
56
|
});
|
|
50
57
|
observer.observe(divRef);
|
|
51
58
|
return () => {
|
|
@@ -82,6 +89,7 @@ function useVectorMap(options) {
|
|
|
82
89
|
[-179.9, -85],
|
|
83
90
|
[179.9, 85] // Northeast coordinates
|
|
84
91
|
],
|
|
92
|
+
preserveDrawingBuffer: printingModeEnabled
|
|
85
93
|
});
|
|
86
94
|
setHasWebGLContext(true);
|
|
87
95
|
// Add listener for losing context
|
|
@@ -12,5 +12,5 @@ export default class QuickfilterCompiler {
|
|
|
12
12
|
* See README for values
|
|
13
13
|
*/
|
|
14
14
|
compile(design: Quickfilter[] | undefined, values: any[] | null, locks: QuickfilterLock[] | null | undefined): JsonQLFilter[];
|
|
15
|
-
compileToFilterExpr(expr: any, value: any, multi
|
|
15
|
+
compileToFilterExpr(expr: any, value: any, multi?: boolean): OpExpr | null;
|
|
16
16
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DropdownWidgetComponent from "./DropdownWidgetComponent";
|
|
3
|
+
import ModalPopupComponent from "@mwater/react-library/lib/ModalPopupComponent";
|
|
3
4
|
export interface IFrameWidgetComponentProps {
|
|
4
5
|
design: any;
|
|
5
6
|
/** Called with new design. null/undefined for readonly */
|
|
@@ -15,15 +16,7 @@ export default class IFrameWidgetComponent extends React.Component<IFrameWidgetC
|
|
|
15
16
|
constructor(props: any);
|
|
16
17
|
handleStartEditing: () => void;
|
|
17
18
|
handleEndEditing: () => any;
|
|
18
|
-
renderEditor(): React.CElement<
|
|
19
|
-
header: string;
|
|
20
|
-
showCloseX: boolean;
|
|
21
|
-
onClose: () => any;
|
|
22
|
-
}, React.Component<{
|
|
23
|
-
header: string;
|
|
24
|
-
showCloseX: boolean;
|
|
25
|
-
onClose: () => any;
|
|
26
|
-
}, any, any>> | null;
|
|
19
|
+
renderEditor(): React.CElement<import("@mwater/react-library/lib/ModalPopupComponent").ModalPopupComponentProps, ModalPopupComponent> | null;
|
|
27
20
|
renderEditLink(): React.DetailedReactHTMLElement<{
|
|
28
21
|
className: string;
|
|
29
22
|
onClick: () => void;
|