@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
@@ -11,7 +11,7 @@ const AxisBuilder_1 = __importDefault(require("../../../axes/AxisBuilder"));
11
11
  const expressions_1 = require("@mwater/expressions");
12
12
  const valueFormatter_1 = require("../../../valueFormatter");
13
13
  const color_1 = __importDefault(require("color"));
14
- const contexts_1 = require("@mwater/expressions-ui/lib/contexts");
14
+ const expressions_ui_1 = require("@mwater/expressions-ui");
15
15
  class TableChartViewComponent extends react_1.default.Component {
16
16
  shouldComponentUpdate(prevProps) {
17
17
  return !lodash_1.default.isEqual(prevProps, this.props);
@@ -33,7 +33,7 @@ class TableChartViewComponent extends react_1.default.Component {
33
33
  }
34
34
  exports.default = TableChartViewComponent;
35
35
  class TableContentsComponent extends react_1.default.Component {
36
- static contextType = contexts_1.LocaleContext;
36
+ static contextType = expressions_ui_1.LocaleContext;
37
37
  constructor(props) {
38
38
  super(props);
39
39
  this.state = {
@@ -124,7 +124,7 @@ class TableContentsComponent extends react_1.default.Component {
124
124
  }
125
125
  renderImage(id) {
126
126
  const url = this.props.dataSource.getImageUrl(id);
127
- return R("a", { href: url, onClick: (e) => { e.stopPropagation(); }, key: id, target: "_blank", style: { paddingLeft: 5, paddingRight: 5 } }, "Image");
127
+ return R("a", { href: url, onClick: (e) => { e.stopPropagation(); }, key: id, target: "_blank", style: { paddingLeft: 5, paddingRight: 5 } }, T `Image`);
128
128
  }
129
129
  renderCell(rowIndex, columnIndex) {
130
130
  const axisBuilder = new AxisBuilder_1.default({ schema: this.props.schema });
@@ -1,8 +1,7 @@
1
1
  import React from "react";
2
2
  import { DataSource, Schema } from "@mwater/expressions";
3
- import ActionCancelModalComponent from "@mwater/react-library/lib/ActionCancelModalComponent";
4
3
  import { HtmlItemExpr } from "../../richtext/ExprItemsHtmlConverter";
5
- export interface ExprInsertModalComponentProps {
4
+ interface ExprInsertModalComponentProps {
6
5
  /** Schema to use */
7
6
  schema: Schema;
8
7
  /** Data source to use to get values */
@@ -19,6 +18,6 @@ export default class ExprInsertModalComponent extends React.Component<ExprInsert
19
18
  constructor(props: ExprInsertModalComponentProps);
20
19
  open(): void;
21
20
  handleInsert: () => void;
22
- render(): React.CElement<import("@mwater/react-library/lib/ActionCancelModalComponent").ActionCancelModalComponentProps, ActionCancelModalComponent> | null;
21
+ render(): React.JSX.Element | null;
23
22
  }
24
23
  export {};
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const R = react_1.default.createElement;
8
7
  const uuid_1 = __importDefault(require("uuid"));
9
8
  const ActionCancelModalComponent_1 = __importDefault(require("@mwater/react-library/lib/ActionCancelModalComponent"));
10
9
  const ExprItemEditorComponent_1 = __importDefault(require("./ExprItemEditorComponent"));
@@ -33,19 +32,8 @@ class ExprInsertModalComponent extends react_1.default.Component {
33
32
  if (!this.state.open) {
34
33
  return null;
35
34
  }
36
- return R(ActionCancelModalComponent_1.default, {
37
- actionLabel: "Insert",
38
- onAction: this.handleInsert,
39
- onCancel: () => this.setState({ open: false }),
40
- title: "Insert Field",
41
- size: "x-large"
42
- }, R(ExprItemEditorComponent_1.default, {
43
- schema: this.props.schema,
44
- dataSource: this.props.dataSource,
45
- exprItem: this.state.exprItem,
46
- onChange: (exprItem) => this.setState({ exprItem }),
47
- singleRowTable: this.props.singleRowTable
48
- }));
35
+ return (react_1.default.createElement(ActionCancelModalComponent_1.default, { actionLabel: T `Insert`, onAction: this.handleInsert, onCancel: () => this.setState({ open: false }), title: T `Insert Field`, size: "x-large" },
36
+ react_1.default.createElement(ExprItemEditorComponent_1.default, { schema: this.props.schema, dataSource: this.props.dataSource, exprItem: this.state.exprItem, onChange: (exprItem) => this.setState({ exprItem }), singleRowTable: this.props.singleRowTable })));
49
37
  }
50
38
  }
51
39
  exports.default = ExprInsertModalComponent;
@@ -53,7 +53,7 @@ class ExprItemEditorComponent extends react_1.default.Component {
53
53
  if (!formats) {
54
54
  return null;
55
55
  }
56
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Format"), ": ", R("select", {
56
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Format`), ": ", R("select", {
57
57
  value: this.props.exprItem.format != null ? this.props.exprItem.format : (0, valueFormatter_2.getDefaultFormat)(exprType),
58
58
  className: "form-select",
59
59
  style: { width: "auto", display: "inline-block" },
@@ -61,12 +61,12 @@ class ExprItemEditorComponent extends react_1.default.Component {
61
61
  }, lodash_1.default.map(formats, (format) => R("option", { key: format.value, value: format.value }, format.label))));
62
62
  }
63
63
  render() {
64
- return R("div", { style: { paddingBottom: 200 } }, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(expressions_ui_2.TableSelectComponent, {
64
+ return R("div", { style: { paddingBottom: 200 } }, R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", T `Data Source`), ": ", R(expressions_ui_2.TableSelectComponent, {
65
65
  schema: this.props.schema,
66
66
  value: this.state.table,
67
67
  onChange: this.handleTableChange
68
68
  }), R("br")), this.state.table
69
- ? R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Field"), ": ", R(expressions_ui_1.ExprComponent, {
69
+ ? R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, T `Field`), ": ", R(expressions_ui_1.ExprComponent, {
70
70
  schema: this.props.schema,
71
71
  dataSource: this.props.dataSource,
72
72
  table: this.state.table,
@@ -76,7 +76,7 @@ class ExprItemEditorComponent extends react_1.default.Component {
76
76
  onChange: this.handleExprChange
77
77
  }))
78
78
  : undefined, this.state.table && this.props.exprItem.expr
79
- ? R("div", { className: "mb-3" }, react_1.default.createElement(bootstrap_1.Checkbox, { key: "includeLabel", value: this.props.exprItem.includeLabel, onChange: this.handleIncludeLabelChange }, "Include Label"), this.props.exprItem.includeLabel
79
+ ? R("div", { className: "mb-3" }, react_1.default.createElement(bootstrap_1.Checkbox, { key: "includeLabel", value: this.props.exprItem.includeLabel, onChange: this.handleIncludeLabelChange }, T `Include Label`), this.props.exprItem.includeLabel
80
80
  ? R("input", {
81
81
  key: "labelText",
82
82
  className: "form-control",
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
2
  import { DataSource, Schema } from "@mwater/expressions";
3
- import ActionCancelModalComponent from "@mwater/react-library/lib/ActionCancelModalComponent";
4
3
  import { HtmlItemExpr } from "../../richtext/ExprItemsHtmlConverter";
5
4
  export interface ExprUpdateModalComponentProps {
6
5
  /** Schema to use */
@@ -16,7 +15,7 @@ interface ExprUpdateModalComponentState {
16
15
  }
17
16
  export default class ExprUpdateModalComponent extends React.Component<ExprUpdateModalComponentProps, ExprUpdateModalComponentState> {
18
17
  constructor(props: any);
19
- open(item: any, onUpdate: any): void;
20
- render(): React.CElement<import("@mwater/react-library/lib/ActionCancelModalComponent").ActionCancelModalComponentProps, ActionCancelModalComponent> | null;
18
+ open(item: HtmlItemExpr, onUpdate: (item: HtmlItemExpr) => void): void;
19
+ render(): React.JSX.Element | null;
21
20
  }
22
21
  export {};
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const R = react_1.default.createElement;
8
7
  const ActionCancelModalComponent_1 = __importDefault(require("@mwater/react-library/lib/ActionCancelModalComponent"));
9
8
  const ExprItemEditorComponent_1 = __importDefault(require("./ExprItemEditorComponent"));
10
9
  // Modal that displays an expression builder for updating an expression
@@ -24,24 +23,13 @@ class ExprUpdateModalComponent extends react_1.default.Component {
24
23
  if (!this.state.open) {
25
24
  return null;
26
25
  }
27
- return R(ActionCancelModalComponent_1.default, {
28
- actionLabel: "Update",
29
- onAction: () => {
26
+ return (react_1.default.createElement(ActionCancelModalComponent_1.default, { actionLabel: T `Update`, onAction: () => {
30
27
  // Close first to avoid strange effects when mixed with pojoviews
31
28
  this.setState({ open: false }, () => {
32
29
  return this.state.onUpdate(this.state.exprItem);
33
30
  });
34
- },
35
- onCancel: () => this.setState({ open: false }),
36
- title: "Update Field",
37
- size: "x-large"
38
- }, R(ExprItemEditorComponent_1.default, {
39
- schema: this.props.schema,
40
- dataSource: this.props.dataSource,
41
- exprItem: this.state.exprItem,
42
- onChange: (exprItem) => this.setState({ exprItem }),
43
- singleRowTable: this.props.singleRowTable
44
- }));
31
+ }, onCancel: () => this.setState({ open: false }), title: T `Update Field`, size: "x-large" },
32
+ react_1.default.createElement(ExprItemEditorComponent_1.default, { schema: this.props.schema, dataSource: this.props.dataSource, exprItem: this.state.exprItem, onChange: (exprItem) => this.setState({ exprItem }), singleRowTable: this.props.singleRowTable })));
45
33
  }
46
34
  }
47
35
  exports.default = ExprUpdateModalComponent;
@@ -9,11 +9,11 @@ const RichTextComponent_1 = __importDefault(require("../../richtext/RichTextComp
9
9
  const ExprInsertModalComponent_1 = __importDefault(require("./ExprInsertModalComponent"));
10
10
  const ExprUpdateModalComponent_1 = __importDefault(require("./ExprUpdateModalComponent"));
11
11
  const ExprItemsHtmlConverter_1 = __importDefault(require("../../richtext/ExprItemsHtmlConverter"));
12
- const contexts_1 = require("@mwater/expressions-ui/lib/contexts");
12
+ const expressions_ui_1 = require("@mwater/expressions-ui");
13
13
  // Text component which is provided with the data it needs, rather than loading it.
14
14
  // Used by TextWidgetComponent and also by other components that embed text fields
15
15
  class TextComponent extends react_1.default.Component {
16
- static contextType = contexts_1.LocaleContext;
16
+ static contextType = expressions_ui_1.LocaleContext;
17
17
  exprInsertModal = null;
18
18
  exprUpdateModal = null;
19
19
  editor = null;
@@ -60,7 +60,7 @@ class TextComponent extends react_1.default.Component {
60
60
  renderExtraPaletteButtons() {
61
61
  return (react_1.default.createElement("div", { key: "expr", className: "mwater-visualization-text-palette-item", onMouseDown: this.handleAddExpr },
62
62
  react_1.default.createElement("i", { className: "fa fa-plus" }),
63
- " Expression"));
63
+ T ` Expression`));
64
64
  }
65
65
  renderModals() {
66
66
  return [
@@ -22,7 +22,7 @@ export default class TextWidget extends Widget {
22
22
  ref: ((widget: any) => void) | undefined;
23
23
  refreshKey: any;
24
24
  }, any>;
25
- getData(design: any, schema: Schema, dataSource: DataSource, filters: JsonQLFilter[], callback: any): void;
25
+ getData(design: any, schema: Schema, dataSource: DataSource, filters: JsonQLFilter[], callback: any): any;
26
26
  isAutoHeight(): boolean;
27
27
  getExprItems(items: HtmlItem[]): HtmlItemExpr[];
28
28
  getFilterableTables(design: TextWidgetDesign | undefined, schema: Schema): string[];
@@ -23,7 +23,7 @@ class TextWidgetComponent extends AsyncLoadComponent_1.default {
23
23
  // Map of expression id to expression value
24
24
  exprValues: {},
25
25
  error: null,
26
- cacheExpiry: props.dataSource.getCacheExpiry(),
26
+ cacheExpiry: props.dataSource.getCacheExpiry(), // Save cache expiry to see if changes
27
27
  editModalOpen: false
28
28
  };
29
29
  }
@@ -102,21 +102,21 @@ class TextWidgetComponent extends AsyncLoadComponent_1.default {
102
102
  return null;
103
103
  }
104
104
  const spacingOptions = [0, 5, 10, 15, 20, 25, 30, 35, 40].map(value => ({ value, label: `${value}px` }));
105
- const borderThicknessOptions = [0, 1, 2, 3, 4, 5].map(value => ({ value, label: value === 0 ? "None" : `${value}px` }));
106
- return (react_1.default.createElement(ActionCancelModalComponent_1.default, { title: "Edit Text Widget", onCancel: this.handleEditModalClose, onAction: this.handleEditModalClose },
107
- react_1.default.createElement(bootstrap_1.FormGroup, { label: "Background Color" },
105
+ const borderThicknessOptions = [0, 1, 2, 3, 4, 5].map(value => ({ value, label: value === 0 ? T `None` : `${value}px` }));
106
+ return (react_1.default.createElement(ActionCancelModalComponent_1.default, { title: T `Edit Text Widget`, onCancel: this.handleEditModalClose, onAction: this.handleEditModalClose },
107
+ react_1.default.createElement(bootstrap_1.FormGroup, { label: T `Background Color` },
108
108
  react_1.default.createElement(ColorComponent_1.default, { color: this.props.design.backgroundColor || null, onChange: this.handleBackgroundColorChange }),
109
- react_1.default.createElement("div", { className: "text-muted" }, "Choose a background color for the text widget")),
110
- react_1.default.createElement(bootstrap_1.FormGroup, { label: "Padding" },
109
+ react_1.default.createElement("div", { className: "text-muted" }, T `Choose a background color for the text widget`)),
110
+ react_1.default.createElement(bootstrap_1.FormGroup, { label: T `Padding` },
111
111
  react_1.default.createElement(bootstrap_2.Select, { value: this.props.design.padding ?? 0, onChange: this.handleSpacingChange, options: spacingOptions }),
112
- react_1.default.createElement("div", { className: "text-muted" }, "Choose extra padding for the text widget")),
113
- react_1.default.createElement(bootstrap_1.FormGroup, { label: "Border Thickness", help: "Choose the border thickness for the text widget" },
112
+ react_1.default.createElement("div", { className: "text-muted" }, T `Choose extra padding for the text widget`)),
113
+ react_1.default.createElement(bootstrap_1.FormGroup, { label: T `Border Thickness`, help: T `Choose the border thickness for the text widget` },
114
114
  react_1.default.createElement(bootstrap_2.Select, { value: this.props.design.borderThickness ?? 0, onChange: this.handleBorderThicknessChange, options: borderThicknessOptions })),
115
115
  this.props.design.borderThickness &&
116
- react_1.default.createElement(bootstrap_1.FormGroup, { label: "Border Color", help: "Choose the border color for the text widget" },
116
+ react_1.default.createElement(bootstrap_1.FormGroup, { label: T `Border Color`, help: T `Choose the border color for the text widget` },
117
117
  react_1.default.createElement(ColorComponent_1.default, { color: this.props.design.borderColor || null, onChange: this.handleBorderColorChange })),
118
118
  this.props.design.borderThickness &&
119
- react_1.default.createElement(bootstrap_1.FormGroup, { label: "Border Radius", help: "Choose the border radius for the text widget" },
119
+ react_1.default.createElement(bootstrap_1.FormGroup, { label: T `Border Radius`, help: T `Choose the border radius for the text widget` },
120
120
  react_1.default.createElement(bootstrap_2.Select, { value: this.props.design.borderRadius ?? 0, onChange: this.handleBorderRadiusChange, options: spacingOptions }))));
121
121
  }
122
122
  renderTextComponent() {
@@ -136,7 +136,7 @@ class TextWidgetComponent extends AsyncLoadComponent_1.default {
136
136
  borderRadius: this.props.design.borderRadius != null ? `${this.props.design.borderRadius}px` : undefined
137
137
  }, ref: comp => this.divComp = comp },
138
138
  this.props.onDesignChange ? (react_1.default.createElement(DropdownWidgetComponent_1.default, { dropdownItems: [{
139
- label: "Edit",
139
+ label: T `Edit`,
140
140
  onClick: this.handleEditClick
141
141
  }] }, this.renderTextComponent())) : (this.renderTextComponent()),
142
142
  this.renderEditModal()));
@@ -1,8 +1,9 @@
1
1
  import { HtmlItemExpr } from "../../richtext/ExprItemsHtmlConverter";
2
2
  import { HtmlItem } from "../../richtext/ItemsHtmlConverter";
3
+ export type TextWidgetItem = HtmlItem | HtmlItemExpr;
3
4
  export interface TextWidgetDesign {
4
5
  /** Text widget stores its content as array of items. See ItemsHtmlConverter TODO */
5
- items: (HtmlItem | HtmlItemExpr)[];
6
+ items: TextWidgetItem[];
6
7
  /** "title" for title block. default is "default" */
7
8
  style?: "title" | "default" | "header" | "footer";
8
9
  /** Background color of the text widget (optional) */
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEmptyTextWidgetDesign = void 0;
3
+ exports.isEmptyTextWidgetDesign = isEmptyTextWidgetDesign;
4
4
  /** Returns true if the text widget design is empty. */
5
5
  function isEmptyTextWidgetDesign(design) {
6
6
  return design == null || design.items.length === 0;
7
7
  }
8
- exports.isEmptyTextWidgetDesign = isEmptyTextWidgetDesign;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mwater/visualization",
3
- "version": "5.3.2",
3
+ "version": "5.4.0",
4
4
  "description": "Visualization library",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -29,7 +29,7 @@
29
29
  "async": "^1.2.1",
30
30
  "async-latest": "^1.0.0",
31
31
  "backbone": "~1.1.2",
32
- "billboard.js": "^3.13.0",
32
+ "billboard.js": "3.12.2",
33
33
  "canonical-json": "0.0.4",
34
34
  "classnames": "^2.3.1",
35
35
  "color": "^3.2.1",
@@ -41,7 +41,7 @@
41
41
  "d3-tip": "^0.9.0",
42
42
  "dayjs": "^1.11.10",
43
43
  "dompurify": "^1.0.11",
44
- "ez-localize": "^2.5.0",
44
+ "ez-localize": "^2.10.5",
45
45
  "file-saver": "^2.0.5",
46
46
  "fixed-data-table-2": "^1.2.15",
47
47
  "immer": "^8.0.0",
@@ -65,11 +65,11 @@ export default class ColorComponent extends React.Component<ColorComponentProps,
65
65
  {!this.props.disableReset && (
66
66
  <button type="button" className="btn btn-link btn-sm" onClick={this.handleReset}>
67
67
  <i className="fa fa-undo" />
68
- {" Reset Color"}
68
+ {T` Reset Color`}
69
69
  </button>
70
70
  )}
71
71
  <button type="button" className="btn btn-link btn-sm" onClick={this.handleAdvanced}>
72
- {this.state.advanced ? "Basic" : "Advanced"}
72
+ {this.state.advanced ? T`Basic` : T`Advanced`}
73
73
  </button>
74
74
 
75
75
  <CustomColors
@@ -112,18 +112,18 @@ export default class DateRangeComponent extends React.Component<DateRangeCompone
112
112
 
113
113
  getPresets() {
114
114
  const presets = [
115
- { label: "Today", value: [moment(), moment()] },
116
- { label: "Yesterday", value: [moment().subtract(1, "days"), moment().subtract(1, "days")] },
117
- { label: "Last 7 Days", value: [moment().subtract(6, "days"), moment()] },
118
- { label: "Last 30 Days", value: [moment().subtract(29, "days"), moment()] },
119
- { label: "This Month", value: [moment().startOf("month"), moment().endOf("month")] },
115
+ { label: T`Today`, value: [moment(), moment()] },
116
+ { label: T`Yesterday`, value: [moment().subtract(1, "days"), moment().subtract(1, "days")] },
117
+ { label: T`Last 7 Days`, value: [moment().subtract(6, "days"), moment()] },
118
+ { label: T`Last 30 Days`, value: [moment().subtract(29, "days"), moment()] },
119
+ { label: T`This Month`, value: [moment().startOf("month"), moment().endOf("month")] },
120
120
  {
121
- label: "Last Month",
121
+ label: T`Last Month`,
122
122
  value: [moment().subtract(1, "months").startOf("month"), moment().subtract(1, "months").endOf("month")]
123
123
  },
124
- { label: "This Year", value: [moment().startOf("year"), moment().endOf("year")] },
124
+ { label: T`This Year`, value: [moment().startOf("year"), moment().endOf("year")] },
125
125
  {
126
- label: "Last Year",
126
+ label: T`Last Year`,
127
127
  value: [moment().subtract(1, "years").startOf("year"), moment().subtract(1, "years").endOf("year")]
128
128
  }
129
129
  ]
@@ -143,7 +143,7 @@ export default class DateRangeComponent extends React.Component<DateRangeCompone
143
143
 
144
144
  renderSummary() {
145
145
  if (!this.props.value) {
146
- return R("span", { className: "text-muted" }, "All Dates")
146
+ return R("span", { className: "text-muted" }, T`All Dates`)
147
147
  }
148
148
 
149
149
  const startDate = this.toMoment(this.props.value[0])
@@ -186,7 +186,7 @@ export default class DateRangeComponent extends React.Component<DateRangeCompone
186
186
  R(
187
187
  "a",
188
188
  { className: "nav-link", style: { padding: 5 }, onClick: () => this.setState({ custom: true }) },
189
- "Custom Date Range..."
189
+ T`Custom Date Range...`
190
190
  )
191
191
  )
192
192
  )
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { LocaleContext } from "@mwater/expressions-ui/lib/contexts"
2
+ import { LocaleContext } from "@mwater/expressions-ui"
3
3
 
4
4
  export interface LocaleContextProps {
5
5
  locale: string
@@ -10,7 +10,7 @@ import { ExprUtils, Schema } from "@mwater/expressions"
10
10
  import * as ui from "./UIComponents"
11
11
  import * as formUtils from "@mwater/forms/lib/formUtils" // TODO requireing this directly because of bizarre backbone issue
12
12
  import { Form, FormDesign } from "@mwater/forms"
13
- import { LocaleContext } from "@mwater/expressions-ui/lib/contexts"
13
+ import { LocaleContext } from "@mwater/expressions-ui"
14
14
 
15
15
  export interface MWaterAddRelatedFormComponentProps {
16
16
  /** Entities table id */
@@ -74,8 +74,8 @@ export default class MWaterAddRelatedFormComponent extends React.Component<
74
74
  "div",
75
75
  null,
76
76
  this.state.waitingForTable
77
- ? R("div", null, R("i", { className: "fa fa-spin fa-spinner" }), " Adding...")
78
- : R("a", { className: "btn btn-link", onClick: this.handleOpen }, "+ Add Related Survey"),
77
+ ? R("div", null, R("i", { className: "fa fa-spin fa-spinner" }), ` ${T`Adding...`}`)
78
+ : R("a", { className: "btn btn-link", onClick: this.handleOpen }, T`+ Add Related Survey`),
79
79
  this.state.open
80
80
  ? R(AddRelatedFormModalComponent, {
81
81
  table: this.props.table,
@@ -150,7 +150,7 @@ class AddRelatedFormModalComponent extends React.Component<
150
150
  // Get _id, name, and description
151
151
  const items = _.map(forms, (form) => ({
152
152
  name: ExprUtils.localizeString(form.design.name, this.context),
153
- desc: `Modified ${moment(form.modified!.on, moment.ISO_8601).format("ll")}`,
153
+ desc: `${T`Modified`} ${moment(form.modified!.on, moment.ISO_8601).format("ll")}`,
154
154
  onClick: this.props.onSelect.bind(null, "responses:" + form._id)
155
155
  }))
156
156
 
@@ -162,7 +162,7 @@ class AddRelatedFormModalComponent extends React.Component<
162
162
 
163
163
  renderContents() {
164
164
  if (!this.state.items) {
165
- return R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spin fa-spinner" }), " Loading...")
165
+ return R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spin fa-spinner" }), ` ${T`Loading...`}`)
166
166
  }
167
167
 
168
168
  let { items } = this.state
@@ -179,7 +179,7 @@ class AddRelatedFormModalComponent extends React.Component<
179
179
  R("input", {
180
180
  type: "text",
181
181
  className: "form-control",
182
- placeholder: "Search...",
182
+ placeholder: T`Search...`,
183
183
  key: "search",
184
184
  style: { marginBottom: 10 },
185
185
  value: this.state.search,
@@ -196,7 +196,7 @@ class AddRelatedFormModalComponent extends React.Component<
196
196
  {
197
197
  showCloseX: true,
198
198
  onClose: this.props.onCancel,
199
- header: "Add Related Survey"
199
+ header: T`Add Related Survey`
200
200
  },
201
201
  this.renderContents()
202
202
  )
@@ -5,7 +5,7 @@ const R = React.createElement
5
5
 
6
6
  import querystring from "querystring"
7
7
  import { ExprUtils, Schema } from "@mwater/expressions"
8
- import { LocaleContext } from "@mwater/expressions-ui/lib/contexts"
8
+ import { LocaleContext } from "@mwater/expressions-ui"
9
9
 
10
10
  export interface MWaterAddRelatedIndicatorComponentProps {
11
11
  table: string
@@ -122,12 +122,12 @@ export default class MWaterAddRelatedIndicatorComponent extends React.Component<
122
122
  R(
123
123
  "div",
124
124
  { style: { paddingLeft: 5 }, className: "text-muted" },
125
- "Other Available Indicators. Click to enable. ",
125
+ T`Other Available Indicators. Click to enable. `,
126
126
  R("i", { className: "fa fa-check-circle" }),
127
- " = recommended",
127
+ T` = recommended`,
128
128
 
129
129
  !this.state.indicators
130
- ? R("div", { className: "text-muted" }, R("i", { className: "fa fa-spin fa-spinner" }), " Loading...")
130
+ ? R("div", { className: "text-muted" }, R("i", { className: "fa fa-spin fa-spinner" }), T` Loading...`)
131
131
  : undefined,
132
132
 
133
133
  R(
@@ -142,7 +142,7 @@ export default class MWaterAddRelatedIndicatorComponent extends React.Component<
142
142
  return R(
143
143
  "div",
144
144
  { key: indicator._id, style: { cursor: "pointer", padding: 4 }, className: "text-success" },
145
- `${name} added. See above.`
145
+ `${name} ${T`added. See above.`}`
146
146
  )
147
147
  }
148
148
 
@@ -66,7 +66,7 @@ export const MWaterAssetSystemsListComponent = (props: {
66
66
  // Remove from extra tables
67
67
  const match = props.extraTables.find((t) => t == `assets:${system.sid}`)
68
68
  if (match) {
69
- if (confirm("Remove this table? Some widgets may not work correctly.")) {
69
+ if (confirm(T`Remove this table? Some widgets may not work correctly.`)) {
70
70
  props.onChange(null)
71
71
  props.onExtraTableRemove(match)
72
72
  }
@@ -76,7 +76,7 @@ export const MWaterAssetSystemsListComponent = (props: {
76
76
  if (!systems || extraTableNeeded) {
77
77
  return (
78
78
  <div>
79
- <i className="fa fa-spin fa-spinner" /> Loading...
79
+ <i className="fa fa-spin fa-spinner" /> {T`Loading...`}
80
80
  </div>
81
81
  )
82
82
  }
@@ -98,7 +98,7 @@ export const MWaterAssetSystemsListComponent = (props: {
98
98
 
99
99
  return (
100
100
  <div>
101
- <TextInput value={search} onChange={setSearch} placeholder="Search..." />
101
+ <TextInput value={search} onChange={setSearch} placeholder={T`Search...`} />
102
102
  {renderAssetSystems()}
103
103
  </div>
104
104
  )