Skip to content

Commit f487340

Browse files
committed
#RI-6380 - fix closing state
1 parent 31b7ea8 commit f487340

File tree

1 file changed

+35
-42
lines changed

1 file changed

+35
-42
lines changed

redisinsight/ui/src/pages/home/components/database-panel-dialog/DatabasePanelDialog.tsx

Lines changed: 35 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -83,41 +83,42 @@ const DatabasePanelDialog = (props: Props) => {
8383
}
8484
}, [editMode])
8585

86+
useEffect(() => {
87+
if (!isOpen) {
88+
// clear state after closing dialog
89+
setConnectionType(null)
90+
if (connectionType === AddDbType.manual) return
91+
92+
switch (connectionType) {
93+
case AddDbType.cloud: {
94+
dispatch(resetDataRedisCluster())
95+
dispatch(resetDataSentinel())
96+
break
97+
}
98+
99+
case AddDbType.sentinel: {
100+
dispatch(resetDataRedisCloud())
101+
dispatch(resetDataRedisCluster())
102+
break
103+
}
104+
105+
case AddDbType.software: {
106+
dispatch(resetDataRedisCloud())
107+
dispatch(resetDataSentinel())
108+
break
109+
}
110+
default:
111+
break
112+
}
113+
}
114+
}, [isOpen, connectionType])
115+
86116
const changeConnectionType = (connectionType: AddDbType, db: any) => {
87117
dispatch(setUrlHandlingInitialState())
88118
setInitialValues(db)
89119
setConnectionType(connectionType)
90120
}
91121

92-
const handleClose = () => {
93-
setConnectionType(null)
94-
onClose?.()
95-
96-
if (connectionType === AddDbType.manual) return
97-
98-
switch (connectionType) {
99-
case AddDbType.cloud: {
100-
dispatch(resetDataRedisCluster())
101-
dispatch(resetDataSentinel())
102-
break
103-
}
104-
105-
case AddDbType.sentinel: {
106-
dispatch(resetDataRedisCloud())
107-
dispatch(resetDataRedisCluster())
108-
break
109-
}
110-
111-
case AddDbType.software: {
112-
dispatch(resetDataRedisCloud())
113-
dispatch(resetDataSentinel())
114-
break
115-
}
116-
default:
117-
break
118-
}
119-
}
120-
121122
const handleClickBack = () => {
122123
setConnectionType(null)
123124
}
@@ -127,29 +128,21 @@ const DatabasePanelDialog = (props: Props) => {
127128
{connectionType === null && (
128129
<ConnectionUrlForm
129130
onSelectOption={changeConnectionType}
130-
onClose={handleClose}
131131
/>
132132
)}
133133
{connectionType === AddDbType.manual && (
134134
<ManualConnectionWrapper
135135
{...props}
136136
initialValues={initialValues}
137-
onClose={handleClose}
138137
onClickBack={handleClickBack}
139138
/>
140139
)}
141140
{connectionType === AddDbType.cloud && (
142-
<CloudConnectionFormWrapper {...props} onClose={handleClose} />
143-
)}
144-
{connectionType === AddDbType.import && (
145-
<ImportDatabase onClose={handleClose} />
146-
)}
147-
{connectionType === AddDbType.sentinel && (
148-
<SentinelConnectionWrapper {...props} onClose={handleClose} />
149-
)}
150-
{connectionType === AddDbType.software && (
151-
<ClusterConnectionFormWrapper {...props} onClose={handleClose} />
141+
<CloudConnectionFormWrapper {...props} />
152142
)}
143+
{connectionType === AddDbType.import && (<ImportDatabase onClose={onClose} />)}
144+
{connectionType === AddDbType.sentinel && (<SentinelConnectionWrapper {...props} />)}
145+
{connectionType === AddDbType.software && (<ClusterConnectionFormWrapper {...props} />)}
153146
</>
154147
)
155148

@@ -179,7 +172,7 @@ const DatabasePanelDialog = (props: Props) => {
179172
return (
180173
<FormDialog
181174
isOpen={isOpen}
182-
onClose={handleClose}
175+
onClose={onClose}
183176
header={modalHeader ?? (<EuiTitle size="s"><h4>Add Database</h4></EuiTitle>)}
184177
footer={<div id="footerDatabaseForm" />}
185178
>

0 commit comments

Comments
 (0)