Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Fetch, save and update variogram cases for Net-To-Gross and Con… #200

Merged
merged 1 commit into from
Jan 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/components/AddCaseButtons/AddCaseButtons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ export const AddCaseButtons = ({
Add case
</Button>
)}
{title === 'Net-to-Gross' && addCase && (
<Button variant="ghost" onClick={() => addCase('Net-to-Gross')}>
{title === 'Net-To-Gross' && addCase && (
<Button variant="ghost" onClick={() => addCase('Net-To-Gross')}>
<Icon data={ADD} size={18}></Icon>
Add case
</Button>
Expand Down
10 changes: 5 additions & 5 deletions src/features/Compute/CaseGroup/CaseGroup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export const CaseGroup = ({
const getMethodId = (method: string) => {
if (method === 'Indicator') {
return 'c96fd047-19cc-4e10-9c1e-626a62c22539';
} else if (method === 'Net-to-Gross') {
} else if (method === 'Net-To-Gross') {
return '2abfea7a-7160-4b0a-85a9-674be70b5f17';
} else if (method === 'ContiniousParameter') {
return '88663a7e-0a45-46ce-8ba3-ef4a314e1878';
Expand Down Expand Up @@ -171,8 +171,8 @@ export const CaseGroup = ({
case 'Indicator':
setListItem('Indicator', newCase);
break;
case 'Net-to-Gross':
setListItem('Net-to-Gross', newCase);
case 'Net-To-Gross':
setListItem('Net-To-Gross', newCase);
break;
case 'ContiniousParameter':
setListItem('ContiniousParameter', newCase);
Expand Down Expand Up @@ -248,9 +248,9 @@ export const CaseGroup = ({
addCase('Indicator');
} else if (
triggerAddCase !== undefined &&
triggerAddCase === 'Net-to-Gross'
triggerAddCase === 'Net-To-Gross'
) {
addCase('Net-to-Gross');
addCase('Net-To-Gross');
} else if (
triggerAddCase !== undefined &&
triggerAddCase === 'ContiniousParameter'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ export const CaseSettingSelect = ({
<Autocomplete
label={label}
disabled={
(caseType === 'Net-to-gross' || caseType === 'Indicator') &&
settingType !== 'continuousParameter'
(caseType === 'Net-To-Gross' || caseType === 'Indicator') &&
settingType !== 'ContiniousParameter'
}
options={options && options.length > 0 ? options : []}
optionLabel={(option) => option.name}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-disable max-lines */
/* eslint-disable max-lines-per-function */
import {
ComputeCaseDto,
Expand All @@ -10,6 +11,7 @@ import { CaseSettingSelect } from './CaseSettingSelect/CaseSettingSelect';
import { ModelAreaSelect } from './ModelAreaSelect/ModelAreaSelect';

export const VariogramOptionSelect = ({
rowCase,
modelAreas,
caseType,
selectedModelArea,
Expand All @@ -31,6 +33,7 @@ export const VariogramOptionSelect = ({
saved,
caseError,
}: {
rowCase: ComputeCaseDto;
modelAreas: ModelAreaDto[];
caseType: string;
selectedModelArea?: ModelAreaDto[] | undefined;
Expand Down Expand Up @@ -92,6 +95,147 @@ export const VariogramOptionSelect = ({
(value) => value.name === 'Archel',
);

// TODO: Refactor method to reusable function
const selectedParamValue = (method: string) => {
let settingsValueList: ListComputeSettingsInputValueDto[] | undefined = [];
let loadedParameters: ListComputeSettingsInputValueDto[] | undefined = [];

if (method === 'Indicator') {
settingsValueList =
indicatorIndicatorSettings && indicatorIndicatorSettings[0].values;
} else if (
method === 'Variogram Family Filter' &&
caseType === 'Indicator'
) {
settingsValueList =
indicatorFamilySettings && indicatorFamilySettings[0].values;
} else if (method === 'Net-To-Gross') {
settingsValueList =
NetGrossGrainSizeSettings && NetGrossGrainSizeSettings[0].values;
} else if (
method === 'Variogram Family Filter' &&
caseType === 'Net-To-Gross'
) {
settingsValueList =
NetGrossVariogramFamilySettings &&
NetGrossVariogramFamilySettings[0].values;
} else if (
method === 'Variogram Family Filter' &&
caseType === 'ContiniousParameter'
) {
settingsValueList =
contParamsVariogramFamilySettings &&
contParamsVariogramFamilySettings[0].values;
} else if (method === 'ContiniousParameter') {
settingsValueList =
contParamsParamsSettings && contParamsParamsSettings[0].values;
} else if (method === 'Archel') {
settingsValueList =
contParamsArchelSettings && contParamsArchelSettings[0].values;
}

loadedParameters =
settingsValueList &&
settingsValueList.filter((i) =>
rowCase.inputSettings?.find(
(s) => s.inputSettingValueId === i.inputSettingValueId,
),
);

let defaultParameter: ListComputeSettingsInputValueDto[] = [];

if (method === 'Indicator' && loadedParameters) {
if (
loadedParameters !== undefined &&
selectedIndicatorParameters === undefined
) {
defaultParameter = loadedParameters;
setIndicatorParameters && setIndicatorParameters(loadedParameters);
} else if (
selectedIndicatorParameters !== undefined &&
loadedParameters === undefined
) {
defaultParameter = selectedIndicatorParameters;
} else if (
selectedIndicatorParameters !== undefined &&
loadedParameters !== undefined
) {
defaultParameter = selectedIndicatorParameters;
}
return defaultParameter;
} else if (method === 'Variogram Family Filter') {
if (
loadedParameters !== undefined &&
selectedVariogramModels === undefined
) {
defaultParameter = loadedParameters;
setVariogramModels && setVariogramModels(loadedParameters);
} else if (
selectedVariogramModels !== undefined &&
loadedParameters === undefined
) {
defaultParameter = selectedVariogramModels;
} else if (
selectedVariogramModels !== undefined &&
loadedParameters !== undefined
) {
defaultParameter = selectedVariogramModels;
}
return defaultParameter;
} else if (method === 'Net-To-Gross') {
if (loadedParameters !== undefined && selectedGrainSize === undefined) {
defaultParameter = loadedParameters;
setGrainSize && setGrainSize(loadedParameters);
} else if (
selectedGrainSize !== undefined &&
loadedParameters === undefined
) {
defaultParameter = selectedGrainSize;
} else if (
selectedGrainSize !== undefined &&
loadedParameters !== undefined
) {
defaultParameter = selectedGrainSize;
}
return defaultParameter;
} else if (method === 'ContiniousParameter') {
if (loadedParameters !== undefined && selectedParameters === undefined) {
defaultParameter = loadedParameters;
setParameters && setParameters(loadedParameters);
} else if (
selectedParameters !== undefined &&
loadedParameters === undefined
) {
defaultParameter = selectedParameters;
} else if (
selectedParameters !== undefined &&
loadedParameters !== undefined
) {
defaultParameter = selectedParameters;
}
return defaultParameter;
} else if (method === 'Archel') {
if (
loadedParameters !== undefined &&
selectedArchelFilter === undefined
) {
defaultParameter = loadedParameters;
setArchelFilter && setArchelFilter(loadedParameters);
} else if (
selectedArchelFilter !== undefined &&
loadedParameters === undefined
) {
defaultParameter = selectedArchelFilter;
} else if (
selectedArchelFilter !== undefined &&
loadedParameters !== undefined
) {
defaultParameter = selectedArchelFilter;
}
return defaultParameter;
}
};

return (
<Styled.AutocompleteWrapper>
<ModelAreaSelect
Expand All @@ -110,54 +254,58 @@ export const VariogramOptionSelect = ({
options={
indicatorIndicatorSettings && indicatorIndicatorSettings[0].values
}
selectedValue={
selectedIndicatorParameters && selectedIndicatorParameters
}
selectedValue={selectedParamValue && selectedParamValue('Indicator')}
setValue={setIndicatorParameters}
/>
)}

{setGrainSize && caseType === 'Net-to-gross' && (
{setGrainSize && caseType === 'Net-To-Gross' && (
<CaseSettingSelect
label={'From grain size'}
options={
NetGrossGrainSizeSettings && NetGrossGrainSizeSettings[0].values
}
selectedValue={selectedGrainSize && selectedGrainSize}
selectedValue={
selectedParamValue && selectedParamValue('Net-To-Gross')
}
setValue={setGrainSize}
/>
)}
{caseType === 'Continuous parameter' && (
{setParameters && caseType === 'ContiniousParameter' && (
<CaseSettingSelect
label={'Parameter'}
settingType="continuousParameter"
settingType="ContiniousParameter"
options={
contParamsParamsSettings && contParamsParamsSettings[0].values
}
selectedValue={selectedParameters}
selectedValue={
selectedParamValue && selectedParamValue('ContiniousParameter')
}
setValue={setParameters}
/>
)}
<CaseSettingSelect
label="Architectural elements filter"
settingType="archel"
caseType={caseType}
settingType="Archel"
options={contParamsArchelSettings && contParamsArchelSettings[0].values}
selectedValue={selectedArchelFilter}
selectedValue={selectedParamValue && selectedParamValue('Archel')}
setValue={setArchelFilter}
caseType={caseType}
/>
<CaseSettingSelect
label={'Variogram model'}
options={
caseType === 'Net-to-gross'
caseType === 'Net-To-Gross'
? NetGrossVariogramFamilySettings &&
NetGrossVariogramFamilySettings[0].values
: caseType === 'Indicator'
? indicatorFamilySettings && indicatorFamilySettings[0].values
: contParamsVariogramFamilySettings &&
contParamsVariogramFamilySettings[0].values
}
selectedValue={selectedVariogramModels}
selectedValue={
selectedParamValue && selectedParamValue('Variogram Family Filter')
}
setValue={setVariogramModels}
/>
</Styled.AutocompleteWrapper>
Expand Down
Loading