diff --git a/docs/sources/dashboards/create-reports/index.md b/docs/sources/dashboards/create-reports/index.md index 60e26fca937..71efdd8d33f 100644 --- a/docs/sources/dashboards/create-reports/index.md +++ b/docs/sources/dashboards/create-reports/index.md @@ -340,11 +340,19 @@ You can configure organization-wide report settings in the **Settings** under ** You can customize the branding options. -Report branding: +### Attachment settings + +#### PDF - **Company logo:** Company logo displayed in the report PDF. It can be configured by specifying a URL, or by uploading a file. The maximum file size is 16 MB. Defaults to the Grafana logo. -Email branding: +- **Theme:** Theme of the PDF attached to the report. Defaults to **Light**. The selected theme is also applied to the PDFs generated when you click **Preview PDF** during report creation or select the **Export as PDF** option on a dashboard. If **Current** is selected, the PDF in the report will be in the Admin's instance theme, but the preview and exported PDFs will be in the user's instance theme. + +#### Embedded Image + +- **Theme:** Theme of the dashboard image embedded in the email. Defaults to **Dark**. + +### Email branding - **Company logo:** Company logo displayed in the report email. It can be configured by specifying a URL, or by uploading a file. The maximum file size is 16 MB. Defaults to the Grafana logo. - **Email footer:** Toggle to enable the report email footer. Select **Sent by** or **None**. diff --git a/public/api-enterprise-spec.json b/public/api-enterprise-spec.json index 03cfc610ab7..957d01fcb14 100644 --- a/public/api-enterprise-spec.json +++ b/public/api-enterprise-spec.json @@ -7004,6 +7004,9 @@ "branding": { "$ref": "#/definitions/ReportBrandingOptions" }, + "embeddedImageTheme": { + "type": "string" + }, "id": { "type": "integer", "format": "int64" @@ -7012,6 +7015,9 @@ "type": "integer", "format": "int64" }, + "pdfTheme": { + "type": "string" + }, "userId": { "type": "integer", "format": "int64" diff --git a/public/api-merged.json b/public/api-merged.json index 5846dc3b5ca..f54a90d84d6 100644 --- a/public/api-merged.json +++ b/public/api-merged.json @@ -19666,6 +19666,9 @@ "branding": { "$ref": "#/definitions/ReportBrandingOptions" }, + "embeddedImageTheme": { + "type": "string" + }, "id": { "type": "integer", "format": "int64" @@ -19674,6 +19677,9 @@ "type": "integer", "format": "int64" }, + "pdfTheme": { + "type": "string" + }, "userId": { "type": "integer", "format": "int64" diff --git a/public/app/features/dashboard/components/ShareModal/ThemePicker.tsx b/public/app/features/dashboard/components/ShareModal/ThemePicker.tsx index e38af724303..14a7bb2991b 100644 --- a/public/app/features/dashboard/components/ShareModal/ThemePicker.tsx +++ b/public/app/features/dashboard/components/ShareModal/ThemePicker.tsx @@ -5,9 +5,10 @@ import { t } from 'app/core/internationalization'; interface Props { selectedTheme: string; onChange: (value: string) => void; + description?: string; } -export const ThemePicker = ({ selectedTheme = 'current', onChange }: Props) => { +export const ThemePicker = ({ selectedTheme = 'current', onChange, description }: Props) => { const themeOptions: Array> = [ { label: t('share-modal.theme-picker.current', `Current`), @@ -24,7 +25,7 @@ export const ThemePicker = ({ selectedTheme = 'current', onChange }: Props) => { ]; return ( - + ); diff --git a/public/openapi3.json b/public/openapi3.json index 51429db556e..67c19b89eae 100644 --- a/public/openapi3.json +++ b/public/openapi3.json @@ -9624,6 +9624,9 @@ "branding": { "$ref": "#/components/schemas/ReportBrandingOptions" }, + "embeddedImageTheme": { + "type": "string" + }, "id": { "format": "int64", "type": "integer" @@ -9632,6 +9635,9 @@ "format": "int64", "type": "integer" }, + "pdfTheme": { + "type": "string" + }, "userId": { "format": "int64", "type": "integer"