TP-48671 | pr comment resolve

This commit is contained in:
AyushRanjan
2023-11-21 23:51:46 +05:30
parent 367834a733
commit ede94b60ef
2 changed files with 39 additions and 18 deletions

View File

@@ -145,3 +145,6 @@ export const initialState = {
isStatusPickerOpen: false,
isTeamPickerOpen: false,
};
export const RESOLVE_STATUS = '4';
export const DUPLICATE_STATUS = '5';

View File

@@ -6,6 +6,7 @@ import TabItem from '@navi/web-ui/lib-esm/components/Tabs/TabItem';
import Tabs from '@navi/web-ui/lib-esm/components/Tabs/Tabs';
import { SelectPicker } from '@navi/web-ui/lib/components';
import { ModalDialog, Typography } from '@navi/web-ui/lib/primitives';
import { SelectPickerOptionProps } from '@navi/web-ui/lib/components/SelectPicker/types';
import GoToLinkIcon from '@src/assets/GoToLinkIcon';
import { ApiService } from '@src/services/api';
import ErrorBoundary from '@src/components/ErrorBoundary/ErrorBoundary';
@@ -24,6 +25,8 @@ import {
reducer,
actionTypes,
initialState,
DUPLICATE_STATUS,
RESOLVE_STATUS,
} from './constants';
import styles from './Incidents.module.scss';
@@ -277,7 +280,9 @@ const Incident: FC = () => {
});
};
const handleSeveritySelectionChange = (selectedOption: any): void => {
const handleSeveritySelectionChange = (
selectedOption: SelectPickerOptionProps | SelectPickerOptionProps[],
): void => {
if (selectedOption) {
toast('Updating ticket. Please wait a moment.', {
icon: <LoadingIcon />,
@@ -295,14 +300,15 @@ const Incident: FC = () => {
});
}
};
const handleStatusSelectionChange = (selectedOption: any): void => {
const handleStatusSelectionChange = (
selectedOption: SelectPickerOptionProps | SelectPickerOptionProps[],
): void => {
if (selectedOption) {
dispatch({ type: actionTypes.SET_IS_STATUS_PICKER_OPEN, payload: false });
const value = Array.isArray(selectedOption)
? selectedOption[0].value
: selectedOption.value;
if (value === 4) {
if (value === RESOLVE_STATUS) {
dispatch({
type: actionTypes.SET_DIALOG_TEXT,
payload: 'Resolve incident',
@@ -312,7 +318,7 @@ const Incident: FC = () => {
payload: 'resolved',
});
dispatch({ type: actionTypes.SET_OPEN_DIALOG, payload: true });
} else if (value === 5) {
} else if (value === DUPLICATE_STATUS) {
dispatch({
type: actionTypes.SET_DIALOG_TEXT,
payload: 'Duplicate incident',
@@ -333,7 +339,9 @@ const Incident: FC = () => {
}
}
};
const handleTeamSelectionChange = (selectedOption: any): void => {
const handleTeamSelectionChange = (
selectedOption: SelectPickerOptionProps | SelectPickerOptionProps[],
): void => {
if (selectedOption) {
dispatch({ type: actionTypes.SET_IS_TEAM_PICKER_OPEN, payload: false });
toast('Updating ticket. Please wait a moment.', {
@@ -350,7 +358,7 @@ const Incident: FC = () => {
};
const handleOpenConfirmationDailog = (
selectedOption: any,
selectedOption: SelectPickerOptionProps | SelectPickerOptionProps[],
updateType: number,
): void => {
const currentValue =
@@ -360,10 +368,13 @@ const Incident: FC = () => {
? state.status?.value
: state.team?.value;
const currentState = currentValue.toString();
if (currentState !== selectedOption.value) {
const selectedvalue = Array.isArray(selectedOption)
? selectedOption[0].value
: selectedOption.value;
if (currentState !== selectedvalue) {
if (
updateType === 1 &&
(selectedOption.value === 4 || selectedOption.value === 5)
(selectedvalue === RESOLVE_STATUS || selectedvalue === DUPLICATE_STATUS)
) {
handleStatusSelectionChange(selectedOption);
} else {
@@ -392,6 +403,16 @@ const Incident: FC = () => {
}
};
const handleGoToSlackChannel = () => {
console.log('hello');
const slackChannelURL = `https://go-navi.slack.com/archives/${state.incidentData?.slackChannel}`;
window.open(slackChannelURL, '_blank');
dispatch({
type: actionTypes.SET_OPEN_DIALOG,
payload: false,
});
};
const getUpdateValueText = () => {
switch (state.updateType) {
case 0:
@@ -411,7 +432,11 @@ const Incident: FC = () => {
teamsMap && state.team?.value ? teamsMap[state.team.value] : '-'
} `;
default:
return ' unknown ';
return ` ${
severityMap && state.severity?.value
? severityMap[state.severity.value]
: '-'
} `;
}
};
@@ -639,14 +664,7 @@ const Incident: FC = () => {
},
{
label: 'Go to slack channel',
onClick: () => {
const slackChannelURL = `https://go-navi.slack.com/archives/${state.incidentData?.slackChannel}`;
window.open(slackChannelURL, '_blank');
dispatch({
type: actionTypes.SET_OPEN_DIALOG,
payload: false,
});
},
onClick: handleGoToSlackChannel,
startAdornment: <GoToLinkIcon />,
},
]}