mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 09:05:45 -06:00
56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
import { AppNotification, AppNotificationSeverity, AppNotificationTimeout } from 'app/types';
|
|
import { getMessageFromError } from 'app/core/utils/errors';
|
|
import { v4 as uuidv4 } from 'uuid';
|
|
|
|
const defaultSuccessNotification = {
|
|
title: '',
|
|
text: '',
|
|
severity: AppNotificationSeverity.Success,
|
|
icon: 'check',
|
|
timeout: AppNotificationTimeout.Success,
|
|
};
|
|
|
|
const defaultWarningNotification = {
|
|
title: '',
|
|
text: '',
|
|
severity: AppNotificationSeverity.Warning,
|
|
icon: 'exclamation-triangle',
|
|
timeout: AppNotificationTimeout.Warning,
|
|
};
|
|
|
|
const defaultErrorNotification = {
|
|
title: '',
|
|
text: '',
|
|
severity: AppNotificationSeverity.Error,
|
|
icon: 'exclamation-triangle',
|
|
timeout: AppNotificationTimeout.Error,
|
|
};
|
|
|
|
export const createSuccessNotification = (title: string, text = ''): AppNotification => ({
|
|
...defaultSuccessNotification,
|
|
title: title,
|
|
text: text,
|
|
id: uuidv4(),
|
|
});
|
|
|
|
export const createErrorNotification = (
|
|
title: string,
|
|
text: string | Error = '',
|
|
component?: React.ReactElement
|
|
): AppNotification => {
|
|
return {
|
|
...defaultErrorNotification,
|
|
text: getMessageFromError(text),
|
|
title,
|
|
id: uuidv4(),
|
|
component,
|
|
};
|
|
};
|
|
|
|
export const createWarningNotification = (title: string, text = ''): AppNotification => ({
|
|
...defaultWarningNotification,
|
|
title: title,
|
|
text: text,
|
|
id: uuidv4(),
|
|
});
|