Scenes: Fix public dashboard email sharing section (#84467)

This commit is contained in:
Juan Cabanas 2024-03-20 12:00:19 -03:00 committed by GitHub
parent 311aa94fab
commit 98a6b5debf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 8 deletions

View File

@ -124,7 +124,7 @@ export function ConfigPublicDashboardBase({
<UnsupportedDataSourcesAlert unsupportedDataSources={unsupportedDatasources.join(', ')} />
)}
{hasEmailSharingEnabled && <EmailSharingConfiguration />}
{hasEmailSharingEnabled && <EmailSharingConfiguration dashboard={dashboard} />}
<Field
label={t('public-dashboard.config.dashboard-url-field-label', 'Dashboard URL')}

View File

@ -15,8 +15,10 @@ import {
useReshareAccessToRecipientMutation,
useUpdatePublicDashboardMutation,
} from 'app/features/dashboard/api/publicDashboardApi';
import { DashboardModel } from 'app/features/dashboard/state/DashboardModel';
import { DashboardScene } from 'app/features/dashboard-scene/scene/DashboardScene';
import { DashboardInteractions } from 'app/features/dashboard-scene/utils/interactions';
import { AccessControlAction, useSelector } from 'app/types';
import { AccessControlAction } from 'app/types';
import { PublicDashboard, PublicDashboardShareType, validEmailRegex } from '../SharePublicDashboardUtils';
@ -93,13 +95,12 @@ const EmailList = ({
);
};
export const EmailSharingConfiguration = () => {
export const EmailSharingConfiguration = ({ dashboard }: { dashboard: DashboardModel | DashboardScene }) => {
const { width } = useWindowSize();
const styles = useStyles2(getStyles);
const dashboardState = useSelector((store) => store.dashboard);
const dashboard = dashboardState.getModel()!;
const { data: publicDashboard } = useGetPublicDashboardQuery(dashboard.uid);
const dashboardUid = dashboard instanceof DashboardScene ? dashboard.state.uid : dashboard.uid;
const { data: publicDashboard } = useGetPublicDashboardQuery(dashboardUid);
const [updateShareType] = useUpdatePublicDashboardMutation();
const [addEmail, { isLoading: isAddEmailLoading }] = useAddRecipientMutation();
@ -135,7 +136,7 @@ export const EmailSharingConfiguration = () => {
const onSubmit = async (data: EmailSharingConfigurationForm) => {
DashboardInteractions.publicDashboardEmailInviteClicked();
await addEmail({ recipient: data.email, uid: publicDashboard!.uid, dashboardUid: dashboard.uid }).unwrap();
await addEmail({ recipient: data.email, uid: publicDashboard!.uid, dashboardUid }).unwrap();
reset({ email: '', shareType: PublicDashboardShareType.EMAIL });
};
@ -215,7 +216,7 @@ export const EmailSharingConfiguration = () => {
{!!publicDashboard?.recipients?.length && (
<EmailList
recipients={publicDashboard.recipients}
dashboardUid={dashboard.uid}
dashboardUid={dashboardUid}
publicDashboardUid={publicDashboard.uid}
/>
)}