August 29, 2023
Утилита для получения полного списка типов деклараций
getFNODeclarationsList
Введение
Утилита getFNODeclarationsList
является частью модуля declarationUtils.js
и предназначена для получения списка деклараций FNO с учетом их зависимостей и доступности.
Описание функции
const getFNODeclarationsList = ({ values, fno = '', dependencies = [] }) => {...};
Функция getFNODeclarationsList
возвращает список типов деклараций для заданного типа FNO, учитывая зависимости между типами (для определения disabled поля) и текущие значения формы, а так же переводы названий деклараций и сами типы.
Параметры
values
(Объект): ОбъектFormik.values
, хранящий текущие значения и состояния формы.fno
(Строка, константа изTYPES_FORM_MONITORING
): Тип FNO для которого нужно получить список деклараций. По умолчанию пустая строка.dependencies
(Массив строк, необязательный, передаются значения из константыTYPES_FORM_MONITORING
): Список зависимостей между типами деклараций. По умолчанию пустой массив.
Возвращаемое значение
- Возвращает массив объектов, каждый из которых представляет тип декларации. Каждый объект содержит следующие поля:
[{ value: 'INITIAL', label: 'первоналальная', disabled: true, }, ...]
Примеры использования
Для использования функции getFNODeclarationsList
вам потребуется передать объект с нужными параметрами:
const values = formik.values; // текущие значения формы const fnoType = TYPES_FORM_MONITORING.FNO_150; // пример типа FNO const deps = [DECLARATION_TYPES.INITIAL, DECLARATION_TYPES.LIQUIDATION]; // пример зависимостей const declarationsList = getFNODeclarationsList({ values, fno: fnoType, dependencies: deps });
Как добавить новый тип FNO будет рассказано в следующем посте.
В ходе выполнения работ удалено много дублирующего кода. При возникновении каких-либо проблем, обращаться к https://t.me/axtvlad