ЦИТК-929 - Вывод сообщения об ошибке без стэка вызова

This commit is contained in:
Dollerino 2025-03-31 19:04:11 +03:00
parent a62daa4407
commit 6a41686a84
5 changed files with 18 additions and 11 deletions

View File

@ -1099,9 +1099,9 @@ const Mui = ({ title }) => {
`type` - обязательный, строка, тип отображаемого сообщения, `information|warning|error` (см. константу `MSG_TYPE` в "app/context/messaging_reducer" и константу `P8P_APP_MESSAGE_VARIANT` в "app/components/p8p_app_message")\
`text` - обязательный, строка, текст отображаемого сообщения\
`fullErrorText` - необязательный, строка, полный текст ошибки, используется только при `type="error"`. Если параметр указан, то в окно ошибки выводится кнопка "Подробнее", по нажатию на которую будет отображаться текст, указанный в данном параметре\
`msgOnOk` - необязательный, функция, будет вызвана при нажатии на "ОК"/"ЗАКРЫТЬ" в сообщении
`msgOnCancel` - необязательный, функция, будет вызвана при нажатии на "ОТМЕНА" в сообщении (только для сообщений типа `warning`)
`msgOnCancel` - необязательный, функция, будет вызвана при нажатии на "ОТМЕНА" в сообщении (только для сообщений типа `warning`)\
`fullErrorText` - необязательный, строка, полный текст ошибки, используется только при `type="error"`. Если параметр указан, то в окно ошибки выводится кнопка "Подробнее", по нажатию на которую будет отображаться текст, указанный в данном параметре
**Результат:** функция не возвращает значимого результата
@ -1109,7 +1109,11 @@ const Mui = ({ title }) => {
Декоратор для `showMsg`, отображает модальное окно сообщения типа "Ошибка" (`type="error"`).
**Входные параметры:** аналогично `showMsg`
**Входные параметры:**
`text` - обязательный, строка, текст отображаемого сообщения\
`msgOnOk` - необязательный, функция, будет вызвана при нажатии на "ЗАКРЫТЬ" в сообщении
`fullErrorText` - необязательный, строка, полный текст ошибки. Если параметр указан, то в окно ошибки выводится кнопка "Подробнее", по нажатию на которую будет отображаться текст, указанный в данном параметре
**Результат:** аналогично `showMsg`

View File

@ -29,7 +29,7 @@ export const BUTTONS = {
OK: "ОК", //Ок
CANCEL: "Отмена", //Отмена
CLOSE: "Закрыть", //Сокрытие
ERR_MORE: "Подробнее", //Отображение подробного текста ошибки
DETAIL: "Подробнее", //Отображение подробного текста
HIDE: "Скрыть", //Скрытие информации
CLEAR: "Очистить", //Очистка
ORDER_ASC: "По возрастанию", //Сортировка по возрастанию

View File

@ -127,7 +127,7 @@ const P8PAppMessage = ({
//Кнопка Подробнее
let fullErrorTextBtn;
if (fullErrorText && variant === P8P_APP_MESSAGE_VARIANT.ERR)
if (fullErrorText && showErrMoreCaption && hideErrMoreCaption && variant === P8P_APP_MESSAGE_VARIANT.ERR)
fullErrorTextBtn = (
<Button onClick={() => setShowFullErrorText(!showFullErrorText)} color="warning" autoFocus>
{!showFullErrorText ? showErrMoreCaption : hideErrMoreCaption}

View File

@ -85,7 +85,7 @@ export const BackEndContext = ({ client, children }) => {
//Разбираем текст ошибки
let errMsg = formatErrorMessage(e.message);
//Отображаем ошибку
showMsgErr(errMsg.text, errMsg.fullErrorText);
showMsgErr(errMsg.text, null, errMsg.fullErrorText);
}
throw e;
} finally {

View File

@ -34,7 +34,7 @@ const MESSAGING_CONTEXT_BUTTONS_SHAPE = PropTypes.shape({
CLOSE: PropTypes.string.isRequired,
OK: PropTypes.string.isRequired,
CANCEL: PropTypes.string.isRequired,
ERR_MORE: PropTypes.string.isRequired,
DETAIL: PropTypes.string.isRequired,
HIDE: PropTypes.string.isRequired
});
@ -58,13 +58,16 @@ export const MessagingContext = ({ titles, texts, buttons, children }) => {
//Отображение сообщения
const showMsg = useCallback(
(type, text, fullErrorText = null, msgOnOk = null, msgOnCancel = null) =>
dispatch({ type: MSG_AT.SHOW_MSG, payload: { type, text, fullErrorText, msgOnOk, msgOnCancel } }),
(type, text, msgOnOk = null, msgOnCancel = null, fullErrorText = null) =>
dispatch({ type: MSG_AT.SHOW_MSG, payload: { type, text, msgOnOk, msgOnCancel, fullErrorText } }),
[]
);
//Отображение сообщения - ошибка
const showMsgErr = useCallback((text, fullErrorText = null, msgOnOk = null) => showMsg(MSG_TYPE.ERR, text, fullErrorText, msgOnOk), [showMsg]);
const showMsgErr = useCallback(
(text, msgOnOk = null, fullErrorText = null) => showMsg(MSG_TYPE.ERR, text, msgOnOk, null, fullErrorText),
[showMsg]
);
//Отображение сообщения - информация
const showMsgInfo = useCallback((text, msgOnOk = null) => showMsg(MSG_TYPE.INFO, text, msgOnOk), [showMsg]);
@ -138,7 +141,7 @@ export const MessagingContext = ({ titles, texts, buttons, children }) => {
cancelBtn={state.msgType == MSG_TYPE.WARN}
onCancel={handleMessageCancelClick}
cancelBtnCaption={buttons.CANCEL}
showErrMoreCaption={buttons.ERR_MORE}
showErrMoreCaption={buttons.DETAIL}
hideErrMoreCaption={buttons.HIDE}
/>
) : null}