@mwater/visualization 5.3.2 → 5.4.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/ColorComponent.d.ts +1 -1
- package/lib/ColorComponent.js +2 -2
- package/lib/CustomColorsContext.d.ts +0 -1
- package/lib/DateRangeComponent.js +10 -10
- package/lib/LocaleContextInjector.js +2 -2
- package/lib/MWaterAddRelatedFormComponent.js +8 -8
- package/lib/MWaterAddRelatedIndicatorComponent.d.ts +0 -1
- package/lib/MWaterAddRelatedIndicatorComponent.js +6 -6
- package/lib/MWaterAssetSystemsListComponent.d.ts +3 -3
- package/lib/MWaterAssetSystemsListComponent.js +4 -3
- package/lib/MWaterCompleteTableSelectComponent.d.ts +33 -34
- package/lib/MWaterCompleteTableSelectComponent.js +39 -38
- package/lib/MWaterCustomTablesetListComponent.d.ts +3 -3
- package/lib/MWaterCustomTablesetListComponent.js +5 -4
- package/lib/MWaterGlobalFiltersComponent.js +4 -4
- package/lib/MWaterLoaderComponent.d.ts +5 -5
- package/lib/MWaterLoaderComponent.js +1 -1
- package/lib/MWaterMetricsTableListComponent.d.ts +3 -3
- package/lib/MWaterMetricsTableListComponent.js +4 -3
- package/lib/MWaterResponsesFilterComponent.js +4 -4
- package/lib/MWaterTableSelectComponent.d.ts +1 -1
- package/lib/MWaterTableSelectComponent.js +5 -5
- package/lib/PopoverComponent.d.ts +4 -4
- package/lib/UIComponents.d.ts +5 -2
- package/lib/axes/AxisBuilder.js +42 -43
- package/lib/axes/AxisColorEditorComponent.d.ts +4 -4
- package/lib/axes/AxisColorEditorComponent.js +25 -60
- package/lib/axes/AxisComponent.d.ts +2 -3
- package/lib/axes/AxisComponent.js +20 -20
- package/lib/axes/BinsComponent.js +6 -6
- package/lib/axes/CategoryMapComponent.d.ts +2 -1
- package/lib/axes/CategoryMapComponent.js +7 -5
- package/lib/axes/ColorPaletteCollectionComponent.js +3 -3
- package/lib/axes/RangesComponent.js +12 -12
- package/lib/compressJson.js +1 -1
- package/lib/dashboards/DashboardComponent.d.ts +2 -0
- package/lib/dashboards/DashboardComponent.js +15 -8
- package/lib/dashboards/DashboardUtils.js +2 -3
- package/lib/dashboards/DashboardViewComponent.js +4 -4
- package/lib/dashboards/FontStyleEditor.js +8 -8
- package/lib/dashboards/LayoutOptionsComponent.js +101 -74
- package/lib/dashboards/SettingsModalComponent.d.ts +3 -4
- package/lib/dashboards/SettingsModalComponent.js +54 -40
- package/lib/dashboards/WidgetComponent.d.ts +0 -1
- package/lib/dashboards/WidgetComponent.js +1 -2
- package/lib/dashboards/layoutOptions.js +11 -7
- package/lib/datagrids/DatagridComponent.d.ts +1 -8
- package/lib/datagrids/DatagridComponent.js +14 -13
- package/lib/datagrids/DatagridDesignerComponent.js +18 -18
- package/lib/datagrids/DatagridQueryBuilder.d.ts +4 -4
- package/lib/datagrids/DatagridUtils.js +2 -2
- package/lib/datagrids/DatagridViewComponent.js +4 -4
- package/lib/datagrids/ExprCellComponent.js +1 -1
- package/lib/datagrids/FindReplaceModalComponent.js +17 -17
- package/lib/datagrids/OrderBysDesignerComponent.js +2 -2
- package/lib/languages.js +2 -2
- package/lib/layouts/DecoratedBlockComponent.js +2 -2
- package/lib/layouts/blocks/BlocksDisplayComponent.js +13 -13
- package/lib/layouts/blocks/BlocksLayoutManager.d.ts +2 -1
- package/lib/layouts/blocks/ClipboardPaletteItemComponent.js +3 -3
- package/lib/layouts/blocks/HorizontalBlockComponent.js +3 -3
- package/lib/layouts/blocks/blockUtils.js +4 -5
- package/lib/mWaterLoader.js +1 -1
- package/lib/maps/AddLayerComponent.js +13 -13
- package/lib/maps/AdminScopeAndDetailLevelComponent.js +5 -5
- package/lib/maps/BaseLayerDesignerComponent.js +2 -2
- package/lib/maps/BufferLayer.js +7 -7
- package/lib/maps/BufferLayerDesignerComponent.js +8 -8
- package/lib/maps/ChoroplethLayer.js +6 -6
- package/lib/maps/ChoroplethLayerDesigner.js +16 -16
- package/lib/maps/ClusterLayer.js +3 -3
- package/lib/maps/ClusterLayerDesignerComponent.js +5 -5
- package/lib/maps/DetailLevelSelectComponent.d.ts +11 -1
- package/lib/maps/DetailLevelSelectComponent.js +3 -3
- package/lib/maps/DirectMapDataSource.js +1 -2
- package/lib/maps/EditHoverOver.js +7 -5
- package/lib/maps/EditPopupComponent.js +2 -2
- package/lib/maps/GridLayer.js +5 -5
- package/lib/maps/GridLayerDesigner.js +15 -15
- package/lib/maps/LayerSwitcherComponent.js +1 -2
- package/lib/maps/LeafletMapComponent.d.ts +1 -1
- package/lib/maps/LeafletMapComponent.js +1 -1
- package/lib/maps/LegendComponent.js +1 -1
- package/lib/maps/MWaterServerLayer.d.ts +0 -1
- package/lib/maps/MWaterServerLayer.js +1 -1
- package/lib/maps/MapComponent.js +8 -8
- package/lib/maps/MapControlComponent.js +1 -1
- package/lib/maps/MapDesignerComponent.js +16 -16
- package/lib/maps/MapFiltersDesignerComponent.js +2 -2
- package/lib/maps/MapLayerViewDesignerComponent.js +8 -8
- package/lib/maps/MapUtils.js +6 -7
- package/lib/maps/MapViewComponent.js +1 -2
- package/lib/maps/MarkerSymbolSelectComponent.js +3 -3
- package/lib/maps/MarkersLayer.js +6 -7
- package/lib/maps/MarkersLayerDesignerComponent.js +22 -22
- package/lib/maps/PopupFilterJoinsEditComponent.js +4 -4
- package/lib/maps/PopupFilterJoinsUtils.js +2 -3
- package/lib/maps/RasterMapViewComponent.d.ts +3 -3
- package/lib/maps/RasterMapViewComponent.js +4 -4
- package/lib/maps/RegionSelectComponent.d.ts +1 -3
- package/lib/maps/RegionSelectComponent.js +1 -2
- package/lib/maps/ScopeAndDetailLevelComponent.js +3 -3
- package/lib/maps/TileUrlLayer.d.ts +1 -1
- package/lib/maps/TileUrlLayer.js +3 -3
- package/lib/maps/VectorMapViewComponent.js +6 -7
- package/lib/maps/ZoomLevelsComponent.js +5 -5
- package/lib/maps/mapSymbols.d.ts +1 -1
- package/lib/maps/mapSymbols.js +51 -50
- package/lib/maps/mapboxUtils.js +2 -3
- package/lib/maps/maps.d.ts +0 -1
- package/lib/maps/vectorMaps.js +14 -15
- package/lib/memoizedDebounce.js +1 -2
- package/lib/quickfilter/DateExprComponent.d.ts +4 -0
- package/lib/quickfilter/DateExprComponent.js +17 -16
- package/lib/quickfilter/IdArrayQuickfilterComponent.js +1 -1
- package/lib/quickfilter/QuickfilterUtils.js +1 -2
- package/lib/quickfilter/QuickfiltersComponent.d.ts +23 -2
- package/lib/quickfilter/QuickfiltersComponent.js +2 -2
- package/lib/quickfilter/QuickfiltersDesignComponent.js +8 -8
- package/lib/quickfilter/TextLiteralComponent.d.ts +35 -2
- package/lib/quickfilter/TextLiteralComponent.js +6 -6
- package/lib/richtext/DropdownPaletteItem.js +1 -1
- package/lib/richtext/ExprItemsHtmlConverter.js +8 -10
- package/lib/richtext/FontColorPaletteItem.js +7 -7
- package/lib/richtext/ItemsHtmlConverter.js +0 -1
- package/lib/richtext/RichTextComponent.d.ts +1 -0
- package/lib/richtext/RichTextComponent.js +33 -29
- package/lib/valueFormatter.js +18 -19
- package/lib/wellknown.js +2 -3
- package/lib/widgets/IFrameWidgetComponent.d.ts +9 -1
- package/lib/widgets/IFrameWidgetComponent.js +3 -3
- package/lib/widgets/ImageUploaderComponent.js +5 -5
- package/lib/widgets/ImageWidget.js +2 -2
- package/lib/widgets/ImageWidgetComponent.d.ts +9 -1
- package/lib/widgets/ImageWidgetComponent.js +20 -20
- package/lib/widgets/ImagelistCarouselComponent.js +1 -1
- package/lib/widgets/MapWidget.js +2 -2
- package/lib/widgets/MarkdownWidget.d.ts +1 -1
- package/lib/widgets/MarkdownWidget.js +1 -1
- package/lib/widgets/TOCWidget.js +11 -12
- package/lib/widgets/WidgetScopesViewComponent.js +1 -1
- package/lib/widgets/charts/Chart.js +1 -1
- package/lib/widgets/charts/ChartViewComponent.js +9 -9
- package/lib/widgets/charts/ChartWidgetComponent.js +4 -4
- package/lib/widgets/charts/calendar/CalendarChart.js +4 -4
- package/lib/widgets/charts/calendar/CalendarChartDesignerComponent.js +7 -7
- package/lib/widgets/charts/calendar/CalendarChartViewComponent.js +3 -3
- package/lib/widgets/charts/imagemosaic/ImageMosaicChart.d.ts +18 -5
- package/lib/widgets/charts/imagemosaic/ImageMosaicChart.js +3 -4
- package/lib/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.js +5 -5
- package/lib/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.d.ts +5 -19
- package/lib/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.js +66 -70
- package/lib/widgets/charts/imagemosaic/ImagePopupComponent.js +1 -1
- package/lib/widgets/charts/layered/LayeredChart.d.ts +1 -1
- package/lib/widgets/charts/layered/LayeredChart.js +9 -9
- package/lib/widgets/charts/layered/LayeredChartCompiler.d.ts +8 -8
- package/lib/widgets/charts/layered/LayeredChartCompiler.js +15 -15
- package/lib/widgets/charts/layered/LayeredChartDesignerComponent.js +33 -33
- package/lib/widgets/charts/layered/LayeredChartLayerDesignerComponent.js +16 -16
- package/lib/widgets/charts/layered/LayeredChartUtils.js +1 -2
- package/lib/widgets/charts/layered/LayeredChartViewComponent.js +4 -4
- package/lib/widgets/charts/pivot/IntersectionDesignerComponent.js +18 -17
- package/lib/widgets/charts/pivot/PivotChart.d.ts +1 -1
- package/lib/widgets/charts/pivot/PivotChart.js +12 -4
- package/lib/widgets/charts/pivot/PivotChartDesignerComponent.d.ts +5 -5
- package/lib/widgets/charts/pivot/PivotChartDesignerComponent.js +10 -10
- package/lib/widgets/charts/pivot/PivotChartLayoutComponent.js +5 -5
- package/lib/widgets/charts/pivot/PivotChartQueryBuilder.d.ts +1 -1
- package/lib/widgets/charts/pivot/PivotChartQueryBuilder.js +5 -6
- package/lib/widgets/charts/pivot/PivotChartUtils.js +11 -12
- package/lib/widgets/charts/pivot/PivotChartViewComponent.js +9 -9
- package/lib/widgets/charts/pivot/SegmentDesignerComponent.d.ts +30 -30
- package/lib/widgets/charts/pivot/SegmentDesignerComponent.js +28 -26
- package/lib/widgets/charts/table/OrderingsComponent.js +2 -2
- package/lib/widgets/charts/table/TableChart.js +3 -3
- package/lib/widgets/charts/table/TableChartDesignerComponent.js +17 -17
- package/lib/widgets/charts/table/TableChartViewComponent.js +3 -3
- package/lib/widgets/text/ExprInsertModalComponent.d.ts +2 -3
- package/lib/widgets/text/ExprInsertModalComponent.js +2 -14
- package/lib/widgets/text/ExprItemEditorComponent.js +4 -4
- package/lib/widgets/text/ExprUpdateModalComponent.d.ts +2 -3
- package/lib/widgets/text/ExprUpdateModalComponent.js +3 -15
- package/lib/widgets/text/TextComponent.js +3 -3
- package/lib/widgets/text/TextWidget.d.ts +1 -1
- package/lib/widgets/text/TextWidgetComponent.js +11 -11
- package/lib/widgets/text/TextWidgetDesign.d.ts +2 -1
- package/lib/widgets/text/TextWidgetDesign.js +1 -2
- package/package.json +3 -3
- package/src/ColorComponent.tsx +2 -2
- package/src/DateRangeComponent.ts +10 -10
- package/src/LocaleContextInjector.tsx +1 -1
- package/src/MWaterAddRelatedFormComponent.ts +7 -7
- package/src/MWaterAddRelatedIndicatorComponent.ts +5 -5
- package/src/MWaterAssetSystemsListComponent.tsx +3 -3
- package/src/MWaterCompleteTableSelectComponent.tsx +36 -35
- package/src/MWaterCustomTablesetListComponent.tsx +4 -4
- package/src/MWaterGlobalFiltersComponent.ts +4 -4
- package/src/MWaterLoaderComponent.ts +1 -1
- package/src/MWaterMetricsTableListComponent.tsx +3 -3
- package/src/MWaterResponsesFilterComponent.ts +6 -6
- package/src/MWaterTableSelectComponent.tsx +6 -7
- package/src/axes/AxisBuilder.ts +42 -44
- package/src/axes/AxisColorEditorComponent.tsx +178 -0
- package/src/axes/AxisComponent.ts +20 -20
- package/src/axes/BinsComponent.tsx +6 -6
- package/src/axes/CategoryMapComponent.ts +10 -10
- package/src/axes/ColorPaletteCollectionComponent.tsx +3 -3
- package/src/axes/RangesComponent.ts +14 -14
- package/src/dashboards/DashboardComponent.tsx +21 -9
- package/src/dashboards/DashboardViewComponent.tsx +3 -3
- package/src/dashboards/FontStyleEditor.tsx +8 -8
- package/src/dashboards/LayoutOptionsComponent.tsx +74 -74
- package/src/dashboards/SettingsModalComponent.tsx +134 -107
- package/src/dashboards/layoutOptions.tsx +5 -1
- package/src/datagrids/DatagridComponent.ts +65 -62
- package/src/datagrids/DatagridDesignerComponent.tsx +17 -17
- package/src/datagrids/DatagridUtils.ts +2 -2
- package/src/datagrids/DatagridViewComponent.ts +3 -3
- package/src/datagrids/ExprCellComponent.ts +1 -1
- package/src/datagrids/FindReplaceModalComponent.ts +13 -13
- package/src/datagrids/OrderBysDesignerComponent.tsx +2 -2
- package/src/globals.d.ts +7 -1
- package/src/languages.ts +2 -2
- package/src/layouts/blocks/BlocksDisplayComponent.tsx +13 -13
- package/src/layouts/blocks/BlocksLayoutManager.ts +3 -2
- package/src/layouts/blocks/ClipboardPaletteItemComponent.ts +3 -3
- package/src/maps/AddLayerComponent.ts +13 -13
- package/src/maps/AdminScopeAndDetailLevelComponent.ts +5 -5
- package/src/maps/BaseLayerDesignerComponent.ts +8 -8
- package/src/maps/BufferLayer.ts +5 -5
- package/src/maps/BufferLayerDesignerComponent.ts +8 -8
- package/src/maps/ChoroplethLayer.ts +3 -3
- package/src/maps/ChoroplethLayerDesigner.tsx +16 -16
- package/src/maps/ClusterLayer.ts +3 -3
- package/src/maps/ClusterLayerDesignerComponent.ts +5 -5
- package/src/maps/DetailLevelSelectComponent.ts +3 -3
- package/src/maps/EditHoverOver.tsx +5 -5
- package/src/maps/EditPopupComponent.ts +2 -2
- package/src/maps/GridLayer.ts +5 -5
- package/src/maps/GridLayerDesigner.tsx +15 -16
- package/src/maps/MWaterServerLayer.ts +1 -1
- package/src/maps/MapComponent.ts +6 -6
- package/src/maps/MapControlComponent.ts +1 -1
- package/src/maps/MapDesignerComponent.tsx +20 -20
- package/src/maps/MapFiltersDesignerComponent.tsx +3 -3
- package/src/maps/MapLayerViewDesignerComponent.ts +9 -9
- package/src/maps/MarkerSymbolSelectComponent.ts +4 -5
- package/src/maps/MarkersLayerDesignerComponent.ts +22 -22
- package/src/maps/PopupFilterJoinsEditComponent.ts +4 -4
- package/src/maps/RasterMapViewComponent.ts +2 -2
- package/src/maps/RegionSelectComponent.ts +1 -2
- package/src/maps/ScopeAndDetailLevelComponent.ts +3 -3
- package/src/maps/TileUrlLayer.tsx +3 -3
- package/src/maps/VectorMapViewComponent.tsx +5 -5
- package/src/maps/ZoomLevelsComponent.ts +6 -6
- package/src/maps/mapSymbols.ts +49 -49
- package/src/maps/vectorMaps.tsx +2 -2
- package/src/quickfilter/DateExprComponent.ts +19 -18
- package/src/quickfilter/IdArrayQuickfilterComponent.ts +1 -1
- package/src/quickfilter/QuickfiltersComponent.ts +1 -1
- package/src/quickfilter/QuickfiltersDesignComponent.tsx +9 -9
- package/src/quickfilter/TextLiteralComponent.ts +4 -4
- package/src/richtext/DropdownPaletteItem.tsx +1 -1
- package/src/richtext/ExprItemsHtmlConverter.ts +8 -10
- package/src/richtext/ItemsHtmlConverter.ts +0 -1
- package/src/richtext/RichTextComponent.tsx +31 -31
- package/src/valueFormatter.ts +14 -14
- package/src/widgets/IFrameWidgetComponent.ts +3 -3
- package/src/widgets/ImageUploaderComponent.tsx +5 -5
- package/src/widgets/ImageWidget.ts +2 -2
- package/src/widgets/ImageWidgetComponent.ts +26 -26
- package/src/widgets/ImagelistCarouselComponent.ts +2 -2
- package/src/widgets/MapWidget.ts +1 -1
- package/src/widgets/MarkdownWidget.ts +1 -1
- package/src/widgets/TOCWidget.ts +13 -14
- package/src/widgets/WidgetScopesViewComponent.ts +1 -1
- package/src/widgets/charts/Chart.ts +1 -1
- package/src/widgets/charts/ChartViewComponent.ts +4 -4
- package/src/widgets/charts/ChartWidgetComponent.tsx +3 -3
- package/src/widgets/charts/calendar/CalendarChart.ts +4 -4
- package/src/widgets/charts/calendar/CalendarChartDesignerComponent.ts +7 -7
- package/src/widgets/charts/calendar/CalendarChartViewComponent.tsx +2 -2
- package/src/widgets/charts/imagemosaic/ImageMosaicChart.ts +25 -8
- package/src/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.ts +5 -5
- package/src/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.tsx +128 -0
- package/src/widgets/charts/layered/LayeredChart.ts +9 -9
- package/src/widgets/charts/layered/LayeredChartCompiler.ts +45 -45
- package/src/widgets/charts/layered/LayeredChartDesignerComponent.tsx +39 -39
- package/src/widgets/charts/layered/LayeredChartLayerDesignerComponent.tsx +18 -19
- package/src/widgets/charts/layered/LayeredChartViewComponent.ts +1 -1
- package/src/widgets/charts/pivot/IntersectionDesignerComponent.tsx +22 -23
- package/src/widgets/charts/pivot/PivotChart.ts +15 -5
- package/src/widgets/charts/pivot/PivotChartDesignerComponent.tsx +12 -12
- package/src/widgets/charts/pivot/PivotChartLayoutComponent.tsx +5 -5
- package/src/widgets/charts/pivot/PivotChartQueryBuilder.ts +7 -8
- package/src/widgets/charts/pivot/PivotChartViewComponent.tsx +6 -6
- package/src/widgets/charts/pivot/SegmentDesignerComponent.tsx +30 -30
- package/src/widgets/charts/table/OrderingsComponent.tsx +2 -2
- package/src/widgets/charts/table/TableChart.ts +3 -3
- package/src/widgets/charts/table/TableChartDesignerComponent.ts +16 -16
- package/src/widgets/charts/table/TableChartViewComponent.ts +2 -2
- package/src/widgets/text/{ExprInsertModalComponent.ts → ExprInsertModalComponent.tsx} +18 -20
- package/src/widgets/text/ExprItemEditorComponent.tsx +4 -4
- package/src/widgets/text/{ExprUpdateModalComponent.ts → ExprUpdateModalComponent.tsx} +18 -20
- package/src/widgets/text/TextComponent.tsx +2 -2
- package/src/widgets/text/TextWidgetComponent.tsx +10 -10
- package/src/widgets/text/TextWidgetDesign.ts +3 -1
- package/src/axes/AxisColorEditorComponent.ts +0 -210
- package/src/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.ts +0 -117
|
@@ -99,33 +99,33 @@ class GridLayerDesigner extends react_1.default.Component {
|
|
|
99
99
|
};
|
|
100
100
|
renderShape() {
|
|
101
101
|
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
102
|
-
react_1.default.createElement("label", { className: "text-muted" },
|
|
102
|
+
react_1.default.createElement("label", { className: "text-muted" }, T `Grid Type`),
|
|
103
103
|
react_1.default.createElement("div", { style: { marginLeft: 10 } },
|
|
104
104
|
react_1.default.createElement(ui.Toggle, { allowReset: false, value: this.props.design.shape, onChange: this.handleShapeChange, size: "sm", options: [
|
|
105
|
-
{ value: "hex", label:
|
|
106
|
-
{ value: "square", label:
|
|
105
|
+
{ value: "hex", label: T `Hexagonal` },
|
|
106
|
+
{ value: "square", label: T `Square` }
|
|
107
107
|
] }))));
|
|
108
108
|
}
|
|
109
109
|
renderSize() {
|
|
110
110
|
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
111
|
-
react_1.default.createElement("label", { className: "text-muted" },
|
|
111
|
+
react_1.default.createElement("label", { className: "text-muted" }, T `Size`),
|
|
112
112
|
react_1.default.createElement("div", { style: { marginLeft: 10 } },
|
|
113
113
|
react_1.default.createElement("div", { style: { display: "inline-block" } },
|
|
114
114
|
react_1.default.createElement(ui.NumberInput, { decimal: true, value: this.props.design.size, onChange: this.handleSizeChange })),
|
|
115
115
|
"\u00A0",
|
|
116
116
|
react_1.default.createElement("div", { style: { display: "inline-block" } },
|
|
117
117
|
react_1.default.createElement(ui.Toggle, { allowReset: false, value: this.props.design.sizeUnits, onChange: this.handleSizeUnitsChange, size: "sm", options: [
|
|
118
|
-
{ value: "pixels", label:
|
|
119
|
-
{ value: "meters", label:
|
|
118
|
+
{ value: "pixels", label: T `Pixels` },
|
|
119
|
+
{ value: "meters", label: T `Meters (approximate)` }
|
|
120
120
|
] })),
|
|
121
121
|
"\u00A0",
|
|
122
|
-
react_1.default.createElement(PopoverHelpComponent_1.default, { placement: "bottom" },
|
|
122
|
+
react_1.default.createElement(PopoverHelpComponent_1.default, { placement: "bottom" }, T `Pixel grids always appear to be the same size when zoomed. Meters are for a fixed-size grid and have limits on how far the user can zoom out.`))));
|
|
123
123
|
}
|
|
124
124
|
renderTable() {
|
|
125
125
|
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
126
126
|
react_1.default.createElement("label", { className: "text-muted" },
|
|
127
127
|
react_1.default.createElement("i", { className: "fa fa-database" }),
|
|
128
|
-
|
|
128
|
+
T ` Data Source`),
|
|
129
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 })));
|
|
130
130
|
}
|
|
131
131
|
renderGeometryExpr() {
|
|
@@ -136,7 +136,7 @@ class GridLayerDesigner extends react_1.default.Component {
|
|
|
136
136
|
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
137
137
|
react_1.default.createElement("label", { className: "text-muted" },
|
|
138
138
|
react_1.default.createElement("i", { className: "fas fa-map-marker-alt" }),
|
|
139
|
-
|
|
139
|
+
T ` Location`),
|
|
140
140
|
react_1.default.createElement("div", { style: { marginLeft: 8 } },
|
|
141
141
|
react_1.default.createElement(expressions_ui_1.ExprComponent, { schema: this.props.schema, dataSource: this.props.dataSource, onChange: this.handleGeometryExprChange, table: this.props.design.table, types: ["geometry"], value: this.props.design.geometryExpr }))));
|
|
142
142
|
}
|
|
@@ -154,7 +154,7 @@ class GridLayerDesigner extends react_1.default.Component {
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
const table = this.props.design.table;
|
|
157
|
-
return R("div", null, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }),
|
|
157
|
+
return R("div", null, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T `Color By Data`), R(AxisComponent_1.default, {
|
|
158
158
|
schema: this.props.schema,
|
|
159
159
|
dataSource: this.props.dataSource,
|
|
160
160
|
table: this.props.design.table,
|
|
@@ -168,7 +168,7 @@ class GridLayerDesigner extends react_1.default.Component {
|
|
|
168
168
|
})));
|
|
169
169
|
}
|
|
170
170
|
renderFillOpacity() {
|
|
171
|
-
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" },
|
|
171
|
+
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Fill Opacity (%)`), ": ", R(rc_slider_1.default, {
|
|
172
172
|
min: 0,
|
|
173
173
|
max: 100,
|
|
174
174
|
step: 1,
|
|
@@ -179,11 +179,11 @@ class GridLayerDesigner extends react_1.default.Component {
|
|
|
179
179
|
}
|
|
180
180
|
renderBorderStyle() {
|
|
181
181
|
return (react_1.default.createElement("div", { className: "mb-3" },
|
|
182
|
-
react_1.default.createElement("label", { className: "text-muted" },
|
|
182
|
+
react_1.default.createElement("label", { className: "text-muted" }, T `Border Style`),
|
|
183
183
|
react_1.default.createElement("div", { style: { marginLeft: 10 } },
|
|
184
184
|
react_1.default.createElement(ui.Toggle, { allowReset: false, value: this.props.design.borderStyle, onChange: this.handleBorderStyleChange, size: "sm", options: [
|
|
185
|
-
{ value: "none", label:
|
|
186
|
-
{ value: "color", label:
|
|
185
|
+
{ value: "none", label: T `None` },
|
|
186
|
+
{ value: "color", label: T `Line` }
|
|
187
187
|
] }))));
|
|
188
188
|
}
|
|
189
189
|
renderFilter() {
|
|
@@ -191,7 +191,7 @@ class GridLayerDesigner extends react_1.default.Component {
|
|
|
191
191
|
if (!this.props.design.table) {
|
|
192
192
|
return null;
|
|
193
193
|
}
|
|
194
|
-
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }),
|
|
194
|
+
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), T ` Filters`), R("div", { style: { marginLeft: 8 } }, R(expressions_ui_1.FilterExprComponent, {
|
|
195
195
|
schema: this.props.schema,
|
|
196
196
|
dataSource: this.props.dataSource,
|
|
197
197
|
onChange: this.handleFilterChange,
|
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.LayerSwitcherComponent =
|
|
29
|
+
exports.LayerSwitcherComponent = LayerSwitcherComponent;
|
|
30
30
|
const immer_1 = __importDefault(require("immer"));
|
|
31
31
|
const react_1 = __importStar(require("react"));
|
|
32
32
|
/** Component to switch layers on a map */
|
|
@@ -74,7 +74,6 @@ function LayerSwitcherComponent(props) {
|
|
|
74
74
|
react_1.default.createElement("i", { className: "fas fa-layer-group fa-fw" })),
|
|
75
75
|
dropdownOpen ? (react_1.default.createElement("div", { style: { backgroundColor: "white", padding: 5, textAlign: "left" } }, props.design.layerViews.map(renderLayerView))) : null));
|
|
76
76
|
}
|
|
77
|
-
exports.LayerSwitcherComponent = LayerSwitcherComponent;
|
|
78
77
|
/** Hook for click outside catching */
|
|
79
78
|
function useClickOutside(onClickOut) {
|
|
80
79
|
const node = (0, react_1.useRef)(null);
|
|
@@ -132,7 +132,7 @@ export default class LeafletMapComponent extends Component<Props> {
|
|
|
132
132
|
componentDidMount(): any;
|
|
133
133
|
componentDidUpdate(prevProps: any): any;
|
|
134
134
|
componentWillUnmount(): L.Map;
|
|
135
|
-
openPopup(options: any):
|
|
135
|
+
openPopup(options: any): any;
|
|
136
136
|
updateMap(prevProps?: Props): any;
|
|
137
137
|
render(): React.DetailedReactHTMLElement<{
|
|
138
138
|
className: string | undefined;
|
|
@@ -141,7 +141,7 @@ class LeafletMapComponent extends react_1.Component {
|
|
|
141
141
|
dragging: this.props.dragging,
|
|
142
142
|
touchZoom: this.props.touchZoom,
|
|
143
143
|
scrollWheelZoom: this.props.scrollWheelZoom,
|
|
144
|
-
minZoom: 1,
|
|
144
|
+
minZoom: 1, // Bing doesn't allow going to zero
|
|
145
145
|
keyboard: this.props.keyboard
|
|
146
146
|
};
|
|
147
147
|
// Must not be null, or will not zoom
|
|
@@ -3,6 +3,7 @@ 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.default = LegendComponent;
|
|
6
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
8
|
const react_1 = __importDefault(require("react"));
|
|
8
9
|
const LayerFactory_1 = __importDefault(require("./LayerFactory"));
|
|
@@ -71,4 +72,3 @@ function LegendComponent(props) {
|
|
|
71
72
|
react_1.default.createElement("div", { key: "hide", style: hideStyle, onClick: props.onHide },
|
|
72
73
|
react_1.default.createElement("i", { className: "fa fa-angle-double-right" }))));
|
|
73
74
|
}
|
|
74
|
-
exports.default = LegendComponent;
|
|
@@ -78,7 +78,7 @@ exports.default = MWaterServerLayer;
|
|
|
78
78
|
class LoadingLegend extends react_1.default.Component {
|
|
79
79
|
constructor(props) {
|
|
80
80
|
super(props);
|
|
81
|
-
this.state = { html:
|
|
81
|
+
this.state = { html: T `Loading...` };
|
|
82
82
|
}
|
|
83
83
|
componentDidMount() {
|
|
84
84
|
return jquery_1.default.get(this.props.url).done((data) => {
|
package/lib/maps/MapComponent.js
CHANGED
|
@@ -15,15 +15,15 @@ const PopoverHelpComponent_1 = __importDefault(require("@mwater/react-library/li
|
|
|
15
15
|
const QuickfilterCompiler_1 = __importDefault(require("../quickfilter/QuickfilterCompiler"));
|
|
16
16
|
const QuickfiltersComponent_1 = __importDefault(require("../quickfilter/QuickfiltersComponent"));
|
|
17
17
|
const MapUtils_1 = require("./MapUtils");
|
|
18
|
-
const
|
|
18
|
+
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
19
19
|
/** Map with designer on right */
|
|
20
20
|
class MapComponent extends react_1.default.Component {
|
|
21
|
-
static contextType =
|
|
21
|
+
static contextType = expressions_ui_1.LocaleContext;
|
|
22
22
|
constructor(props) {
|
|
23
23
|
super(props);
|
|
24
24
|
this.state = {
|
|
25
25
|
undoStack: new UndoStack_1.default().push(props.design),
|
|
26
|
-
transientDesign: props.design,
|
|
26
|
+
transientDesign: props.design, // Temporary design for read-only maps
|
|
27
27
|
zoomLocked: true,
|
|
28
28
|
quickfiltersValues: props.quickfiltersValues ?? null,
|
|
29
29
|
hideQuickfilters: false
|
|
@@ -60,22 +60,22 @@ class MapComponent extends react_1.default.Component {
|
|
|
60
60
|
R("a", { key: "lock", className: "btn btn-link btn-sm", onClick: this.handleZoomLockClick }, R("span", {
|
|
61
61
|
className: `fa ${this.state.zoomLocked ? "fa-lock red" : "fa-unlock green"}`,
|
|
62
62
|
style: { marginRight: 5 }
|
|
63
|
-
}), R(PopoverHelpComponent_1.default, { placement: "bottom" },
|
|
63
|
+
}), R(PopoverHelpComponent_1.default, { placement: "bottom" }, T `Changes to zoom level wont be saved in locked mode`)),
|
|
64
64
|
R("a", {
|
|
65
65
|
key: "undo",
|
|
66
66
|
className: `btn btn-link btn-sm ${!this.state.undoStack.canUndo() ? "disabled" : ""}`,
|
|
67
67
|
onClick: this.handleUndo
|
|
68
|
-
}, R("span", { className: "fas fa-caret-left" }), R("span", { className: "hide-600px" },
|
|
68
|
+
}, R("span", { className: "fas fa-caret-left" }), R("span", { className: "hide-600px" }, T ` Undo`)),
|
|
69
69
|
" ",
|
|
70
70
|
R("a", {
|
|
71
71
|
key: "redo",
|
|
72
72
|
className: `btn btn-link btn-sm ${!this.state.undoStack.canRedo() ? "disabled" : ""}`,
|
|
73
73
|
onClick: this.handleRedo
|
|
74
|
-
}, R("span", { className: "fas fa-caret-right" }), R("span", { className: "hide-600px" },
|
|
74
|
+
}, R("span", { className: "fas fa-caret-right" }), R("span", { className: "hide-600px" }, T ` Redo`))
|
|
75
75
|
]
|
|
76
76
|
: undefined, this.state.hideQuickfilters && this.props.design.quickfilters && this.props.design.quickfilters.length > 0
|
|
77
|
-
? R("a", { key: "showQuickfilters", className: "btn btn-link btn-sm", onClick: this.handleShowQuickfilters }, R("span", { className: "fa fa-filter" }), R("span", { className: "hide-600px" },
|
|
78
|
-
: undefined, this.props.extraTitleButtonsElem, R("a", { key: "toggleDesign", className: "btn btn-link btn-sm", onClick: this.handleToggleDesignPanel, alt:
|
|
77
|
+
? R("a", { key: "showQuickfilters", className: "btn btn-link btn-sm", onClick: this.handleShowQuickfilters }, R("span", { className: "fa fa-filter" }), R("span", { className: "hide-600px" }, T ` Show Quickfilters`))
|
|
78
|
+
: undefined, this.props.extraTitleButtonsElem, R("a", { key: "toggleDesign", className: "btn btn-link btn-sm", onClick: this.handleToggleDesignPanel, alt: T `Toggle design panel` }, this.getDesign().hideDesignPanel ?
|
|
79
79
|
R("span", { className: "fas fa-angle-double-left" })
|
|
80
80
|
: R("span", { className: "fas fa-angle-double-right" })));
|
|
81
81
|
}
|
|
@@ -16,7 +16,7 @@ class MapControlComponent extends react_1.default.Component {
|
|
|
16
16
|
design: this.props.design,
|
|
17
17
|
onDesignChange: this.props.onDesignChange,
|
|
18
18
|
allowEditingLayers: false
|
|
19
|
-
}), R("br"), R("div", { className: "mb-3" }, R("label", { className: "text-muted" },
|
|
19
|
+
}), R("br"), R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Map Style`), R(BaseLayerDesignerComponent_1.default, {
|
|
20
20
|
design: this.props.design,
|
|
21
21
|
onDesignChange: this.props.onDesignChange
|
|
22
22
|
})));
|
|
@@ -72,22 +72,22 @@ class MapDesignerComponent extends react_1.default.Component {
|
|
|
72
72
|
}), R(CheckboxComponent_1.default, {
|
|
73
73
|
checked: this.props.design.autoBounds,
|
|
74
74
|
onChange: this.handleAutoBoundsChange
|
|
75
|
-
}, R("span", { className: "text-muted" },
|
|
75
|
+
}, R("span", { className: "text-muted" }, T `Automatic zoom `, R(PopoverHelpComponent_1.default, { placement: "left" }, T `Automatically zoom to the complete data whenever the map is loaded or the filters change`))), R(CheckboxComponent_1.default, {
|
|
76
76
|
checked: this.props.design.showLayerSwitcher,
|
|
77
77
|
onChange: this.handleShowLayerSwitcherChange
|
|
78
|
-
}, R("span", { className: "text-muted" },
|
|
78
|
+
}, R("span", { className: "text-muted" }, T `Show Layer Switcher `, R(PopoverHelpComponent_1.default, { placement: "left" }, T `Show a control in the map allowing switching layers`))), R(ui.FormGroup, { label: T `Initial Legend Display`, labelMuted: true }, R(ui.Select, {
|
|
79
79
|
value: this.props.design.initialLegendDisplay || "open",
|
|
80
80
|
onChange: this.handleInitialLegendDisplayChange,
|
|
81
81
|
options: [
|
|
82
|
-
{ value: "open", label:
|
|
83
|
-
{ value: "closed", label:
|
|
84
|
-
{ value: "closedIfSmall", label:
|
|
82
|
+
{ value: "open", label: T `Open` },
|
|
83
|
+
{ value: "closed", label: T `Closed` },
|
|
84
|
+
{ value: "closedIfSmall", label: T `Open if wide enough` }
|
|
85
85
|
],
|
|
86
86
|
style: { width: "auto" }
|
|
87
87
|
})), MapUtils.canConvertToClusterMap(this.props.design)
|
|
88
|
-
? R("div", { key: "tocluster" }, R("a", { onClick: this.handleConvertToClusterMap, className: "btn btn-link btn-sm" },
|
|
88
|
+
? R("div", { key: "tocluster" }, R("a", { onClick: this.handleConvertToClusterMap, className: "btn btn-link btn-sm" }, T `Convert to cluster map`))
|
|
89
89
|
: undefined, MapUtils.canConvertToMarkersMap(this.props.design)
|
|
90
|
-
? R("div", { key: "toMarker" }, R("a", { onClick: this.handleConvertToMarkersMap, className: "btn btn-link btn-sm" },
|
|
90
|
+
? R("div", { key: "toMarker" }, R("a", { onClick: this.handleConvertToMarkersMap, className: "btn btn-link btn-sm" }, T `Convert to markers map`))
|
|
91
91
|
: undefined, R(AttributionComponent, {
|
|
92
92
|
text: this.props.design.attribution,
|
|
93
93
|
onTextChange: this.handleAttributionChange
|
|
@@ -102,7 +102,7 @@ class MapDesignerComponent extends react_1.default.Component {
|
|
|
102
102
|
const tabs = [
|
|
103
103
|
{
|
|
104
104
|
id: "layers",
|
|
105
|
-
label: [R("i", { className: "fa fa-bars" }),
|
|
105
|
+
label: [R("i", { className: "fa fa-bars" }), T ` Layers`],
|
|
106
106
|
elem: R(MapLayersDesignerComponent_1.default, {
|
|
107
107
|
schema: this.props.schema,
|
|
108
108
|
dataSource: this.props.dataSource,
|
|
@@ -114,7 +114,7 @@ class MapDesignerComponent extends react_1.default.Component {
|
|
|
114
114
|
},
|
|
115
115
|
{
|
|
116
116
|
id: "filters",
|
|
117
|
-
label: [R("i", { className: "fa fa-filter" }),
|
|
117
|
+
label: [R("i", { className: "fa fa-filter" }), T ` Filters`],
|
|
118
118
|
elem: R(MapFiltersDesignerComponent_1.default, {
|
|
119
119
|
schema: this.props.schema,
|
|
120
120
|
dataSource: this.props.dataSource,
|
|
@@ -124,14 +124,14 @@ class MapDesignerComponent extends react_1.default.Component {
|
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
id: "options",
|
|
127
|
-
label: [R("i", { className: "fa fa-cog" }),
|
|
127
|
+
label: [R("i", { className: "fa fa-cog" }), T ` Options`],
|
|
128
128
|
elem: this.renderOptionsTab()
|
|
129
129
|
}
|
|
130
130
|
];
|
|
131
131
|
if (this.props.enableQuickfilters) {
|
|
132
132
|
tabs.splice(2, 0, {
|
|
133
133
|
id: "quickfilters",
|
|
134
|
-
label: [R("i", { className: "fa fa-bolt" }), " ", T
|
|
134
|
+
label: [R("i", { className: "fa fa-bolt" }), " ", T `Quickfilters`],
|
|
135
135
|
elem: R("div", { style: { marginBottom: 200 } }, R(QuickfiltersDesignComponent_1.default, {
|
|
136
136
|
design: this.props.design.quickfilters || [],
|
|
137
137
|
onDesignChange: (qfDesign) => {
|
|
@@ -178,9 +178,9 @@ class AttributionComponent extends react_1.default.Component {
|
|
|
178
178
|
? this.renderEditor()
|
|
179
179
|
: this.props.text
|
|
180
180
|
? R("span", { onClick: this.handleTextClick, style: { cursor: "pointer" } }, this.props.text)
|
|
181
|
-
: R("a", { onClick: this.handleTextClick, className: "btn btn-link btn-sm" },
|
|
181
|
+
: R("a", { onClick: this.handleTextClick, className: "btn btn-link btn-sm" }, T `+ Add attribution`));
|
|
182
182
|
if (this.props.text || this.state.editing) {
|
|
183
|
-
elem = R("div", { className: "mb-3" }, R("label", { className: "text-muted" },
|
|
183
|
+
elem = R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Attribution`), elem);
|
|
184
184
|
}
|
|
185
185
|
return elem;
|
|
186
186
|
}
|
|
@@ -195,12 +195,12 @@ class AdvancedOptionsComponent extends react_1.default.Component {
|
|
|
195
195
|
}
|
|
196
196
|
render() {
|
|
197
197
|
if (!this.state.expanded) {
|
|
198
|
-
return R("div", null, R("a", { className: "btn btn-link btn-sm", onClick: () => this.setState({ expanded: true }) },
|
|
198
|
+
return R("div", null, R("a", { className: "btn btn-link btn-sm", onClick: () => this.setState({ expanded: true }) }, T `Advanced options...`));
|
|
199
199
|
}
|
|
200
|
-
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" },
|
|
200
|
+
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Advanced`), R("div", null, R("span", { className: "text-muted" }, T `Maximum Zoom Level: `), " ", R(NumberInputComponent_1.default, {
|
|
201
201
|
small: true,
|
|
202
202
|
style: { display: "inline-block" },
|
|
203
|
-
placeholder:
|
|
203
|
+
placeholder: T `None`,
|
|
204
204
|
value: this.props.design.maxZoom,
|
|
205
205
|
onChange: (v) => this.props.onDesignChange(lodash_1.default.extend({}, this.props.design, { maxZoom: v }))
|
|
206
206
|
})));
|
|
@@ -49,14 +49,14 @@ class MapFiltersDesignerComponent extends react_1.default.Component {
|
|
|
49
49
|
if (filterableTables.length === 0) {
|
|
50
50
|
return null;
|
|
51
51
|
}
|
|
52
|
-
return R("div", null, R("div", { className: "mb-3" }, R("label", { className: "text-muted" },
|
|
52
|
+
return R("div", null, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Filters `, R(PopoverHelpComponent_1.default, { placement: "left" }, T `Filters all layers in the map. Individual layers can be filtered by clicking on Customize...`)), R("div", { style: { margin: 5 } }, R(FiltersDesignerComponent_1.default, {
|
|
53
53
|
schema: this.props.schema,
|
|
54
54
|
dataSource: this.props.dataSource,
|
|
55
55
|
filters: this.props.design.filters,
|
|
56
56
|
onFiltersChange: this.handleFiltersChange,
|
|
57
57
|
filterableTables
|
|
58
58
|
}))), react_1.default.createElement(MWaterContextComponent_1.GlobalFiltersElementFactoryContext.Consumer, null, globalFiltersElementFactory => globalFiltersElementFactory
|
|
59
|
-
? R("div", { className: "mb-3" }, R("label", { className: "text-muted" },
|
|
59
|
+
? R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Global Filters `), R("div", { style: { margin: 5 } }, globalFiltersElementFactory({
|
|
60
60
|
schema: this.props.schema,
|
|
61
61
|
dataSource: this.props.dataSource,
|
|
62
62
|
filterableTables,
|
|
@@ -62,7 +62,7 @@ class MapLayerViewDesignerComponent extends react_1.default.Component {
|
|
|
62
62
|
};
|
|
63
63
|
handleRename = () => {
|
|
64
64
|
if (this.props.allowEditingLayer) {
|
|
65
|
-
const name = prompt(
|
|
65
|
+
const name = prompt(T `Enter new name`, this.props.layerView.name);
|
|
66
66
|
if (name) {
|
|
67
67
|
return this.update({ name });
|
|
68
68
|
}
|
|
@@ -88,13 +88,13 @@ class MapLayerViewDesignerComponent extends react_1.default.Component {
|
|
|
88
88
|
return R("div", {
|
|
89
89
|
key: "advanced",
|
|
90
90
|
style: { display: "grid", gridTemplateColumns: "50% auto auto 1fr", alignItems: "center", columnGap: 5 }
|
|
91
|
-
}, R(ui.Checkbox, { value: this.props.layerView.hideLegend, onChange: this.handleHideLegend, inline: true },
|
|
91
|
+
}, R(ui.Checkbox, { value: this.props.layerView.hideLegend, onChange: this.handleHideLegend, inline: true }, T `Hide Legend`), R("label", { className: "text-muted", key: "label" }, T `Group:`), R(ui.TextInput, {
|
|
92
92
|
key: "input",
|
|
93
93
|
value: this.props.layerView.group,
|
|
94
94
|
onChange: this.handleGroupChange,
|
|
95
95
|
style: { width: "5em" },
|
|
96
|
-
placeholder:
|
|
97
|
-
}), R("div", null, R(PopoverHelpComponent_1.default, { placement: "top", key: "help" },
|
|
96
|
+
placeholder: T `None`
|
|
97
|
+
}), R("div", null, R(PopoverHelpComponent_1.default, { placement: "top", key: "help" }, T `Layers in the same group can only be selected one at a time`)));
|
|
98
98
|
}
|
|
99
99
|
renderName() {
|
|
100
100
|
return R("span", { className: "hover-display-parent", onClick: this.handleRename, style: { cursor: "pointer" } }, this.props.layerView.name, " ", R("span", { className: "hover-display-child fas fa-pencil-alt text-muted" }));
|
|
@@ -111,19 +111,19 @@ class MapLayerViewDesignerComponent extends react_1.default.Component {
|
|
|
111
111
|
}
|
|
112
112
|
renderLayerEditToggle() {
|
|
113
113
|
return R("div", { key: "edit", style: { marginBottom: this.state.editing ? 10 : undefined } }, R("a", { className: "link-plain", onClick: this.handleToggleEditing, style: { fontSize: 12 } }, this.state.editing
|
|
114
|
-
? [R("i", { className: "fa fa-caret-up" }),
|
|
115
|
-
: [R("i", { className: "fa fa-cog" }),
|
|
114
|
+
? [R("i", { className: "fa fa-caret-up" }), T ` Close`]
|
|
115
|
+
: [R("i", { className: "fa fa-cog" }), T ` Customize...`]));
|
|
116
116
|
}
|
|
117
117
|
handleOpacityChange = (newValue) => {
|
|
118
118
|
return this.update({ opacity: newValue / 100 });
|
|
119
119
|
};
|
|
120
120
|
handleRemove = () => {
|
|
121
|
-
if (confirm(
|
|
121
|
+
if (confirm(T `Delete layer?`)) {
|
|
122
122
|
return this.props.onRemove();
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
125
|
renderOpacityControl() {
|
|
126
|
-
return R("div", { className: "mb-3", style: { paddingTop: 10 } }, R("label", { className: "text-muted" }, R("span", null, `Opacity: ${Math.round(this.props.layerView.opacity * 100)}%`)), R("div", { style: { padding: "10px" } }, react_1.default.createElement(rc_slider_1.default, {
|
|
126
|
+
return R("div", { className: "mb-3", style: { paddingTop: 10 } }, R("label", { className: "text-muted" }, R("span", null, T `Opacity: ${Math.round(this.props.layerView.opacity * 100)}%`)), R("div", { style: { padding: "10px" } }, react_1.default.createElement(rc_slider_1.default, {
|
|
127
127
|
min: 0,
|
|
128
128
|
max: 100,
|
|
129
129
|
step: 1,
|
package/lib/maps/MapUtils.js
CHANGED
|
@@ -4,7 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.canConvertToClusterMap = canConvertToClusterMap;
|
|
8
|
+
exports.canConvertToMarkersMap = canConvertToMarkersMap;
|
|
9
|
+
exports.convertToClusterMap = convertToClusterMap;
|
|
10
|
+
exports.convertToMarkersMap = convertToMarkersMap;
|
|
11
|
+
exports.getFilterableTables = getFilterableTables;
|
|
12
|
+
exports.getCompiledFilters = getCompiledFilters;
|
|
8
13
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
14
|
const expressions_1 = require("@mwater/expressions");
|
|
10
15
|
const LayerFactory_1 = __importDefault(require("./LayerFactory"));
|
|
@@ -12,12 +17,10 @@ const LayerFactory_1 = __importDefault(require("./LayerFactory"));
|
|
|
12
17
|
function canConvertToClusterMap(design) {
|
|
13
18
|
return lodash_1.default.any(design.layerViews, (lv) => lv.type === "Markers");
|
|
14
19
|
}
|
|
15
|
-
exports.canConvertToClusterMap = canConvertToClusterMap;
|
|
16
20
|
// Check if can convert to a markers map. Only maps containing cluster views can be
|
|
17
21
|
function canConvertToMarkersMap(design) {
|
|
18
22
|
return lodash_1.default.any(design.layerViews, (lv) => lv.type === "Cluster");
|
|
19
23
|
}
|
|
20
|
-
exports.canConvertToMarkersMap = canConvertToMarkersMap;
|
|
21
24
|
// Convert to a cluster map
|
|
22
25
|
function convertToClusterMap(design) {
|
|
23
26
|
const layerViews = lodash_1.default.map(design.layerViews, (lv) => {
|
|
@@ -39,7 +42,6 @@ function convertToClusterMap(design) {
|
|
|
39
42
|
});
|
|
40
43
|
return lodash_1.default.extend({}, design, { layerViews });
|
|
41
44
|
}
|
|
42
|
-
exports.convertToClusterMap = convertToClusterMap;
|
|
43
45
|
// Convert to a markers map
|
|
44
46
|
function convertToMarkersMap(design) {
|
|
45
47
|
const layerViews = lodash_1.default.map(design.layerViews, (lv) => {
|
|
@@ -61,7 +63,6 @@ function convertToMarkersMap(design) {
|
|
|
61
63
|
});
|
|
62
64
|
return lodash_1.default.extend({}, design, { layerViews });
|
|
63
65
|
}
|
|
64
|
-
exports.convertToMarkersMap = convertToMarkersMap;
|
|
65
66
|
// Get ids of filterable tables
|
|
66
67
|
function getFilterableTables(design, schema) {
|
|
67
68
|
let filterableTables = [];
|
|
@@ -75,7 +76,6 @@ function getFilterableTables(design, schema) {
|
|
|
75
76
|
filterableTables = lodash_1.default.filter(filterableTables, (table) => schema.getTable(table));
|
|
76
77
|
return filterableTables;
|
|
77
78
|
}
|
|
78
|
-
exports.getFilterableTables = getFilterableTables;
|
|
79
79
|
// Compile map filters with global filters
|
|
80
80
|
function getCompiledFilters(design, schema, filterableTables) {
|
|
81
81
|
const exprCompiler = new expressions_1.ExprCompiler(schema);
|
|
@@ -116,4 +116,3 @@ function getCompiledFilters(design, schema, filterableTables) {
|
|
|
116
116
|
}
|
|
117
117
|
return compiledFilters;
|
|
118
118
|
}
|
|
119
|
-
exports.getCompiledFilters = getCompiledFilters;
|
|
@@ -3,7 +3,7 @@ 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.MapViewComponent =
|
|
6
|
+
exports.MapViewComponent = MapViewComponent;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const VectorMapViewComponent_1 = require("./VectorMapViewComponent");
|
|
9
9
|
const RasterMapViewComponent_1 = __importDefault(require("./RasterMapViewComponent"));
|
|
@@ -17,4 +17,3 @@ function MapViewComponent(props) {
|
|
|
17
17
|
return react_1.default.createElement(RasterMapViewComponent_1.default, { ...props });
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
exports.MapViewComponent = MapViewComponent;
|
|
@@ -12,11 +12,11 @@ const mapSymbols_1 = require("./mapSymbols");
|
|
|
12
12
|
class MarkerSymbolSelectComponent extends react_1.default.Component {
|
|
13
13
|
render() {
|
|
14
14
|
// Create options
|
|
15
|
-
const options = mapSymbols_1.
|
|
15
|
+
const options = (0, mapSymbols_1.getMapSymbols)();
|
|
16
16
|
const optionRenderer = (option) => R("span", null, R("i", { className: `fa fa-${option.value.substr(13)}` }), // Trim "font-awesome/"
|
|
17
17
|
` ${option.label}`);
|
|
18
|
-
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fa fa-star" }), " ",
|
|
19
|
-
placeholder:
|
|
18
|
+
return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fa fa-star" }), " ", T `Symbol`), R(react_select_1.default, {
|
|
19
|
+
placeholder: T `Circle`,
|
|
20
20
|
value: lodash_1.default.findWhere(options, { value: this.props.symbol }) || null,
|
|
21
21
|
options,
|
|
22
22
|
formatOptionLabel: optionRenderer,
|
package/lib/maps/MarkersLayer.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.createMarkersVectorQuery =
|
|
29
|
+
exports.createMarkersVectorQuery = createMarkersVectorQuery;
|
|
30
30
|
const lodash_1 = __importDefault(require("lodash"));
|
|
31
31
|
const react_1 = __importDefault(require("react"));
|
|
32
32
|
const immer_1 = require("immer");
|
|
@@ -162,7 +162,7 @@ class MarkersLayer extends Layer_1.default {
|
|
|
162
162
|
type: "select",
|
|
163
163
|
expr: { type: "field", tableAlias: "basequery", column: schema.getTable(design.table).primaryKey },
|
|
164
164
|
alias: "id"
|
|
165
|
-
},
|
|
165
|
+
}, // main primary key as id
|
|
166
166
|
{ type: "select", expr: geometryExpr, alias: "the_geom_webmercator" } // geometry as the_geom_webmercator
|
|
167
167
|
],
|
|
168
168
|
from: exprCompiler.compileTable(design.table, "basequery")
|
|
@@ -277,8 +277,8 @@ class MarkersLayer extends Layer_1.default {
|
|
|
277
277
|
type: "select",
|
|
278
278
|
expr: { type: "field", tableAlias: "innerquery", column: schema.getTable(design.table).primaryKey },
|
|
279
279
|
alias: "id"
|
|
280
|
-
},
|
|
281
|
-
{ type: "select", expr: geometryExpr, alias: "the_geom_webmercator" },
|
|
280
|
+
}, // main primary key as id
|
|
281
|
+
{ type: "select", expr: geometryExpr, alias: "the_geom_webmercator" }, // geometry as the_geom_webmercator
|
|
282
282
|
cluster
|
|
283
283
|
],
|
|
284
284
|
from: exprCompiler.compileTable(design.table, "innerquery")
|
|
@@ -322,12 +322,12 @@ class MarkersLayer extends Layer_1.default {
|
|
|
322
322
|
type: "select",
|
|
323
323
|
expr: { type: "field", tableAlias: "innerquery", column: "id" },
|
|
324
324
|
alias: "id"
|
|
325
|
-
},
|
|
325
|
+
}, // innerquery._id as id
|
|
326
326
|
{
|
|
327
327
|
type: "select",
|
|
328
328
|
expr: { type: "field", tableAlias: "innerquery", column: "the_geom_webmercator" },
|
|
329
329
|
alias: "the_geom_webmercator"
|
|
330
|
-
},
|
|
330
|
+
}, // innerquery.the_geom_webmercator as the_geom_webmercator
|
|
331
331
|
{
|
|
332
332
|
type: "select",
|
|
333
333
|
expr: {
|
|
@@ -840,4 +840,3 @@ function createMarkersVectorQuery(baseQuery) {
|
|
|
840
840
|
};
|
|
841
841
|
return outerquery;
|
|
842
842
|
}
|
|
843
|
-
exports.createMarkersVectorQuery = createMarkersVectorQuery;
|