Skip to content

Commit bdf190e

Browse files
committed
feat(download): update download functionality to use downloadPattern and include getDownloadUrl prop
Signed-off-by: Amit Amrutiya <amitamrutiya2210@gmail.com>
1 parent bd2f0fd commit bdf190e

2 files changed

Lines changed: 10 additions & 13 deletions

File tree

src/custom/CatalogDesignTable/DesignTableColumnConfig.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { PLAYGROUND_MODES } from '../../constants/constants';
33
import { ChainIcon, CopyIcon, KanvasIcon, PublishIcon } from '../../icons';
44
import Download from '../../icons/Download/Download';
55
import { CHARCOAL } from '../../theme';
6-
import { downloadYaml, slugify } from '../CatalogDetail/helper';
7-
import { RESOURCE_TYPES } from '../CatalogDetail/types';
6+
import { downloadPattern, slugify } from '../CatalogDetail/helper';
7+
import { PATTERNS, RESOURCE_TYPES } from '../CatalogDetail/types';
88
import { Pattern } from '../CustomCatalog/CustomCard';
99
import { ConditionalTooltip } from '../Helpers/CondtionalTooltip';
1010
import { ColView } from '../Helpers/ResponsiveColumns/responsive-coulmns.tsx';
@@ -25,6 +25,7 @@ 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+
getDownloadUrl: (sorceType: string, id: string) => string;
2829
isDownloadAllowed: boolean;
2930
isCopyLinkAllowed: boolean;
3031
isDeleteAllowed: boolean;
@@ -53,6 +54,7 @@ export const createDesignsColumnsConfig = ({
5354
handleCopyUrl,
5455
handleClone,
5556
handleShowDetails,
57+
getDownloadUrl,
5658
isUnpublishAllowed,
5759
isCopyLinkAllowed,
5860
isDeleteAllowed,
@@ -167,7 +169,7 @@ export const createDesignsColumnsConfig = ({
167169
const actionsList = [
168170
{
169171
title: 'Download',
170-
onClick: () => downloadYaml(rowData?.pattern_file, rowData?.name),
172+
onClick: () => downloadPattern(rowData.id, rowData.name, PATTERNS, getDownloadUrl),
171173
disabled: !isDownloadAllowed,
172174
icon: <Download width={24} height={24} fill={CHARCOAL} />
173175
},

src/custom/CatalogDesignTable/columnConfig.tsx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import {
1313
PublishIcon,
1414
TwitterIcon
1515
} from '../../icons';
16-
import { downloadFilter, downloadYaml } from '../CatalogDetail/helper';
17-
import { RESOURCE_TYPES } from '../CatalogDetail/types';
16+
import { downloadPattern } from '../CatalogDetail/helper';
17+
import { PATTERNS } from '../CatalogDetail/types';
1818
import { Pattern } from '../CustomCatalog/CustomCard';
1919
import { ConditionalTooltip } from '../Helpers/CondtionalTooltip';
2020
import { ColView } from '../Helpers/ResponsiveColumns/responsive-coulmns.tsx/responsive-column';
@@ -48,13 +48,13 @@ interface ColumnConfigProps {
4848
handleUnpublish?: (design: Pattern) => void;
4949
maxWidth?: boolean;
5050
getCatalogUrl: (type: string, name: string) => string;
51-
type?: string;
5251
theme?: any;
5352
showUnpublish?: boolean;
5453
showOpenPlayground?: boolean;
5554
currentUserId?: string;
5655
isCloneDisabled?: boolean;
5756
isUnpublishDisabled?: boolean;
57+
getDownloadUrl: (sorceType: string, id: string) => string;
5858
}
5959

6060
interface ActionItem {
@@ -74,15 +74,14 @@ export const createDesignColumns = ({
7474
handleUnpublish = () => {},
7575
maxWidth = true,
7676
getCatalogUrl,
77-
type,
77+
getDownloadUrl,
7878
theme,
7979
showUnpublish,
8080
currentUserId,
8181
isCloneDisabled,
8282
isUnpublishDisabled,
8383
showOpenPlayground
8484
}: ColumnConfigProps): MUIDataTableColumn[] => {
85-
const cleanedType = type?.replace('my-', '').replace(/s$/, '');
8685
return [
8786
{
8887
name: 'id',
@@ -260,11 +259,7 @@ export const createDesignColumns = ({
260259
},
261260
{
262261
title: 'Download',
263-
onClick: () => {
264-
cleanedType === RESOURCE_TYPES.FILTERS
265-
? downloadFilter(rowData.id, rowData.name)
266-
: downloadYaml(rowData.pattern_file, rowData.name);
267-
},
262+
onClick: () => downloadPattern(rowData.id, rowData.name, PATTERNS, getDownloadUrl),
268263
icon: <DownloadIcon width={24} height={24} fill={theme.palette.text.primary} />
269264
},
270265
{

0 commit comments

Comments
 (0)