@mwater/visualization 5.3.2 → 5.4.1

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.
Files changed (309) hide show
  1. package/lib/ColorComponent.d.ts +1 -1
  2. package/lib/ColorComponent.js +2 -2
  3. package/lib/CustomColorsContext.d.ts +0 -1
  4. package/lib/DateRangeComponent.js +10 -10
  5. package/lib/LocaleContextInjector.js +2 -2
  6. package/lib/MWaterAddRelatedFormComponent.js +8 -8
  7. package/lib/MWaterAddRelatedIndicatorComponent.d.ts +0 -1
  8. package/lib/MWaterAddRelatedIndicatorComponent.js +6 -6
  9. package/lib/MWaterAssetSystemsListComponent.d.ts +3 -3
  10. package/lib/MWaterAssetSystemsListComponent.js +4 -3
  11. package/lib/MWaterCompleteTableSelectComponent.d.ts +33 -34
  12. package/lib/MWaterCompleteTableSelectComponent.js +39 -38
  13. package/lib/MWaterCustomTablesetListComponent.d.ts +3 -3
  14. package/lib/MWaterCustomTablesetListComponent.js +5 -4
  15. package/lib/MWaterGlobalFiltersComponent.js +4 -4
  16. package/lib/MWaterLoaderComponent.d.ts +5 -5
  17. package/lib/MWaterLoaderComponent.js +1 -1
  18. package/lib/MWaterMetricsTableListComponent.d.ts +3 -3
  19. package/lib/MWaterMetricsTableListComponent.js +4 -3
  20. package/lib/MWaterResponsesFilterComponent.js +4 -4
  21. package/lib/MWaterTableSelectComponent.d.ts +1 -1
  22. package/lib/MWaterTableSelectComponent.js +5 -5
  23. package/lib/PopoverComponent.d.ts +4 -4
  24. package/lib/UIComponents.d.ts +5 -2
  25. package/lib/axes/AxisBuilder.js +42 -43
  26. package/lib/axes/AxisColorEditorComponent.d.ts +4 -4
  27. package/lib/axes/AxisColorEditorComponent.js +25 -60
  28. package/lib/axes/AxisComponent.d.ts +2 -3
  29. package/lib/axes/AxisComponent.js +20 -20
  30. package/lib/axes/BinsComponent.js +6 -6
  31. package/lib/axes/CategoryMapComponent.d.ts +2 -1
  32. package/lib/axes/CategoryMapComponent.js +7 -5
  33. package/lib/axes/ColorPaletteCollectionComponent.js +3 -3
  34. package/lib/axes/RangesComponent.js +12 -12
  35. package/lib/compressJson.js +1 -1
  36. package/lib/dashboards/DashboardComponent.d.ts +2 -0
  37. package/lib/dashboards/DashboardComponent.js +15 -8
  38. package/lib/dashboards/DashboardUtils.js +2 -3
  39. package/lib/dashboards/DashboardViewComponent.js +4 -4
  40. package/lib/dashboards/FontStyleEditor.js +8 -8
  41. package/lib/dashboards/LayoutOptionsComponent.js +101 -74
  42. package/lib/dashboards/SettingsModalComponent.d.ts +3 -4
  43. package/lib/dashboards/SettingsModalComponent.js +54 -40
  44. package/lib/dashboards/WidgetComponent.d.ts +0 -1
  45. package/lib/dashboards/WidgetComponent.js +1 -2
  46. package/lib/dashboards/layoutOptions.js +11 -7
  47. package/lib/datagrids/DatagridComponent.d.ts +1 -8
  48. package/lib/datagrids/DatagridComponent.js +14 -13
  49. package/lib/datagrids/DatagridDesignerComponent.js +18 -18
  50. package/lib/datagrids/DatagridQueryBuilder.d.ts +4 -4
  51. package/lib/datagrids/DatagridUtils.js +2 -2
  52. package/lib/datagrids/DatagridViewComponent.js +4 -4
  53. package/lib/datagrids/ExprCellComponent.js +1 -1
  54. package/lib/datagrids/FindReplaceModalComponent.js +17 -17
  55. package/lib/datagrids/OrderBysDesignerComponent.js +2 -2
  56. package/lib/languages.js +2 -2
  57. package/lib/layouts/DecoratedBlockComponent.js +2 -2
  58. package/lib/layouts/blocks/BlocksDisplayComponent.js +13 -13
  59. package/lib/layouts/blocks/BlocksLayoutManager.d.ts +2 -1
  60. package/lib/layouts/blocks/ClipboardPaletteItemComponent.js +3 -3
  61. package/lib/layouts/blocks/HorizontalBlockComponent.js +3 -3
  62. package/lib/layouts/blocks/blockUtils.js +4 -5
  63. package/lib/mWaterLoader.js +1 -1
  64. package/lib/maps/AddLayerComponent.js +13 -13
  65. package/lib/maps/AdminScopeAndDetailLevelComponent.js +5 -5
  66. package/lib/maps/BaseLayerDesignerComponent.js +2 -2
  67. package/lib/maps/BufferLayer.js +7 -7
  68. package/lib/maps/BufferLayerDesignerComponent.js +8 -8
  69. package/lib/maps/ChoroplethLayer.js +6 -6
  70. package/lib/maps/ChoroplethLayerDesigner.js +16 -16
  71. package/lib/maps/ClusterLayer.js +3 -3
  72. package/lib/maps/ClusterLayerDesignerComponent.js +5 -5
  73. package/lib/maps/DetailLevelSelectComponent.d.ts +11 -1
  74. package/lib/maps/DetailLevelSelectComponent.js +3 -3
  75. package/lib/maps/DirectMapDataSource.js +1 -2
  76. package/lib/maps/EditHoverOver.js +7 -5
  77. package/lib/maps/EditPopupComponent.js +2 -2
  78. package/lib/maps/GridLayer.js +5 -5
  79. package/lib/maps/GridLayerDesigner.js +15 -15
  80. package/lib/maps/LayerSwitcherComponent.js +1 -2
  81. package/lib/maps/LeafletMapComponent.d.ts +1 -1
  82. package/lib/maps/LeafletMapComponent.js +1 -1
  83. package/lib/maps/LegendComponent.js +1 -1
  84. package/lib/maps/MWaterServerLayer.d.ts +0 -1
  85. package/lib/maps/MWaterServerLayer.js +1 -1
  86. package/lib/maps/MapComponent.js +8 -8
  87. package/lib/maps/MapControlComponent.js +1 -1
  88. package/lib/maps/MapDesignerComponent.js +16 -16
  89. package/lib/maps/MapFiltersDesignerComponent.js +2 -2
  90. package/lib/maps/MapLayerViewDesignerComponent.js +8 -8
  91. package/lib/maps/MapUtils.js +6 -7
  92. package/lib/maps/MapViewComponent.js +1 -2
  93. package/lib/maps/MarkerSymbolSelectComponent.js +3 -3
  94. package/lib/maps/MarkersLayer.js +6 -7
  95. package/lib/maps/MarkersLayerDesignerComponent.js +22 -22
  96. package/lib/maps/PopupFilterJoinsEditComponent.js +4 -4
  97. package/lib/maps/PopupFilterJoinsUtils.js +2 -3
  98. package/lib/maps/RasterMapViewComponent.d.ts +3 -3
  99. package/lib/maps/RasterMapViewComponent.js +4 -4
  100. package/lib/maps/RegionSelectComponent.d.ts +1 -3
  101. package/lib/maps/RegionSelectComponent.js +1 -2
  102. package/lib/maps/ScopeAndDetailLevelComponent.js +3 -3
  103. package/lib/maps/TileUrlLayer.d.ts +1 -1
  104. package/lib/maps/TileUrlLayer.js +3 -3
  105. package/lib/maps/VectorMapViewComponent.js +6 -7
  106. package/lib/maps/ZoomLevelsComponent.js +5 -5
  107. package/lib/maps/mapSymbols.d.ts +1 -1
  108. package/lib/maps/mapSymbols.js +51 -50
  109. package/lib/maps/mapboxUtils.js +2 -3
  110. package/lib/maps/maps.d.ts +0 -1
  111. package/lib/maps/vectorMaps.js +14 -15
  112. package/lib/memoizedDebounce.js +1 -2
  113. package/lib/quickfilter/DateExprComponent.d.ts +4 -0
  114. package/lib/quickfilter/DateExprComponent.js +17 -16
  115. package/lib/quickfilter/IdArrayQuickfilterComponent.js +1 -1
  116. package/lib/quickfilter/QuickfilterUtils.js +1 -2
  117. package/lib/quickfilter/QuickfiltersComponent.d.ts +23 -2
  118. package/lib/quickfilter/QuickfiltersComponent.js +2 -2
  119. package/lib/quickfilter/QuickfiltersDesignComponent.js +8 -8
  120. package/lib/quickfilter/TextLiteralComponent.d.ts +35 -2
  121. package/lib/quickfilter/TextLiteralComponent.js +6 -6
  122. package/lib/richtext/DropdownPaletteItem.js +1 -1
  123. package/lib/richtext/ExprItemsHtmlConverter.js +8 -10
  124. package/lib/richtext/FontColorPaletteItem.js +7 -7
  125. package/lib/richtext/ItemsHtmlConverter.js +0 -1
  126. package/lib/richtext/RichTextComponent.d.ts +1 -0
  127. package/lib/richtext/RichTextComponent.js +33 -29
  128. package/lib/valueFormatter.js +18 -19
  129. package/lib/wellknown.js +2 -3
  130. package/lib/widgets/IFrameWidgetComponent.d.ts +9 -1
  131. package/lib/widgets/IFrameWidgetComponent.js +3 -3
  132. package/lib/widgets/ImageUploaderComponent.js +5 -5
  133. package/lib/widgets/ImageWidget.js +2 -2
  134. package/lib/widgets/ImageWidgetComponent.d.ts +9 -1
  135. package/lib/widgets/ImageWidgetComponent.js +20 -20
  136. package/lib/widgets/ImagelistCarouselComponent.js +1 -1
  137. package/lib/widgets/MapWidget.js +2 -2
  138. package/lib/widgets/MarkdownWidget.d.ts +1 -1
  139. package/lib/widgets/MarkdownWidget.js +1 -1
  140. package/lib/widgets/TOCWidget.js +11 -12
  141. package/lib/widgets/WidgetScopesViewComponent.js +1 -1
  142. package/lib/widgets/charts/Chart.js +1 -1
  143. package/lib/widgets/charts/ChartViewComponent.js +9 -9
  144. package/lib/widgets/charts/ChartWidgetComponent.js +4 -4
  145. package/lib/widgets/charts/calendar/CalendarChart.js +4 -4
  146. package/lib/widgets/charts/calendar/CalendarChartDesignerComponent.js +7 -7
  147. package/lib/widgets/charts/calendar/CalendarChartViewComponent.js +3 -3
  148. package/lib/widgets/charts/imagemosaic/ImageMosaicChart.d.ts +18 -5
  149. package/lib/widgets/charts/imagemosaic/ImageMosaicChart.js +3 -4
  150. package/lib/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.js +5 -5
  151. package/lib/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.d.ts +5 -19
  152. package/lib/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.js +66 -70
  153. package/lib/widgets/charts/imagemosaic/ImagePopupComponent.js +1 -1
  154. package/lib/widgets/charts/layered/LayeredChart.d.ts +1 -1
  155. package/lib/widgets/charts/layered/LayeredChart.js +9 -9
  156. package/lib/widgets/charts/layered/LayeredChartCompiler.d.ts +8 -8
  157. package/lib/widgets/charts/layered/LayeredChartCompiler.js +17 -17
  158. package/lib/widgets/charts/layered/LayeredChartDesignerComponent.js +33 -33
  159. package/lib/widgets/charts/layered/LayeredChartLayerDesignerComponent.js +16 -16
  160. package/lib/widgets/charts/layered/LayeredChartUtils.js +1 -2
  161. package/lib/widgets/charts/layered/LayeredChartViewComponent.js +4 -4
  162. package/lib/widgets/charts/pivot/IntersectionDesignerComponent.js +18 -17
  163. package/lib/widgets/charts/pivot/PivotChart.d.ts +1 -1
  164. package/lib/widgets/charts/pivot/PivotChart.js +12 -4
  165. package/lib/widgets/charts/pivot/PivotChartDesignerComponent.d.ts +6 -5
  166. package/lib/widgets/charts/pivot/PivotChartDesignerComponent.js +10 -10
  167. package/lib/widgets/charts/pivot/PivotChartLayoutComponent.js +5 -5
  168. package/lib/widgets/charts/pivot/PivotChartQueryBuilder.d.ts +1 -1
  169. package/lib/widgets/charts/pivot/PivotChartQueryBuilder.js +5 -6
  170. package/lib/widgets/charts/pivot/PivotChartUtils.js +11 -12
  171. package/lib/widgets/charts/pivot/PivotChartViewComponent.js +9 -9
  172. package/lib/widgets/charts/pivot/SegmentDesignerComponent.d.ts +36 -30
  173. package/lib/widgets/charts/pivot/SegmentDesignerComponent.js +28 -26
  174. package/lib/widgets/charts/table/OrderingsComponent.js +2 -2
  175. package/lib/widgets/charts/table/TableChart.js +3 -3
  176. package/lib/widgets/charts/table/TableChartDesignerComponent.js +17 -17
  177. package/lib/widgets/charts/table/TableChartViewComponent.js +3 -3
  178. package/lib/widgets/text/ExprInsertModalComponent.d.ts +2 -3
  179. package/lib/widgets/text/ExprInsertModalComponent.js +2 -14
  180. package/lib/widgets/text/ExprItemEditorComponent.js +4 -4
  181. package/lib/widgets/text/ExprUpdateModalComponent.d.ts +2 -3
  182. package/lib/widgets/text/ExprUpdateModalComponent.js +3 -15
  183. package/lib/widgets/text/TextComponent.js +3 -3
  184. package/lib/widgets/text/TextWidget.d.ts +1 -1
  185. package/lib/widgets/text/TextWidgetComponent.js +11 -11
  186. package/lib/widgets/text/TextWidgetDesign.d.ts +2 -1
  187. package/lib/widgets/text/TextWidgetDesign.js +1 -2
  188. package/package.json +3 -3
  189. package/src/ColorComponent.tsx +2 -2
  190. package/src/DateRangeComponent.ts +10 -10
  191. package/src/LocaleContextInjector.tsx +1 -1
  192. package/src/MWaterAddRelatedFormComponent.ts +7 -7
  193. package/src/MWaterAddRelatedIndicatorComponent.ts +5 -5
  194. package/src/MWaterAssetSystemsListComponent.tsx +3 -3
  195. package/src/MWaterCompleteTableSelectComponent.tsx +36 -35
  196. package/src/MWaterCustomTablesetListComponent.tsx +4 -4
  197. package/src/MWaterGlobalFiltersComponent.ts +4 -4
  198. package/src/MWaterLoaderComponent.ts +1 -1
  199. package/src/MWaterMetricsTableListComponent.tsx +3 -3
  200. package/src/MWaterResponsesFilterComponent.ts +6 -6
  201. package/src/MWaterTableSelectComponent.tsx +6 -7
  202. package/src/axes/AxisBuilder.ts +42 -44
  203. package/src/axes/AxisColorEditorComponent.tsx +178 -0
  204. package/src/axes/AxisComponent.ts +20 -20
  205. package/src/axes/BinsComponent.tsx +6 -6
  206. package/src/axes/CategoryMapComponent.ts +10 -10
  207. package/src/axes/ColorPaletteCollectionComponent.tsx +3 -3
  208. package/src/axes/RangesComponent.ts +14 -14
  209. package/src/dashboards/DashboardComponent.tsx +21 -9
  210. package/src/dashboards/DashboardViewComponent.tsx +3 -3
  211. package/src/dashboards/FontStyleEditor.tsx +8 -8
  212. package/src/dashboards/LayoutOptionsComponent.tsx +74 -74
  213. package/src/dashboards/SettingsModalComponent.tsx +134 -107
  214. package/src/dashboards/layoutOptions.tsx +5 -1
  215. package/src/datagrids/DatagridComponent.ts +65 -62
  216. package/src/datagrids/DatagridDesignerComponent.tsx +17 -17
  217. package/src/datagrids/DatagridUtils.ts +2 -2
  218. package/src/datagrids/DatagridViewComponent.ts +3 -3
  219. package/src/datagrids/ExprCellComponent.ts +1 -1
  220. package/src/datagrids/FindReplaceModalComponent.ts +13 -13
  221. package/src/datagrids/OrderBysDesignerComponent.tsx +2 -2
  222. package/src/globals.d.ts +7 -1
  223. package/src/languages.ts +2 -2
  224. package/src/layouts/blocks/BlocksDisplayComponent.tsx +13 -13
  225. package/src/layouts/blocks/BlocksLayoutManager.ts +3 -2
  226. package/src/layouts/blocks/ClipboardPaletteItemComponent.ts +3 -3
  227. package/src/maps/AddLayerComponent.ts +13 -13
  228. package/src/maps/AdminScopeAndDetailLevelComponent.ts +5 -5
  229. package/src/maps/BaseLayerDesignerComponent.ts +8 -8
  230. package/src/maps/BufferLayer.ts +5 -5
  231. package/src/maps/BufferLayerDesignerComponent.ts +8 -8
  232. package/src/maps/ChoroplethLayer.ts +3 -3
  233. package/src/maps/ChoroplethLayerDesigner.tsx +16 -16
  234. package/src/maps/ClusterLayer.ts +3 -3
  235. package/src/maps/ClusterLayerDesignerComponent.ts +5 -5
  236. package/src/maps/DetailLevelSelectComponent.ts +3 -3
  237. package/src/maps/EditHoverOver.tsx +5 -5
  238. package/src/maps/EditPopupComponent.ts +2 -2
  239. package/src/maps/GridLayer.ts +5 -5
  240. package/src/maps/GridLayerDesigner.tsx +15 -16
  241. package/src/maps/MWaterServerLayer.ts +1 -1
  242. package/src/maps/MapComponent.ts +6 -6
  243. package/src/maps/MapControlComponent.ts +1 -1
  244. package/src/maps/MapDesignerComponent.tsx +20 -20
  245. package/src/maps/MapFiltersDesignerComponent.tsx +3 -3
  246. package/src/maps/MapLayerViewDesignerComponent.ts +9 -9
  247. package/src/maps/MarkerSymbolSelectComponent.ts +4 -5
  248. package/src/maps/MarkersLayerDesignerComponent.ts +22 -22
  249. package/src/maps/PopupFilterJoinsEditComponent.ts +4 -4
  250. package/src/maps/RasterMapViewComponent.ts +2 -2
  251. package/src/maps/RegionSelectComponent.ts +1 -2
  252. package/src/maps/ScopeAndDetailLevelComponent.ts +3 -3
  253. package/src/maps/TileUrlLayer.tsx +3 -3
  254. package/src/maps/VectorMapViewComponent.tsx +5 -5
  255. package/src/maps/ZoomLevelsComponent.ts +6 -6
  256. package/src/maps/mapSymbols.ts +49 -49
  257. package/src/maps/vectorMaps.tsx +2 -2
  258. package/src/quickfilter/DateExprComponent.ts +19 -18
  259. package/src/quickfilter/IdArrayQuickfilterComponent.ts +1 -1
  260. package/src/quickfilter/QuickfiltersComponent.ts +1 -1
  261. package/src/quickfilter/QuickfiltersDesignComponent.tsx +9 -9
  262. package/src/quickfilter/TextLiteralComponent.ts +4 -4
  263. package/src/richtext/DropdownPaletteItem.tsx +1 -1
  264. package/src/richtext/ExprItemsHtmlConverter.ts +8 -10
  265. package/src/richtext/ItemsHtmlConverter.ts +0 -1
  266. package/src/richtext/RichTextComponent.tsx +31 -31
  267. package/src/valueFormatter.ts +14 -14
  268. package/src/widgets/IFrameWidgetComponent.ts +3 -3
  269. package/src/widgets/ImageUploaderComponent.tsx +5 -5
  270. package/src/widgets/ImageWidget.ts +2 -2
  271. package/src/widgets/ImageWidgetComponent.ts +26 -26
  272. package/src/widgets/ImagelistCarouselComponent.ts +2 -2
  273. package/src/widgets/MapWidget.ts +1 -1
  274. package/src/widgets/MarkdownWidget.ts +1 -1
  275. package/src/widgets/TOCWidget.ts +13 -14
  276. package/src/widgets/WidgetScopesViewComponent.ts +1 -1
  277. package/src/widgets/charts/Chart.ts +1 -1
  278. package/src/widgets/charts/ChartViewComponent.ts +4 -4
  279. package/src/widgets/charts/ChartWidgetComponent.tsx +3 -3
  280. package/src/widgets/charts/calendar/CalendarChart.ts +4 -4
  281. package/src/widgets/charts/calendar/CalendarChartDesignerComponent.ts +7 -7
  282. package/src/widgets/charts/calendar/CalendarChartViewComponent.tsx +2 -2
  283. package/src/widgets/charts/imagemosaic/ImageMosaicChart.ts +25 -8
  284. package/src/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.ts +5 -5
  285. package/src/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.tsx +128 -0
  286. package/src/widgets/charts/layered/LayeredChart.ts +9 -9
  287. package/src/widgets/charts/layered/LayeredChartCompiler.ts +47 -47
  288. package/src/widgets/charts/layered/LayeredChartDesignerComponent.tsx +39 -39
  289. package/src/widgets/charts/layered/LayeredChartLayerDesignerComponent.tsx +18 -19
  290. package/src/widgets/charts/layered/LayeredChartViewComponent.ts +1 -1
  291. package/src/widgets/charts/pivot/IntersectionDesignerComponent.tsx +22 -23
  292. package/src/widgets/charts/pivot/PivotChart.ts +15 -5
  293. package/src/widgets/charts/pivot/PivotChartDesignerComponent.tsx +12 -12
  294. package/src/widgets/charts/pivot/PivotChartLayoutComponent.tsx +5 -5
  295. package/src/widgets/charts/pivot/PivotChartQueryBuilder.ts +7 -8
  296. package/src/widgets/charts/pivot/PivotChartViewComponent.tsx +6 -6
  297. package/src/widgets/charts/pivot/SegmentDesignerComponent.tsx +30 -30
  298. package/src/widgets/charts/table/OrderingsComponent.tsx +2 -2
  299. package/src/widgets/charts/table/TableChart.ts +3 -3
  300. package/src/widgets/charts/table/TableChartDesignerComponent.ts +16 -16
  301. package/src/widgets/charts/table/TableChartViewComponent.ts +2 -2
  302. package/src/widgets/text/{ExprInsertModalComponent.ts → ExprInsertModalComponent.tsx} +18 -20
  303. package/src/widgets/text/ExprItemEditorComponent.tsx +4 -4
  304. package/src/widgets/text/{ExprUpdateModalComponent.ts → ExprUpdateModalComponent.tsx} +18 -20
  305. package/src/widgets/text/TextComponent.tsx +2 -2
  306. package/src/widgets/text/TextWidgetComponent.tsx +10 -10
  307. package/src/widgets/text/TextWidgetDesign.ts +3 -1
  308. package/src/axes/AxisColorEditorComponent.ts +0 -210
  309. package/src/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.ts +0 -117
@@ -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 = mWaterLoader;
6
7
  const jquery_1 = __importDefault(require("jquery"));
7
8
  const expressions_1 = require("@mwater/expressions");
8
9
  const MWaterDataSource_1 = __importDefault(require("@mwater/expressions/lib/MWaterDataSource"));
@@ -53,4 +54,3 @@ function mWaterLoader(options, callback) {
53
54
  return callback(new Error(xhr.responseText));
54
55
  });
55
56
  }
56
- exports.default = mWaterLoader;
@@ -41,43 +41,43 @@ class AddLayerComponent extends react_1.default.Component {
41
41
  }
42
42
  const newLayers = [
43
43
  {
44
- label: "Marker Layer",
45
- name: "Untitled Layer",
44
+ label: T `Marker Layer`,
45
+ name: T `Untitled Layer`,
46
46
  type: "Markers",
47
47
  design: {}
48
48
  },
49
49
  {
50
- label: "Radius (circles) Layer",
51
- name: "Untitled Layer",
50
+ label: T `Radius (circles) Layer`,
51
+ name: T `Untitled Layer`,
52
52
  type: "Buffer",
53
53
  design: {}
54
54
  },
55
55
  {
56
- label: "Choropleth Layer",
57
- name: "Untitled Layer",
56
+ label: T `Choropleth Layer`,
57
+ name: T `Untitled Layer`,
58
58
  type: "AdminChoropleth",
59
59
  design: {}
60
60
  },
61
61
  {
62
- label: "Cluster Layer",
63
- name: "Untitled Layer",
62
+ label: T `Cluster Layer`,
63
+ name: T `Untitled Layer`,
64
64
  type: "Cluster",
65
65
  design: {}
66
66
  },
67
67
  {
68
- label: "Grid Layer",
69
- name: "Untitled Layer",
68
+ label: T `Grid Layer`,
69
+ name: T `Untitled Layer`,
70
70
  type: "Grid",
71
71
  design: {}
72
72
  },
73
73
  {
74
- label: "Custom Tile Url (advanced)",
75
- name: "Untitled Layer",
74
+ label: T `Custom Tile Url (advanced)`,
75
+ name: T `Untitled Layer`,
76
76
  type: "TileUrl",
77
77
  design: {}
78
78
  }
79
79
  ];
80
- return R("div", { style: { margin: 5 }, key: "addLayer", className: "btn-group" }, R("button", { type: "button", "data-bs-toggle": "dropdown", className: "btn btn-primary dropdown-toggle" }, R("span", { className: "fas fa-plus" }), " Add Layer"), R("ul", { className: "dropdown-menu" }, lodash_1.default.map(newLayers, (layer, i) => {
80
+ return R("div", { style: { margin: 5 }, key: "addLayer", className: "btn-group" }, R("button", { type: "button", "data-bs-toggle": "dropdown", className: "btn btn-primary dropdown-toggle" }, R("span", { className: "fas fa-plus" }), ` ${T `Add Layer`}`), R("ul", { className: "dropdown-menu" }, lodash_1.default.map(newLayers, (layer, i) => {
81
81
  return R("li", { key: "" + i }, R("a", { className: "dropdown-item", onClick: this.handleAddLayer.bind(null, layer) }, layer.label || layer.name));
82
82
  })));
83
83
  }
@@ -25,17 +25,17 @@ class AdminScopeAndDetailLevelComponent extends react_1.default.Component {
25
25
  };
26
26
  render() {
27
27
  const basicDetailLevelOptions = [
28
- { value: 0, label: "Countries" },
29
- { value: 1, label: "Level 1 (State/Province/District)" }
28
+ { value: 0, label: T `Countries` },
29
+ { value: 1, label: T `Level 1 (State/Province/District)` }
30
30
  ];
31
- return R("div", null, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Region to Map"), R(RegionSelectComponent_1.default, {
31
+ return R("div", null, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Region to Map`), R(RegionSelectComponent_1.default, {
32
32
  region: this.props.scope,
33
33
  onChange: this.handleScopeChange,
34
34
  schema: this.props.schema,
35
35
  dataSource: this.props.dataSource
36
36
  })), (() => {
37
37
  if (this.props.scope != null && this.props.detailLevel != null) {
38
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Detail Level"), R(DetailLevelSelectComponent_1.default, {
38
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Detail Level`), R(DetailLevelSelectComponent_1.default, {
39
39
  scope: this.props.scope,
40
40
  scopeLevel: this.props.scopeLevel,
41
41
  detailLevel: this.props.detailLevel,
@@ -46,7 +46,7 @@ class AdminScopeAndDetailLevelComponent extends react_1.default.Component {
46
46
  }
47
47
  else if (this.props.scope == null && this.props.detailLevel != null) {
48
48
  // Case of whole world. Allow selecting country or admin level 1
49
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Detail Level"), R(react_select_1.default, {
49
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Detail Level`), R(react_select_1.default, {
50
50
  value: lodash_1.default.findWhere(basicDetailLevelOptions, { value: this.props.detailLevel }) || null,
51
51
  options: basicDetailLevelOptions,
52
52
  onChange: (opt) => this.handleDetailLevelChange(opt.value)
@@ -41,7 +41,7 @@ class BaseLayerDesignerComponent extends react_1.default.Component {
41
41
  else {
42
42
  opacity = 1;
43
43
  }
44
- return R("div", { className: "mb-3", style: { paddingTop: 10 } }, R("label", { className: "text-muted" }, R("span", null, `Opacity: ${Math.round(opacity * 100)}%`)), R("div", { style: { padding: "10px" } }, react_1.default.createElement(rc_slider_1.default, {
44
+ return R("div", { className: "mb-3", style: { paddingTop: 10 } }, R("label", { className: "text-muted" }, R("span", null, T `Opacity: ${Math.round(opacity * 100)}%`)), R("div", { style: { padding: "10px" } }, react_1.default.createElement(rc_slider_1.default, {
45
45
  min: 0,
46
46
  max: 100,
47
47
  step: 1,
@@ -51,7 +51,7 @@ class BaseLayerDesignerComponent extends react_1.default.Component {
51
51
  })));
52
52
  }
53
53
  render() {
54
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Background Map"), R("div", { style: { marginLeft: 10 } }, R("div", null, this.renderBaseLayer("cartodb_positron", "Light"), this.renderBaseLayer("cartodb_dark_matter", "Dark"), this.renderBaseLayer("bing_road", "Roads"), this.renderBaseLayer("bing_aerial", "Satellite"), this.renderBaseLayer("blank", "Blank"), " ", R(PopoverHelpComponent_1.default, { placement: "bottom" }, "Blank map backgrounds work best with chloropleth map layers")), this.renderOpacityControl()));
54
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Background Map`), R("div", { style: { marginLeft: 10 } }, R("div", null, this.renderBaseLayer("cartodb_positron", T `Light`), this.renderBaseLayer("cartodb_dark_matter", T `Dark`), this.renderBaseLayer("bing_road", T `Roads`), this.renderBaseLayer("bing_aerial", T `Satellite`), this.renderBaseLayer("blank", T `Blank`), " ", R(PopoverHelpComponent_1.default, { placement: "bottom" }, T `Blank map backgrounds work best with chloropleth map layers`)), this.renderOpacityControl()));
55
55
  }
56
56
  }
57
57
  exports.default = BaseLayerDesignerComponent;
@@ -257,7 +257,7 @@ class BufferLayer extends Layer_1.default {
257
257
  type: "select",
258
258
  expr: { type: "field", tableAlias: "main", column: schema.getTable(design.table).primaryKey },
259
259
  alias: "id"
260
- },
260
+ }, // main primary key as id
261
261
  {
262
262
  type: "select",
263
263
  expr: { type: "op", op: "ST_AsMVTGeom", exprs: [bufferExpr, envelopeExpr] },
@@ -399,7 +399,7 @@ class BufferLayer extends Layer_1.default {
399
399
  type: "select",
400
400
  expr: { type: "field", tableAlias: "main", column: schema.getTable(design.table).primaryKey },
401
401
  alias: "id"
402
- },
402
+ }, // main primary key as id
403
403
  { type: "select", expr: geometryExpr, alias: "the_geom_webmercator" },
404
404
  { type: "select", expr: widthExpr, alias: "width" } // Width of circles
405
405
  ];
@@ -592,7 +592,7 @@ marker-fill: ` +
592
592
  // Scope to item
593
593
  if (ids.length > 0) {
594
594
  results.scope = {
595
- name: `Selected ${ids.length} Circle(s)`,
595
+ name: T `Selected ${ids.length} Circle(s)`,
596
596
  filter,
597
597
  filterExpr,
598
598
  data: ids
@@ -788,13 +788,13 @@ marker-fill: ` +
788
788
  const axisBuilder = new AxisBuilder_1.default({ schema });
789
789
  const exprValidator = new expressions_1.ExprValidator(schema);
790
790
  if (!design.table) {
791
- return "Missing table";
791
+ return T `Missing table`;
792
792
  }
793
793
  if (design.radius == null) {
794
- return "Missing radius";
794
+ return T `Missing radius`;
795
795
  }
796
796
  if (!design.axes || !design.axes.geometry) {
797
- return "Missing axes";
797
+ return T `Missing axes`;
798
798
  }
799
799
  let error = axisBuilder.validateAxis({ axis: design.axes.geometry });
800
800
  if (error) {
@@ -802,7 +802,7 @@ marker-fill: ` +
802
802
  }
803
803
  // Check type of axis (prevents blank axes)
804
804
  if (axisBuilder.getAxisType(design.axes.geometry) != "geometry") {
805
- return "Geometry axis required";
805
+ return T `Geometry axis required`;
806
806
  }
807
807
  error = axisBuilder.validateAxis({ axis: design.axes.color });
808
808
  if (error) {
@@ -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(expressions_ui_2.TableSelectComponent, {
80
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", T `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,
@@ -89,7 +89,7 @@ class BufferLayerDesignerComponent extends react_1.default.Component {
89
89
  if (!this.props.design.table) {
90
90
  return;
91
91
  }
92
- const title = R("span", null, R("span", { className: "fas fa-map-marker-alt" }), " Circle Centers");
92
+ const title = R("span", null, R("span", { className: "fas fa-map-marker-alt" }), " ", T `Circle Centers`);
93
93
  const filters = lodash_1.default.clone(this.props.filters) || [];
94
94
  if (this.props.design.filter != null) {
95
95
  const exprCompiler = new expressions_1.ExprCompiler(this.props.schema);
@@ -110,7 +110,7 @@ class BufferLayerDesignerComponent extends react_1.default.Component {
110
110
  })));
111
111
  }
112
112
  renderRadius() {
113
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Radius (meters)"), ": ", react_1.default.createElement(NumberInputComponent_1.default, {
113
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Radius (meters)`), ": ", react_1.default.createElement(NumberInputComponent_1.default, {
114
114
  value: this.props.design.radius,
115
115
  onChange: this.handleRadiusChange
116
116
  }));
@@ -123,7 +123,7 @@ class BufferLayerDesignerComponent extends react_1.default.Component {
123
123
  return R("div", { className: "mb-3" }, react_1.default.createElement(bootstrap_1.Checkbox, {
124
124
  value: this.props.design.unionShapes,
125
125
  onChange: this.handleUnionShapesChange
126
- }, "Combine circles (advanced)"));
126
+ }, T `Combine circles (advanced)`));
127
127
  }
128
128
  renderColor() {
129
129
  if (!this.props.design.axes.geometry) {
@@ -138,11 +138,11 @@ class BufferLayerDesignerComponent extends react_1.default.Component {
138
138
  }
139
139
  }
140
140
  return R("div", null, !this.props.design.axes.color
141
- ? R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Circle Color"), R("div", null, R(ColorComponent_1.default, {
141
+ ? R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T `Circle Color`), R("div", null, R(ColorComponent_1.default, {
142
142
  color: this.props.design.color,
143
143
  onChange: this.handleColorChange
144
144
  })))
145
- : undefined, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Color By Data"), R(AxisComponent_1.default, {
145
+ : undefined, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T `Color By Data`), R(AxisComponent_1.default, {
146
146
  schema: this.props.schema,
147
147
  dataSource: this.props.dataSource,
148
148
  table: this.props.design.table,
@@ -158,7 +158,7 @@ class BufferLayerDesignerComponent extends react_1.default.Component {
158
158
  })));
159
159
  }
160
160
  renderFillOpacity() {
161
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Circle Opacity (%)"), ": ", react_1.default.createElement(rc_slider_1.default, {
161
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Circle Opacity (%)`), ": ", react_1.default.createElement(rc_slider_1.default, {
162
162
  min: 0,
163
163
  max: 100,
164
164
  step: 1,
@@ -172,7 +172,7 @@ class BufferLayerDesignerComponent extends react_1.default.Component {
172
172
  if (!this.props.design.axes.geometry) {
173
173
  return null;
174
174
  }
175
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), " Filters"), R("div", { style: { marginLeft: 8 } }, react_1.default.createElement(expressions_ui_1.FilterExprComponent, {
175
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), T `Filters`), R("div", { style: { marginLeft: 8 } }, react_1.default.createElement(expressions_ui_1.FilterExprComponent, {
176
176
  schema: this.props.schema,
177
177
  dataSource: this.props.dataSource,
178
178
  onChange: this.handleFilterChange,
@@ -220,7 +220,7 @@ class ChoroplethLayer extends Layer_1.default {
220
220
  paint: {
221
221
  // Because of https://github.com/mapbox/mapbox-gl-js/issues/4090, line opacities < 1 create artifacts.
222
222
  "line-color": design.borderColor || "#000",
223
- "line-opacity": opacity,
223
+ "line-opacity": opacity, // 0.5 * opacity,
224
224
  "line-width": 1,
225
225
  "line-blur": 1.5
226
226
  }
@@ -523,7 +523,7 @@ class ChoroplethLayer extends Layer_1.default {
523
523
  paint: {
524
524
  // Because of https://github.com/mapbox/mapbox-gl-js/issues/4090, line opacities < 1 create artifacts
525
525
  "line-color": (0, mapboxUtils_1.compileColorToMapbox)(design.borderColor || "#000", design.axes.color?.excludedValues),
526
- "line-opacity": opacity,
526
+ "line-opacity": opacity, // 0.5 * opacity,
527
527
  "line-width": 1,
528
528
  "line-blur": 1.5
529
529
  }
@@ -729,7 +729,7 @@ class ChoroplethLayer extends Layer_1.default {
729
729
  paint: {
730
730
  // Because of https://github.com/mapbox/mapbox-gl-js/issues/4090, line opacities < 1 create artifacts.
731
731
  "line-color": design.borderColor || "#000",
732
- "line-opacity": opacity,
732
+ "line-opacity": opacity, // 0.5 * opacity,
733
733
  "line-width": 1,
734
734
  "line-blur": 1.5
735
735
  }
@@ -1457,10 +1457,10 @@ class ChoroplethLayer extends Layer_1.default {
1457
1457
  const exprValidator = new expressions_1.ExprValidator(schema);
1458
1458
  if (design.regionMode === "indirect") {
1459
1459
  if (!design.table) {
1460
- return "Missing table";
1460
+ return T `Missing table`;
1461
1461
  }
1462
1462
  if (!design.adminRegionExpr || exprUtils.getExprType(design.adminRegionExpr) !== "id") {
1463
- return "Missing admin region expr";
1463
+ return T `Missing admin region expr`;
1464
1464
  }
1465
1465
  error = axisBuilder.validateAxis({ axis: design.axes.color || null });
1466
1466
  if (error) {
@@ -1487,7 +1487,7 @@ class ChoroplethLayer extends Layer_1.default {
1487
1487
  }
1488
1488
  }
1489
1489
  if (design.detailLevel == null) {
1490
- return "Missing detail level";
1490
+ return T `Missing detail level`;
1491
1491
  }
1492
1492
  return null;
1493
1493
  }
@@ -132,11 +132,11 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
132
132
  };
133
133
  renderRegionMode() {
134
134
  return (react_1.default.createElement("div", { className: "mb-3" },
135
- react_1.default.createElement("label", { className: "text-muted" }, "Mode"),
135
+ react_1.default.createElement("label", { className: "text-muted" }, T `Mode`),
136
136
  react_1.default.createElement("div", { style: { marginLeft: 10 } },
137
- react_1.default.createElement(ui.Radio, { inline: true, radioValue: "plain", value: this.props.design.regionMode, onChange: this.handleRegionModeChange }, "Single Color"),
138
- react_1.default.createElement(ui.Radio, { inline: true, radioValue: "indirect", value: this.props.design.regionMode, onChange: this.handleRegionModeChange }, "Color By Data"),
139
- react_1.default.createElement(ui.Radio, { inline: true, radioValue: "direct", value: this.props.design.regionMode, onChange: this.handleRegionModeChange }, "Advanced"))));
137
+ react_1.default.createElement(ui.Radio, { inline: true, radioValue: "plain", value: this.props.design.regionMode, onChange: this.handleRegionModeChange }, T `Single Color`),
138
+ react_1.default.createElement(ui.Radio, { inline: true, radioValue: "indirect", value: this.props.design.regionMode, onChange: this.handleRegionModeChange }, T `Color By Data`),
139
+ react_1.default.createElement(ui.Radio, { inline: true, radioValue: "direct", value: this.props.design.regionMode, onChange: this.handleRegionModeChange }, T `Advanced`))));
140
140
  }
141
141
  renderTable() {
142
142
  // Only for indirect
@@ -146,18 +146,18 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
146
146
  return (react_1.default.createElement("div", { className: "mb-3" },
147
147
  react_1.default.createElement("label", { className: "text-muted" },
148
148
  react_1.default.createElement("i", { className: "fa fa-database" }),
149
- " Data Source"),
149
+ T ` Data Source`),
150
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 }));
154
154
  const regionsTable = this.props.design.regionsTable || "admin_regions";
155
155
  return (react_1.default.createElement("div", { className: "mb-3" },
156
- react_1.default.createElement("label", { className: "text-muted" }, "Regions Type"),
156
+ react_1.default.createElement("label", { className: "text-muted" }, T `Regions Type`),
157
157
  react_1.default.createElement("div", { style: { marginLeft: 8 } },
158
158
  react_1.default.createElement("select", { value: regionsTable, onChange: ev => this.handleRegionsTableChange(ev.target.value), className: "form-select" },
159
- react_1.default.createElement("option", { value: "admin_regions" }, "Administrative Regions (from mWater global database)"),
160
- react_1.default.createElement("option", { disabled: true }, "\u2500\u2500 Custom regions (special regions uploaded for specific purposes) \u2500\u2500"),
159
+ react_1.default.createElement("option", { value: "admin_regions" }, T `Administrative Regions (from mWater global database)`),
160
+ react_1.default.createElement("option", { disabled: true }, T `── Custom regions (special regions uploaded for specific purposes) ──`),
161
161
  options.map(opt => (react_1.default.createElement("option", { value: opt.value }, opt.label)))))));
162
162
  }
163
163
  renderAdminRegionExpr() {
@@ -173,7 +173,7 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
173
173
  return (react_1.default.createElement("div", { className: "mb-3" },
174
174
  react_1.default.createElement("label", { className: "text-muted" },
175
175
  react_1.default.createElement("i", { className: "fas fa-map-marker-alt" }),
176
- " Location"),
176
+ T ` Location`),
177
177
  react_1.default.createElement("div", { style: { marginLeft: 8 } },
178
178
  react_1.default.createElement(expressions_ui_1.ExprComponent, { schema: this.props.schema, dataSource: this.props.dataSource, onChange: this.handleAdminRegionExprChange, table: this.props.design.table, types: ["id"], idTable: regionsTable, value: this.props.design.adminRegionExpr || null }))));
179
179
  }
@@ -202,14 +202,14 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
202
202
  }
203
203
  }
204
204
  renderDisplayNames() {
205
- return R("div", { className: "mb-3" }, react_1.default.createElement(ui.Checkbox, { value: this.props.design.displayNames, onChange: value => this.handleDisplayNamesChange(value) }, "Display Region Names"));
205
+ return R("div", { className: "mb-3" }, react_1.default.createElement(ui.Checkbox, { value: this.props.design.displayNames, onChange: value => this.handleDisplayNamesChange(value) }, T `Display Region Names`));
206
206
  }
207
207
  renderColor() {
208
208
  // Only if plain
209
209
  if (this.props.design.regionMode !== "plain") {
210
210
  return null;
211
211
  }
212
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Fill Color"), R("div", null, R(ColorComponent_1.default, {
212
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T `Fill Color`), R("div", null, R(ColorComponent_1.default, {
213
213
  color: this.props.design.color,
214
214
  onChange: this.handleColorChange
215
215
  })));
@@ -233,7 +233,7 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
233
233
  }
234
234
  }
235
235
  const table = this.props.design.table;
236
- return R("div", null, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Color By Data"), R(AxisComponent_1.default, {
236
+ 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, {
237
237
  schema: this.props.schema,
238
238
  dataSource: this.props.dataSource,
239
239
  table: this.props.design.table,
@@ -273,7 +273,7 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
273
273
  }
274
274
  });
275
275
  }
276
- return R("div", null, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Color By Data"), R(AxisComponent_1.default, {
276
+ 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, {
277
277
  schema: this.props.schema,
278
278
  dataSource: this.props.dataSource,
279
279
  table: regionsTable,
@@ -307,7 +307,7 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
307
307
  // showColorMap: true
308
308
  // onChange: @handleColorAxisChange)
309
309
  renderFillOpacity() {
310
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, `Fill Opacity: ${(this.props.design.fillOpacity * this.props.design.fillOpacity * 100).toFixed(0)}%`), ": ", R(rc_slider_1.default, {
310
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Fill Opacity: ${(this.props.design.fillOpacity * this.props.design.fillOpacity * 100).toFixed(0)}%`), ": ", R(rc_slider_1.default, {
311
311
  min: 0,
312
312
  max: 100,
313
313
  step: 1,
@@ -317,7 +317,7 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
317
317
  }));
318
318
  }
319
319
  renderBorderColor() {
320
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Border Color"), R("div", null, R(ColorComponent_1.default, {
320
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T `Border Color`), R("div", null, R(ColorComponent_1.default, {
321
321
  color: this.props.design.borderColor || "#000",
322
322
  onChange: this.handleBorderColorChange
323
323
  })));
@@ -327,7 +327,7 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
327
327
  if (this.props.design.regionMode !== "indirect" || !this.props.design.table) {
328
328
  return null;
329
329
  }
330
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), " Filters"), R("div", { style: { marginLeft: 8 } }, R(expressions_ui_1.FilterExprComponent, {
330
+ 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, {
331
331
  schema: this.props.schema,
332
332
  dataSource: this.props.dataSource,
333
333
  onChange: this.handleFilterChange,
@@ -724,10 +724,10 @@ class ClusterLayer extends Layer_1.default {
724
724
  const axisBuilder = new AxisBuilder_1.default({ schema });
725
725
  const exprValidator = new expressions_1.ExprValidator(schema);
726
726
  if (!design.table) {
727
- return "Missing table";
727
+ return T `Missing table`;
728
728
  }
729
729
  if (!design.axes || !design.axes.geometry) {
730
- return "Missing axes";
730
+ return T `Missing axes`;
731
731
  }
732
732
  let error = axisBuilder.validateAxis({ axis: design.axes.geometry });
733
733
  if (error) {
@@ -735,7 +735,7 @@ class ClusterLayer extends Layer_1.default {
735
735
  }
736
736
  // Check type of axis (prevents blank axes)
737
737
  if (axisBuilder.getAxisType(design.axes.geometry) != "geometry") {
738
- return "Geometry axis required";
738
+ return T `Geometry axis required`;
739
739
  }
740
740
  // Validate filter
741
741
  error = exprValidator.validateExpr(design.filter || null);
@@ -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(expressions_ui_2.TableSelectComponent, {
41
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", T `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,
@@ -50,7 +50,7 @@ class ClusterLayerDesignerComponent extends react_1.default.Component {
50
50
  if (!this.props.design.table) {
51
51
  return;
52
52
  }
53
- const title = R("span", null, R("span", { className: "fas fa-map-marker-alt" }), " Locations to Cluster");
53
+ const title = R("span", null, R("span", { className: "fas fa-map-marker-alt" }), " ", T `Locations to Cluster`);
54
54
  const filters = lodash_1.default.clone(this.props.filters) || [];
55
55
  if (this.props.design.filter != null) {
56
56
  const exprCompiler = new expressions_1.ExprCompiler(this.props.schema);
@@ -74,7 +74,7 @@ class ClusterLayerDesignerComponent extends react_1.default.Component {
74
74
  if (!this.props.design.axes.geometry) {
75
75
  return;
76
76
  }
77
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Text Color"), R("div", null, R(ColorComponent_1.default, {
77
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T `Text Color`), R("div", null, R(ColorComponent_1.default, {
78
78
  color: this.props.design.textColor,
79
79
  onChange: this.handleTextColorChange
80
80
  })));
@@ -83,7 +83,7 @@ class ClusterLayerDesignerComponent extends react_1.default.Component {
83
83
  if (!this.props.design.axes.geometry) {
84
84
  return;
85
85
  }
86
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Marker Color"), R("div", null, R(ColorComponent_1.default, {
86
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T `Marker Color`), R("div", null, R(ColorComponent_1.default, {
87
87
  color: this.props.design.fillColor,
88
88
  onChange: this.handleFillColorChange
89
89
  })));
@@ -93,7 +93,7 @@ class ClusterLayerDesignerComponent extends react_1.default.Component {
93
93
  if (!this.props.design.axes.geometry) {
94
94
  return null;
95
95
  }
96
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), " Filters"), R("div", { style: { marginLeft: 8 } }, react_1.default.createElement(expressions_ui_1.FilterExprComponent, {
96
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), T `Filters`), R("div", { style: { marginLeft: 8 } }, react_1.default.createElement(expressions_ui_1.FilterExprComponent, {
97
97
  schema: this.props.schema,
98
98
  dataSource: this.props.dataSource,
99
99
  onChange: this.handleFilterChange,
@@ -23,7 +23,17 @@ export default class DetailLevelSelectComponent extends React.Component<DetailLe
23
23
  componentWillMount(): any;
24
24
  componentWillReceiveProps(nextProps: any): any;
25
25
  loadLevels(props: any): any;
26
- render(): React.FunctionComponentElement<Omit<import("react-select/dist/declarations/src/Select").PublicBaseSelectProps<unknown, boolean, import("react-select").GroupBase<unknown>>, "value" | "onChange" | "inputValue" | "menuIsOpen" | "onInputChange" | "onMenuOpen" | "onMenuClose"> & Partial<import("react-select/dist/declarations/src/Select").PublicBaseSelectProps<unknown, boolean, import("react-select").GroupBase<unknown>>> & import("react-select/dist/declarations/src/useStateManager").StateManagerAdditionalProps<unknown> & React.RefAttributes<import("react-select/dist/declarations/src/Select").default<unknown, boolean, import("react-select").GroupBase<unknown>>>> | React.DetailedReactHTMLElement<{
26
+ render(): React.FunctionComponentElement<{
27
+ value: {
28
+ label: string;
29
+ value: any;
30
+ } | null;
31
+ options: {
32
+ label: string;
33
+ value: any;
34
+ }[];
35
+ onChange: (opt: any) => any;
36
+ }> | React.DetailedReactHTMLElement<{
27
37
  className: string;
28
38
  }, HTMLElement>;
29
39
  }
@@ -36,7 +36,7 @@ class DetailLevelSelectComponent extends react_1.default.Component {
36
36
  // Execute query
37
37
  return props.dataSource.performQuery(query, (err, rows) => {
38
38
  if (err) {
39
- alert("Error loading detail levels");
39
+ alert(T `Error loading detail levels`);
40
40
  return;
41
41
  }
42
42
  const countryId = rows[0].level0;
@@ -58,7 +58,7 @@ class DetailLevelSelectComponent extends react_1.default.Component {
58
58
  // Execute query
59
59
  return props.dataSource.performQuery(query, (err, rows) => {
60
60
  if (err) {
61
- alert("Error loading detail levels");
61
+ alert(T `Error loading detail levels`);
62
62
  return;
63
63
  }
64
64
  // Only greater than current scope level
@@ -84,7 +84,7 @@ class DetailLevelSelectComponent extends react_1.default.Component {
84
84
  });
85
85
  }
86
86
  else {
87
- return R("div", { className: "text-muted" }, R("i", { className: "fa fa-spinner fa-spin" }), " Loading...");
87
+ return R("div", { className: "text-muted" }, R("i", { className: "fa fa-spinner fa-spin" }), T ` Loading...`);
88
88
  }
89
89
  }
90
90
  }
@@ -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.useDirectVectorTileUrl = void 0;
29
+ exports.useDirectVectorTileUrl = useDirectVectorTileUrl;
30
30
  const lodash_1 = __importDefault(require("lodash"));
31
31
  const expressions_1 = require("@mwater/expressions");
32
32
  const BlocksLayoutManager_1 = __importDefault(require("../layouts/blocks/BlocksLayoutManager"));
@@ -124,7 +124,6 @@ function useDirectVectorTileUrl(options) {
124
124
  }, [expires]);
125
125
  return url;
126
126
  }
127
- exports.useDirectVectorTileUrl = useDirectVectorTileUrl;
128
127
  class DirectLayerDataSource {
129
128
  options;
130
129
  // Create map url source that uses direct jsonql maps
@@ -56,16 +56,18 @@ const EditHoverOver = props => {
56
56
  return (react_1.default.createElement(react_1.default.Fragment, null,
57
57
  react_1.default.createElement("button", { className: "btn btn-link", onClick: () => setEditing(true) },
58
58
  react_1.default.createElement("span", { className: "fa fa-pencil" }),
59
- " Customize Hoverover"),
59
+ " ",
60
+ T `Customize Hoverover`),
60
61
  props.design.hoverOver && (react_1.default.createElement("button", { className: "btn btn-link", onClick: handleRemovePopup },
61
62
  react_1.default.createElement("span", { className: "fa fa-times" }),
62
- " Remove Hover over")),
63
+ " ",
64
+ T `Remove Hover over`)),
63
65
  editing && (react_1.default.createElement(ModalWindowComponent_1.default, { isOpen: true, onRequestClose: () => setEditing(false) },
64
66
  (props.design.hoverOver?.items ?? []).length > 0 && (react_1.default.createElement("table", { className: "table" },
65
67
  react_1.default.createElement("thead", null,
66
68
  react_1.default.createElement("tr", null,
67
- react_1.default.createElement("th", null, "Label"),
68
- react_1.default.createElement("th", null, "Value"),
69
+ react_1.default.createElement("th", null, T `Label`),
70
+ react_1.default.createElement("th", null, T `Value`),
69
71
  react_1.default.createElement("th", null))),
70
72
  react_1.default.createElement("tbody", null, props.design.hoverOver?.items.map((item) => (react_1.default.createElement(HoverOverItemEditor, { schema: props.schema, dataSource: props.dataSource, table: props.design.table, onItemChange: handleItemChange, onItemDelete: handleItemDelete, item: item })))))),
71
73
  (props.design.hoverOver?.items ?? []).length < 3 && (react_1.default.createElement("button", { className: "btn btn-link", onClick: () => handleDesignChange([
@@ -73,7 +75,7 @@ const EditHoverOver = props => {
73
75
  { id: (0, uuid_1.default)().replace(/-/g, ""), label: "" }
74
76
  ]) },
75
77
  react_1.default.createElement("span", { className: "fa fa-plus" }),
76
- "Add item"))))));
78
+ T `Add item`))))));
77
79
  };
78
80
  const HoverOverItemEditor = ({ schema, dataSource, table, item, onItemChange, onItemDelete }) => {
79
81
  return (react_1.default.createElement("tr", null,
@@ -29,8 +29,8 @@ class EditPopupComponent extends react_1.default.Component {
29
29
  return this.props.onDesignChange(design);
30
30
  };
31
31
  render() {
32
- return R("div", null, R("a", { className: "btn btn-link", onClick: () => this.setState({ editing: true }) }, R("i", { className: "fa fa-pencil" }), " Customize Popup"), this.props.design.popup
33
- ? R("a", { className: "btn btn-link", onClick: this.handleRemovePopup }, R("i", { className: "fa fa-times" }), " Remove Popup")
32
+ return R("div", null, R("a", { className: "btn btn-link", onClick: () => this.setState({ editing: true }) }, R("i", { className: "fa fa-pencil" }), T ` Customize Popup`), this.props.design.popup
33
+ ? R("a", { className: "btn btn-link", onClick: this.handleRemovePopup }, R("i", { className: "fa fa-times" }), T ` Remove Popup`)
34
34
  : undefined, this.props.design.popup
35
35
  ? R(PopupFilterJoinsEditComponent_1.default, {
36
36
  schema: this.props.schema,
@@ -636,19 +636,19 @@ class GridLayer extends Layer_1.default {
636
636
  const axisBuilder = new AxisBuilder_1.default({ schema });
637
637
  const exprValidator = new expressions_1.ExprValidator(schema);
638
638
  if (!design.shape) {
639
- return "Missing shape";
639
+ return T `Missing shape`;
640
640
  }
641
641
  if (!design.table) {
642
- return "Missing table";
642
+ return T `Missing table`;
643
643
  }
644
644
  if (!design.geometryExpr || exprUtils.getExprType(design.geometryExpr) !== "geometry") {
645
- return "Missing geometry expr";
645
+ return T `Missing geometry expr`;
646
646
  }
647
647
  if (!design.size || !design.sizeUnits) {
648
- return "Missing size";
648
+ return T `Missing size`;
649
649
  }
650
650
  if (!design.colorAxis) {
651
- return "Missing color axis";
651
+ return T `Missing color axis`;
652
652
  }
653
653
  error = axisBuilder.validateAxis({ axis: design.colorAxis });
654
654
  if (error) {