@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.
- package/lib/ColorComponent.d.ts +1 -1
- package/lib/ColorComponent.js +2 -2
- package/lib/CustomColorsContext.d.ts +0 -1
- package/lib/DateRangeComponent.js +10 -10
- package/lib/LocaleContextInjector.js +2 -2
- package/lib/MWaterAddRelatedFormComponent.js +8 -8
- package/lib/MWaterAddRelatedIndicatorComponent.d.ts +0 -1
- package/lib/MWaterAddRelatedIndicatorComponent.js +6 -6
- package/lib/MWaterAssetSystemsListComponent.d.ts +3 -3
- package/lib/MWaterAssetSystemsListComponent.js +4 -3
- package/lib/MWaterCompleteTableSelectComponent.d.ts +33 -34
- package/lib/MWaterCompleteTableSelectComponent.js +39 -38
- package/lib/MWaterCustomTablesetListComponent.d.ts +3 -3
- package/lib/MWaterCustomTablesetListComponent.js +5 -4
- package/lib/MWaterGlobalFiltersComponent.js +4 -4
- package/lib/MWaterLoaderComponent.d.ts +5 -5
- package/lib/MWaterLoaderComponent.js +1 -1
- package/lib/MWaterMetricsTableListComponent.d.ts +3 -3
- package/lib/MWaterMetricsTableListComponent.js +4 -3
- package/lib/MWaterResponsesFilterComponent.js +4 -4
- package/lib/MWaterTableSelectComponent.d.ts +1 -1
- package/lib/MWaterTableSelectComponent.js +5 -5
- package/lib/PopoverComponent.d.ts +4 -4
- package/lib/UIComponents.d.ts +5 -2
- package/lib/axes/AxisBuilder.js +42 -43
- package/lib/axes/AxisColorEditorComponent.d.ts +4 -4
- package/lib/axes/AxisColorEditorComponent.js +25 -60
- package/lib/axes/AxisComponent.d.ts +2 -3
- package/lib/axes/AxisComponent.js +20 -20
- package/lib/axes/BinsComponent.js +6 -6
- package/lib/axes/CategoryMapComponent.d.ts +2 -1
- package/lib/axes/CategoryMapComponent.js +7 -5
- package/lib/axes/ColorPaletteCollectionComponent.js +3 -3
- package/lib/axes/RangesComponent.js +12 -12
- package/lib/compressJson.js +1 -1
- package/lib/dashboards/DashboardComponent.d.ts +2 -0
- package/lib/dashboards/DashboardComponent.js +15 -8
- package/lib/dashboards/DashboardUtils.js +2 -3
- package/lib/dashboards/DashboardViewComponent.js +4 -4
- package/lib/dashboards/FontStyleEditor.js +8 -8
- package/lib/dashboards/LayoutOptionsComponent.js +101 -74
- package/lib/dashboards/SettingsModalComponent.d.ts +3 -4
- package/lib/dashboards/SettingsModalComponent.js +54 -40
- package/lib/dashboards/WidgetComponent.d.ts +0 -1
- package/lib/dashboards/WidgetComponent.js +1 -2
- package/lib/dashboards/layoutOptions.js +11 -7
- package/lib/datagrids/DatagridComponent.d.ts +1 -8
- package/lib/datagrids/DatagridComponent.js +14 -13
- package/lib/datagrids/DatagridDesignerComponent.js +18 -18
- package/lib/datagrids/DatagridQueryBuilder.d.ts +4 -4
- package/lib/datagrids/DatagridUtils.js +2 -2
- package/lib/datagrids/DatagridViewComponent.js +4 -4
- package/lib/datagrids/ExprCellComponent.js +1 -1
- package/lib/datagrids/FindReplaceModalComponent.js +17 -17
- package/lib/datagrids/OrderBysDesignerComponent.js +2 -2
- package/lib/languages.js +2 -2
- package/lib/layouts/DecoratedBlockComponent.js +2 -2
- package/lib/layouts/blocks/BlocksDisplayComponent.js +13 -13
- package/lib/layouts/blocks/BlocksLayoutManager.d.ts +2 -1
- package/lib/layouts/blocks/ClipboardPaletteItemComponent.js +3 -3
- package/lib/layouts/blocks/HorizontalBlockComponent.js +3 -3
- package/lib/layouts/blocks/blockUtils.js +4 -5
- package/lib/mWaterLoader.js +1 -1
- package/lib/maps/AddLayerComponent.js +13 -13
- package/lib/maps/AdminScopeAndDetailLevelComponent.js +5 -5
- package/lib/maps/BaseLayerDesignerComponent.js +2 -2
- package/lib/maps/BufferLayer.js +7 -7
- package/lib/maps/BufferLayerDesignerComponent.js +8 -8
- package/lib/maps/ChoroplethLayer.js +6 -6
- package/lib/maps/ChoroplethLayerDesigner.js +16 -16
- package/lib/maps/ClusterLayer.js +3 -3
- package/lib/maps/ClusterLayerDesignerComponent.js +5 -5
- package/lib/maps/DetailLevelSelectComponent.d.ts +11 -1
- package/lib/maps/DetailLevelSelectComponent.js +3 -3
- package/lib/maps/DirectMapDataSource.js +1 -2
- package/lib/maps/EditHoverOver.js +7 -5
- package/lib/maps/EditPopupComponent.js +2 -2
- package/lib/maps/GridLayer.js +5 -5
- package/lib/maps/GridLayerDesigner.js +15 -15
- package/lib/maps/LayerSwitcherComponent.js +1 -2
- package/lib/maps/LeafletMapComponent.d.ts +1 -1
- package/lib/maps/LeafletMapComponent.js +1 -1
- package/lib/maps/LegendComponent.js +1 -1
- package/lib/maps/MWaterServerLayer.d.ts +0 -1
- package/lib/maps/MWaterServerLayer.js +1 -1
- package/lib/maps/MapComponent.js +8 -8
- package/lib/maps/MapControlComponent.js +1 -1
- package/lib/maps/MapDesignerComponent.js +16 -16
- package/lib/maps/MapFiltersDesignerComponent.js +2 -2
- package/lib/maps/MapLayerViewDesignerComponent.js +8 -8
- package/lib/maps/MapUtils.js +6 -7
- package/lib/maps/MapViewComponent.js +1 -2
- package/lib/maps/MarkerSymbolSelectComponent.js +3 -3
- package/lib/maps/MarkersLayer.js +6 -7
- package/lib/maps/MarkersLayerDesignerComponent.js +22 -22
- package/lib/maps/PopupFilterJoinsEditComponent.js +4 -4
- package/lib/maps/PopupFilterJoinsUtils.js +2 -3
- package/lib/maps/RasterMapViewComponent.d.ts +3 -3
- package/lib/maps/RasterMapViewComponent.js +4 -4
- package/lib/maps/RegionSelectComponent.d.ts +1 -3
- package/lib/maps/RegionSelectComponent.js +1 -2
- package/lib/maps/ScopeAndDetailLevelComponent.js +3 -3
- package/lib/maps/TileUrlLayer.d.ts +1 -1
- package/lib/maps/TileUrlLayer.js +3 -3
- package/lib/maps/VectorMapViewComponent.js +6 -7
- package/lib/maps/ZoomLevelsComponent.js +5 -5
- package/lib/maps/mapSymbols.d.ts +1 -1
- package/lib/maps/mapSymbols.js +51 -50
- package/lib/maps/mapboxUtils.js +2 -3
- package/lib/maps/maps.d.ts +0 -1
- package/lib/maps/vectorMaps.js +14 -15
- package/lib/memoizedDebounce.js +1 -2
- package/lib/quickfilter/DateExprComponent.d.ts +4 -0
- package/lib/quickfilter/DateExprComponent.js +17 -16
- package/lib/quickfilter/IdArrayQuickfilterComponent.js +1 -1
- package/lib/quickfilter/QuickfilterUtils.js +1 -2
- package/lib/quickfilter/QuickfiltersComponent.d.ts +23 -2
- package/lib/quickfilter/QuickfiltersComponent.js +2 -2
- package/lib/quickfilter/QuickfiltersDesignComponent.js +8 -8
- package/lib/quickfilter/TextLiteralComponent.d.ts +35 -2
- package/lib/quickfilter/TextLiteralComponent.js +6 -6
- package/lib/richtext/DropdownPaletteItem.js +1 -1
- package/lib/richtext/ExprItemsHtmlConverter.js +8 -10
- package/lib/richtext/FontColorPaletteItem.js +7 -7
- package/lib/richtext/ItemsHtmlConverter.js +0 -1
- package/lib/richtext/RichTextComponent.d.ts +1 -0
- package/lib/richtext/RichTextComponent.js +33 -29
- package/lib/valueFormatter.js +18 -19
- package/lib/wellknown.js +2 -3
- package/lib/widgets/IFrameWidgetComponent.d.ts +9 -1
- package/lib/widgets/IFrameWidgetComponent.js +3 -3
- package/lib/widgets/ImageUploaderComponent.js +5 -5
- package/lib/widgets/ImageWidget.js +2 -2
- package/lib/widgets/ImageWidgetComponent.d.ts +9 -1
- package/lib/widgets/ImageWidgetComponent.js +20 -20
- package/lib/widgets/ImagelistCarouselComponent.js +1 -1
- package/lib/widgets/MapWidget.js +2 -2
- package/lib/widgets/MarkdownWidget.d.ts +1 -1
- package/lib/widgets/MarkdownWidget.js +1 -1
- package/lib/widgets/TOCWidget.js +11 -12
- package/lib/widgets/WidgetScopesViewComponent.js +1 -1
- package/lib/widgets/charts/Chart.js +1 -1
- package/lib/widgets/charts/ChartViewComponent.js +9 -9
- package/lib/widgets/charts/ChartWidgetComponent.js +4 -4
- package/lib/widgets/charts/calendar/CalendarChart.js +4 -4
- package/lib/widgets/charts/calendar/CalendarChartDesignerComponent.js +7 -7
- package/lib/widgets/charts/calendar/CalendarChartViewComponent.js +3 -3
- package/lib/widgets/charts/imagemosaic/ImageMosaicChart.d.ts +18 -5
- package/lib/widgets/charts/imagemosaic/ImageMosaicChart.js +3 -4
- package/lib/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.js +5 -5
- package/lib/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.d.ts +5 -19
- package/lib/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.js +66 -70
- package/lib/widgets/charts/imagemosaic/ImagePopupComponent.js +1 -1
- package/lib/widgets/charts/layered/LayeredChart.d.ts +1 -1
- package/lib/widgets/charts/layered/LayeredChart.js +9 -9
- package/lib/widgets/charts/layered/LayeredChartCompiler.d.ts +8 -8
- package/lib/widgets/charts/layered/LayeredChartCompiler.js +15 -15
- package/lib/widgets/charts/layered/LayeredChartDesignerComponent.js +33 -33
- package/lib/widgets/charts/layered/LayeredChartLayerDesignerComponent.js +16 -16
- package/lib/widgets/charts/layered/LayeredChartUtils.js +1 -2
- package/lib/widgets/charts/layered/LayeredChartViewComponent.js +4 -4
- package/lib/widgets/charts/pivot/IntersectionDesignerComponent.js +18 -17
- package/lib/widgets/charts/pivot/PivotChart.d.ts +1 -1
- package/lib/widgets/charts/pivot/PivotChart.js +12 -4
- package/lib/widgets/charts/pivot/PivotChartDesignerComponent.d.ts +5 -5
- package/lib/widgets/charts/pivot/PivotChartDesignerComponent.js +10 -10
- package/lib/widgets/charts/pivot/PivotChartLayoutComponent.js +5 -5
- package/lib/widgets/charts/pivot/PivotChartQueryBuilder.d.ts +1 -1
- package/lib/widgets/charts/pivot/PivotChartQueryBuilder.js +5 -6
- package/lib/widgets/charts/pivot/PivotChartUtils.js +11 -12
- package/lib/widgets/charts/pivot/PivotChartViewComponent.js +9 -9
- package/lib/widgets/charts/pivot/SegmentDesignerComponent.d.ts +30 -30
- package/lib/widgets/charts/pivot/SegmentDesignerComponent.js +28 -26
- package/lib/widgets/charts/table/OrderingsComponent.js +2 -2
- package/lib/widgets/charts/table/TableChart.js +3 -3
- package/lib/widgets/charts/table/TableChartDesignerComponent.js +17 -17
- package/lib/widgets/charts/table/TableChartViewComponent.js +3 -3
- package/lib/widgets/text/ExprInsertModalComponent.d.ts +2 -3
- package/lib/widgets/text/ExprInsertModalComponent.js +2 -14
- package/lib/widgets/text/ExprItemEditorComponent.js +4 -4
- package/lib/widgets/text/ExprUpdateModalComponent.d.ts +2 -3
- package/lib/widgets/text/ExprUpdateModalComponent.js +3 -15
- package/lib/widgets/text/TextComponent.js +3 -3
- package/lib/widgets/text/TextWidget.d.ts +1 -1
- package/lib/widgets/text/TextWidgetComponent.js +11 -11
- package/lib/widgets/text/TextWidgetDesign.d.ts +2 -1
- package/lib/widgets/text/TextWidgetDesign.js +1 -2
- package/package.json +3 -3
- package/src/ColorComponent.tsx +2 -2
- package/src/DateRangeComponent.ts +10 -10
- package/src/LocaleContextInjector.tsx +1 -1
- package/src/MWaterAddRelatedFormComponent.ts +7 -7
- package/src/MWaterAddRelatedIndicatorComponent.ts +5 -5
- package/src/MWaterAssetSystemsListComponent.tsx +3 -3
- package/src/MWaterCompleteTableSelectComponent.tsx +36 -35
- package/src/MWaterCustomTablesetListComponent.tsx +4 -4
- package/src/MWaterGlobalFiltersComponent.ts +4 -4
- package/src/MWaterLoaderComponent.ts +1 -1
- package/src/MWaterMetricsTableListComponent.tsx +3 -3
- package/src/MWaterResponsesFilterComponent.ts +6 -6
- package/src/MWaterTableSelectComponent.tsx +6 -7
- package/src/axes/AxisBuilder.ts +42 -44
- package/src/axes/AxisColorEditorComponent.tsx +178 -0
- package/src/axes/AxisComponent.ts +20 -20
- package/src/axes/BinsComponent.tsx +6 -6
- package/src/axes/CategoryMapComponent.ts +10 -10
- package/src/axes/ColorPaletteCollectionComponent.tsx +3 -3
- package/src/axes/RangesComponent.ts +14 -14
- package/src/dashboards/DashboardComponent.tsx +21 -9
- package/src/dashboards/DashboardViewComponent.tsx +3 -3
- package/src/dashboards/FontStyleEditor.tsx +8 -8
- package/src/dashboards/LayoutOptionsComponent.tsx +74 -74
- package/src/dashboards/SettingsModalComponent.tsx +134 -107
- package/src/dashboards/layoutOptions.tsx +5 -1
- package/src/datagrids/DatagridComponent.ts +65 -62
- package/src/datagrids/DatagridDesignerComponent.tsx +17 -17
- package/src/datagrids/DatagridUtils.ts +2 -2
- package/src/datagrids/DatagridViewComponent.ts +3 -3
- package/src/datagrids/ExprCellComponent.ts +1 -1
- package/src/datagrids/FindReplaceModalComponent.ts +13 -13
- package/src/datagrids/OrderBysDesignerComponent.tsx +2 -2
- package/src/globals.d.ts +7 -1
- package/src/languages.ts +2 -2
- package/src/layouts/blocks/BlocksDisplayComponent.tsx +13 -13
- package/src/layouts/blocks/BlocksLayoutManager.ts +3 -2
- package/src/layouts/blocks/ClipboardPaletteItemComponent.ts +3 -3
- package/src/maps/AddLayerComponent.ts +13 -13
- package/src/maps/AdminScopeAndDetailLevelComponent.ts +5 -5
- package/src/maps/BaseLayerDesignerComponent.ts +8 -8
- package/src/maps/BufferLayer.ts +5 -5
- package/src/maps/BufferLayerDesignerComponent.ts +8 -8
- package/src/maps/ChoroplethLayer.ts +3 -3
- package/src/maps/ChoroplethLayerDesigner.tsx +16 -16
- package/src/maps/ClusterLayer.ts +3 -3
- package/src/maps/ClusterLayerDesignerComponent.ts +5 -5
- package/src/maps/DetailLevelSelectComponent.ts +3 -3
- package/src/maps/EditHoverOver.tsx +5 -5
- package/src/maps/EditPopupComponent.ts +2 -2
- package/src/maps/GridLayer.ts +5 -5
- package/src/maps/GridLayerDesigner.tsx +15 -16
- package/src/maps/MWaterServerLayer.ts +1 -1
- package/src/maps/MapComponent.ts +6 -6
- package/src/maps/MapControlComponent.ts +1 -1
- package/src/maps/MapDesignerComponent.tsx +20 -20
- package/src/maps/MapFiltersDesignerComponent.tsx +3 -3
- package/src/maps/MapLayerViewDesignerComponent.ts +9 -9
- package/src/maps/MarkerSymbolSelectComponent.ts +4 -5
- package/src/maps/MarkersLayerDesignerComponent.ts +22 -22
- package/src/maps/PopupFilterJoinsEditComponent.ts +4 -4
- package/src/maps/RasterMapViewComponent.ts +2 -2
- package/src/maps/RegionSelectComponent.ts +1 -2
- package/src/maps/ScopeAndDetailLevelComponent.ts +3 -3
- package/src/maps/TileUrlLayer.tsx +3 -3
- package/src/maps/VectorMapViewComponent.tsx +5 -5
- package/src/maps/ZoomLevelsComponent.ts +6 -6
- package/src/maps/mapSymbols.ts +49 -49
- package/src/maps/vectorMaps.tsx +2 -2
- package/src/quickfilter/DateExprComponent.ts +19 -18
- package/src/quickfilter/IdArrayQuickfilterComponent.ts +1 -1
- package/src/quickfilter/QuickfiltersComponent.ts +1 -1
- package/src/quickfilter/QuickfiltersDesignComponent.tsx +9 -9
- package/src/quickfilter/TextLiteralComponent.ts +4 -4
- package/src/richtext/DropdownPaletteItem.tsx +1 -1
- package/src/richtext/ExprItemsHtmlConverter.ts +8 -10
- package/src/richtext/ItemsHtmlConverter.ts +0 -1
- package/src/richtext/RichTextComponent.tsx +31 -31
- package/src/valueFormatter.ts +14 -14
- package/src/widgets/IFrameWidgetComponent.ts +3 -3
- package/src/widgets/ImageUploaderComponent.tsx +5 -5
- package/src/widgets/ImageWidget.ts +2 -2
- package/src/widgets/ImageWidgetComponent.ts +26 -26
- package/src/widgets/ImagelistCarouselComponent.ts +2 -2
- package/src/widgets/MapWidget.ts +1 -1
- package/src/widgets/MarkdownWidget.ts +1 -1
- package/src/widgets/TOCWidget.ts +13 -14
- package/src/widgets/WidgetScopesViewComponent.ts +1 -1
- package/src/widgets/charts/Chart.ts +1 -1
- package/src/widgets/charts/ChartViewComponent.ts +4 -4
- package/src/widgets/charts/ChartWidgetComponent.tsx +3 -3
- package/src/widgets/charts/calendar/CalendarChart.ts +4 -4
- package/src/widgets/charts/calendar/CalendarChartDesignerComponent.ts +7 -7
- package/src/widgets/charts/calendar/CalendarChartViewComponent.tsx +2 -2
- package/src/widgets/charts/imagemosaic/ImageMosaicChart.ts +25 -8
- package/src/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.ts +5 -5
- package/src/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.tsx +128 -0
- package/src/widgets/charts/layered/LayeredChart.ts +9 -9
- package/src/widgets/charts/layered/LayeredChartCompiler.ts +45 -45
- package/src/widgets/charts/layered/LayeredChartDesignerComponent.tsx +39 -39
- package/src/widgets/charts/layered/LayeredChartLayerDesignerComponent.tsx +18 -19
- package/src/widgets/charts/layered/LayeredChartViewComponent.ts +1 -1
- package/src/widgets/charts/pivot/IntersectionDesignerComponent.tsx +22 -23
- package/src/widgets/charts/pivot/PivotChart.ts +15 -5
- package/src/widgets/charts/pivot/PivotChartDesignerComponent.tsx +12 -12
- package/src/widgets/charts/pivot/PivotChartLayoutComponent.tsx +5 -5
- package/src/widgets/charts/pivot/PivotChartQueryBuilder.ts +7 -8
- package/src/widgets/charts/pivot/PivotChartViewComponent.tsx +6 -6
- package/src/widgets/charts/pivot/SegmentDesignerComponent.tsx +30 -30
- package/src/widgets/charts/table/OrderingsComponent.tsx +2 -2
- package/src/widgets/charts/table/TableChart.ts +3 -3
- package/src/widgets/charts/table/TableChartDesignerComponent.ts +16 -16
- package/src/widgets/charts/table/TableChartViewComponent.ts +2 -2
- package/src/widgets/text/{ExprInsertModalComponent.ts → ExprInsertModalComponent.tsx} +18 -20
- package/src/widgets/text/ExprItemEditorComponent.tsx +4 -4
- package/src/widgets/text/{ExprUpdateModalComponent.ts → ExprUpdateModalComponent.tsx} +18 -20
- package/src/widgets/text/TextComponent.tsx +2 -2
- package/src/widgets/text/TextWidgetComponent.tsx +10 -10
- package/src/widgets/text/TextWidgetDesign.ts +3 -1
- package/src/axes/AxisColorEditorComponent.ts +0 -210
- package/src/widgets/charts/imagemosaic/ImageMosaicChartViewComponent.ts +0 -117
package/lib/ColorComponent.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export default class ColorComponent extends React.Component<ColorComponentProps,
|
|
|
16
16
|
handleReset: () => void;
|
|
17
17
|
handleTransparent: () => void;
|
|
18
18
|
handleAdvanced: () => void;
|
|
19
|
-
renderPopup():
|
|
19
|
+
renderPopup(): any;
|
|
20
20
|
colorWellRef: HTMLDivElement | null;
|
|
21
21
|
render(): React.JSX.Element;
|
|
22
22
|
}
|
package/lib/ColorComponent.js
CHANGED
|
@@ -71,8 +71,8 @@ class ColorComponent extends react_1.default.Component {
|
|
|
71
71
|
react_1.default.createElement("div", { style: popupPosition },
|
|
72
72
|
!this.props.disableReset && (react_1.default.createElement("button", { type: "button", className: "btn btn-link btn-sm", onClick: this.handleReset },
|
|
73
73
|
react_1.default.createElement("i", { className: "fa fa-undo" }),
|
|
74
|
-
|
|
75
|
-
react_1.default.createElement("button", { type: "button", className: "btn btn-link btn-sm", onClick: this.handleAdvanced }, this.state.advanced ?
|
|
74
|
+
T ` Reset Color`)),
|
|
75
|
+
react_1.default.createElement("button", { type: "button", className: "btn btn-link btn-sm", onClick: this.handleAdvanced }, this.state.advanced ? T `Basic` : T `Advanced`),
|
|
76
76
|
react_1.default.createElement(CustomColors, { color: this.props.color, onChange: this.props.onChange }),
|
|
77
77
|
this.state.advanced ? (react_1.default.createElement(react_color_1.SketchPicker, { color: this.props.color || undefined, disableAlpha: true, onChangeComplete: this.handleColor })) : (react_1.default.createElement(react_color_1.SwatchesPicker, { color: this.props.color || undefined, onChangeComplete: this.handleColor })))), document.body);
|
|
78
78
|
}
|
|
@@ -90,18 +90,18 @@ class DateRangeComponent extends react_1.default.Component {
|
|
|
90
90
|
};
|
|
91
91
|
getPresets() {
|
|
92
92
|
const presets = [
|
|
93
|
-
{ label:
|
|
94
|
-
{ label:
|
|
95
|
-
{ label:
|
|
96
|
-
{ label:
|
|
97
|
-
{ label:
|
|
93
|
+
{ label: T `Today`, value: [(0, moment_1.default)(), (0, moment_1.default)()] },
|
|
94
|
+
{ label: T `Yesterday`, value: [(0, moment_1.default)().subtract(1, "days"), (0, moment_1.default)().subtract(1, "days")] },
|
|
95
|
+
{ label: T `Last 7 Days`, value: [(0, moment_1.default)().subtract(6, "days"), (0, moment_1.default)()] },
|
|
96
|
+
{ label: T `Last 30 Days`, value: [(0, moment_1.default)().subtract(29, "days"), (0, moment_1.default)()] },
|
|
97
|
+
{ label: T `This Month`, value: [(0, moment_1.default)().startOf("month"), (0, moment_1.default)().endOf("month")] },
|
|
98
98
|
{
|
|
99
|
-
label:
|
|
99
|
+
label: T `Last Month`,
|
|
100
100
|
value: [(0, moment_1.default)().subtract(1, "months").startOf("month"), (0, moment_1.default)().subtract(1, "months").endOf("month")]
|
|
101
101
|
},
|
|
102
|
-
{ label:
|
|
102
|
+
{ label: T `This Year`, value: [(0, moment_1.default)().startOf("year"), (0, moment_1.default)().endOf("year")] },
|
|
103
103
|
{
|
|
104
|
-
label:
|
|
104
|
+
label: T `Last Year`,
|
|
105
105
|
value: [(0, moment_1.default)().subtract(1, "years").startOf("year"), (0, moment_1.default)().subtract(1, "years").endOf("year")]
|
|
106
106
|
}
|
|
107
107
|
];
|
|
@@ -115,7 +115,7 @@ class DateRangeComponent extends react_1.default.Component {
|
|
|
115
115
|
};
|
|
116
116
|
renderSummary() {
|
|
117
117
|
if (!this.props.value) {
|
|
118
|
-
return R("span", { className: "text-muted" },
|
|
118
|
+
return R("span", { className: "text-muted" }, T `All Dates`);
|
|
119
119
|
}
|
|
120
120
|
const startDate = this.toMoment(this.props.value[0]);
|
|
121
121
|
const endDate = this.toMoment(this.props.value[1]);
|
|
@@ -135,7 +135,7 @@ class DateRangeComponent extends react_1.default.Component {
|
|
|
135
135
|
}
|
|
136
136
|
}, R("ul", { className: "nav nav-pills flex-column" }, lodash_1.default.map(this.getPresets(), (preset) => {
|
|
137
137
|
return R("li", { className: "nav-item" }, R("a", { className: "nav-link", style: { padding: 5 }, onClick: this.handlePreset.bind(null, preset) }, preset.label));
|
|
138
|
-
}), R("li", { className: "nav-item" }, R("a", { className: "nav-link", style: { padding: 5 }, onClick: () => this.setState({ custom: true }) },
|
|
138
|
+
}), R("li", { className: "nav-item" }, R("a", { className: "nav-link", style: { padding: 5 }, onClick: () => this.setState({ custom: true }) }, T `Custom Date Range...`))));
|
|
139
139
|
}
|
|
140
140
|
renderCustomDropdown() {
|
|
141
141
|
const startDate = this.toMoment(this.props.value?.[0]);
|
|
@@ -4,9 +4,9 @@ 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
|
|
7
|
+
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
8
8
|
/** Adds the locale to the context */
|
|
9
9
|
const LocaleContextInjector = ({ locale, children }) => {
|
|
10
|
-
return (react_1.default.createElement(
|
|
10
|
+
return (react_1.default.createElement(expressions_ui_1.LocaleContext.Provider, { value: locale }, children));
|
|
11
11
|
};
|
|
12
12
|
exports.default = LocaleContextInjector;
|
|
@@ -35,7 +35,7 @@ const ModalPopupComponent_1 = __importDefault(require("@mwater/react-library/lib
|
|
|
35
35
|
const querystring_1 = __importDefault(require("querystring"));
|
|
36
36
|
const expressions_1 = require("@mwater/expressions");
|
|
37
37
|
const ui = __importStar(require("./UIComponents"));
|
|
38
|
-
const
|
|
38
|
+
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
39
39
|
// Link that when clicked popup up a modal window allowing user to select a form
|
|
40
40
|
// with an Site question to the extraTables
|
|
41
41
|
class MWaterAddRelatedFormComponent extends react_1.default.Component {
|
|
@@ -65,8 +65,8 @@ class MWaterAddRelatedFormComponent extends react_1.default.Component {
|
|
|
65
65
|
};
|
|
66
66
|
render() {
|
|
67
67
|
return R("div", null, this.state.waitingForTable
|
|
68
|
-
? R("div", null, R("i", { className: "fa fa-spin fa-spinner" }),
|
|
69
|
-
: R("a", { className: "btn btn-link", onClick: this.handleOpen },
|
|
68
|
+
? R("div", null, R("i", { className: "fa fa-spin fa-spinner" }), ` ${T `Adding...`}`)
|
|
69
|
+
: R("a", { className: "btn btn-link", onClick: this.handleOpen }, T `+ Add Related Survey`), this.state.open
|
|
70
70
|
? R(AddRelatedFormModalComponent, {
|
|
71
71
|
table: this.props.table,
|
|
72
72
|
apiUrl: this.props.apiUrl,
|
|
@@ -81,7 +81,7 @@ class MWaterAddRelatedFormComponent extends react_1.default.Component {
|
|
|
81
81
|
exports.default = MWaterAddRelatedFormComponent;
|
|
82
82
|
/** Actual modal that displays the list of forms */
|
|
83
83
|
class AddRelatedFormModalComponent extends react_1.default.Component {
|
|
84
|
-
static contextType =
|
|
84
|
+
static contextType = expressions_ui_1.LocaleContext;
|
|
85
85
|
constructor(props) {
|
|
86
86
|
super(props);
|
|
87
87
|
this.state = {
|
|
@@ -107,7 +107,7 @@ class AddRelatedFormModalComponent extends react_1.default.Component {
|
|
|
107
107
|
// Get _id, name, and description
|
|
108
108
|
const items = lodash_1.default.map(forms, (form) => ({
|
|
109
109
|
name: expressions_1.ExprUtils.localizeString(form.design.name, this.context),
|
|
110
|
-
desc: `Modified ${(0, moment_1.default)(form.modified.on, moment_1.default.ISO_8601).format("ll")}`,
|
|
110
|
+
desc: `${T `Modified`} ${(0, moment_1.default)(form.modified.on, moment_1.default.ISO_8601).format("ll")}`,
|
|
111
111
|
onClick: this.props.onSelect.bind(null, "responses:" + form._id)
|
|
112
112
|
}));
|
|
113
113
|
this.setState({ items });
|
|
@@ -117,7 +117,7 @@ class AddRelatedFormModalComponent extends react_1.default.Component {
|
|
|
117
117
|
}
|
|
118
118
|
renderContents() {
|
|
119
119
|
if (!this.state.items) {
|
|
120
|
-
return R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spin fa-spinner" }),
|
|
120
|
+
return R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spin fa-spinner" }), ` ${T `Loading...`}`);
|
|
121
121
|
}
|
|
122
122
|
let { items } = this.state;
|
|
123
123
|
// Filter by search
|
|
@@ -128,7 +128,7 @@ class AddRelatedFormModalComponent extends react_1.default.Component {
|
|
|
128
128
|
return R("div", null, R("input", {
|
|
129
129
|
type: "text",
|
|
130
130
|
className: "form-control",
|
|
131
|
-
placeholder:
|
|
131
|
+
placeholder: T `Search...`,
|
|
132
132
|
key: "search",
|
|
133
133
|
style: { marginBottom: 10 },
|
|
134
134
|
value: this.state.search,
|
|
@@ -139,7 +139,7 @@ class AddRelatedFormModalComponent extends react_1.default.Component {
|
|
|
139
139
|
return R(ModalPopupComponent_1.default, {
|
|
140
140
|
showCloseX: true,
|
|
141
141
|
onClose: this.props.onCancel,
|
|
142
|
-
header:
|
|
142
|
+
header: T `Add Related Survey`
|
|
143
143
|
}, this.renderContents());
|
|
144
144
|
}
|
|
145
145
|
}
|
|
@@ -9,14 +9,14 @@ const react_1 = __importDefault(require("react"));
|
|
|
9
9
|
const R = react_1.default.createElement;
|
|
10
10
|
const querystring_1 = __importDefault(require("querystring"));
|
|
11
11
|
const expressions_1 = require("@mwater/expressions");
|
|
12
|
-
const
|
|
12
|
+
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
13
13
|
// List of indicators related to an entity
|
|
14
14
|
class MWaterAddRelatedIndicatorComponent extends react_1.default.Component {
|
|
15
|
-
static contextType =
|
|
15
|
+
static contextType = expressions_ui_1.LocaleContext;
|
|
16
16
|
constructor(props) {
|
|
17
17
|
super(props);
|
|
18
18
|
this.state = {
|
|
19
|
-
addingTables: [],
|
|
19
|
+
addingTables: [], // Set to table ids that have been added
|
|
20
20
|
indicators: null
|
|
21
21
|
};
|
|
22
22
|
}
|
|
@@ -74,14 +74,14 @@ class MWaterAddRelatedIndicatorComponent extends react_1.default.Component {
|
|
|
74
74
|
if (this.props.filter) {
|
|
75
75
|
indicators = lodash_1.default.filter(indicators, (indicator) => filterMatches(this.props.filter, expressions_1.ExprUtils.localizeString(indicator.design.name, this.context)));
|
|
76
76
|
}
|
|
77
|
-
return R("div", null, R("div", { style: { paddingLeft: 5 }, className: "text-muted" },
|
|
78
|
-
? R("div", { className: "text-muted" }, R("i", { className: "fa fa-spin fa-spinner" }),
|
|
77
|
+
return R("div", null, R("div", { style: { paddingLeft: 5 }, className: "text-muted" }, T `Other Available Indicators. Click to enable. `, R("i", { className: "fa fa-check-circle" }), T ` = recommended`, !this.state.indicators
|
|
78
|
+
? R("div", { className: "text-muted" }, R("i", { className: "fa fa-spin fa-spinner" }), T ` Loading...`)
|
|
79
79
|
: undefined, R("div", { style: { paddingLeft: 10 } }, lodash_1.default.map(indicators, (indicator) => {
|
|
80
80
|
const name = expressions_1.ExprUtils.localizeString(indicator.design.name, this.context);
|
|
81
81
|
const desc = expressions_1.ExprUtils.localizeString(indicator.design.desc, this.context);
|
|
82
82
|
// If added, put special message
|
|
83
83
|
if (this.props.schema.getTable(`indicator_values:${indicator._id}`)) {
|
|
84
|
-
return R("div", { key: indicator._id, style: { cursor: "pointer", padding: 4 }, className: "text-success" }, `${name} added. See above.`);
|
|
84
|
+
return R("div", { key: indicator._id, style: { cursor: "pointer", padding: 4 }, className: "text-success" }, `${name} ${T `added. See above.`}`);
|
|
85
85
|
}
|
|
86
86
|
return R("div", {
|
|
87
87
|
key: indicator._id,
|
|
@@ -4,14 +4,14 @@ import React from "react";
|
|
|
4
4
|
export declare const MWaterAssetSystemsListComponent: (props: {
|
|
5
5
|
apiUrl: string;
|
|
6
6
|
schema: Schema;
|
|
7
|
-
client?: string
|
|
7
|
+
client?: string;
|
|
8
8
|
/** User id */
|
|
9
|
-
user?: string
|
|
9
|
+
user?: string;
|
|
10
10
|
/** Called with table selected */
|
|
11
11
|
onChange: (tableId: string | null) => void;
|
|
12
12
|
extraTables: string[];
|
|
13
13
|
onExtraTableAdd: (tableId: string) => void;
|
|
14
14
|
onExtraTableRemove: (tableId: string) => void;
|
|
15
15
|
/** e.g. "en" */
|
|
16
|
-
locale?: string
|
|
16
|
+
locale?: string;
|
|
17
17
|
}) => React.JSX.Element;
|
|
@@ -47,7 +47,7 @@ const MWaterAssetSystemsListComponent = (props) => {
|
|
|
47
47
|
// Remove from extra tables
|
|
48
48
|
const match = props.extraTables.find((t) => t == `assets:${system.sid}`);
|
|
49
49
|
if (match) {
|
|
50
|
-
if (confirm(
|
|
50
|
+
if (confirm(T `Remove this table? Some widgets may not work correctly.`)) {
|
|
51
51
|
props.onChange(null);
|
|
52
52
|
props.onExtraTableRemove(match);
|
|
53
53
|
}
|
|
@@ -56,7 +56,8 @@ const MWaterAssetSystemsListComponent = (props) => {
|
|
|
56
56
|
if (!systems || extraTableNeeded) {
|
|
57
57
|
return (react_2.default.createElement("div", null,
|
|
58
58
|
react_2.default.createElement("i", { className: "fa fa-spin fa-spinner" }),
|
|
59
|
-
"
|
|
59
|
+
" ",
|
|
60
|
+
T `Loading...`));
|
|
60
61
|
}
|
|
61
62
|
const renderAssetSystems = () => {
|
|
62
63
|
const items = systems
|
|
@@ -72,7 +73,7 @@ const MWaterAssetSystemsListComponent = (props) => {
|
|
|
72
73
|
return react_2.default.createElement(UIComponents_1.OptionListComponent, { items: items });
|
|
73
74
|
};
|
|
74
75
|
return (react_2.default.createElement("div", null,
|
|
75
|
-
react_2.default.createElement(bootstrap_1.TextInput, { value: search, onChange: setSearch, placeholder:
|
|
76
|
+
react_2.default.createElement(bootstrap_1.TextInput, { value: search, onChange: setSearch, placeholder: T `Search...` }),
|
|
76
77
|
renderAssetSystems()));
|
|
77
78
|
};
|
|
78
79
|
exports.MWaterAssetSystemsListComponent = MWaterAssetSystemsListComponent;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="jquery" />
|
|
2
1
|
import React from "react";
|
|
3
2
|
import * as uiComponents from "./UIComponents";
|
|
4
3
|
import { Schema } from "@mwater/expressions";
|
|
@@ -27,11 +26,11 @@ export default class MWaterCompleteTableSelectComponent extends React.Component<
|
|
|
27
26
|
renderSites(): React.CElement<{
|
|
28
27
|
items: {
|
|
29
28
|
name: string;
|
|
30
|
-
desc?: string
|
|
29
|
+
desc?: string;
|
|
31
30
|
onClick: () => void;
|
|
32
|
-
onRemove?: (
|
|
31
|
+
onRemove?: () => void;
|
|
33
32
|
}[];
|
|
34
|
-
hint?: string
|
|
33
|
+
hint?: string;
|
|
35
34
|
}, uiComponents.OptionListComponent>;
|
|
36
35
|
renderForms(): React.CElement<any, FormsListComponent>;
|
|
37
36
|
renderIndicators(): React.CElement<any, IndicatorsListComponent>;
|
|
@@ -39,54 +38,54 @@ export default class MWaterCompleteTableSelectComponent extends React.Component<
|
|
|
39
38
|
renderSweetSense(): React.CElement<{
|
|
40
39
|
items: {
|
|
41
40
|
name: string;
|
|
42
|
-
desc?: string
|
|
41
|
+
desc?: string;
|
|
43
42
|
onClick: () => void;
|
|
44
|
-
onRemove?: (
|
|
43
|
+
onRemove?: () => void;
|
|
45
44
|
}[];
|
|
46
|
-
hint?: string
|
|
45
|
+
hint?: string;
|
|
47
46
|
}, uiComponents.OptionListComponent>;
|
|
48
47
|
renderTablesets(): React.FunctionComponentElement<{
|
|
49
|
-
apiUrl: string;
|
|
50
48
|
schema: Schema;
|
|
51
|
-
client
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
client: string | undefined;
|
|
50
|
+
apiUrl: string;
|
|
51
|
+
user: string | undefined;
|
|
52
|
+
onChange: any;
|
|
53
|
+
extraTables: any;
|
|
54
|
+
onExtraTableAdd: (tableId: any) => any;
|
|
55
|
+
onExtraTableRemove: (tableId: any) => any;
|
|
56
|
+
locale: any;
|
|
58
57
|
}>;
|
|
59
58
|
renderMetrics(): React.FunctionComponentElement<{
|
|
60
|
-
apiUrl: string;
|
|
61
59
|
schema: Schema;
|
|
62
|
-
client
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
60
|
+
client: string | undefined;
|
|
61
|
+
apiUrl: string;
|
|
62
|
+
user: string | undefined;
|
|
63
|
+
onChange: any;
|
|
64
|
+
extraTables: any;
|
|
65
|
+
onExtraTableAdd: (tableId: any) => any;
|
|
66
|
+
onExtraTableRemove: (tableId: any) => any;
|
|
67
|
+
locale: any;
|
|
69
68
|
}>;
|
|
70
69
|
renderAssets(): React.JSX.Element;
|
|
71
70
|
renderLegacyAssets(): React.FunctionComponentElement<{
|
|
72
|
-
apiUrl: string;
|
|
73
71
|
schema: Schema;
|
|
74
|
-
client
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
client: string | undefined;
|
|
73
|
+
apiUrl: string;
|
|
74
|
+
user: string | undefined;
|
|
75
|
+
onChange: any;
|
|
76
|
+
extraTables: any;
|
|
77
|
+
onExtraTableAdd: (tableId: any) => any;
|
|
78
|
+
onExtraTableRemove: (tableId: any) => any;
|
|
79
|
+
locale: any;
|
|
81
80
|
}>;
|
|
82
81
|
renderOther(): React.CElement<{
|
|
83
82
|
items: {
|
|
84
83
|
name: string;
|
|
85
|
-
desc?: string
|
|
84
|
+
desc?: string;
|
|
86
85
|
onClick: () => void;
|
|
87
|
-
onRemove?: (
|
|
86
|
+
onRemove?: () => void;
|
|
88
87
|
}[];
|
|
89
|
-
hint?: string
|
|
88
|
+
hint?: string;
|
|
90
89
|
}, uiComponents.OptionListComponent>;
|
|
91
90
|
getSweetSenseTables(): import("@mwater/expressions").Table[];
|
|
92
91
|
render(): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
@@ -39,7 +39,7 @@ const ModalPopupComponent_1 = __importDefault(require("@mwater/react-library/lib
|
|
|
39
39
|
const MWaterCustomTablesetListComponent_1 = require("./MWaterCustomTablesetListComponent");
|
|
40
40
|
const MWaterMetricsTableListComponent_1 = require("./MWaterMetricsTableListComponent");
|
|
41
41
|
const MWaterAssetSystemsListComponent_1 = require("./MWaterAssetSystemsListComponent");
|
|
42
|
-
const
|
|
42
|
+
const expressions_ui_1 = require("@mwater/expressions-ui");
|
|
43
43
|
const sitesOrder = {
|
|
44
44
|
"entities.water_point": 1,
|
|
45
45
|
"entities.sanitation_facility": 2,
|
|
@@ -59,7 +59,7 @@ const assetEntities = [
|
|
|
59
59
|
];
|
|
60
60
|
// Allows selection of a table. Is the complete list mode of tables
|
|
61
61
|
class MWaterCompleteTableSelectComponent extends react_1.default.Component {
|
|
62
|
-
static contextType =
|
|
62
|
+
static contextType = expressions_ui_1.LocaleContext;
|
|
63
63
|
constructor(props) {
|
|
64
64
|
super(props);
|
|
65
65
|
this.state = {
|
|
@@ -197,8 +197,9 @@ class MWaterCompleteTableSelectComponent extends react_1.default.Component {
|
|
|
197
197
|
react_1.default.createElement(uiComponents.OptionListComponent, { items: items }),
|
|
198
198
|
react_1.default.createElement("div", { className: "text-center mt-2 mb-2" },
|
|
199
199
|
react_1.default.createElement("button", { className: "btn btn-link", onClick: () => this.setState({ showLegacyAssets: !this.state.showLegacyAssets }) },
|
|
200
|
-
this.state.showLegacyAssets ?
|
|
201
|
-
"
|
|
200
|
+
this.state.showLegacyAssets ? T `Hide` : T `Show`,
|
|
201
|
+
" ",
|
|
202
|
+
T `Legacy Assets`)),
|
|
202
203
|
this.state.showLegacyAssets && this.renderLegacyAssets());
|
|
203
204
|
}
|
|
204
205
|
renderLegacyAssets() {
|
|
@@ -279,27 +280,27 @@ class MWaterCompleteTableSelectComponent extends react_1.default.Component {
|
|
|
279
280
|
render() {
|
|
280
281
|
const sweetSenseTables = this.getSweetSenseTables();
|
|
281
282
|
const tabs = [
|
|
282
|
-
{ id: "sites", label: [R("i", { className: "fa fa-map-marker" }),
|
|
283
|
-
{ id: "forms", label: [R("i", { className: "fa fa-th-list" }),
|
|
283
|
+
{ id: "sites", label: [R("i", { className: "fa fa-map-marker" }), T ` Sites`], elem: this.renderSites() },
|
|
284
|
+
{ id: "forms", label: [R("i", { className: "fa fa-th-list" }), T ` Surveys`], elem: this.renderForms() },
|
|
284
285
|
{
|
|
285
286
|
id: "indicators",
|
|
286
|
-
label: [R("i", { className: "fa fa-check-circle" }),
|
|
287
|
+
label: [R("i", { className: "fa fa-check-circle" }), T ` Indicators`],
|
|
287
288
|
elem: this.renderIndicators()
|
|
288
289
|
},
|
|
289
290
|
{
|
|
290
291
|
id: "issues",
|
|
291
|
-
label: [R("i", { className: "fa fa-exclamation-circle" }),
|
|
292
|
+
label: [R("i", { className: "fa fa-exclamation-circle" }), T ` Issues`],
|
|
292
293
|
elem: this.renderIssues()
|
|
293
294
|
},
|
|
294
|
-
{ id: "tablesets", label: [R("i", { className: "fa fa-table" }),
|
|
295
|
-
{ id: "metrics", label: [R("i", { className: "fa fa-line-chart" }),
|
|
296
|
-
{ id: "assets", label: [R("i", { className: "fas fa-map-pin" }),
|
|
295
|
+
{ id: "tablesets", label: [R("i", { className: "fa fa-table" }), T ` Tables`], elem: this.renderTablesets() },
|
|
296
|
+
{ id: "metrics", label: [R("i", { className: "fa fa-line-chart" }), T ` Metrics`], elem: this.renderMetrics() },
|
|
297
|
+
{ id: "assets", label: [R("i", { className: "fas fa-map-pin" }), T ` Assets`], elem: this.renderAssets() }
|
|
297
298
|
];
|
|
298
299
|
if (sweetSenseTables.length > 0) {
|
|
299
|
-
tabs.push({ id: "sensors", label:
|
|
300
|
+
tabs.push({ id: "sensors", label: T ` Sensors`, elem: this.renderSweetSense() });
|
|
300
301
|
}
|
|
301
|
-
tabs.push({ id: "other", label:
|
|
302
|
-
return R("div", null, R("div", { className: "text-muted" },
|
|
302
|
+
tabs.push({ id: "other", label: T `Advanced`, elem: this.renderOther() });
|
|
303
|
+
return R("div", null, R("div", { className: "text-muted" }, T `Select data from sites, surveys or an advanced category below. Indicators can be found within their associated site types.`), R(TabbedComponent_1.default, {
|
|
303
304
|
tabs,
|
|
304
305
|
initialTabId: "sites"
|
|
305
306
|
}));
|
|
@@ -308,7 +309,7 @@ class MWaterCompleteTableSelectComponent extends react_1.default.Component {
|
|
|
308
309
|
exports.default = MWaterCompleteTableSelectComponent;
|
|
309
310
|
// Searchable list of forms
|
|
310
311
|
class FormsListComponent extends react_1.default.Component {
|
|
311
|
-
static contextType =
|
|
312
|
+
static contextType = expressions_ui_1.LocaleContext;
|
|
312
313
|
constructor(props) {
|
|
313
314
|
super(props);
|
|
314
315
|
this.state = {
|
|
@@ -345,7 +346,7 @@ class FormsListComponent extends react_1.default.Component {
|
|
|
345
346
|
if (desc) {
|
|
346
347
|
desc += " - ";
|
|
347
348
|
}
|
|
348
|
-
desc += `Modified ${(0, moment_1.default)(form.modified?.on, moment_1.default.ISO_8601).format("ll")}`;
|
|
349
|
+
desc += T `Modified ${(0, moment_1.default)(form.modified?.on, moment_1.default.ISO_8601).format("ll")}`;
|
|
349
350
|
return {
|
|
350
351
|
id: form._id,
|
|
351
352
|
name: expressions_1.ExprUtils.localizeString(form.design.name, null),
|
|
@@ -358,7 +359,7 @@ class FormsListComponent extends react_1.default.Component {
|
|
|
358
359
|
});
|
|
359
360
|
}
|
|
360
361
|
handleTableRemove = (table) => {
|
|
361
|
-
if (confirm(`Remove ${expressions_1.ExprUtils.localizeString(table.name, this.context)}? Any widgets that depend on it will no longer work properly.`)) {
|
|
362
|
+
if (confirm(T `Remove ${expressions_1.ExprUtils.localizeString(table.name, this.context)}? Any widgets that depend on it will no longer work properly.`)) {
|
|
362
363
|
return this.props.onExtraTableRemove(table.id);
|
|
363
364
|
}
|
|
364
365
|
};
|
|
@@ -387,7 +388,7 @@ class FormsListComponent extends react_1.default.Component {
|
|
|
387
388
|
forms = lodash_1.default.filter(forms || [], (f) => !(this.props.extraTables || []).includes(`responses:${f.id}`));
|
|
388
389
|
let tables = lodash_1.default.filter(this.props.schema.getTables(), (table) => (table.id.match(/^responses:/) || table.id.match(/^master_responses:/)) && !table.deprecated);
|
|
389
390
|
tables = lodash_1.default.sortBy(tables, (t) => t.name.en);
|
|
390
|
-
return R("div", null, R("label", null,
|
|
391
|
+
return R("div", null, R("label", null, T `Included Surveys:`), tables.length > 0
|
|
391
392
|
? R(uiComponents.OptionListComponent, {
|
|
392
393
|
items: lodash_1.default.map(tables, (table) => {
|
|
393
394
|
return {
|
|
@@ -398,13 +399,13 @@ class FormsListComponent extends react_1.default.Component {
|
|
|
398
399
|
};
|
|
399
400
|
})
|
|
400
401
|
})
|
|
401
|
-
: R("div", null,
|
|
402
|
-
? R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spinner fa-spin" }), "\
|
|
402
|
+
: R("div", null, T `None`), R("br"), R("label", null, T `All Surveys:`), !this.state.forms || this.state.forms.length === 0
|
|
403
|
+
? R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spinner fa-spin" }), "\u00A0" + T `Loading...`)
|
|
403
404
|
: [
|
|
404
405
|
R("input", {
|
|
405
406
|
type: "text",
|
|
406
407
|
className: "form-control form-control-sm",
|
|
407
|
-
placeholder:
|
|
408
|
+
placeholder: T `Search...`,
|
|
408
409
|
key: "search",
|
|
409
410
|
ref: this.searchRef,
|
|
410
411
|
style: { maxWidth: "20em", marginBottom: 10 },
|
|
@@ -423,7 +424,7 @@ class FormsListComponent extends react_1.default.Component {
|
|
|
423
424
|
}
|
|
424
425
|
// Searchable list of indicators
|
|
425
426
|
class IndicatorsListComponent extends react_1.default.Component {
|
|
426
|
-
static contextType =
|
|
427
|
+
static contextType = expressions_ui_1.LocaleContext;
|
|
427
428
|
addIndicatorConfirmPopup;
|
|
428
429
|
constructor(props) {
|
|
429
430
|
super(props);
|
|
@@ -459,7 +460,7 @@ class IndicatorsListComponent extends react_1.default.Component {
|
|
|
459
460
|
});
|
|
460
461
|
}
|
|
461
462
|
handleTableRemove = (table) => {
|
|
462
|
-
if (confirm(`Remove ${expressions_1.ExprUtils.localizeString(table.name, this.context)}? Any widgets that depend on it will no longer work properly.`)) {
|
|
463
|
+
if (confirm(T `Remove ${expressions_1.ExprUtils.localizeString(table.name, this.context)}? Any widgets that depend on it will no longer work properly.`)) {
|
|
463
464
|
return this.props.onExtraTableRemove(table.id);
|
|
464
465
|
}
|
|
465
466
|
};
|
|
@@ -502,7 +503,7 @@ class IndicatorsListComponent extends react_1.default.Component {
|
|
|
502
503
|
ref: (c) => {
|
|
503
504
|
this.addIndicatorConfirmPopup = c;
|
|
504
505
|
}
|
|
505
|
-
}), R("label", null,
|
|
506
|
+
}), R("label", null, T `Included Indicators:`), tables.length > 0
|
|
506
507
|
? R(uiComponents.OptionListComponent, {
|
|
507
508
|
items: lodash_1.default.map(tables, (table) => {
|
|
508
509
|
return {
|
|
@@ -513,13 +514,13 @@ class IndicatorsListComponent extends react_1.default.Component {
|
|
|
513
514
|
};
|
|
514
515
|
})
|
|
515
516
|
})
|
|
516
|
-
: R("div", null,
|
|
517
|
-
? R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spinner fa-spin" }), "\
|
|
517
|
+
: R("div", null, T `None`), R("br"), R("label", null, T `All Indicators:`), !this.state.indicators || this.state.indicators.length === 0
|
|
518
|
+
? R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spinner fa-spin" }), "\u00A0" + T `Loading...`)
|
|
518
519
|
: [
|
|
519
520
|
R("input", {
|
|
520
521
|
type: "text",
|
|
521
522
|
className: "form-control form-control-sm",
|
|
522
|
-
placeholder:
|
|
523
|
+
placeholder: T `Search...`,
|
|
523
524
|
key: "search",
|
|
524
525
|
ref: this.searchRef,
|
|
525
526
|
style: { maxWidth: "20em", marginBottom: 10 },
|
|
@@ -537,7 +538,7 @@ class IndicatorsListComponent extends react_1.default.Component {
|
|
|
537
538
|
}
|
|
538
539
|
}
|
|
539
540
|
class AddIndicatorConfirmPopupComponent extends react_1.default.Component {
|
|
540
|
-
static contextType =
|
|
541
|
+
static contextType = expressions_ui_1.LocaleContext;
|
|
541
542
|
constructor(props) {
|
|
542
543
|
super(props);
|
|
543
544
|
this.state = {
|
|
@@ -551,11 +552,11 @@ class AddIndicatorConfirmPopupComponent extends react_1.default.Component {
|
|
|
551
552
|
renderContents() {
|
|
552
553
|
// Show loading if table not loaded
|
|
553
554
|
if (!this.props.schema.getTable(this.state.indicatorTable)) {
|
|
554
|
-
return R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spinner fa-spin" }), "\
|
|
555
|
+
return R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spinner fa-spin" }), "\u00A0" + T `Loading...`);
|
|
555
556
|
}
|
|
556
557
|
// Find entity links
|
|
557
558
|
const entityColumns = lodash_1.default.filter(this.props.schema.getColumns(this.state.indicatorTable), (col) => col.join?.toTable?.match(/^entities\./));
|
|
558
|
-
return R("div", null, R("p", null, `In general, it is better to get indicator values from the related site. Please select the site
|
|
559
|
+
return R("div", null, R("p", null, T `In general, it is better to get indicator values from the related site. Please select the site
|
|
559
560
|
below, then find the indicator values in the 'Related Indicators' section. Or click on 'Use Raw Indicator' if you
|
|
560
561
|
are certain that you want to use the raw indicator table`), R(uiComponents.OptionListComponent, {
|
|
561
562
|
items: lodash_1.default.map(entityColumns, (entityColumn) => ({
|
|
@@ -567,7 +568,7 @@ are certain that you want to use the raw indicator table`), R(uiComponents.Optio
|
|
|
567
568
|
return this.setState({ visible: false });
|
|
568
569
|
}
|
|
569
570
|
}))
|
|
570
|
-
}), R("br"), R("div", null, R("a", { className: "link-plain", onClick: this.props.onChange.bind(null, this.state.indicatorTable) },
|
|
571
|
+
}), R("br"), R("div", null, R("a", { className: "link-plain", onClick: this.props.onChange.bind(null, this.state.indicatorTable) }, T `Use Raw Indicator`)));
|
|
571
572
|
}
|
|
572
573
|
render() {
|
|
573
574
|
if (!this.state.visible) {
|
|
@@ -576,13 +577,13 @@ are certain that you want to use the raw indicator table`), R(uiComponents.Optio
|
|
|
576
577
|
return R(ModalPopupComponent_1.default, {
|
|
577
578
|
showCloseX: true,
|
|
578
579
|
onClose: () => this.setState({ visible: false }),
|
|
579
|
-
header:
|
|
580
|
+
header: T `Add Indicator`
|
|
580
581
|
}, this.renderContents());
|
|
581
582
|
}
|
|
582
583
|
}
|
|
583
584
|
// Searchable list of issue types
|
|
584
585
|
class IssuesListComponent extends react_1.default.Component {
|
|
585
|
-
static contextType =
|
|
586
|
+
static contextType = expressions_ui_1.LocaleContext;
|
|
586
587
|
constructor(props) {
|
|
587
588
|
super(props);
|
|
588
589
|
this.state = {
|
|
@@ -615,7 +616,7 @@ class IssuesListComponent extends react_1.default.Component {
|
|
|
615
616
|
});
|
|
616
617
|
}
|
|
617
618
|
handleTableRemove = (table) => {
|
|
618
|
-
if (confirm(`Remove ${expressions_1.ExprUtils.localizeString(table.name, this.context)}? Any widgets that depend on it will no longer work properly.`)) {
|
|
619
|
+
if (confirm(T `Remove ${expressions_1.ExprUtils.localizeString(table.name, this.context)}? Any widgets that depend on it will no longer work properly.`)) {
|
|
619
620
|
return this.props.onExtraTableRemove(table.id);
|
|
620
621
|
}
|
|
621
622
|
};
|
|
@@ -644,7 +645,7 @@ class IssuesListComponent extends react_1.default.Component {
|
|
|
644
645
|
issueTypes = lodash_1.default.filter(issueTypes || [], (f) => !(this.props.extraTables || []).includes(`issues:${f.id}`));
|
|
645
646
|
let tables = lodash_1.default.filter(this.props.schema.getTables(), (table) => (table.id.match(/^issues:/) || table.id.match(/^issue_events:/)) && !table.deprecated);
|
|
646
647
|
tables = lodash_1.default.sortBy(tables, (t) => t.name.en);
|
|
647
|
-
return R("div", null, R("label", null,
|
|
648
|
+
return R("div", null, R("label", null, T `Included Issues:`), tables.length > 0
|
|
648
649
|
? R(uiComponents.OptionListComponent, {
|
|
649
650
|
items: lodash_1.default.map(tables, (table) => {
|
|
650
651
|
return {
|
|
@@ -655,13 +656,13 @@ class IssuesListComponent extends react_1.default.Component {
|
|
|
655
656
|
};
|
|
656
657
|
})
|
|
657
658
|
})
|
|
658
|
-
: R("div", null,
|
|
659
|
-
? R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spinner fa-spin" }), "\
|
|
659
|
+
: R("div", null, T `None`), R("br"), R("label", null, T `All Issues:`), !this.state.issueTypes || this.state.issueTypes.length === 0
|
|
660
|
+
? R("div", { className: "alert alert-info" }, R("i", { className: "fa fa-spinner fa-spin" }), "\u00A0", T `Loading...`)
|
|
660
661
|
: [
|
|
661
662
|
R("input", {
|
|
662
663
|
type: "text",
|
|
663
664
|
className: "form-control form-control-sm",
|
|
664
|
-
placeholder:
|
|
665
|
+
placeholder: T `Search...`,
|
|
665
666
|
key: "search",
|
|
666
667
|
ref: this.searchRef,
|
|
667
668
|
style: { maxWidth: "20em", marginBottom: 10 },
|
|
@@ -4,14 +4,14 @@ import React from "react";
|
|
|
4
4
|
export declare const MWaterCustomTablesetListComponent: (props: {
|
|
5
5
|
apiUrl: string;
|
|
6
6
|
schema: Schema;
|
|
7
|
-
client?: string
|
|
7
|
+
client?: string;
|
|
8
8
|
/** User id */
|
|
9
|
-
user?: string
|
|
9
|
+
user?: string;
|
|
10
10
|
/** Called with table selected */
|
|
11
11
|
onChange: (tableId: string | null) => void;
|
|
12
12
|
extraTables: string[];
|
|
13
13
|
onExtraTableAdd: (tableId: string) => void;
|
|
14
14
|
onExtraTableRemove: (tableId: string) => void;
|
|
15
15
|
/** e.g. "en" */
|
|
16
|
-
locale?: string
|
|
16
|
+
locale?: string;
|
|
17
17
|
}) => React.JSX.Element;
|