From 49cc9266ab573ae77dc6a3dd82acf097f4a1f05c Mon Sep 17 00:00:00 2001 From: jorgenherje Date: Mon, 4 Dec 2023 11:34:08 +0100 Subject: [PATCH 1/5] Replacing ApiStateWrapper and ApiStatesWrapper with QueryStateWrapper Replace state wrappers with a single renamed wrapper which handles both single query and list of queries as prop. For list of queries, it is possible to configure when to display error state: all queries has error, or at least one query has error. --- .../selectEnsemblesDialog.tsx | 14 +-- .../ApiStateWrapper/apiStateWrapper.tsx | 41 ------- .../lib/components/ApiStateWrapper/index.ts | 1 - .../ApiStatesWrapper/apiStatesWrapper.tsx | 41 ------- .../lib/components/ApiStatesWrapper/index.ts | 1 - .../lib/components/QueryStateWrapper/index.ts | 1 + .../QueryStateWrapper/queryStateWrapper.tsx | 73 ++++++++++++ frontend/src/modules/Grid3D/settings.tsx | 10 +- .../modules/Grid3DIntersection/settings.tsx | 54 ++++----- .../modules/InplaceVolumetrics/settings.tsx | 6 +- .../src/modules/InplaceVolumetrics/view.tsx | 6 +- frontend/src/modules/Map/MapSettings.tsx | 6 +- frontend/src/modules/Pvt/settings.tsx | 105 ++++++++---------- .../modules/SeismicIntersection/settings.tsx | 10 +- .../modules/SimulationTimeSeries/settings.tsx | 6 +- .../SimulationTimeSeriesMatrix/settings.tsx | 9 +- .../settings.tsx | 6 +- .../src/modules/SubsurfaceMap/settings.tsx | 18 +-- .../settings.tsx | 19 ++-- 19 files changed, 206 insertions(+), 221 deletions(-) delete mode 100644 frontend/src/lib/components/ApiStateWrapper/apiStateWrapper.tsx delete mode 100644 frontend/src/lib/components/ApiStateWrapper/index.ts delete mode 100644 frontend/src/lib/components/ApiStatesWrapper/apiStatesWrapper.tsx delete mode 100644 frontend/src/lib/components/ApiStatesWrapper/index.ts create mode 100644 frontend/src/lib/components/QueryStateWrapper/index.ts create mode 100644 frontend/src/lib/components/QueryStateWrapper/queryStateWrapper.tsx diff --git a/frontend/src/framework/internal/components/SelectEnsemblesDialog/selectEnsemblesDialog.tsx b/frontend/src/framework/internal/components/SelectEnsemblesDialog/selectEnsemblesDialog.tsx index 9de302d20..b002b414c 100644 --- a/frontend/src/framework/internal/components/SelectEnsemblesDialog/selectEnsemblesDialog.tsx +++ b/frontend/src/framework/internal/components/SelectEnsemblesDialog/selectEnsemblesDialog.tsx @@ -3,7 +3,6 @@ import React from "react"; import { CaseInfo_api, EnsembleInfo_api } from "@api"; import { apiService } from "@framework/ApiService"; import { useAuthProvider } from "@framework/internal/providers/AuthProvider"; -import { ApiStateWrapper } from "@lib/components/ApiStateWrapper"; import { Button } from "@lib/components/Button"; import { CircularProgress } from "@lib/components/CircularProgress"; import { Dialog } from "@lib/components/Dialog"; @@ -11,6 +10,7 @@ import { Dropdown } from "@lib/components/Dropdown"; import { IconButton } from "@lib/components/IconButton"; import { Label } from "@lib/components/Label"; import { Overlay } from "@lib/components/Overlay"; +import { QueryStateWrapper } from "@lib/components/QueryStateWrapper"; import { Select } from "@lib/components/Select"; import { Switch } from "@lib/components/Switch"; import { TableSelect, TableSelectOption } from "@lib/components/TableSelect"; @@ -261,7 +261,7 @@ export const SelectEnsemblesDialog: React.FC = (prop
} loadingComponent={} @@ -272,10 +272,10 @@ export const SelectEnsemblesDialog: React.FC = (prop onChange={handleFieldChanged} disabled={fieldOpts.length === 0} /> - +
} loadingComponent={} @@ -308,10 +308,10 @@ export const SelectEnsemblesDialog: React.FC = (prop filter columnSizesInPercent={[60, 20, 20]} /> - +
); diff --git a/frontend/src/modules/Grid3DIntersection/settings.tsx b/frontend/src/modules/Grid3DIntersection/settings.tsx index c7541d3b5..44224dda4 100644 --- a/frontend/src/modules/Grid3DIntersection/settings.tsx +++ b/frontend/src/modules/Grid3DIntersection/settings.tsx @@ -2,14 +2,15 @@ import React, { useEffect } from "react"; import { ModuleFCProps } from "@framework/Module"; import { useFirstEnsembleInEnsembleSet } from "@framework/WorkbenchSession"; -import { ApiStateWrapper } from "@lib/components/ApiStateWrapper"; -import { useGridModelNames, useGridParameterNames } from "./queryHooks"; -import { CircularProgress } from "@lib/components/CircularProgress"; import { Checkbox } from "@lib/components/Checkbox"; +import { CircularProgress } from "@lib/components/CircularProgress"; import { Label } from "@lib/components/Label"; +import { QueryStateWrapper } from "@lib/components/QueryStateWrapper"; import { Select, SelectOption } from "@lib/components/Select"; +import { useGridModelNames, useGridParameterNames } from "./queryHooks"; import state from "./state"; + //----------------------------------------------------------------------------------------------------------- export function settings({ moduleContext, workbenchSession }: ModuleFCProps) { // From Workbench @@ -26,36 +27,37 @@ export function settings({ moduleContext, workbenchSession }: ModuleFCProps { if (parameterNamesQuery.data) { - if (gridName && parameterNamesQuery.data.find(name => name === parameterName)) { + if (gridName && parameterNamesQuery.data.find((name) => name === parameterName)) { // New grid has same parameter } else { // New grid has different parameter. Set to first - setParameterName(parameterNamesQuery.data[0]) + setParameterName(parameterNamesQuery.data[0]); } } - }, [parameterNamesQuery.data, parameterName]) + }, [parameterNamesQuery.data, parameterName]); // If no grid names, stop here - if (!gridNamesQuery.data) { return (
Select case: upscaled_grids_realistic_no_unc
) } - - const parameterNames = parameterNamesQuery.data ? parameterNamesQuery.data : [] - const allRealizations: string[] = firstEnsemble ? firstEnsemble.getRealizations().map(real => JSON.stringify(real)) : [] + if (!gridNamesQuery.data) { + return
Select case: upscaled_grids_realistic_no_unc
; + } + const parameterNames = parameterNamesQuery.data ? parameterNamesQuery.data : []; + const allRealizations: string[] = firstEnsemble + ? firstEnsemble.getRealizations().map((real) => JSON.stringify(real)) + : []; return (
- } > -