@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
@@ -215,9 +215,9 @@ vertical-align: top;
215
215
  .pivot-chart-table .br2 { border-right: solid 1px #ccc }
216
216
  .pivot-chart-table .br3 { border-right: solid 1px #888 }\
217
217
  `), this.props.layout.tooManyRows
218
- ? R("div", { className: "text-warning", style: { fontSize: 12 } }, R("i", { className: "fa fa-exclamation-circle" }), " Warning: Too many rows in table to display")
218
+ ? R("div", { className: "text-warning", style: { fontSize: 12 } }, R("i", { className: "fa fa-exclamation-circle" }), T `Warning: Too many rows in table to display`)
219
219
  : undefined, this.props.layout.tooManyColumns
220
- ? R("div", { className: "text-warning", style: { fontSize: 12 } }, R("i", { className: "fa fa-exclamation-circle" }), " Warning: Too many columns in table to display")
220
+ ? R("div", { className: "text-warning", style: { fontSize: 12 } }, R("i", { className: "fa fa-exclamation-circle" }), T `Warning: Too many columns in table to display`)
221
221
  : undefined, R("div", { style: { position: "relative" } }, R("table", { className: "pivot-chart-table" }, R("tbody", null, lodash_1.default.map(this.props.layout.rows, (row, rowIndex) => {
222
222
  return this.renderRow(row, rowIndex);
223
223
  }))), this.renderHoverControls()));
@@ -250,10 +250,10 @@ class LayoutCellComponent extends react_1.default.Component {
250
250
  if (!cell.section) {
251
251
  return null;
252
252
  }
253
- return R("span", { style: { fontSize: "90%" } }, R("a", { className: "link-plain", onClick: this.props.onEditSection }, "Edit"), cell.summarize
253
+ return R("span", { style: { fontSize: "90%" } }, R("a", { className: "link-plain", onClick: this.props.onEditSection }, T `Edit`), cell.summarize
254
254
  ? [
255
- R("span", { className: "text-muted" }, " / "),
256
- R("a", { className: "link-plain", onClick: this.props.onSummarizeSegment }, "Summarize")
255
+ R("span", { className: "text-muted" }, T ` / `),
256
+ R("a", { className: "link-plain", onClick: this.props.onSummarizeSegment }, T `Summarize`)
257
257
  ]
258
258
  : undefined);
259
259
  }
@@ -39,7 +39,7 @@ export default class PivotChartQueryBuilder {
39
39
  * ...
40
40
  * bc: background color of the cell (if present)
41
41
  * bcc0: background color condition 0 of the cell (if present)
42
- * bcc1: background color condition 1 of the cell (if present)
42
+ * bcc1: inner row segment value (if present)
43
43
  * ...
44
44
  * @param design - Design of the chart
45
45
  * @param rowPath - Row path
@@ -59,7 +59,6 @@ class PivotChartQueryBuilder {
59
59
  // extraFilters: array of filters to apply. Each is { table: table id, jsonql: jsonql condition with {alias} for tableAlias. }
60
60
  // Queries are indexed by intersection id, as one query is made for each intersection
61
61
  createQueries(design, extraFilters) {
62
- const exprCompiler = new expressions_1.ExprCompiler(this.schema);
63
62
  const queries = {};
64
63
  // For each intersection
65
64
  for (let rowPath of PivotChartUtils.getSegmentPaths(design.rows)) {
@@ -93,7 +92,7 @@ class PivotChartQueryBuilder {
93
92
  * ...
94
93
  * bc: background color of the cell (if present)
95
94
  * bcc0: background color condition 0 of the cell (if present)
96
- * bcc1: background color condition 1 of the cell (if present)
95
+ * bcc1: inner row segment value (if present)
97
96
  * ...
98
97
  * @param design - Design of the chart
99
98
  * @param rowPath - Row path
@@ -152,7 +151,7 @@ class PivotChartQueryBuilder {
152
151
  alias: `r${i}`
153
152
  });
154
153
  query.groupBy.push(i + 1);
155
- if (rowSegment.filter) {
154
+ if (rowSegment.filter && !intersection.tableOverride) {
156
155
  filters.push(rowSegment.filter);
157
156
  }
158
157
  }
@@ -164,7 +163,7 @@ class PivotChartQueryBuilder {
164
163
  alias: `c${i}`
165
164
  });
166
165
  query.groupBy.push(i + 1 + rowPath.length);
167
- if (columnSegment.filter) {
166
+ if (columnSegment.filter && !intersection.tableOverride) {
168
167
  filters.push(columnSegment.filter);
169
168
  }
170
169
  }
@@ -199,9 +198,9 @@ class PivotChartQueryBuilder {
199
198
  if (lodash_1.default.all(query.selects, (select) => select.expr == null)) {
200
199
  return null;
201
200
  }
202
- // Add where
203
201
  let whereClauses = [];
204
- if (design.filter) {
202
+ // Add overall where if no table override. If table override, would be for the wrong table
203
+ if (design.filter && !intersection.tableOverride) {
205
204
  whereClauses.push(exprCompiler.compileExpr({ expr: design.filter, tableAlias: "main" }));
206
205
  }
207
206
  // Add other filters
@@ -3,7 +3,17 @@ 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.addChildSegment = exports.insertAfterSegment = exports.insertBeforeSegment = exports.removeSegment = exports.replaceSegment = exports.summarizeSegment = exports.canSummarizeSegment = exports.findSegment = exports.getIntersectionId = exports.getAllSegments = exports.getSegmentPaths = void 0;
6
+ exports.getSegmentPaths = getSegmentPaths;
7
+ exports.getAllSegments = getAllSegments;
8
+ exports.getIntersectionId = getIntersectionId;
9
+ exports.findSegment = findSegment;
10
+ exports.canSummarizeSegment = canSummarizeSegment;
11
+ exports.summarizeSegment = summarizeSegment;
12
+ exports.replaceSegment = replaceSegment;
13
+ exports.removeSegment = removeSegment;
14
+ exports.insertBeforeSegment = insertBeforeSegment;
15
+ exports.insertAfterSegment = insertAfterSegment;
16
+ exports.addChildSegment = addChildSegment;
7
17
  const lodash_1 = __importDefault(require("lodash"));
8
18
  const uuid_1 = __importDefault(require("uuid"));
9
19
  // Misc utils for working with pivot charts
@@ -21,7 +31,6 @@ function getSegmentPaths(segments) {
21
31
  }
22
32
  return paths;
23
33
  }
24
- exports.getSegmentPaths = getSegmentPaths;
25
34
  // Get all paths through a set of segments (e.g. if a contains b, c, then [[a,b], [a,c]])
26
35
  function getAllSegments(segments) {
27
36
  let allSegments = [];
@@ -34,16 +43,13 @@ function getAllSegments(segments) {
34
43
  }
35
44
  return allSegments;
36
45
  }
37
- exports.getAllSegments = getAllSegments;
38
46
  // Gets the id of the intersection of the two paths
39
47
  function getIntersectionId(rowPath, columnPath) {
40
48
  return `${lodash_1.default.pluck(rowPath, "id").join(",")}:${lodash_1.default.pluck(columnPath, "id").join(",")}`;
41
49
  }
42
- exports.getIntersectionId = getIntersectionId;
43
50
  function findSegment(segments, id) {
44
51
  return lodash_1.default.findWhere(getAllSegments(segments), { id });
45
52
  }
46
- exports.findSegment = findSegment;
47
53
  // Determine if can summarize segment (if segment before has a value axis and has no children)
48
54
  function canSummarizeSegment(segments, id) {
49
55
  const prevSegment = findPreviousSegment(segments, id);
@@ -52,7 +58,6 @@ function canSummarizeSegment(segments, id) {
52
58
  }
53
59
  return false;
54
60
  }
55
- exports.canSummarizeSegment = canSummarizeSegment;
56
61
  // Finds the segment before one with id
57
62
  function findPreviousSegment(segments, id) {
58
63
  // Find in list (shallow)
@@ -129,7 +134,6 @@ function summarizeSegment(design, id, label) {
129
134
  }
130
135
  return design;
131
136
  }
132
- exports.summarizeSegment = summarizeSegment;
133
137
  // Recursively map segments, flattening and compacting
134
138
  function mapSegments(segments, mapFunc) {
135
139
  let segments2 = lodash_1.default.map(segments, mapFunc);
@@ -152,7 +156,6 @@ function replaceSegment(segments, replacement) {
152
156
  return segment;
153
157
  });
154
158
  }
155
- exports.replaceSegment = replaceSegment;
156
159
  // Remove segment
157
160
  function removeSegment(segments, id) {
158
161
  return mapSegments(segments, function (segment) {
@@ -162,7 +165,6 @@ function removeSegment(segments, id) {
162
165
  return segment;
163
166
  });
164
167
  }
165
- exports.removeSegment = removeSegment;
166
168
  // Inserts before
167
169
  function insertBeforeSegment(segments, id) {
168
170
  return mapSegments(segments, function (segment) {
@@ -172,7 +174,6 @@ function insertBeforeSegment(segments, id) {
172
174
  return segment;
173
175
  });
174
176
  }
175
- exports.insertBeforeSegment = insertBeforeSegment;
176
177
  // Inserts after
177
178
  function insertAfterSegment(segments, id) {
178
179
  return mapSegments(segments, function (segment) {
@@ -182,7 +183,6 @@ function insertAfterSegment(segments, id) {
182
183
  return segment;
183
184
  });
184
185
  }
185
- exports.insertAfterSegment = insertAfterSegment;
186
186
  // Adds child
187
187
  function addChildSegment(segments, id) {
188
188
  return mapSegments(segments, function (segment) {
@@ -192,4 +192,3 @@ function addChildSegment(segments, id) {
192
192
  return segment;
193
193
  });
194
194
  }
195
- exports.addChildSegment = addChildSegment;
@@ -35,15 +35,15 @@ const PivotChartLayoutComponent_1 = __importDefault(require("./PivotChartLayoutC
35
35
  const PivotChartLayoutBuilder_1 = __importDefault(require("./PivotChartLayoutBuilder"));
36
36
  const SegmentDesignerComponent_1 = __importDefault(require("./SegmentDesignerComponent"));
37
37
  const IntersectionDesignerComponent_1 = __importDefault(require("./IntersectionDesignerComponent"));
38
- const contexts_1 = require("@mwater/expressions-ui/lib/contexts");
38
+ const expressions_ui_1 = require("@mwater/expressions-ui");
39
39
  // Displays a pivot chart
40
40
  class PivotChartViewComponent extends react_1.default.Component {
41
- static contextType = contexts_1.LocaleContext;
41
+ static contextType = expressions_ui_1.LocaleContext;
42
42
  constructor(props) {
43
43
  super(props);
44
44
  this.state = {
45
- editSegment: null,
46
- editIntersectionId: null,
45
+ editSegment: null, // Segment being edited
46
+ editIntersectionId: null, // id of intersection being edited
47
47
  editIntersection: null // value of intersection being edited
48
48
  };
49
49
  }
@@ -123,7 +123,7 @@ class PivotChartViewComponent extends react_1.default.Component {
123
123
  return this.props.onDesignChange(design);
124
124
  };
125
125
  handleSummarizeSegment = (segmentId) => {
126
- const design = PivotChartUtils.summarizeSegment(this.props.design, segmentId, "Summary");
126
+ const design = PivotChartUtils.summarizeSegment(this.props.design, segmentId, T `Summary`);
127
127
  return this.props.onDesignChange(design);
128
128
  };
129
129
  renderHeader() {
@@ -139,16 +139,16 @@ class PivotChartViewComponent extends react_1.default.Component {
139
139
  return null;
140
140
  }
141
141
  const segmentType = PivotChartUtils.findSegment(this.props.design.rows, this.state.editSegment.id)
142
- ? "row"
143
- : "column";
144
- return (react_1.default.createElement(ActionCancelModalComponent_1.default, { title: `Edit ${segmentType}`, onAction: this.handleSaveEditSegment, onCancel: this.handleCancelEditSegment, size: "large" },
142
+ ? T `row`
143
+ : T `column`;
144
+ return (react_1.default.createElement(ActionCancelModalComponent_1.default, { title: T `Edit ${segmentType}`, onAction: this.handleSaveEditSegment, onCancel: this.handleCancelEditSegment, size: "large" },
145
145
  react_1.default.createElement(SegmentDesignerComponent_1.default, { segment: this.state.editSegment, table: this.props.design.table, schema: this.props.schema, dataSource: this.props.dataSource, segmentType: segmentType, onChange: (segment) => this.setState({ editSegment: segment }), filters: this.props.filters })));
146
146
  }
147
147
  renderEditIntersectionModal() {
148
148
  if (!this.state.editIntersectionId) {
149
149
  return null;
150
150
  }
151
- return (react_1.default.createElement(ActionCancelModalComponent_1.default, { title: "Edit Value", onAction: this.handleSaveEditIntersection, onCancel: this.handleCancelEditIntersection, size: "large" },
151
+ return (react_1.default.createElement(ActionCancelModalComponent_1.default, { title: T `Edit Value`, onAction: this.handleSaveEditIntersection, onCancel: this.handleCancelEditIntersection, size: "large" },
152
152
  react_1.default.createElement(IntersectionDesignerComponent_1.default, { design: this.props.design, intersectionId: this.state.editIntersectionId, intersection: this.state.editIntersection, table: this.props.design.table, schema: this.props.schema, dataSource: this.props.dataSource, onChange: (intersection) => this.setState({ editIntersection: intersection }), filters: this.props.filters })));
153
153
  }
154
154
  render() {
@@ -29,64 +29,70 @@ export default class SegmentDesignerComponent extends React.Component<SegmentDes
29
29
  handleOrderDirChange: (orderDir: any) => any;
30
30
  renderMode(): React.CElement<{
31
31
  label: React.ReactNode;
32
- labelMuted?: boolean | undefined;
32
+ labelMuted?: boolean;
33
33
  hint?: React.ReactNode;
34
34
  help?: React.ReactNode;
35
- required?: boolean | undefined;
36
- hasSuccess?: boolean | undefined;
37
- hasWarnings?: boolean | undefined;
38
- hasErrors?: boolean | undefined;
35
+ required?: boolean;
36
+ hasSuccess?: boolean;
37
+ hasWarnings?: boolean;
38
+ hasErrors?: boolean;
39
+ horizontal?: boolean;
39
40
  }, ui.FormGroup>;
40
41
  renderLabel(): React.CElement<{
41
42
  label: React.ReactNode;
42
- labelMuted?: boolean | undefined;
43
+ labelMuted?: boolean;
43
44
  hint?: React.ReactNode;
44
45
  help?: React.ReactNode;
45
- required?: boolean | undefined;
46
- hasSuccess?: boolean | undefined;
47
- hasWarnings?: boolean | undefined;
48
- hasErrors?: boolean | undefined;
46
+ required?: boolean;
47
+ hasSuccess?: boolean;
48
+ hasWarnings?: boolean;
49
+ hasErrors?: boolean;
50
+ horizontal?: boolean;
49
51
  }, ui.FormGroup>;
50
52
  renderValueAxis(): React.JSX.Element;
51
53
  renderFilter(): React.CElement<{
52
54
  label: React.ReactNode;
53
- labelMuted?: boolean | undefined;
55
+ labelMuted?: boolean;
54
56
  hint?: React.ReactNode;
55
57
  help?: React.ReactNode;
56
- required?: boolean | undefined;
57
- hasSuccess?: boolean | undefined;
58
- hasWarnings?: boolean | undefined;
59
- hasErrors?: boolean | undefined;
58
+ required?: boolean;
59
+ hasSuccess?: boolean;
60
+ hasWarnings?: boolean;
61
+ hasErrors?: boolean;
62
+ horizontal?: boolean;
60
63
  }, ui.FormGroup>;
61
64
  renderStyling(): React.CElement<{
62
65
  label: React.ReactNode;
63
- labelMuted?: boolean | undefined;
66
+ labelMuted?: boolean;
64
67
  hint?: React.ReactNode;
65
68
  help?: React.ReactNode;
66
- required?: boolean | undefined;
67
- hasSuccess?: boolean | undefined;
68
- hasWarnings?: boolean | undefined;
69
- hasErrors?: boolean | undefined;
69
+ required?: boolean;
70
+ hasSuccess?: boolean;
71
+ hasWarnings?: boolean;
72
+ hasErrors?: boolean;
73
+ horizontal?: boolean;
70
74
  }, ui.FormGroup>;
71
75
  renderBorders(): React.CElement<{
72
76
  label: React.ReactNode;
73
- labelMuted?: boolean | undefined;
77
+ labelMuted?: boolean;
74
78
  hint?: React.ReactNode;
75
79
  help?: React.ReactNode;
76
- required?: boolean | undefined;
77
- hasSuccess?: boolean | undefined;
78
- hasWarnings?: boolean | undefined;
79
- hasErrors?: boolean | undefined;
80
+ required?: boolean;
81
+ hasSuccess?: boolean;
82
+ hasWarnings?: boolean;
83
+ hasErrors?: boolean;
84
+ horizontal?: boolean;
80
85
  }, ui.FormGroup>;
81
86
  renderOrderExpr(): React.CElement<{
82
87
  label: React.ReactNode;
83
- labelMuted?: boolean | undefined;
88
+ labelMuted?: boolean;
84
89
  hint?: React.ReactNode;
85
90
  help?: React.ReactNode;
86
- required?: boolean | undefined;
87
- hasSuccess?: boolean | undefined;
88
- hasWarnings?: boolean | undefined;
89
- hasErrors?: boolean | undefined;
91
+ required?: boolean;
92
+ hasSuccess?: boolean;
93
+ hasWarnings?: boolean;
94
+ hasErrors?: boolean;
95
+ horizontal?: boolean;
90
96
  }, ui.FormGroup>;
91
97
  render(): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLElement>, HTMLElement>;
92
98
  }
@@ -80,18 +80,18 @@ class SegmentDesignerComponent extends react_1.default.Component {
80
80
  renderMode() {
81
81
  return R(ui.FormGroup, {
82
82
  labelMuted: true,
83
- label: "Type"
83
+ label: T `Type`
84
84
  }, react_1.default.createElement(ui.Radio, { key: "single", value: this.state.mode, radioValue: "single", onChange: this.handleMode },
85
- `Single ${this.props.segmentType}`,
86
- react_1.default.createElement("span", { className: "text-muted" }, ` - used for summary ${this.props.segmentType}s and empty ${this.props.segmentType}s`)), react_1.default.createElement(ui.Radio, { key: "multiple", value: this.state.mode, radioValue: "multiple", onChange: this.handleMode },
87
- `Multiple ${this.props.segmentType}s`,
88
- react_1.default.createElement("span", { className: "text-muted" }, ` - disaggregate data by a field`)));
85
+ T `Single ${this.props.segmentType}`,
86
+ react_1.default.createElement("span", { className: "text-muted" }, T ` - used for summary ${this.props.segmentType}s and empty ${this.props.segmentType}s`)), react_1.default.createElement(ui.Radio, { key: "multiple", value: this.state.mode, radioValue: "multiple", onChange: this.handleMode },
87
+ T `Multiple ${this.props.segmentType}s`,
88
+ react_1.default.createElement("span", { className: "text-muted" }, T ` - disaggregate data by a field`)));
89
89
  }
90
90
  renderLabel() {
91
91
  return R(ui.FormGroup, {
92
92
  labelMuted: true,
93
- label: "Label",
94
- help: this.state.mode === "multiple" ? `Optional label for the ${this.props.segmentType}s` : undefined
93
+ label: T `Label`,
94
+ help: this.state.mode === "multiple" ? T `Optional label for the ${this.props.segmentType}s` : undefined
95
95
  }, R("input", {
96
96
  ref: (elem) => {
97
97
  this.labelElem = elem;
@@ -107,7 +107,7 @@ class SegmentDesignerComponent extends react_1.default.Component {
107
107
  const axisBuilder = new __1.AxisBuilder({ schema: this.props.schema });
108
108
  const axisType = axisBuilder.getAxisType(this.props.segment.valueAxis);
109
109
  const allowValueAxisOnlyValuesPresent = axisType == "enum" || axisType == "enumset" || axisType == "date";
110
- return react_1.default.createElement(ui.FormGroup, { labelMuted: true, label: "Field", help: "Field to disaggregate data by" },
110
+ return react_1.default.createElement(ui.FormGroup, { labelMuted: true, label: T `Field`, help: T `Field to disaggregate data by` },
111
111
  react_1.default.createElement("div", { style: { marginLeft: 8 } },
112
112
  R(AxisComponent_1.default, {
113
113
  schema: this.props.schema,
@@ -123,15 +123,17 @@ class SegmentDesignerComponent extends react_1.default.Component {
123
123
  }),
124
124
  allowValueAxisOnlyValuesPresent ?
125
125
  react_1.default.createElement(ui.Checkbox, { value: this.props.segment.valueAxisOnlyValuesPresent, onChange: this.handleValueAxisOnlyValuesPresentChange },
126
- "Only show values actually present\u00A0",
127
- react_1.default.createElement(PopoverHelpComponent_1.default, { placement: "bottom" }, "Limits values to those that are present in the data, as opposed to all choices or all dates within range"))
126
+ T `Only show values actually present`,
127
+ "\u00A0",
128
+ react_1.default.createElement(PopoverHelpComponent_1.default, { placement: "bottom" }, T `Limits values to those that are present in the data, as opposed
129
+ to all choices or all dates within range`))
128
130
  : null));
129
131
  }
130
132
  renderFilter() {
131
133
  return R(ui.FormGroup, {
132
134
  labelMuted: true,
133
- label: [R(ui.Icon, { id: "glyphicon-filter" }), " Filters"],
134
- hint: `Filters all data associated with this ${this.props.segmentType}`
135
+ label: [R(ui.Icon, { id: "glyphicon-filter" }), T ` Filters`],
136
+ hint: T `Filters all data associated with this ${this.props.segmentType}`
135
137
  }, R(expressions_ui_2.FilterExprComponent, {
136
138
  schema: this.props.schema,
137
139
  dataSource: this.props.dataSource,
@@ -143,15 +145,15 @@ class SegmentDesignerComponent extends react_1.default.Component {
143
145
  renderStyling() {
144
146
  return R(ui.FormGroup, {
145
147
  labelMuted: true,
146
- label: "Styling"
148
+ label: T `Styling`
147
149
  }, react_1.default.createElement("div", null,
148
- react_1.default.createElement(ui.Checkbox, { key: "bold", inline: true, value: this.props.segment.bold === true, onChange: (value) => this.update({ bold: value }) }, "Bold"),
149
- react_1.default.createElement(ui.Checkbox, { key: "italic", inline: true, value: this.props.segment.italic === true, onChange: (value) => this.update({ italic: value }) }, "Italic"),
150
+ react_1.default.createElement(ui.Checkbox, { key: "bold", inline: true, value: this.props.segment.bold === true, onChange: (value) => this.update({ bold: value }) }, T `Bold`),
151
+ react_1.default.createElement(ui.Checkbox, { key: "italic", inline: true, value: this.props.segment.italic === true, onChange: (value) => this.update({ italic: value }) }, T `Italic`),
150
152
  this.props.segment.valueAxis && this.props.segment.label ?
151
- react_1.default.createElement(ui.Checkbox, { key: "valueLabelBold", inline: true, value: this.props.segment.valueLabelBold === true, onChange: (value) => this.update({ valueLabelBold: value }) }, "Header Bold")
153
+ react_1.default.createElement(ui.Checkbox, { key: "valueLabelBold", inline: true, value: this.props.segment.valueLabelBold === true, onChange: (value) => this.update({ valueLabelBold: value }) }, T `Header Bold`)
152
154
  : undefined,
153
155
  this.props.segment.valueAxis && this.props.segment.label
154
- ? R("div", { style: { paddingTop: 5 } }, "Shade filler cells: ", R(ColorComponent_1.default, {
156
+ ? R("div", { style: { paddingTop: 5 } }, T `Shade filler cells: `, R(ColorComponent_1.default, {
155
157
  color: this.props.segment.fillerColor,
156
158
  onChange: (color) => this.update({ fillerColor: color })
157
159
  }))
@@ -160,16 +162,16 @@ class SegmentDesignerComponent extends react_1.default.Component {
160
162
  renderBorders() {
161
163
  return R(ui.FormGroup, {
162
164
  labelMuted: true,
163
- label: "Borders"
164
- }, R("div", { key: "before" }, this.props.segmentType === "row" ? "Top: " : "Left: "), R(BorderComponent, {
165
+ label: T `Borders`
166
+ }, R("div", { key: "before" }, this.props.segmentType === "row" ? T `Top: ` : T `Left: `), R(BorderComponent, {
165
167
  value: this.props.segment.borderBefore,
166
168
  defaultValue: 2,
167
169
  onChange: (value) => this.update({ borderBefore: value })
168
- }), R("div", { key: "within" }, "Within: "), R(BorderComponent, {
170
+ }), R("div", { key: "within" }, T `Within: `), R(BorderComponent, {
169
171
  value: this.props.segment.borderWithin,
170
172
  defaultValue: 1,
171
173
  onChange: (value) => this.update({ borderWithin: value })
172
- }), R("div", { key: "after" }, this.props.segmentType === "row" ? "Bottom: " : "Right: "), R(BorderComponent, {
174
+ }), R("div", { key: "after" }, this.props.segmentType === "row" ? T `Bottom: ` : T `Right: `), R(BorderComponent, {
173
175
  value: this.props.segment.borderAfter,
174
176
  defaultValue: 2,
175
177
  onChange: (value) => this.update({ borderAfter: value })
@@ -178,8 +180,8 @@ class SegmentDesignerComponent extends react_1.default.Component {
178
180
  renderOrderExpr() {
179
181
  return R(ui.FormGroup, {
180
182
  labelMuted: true,
181
- label: [R(ui.Icon, { id: "fa-sort-amount-asc" }), " Sort"],
182
- hint: `Sorts the display of this ${this.props.segmentType}`
183
+ label: [R(ui.Icon, { id: "fa-sort-amount-asc" }), T ` Sort`],
184
+ hint: T `Sorts the display of this ${this.props.segmentType}`
183
185
  }, R(expressions_ui_1.ExprComponent, {
184
186
  schema: this.props.schema,
185
187
  dataSource: this.props.dataSource,
@@ -194,12 +196,12 @@ class SegmentDesignerComponent extends react_1.default.Component {
194
196
  radioValue: "asc",
195
197
  onChange: this.handleOrderDirChange,
196
198
  inline: true
197
- }, "Ascending"), R(ui.Radio, {
199
+ }, T `Ascending`), R(ui.Radio, {
198
200
  value: this.props.segment.orderDir || "asc",
199
201
  radioValue: "desc",
200
202
  onChange: this.handleOrderDirChange,
201
203
  inline: true
202
- }, "Descending"))
204
+ }, T `Descending`))
203
205
  : undefined);
204
206
  }
205
207
  render() {
@@ -211,6 +213,6 @@ exports.default = SegmentDesignerComponent;
211
213
  class BorderComponent extends react_1.default.Component {
212
214
  render() {
213
215
  const value = this.props.value != null ? this.props.value : this.props.defaultValue;
214
- return R("span", null, react_1.default.createElement(bootstrap_1.Radio, { inline: true, value: value, radioValue: 0, onChange: () => this.props.onChange(0) }, "None"), react_1.default.createElement(bootstrap_1.Radio, { inline: true, value: value, radioValue: 1, onChange: () => this.props.onChange(1) }, "Light"), react_1.default.createElement(bootstrap_1.Radio, { inline: true, value: value, radioValue: 2, onChange: () => this.props.onChange(2) }, "Medium"), react_1.default.createElement(bootstrap_1.Radio, { inline: true, value: value, radioValue: 3, onChange: () => this.props.onChange(3) }, "Heavy"));
216
+ return R("span", null, react_1.default.createElement(bootstrap_1.Radio, { inline: true, value: value, radioValue: 0, onChange: () => this.props.onChange(0) }, T `None`), react_1.default.createElement(bootstrap_1.Radio, { inline: true, value: value, radioValue: 1, onChange: () => this.props.onChange(1) }, T `Light`), react_1.default.createElement(bootstrap_1.Radio, { inline: true, value: value, radioValue: 2, onChange: () => this.props.onChange(2) }, T `Medium`), react_1.default.createElement(bootstrap_1.Radio, { inline: true, value: value, radioValue: 3, onChange: () => this.props.onChange(3) }, T `Heavy`));
215
217
  }
216
218
  }
@@ -37,7 +37,7 @@ class OrderingsComponent extends react_1.default.Component {
37
37
  onOrderingChange: this.handleOrderingChange.bind(null, i),
38
38
  onOrderingRemove: this.handleOrderingRemove.bind(null, i)
39
39
  });
40
- }), R("button", { type: "button", className: "btn btn-sm btn-secondary", onClick: this.handleAdd, key: "add" }, R("span", { className: "fas fa-plus" }), " Add Ordering"));
40
+ }), R("button", { type: "button", className: "btn btn-sm btn-secondary", onClick: this.handleAdd, key: "add" }, R("span", { className: "fas fa-plus" }), T ` Add Ordering`));
41
41
  }
42
42
  }
43
43
  exports.default = OrderingsComponent;
@@ -61,6 +61,6 @@ class OrderingComponent extends react_1.default.Component {
61
61
  aggrStatuses: ["individual", "aggregate"],
62
62
  value: this.props.ordering.axis?.expr,
63
63
  onChange: this.handleExprChange
64
- }), R("div", null, react_1.default.createElement(bootstrap_1.Checkbox, { inline: true, value: this.props.ordering.direction === "desc", onChange: this.handleDirectionChange }, "Reverse")));
64
+ }), R("div", null, react_1.default.createElement(bootstrap_1.Checkbox, { inline: true, value: this.props.ordering.direction === "desc", onChange: this.handleDirectionChange }, T `Reverse`)));
65
65
  }
66
66
  }
@@ -72,19 +72,19 @@ class TableChart extends Chart_1.default {
72
72
  const axisBuilder = new AxisBuilder_1.default({ schema });
73
73
  // Check that has table
74
74
  if (!design.table) {
75
- return "Missing data source";
75
+ return T `Missing data source`;
76
76
  }
77
77
  let error = null;
78
78
  for (let column of design.columns) {
79
79
  // Check that has textAxis
80
80
  if (!column.textAxis) {
81
- error = error || "Missing text";
81
+ error = error || T `Missing text`;
82
82
  }
83
83
  error = error || axisBuilder.validateAxis({ axis: column.textAxis });
84
84
  }
85
85
  for (let ordering of design.orderings) {
86
86
  if (!ordering.axis) {
87
- error = error || "Missing order expression";
87
+ error = error || T `Missing order expression`;
88
88
  }
89
89
  error = error || axisBuilder.validateAxis({ axis: ordering.axis });
90
90
  }