diff --git a/process/init/get-data/index.js b/process/init/get-data/index.js index 7240f5e..a967552 100644 --- a/process/init/get-data/index.js +++ b/process/init/get-data/index.js @@ -5,25 +5,28 @@ import getInsuranceData from './get-insurance-data'; import getMainData from './get-main-data'; export default function getData(apolloClient, store) { - getMainData(apolloClient).then(({ options }) => { - store.$calculation.$options.setManyOptions(options); - }); + const { $calculation, $tables } = store; - getBrands(apolloClient).then(({ options }) => { - store.$calculation.$options.setManyOptions(options); - }); + function setManyOptions(options) { + Object.keys(options).forEach((elementName) => { + const elementOptions = options[elementName]; + $calculation.$options.setOptions(elementName, elementOptions); + }); + } - getDealers(apolloClient).then(({ options }) => { - store.$calculation.$options.setManyOptions(options); - }); + getMainData(apolloClient).then(({ options }) => setManyOptions(options)); + getBrands(apolloClient).then(({ options }) => setManyOptions(options)); + getDealers(apolloClient).then(({ options }) => setManyOptions(options)); + getAddProductTypes(apolloClient).then(({ options }) => setManyOptions(options)); - getAddProductTypes(apolloClient).then(({ options }) => { - store.$calculation.$options.setManyOptions(options); - }); + function setManyRowOptions(options) { + Object.keys(options).forEach((key) => { + const rowOptions = options[key]; + if (rowOptions !== undefined) $tables.insurance.setRowOptions(key, rowOptions); + }); + } - getInsuranceData(apolloClient).then(({ tables }) => { - store.$tables.insurance.setManyRowOptions(tables.insurance); - }); + getInsuranceData(apolloClient).then(({ tables }) => setManyRowOptions(tables.insurance)); } export { default as getOwnerData } from './get-owner-data'; diff --git a/stores/calculation/options/index.ts b/stores/calculation/options/index.ts index 032115f..0043b38 100644 --- a/stores/calculation/options/index.ts +++ b/stores/calculation/options/index.ts @@ -52,28 +52,6 @@ export default class OptionsStore { }; resetOptions = (elementName: T) => { - this.options[elementName] = defaultOptions[elementName]; - this.checkValueInOptions(elementName); - }; - - setManyOptions = ( - options: Partial, - settings?: { reset: boolean; exclude: Elements[] } - ) => { - if (settings?.reset) { - (Object.keys(defaultOptions) as Elements[]) - .filter((elementName) => !settings?.exclude.includes(elementName)) - .forEach((elementName) => { - this.resetOptions(elementName); - }); - } - - (Object.keys(options) as Elements[]).forEach((elementName) => { - const elementOptions = options[elementName]; - - if (elementOptions) { - this.setOptions(elementName, elementOptions); - } - }); + this.setOptions(elementName, defaultOptions[elementName]); }; } diff --git a/stores/calculation/statuses/index.ts b/stores/calculation/statuses/index.ts index 096d1a7..35faa9f 100644 --- a/stores/calculation/statuses/index.ts +++ b/stores/calculation/statuses/index.ts @@ -28,10 +28,6 @@ export default class StatusStore { this.statuses[elementName] = status; }; - setStatuses = (statuses: CalculationStatuses) => { - this.statuses = Object.assign(this.statuses, statuses); - }; - resetStatus = (elementName: ElementsValues | ElementsActions) => { this.statuses[elementName] = defaultStatuses[elementName]; }; diff --git a/stores/calculation/values/index.ts b/stores/calculation/values/index.ts index 58c01cc..2213af8 100644 --- a/stores/calculation/values/index.ts +++ b/stores/calculation/values/index.ts @@ -21,43 +21,11 @@ export default class ValuesStore { return this.values[valueName]; } - getValues(valuesNames: readonly V[]) { - return valuesNames.reduce((values, valueName) => { - // eslint-disable-next-line no-param-reassign - values[valueName] = this.getValue(valueName); - - return values; - }, {} as Pick); - } - setValue = (valueName: V, value: CalculationValues[V]) => { this.values[valueName] = value; }; - setValues = ( - values: Partial, - settings?: { reset: boolean; exclude: Values[] } - ) => { - if (settings?.reset) { - this.resetValues( - (Object.keys(defaultValues) as Values[]).filter( - (valueName) => !settings?.exclude.includes(valueName) - ) - ); - } - - (Object.keys(values) as Values[]).forEach((valueName) => { - this.setValue(valueName, values[valueName]!); - }); - }; - resetValue = (valueName: Values) => { this.setValue(valueName, defaultValues[valueName]); }; - - resetValues = (valuesNames: readonly Values[]) => { - valuesNames.forEach((valueName) => { - this.resetValue(valueName); - }); - }; }