@mwater/visualization 5.3.1 → 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 +1 -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 +9 -9
- 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 +102 -75
- 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
|
@@ -126,7 +126,7 @@ export default class DatagridViewComponent extends React.Component<
|
|
|
126
126
|
(error: any, newRows: any) => {
|
|
127
127
|
if (error) {
|
|
128
128
|
console.error(error)
|
|
129
|
-
alert(T
|
|
129
|
+
alert(T`Error loading data`)
|
|
130
130
|
return
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -185,7 +185,7 @@ export default class DatagridViewComponent extends React.Component<
|
|
|
185
185
|
(error, rows) => {
|
|
186
186
|
if (error) {
|
|
187
187
|
console.error(error)
|
|
188
|
-
alert(T
|
|
188
|
+
alert(T`Error loading data`)
|
|
189
189
|
callback()
|
|
190
190
|
return
|
|
191
191
|
}
|
|
@@ -292,7 +292,7 @@ export default class DatagridViewComponent extends React.Component<
|
|
|
292
292
|
this.setState({ editingCell: null, savingCell: false })
|
|
293
293
|
})
|
|
294
294
|
}).catch(error => {
|
|
295
|
-
alert(T
|
|
295
|
+
alert(T`Error saving data`)
|
|
296
296
|
console.error(error)
|
|
297
297
|
})
|
|
298
298
|
})
|
|
@@ -36,7 +36,7 @@ export default class ExprCellComponent extends React.Component<ExprCellComponent
|
|
|
36
36
|
|
|
37
37
|
renderImage(id: any) {
|
|
38
38
|
const url = this.props.dataSource.getImageUrl(id)
|
|
39
|
-
return R("a", { href: url, key: id, target: "_blank", style: { paddingLeft: 5, paddingRight: 5 } },
|
|
39
|
+
return R("a", { href: url, key: id, target: "_blank", style: { paddingLeft: 5, paddingRight: 5 } }, T`Image`)
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
render() {
|
|
@@ -159,7 +159,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
159
159
|
const rows = await this.props.dataSource.performQuery(query)
|
|
160
160
|
|
|
161
161
|
// Confirm
|
|
162
|
-
if (!confirm(T
|
|
162
|
+
if (!confirm(T`Replace ${rows.length} values? This cannot be undone.`)) {
|
|
163
163
|
return
|
|
164
164
|
}
|
|
165
165
|
|
|
@@ -173,7 +173,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
173
173
|
}))
|
|
174
174
|
)
|
|
175
175
|
|
|
176
|
-
alert(T
|
|
176
|
+
alert(T`Successfully replaced ${rows.length} values`)
|
|
177
177
|
this.setState({ open: false })
|
|
178
178
|
this.props.onUpdate()
|
|
179
179
|
} catch (error) {
|
|
@@ -257,7 +257,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
257
257
|
return R(
|
|
258
258
|
"div",
|
|
259
259
|
null,
|
|
260
|
-
R("h3", null, T
|
|
260
|
+
R("h3", null, T`Working...`),
|
|
261
261
|
R(
|
|
262
262
|
"div",
|
|
263
263
|
{ className: "progress" },
|
|
@@ -272,12 +272,12 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
272
272
|
R(
|
|
273
273
|
"div",
|
|
274
274
|
{ key: "replace", className: "mb-3" },
|
|
275
|
-
R("label", null, T
|
|
275
|
+
R("label", null, T`Column with data to replace` + ": "),
|
|
276
276
|
R(ReactSelect, {
|
|
277
277
|
options: replaceColumnOptions,
|
|
278
278
|
value: _.findWhere(replaceColumnOptions, { value: this.state.replaceColumn }) || null,
|
|
279
279
|
onChange: (opt: any) => this.setState({ replaceColumn: opt.value }),
|
|
280
|
-
placeholder: T
|
|
280
|
+
placeholder: T`Select Column...`,
|
|
281
281
|
styles: {
|
|
282
282
|
// Keep menu above fixed data table headers
|
|
283
283
|
menu: style => _.extend({}, style, { zIndex: 2 })
|
|
@@ -293,7 +293,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
293
293
|
return R(
|
|
294
294
|
"div",
|
|
295
295
|
{ key: "with", className: "mb-3" },
|
|
296
|
-
R("label", null, T
|
|
296
|
+
R("label", null, T`Value to replace data with` + ": "),
|
|
297
297
|
R(ExprComponent, {
|
|
298
298
|
schema: this.props.schema,
|
|
299
299
|
dataSource: this.props.dataSource,
|
|
@@ -304,7 +304,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
304
304
|
enumValues: exprUtils.getExprEnumValues(replaceExpr) || undefined,
|
|
305
305
|
idTable: exprUtils.getExprIdTable(replaceExpr) || undefined,
|
|
306
306
|
preferLiteral: true,
|
|
307
|
-
placeholder: T(
|
|
307
|
+
placeholder: T`(Blank)`,
|
|
308
308
|
refExpr: replaceExpr
|
|
309
309
|
})
|
|
310
310
|
)
|
|
@@ -315,7 +315,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
315
315
|
R(
|
|
316
316
|
"div",
|
|
317
317
|
{ key: "condition", className: "mb-3" },
|
|
318
|
-
R("label", null, T
|
|
318
|
+
R("label", null, T`Only in rows that (optional)` + ":"),
|
|
319
319
|
R(ExprComponent, {
|
|
320
320
|
schema: this.props.schema,
|
|
321
321
|
dataSource: this.props.dataSource,
|
|
@@ -323,11 +323,11 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
323
323
|
value: this.state.conditionExpr,
|
|
324
324
|
onChange: value => this.setState({ conditionExpr: value }),
|
|
325
325
|
types: ["boolean"],
|
|
326
|
-
placeholder: T
|
|
326
|
+
placeholder: T`All Rows`
|
|
327
327
|
})
|
|
328
328
|
),
|
|
329
329
|
|
|
330
|
-
R("div", { key: "preview" }, R("h4", null, T
|
|
330
|
+
R("div", { key: "preview" }, R("h4", null, T`Preview`), this.renderPreview())
|
|
331
331
|
)
|
|
332
332
|
}
|
|
333
333
|
|
|
@@ -340,7 +340,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
340
340
|
ModalPopupComponent,
|
|
341
341
|
{
|
|
342
342
|
size: "large",
|
|
343
|
-
header: T
|
|
343
|
+
header: T`Find/Replace`,
|
|
344
344
|
footer: [
|
|
345
345
|
R(
|
|
346
346
|
"button",
|
|
@@ -350,7 +350,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
350
350
|
onClick: () => this.setState({ open: false }),
|
|
351
351
|
className: "btn btn-secondary"
|
|
352
352
|
},
|
|
353
|
-
T
|
|
353
|
+
T`Cancel`
|
|
354
354
|
),
|
|
355
355
|
R(
|
|
356
356
|
"button",
|
|
@@ -361,7 +361,7 @@ export default class FindReplaceModalComponent extends React.Component<
|
|
|
361
361
|
onClick: () => this.performReplace(),
|
|
362
362
|
className: "btn btn-primary"
|
|
363
363
|
},
|
|
364
|
-
T
|
|
364
|
+
T`Apply`
|
|
365
365
|
)
|
|
366
366
|
]
|
|
367
367
|
},
|
|
@@ -66,7 +66,7 @@ export default class OrderBysDesignerComponent extends React.Component<OrderBysD
|
|
|
66
66
|
onClick: this.handleAdd
|
|
67
67
|
},
|
|
68
68
|
R("span", { className: "fas fa-plus" }),
|
|
69
|
-
" " + T
|
|
69
|
+
" " + T`Add Ordering`
|
|
70
70
|
)
|
|
71
71
|
)
|
|
72
72
|
}
|
|
@@ -111,7 +111,7 @@ class OrderByDesignerComponent extends React.Component<OrderByDesignerComponentP
|
|
|
111
111
|
"div",
|
|
112
112
|
{ className: "col-3" },
|
|
113
113
|
<Checkbox inline value={this.props.orderBy.direction === "desc"} onChange={this.handleDirectionChange}>
|
|
114
|
-
{T
|
|
114
|
+
{T`Reverse`}
|
|
115
115
|
</Checkbox>
|
|
116
116
|
),
|
|
117
117
|
R(
|
package/src/globals.d.ts
CHANGED
package/src/languages.ts
CHANGED
|
@@ -224,17 +224,17 @@ class BlocksDisplayComponent extends React.Component<BlocksDisplayComponentProps
|
|
|
224
224
|
<PaletteItemComponent
|
|
225
225
|
createItem={this.createBlockItem({ type: "widget", widgetType: "Text", design: { style: "title" } })}
|
|
226
226
|
title={<i className="fa fa-font" />}
|
|
227
|
-
subtitle=
|
|
227
|
+
subtitle={T`Title`}
|
|
228
228
|
/>
|
|
229
229
|
<PaletteItemComponent
|
|
230
230
|
createItem={this.createBlockItem({ type: "widget", widgetType: "Text", design: {} })}
|
|
231
231
|
title={<i className="fa fa-align-left" />}
|
|
232
|
-
subtitle=
|
|
232
|
+
subtitle={T`Text`}
|
|
233
233
|
/>
|
|
234
234
|
<PaletteItemComponent
|
|
235
235
|
createItem={this.createBlockItem({ type: "widget", aspectRatio: 1.4, widgetType: "Image", design: {} })}
|
|
236
236
|
title={<i className="fa fa-picture-o" />}
|
|
237
|
-
subtitle=
|
|
237
|
+
subtitle={T`Image`}
|
|
238
238
|
/>
|
|
239
239
|
<PaletteItemComponent
|
|
240
240
|
createItem={this.createBlockItem({
|
|
@@ -244,7 +244,7 @@ class BlocksDisplayComponent extends React.Component<BlocksDisplayComponentProps
|
|
|
244
244
|
design: {}
|
|
245
245
|
})}
|
|
246
246
|
title={<i className="fa fa-bar-chart" />}
|
|
247
|
-
subtitle=
|
|
247
|
+
subtitle={T`Chart`}
|
|
248
248
|
/>
|
|
249
249
|
{!this.props.disableMaps && (
|
|
250
250
|
<PaletteItemComponent
|
|
@@ -260,13 +260,13 @@ class BlocksDisplayComponent extends React.Component<BlocksDisplayComponentProps
|
|
|
260
260
|
}
|
|
261
261
|
})}
|
|
262
262
|
title={<i className="fa fa-map-o" />}
|
|
263
|
-
subtitle=
|
|
263
|
+
subtitle={T`Map`}
|
|
264
264
|
/>
|
|
265
265
|
)}
|
|
266
266
|
<PaletteItemComponent
|
|
267
267
|
createItem={this.createBlockItem({ type: "widget", aspectRatio: 1.4, widgetType: "TableChart", design: {} })}
|
|
268
268
|
title={<i className="fa fa-table" />}
|
|
269
|
-
subtitle=
|
|
269
|
+
subtitle={T`Table`}
|
|
270
270
|
/>
|
|
271
271
|
<PaletteItemComponent
|
|
272
272
|
createItem={this.createBlockItem({ type: "widget", widgetType: "PivotChart", design: {} })}
|
|
@@ -275,7 +275,7 @@ class BlocksDisplayComponent extends React.Component<BlocksDisplayComponentProps
|
|
|
275
275
|
height={24}
|
|
276
276
|
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAb0lEQVRIx91VQQrAIAwzo/7/ydllG0MQS21EzMW2ICFtoyBZlLDn/LOgySPAG1xFDDmBtZI6efoMvODozkyL2IlTCOisfS2KrqG0RXus6fkEVBIw08khE62aQY0ogMdEswqwYouwvQ8s+4M576m4Ae/tET/u1taEAAAAAElFTkSuQmCC"
|
|
277
277
|
/>}
|
|
278
|
-
subtitle=
|
|
278
|
+
subtitle={T`Pivot`}
|
|
279
279
|
/>
|
|
280
280
|
<PaletteItemComponent
|
|
281
281
|
createItem={this.createBlockItem({
|
|
@@ -285,7 +285,7 @@ class BlocksDisplayComponent extends React.Component<BlocksDisplayComponentProps
|
|
|
285
285
|
design: {}
|
|
286
286
|
})}
|
|
287
287
|
title={<i className="fa fa-calendar" />}
|
|
288
|
-
subtitle=
|
|
288
|
+
subtitle={T`Calendar`}
|
|
289
289
|
/>
|
|
290
290
|
<PaletteItemComponent
|
|
291
291
|
createItem={this.createBlockItem({
|
|
@@ -295,12 +295,12 @@ class BlocksDisplayComponent extends React.Component<BlocksDisplayComponentProps
|
|
|
295
295
|
design: {}
|
|
296
296
|
})}
|
|
297
297
|
title={<i className="fa fa-th" />}
|
|
298
|
-
subtitle=
|
|
298
|
+
subtitle={T`Mosaic`}
|
|
299
299
|
/>
|
|
300
300
|
<PaletteItemComponent
|
|
301
301
|
createItem={this.createBlockItem({ type: "spacer", aspectRatio: 2 })}
|
|
302
302
|
title={<i className="fa fa-square-o" />}
|
|
303
|
-
subtitle=
|
|
303
|
+
subtitle={T`Spacer`}
|
|
304
304
|
/>
|
|
305
305
|
<PaletteItemComponent
|
|
306
306
|
createItem={this.createBlockItem({
|
|
@@ -310,16 +310,16 @@ class BlocksDisplayComponent extends React.Component<BlocksDisplayComponentProps
|
|
|
310
310
|
design: {}
|
|
311
311
|
})}
|
|
312
312
|
title={<i className="fa fa-youtube-play" />}
|
|
313
|
-
subtitle=
|
|
313
|
+
subtitle={T`Video`}
|
|
314
314
|
/>
|
|
315
315
|
<PaletteItemComponent
|
|
316
316
|
createItem={this.createBlockItem({
|
|
317
317
|
type: "widget",
|
|
318
318
|
widgetType: "TOC",
|
|
319
|
-
design: { numbering: false, borderWeight: 2, header:
|
|
319
|
+
design: { numbering: false, borderWeight: 2, header: T`Contents` }
|
|
320
320
|
})}
|
|
321
321
|
title={<i className="fa fa-list-ol" />}
|
|
322
|
-
subtitle=
|
|
322
|
+
subtitle={T`TOC`}
|
|
323
323
|
/>
|
|
324
324
|
{this.props.onClipboardChange && (
|
|
325
325
|
<ClipboardPaletteItemComponent
|
|
@@ -4,6 +4,7 @@ const R = React.createElement
|
|
|
4
4
|
import uuid from "uuid"
|
|
5
5
|
import LayoutManager, { RenderLayoutOptions } from "../LayoutManager"
|
|
6
6
|
import BlocksDisplayComponent from "./BlocksDisplayComponent"
|
|
7
|
+
import { LayoutBlock } from "./blockUtils"
|
|
7
8
|
|
|
8
9
|
export default class BlocksLayoutManager extends LayoutManager {
|
|
9
10
|
/**
|
|
@@ -46,9 +47,9 @@ export default class BlocksLayoutManager extends LayoutManager {
|
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
// Gets all widgets in items as array of { id, type, design }
|
|
49
|
-
getAllWidgets(items:
|
|
50
|
+
getAllWidgets(items: LayoutBlock): { id: string; type: string; design: any }[] {
|
|
50
51
|
if (items.type === "widget") {
|
|
51
|
-
return [{ id: items.id, type: items.widgetType
|
|
52
|
+
return [{ id: items.id, type: items.widgetType!, design: items.design }]
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
if (items.blocks) {
|
|
@@ -22,7 +22,7 @@ class ClipboardPaletteItemComponent extends React.Component<ClipboardPaletteItem
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
handleClear = () => {
|
|
25
|
-
if (confirm(
|
|
25
|
+
if (confirm(T`Clear clipboard?`)) {
|
|
26
26
|
return this.props.onClipboardChange(null)
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -43,13 +43,13 @@ class ClipboardPaletteItemComponent extends React.Component<ClipboardPaletteItem
|
|
|
43
43
|
{ className: "title", key: "title" },
|
|
44
44
|
this.props.isOver ? R("i", { className: "fa fa-clone" }) : R("i", { className: "fa fa-clipboard" })
|
|
45
45
|
),
|
|
46
|
-
R("div", { className: "subtitle", key: "subtitle" }, this.props.isOver ?
|
|
46
|
+
R("div", { className: "subtitle", key: "subtitle" }, this.props.isOver ? T`Copy` : T`Clipboard`),
|
|
47
47
|
this.props.cantPasteMessage
|
|
48
48
|
? R("div", { className: "tooltiptext" }, this.props.cantPasteMessage)
|
|
49
49
|
: R(
|
|
50
50
|
"div",
|
|
51
51
|
{ className: "tooltiptext" },
|
|
52
|
-
|
|
52
|
+
T`Clipboard allows copying widgets for pasting on this dashboard or another dashboard. Drag a widget on to this clipboard to copy it.`
|
|
53
53
|
),
|
|
54
54
|
this.props.clipboard
|
|
55
55
|
? R("div", { className: "clearclipboard", onClick: this.handleClear }, R("i", { className: "fa fa-trash-o" }))
|
|
@@ -59,38 +59,38 @@ export default class AddLayerComponent extends React.Component<AddLayerComponent
|
|
|
59
59
|
|
|
60
60
|
const newLayers = [
|
|
61
61
|
{
|
|
62
|
-
label:
|
|
63
|
-
name:
|
|
62
|
+
label: T`Marker Layer`,
|
|
63
|
+
name: T`Untitled Layer`,
|
|
64
64
|
type: "Markers",
|
|
65
65
|
design: {}
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
|
-
label:
|
|
69
|
-
name:
|
|
68
|
+
label: T`Radius (circles) Layer`,
|
|
69
|
+
name: T`Untitled Layer`,
|
|
70
70
|
type: "Buffer",
|
|
71
71
|
design: {}
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
|
-
label:
|
|
75
|
-
name:
|
|
74
|
+
label: T`Choropleth Layer`,
|
|
75
|
+
name: T`Untitled Layer`,
|
|
76
76
|
type: "AdminChoropleth",
|
|
77
77
|
design: {}
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
|
-
label:
|
|
81
|
-
name:
|
|
80
|
+
label: T`Cluster Layer`,
|
|
81
|
+
name: T`Untitled Layer`,
|
|
82
82
|
type: "Cluster",
|
|
83
83
|
design: {}
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
|
-
label:
|
|
87
|
-
name:
|
|
86
|
+
label: T`Grid Layer`,
|
|
87
|
+
name: T`Untitled Layer`,
|
|
88
88
|
type: "Grid",
|
|
89
89
|
design: {}
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
|
-
label:
|
|
93
|
-
name:
|
|
92
|
+
label: T`Custom Tile Url (advanced)`,
|
|
93
|
+
name: T`Untitled Layer`,
|
|
94
94
|
type: "TileUrl",
|
|
95
95
|
design: {}
|
|
96
96
|
}
|
|
@@ -103,7 +103,7 @@ export default class AddLayerComponent extends React.Component<AddLayerComponent
|
|
|
103
103
|
"button",
|
|
104
104
|
{ type: "button", "data-bs-toggle": "dropdown", className: "btn btn-primary dropdown-toggle" },
|
|
105
105
|
R("span", { className: "fas fa-plus" }),
|
|
106
|
-
|
|
106
|
+
` ${T`Add Layer`}`
|
|
107
107
|
),
|
|
108
108
|
R(
|
|
109
109
|
"ul",
|
|
@@ -37,8 +37,8 @@ export default class AdminScopeAndDetailLevelComponent extends React.Component<A
|
|
|
37
37
|
|
|
38
38
|
render() {
|
|
39
39
|
const basicDetailLevelOptions = [
|
|
40
|
-
{ value: 0, label:
|
|
41
|
-
{ value: 1, label:
|
|
40
|
+
{ value: 0, label: T`Countries` },
|
|
41
|
+
{ value: 1, label: T`Level 1 (State/Province/District)` }
|
|
42
42
|
]
|
|
43
43
|
|
|
44
44
|
return R(
|
|
@@ -47,7 +47,7 @@ export default class AdminScopeAndDetailLevelComponent extends React.Component<A
|
|
|
47
47
|
R(
|
|
48
48
|
"div",
|
|
49
49
|
{ className: "mb-3" },
|
|
50
|
-
R("label", { className: "text-muted" },
|
|
50
|
+
R("label", { className: "text-muted" }, T`Region to Map`),
|
|
51
51
|
R(RegionSelectComponent, {
|
|
52
52
|
region: this.props.scope,
|
|
53
53
|
onChange: this.handleScopeChange,
|
|
@@ -60,7 +60,7 @@ export default class AdminScopeAndDetailLevelComponent extends React.Component<A
|
|
|
60
60
|
return R(
|
|
61
61
|
"div",
|
|
62
62
|
{ className: "mb-3" },
|
|
63
|
-
R("label", { className: "text-muted" },
|
|
63
|
+
R("label", { className: "text-muted" }, T`Detail Level`),
|
|
64
64
|
R(DetailLevelSelectComponent, {
|
|
65
65
|
scope: this.props.scope,
|
|
66
66
|
scopeLevel: this.props.scopeLevel,
|
|
@@ -75,7 +75,7 @@ export default class AdminScopeAndDetailLevelComponent extends React.Component<A
|
|
|
75
75
|
return R(
|
|
76
76
|
"div",
|
|
77
77
|
{ className: "mb-3" },
|
|
78
|
-
R("label", { className: "text-muted" },
|
|
78
|
+
R("label", { className: "text-muted" }, T`Detail Level`),
|
|
79
79
|
R(ReactSelect, {
|
|
80
80
|
value: _.findWhere(basicDetailLevelOptions, { value: this.props.detailLevel }) || null,
|
|
81
81
|
options: basicDetailLevelOptions,
|
|
@@ -56,7 +56,7 @@ export default class BaseLayerDesignerComponent extends React.Component<BaseLaye
|
|
|
56
56
|
return R(
|
|
57
57
|
"div",
|
|
58
58
|
{ className: "mb-3", style: { paddingTop: 10 } },
|
|
59
|
-
R("label", { className: "text-muted" }, R("span", null, `Opacity: ${Math.round(opacity * 100)}%`)),
|
|
59
|
+
R("label", { className: "text-muted" }, R("span", null, T`Opacity: ${Math.round(opacity * 100)}%`)),
|
|
60
60
|
R(
|
|
61
61
|
"div",
|
|
62
62
|
{ style: { padding: "10px" } },
|
|
@@ -76,7 +76,7 @@ export default class BaseLayerDesignerComponent extends React.Component<BaseLaye
|
|
|
76
76
|
return R(
|
|
77
77
|
"div",
|
|
78
78
|
{ className: "mb-3" },
|
|
79
|
-
R("label", { className: "text-muted" },
|
|
79
|
+
R("label", { className: "text-muted" }, T`Background Map`),
|
|
80
80
|
|
|
81
81
|
R(
|
|
82
82
|
"div",
|
|
@@ -84,16 +84,16 @@ export default class BaseLayerDesignerComponent extends React.Component<BaseLaye
|
|
|
84
84
|
R(
|
|
85
85
|
"div",
|
|
86
86
|
null,
|
|
87
|
-
this.renderBaseLayer("cartodb_positron",
|
|
88
|
-
this.renderBaseLayer("cartodb_dark_matter",
|
|
89
|
-
this.renderBaseLayer("bing_road",
|
|
90
|
-
this.renderBaseLayer("bing_aerial",
|
|
91
|
-
this.renderBaseLayer("blank",
|
|
87
|
+
this.renderBaseLayer("cartodb_positron", T`Light`),
|
|
88
|
+
this.renderBaseLayer("cartodb_dark_matter", T`Dark`),
|
|
89
|
+
this.renderBaseLayer("bing_road", T`Roads`),
|
|
90
|
+
this.renderBaseLayer("bing_aerial", T`Satellite`),
|
|
91
|
+
this.renderBaseLayer("blank", T`Blank`),
|
|
92
92
|
" ",
|
|
93
93
|
R(
|
|
94
94
|
PopoverHelpComponent,
|
|
95
95
|
{ placement: "bottom" },
|
|
96
|
-
|
|
96
|
+
T`Blank map backgrounds work best with chloropleth map layers`
|
|
97
97
|
)
|
|
98
98
|
),
|
|
99
99
|
|
package/src/maps/BufferLayer.ts
CHANGED
|
@@ -633,7 +633,7 @@ marker-fill: ` +
|
|
|
633
633
|
// Scope to item
|
|
634
634
|
if (ids.length > 0) {
|
|
635
635
|
results.scope = {
|
|
636
|
-
name: `Selected ${ids.length} Circle(s)`,
|
|
636
|
+
name: T`Selected ${ids.length} Circle(s)`,
|
|
637
637
|
filter,
|
|
638
638
|
filterExpr,
|
|
639
639
|
data: ids
|
|
@@ -893,15 +893,15 @@ marker-fill: ` +
|
|
|
893
893
|
const exprValidator = new ExprValidator(schema)
|
|
894
894
|
|
|
895
895
|
if (!design.table) {
|
|
896
|
-
return
|
|
896
|
+
return T`Missing table`
|
|
897
897
|
}
|
|
898
898
|
|
|
899
899
|
if (design.radius == null) {
|
|
900
|
-
return
|
|
900
|
+
return T`Missing radius`
|
|
901
901
|
}
|
|
902
902
|
|
|
903
903
|
if (!design.axes || !design.axes.geometry) {
|
|
904
|
-
return
|
|
904
|
+
return T`Missing axes`
|
|
905
905
|
}
|
|
906
906
|
|
|
907
907
|
let error = axisBuilder.validateAxis({ axis: design.axes.geometry })
|
|
@@ -911,7 +911,7 @@ marker-fill: ` +
|
|
|
911
911
|
|
|
912
912
|
// Check type of axis (prevents blank axes)
|
|
913
913
|
if (axisBuilder.getAxisType(design.axes.geometry) != "geometry") {
|
|
914
|
-
return
|
|
914
|
+
return T`Geometry axis required`
|
|
915
915
|
}
|
|
916
916
|
|
|
917
917
|
error = axisBuilder.validateAxis({ axis: design.axes.color })
|
|
@@ -73,7 +73,7 @@ export default class BufferLayerDesignerComponent extends React.Component<Buffer
|
|
|
73
73
|
return R(
|
|
74
74
|
"div",
|
|
75
75
|
{ className: "mb-3" },
|
|
76
|
-
R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ",
|
|
76
|
+
R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", T`Data Source`),
|
|
77
77
|
R(
|
|
78
78
|
"div",
|
|
79
79
|
{ style: { marginLeft: 10 } },
|
|
@@ -93,7 +93,7 @@ export default class BufferLayerDesignerComponent extends React.Component<Buffer
|
|
|
93
93
|
return
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
const title = R("span", null, R("span", { className: "fas fa-map-marker-alt" }), " Circle Centers
|
|
96
|
+
const title = R("span", null, R("span", { className: "fas fa-map-marker-alt" }), " ", T`Circle Centers`)
|
|
97
97
|
|
|
98
98
|
const filters = _.clone(this.props.filters) || []
|
|
99
99
|
|
|
@@ -130,7 +130,7 @@ export default class BufferLayerDesignerComponent extends React.Component<Buffer
|
|
|
130
130
|
return R(
|
|
131
131
|
"div",
|
|
132
132
|
{ className: "mb-3" },
|
|
133
|
-
R("label", { className: "text-muted" },
|
|
133
|
+
R("label", { className: "text-muted" }, T`Radius (meters)`),
|
|
134
134
|
": ",
|
|
135
135
|
React.createElement(NumberInputComponent, {
|
|
136
136
|
value: this.props.design.radius,
|
|
@@ -154,7 +154,7 @@ export default class BufferLayerDesignerComponent extends React.Component<Buffer
|
|
|
154
154
|
value: this.props.design.unionShapes,
|
|
155
155
|
onChange: this.handleUnionShapesChange
|
|
156
156
|
},
|
|
157
|
-
|
|
157
|
+
T`Combine circles (advanced)`
|
|
158
158
|
)
|
|
159
159
|
)
|
|
160
160
|
}
|
|
@@ -181,7 +181,7 @@ export default class BufferLayerDesignerComponent extends React.Component<Buffer
|
|
|
181
181
|
? R(
|
|
182
182
|
"div",
|
|
183
183
|
{ className: "mb-3" },
|
|
184
|
-
R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }),
|
|
184
|
+
R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Circle Color`),
|
|
185
185
|
|
|
186
186
|
R(
|
|
187
187
|
"div",
|
|
@@ -197,7 +197,7 @@ export default class BufferLayerDesignerComponent extends React.Component<Buffer
|
|
|
197
197
|
R(
|
|
198
198
|
"div",
|
|
199
199
|
{ className: "mb-3" },
|
|
200
|
-
R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }),
|
|
200
|
+
R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Color By Data`),
|
|
201
201
|
|
|
202
202
|
R(AxisComponent, {
|
|
203
203
|
schema: this.props.schema,
|
|
@@ -221,7 +221,7 @@ export default class BufferLayerDesignerComponent extends React.Component<Buffer
|
|
|
221
221
|
return R(
|
|
222
222
|
"div",
|
|
223
223
|
{ className: "mb-3" },
|
|
224
|
-
R("label", { className: "text-muted" },
|
|
224
|
+
R("label", { className: "text-muted" }, T`Circle Opacity (%)`),
|
|
225
225
|
": ",
|
|
226
226
|
React.createElement(Rcslider, {
|
|
227
227
|
min: 0,
|
|
@@ -243,7 +243,7 @@ export default class BufferLayerDesignerComponent extends React.Component<Buffer
|
|
|
243
243
|
return R(
|
|
244
244
|
"div",
|
|
245
245
|
{ className: "mb-3" },
|
|
246
|
-
R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }),
|
|
246
|
+
R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), T`Filters`),
|
|
247
247
|
R(
|
|
248
248
|
"div",
|
|
249
249
|
{ style: { marginLeft: 8 } },
|
|
@@ -1642,10 +1642,10 @@ export default class ChoroplethLayer extends Layer<ChoroplethLayerDesign> {
|
|
|
1642
1642
|
|
|
1643
1643
|
if (design.regionMode === "indirect") {
|
|
1644
1644
|
if (!design.table) {
|
|
1645
|
-
return
|
|
1645
|
+
return T`Missing table`
|
|
1646
1646
|
}
|
|
1647
1647
|
if (!design.adminRegionExpr || exprUtils.getExprType(design.adminRegionExpr) !== "id") {
|
|
1648
|
-
return
|
|
1648
|
+
return T`Missing admin region expr`
|
|
1649
1649
|
}
|
|
1650
1650
|
|
|
1651
1651
|
error = axisBuilder.validateAxis({ axis: design.axes.color || null })
|
|
@@ -1676,7 +1676,7 @@ export default class ChoroplethLayer extends Layer<ChoroplethLayerDesign> {
|
|
|
1676
1676
|
}
|
|
1677
1677
|
|
|
1678
1678
|
if (design.detailLevel == null) {
|
|
1679
|
-
return
|
|
1679
|
+
return T`Missing detail level`
|
|
1680
1680
|
}
|
|
1681
1681
|
|
|
1682
1682
|
return null
|