Skip to content

Commit 0e25648

Browse files
#RI-5009 - resolve comments
1 parent 139fb5b commit 0e25648

File tree

17 files changed

+162
-236
lines changed

17 files changed

+162
-236
lines changed

redisinsight/ui/src/pages/home/HomePage.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { EuiPage, EuiPageBody, EuiResizableContainer, EuiResizeObserver } from '
22
import React, { useEffect, useRef, useState } from 'react'
33
import { useDispatch, useSelector } from 'react-redux'
44
import cx from 'classnames'
5+
import DatabasePanel from 'redisinsight/ui/src/pages/home/components/DatabasePanel'
56
import { clusterSelector, resetDataRedisCluster, resetInstancesRedisCluster, } from 'uiSrc/slices/instances/cluster'
67
import { Nullable, setTitle } from 'uiSrc/utils'
78
import { PageHeader } from 'uiSrc/components'
@@ -26,7 +27,6 @@ import { sendEventTelemetry, sendPageViewTelemetry, TelemetryEvent, TelemetryPag
2627
import { appRedirectionSelector, setUrlHandlingInitialState } from 'uiSrc/slices/app/url-handling'
2728
import { UrlHandlingActions } from 'uiSrc/slices/interfaces/urlHandling'
2829
import { AddDbType } from 'uiSrc/pages/home/constants'
29-
import RightPanel from 'uiSrc/pages/home/components/RightPanel'
3030
import DatabasesList from './components/DatabasesListComponent'
3131
import WelcomeComponent from './components/WelcomeComponent'
3232
import HomeHeader from './components/HomeHeader'
@@ -262,7 +262,7 @@ const HomePage = () => {
262262
style={{ minWidth: '494px' }}
263263
>
264264
{!!openRightPanel && (
265-
<RightPanel
265+
<DatabasePanel
266266
editMode={openRightPanel === RightPanelName.EditDatabase}
267267
width={width}
268268
isResizablePanel
@@ -301,7 +301,7 @@ const HomePage = () => {
301301
) : (
302302
<>
303303
{openRightPanel === RightPanelName.AddDatabase && (
304-
<RightPanel
304+
<DatabasePanel
305305
editMode={false}
306306
width={width}
307307
isResizablePanel

redisinsight/ui/src/pages/home/components/RightPanel/RightPanel.spec.tsx renamed to redisinsight/ui/src/pages/home/components/DatabasePanel/DatabasePanel.spec.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import React from 'react'
22
import { instance, mock } from 'ts-mockito'
33
import { render, screen, fireEvent } from 'uiSrc/utils/test-utils'
4-
import RightPanel, { Props } from './RightPanel'
4+
import DatabasePanel, { Props } from './DatabasePanel'
55

66
const mockedProps = mock<Props>()
77

8-
describe('AddDatabasesContainer', () => {
8+
describe('DatabasePanel', () => {
99
it('should render', () => {
1010
expect(
11-
render(<RightPanel {...instance(mockedProps)} />)
11+
render(<DatabasePanel {...instance(mockedProps)} />)
1212
).toBeTruthy()
1313
})
1414

1515
it('should render instance types after click on auto discover', () => {
16-
render(<RightPanel {...instance(mockedProps)} />)
16+
render(<DatabasePanel {...instance(mockedProps)} />)
1717
fireEvent.click(screen.getByTestId('add-auto'))
1818
expect(screen.getByTestId('db-types')).toBeInTheDocument()
1919
})

redisinsight/ui/src/pages/home/components/RightPanel/RightPanel.tsx renamed to redisinsight/ui/src/pages/home/components/DatabasePanel/DatabasePanel.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export interface Props {
4343
initConnectionType?: AddDbType
4444
}
4545

46-
const RightPanel = React.memo((props: Props) => {
46+
const DatabasePanel = React.memo((props: Props) => {
4747
const {
4848
editMode,
4949
isResizablePanel,
@@ -233,4 +233,4 @@ const RightPanel = React.memo((props: Props) => {
233233
)
234234
})
235235

236-
export default RightPanel
236+
export default DatabasePanel
File renamed without changes.
File renamed without changes.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import DatabasePanel from './DatabasePanel'
2+
3+
export default DatabasePanel
File renamed without changes.

redisinsight/ui/src/pages/home/components/Form/DatabaseForm.tsx

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,43 @@ import {
1414
import { BuildType } from 'uiSrc/constants/env'
1515
import { SECURITY_FIELD } from 'uiSrc/constants'
1616
import { appInfoSelector } from 'uiSrc/slices/app/info'
17-
import { handlePasteHostName, MAX_PORT_NUMBER, MAX_TIMEOUT_NUMBER, selectOnFocus, validateField, validatePortNumber, validateTimeoutNumber } from 'uiSrc/utils'
18-
import { ConnectionType, InstanceType } from 'uiSrc/slices/interfaces'
19-
import { DbConnectionInfo } from 'uiSrc/pages/home/interfaces'
17+
import {
18+
handlePasteHostName,
19+
MAX_PORT_NUMBER,
20+
MAX_TIMEOUT_NUMBER,
21+
selectOnFocus,
22+
validateField,
23+
validatePortNumber,
24+
validateTimeoutNumber,
25+
} from 'uiSrc/utils'
26+
import { DbConnectionInfo, IPasswordType } from 'uiSrc/pages/home/interfaces'
27+
28+
interface IShowFields {
29+
alias: boolean
30+
host: boolean
31+
port: boolean
32+
timeout: boolean
33+
}
2034

2135
export interface Props {
2236
flexGroupClassName?: string
2337
flexItemClassName?: string
2438
formik: FormikProps<DbConnectionInfo>
25-
isEditMode?: boolean
26-
isCloneMode?: boolean
2739
onHostNamePaste: (content: string) => boolean
28-
instanceType: InstanceType
29-
connectionType?: ConnectionType
30-
isFromCloud?: boolean
40+
showFields: IShowFields
41+
autoFocus?: boolean
42+
passwordType?: IPasswordType
3143
}
3244

3345
const DatabaseForm = (props: Props) => {
3446
const {
3547
flexGroupClassName = '',
3648
flexItemClassName = '',
3749
formik,
38-
isEditMode = false,
39-
isCloneMode = false,
4050
onHostNamePaste,
41-
instanceType,
42-
connectionType,
43-
isFromCloud,
51+
autoFocus = false,
52+
showFields,
53+
passwordType = IPasswordType.Password,
4454
} = props
4555

4656
const { server } = useSelector(appInfoSelector)
@@ -84,11 +94,11 @@ const DatabaseForm = (props: Props) => {
8494
return (
8595
<>
8696
<EuiFlexGroup className={flexGroupClassName}>
87-
{(!isEditMode || isCloneMode) && !isFromCloud && (
97+
{showFields.host && (
8898
<EuiFlexItem className={flexItemClassName}>
8999
<EuiFormRow label="Host*">
90100
<EuiFieldText
91-
autoFocus={!isCloneMode && isEditMode}
101+
autoFocus={autoFocus}
92102
name="host"
93103
id="host"
94104
data-testid="host"
@@ -109,7 +119,7 @@ const DatabaseForm = (props: Props) => {
109119
</EuiFormRow>
110120
</EuiFlexItem>
111121
)}
112-
{server?.buildType !== BuildType.RedisStack && !isFromCloud && (
122+
{server?.buildType !== BuildType.RedisStack && showFields.port && (
113123
<EuiFlexItem className={flexItemClassName}>
114124
<EuiFormRow label="Port*" helpText="Should not exceed 65535.">
115125
<EuiFieldNumber
@@ -136,11 +146,7 @@ const DatabaseForm = (props: Props) => {
136146
)}
137147
</EuiFlexGroup>
138148

139-
{(
140-
(!isEditMode || isCloneMode)
141-
&& instanceType !== InstanceType.Sentinel
142-
&& connectionType !== ConnectionType.Sentinel
143-
) && (
149+
{showFields.alias && (
144150
<EuiFlexGroup className={flexGroupClassName}>
145151
<EuiFlexItem className={flexItemClassName}>
146152
<EuiFormRow label="Database Alias*">
@@ -179,7 +185,7 @@ const DatabaseForm = (props: Props) => {
179185
<EuiFlexItem className={flexItemClassName}>
180186
<EuiFormRow label="Password">
181187
<EuiFieldPassword
182-
type={instanceType !== InstanceType.Sentinel ? 'password' : 'dual'}
188+
type={passwordType}
183189
name="password"
184190
id="password"
185191
data-testid="password"
@@ -203,7 +209,7 @@ const DatabaseForm = (props: Props) => {
203209
</EuiFormRow>
204210
</EuiFlexItem>
205211

206-
{connectionType !== ConnectionType.Sentinel && instanceType !== InstanceType.Sentinel && (
212+
{showFields.timeout && (
207213
<EuiFlexItem className={flexItemClassName}>
208214
<EuiFormRow label="Timeout (s)">
209215
<EuiFieldNumber

0 commit comments

Comments
 (0)