stores/options: extract setElementOptions
This commit is contained in:
parent
74b125c959
commit
8d9dfef7ea
@ -43,7 +43,7 @@ function makeFillAgent(
|
||||
});
|
||||
|
||||
if (agent) {
|
||||
$calculation.$options.setElementOptions(elementName, normalizeOptions([agent]));
|
||||
$calculation.setElementOptions(elementName, normalizeOptions([agent]));
|
||||
$calculation.setElementValue(elementName, agent.value);
|
||||
}
|
||||
} else {
|
||||
|
||||
@ -130,7 +130,7 @@ export default function commonReactions(store: RootStore, apolloClient: ApolloCl
|
||||
},
|
||||
});
|
||||
|
||||
$calculation.$options.setElementOptions('selectQuote', normalizeOptions(quotes));
|
||||
$calculation.setElementOptions('selectQuote', normalizeOptions(quotes));
|
||||
} else {
|
||||
$calculation.resetElement('selectQuote');
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
import type { Elements as ElementsActions } from 'Components/Calculation/config/map/actions';
|
||||
import type * as Values from 'Components/Calculation/config/map/values';
|
||||
import { getValueName } from 'Components/Calculation/config/map/values';
|
||||
import type { BaseOption } from 'Elements/types';
|
||||
import type RootStore from 'stores/root';
|
||||
import OptionsStore from './options';
|
||||
import StatusStore from './statuses';
|
||||
@ -52,6 +53,13 @@ export default class CalculationStore {
|
||||
this.$values.resetValue(valueName);
|
||||
};
|
||||
|
||||
setElementOptions = <T extends Values.Elements>(
|
||||
elementName: T,
|
||||
options: BaseOption<Values.ElementsTypes[T]>[]
|
||||
) => {
|
||||
this.$options.setOptions(elementName, options);
|
||||
};
|
||||
|
||||
getElementOption<T extends Values.Elements>(elementName: T) {
|
||||
const value = this.getElementValue(elementName);
|
||||
|
||||
|
||||
@ -40,10 +40,7 @@ export default class OptionsStore {
|
||||
return options;
|
||||
}
|
||||
|
||||
setElementOptions = <T extends Elements>(
|
||||
elementName: T,
|
||||
options: BaseOption<ElementsTypes[T]>[]
|
||||
) => {
|
||||
setOptions = <T extends Elements>(elementName: T, options: BaseOption<ElementsTypes[T]>[]) => {
|
||||
/**
|
||||
* TODO: use T instead of any in BaseOption type
|
||||
* at this moment T causes typescript error
|
||||
@ -76,7 +73,7 @@ export default class OptionsStore {
|
||||
this.options[elementName] = defaultOptions[elementName];
|
||||
};
|
||||
|
||||
setOptions = (
|
||||
setManyOptions = (
|
||||
options: Partial<CalculationOptions>,
|
||||
settings?: { reset: boolean; exclude: Elements[] }
|
||||
) => {
|
||||
@ -92,7 +89,7 @@ export default class OptionsStore {
|
||||
const elementOptions = options[elementName];
|
||||
|
||||
if (elementOptions) {
|
||||
this.setElementOptions(elementName, elementOptions);
|
||||
this.setOptions(elementName, elementOptions);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user