August 29, 2023

Вспомогательные функции для getFNODeclarationsList

getIsDeclarationDisabled

Описание

Функция getIsDeclarationDisabled проверяет, должен ли быть задизейблен определенный тип декларации на основе текущих значений в форме.


Сигнатура

const getIsDeclarationDisabled = (values, array = []) => {...};

Параметры

  • values (Объект): Объект Formik.values, содержащий текущие значения и состояния формы.
  • array (Массив, необязательный): Массив значений, которые необходимо проверить на наличие в текущих значениях формы. По умолчанию пустой массив.


Возвращаемое значение

  • Возвращает true, если хотя бы одно из значений массива array присутствует в текущих значениях формы, иначе false.


Пример использования

const formValues = {
  commonInfo: {
    declarationTypes: ["PRIORITY", "INITIAL"]
  }
};

const noticeDisabled = getIsDeclarationDisabled(formik.values, [DECLARATION_TYPES.PRIORITY]);
// result будет true, потому что "PRIORITY" присутствует в formValues.commonInfo.declarationTypes


getDeclarationTypesList

Описание

Функция getDeclarationTypesList получает список типов деклараций на основе заданного параметра entity или использует переданный массив типов.


Сигнатура

const getDeclarationTypesList = ({ types = [], entity }) => {...};


Параметры

  • types (Массив, необязательный): Массив типов деклараций для использования по умолчанию. По умолчанию пустой массив.
  • entity (Строка): Сущность, для которой нужно получить специфические типы деклараций.


Возвращаемое значение

  • Возвращает массив типов деклараций, фильтрованный на основе entity или types, если для entity не определены специфические типы.
  • Label учитывает локализацию
[{
    value: 'INITIAL',
    label: 'первоначальная'
}, ...]


Пример использования

const entity = TYPES_FORM_MONITORING.FNO_100;

const declarationList = getDeclarationTypesList({ entity });
// Возвращает список типов деклараций, фильтрованный на основе entity

Добавить новую сущность для обработки, а так же список и порядок деклараций можно настроить в src/pages/MGU/Monitoring/FNO/utils/declarations/entityToDeclarationTypes.js

const commonTypesE = [
    DECLARATION_TYPES.PRIORITY,  
    DECLARATION_TYPES.NEXT_PRIORITY,  
    DECLARATION_TYPES.ADDITIONAL,  
    DECLARATION_TYPES.ADDITIONAL_BY_NOTIFICATION,  
    DECLARATION_TYPES.LIQUIDATION
];

const ENTITY_TO_DECLARATION_TYPES = {  
    ...,
    [FNO_101_03]: commonTypesE,
    ...
}

При возникновении вопросов обращаться к https://t.me/axtvlad