1
1
import {
2
2
EuiButtonIcon ,
3
3
EuiIcon ,
4
+ EuiLink ,
4
5
EuiTableFieldDataColumnType ,
5
6
EuiText ,
6
7
EuiTextColor ,
@@ -16,19 +17,16 @@ import AutoSizer from 'react-virtualized-auto-sizer'
16
17
import { saveAs } from 'file-saver'
17
18
import {
18
19
checkConnectToInstanceAction ,
19
- deleteInstancesAction , exportInstancesAction ,
20
+ deleteInstancesAction ,
21
+ exportInstancesAction ,
20
22
instancesSelector ,
21
23
setConnectedInstanceId ,
22
24
} from 'uiSrc/slices/instances/instances'
23
- import {
24
- CONNECTION_TYPE_DISPLAY ,
25
- ConnectionType ,
26
- Instance ,
27
- } from 'uiSrc/slices/interfaces'
25
+ import { CONNECTION_TYPE_DISPLAY , ConnectionType , Instance , } from 'uiSrc/slices/interfaces'
28
26
import { resetKeys } from 'uiSrc/slices/browser/keys'
29
27
import { resetRedisearchKeysData } from 'uiSrc/slices/browser/redisearch'
30
28
import { PageNames , Pages , Theme } from 'uiSrc/constants'
31
- import { sendEventTelemetry , TelemetryEvent , getRedisModulesSummary } from 'uiSrc/telemetry'
29
+ import { getRedisModulesSummary , sendEventTelemetry , TelemetryEvent } from 'uiSrc/telemetry'
32
30
import { ThemeContext } from 'uiSrc/contexts/themeContext'
33
31
import { ShowChildByCondition } from 'uiSrc/components'
34
32
import { formatLongName , getDbIndex , lastConnectionFormat , Nullable , replaceSpaces } from 'uiSrc/utils'
@@ -40,6 +38,8 @@ import RediStackDarkMin from 'uiSrc/assets/img/modules/redistack/RediStackDark-m
40
38
import RediStackLightMin from 'uiSrc/assets/img/modules/redistack/RediStackLight-min.svg'
41
39
import RediStackLightLogo from 'uiSrc/assets/img/modules/redistack/RedisStackLogoLight.svg'
42
40
import RediStackDarkLogo from 'uiSrc/assets/img/modules/redistack/RedisStackLogoDark.svg'
41
+ import { ReactComponent as CloudLinkIcon } from 'uiSrc/assets/img/oauth/cloud_link.svg'
42
+ import { EXTERNAL_LINKS } from 'uiSrc/constants/links'
43
43
import DatabasesList from './DatabasesList/DatabasesList'
44
44
45
45
import styles from './styles.module.scss'
@@ -201,6 +201,12 @@ const DatabasesListWrapper = ({
201
201
) )
202
202
}
203
203
204
+ const handleClickGoToCloud = ( ) => {
205
+ sendEventTelemetry ( {
206
+ event : TelemetryEvent . CLOUD_LINK_CLICKED ,
207
+ } )
208
+ }
209
+
204
210
const columnsFull : EuiTableFieldDataColumnType < Instance > [ ] = [
205
211
{
206
212
field : 'name' ,
@@ -350,11 +356,26 @@ const DatabasesListWrapper = ({
350
356
{
351
357
field : 'controls' ,
352
358
className : 'column_controls' ,
353
- width : '100px ' ,
359
+ width : '120px ' ,
354
360
name : '' ,
355
361
render : function Actions ( _act : any , instance : Instance ) {
356
362
return (
357
363
< >
364
+ { instance . cloudDetails && (
365
+ < EuiToolTip
366
+ content = "Go to Redis Enterprise Cloud"
367
+ >
368
+ < EuiLink
369
+ target = "_blank"
370
+ external = { false }
371
+ href = { EXTERNAL_LINKS . cloudConsole }
372
+ onClick = { handleClickGoToCloud }
373
+ data-testid = { `cloud-link-${ instance . id } ` }
374
+ >
375
+ < EuiIcon type = { CloudLinkIcon } className = { styles . cloudIcon } />
376
+ </ EuiLink >
377
+ </ EuiToolTip >
378
+ ) }
358
379
< EuiButtonIcon
359
380
iconType = "pencil"
360
381
className = "editInstanceBtn"
0 commit comments