Skip to content

Commit 096afb6

Browse files
committed
feat: add some tooltip and launch icon
Signed-off-by: amitamrutiya <[email protected]>
1 parent a17541e commit 096afb6

File tree

7 files changed

+59
-14
lines changed

7 files changed

+59
-14
lines changed

src/custom/CatalogDesignTable/DesignTableColumnConfig.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { MUIDataTableColumn, MUIDataTableMeta } from 'mui-datatables';
33
import { PLAYGROUND_MODES } from '../../constants/constants';
44
import { ChainIcon, CopyIcon, KanvasIcon, PublishIcon } from '../../icons';
55
import Download from '../../icons/Download/Download';
6-
import { slugify } from '../CatalogDetail/helper';
6+
import { downloadPattern, slugify } from '../CatalogDetail/helper';
77
import { RESOURCE_TYPES } from '../CatalogDetail/types';
88
import { Pattern } from '../CustomCatalog/CustomCard';
99
import { ConditionalTooltip } from '../Helpers/CondtionalTooltip';
@@ -25,7 +25,8 @@ interface ColumnConfigProps {
2525
handleCopyUrl: (type: string, name: string, id: string) => void;
2626
handleClone: (name: string, id: string) => void;
2727
handleShowDetails: (designId: string, designName: string) => void;
28-
handleDownload: (design: Pattern) => void;
28+
handleDownload?: (design: Pattern) => void;
29+
getDownloadUrl?: (id: string) => string;
2930
isDownloadAllowed: boolean;
3031
isCopyLinkAllowed: boolean;
3132
isDeleteAllowed: boolean;
@@ -55,6 +56,7 @@ export const createDesignsColumnsConfig = ({
5556
handleCopyUrl,
5657
handleClone,
5758
handleShowDetails,
59+
getDownloadUrl,
5860
handleDownload,
5961
isUnpublishAllowed,
6062
isCopyLinkAllowed,
@@ -182,8 +184,9 @@ export const createDesignsColumnsConfig = ({
182184
const actionsList = [
183185
{
184186
title: 'Download',
185-
// onClick: () => downloadPattern(rowData.id, rowData.name, getDownloadUrl),
186-
onClick: () => handleDownload(rowData),
187+
onClick: getDownloadUrl
188+
? () => downloadPattern(rowData.id, rowData.name, getDownloadUrl)
189+
: () => handleDownload && handleDownload(rowData),
187190
disabled: !isDownloadAllowed,
188191
icon: <Download width={24} height={24} fill={theme?.palette.icon.secondary} />
189192
},

src/custom/CatalogDesignTable/style.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ interface DeleteIconProps {
1919
}
2020

2121
export const L5DeleteIcon = styled(DeleteIcon)<DeleteIconProps>(({ disabled, bulk, theme }) => ({
22-
color: disabled ? theme.palette.icon.disabled : theme.palette.text.secondary,
22+
color: disabled ? theme.palette.icon.disabled : theme.palette.text.default,
2323
cursor: disabled ? 'not-allowed' : 'pointer',
2424
width: bulk ? '32' : '28.8',
2525
height: bulk ? '32' : '28.8',

src/custom/Workspaces/DesignTable.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,14 @@ export interface DesignTableProps {
4040
handlePublish: (publishModal: PublishModalState, data: any) => void;
4141
publishModalHandler: any;
4242
handleUnpublishModal: (design: Pattern, modalRef: React.RefObject<any>) => void;
43-
handleDownload: (design: Pattern) => void;
43+
handleDownload?: (design: Pattern) => void;
4444
handleBulkUnpublishModal: (
4545
selected: any,
4646
designs: Pattern[],
4747
modalRef: React.RefObject<any>
4848
) => void;
4949
handleShowDetails: (designId: string, designName: string) => void;
50+
getDownloadUrl?: (id: string) => string;
5051
GenericRJSFModal: any;
5152
isDownloadAllowed: boolean;
5253
isCopyLinkAllowed: boolean;
@@ -80,6 +81,7 @@ const DesignTable: React.FC<DesignTableProps> = ({
8081
handleCopyUrl,
8182
handlePublish,
8283
handleDownload,
84+
getDownloadUrl,
8385
handleShowDetails,
8486
handleUnpublishModal,
8587
handleWorkspaceDesignDeleteModal,
@@ -123,6 +125,7 @@ const DesignTable: React.FC<DesignTableProps> = ({
123125
handleClone,
124126
handleShowDetails,
125127
handleDownload,
128+
getDownloadUrl,
126129
isCopyLinkAllowed,
127130
isDeleteAllowed,
128131
isDownloadAllowed,
@@ -206,7 +209,11 @@ const DesignTable: React.FC<DesignTableProps> = ({
206209
}}
207210
id={'catalog-table'}
208211
/>
209-
<L5EditIcon onClick={designAssignment.handleAssignModal} disabled={!isAssignAllowed} />
212+
<L5EditIcon
213+
onClick={designAssignment.handleAssignModal}
214+
disabled={!isAssignAllowed}
215+
title="Assign Designs"
216+
/>
210217
</TableRightActionHeader>
211218
</TableHeader>
212219
);

src/custom/Workspaces/EnvironmentTable.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,7 @@ const EnvironmentTable: React.FC<EnvironmentTableProps> = ({
278278
<L5EditIcon
279279
onClick={environmentAssignment.handleAssignModal}
280280
disabled={!isAssignAllowed}
281+
title="Assign Environments"
281282
/>
282283
</TableRightActionHeader>
283284
</TableHeader>

src/custom/Workspaces/WorkspaceTeamsTable.tsx

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
/* eslint-disable @typescript-eslint/no-explicit-any */
2+
import { Launch } from '@mui/icons-material';
23
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
34
import { useState } from 'react';
4-
import { Accordion, AccordionDetails, AccordionSummary, Typography } from '../../base';
5+
import { Accordion, AccordionDetails, AccordionSummary, IconButton, Typography } from '../../base';
6+
import { CLOUD_URL } from '../../constants/constants';
57
import { TeamsIcon } from '../../icons';
8+
import { useTheme } from '../../theme';
69
import { CustomColumnVisibilityControl } from '../CustomColumnVisibilityControl';
10+
import { CustomTooltip } from '../CustomTooltip';
711
import SearchBar from '../SearchBar';
812
import { TeamTableConfiguration } from '../TeamTable';
913
import TeamTable from '../TeamTable/TeamTable';
@@ -102,7 +106,7 @@ const TeamsTable: React.FC<TeamsTableProps> = ({
102106
isDeleteTeamAllowed: isDeleteTeamAllowed,
103107
setSearch
104108
});
105-
109+
const theme = useTheme();
106110
return (
107111
<>
108112
<Accordion expanded={expanded} onChange={handleAccordionChange} style={{ margin: 0 }}>
@@ -137,7 +141,19 @@ const TeamsTable: React.FC<TeamsTableProps> = ({
137141
<L5EditIcon
138142
onClick={teamAssignment.handleAssignModal}
139143
disabled={!isAssignTeamAllowed}
144+
title="Assign Teams"
140145
/>
146+
<CustomTooltip title={'Manage Teams'}>
147+
<div>
148+
<IconButton
149+
onClick={() => {
150+
window.open(`${CLOUD_URL}/identity/teams`, '_blank');
151+
}}
152+
>
153+
<Launch />
154+
</IconButton>
155+
</div>
156+
</CustomTooltip>
141157
</TableRightActionHeader>
142158
</TableHeader>
143159
</AccordionSummary>
@@ -163,7 +179,14 @@ const TeamsTable: React.FC<TeamsTableProps> = ({
163179
open={teamAssignment.assignModal}
164180
onClose={teamAssignment.handleAssignModalClose}
165181
title={`Assign Teams to ${workspaceName}`}
166-
headerIcon={<TeamsIcon height="40" width="40" primaryFill={'white'} fill={'gray'} />}
182+
headerIcon={
183+
<TeamsIcon
184+
height="40"
185+
width="40"
186+
primaryFill={theme.palette.common.white}
187+
fill={theme.palette.icon.disabled}
188+
/>
189+
}
167190
name="Teams"
168191
assignableData={teamAssignment.data}
169192
handleAssignedData={teamAssignment.handleAssignData}
@@ -173,7 +196,7 @@ const TeamsTable: React.FC<TeamsTableProps> = ({
173196
height="5rem"
174197
width="5rem"
175198
primaryFill={'#808080'}
176-
secondaryFill={'gray'}
199+
secondaryFill={theme.palette.icon.disabled}
177200
fill={'#808080'}
178201
/>
179202
}

src/custom/Workspaces/WorkspaceViewsTable.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,11 @@ const WorkspaceViewsTable: React.FC<ViewsTableProps> = ({
335335
}}
336336
id={'views-table'}
337337
/>
338-
<L5EditIcon onClick={viewAssignment.handleAssignModal} disabled={!isAssignAllowed} />
338+
<L5EditIcon
339+
onClick={viewAssignment.handleAssignModal}
340+
disabled={!isAssignAllowed}
341+
title="Assign Views"
342+
/>
339343
</TableRightActionHeader>
340344
</TableHeader>
341345
</AccordionSummary>

src/custom/Workspaces/styles.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ interface ExtendedEditIconProps {
1414
disabled?: boolean;
1515
bulk?: boolean;
1616
style?: React.CSSProperties;
17+
title?: string;
1718
}
1819

1920
export const TableHeader = styled('div')({
@@ -292,10 +293,16 @@ export const L5DeleteIcon = ({
292293
);
293294
};
294295

295-
export const L5EditIcon = ({ onClick, disabled, bulk, style }: ExtendedEditIconProps) => {
296+
export const L5EditIcon = ({
297+
onClick,
298+
disabled,
299+
bulk,
300+
style,
301+
title = 'Edit'
302+
}: ExtendedEditIconProps) => {
296303
const theme = useTheme();
297304
return (
298-
<CustomTooltip title="Edit" arrow>
305+
<CustomTooltip title={title} arrow>
299306
<div>
300307
<IconButton
301308
onClick={onClick}

0 commit comments

Comments
 (0)