@@ -5,77 +5,25 @@ import {
55 IconDelete16 ,
66 MenuItem ,
77} from '@dhis2/ui' ;
8- import { ConditionalTooltip } from '../../Tooltips/ConditionalTooltip' ;
9- import { convertClientToView , convertServerToClient } from '../../../converters' ;
10- import { dataElementTypes , type ProgramStage } from '../../../metaData' ;
11- import { useEventEditPermissions , useProgramExpiryForUser } from '../../../hooks' ;
12- import { isValidPeriod } from '../../../utils/validation/validators/form' ;
138
149type Props = {
1510 setActionsOpen : ( open : boolean ) => void ;
1611 setDeleteModalOpen : ( open : boolean ) => void ;
17- occurredAt : string ;
18- completedAt ?: string ;
19- eventStatus ?: string ;
20- programId : string ;
21- programStage ?: ProgramStage | null ;
2212} ;
2313
2414export const DeleteActionButton = ( {
2515 setActionsOpen,
2616 setDeleteModalOpen,
27- occurredAt,
28- completedAt,
29- eventStatus,
30- programId,
31- programStage,
32- } : Props ) => {
33- const occurredAtClient = convertServerToClient ( occurredAt , dataElementTypes . DATE ) as string ;
34- const occurredAtClientView = convertClientToView ( occurredAtClient , dataElementTypes . DATE ) ;
35- const expiryPeriod = useProgramExpiryForUser ( programId ) ;
36- const { isWithinValidPeriod : isEventWithinValidPeriod } = isValidPeriod ( occurredAtClient , expiryPeriod ?? null ) ;
37-
38- const {
39- isFormBlockedByCompletion,
40- isEventReadOnly,
41- } = useEventEditPermissions ( {
42- programId,
43- stage : programStage ,
44- eventStatus,
45- occurredAtClient,
46- completedAtClient : convertServerToClient ( completedAt , dataElementTypes . DATE ) as string ,
47- } ) ;
48-
49- const getDisabledMessage = ( ) : string => {
50- if ( ! isEventWithinValidPeriod ) {
51- return i18n . t ( '{{occurredAt}} belongs to an expired period. Event cannot be deleted' , {
52- occurredAt : occurredAtClientView ,
53- interpolation : { escapeValue : false } ,
54- } ) ;
55- }
56- if ( isFormBlockedByCompletion ) {
57- return i18n . t ( 'This event has been completed' ) ;
58- }
59- return i18n . t ( 'This event is outside the edit period' ) ;
60- } ;
61-
62- return (
63- < ConditionalTooltip
64- content = { getDisabledMessage ( ) }
65- enabled = { isEventReadOnly }
66- >
67- < MenuItem
68- dense
69- disabled = { isEventReadOnly }
70- icon = { < IconDelete16 color = { colors . red600 } /> }
71- label = { i18n . t ( 'Delete' ) }
72- dataTest = "stages-and-events-delete"
73- onClick = { ( ) => {
74- setDeleteModalOpen ( true ) ;
75- setActionsOpen ( false ) ;
76- } }
77- suffix = ""
78- />
79- </ ConditionalTooltip >
80- ) ;
81- } ;
17+ } : Props ) => (
18+ < MenuItem
19+ dense
20+ icon = { < IconDelete16 color = { colors . red600 } /> }
21+ label = { i18n . t ( 'Delete' ) }
22+ dataTest = "stages-and-events-delete"
23+ onClick = { ( ) => {
24+ setDeleteModalOpen ( true ) ;
25+ setActionsOpen ( false ) ;
26+ } }
27+ suffix = ""
28+ />
29+ ) ;
0 commit comments