mirror of https://github.com/buster-so/buster.git
updates
This commit is contained in:
parent
3999262ce8
commit
a496169741
|
@ -1,6 +1,6 @@
|
|||
import React, { useMemo } from 'react';
|
||||
import { ShareRole } from '@/api/asset_interfaces';
|
||||
import { DropdownItem, DropdownItems, DropdownLabel } from '@/components/ui/dropdown';
|
||||
import { DropdownItem, DropdownLabel } from '@/components/ui/dropdown';
|
||||
import { Text } from '@/components/ui/typography';
|
||||
import { useMemoizedFn } from '@/hooks';
|
||||
import { Separator } from '@/components/ui/seperator';
|
||||
|
|
|
@ -6,7 +6,7 @@ import { AppTooltip } from '@/components/ui/tooltip';
|
|||
import { useMemoizedFn } from '@/hooks';
|
||||
import { BusterShare, ShareAssetType } from '@/api/asset_interfaces';
|
||||
import { ShareMenuContent } from './ShareMenuContent';
|
||||
import { isShareMenuVisible } from './publicHelpers';
|
||||
import { isShareMenuVisible } from './helpers';
|
||||
import { ShareMenuTopBar, ShareMenuTopBarOptions } from './ShareMenuTopBar';
|
||||
import { createBusterRoute, BusterRoutes } from '@/routes';
|
||||
import { useBusterNotifications } from '@/context/BusterNotifications';
|
||||
|
|
|
@ -0,0 +1,114 @@
|
|||
import type { Meta, StoryObj } from '@storybook/react';
|
||||
import { ShareMenuContent } from './ShareMenuContent';
|
||||
import { BusterShare, ShareAssetType, ShareRole } from '@/api/asset_interfaces';
|
||||
import { ShareMenuTopBarOptions } from './ShareMenuTopBar';
|
||||
|
||||
const meta: Meta<typeof ShareMenuContent> = {
|
||||
title: 'Features/Share/ShareMenuContent',
|
||||
component: ShareMenuContent,
|
||||
parameters: {
|
||||
layout: 'centered'
|
||||
},
|
||||
decorators: [
|
||||
(Story) => (
|
||||
<div
|
||||
style={{
|
||||
width: '400px',
|
||||
height: '400px',
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center'
|
||||
}}>
|
||||
<Story />
|
||||
</div>
|
||||
)
|
||||
]
|
||||
};
|
||||
|
||||
export default meta;
|
||||
type Story = StoryObj<typeof ShareMenuContent>;
|
||||
|
||||
const mockShareAssetConfig: BusterShare = {
|
||||
sharingKey: 'test-key',
|
||||
individual_permissions: [
|
||||
{
|
||||
email: 'test@example.com',
|
||||
role: ShareRole.VIEWER,
|
||||
id: '1',
|
||||
name: 'Test User'
|
||||
}
|
||||
],
|
||||
team_permissions: [
|
||||
{
|
||||
name: 'Engineering',
|
||||
id: 'team-1',
|
||||
role: ShareRole.EDITOR
|
||||
}
|
||||
],
|
||||
organization_permissions: [],
|
||||
password_secret_id: null,
|
||||
public_expiry_date: null,
|
||||
public_enabled_by: null,
|
||||
publicly_accessible: false,
|
||||
public_password: null,
|
||||
permission: ShareRole.OWNER
|
||||
};
|
||||
|
||||
export const ShareTab: Story = {
|
||||
args: {
|
||||
shareAssetConfig: mockShareAssetConfig,
|
||||
assetId: 'test-asset-id',
|
||||
assetType: ShareAssetType.METRIC,
|
||||
selectedOptions: ShareMenuTopBarOptions.Share,
|
||||
onCopyLink: () => console.log('Copy link clicked'),
|
||||
setOpenShareWithGroupAndTeam: () => console.log('Open share with group and team'),
|
||||
goBack: () => console.log('Go back clicked')
|
||||
}
|
||||
};
|
||||
|
||||
export const PublishTab: Story = {
|
||||
args: {
|
||||
...ShareTab.args,
|
||||
selectedOptions: ShareMenuTopBarOptions.Publish
|
||||
}
|
||||
};
|
||||
|
||||
export const EmbedTab: Story = {
|
||||
args: {
|
||||
...ShareTab.args,
|
||||
selectedOptions: ShareMenuTopBarOptions.Embed
|
||||
}
|
||||
};
|
||||
|
||||
export const ShareWithGroupAndTeamTab: Story = {
|
||||
args: {
|
||||
...ShareTab.args,
|
||||
selectedOptions: ShareMenuTopBarOptions.ShareWithGroupAndTeam
|
||||
}
|
||||
};
|
||||
|
||||
export const DashboardAsset: Story = {
|
||||
args: {
|
||||
...ShareTab.args,
|
||||
assetType: ShareAssetType.DASHBOARD
|
||||
}
|
||||
};
|
||||
|
||||
export const CollectionAsset: Story = {
|
||||
args: {
|
||||
...ShareTab.args,
|
||||
assetType: ShareAssetType.COLLECTION
|
||||
}
|
||||
};
|
||||
|
||||
export const WithPublicAccess: Story = {
|
||||
args: {
|
||||
...ShareTab.args,
|
||||
shareAssetConfig: {
|
||||
...mockShareAssetConfig,
|
||||
publicly_accessible: true,
|
||||
public_password: 'test-password',
|
||||
public_expiry_date: '2024-12-31T23:59:59Z'
|
||||
}
|
||||
}
|
||||
};
|
|
@ -1,7 +1,6 @@
|
|||
import { type BusterShare, ShareRole, ShareAssetType } from '@/api/asset_interfaces';
|
||||
import React, { useState } from 'react';
|
||||
import { type BusterShare, ShareAssetType } from '@/api/asset_interfaces';
|
||||
import React from 'react';
|
||||
import { ShareMenuTopBarOptions } from './ShareMenuTopBar';
|
||||
import { useMemoizedFn } from '@/hooks';
|
||||
import { ShareMenuContentBody } from './ShareMenuContentBody';
|
||||
|
||||
export const ShareMenuContent: React.FC<{
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
export * from './ShareMenu';
|
||||
export * from './publicHelpers';
|
||||
|
|
|
@ -412,9 +412,7 @@ const useDeleteMetricSelectMenu = ({ metricId }: { metricId: string }) => {
|
|||
};
|
||||
|
||||
const useRenameMetricSelectMenu = ({ metricId }: { metricId: string }) => {
|
||||
const { mutateAsync: updateMetric } = useUpdateMetric();
|
||||
const onSetFileView = useChatLayoutContextSelector((x) => x.onSetFileView);
|
||||
|
||||
return useMemo(
|
||||
() => ({
|
||||
label: 'Rename metric',
|
||||
|
@ -444,6 +442,6 @@ export const useShareMenuSelectMenu = ({ metricId }: { metricId: string }) => {
|
|||
icon: <ShareRight />,
|
||||
items: [<div className="bg-red-200 p-2">SWAG</div>]
|
||||
}),
|
||||
[]
|
||||
[metricId]
|
||||
);
|
||||
};
|
||||
|
|
|
@ -25,5 +25,5 @@
|
|||
}
|
||||
},
|
||||
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
||||
"exclude": ["node_modules", "**/*.stories.tsx", "**/*.stories.ts"]
|
||||
"exclude": ["node_modules"]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue