import React, {useEffect, useState} from "react"; import { useNavigate, useParams } from "react-router-dom"; import { AuthService, MessageService } from "../../services"; import { Spinner, Breadcrumb, BreadcrumbItem, Tabs, Tab } from "react-bootstrap"; const UpdateMessage = () => { const navigate = useNavigate(); const params = useParams(); const [messageGroup, setMessageGroup] = useState(); const [messageName, setMessageName] = useState(''); const [messageTitle, setMessageTitle] = useState(''); const [messageBody, setMessageBody] = useState(''); const [language, setLanguage] = useState(''); const [currentMessage, setCurrentMessage] = useState(undefined); useEffect(() => { if (!AuthService.canAddOrEditRoutes() && !AuthService.canViewRoutes()&&!AuthService.canAccessLegacySystem()) { window.alert('You haven\'t login yet OR this user does not have access to this page. Please change a dispatcher or admin account to login.') AuthService.logout(); navigate(`/login`); } if (!currentMessage) { MessageService.getMessage(params.id).then(data => { setCurrentMessage(data.data); }) } }, []); useEffect(() => { if (currentMessage) { setLanguage(currentMessage.language); setMessageBody(currentMessage.message_body); setMessageGroup(currentMessage.message_group); setMessageTitle(currentMessage.message_title); setMessageName(currentMessage.message_name); } }, [currentMessage]) const redirectTo = () => { navigate(`/messages/list`); } const validateMessage = () => { const errors = []; // Required fields validation if (!messageGroup || messageGroup === '') { errors.push('Message Group'); } if (!messageName || messageName.trim() === '') { errors.push('Message Name'); } if (errors.length > 0) { window.alert(`Please fill in the following required fields:\n${errors.join('\n')}`); return false; } return true; }; const saveMessage = () => { if (!validateMessage()) { return; } const data = { message_group: messageGroup, message_title: messageTitle, message_body: messageBody, message_name: messageName, language: language }; MessageService.updateMessage(params.id, data).then(() => redirectTo()); } return ( <>
General Messaging Update Message Template

Update Message Template

Message Group *
Message Name *
setMessageName(e.target.value)}/>
Language
Message Title
setMessageTitle(e.target.value)}/>
Message Body