forked from CITKParus/P8-Panels
ЦИТК-929 - Вывод сообщения об ошибке без стэка вызова
This commit is contained in:
parent
a62daa4407
commit
6a41686a84
10
README.md
10
README.md
@ -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")\
|
`type` - обязательный, строка, тип отображаемого сообщения, `information|warning|error` (см. константу `MSG_TYPE` в "app/context/messaging_reducer" и константу `P8P_APP_MESSAGE_VARIANT` в "app/components/p8p_app_message")\
|
||||||
`text` - обязательный, строка, текст отображаемого сообщения\
|
`text` - обязательный, строка, текст отображаемого сообщения\
|
||||||
`fullErrorText` - необязательный, строка, полный текст ошибки, используется только при `type="error"`. Если параметр указан, то в окно ошибки выводится кнопка "Подробнее", по нажатию на которую будет отображаться текст, указанный в данном параметре\
|
|
||||||
`msgOnOk` - необязательный, функция, будет вызвана при нажатии на "ОК"/"ЗАКРЫТЬ" в сообщении
|
`msgOnOk` - необязательный, функция, будет вызвана при нажатии на "ОК"/"ЗАКРЫТЬ" в сообщении
|
||||||
`msgOnCancel` - необязательный, функция, будет вызвана при нажатии на "ОТМЕНА" в сообщении (только для сообщений типа `warning`)
|
`msgOnCancel` - необязательный, функция, будет вызвана при нажатии на "ОТМЕНА" в сообщении (только для сообщений типа `warning`)\
|
||||||
|
`fullErrorText` - необязательный, строка, полный текст ошибки, используется только при `type="error"`. Если параметр указан, то в окно ошибки выводится кнопка "Подробнее", по нажатию на которую будет отображаться текст, указанный в данном параметре
|
||||||
|
|
||||||
**Результат:** функция не возвращает значимого результата
|
**Результат:** функция не возвращает значимого результата
|
||||||
|
|
||||||
@ -1109,7 +1109,11 @@ const Mui = ({ title }) => {
|
|||||||
|
|
||||||
Декоратор для `showMsg`, отображает модальное окно сообщения типа "Ошибка" (`type="error"`).
|
Декоратор для `showMsg`, отображает модальное окно сообщения типа "Ошибка" (`type="error"`).
|
||||||
|
|
||||||
**Входные параметры:** аналогично `showMsg`
|
**Входные параметры:**
|
||||||
|
|
||||||
|
`text` - обязательный, строка, текст отображаемого сообщения\
|
||||||
|
`msgOnOk` - необязательный, функция, будет вызвана при нажатии на "ЗАКРЫТЬ" в сообщении
|
||||||
|
`fullErrorText` - необязательный, строка, полный текст ошибки. Если параметр указан, то в окно ошибки выводится кнопка "Подробнее", по нажатию на которую будет отображаться текст, указанный в данном параметре
|
||||||
|
|
||||||
**Результат:** аналогично `showMsg`
|
**Результат:** аналогично `showMsg`
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ export const BUTTONS = {
|
|||||||
OK: "ОК", //Ок
|
OK: "ОК", //Ок
|
||||||
CANCEL: "Отмена", //Отмена
|
CANCEL: "Отмена", //Отмена
|
||||||
CLOSE: "Закрыть", //Сокрытие
|
CLOSE: "Закрыть", //Сокрытие
|
||||||
ERR_MORE: "Подробнее", //Отображение подробного текста ошибки
|
DETAIL: "Подробнее", //Отображение подробного текста
|
||||||
HIDE: "Скрыть", //Скрытие информации
|
HIDE: "Скрыть", //Скрытие информации
|
||||||
CLEAR: "Очистить", //Очистка
|
CLEAR: "Очистить", //Очистка
|
||||||
ORDER_ASC: "По возрастанию", //Сортировка по возрастанию
|
ORDER_ASC: "По возрастанию", //Сортировка по возрастанию
|
||||||
|
@ -127,7 +127,7 @@ const P8PAppMessage = ({
|
|||||||
|
|
||||||
//Кнопка Подробнее
|
//Кнопка Подробнее
|
||||||
let fullErrorTextBtn;
|
let fullErrorTextBtn;
|
||||||
if (fullErrorText && variant === P8P_APP_MESSAGE_VARIANT.ERR)
|
if (fullErrorText && showErrMoreCaption && hideErrMoreCaption && variant === P8P_APP_MESSAGE_VARIANT.ERR)
|
||||||
fullErrorTextBtn = (
|
fullErrorTextBtn = (
|
||||||
<Button onClick={() => setShowFullErrorText(!showFullErrorText)} color="warning" autoFocus>
|
<Button onClick={() => setShowFullErrorText(!showFullErrorText)} color="warning" autoFocus>
|
||||||
{!showFullErrorText ? showErrMoreCaption : hideErrMoreCaption}
|
{!showFullErrorText ? showErrMoreCaption : hideErrMoreCaption}
|
||||||
|
@ -85,7 +85,7 @@ export const BackEndContext = ({ client, children }) => {
|
|||||||
//Разбираем текст ошибки
|
//Разбираем текст ошибки
|
||||||
let errMsg = formatErrorMessage(e.message);
|
let errMsg = formatErrorMessage(e.message);
|
||||||
//Отображаем ошибку
|
//Отображаем ошибку
|
||||||
showMsgErr(errMsg.text, errMsg.fullErrorText);
|
showMsgErr(errMsg.text, null, errMsg.fullErrorText);
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -34,7 +34,7 @@ const MESSAGING_CONTEXT_BUTTONS_SHAPE = PropTypes.shape({
|
|||||||
CLOSE: PropTypes.string.isRequired,
|
CLOSE: PropTypes.string.isRequired,
|
||||||
OK: PropTypes.string.isRequired,
|
OK: PropTypes.string.isRequired,
|
||||||
CANCEL: PropTypes.string.isRequired,
|
CANCEL: PropTypes.string.isRequired,
|
||||||
ERR_MORE: PropTypes.string.isRequired,
|
DETAIL: PropTypes.string.isRequired,
|
||||||
HIDE: PropTypes.string.isRequired
|
HIDE: PropTypes.string.isRequired
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -58,13 +58,16 @@ export const MessagingContext = ({ titles, texts, buttons, children }) => {
|
|||||||
|
|
||||||
//Отображение сообщения
|
//Отображение сообщения
|
||||||
const showMsg = useCallback(
|
const showMsg = useCallback(
|
||||||
(type, text, fullErrorText = null, msgOnOk = null, msgOnCancel = null) =>
|
(type, text, msgOnOk = null, msgOnCancel = null, fullErrorText = null) =>
|
||||||
dispatch({ type: MSG_AT.SHOW_MSG, payload: { type, text, fullErrorText, msgOnOk, msgOnCancel } }),
|
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]);
|
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}
|
cancelBtn={state.msgType == MSG_TYPE.WARN}
|
||||||
onCancel={handleMessageCancelClick}
|
onCancel={handleMessageCancelClick}
|
||||||
cancelBtnCaption={buttons.CANCEL}
|
cancelBtnCaption={buttons.CANCEL}
|
||||||
showErrMoreCaption={buttons.ERR_MORE}
|
showErrMoreCaption={buttons.DETAIL}
|
||||||
hideErrMoreCaption={buttons.HIDE}
|
hideErrMoreCaption={buttons.HIDE}
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user