UNPKG

dg-npm-templates

Version:

Npx generator for react app dependency creation by digite

64 lines (52 loc) 2.04 kB
/* istanbul ignore file */ import React, {useEffect} from 'react'; import { hideMessage } from '../slice/MessageSlice'; import { BOARD_MESSAGE_CONSTANT } from '../constants/MessageConstants'; import DialogsView from 'dg-react-dialogs'; import { getI18NMessage } from 'I18N/I18NHelper'; import { useSelector, useDispatch } from 'react-redux'; import { initMessageComp } from '../slice/MessageSlice'; function MessageView (){ const dispatch = useDispatch(); const messageData = useSelector( state => state.messageData.messageData); useEffect(() => { dispatch(initMessageComp()) }, [dispatch]); if (!messageData || !messageData.show ) { return false; } const type = messageData.type; const isErrorMsg = type === BOARD_MESSAGE_CONSTANT.TYPE_ERROR; const isSuccess = type === BOARD_MESSAGE_CONSTANT.TYPE_SUCCESS; const isWarning = type === BOARD_MESSAGE_CONSTANT.TYPE_WARNING; const isInfo = type === BOARD_MESSAGE_CONSTANT.TYPE_INFO; const isConfirmation = type === BOARD_MESSAGE_CONSTANT.TYPE_CONFIRMATION; const config = { header: messageData.headerText, message: messageData.message, actionLabels: messageData.actionLabels, dontShowMeAgain: messageData.dontShowMeAgain, dialogHeaderIcon: isErrorMsg ? 'icon-Error' : isInfo ? 'icon-info' : isSuccess ? 'icon-success' : isWarning || isConfirmation ? 'icon-Warning' : '', showMainBox: messageData.showMainBox, htmlMessage: messageData.htmlMessage, noHeaderIcon: messageData.noHeaderIcon, type }; return ( <DialogsView config={ config } onSelection={ hideMessageView } getI18NMessage={ getI18NMessage }/> ); function hideMessageView(value, doNotShowAgain) { if ( messageData.onConfirmFn && messageData.type !== BOARD_MESSAGE_CONSTANT.TYPE_CONFIRMATION ) { messageData.onConfirmFn(); } dispatch( hideMessage() ); if ( value && messageData.onConfirmFn ) { messageData.onConfirmFn(doNotShowAgain); } else if ( messageData.onCancelFn ) { messageData.onCancelFn(doNotShowAgain); } } } export default MessageView;