@mwater/visualization 5.3.2 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +15 -15
  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 +5 -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 +30 -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 +45 -45
  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
@@ -135,28 +135,28 @@ export default class ChoroplethLayerDesigner extends React.Component<{
135
135
  renderRegionMode() {
136
136
  return (
137
137
  <div className="mb-3">
138
- <label className="text-muted">Mode</label>
138
+ <label className="text-muted">{T`Mode`}</label>
139
139
  <div style={{ marginLeft: 10 }}>
140
140
  <ui.Radio
141
141
  inline
142
142
  radioValue="plain"
143
143
  value={this.props.design.regionMode}
144
144
  onChange={this.handleRegionModeChange}>
145
- Single Color
145
+ {T`Single Color`}
146
146
  </ui.Radio>
147
147
  <ui.Radio
148
148
  inline
149
149
  radioValue="indirect"
150
150
  value={this.props.design.regionMode}
151
151
  onChange={this.handleRegionModeChange}>
152
- Color By Data
152
+ {T`Color By Data`}
153
153
  </ui.Radio>
154
154
  <ui.Radio
155
155
  inline
156
156
  radioValue="direct"
157
157
  value={this.props.design.regionMode}
158
158
  onChange={this.handleRegionModeChange}>
159
- Advanced
159
+ {T`Advanced`}
160
160
  </ui.Radio>
161
161
  </div>
162
162
  </div>
@@ -173,7 +173,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
173
173
  <div className="mb-3">
174
174
  <label className="text-muted">
175
175
  <i className="fa fa-database" />
176
- {" Data Source"}
176
+ {T` Data Source`}
177
177
  </label>
178
178
  <TableSelectComponent
179
179
  schema={this.props.schema}
@@ -196,14 +196,14 @@ export default class ChoroplethLayerDesigner extends React.Component<{
196
196
 
197
197
  return (
198
198
  <div className="mb-3">
199
- <label className="text-muted">Regions Type</label>
199
+ <label className="text-muted">{T`Regions Type`}</label>
200
200
  <div style={{ marginLeft: 8 }}>
201
201
  <select
202
202
  value={regionsTable}
203
203
  onChange={ev => this.handleRegionsTableChange(ev.target.value)}
204
204
  className="form-select">
205
- <option value="admin_regions">Administrative Regions (from mWater global database)</option>
206
- <option disabled>── Custom regions (special regions uploaded for specific purposes) ──</option>
205
+ <option value="admin_regions">{T`Administrative Regions (from mWater global database)`}</option>
206
+ <option disabled>{T`── Custom regions (special regions uploaded for specific purposes) ──`}</option>
207
207
  {options.map(opt => (
208
208
  <option value={opt.value}>{opt.label}</option>
209
209
  ))}
@@ -230,7 +230,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
230
230
  <div className="mb-3">
231
231
  <label className="text-muted">
232
232
  <i className="fas fa-map-marker-alt" />
233
- {" Location"}
233
+ {T` Location`}
234
234
  </label>
235
235
  <div style={{ marginLeft: 8 }}>
236
236
  <ExprComponent
@@ -277,7 +277,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
277
277
  "div",
278
278
  { className: "mb-3" },
279
279
  <ui.Checkbox value={this.props.design.displayNames} onChange={value => this.handleDisplayNamesChange(value)}>
280
- Display Region Names
280
+ {T`Display Region Names`}
281
281
  </ui.Checkbox>
282
282
  )
283
283
  }
@@ -291,7 +291,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
291
291
  return R(
292
292
  "div",
293
293
  { className: "mb-3" },
294
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Fill Color"),
294
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Fill Color`),
295
295
 
296
296
  R(
297
297
  "div",
@@ -332,7 +332,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
332
332
  R(
333
333
  "div",
334
334
  { className: "mb-3" },
335
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Color By Data"),
335
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Color By Data`),
336
336
 
337
337
  R(AxisComponent, {
338
338
  schema: this.props.schema,
@@ -384,7 +384,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
384
384
  R(
385
385
  "div",
386
386
  { className: "mb-3" },
387
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Color By Data"),
387
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Color By Data`),
388
388
 
389
389
  R(AxisComponent, {
390
390
  schema: this.props.schema,
@@ -432,7 +432,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
432
432
  R(
433
433
  "label",
434
434
  { className: "text-muted" },
435
- `Fill Opacity: ${(this.props.design.fillOpacity * this.props.design.fillOpacity * 100).toFixed(0)}%`
435
+ T`Fill Opacity: ${(this.props.design.fillOpacity * this.props.design.fillOpacity * 100).toFixed(0)}%`
436
436
  ),
437
437
  ": ",
438
438
  R(Rcslider, {
@@ -450,7 +450,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
450
450
  return R(
451
451
  "div",
452
452
  { className: "mb-3" },
453
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Border Color"),
453
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Border Color`),
454
454
 
455
455
  R(
456
456
  "div",
@@ -472,7 +472,7 @@ export default class ChoroplethLayerDesigner extends React.Component<{
472
472
  return R(
473
473
  "div",
474
474
  { className: "mb-3" },
475
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), " Filters"),
475
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), T`Filters`),
476
476
  R(
477
477
  "div",
478
478
  { style: { marginLeft: 8 } },
@@ -810,11 +810,11 @@ export default class ClusterLayer extends Layer<ClusterLayerDesign> {
810
810
  const exprValidator = new ExprValidator(schema)
811
811
 
812
812
  if (!design.table) {
813
- return "Missing table"
813
+ return T`Missing table`
814
814
  }
815
815
 
816
816
  if (!design.axes || !design.axes.geometry) {
817
- return "Missing axes"
817
+ return T`Missing axes`
818
818
  }
819
819
 
820
820
  let error = axisBuilder.validateAxis({ axis: design.axes.geometry })
@@ -824,7 +824,7 @@ export default class ClusterLayer extends Layer<ClusterLayerDesign> {
824
824
 
825
825
  // Check type of axis (prevents blank axes)
826
826
  if (axisBuilder.getAxisType(design.axes.geometry) != "geometry") {
827
- return "Geometry axis required"
827
+ return T`Geometry axis required`
828
828
  }
829
829
 
830
830
  // Validate filter
@@ -54,7 +54,7 @@ export default class ClusterLayerDesignerComponent extends React.Component<Clust
54
54
  return R(
55
55
  "div",
56
56
  { className: "mb-3" },
57
- R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"),
57
+ R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", T`Data Source`),
58
58
  R(
59
59
  "div",
60
60
  { style: { marginLeft: 10 } },
@@ -74,7 +74,7 @@ export default class ClusterLayerDesignerComponent extends React.Component<Clust
74
74
  return
75
75
  }
76
76
 
77
- const title = R("span", null, R("span", { className: "fas fa-map-marker-alt" }), " Locations to Cluster")
77
+ const title = R("span", null, R("span", { className: "fas fa-map-marker-alt" }), " ", T`Locations to Cluster`)
78
78
 
79
79
  const filters = _.clone(this.props.filters) || []
80
80
 
@@ -115,7 +115,7 @@ export default class ClusterLayerDesignerComponent extends React.Component<Clust
115
115
  return R(
116
116
  "div",
117
117
  { className: "mb-3" },
118
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Text Color"),
118
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Text Color`),
119
119
 
120
120
  R(
121
121
  "div",
@@ -136,7 +136,7 @@ export default class ClusterLayerDesignerComponent extends React.Component<Clust
136
136
  return R(
137
137
  "div",
138
138
  { className: "mb-3" },
139
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Marker Color"),
139
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Marker Color`),
140
140
 
141
141
  R(
142
142
  "div",
@@ -158,7 +158,7 @@ export default class ClusterLayerDesignerComponent extends React.Component<Clust
158
158
  return R(
159
159
  "div",
160
160
  { className: "mb-3" },
161
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), " Filters"),
161
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), T`Filters`),
162
162
  R(
163
163
  "div",
164
164
  { style: { marginLeft: 8 } },
@@ -59,7 +59,7 @@ export default class DetailLevelSelectComponent extends React.Component<
59
59
  // Execute query
60
60
  return props.dataSource.performQuery(query, (err: any, rows: any) => {
61
61
  if (err) {
62
- alert("Error loading detail levels")
62
+ alert(T`Error loading detail levels`)
63
63
  return
64
64
  }
65
65
 
@@ -84,7 +84,7 @@ export default class DetailLevelSelectComponent extends React.Component<
84
84
  // Execute query
85
85
  return props.dataSource.performQuery(query, (err: any, rows: any[]) => {
86
86
  if (err) {
87
- alert("Error loading detail levels")
87
+ alert(T`Error loading detail levels`)
88
88
  return
89
89
  }
90
90
 
@@ -113,7 +113,7 @@ export default class DetailLevelSelectComponent extends React.Component<
113
113
  onChange: (opt: any) => this.props.onChange(opt.value)
114
114
  })
115
115
  } else {
116
- return R("div", { className: "text-muted" }, R("i", { className: "fa fa-spinner fa-spin" }), " Loading...")
116
+ return R("div", { className: "text-muted" }, R("i", { className: "fa fa-spinner fa-spin" }), T` Loading...`)
117
117
  }
118
118
  }
119
119
  }
@@ -54,11 +54,11 @@ const EditHoverOver: React.FC<EditHoverOverProps> = props => {
54
54
  return (
55
55
  <>
56
56
  <button className="btn btn-link" onClick={() => setEditing(true)}>
57
- <span className="fa fa-pencil" /> Customize Hoverover
57
+ <span className="fa fa-pencil" /> {T`Customize Hoverover`}
58
58
  </button>
59
59
  {props.design.hoverOver && (
60
60
  <button className="btn btn-link" onClick={handleRemovePopup}>
61
- <span className="fa fa-times" /> Remove Hover over
61
+ <span className="fa fa-times" /> {T`Remove Hover over`}
62
62
  </button>
63
63
  )}
64
64
 
@@ -68,8 +68,8 @@ const EditHoverOver: React.FC<EditHoverOverProps> = props => {
68
68
  <table className="table">
69
69
  <thead>
70
70
  <tr>
71
- <th>Label</th>
72
- <th>Value</th>
71
+ <th>{T`Label`}</th>
72
+ <th>{T`Value`}</th>
73
73
  <th></th>
74
74
  </tr>
75
75
  </thead>
@@ -98,7 +98,7 @@ const EditHoverOver: React.FC<EditHoverOverProps> = props => {
98
98
  ])
99
99
  }>
100
100
  <span className="fa fa-plus" />
101
- Add item
101
+ {T`Add item`}
102
102
  </button>
103
103
  )}
104
104
  </ModalWindowComponent>
@@ -56,7 +56,7 @@ export default class EditPopupComponent extends React.Component<EditPopupCompone
56
56
  "a",
57
57
  { className: "btn btn-link", onClick: () => this.setState({ editing: true }) },
58
58
  R("i", { className: "fa fa-pencil" }),
59
- " Customize Popup"
59
+ T` Customize Popup`
60
60
  ),
61
61
 
62
62
  this.props.design.popup
@@ -64,7 +64,7 @@ export default class EditPopupComponent extends React.Component<EditPopupCompone
64
64
  "a",
65
65
  { className: "btn btn-link", onClick: this.handleRemovePopup },
66
66
  R("i", { className: "fa fa-times" }),
67
- " Remove Popup"
67
+ T` Remove Popup`
68
68
  )
69
69
  : undefined,
70
70
 
@@ -718,19 +718,19 @@ export default class GridLayer extends Layer<GridLayerDesign> {
718
718
  const exprValidator = new ExprValidator(schema)
719
719
 
720
720
  if (!design.shape) {
721
- return "Missing shape"
721
+ return T`Missing shape`
722
722
  }
723
723
  if (!design.table) {
724
- return "Missing table"
724
+ return T`Missing table`
725
725
  }
726
726
  if (!design.geometryExpr || exprUtils.getExprType(design.geometryExpr) !== "geometry") {
727
- return "Missing geometry expr"
727
+ return T`Missing geometry expr`
728
728
  }
729
729
  if (!design.size || !design.sizeUnits) {
730
- return "Missing size"
730
+ return T`Missing size`
731
731
  }
732
732
  if (!design.colorAxis) {
733
- return "Missing color axis"
733
+ return T`Missing color axis`
734
734
  }
735
735
 
736
736
  error = axisBuilder.validateAxis({ axis: design.colorAxis as Axis })
@@ -94,7 +94,7 @@ export default class GridLayerDesigner extends React.Component<{
94
94
  renderShape() {
95
95
  return (
96
96
  <div className="mb-3">
97
- <label className="text-muted">Grid Type</label>
97
+ <label className="text-muted">{T`Grid Type`}</label>
98
98
  <div style={{ marginLeft: 10 }}>
99
99
  <ui.Toggle<"square" | "hex" | undefined>
100
100
  allowReset={false}
@@ -102,8 +102,8 @@ export default class GridLayerDesigner extends React.Component<{
102
102
  onChange={this.handleShapeChange}
103
103
  size="sm"
104
104
  options={[
105
- { value: "hex", label: "Hexagonal" },
106
- { value: "square", label: "Square" }
105
+ { value: "hex", label: T`Hexagonal` },
106
+ { value: "square", label: T`Square` }
107
107
  ]}
108
108
  />
109
109
  </div>
@@ -114,7 +114,7 @@ export default class GridLayerDesigner extends React.Component<{
114
114
  renderSize() {
115
115
  return (
116
116
  <div className="mb-3">
117
- <label className="text-muted">Size</label>
117
+ <label className="text-muted">{T`Size`}</label>
118
118
  <div style={{ marginLeft: 10 }}>
119
119
  <div style={{ display: "inline-block" }}>
120
120
  <ui.NumberInput decimal={true} value={this.props.design.size} onChange={this.handleSizeChange} />
@@ -127,15 +127,14 @@ export default class GridLayerDesigner extends React.Component<{
127
127
  onChange={this.handleSizeUnitsChange}
128
128
  size="sm"
129
129
  options={[
130
- { value: "pixels", label: "Pixels" },
131
- { value: "meters", label: "Meters (approximate)" }
130
+ { value: "pixels", label: T`Pixels` },
131
+ { value: "meters", label: T`Meters (approximate)` }
132
132
  ]}
133
133
  />
134
134
  </div>
135
135
  &nbsp;
136
136
  <PopoverHelpComponent placement="bottom">
137
- Pixel grids always appear to be the same size when zoomed. Meters are for a fixed-size grid and have limits
138
- on how far the user can zoom out.
137
+ {T`Pixel grids always appear to be the same size when zoomed. Meters are for a fixed-size grid and have limits on how far the user can zoom out.`}
139
138
  </PopoverHelpComponent>
140
139
  </div>
141
140
  </div>
@@ -147,7 +146,7 @@ export default class GridLayerDesigner extends React.Component<{
147
146
  <div className="mb-3">
148
147
  <label className="text-muted">
149
148
  <i className="fa fa-database" />
150
- {" Data Source"}
149
+ {T` Data Source`}
151
150
  </label>
152
151
  <TableSelectComponent
153
152
  schema={this.props.schema}
@@ -170,7 +169,7 @@ export default class GridLayerDesigner extends React.Component<{
170
169
  <div className="mb-3">
171
170
  <label className="text-muted">
172
171
  <i className="fas fa-map-marker-alt" />
173
- {" Location"}
172
+ {T` Location`}
174
173
  </label>
175
174
  <div style={{ marginLeft: 8 }}>
176
175
  <ExprComponent
@@ -210,7 +209,7 @@ export default class GridLayerDesigner extends React.Component<{
210
209
  R(
211
210
  "div",
212
211
  { className: "mb-3" },
213
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), "Color By Data"),
212
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-tint" }), T`Color By Data`),
214
213
 
215
214
  R(AxisComponent, {
216
215
  schema: this.props.schema,
@@ -232,7 +231,7 @@ export default class GridLayerDesigner extends React.Component<{
232
231
  return R(
233
232
  "div",
234
233
  { className: "mb-3" },
235
- R("label", { className: "text-muted" }, "Fill Opacity (%)"),
234
+ R("label", { className: "text-muted" }, T`Fill Opacity (%)`),
236
235
  ": ",
237
236
  R(Rcslider, {
238
237
  min: 0,
@@ -248,7 +247,7 @@ export default class GridLayerDesigner extends React.Component<{
248
247
  renderBorderStyle() {
249
248
  return (
250
249
  <div className="mb-3">
251
- <label className="text-muted">Border Style</label>
250
+ <label className="text-muted">{T`Border Style`}</label>
252
251
  <div style={{ marginLeft: 10 }}>
253
252
  <ui.Toggle<"none" | "color" | undefined>
254
253
  allowReset={false}
@@ -256,8 +255,8 @@ export default class GridLayerDesigner extends React.Component<{
256
255
  onChange={this.handleBorderStyleChange}
257
256
  size="sm"
258
257
  options={[
259
- { value: "none", label: "None" },
260
- { value: "color", label: "Line" }
258
+ { value: "none", label: T`None` },
259
+ { value: "color", label: T`Line` }
261
260
  ]}
262
261
  />
263
262
  </div>
@@ -273,7 +272,7 @@ export default class GridLayerDesigner extends React.Component<{
273
272
  return R(
274
273
  "div",
275
274
  { className: "mb-3" },
276
- R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), " Filters"),
275
+ R("label", { className: "text-muted" }, R("span", { className: "fas fa-filter" }), T` Filters`),
277
276
  R(
278
277
  "div",
279
278
  { style: { marginLeft: 8 } },
@@ -90,7 +90,7 @@ interface LoadingLegendState {
90
90
  class LoadingLegend extends React.Component<LoadingLegendProps, LoadingLegendState> {
91
91
  constructor(props: any) {
92
92
  super(props)
93
- this.state = { html: "Loading..." }
93
+ this.state = { html: T`Loading...` }
94
94
  }
95
95
 
96
96
  componentDidMount() {
@@ -15,7 +15,7 @@ import { JsonQLFilter } from "../JsonQLFilter"
15
15
  import QuickfilterCompiler from "../quickfilter/QuickfilterCompiler"
16
16
  import QuickfiltersComponent from "../quickfilter/QuickfiltersComponent"
17
17
  import { getCompiledFilters, getFilterableTables } from "./MapUtils"
18
- import { LocaleContext } from "@mwater/expressions-ui/lib/contexts"
18
+ import { LocaleContext } from "@mwater/expressions-ui"
19
19
 
20
20
  export interface MapComponentProps {
21
21
  schema: Schema
@@ -123,7 +123,7 @@ export default class MapComponent extends React.Component<MapComponentProps, Map
123
123
  className: `fa ${this.state.zoomLocked ? "fa-lock red" : "fa-unlock green"}`,
124
124
  style: { marginRight: 5 }
125
125
  }),
126
- R(PopoverHelpComponent, { placement: "bottom" }, "Changes to zoom level wont be saved in locked mode")
126
+ R(PopoverHelpComponent, { placement: "bottom" }, T`Changes to zoom level wont be saved in locked mode`)
127
127
  ),
128
128
  R(
129
129
  "a",
@@ -133,7 +133,7 @@ export default class MapComponent extends React.Component<MapComponentProps, Map
133
133
  onClick: this.handleUndo
134
134
  },
135
135
  R("span", { className: "fas fa-caret-left" }),
136
- R("span", { className: "hide-600px" }, " Undo")
136
+ R("span", { className: "hide-600px" }, T` Undo`)
137
137
  ),
138
138
  " ",
139
139
  R(
@@ -144,7 +144,7 @@ export default class MapComponent extends React.Component<MapComponentProps, Map
144
144
  onClick: this.handleRedo
145
145
  },
146
146
  R("span", { className: "fas fa-caret-right" }),
147
- R("span", { className: "hide-600px" }, " Redo")
147
+ R("span", { className: "hide-600px" }, T` Redo`)
148
148
  )
149
149
  ]
150
150
  : undefined,
@@ -153,11 +153,11 @@ export default class MapComponent extends React.Component<MapComponentProps, Map
153
153
  "a",
154
154
  { key: "showQuickfilters", className: "btn btn-link btn-sm", onClick: this.handleShowQuickfilters },
155
155
  R("span", { className: "fa fa-filter" }),
156
- R("span", { className: "hide-600px" }, " Show Quickfilters")
156
+ R("span", { className: "hide-600px" }, T` Show Quickfilters`)
157
157
  )
158
158
  : undefined,
159
159
  this.props.extraTitleButtonsElem,
160
- R("a", { key: "toggleDesign", className: "btn btn-link btn-sm", onClick: this.handleToggleDesignPanel, alt: "Toggle design panel" },
160
+ R("a", { key: "toggleDesign", className: "btn btn-link btn-sm", onClick: this.handleToggleDesignPanel, alt: T`Toggle design panel` },
161
161
  this.getDesign().hideDesignPanel ?
162
162
  R("span", { className: "fas fa-angle-double-left" })
163
163
  : R("span", { className: "fas fa-angle-double-right" }))
@@ -34,7 +34,7 @@ export default class MapControlComponent extends React.Component<MapControlCompo
34
34
  R(
35
35
  "div",
36
36
  { className: "mb-3" },
37
- R("label", { className: "text-muted" }, "Map Style"),
37
+ R("label", { className: "text-muted" }, T`Map Style`),
38
38
 
39
39
  R(BaseLayerDesignerComponent, {
40
40
  design: this.props.design,
@@ -83,11 +83,11 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
83
83
  R(
84
84
  "span",
85
85
  { className: "text-muted" },
86
- "Automatic zoom ",
86
+ T`Automatic zoom `,
87
87
  R(
88
88
  PopoverHelpComponent,
89
89
  { placement: "left" },
90
- "Automatically zoom to the complete data whenever the map is loaded or the filters change"
90
+ T`Automatically zoom to the complete data whenever the map is loaded or the filters change`
91
91
  )
92
92
  )
93
93
  ),
@@ -101,21 +101,21 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
101
101
  R(
102
102
  "span",
103
103
  { className: "text-muted" },
104
- "Show Layer Switcher ",
105
- R(PopoverHelpComponent, { placement: "left" }, "Show a control in the map allowing switching layers")
104
+ T`Show Layer Switcher `,
105
+ R(PopoverHelpComponent, { placement: "left" }, T`Show a control in the map allowing switching layers`)
106
106
  )
107
107
  ),
108
108
 
109
109
  R(
110
110
  ui.FormGroup,
111
- { label: "Initial Legend Display", labelMuted: true },
111
+ { label: T`Initial Legend Display`, labelMuted: true },
112
112
  R(ui.Select, {
113
113
  value: this.props.design.initialLegendDisplay || "open",
114
114
  onChange: this.handleInitialLegendDisplayChange,
115
115
  options: [
116
- { value: "open", label: "Open" },
117
- { value: "closed", label: "Closed" },
118
- { value: "closedIfSmall", label: "Open if wide enough" }
116
+ { value: "open", label: T`Open` },
117
+ { value: "closed", label: T`Closed` },
118
+ { value: "closedIfSmall", label: T`Open if wide enough` }
119
119
  ],
120
120
  style: { width: "auto" }
121
121
  })
@@ -128,7 +128,7 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
128
128
  R(
129
129
  "a",
130
130
  { onClick: this.handleConvertToClusterMap, className: "btn btn-link btn-sm" },
131
- "Convert to cluster map"
131
+ T`Convert to cluster map`
132
132
  )
133
133
  )
134
134
  : undefined,
@@ -140,7 +140,7 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
140
140
  R(
141
141
  "a",
142
142
  { onClick: this.handleConvertToMarkersMap, className: "btn btn-link btn-sm" },
143
- "Convert to markers map"
143
+ T`Convert to markers map`
144
144
  )
145
145
  )
146
146
  : undefined,
@@ -172,7 +172,7 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
172
172
  const tabs: TabbedComponentTab[] = [
173
173
  {
174
174
  id: "layers",
175
- label: [R("i", { className: "fa fa-bars" }), " Layers"],
175
+ label: [R("i", { className: "fa fa-bars" }), T` Layers`],
176
176
  elem: R(MapLayersDesignerComponent, {
177
177
  schema: this.props.schema,
178
178
  dataSource: this.props.dataSource,
@@ -184,7 +184,7 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
184
184
  },
185
185
  {
186
186
  id: "filters",
187
- label: [R("i", { className: "fa fa-filter" }), " Filters"],
187
+ label: [R("i", { className: "fa fa-filter" }), T` Filters`],
188
188
  elem: R(MapFiltersDesignerComponent, {
189
189
  schema: this.props.schema,
190
190
  dataSource: this.props.dataSource,
@@ -194,7 +194,7 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
194
194
  },
195
195
  {
196
196
  id: "options",
197
- label: [R("i", { className: "fa fa-cog" }), " Options"],
197
+ label: [R("i", { className: "fa fa-cog" }), T` Options`],
198
198
  elem: this.renderOptionsTab()
199
199
  }
200
200
  ]
@@ -202,7 +202,7 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
202
202
  if (this.props.enableQuickfilters) {
203
203
  tabs.splice(2, 0, {
204
204
  id: "quickfilters",
205
- label: [R("i", { className: "fa fa-bolt" }), " ", T("Quickfilters")],
205
+ label: [R("i", { className: "fa fa-bolt" }), " ", T`Quickfilters`],
206
206
  elem: R(
207
207
  "div",
208
208
  { style: { marginBottom: 200 } },
@@ -282,11 +282,11 @@ class AttributionComponent extends React.Component<AttributionComponentProps, At
282
282
  ? this.renderEditor()
283
283
  : this.props.text
284
284
  ? R("span", { onClick: this.handleTextClick, style: { cursor: "pointer" } }, this.props.text)
285
- : R("a", { onClick: this.handleTextClick, className: "btn btn-link btn-sm" }, "+ Add attribution")
285
+ : R("a", { onClick: this.handleTextClick, className: "btn btn-link btn-sm" }, T`+ Add attribution`)
286
286
  )
287
287
 
288
288
  if (this.props.text || this.state.editing) {
289
- elem = R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Attribution"), elem)
289
+ elem = R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T`Attribution`), elem)
290
290
  }
291
291
 
292
292
  return elem
@@ -320,7 +320,7 @@ class AdvancedOptionsComponent extends React.Component<AdvancedOptionsComponentP
320
320
  R(
321
321
  "a",
322
322
  { className: "btn btn-link btn-sm", onClick: () => this.setState({ expanded: true }) },
323
- "Advanced options..."
323
+ T`Advanced options...`
324
324
  )
325
325
  )
326
326
  }
@@ -328,17 +328,17 @@ class AdvancedOptionsComponent extends React.Component<AdvancedOptionsComponentP
328
328
  return R(
329
329
  "div",
330
330
  { className: "mb-3" },
331
- R("label", { className: "text-muted" }, "Advanced"),
331
+ R("label", { className: "text-muted" }, T`Advanced`),
332
332
 
333
333
  R(
334
334
  "div",
335
335
  null,
336
- R("span", { className: "text-muted" }, "Maximum Zoom Level: "),
336
+ R("span", { className: "text-muted" }, T`Maximum Zoom Level: `),
337
337
  " ",
338
338
  R(NumberInputComponent, {
339
339
  small: true,
340
340
  style: { display: "inline-block" },
341
- placeholder: "None",
341
+ placeholder: T`None`,
342
342
  value: this.props.design.maxZoom,
343
343
  onChange: (v: any) => this.props.onDesignChange(_.extend({}, this.props.design, { maxZoom: v }))
344
344
  })
@@ -46,11 +46,11 @@ export default class MapFiltersDesignerComponent extends React.Component<MapFilt
46
46
  R(
47
47
  "label",
48
48
  { className: "text-muted" },
49
- "Filters ",
49
+ T`Filters `,
50
50
  R(
51
51
  PopoverHelpComponent,
52
52
  { placement: "left" },
53
- "Filters all layers in the map. Individual layers can be filtered by clicking on Customize..."
53
+ T`Filters all layers in the map. Individual layers can be filtered by clicking on Customize...`
54
54
  )
55
55
  ),
56
56
 
@@ -73,7 +73,7 @@ export default class MapFiltersDesignerComponent extends React.Component<MapFilt
73
73
  ? R(
74
74
  "div",
75
75
  { className: "mb-3" },
76
- R("label", { className: "text-muted" }, "Global Filters "),
76
+ R("label", { className: "text-muted" }, T`Global Filters `),
77
77
 
78
78
  R(
79
79
  "div",