diff --git a/public/app/features/dashboard/components/SaveDashboard/SaveDashboardDrawer.tsx b/public/app/features/dashboard/components/SaveDashboard/SaveDashboardDrawer.tsx
index 01fd4680c12..cc5015ae9bb 100644
--- a/public/app/features/dashboard/components/SaveDashboard/SaveDashboardDrawer.tsx
+++ b/public/app/features/dashboard/components/SaveDashboard/SaveDashboardDrawer.tsx
@@ -153,7 +153,9 @@ export const SaveDashboardDrawer = ({ dashboard, onDismiss, onSaveSuccess, isCop
tabs={
setShowDiff(false)} />
- setShowDiff(true)} counter={data.diffCount} />
+ {data.hasChanges && (
+ setShowDiff(true)} counter={data.diffCount} />
+ )}
}
expandable
diff --git a/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.test.tsx b/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.test.tsx
index 78e2dbfe462..538b91de9d4 100644
--- a/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.test.tsx
+++ b/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.test.tsx
@@ -119,4 +119,33 @@ describe('SaveDashboardAsForm', () => {
});
});
});
+ describe('saved message draft rendered', () => {
+ it('renders saved message draft if it was filled before', () => {
+ render(
+ {}}
+ onSuccess={() => {}}
+ onSubmit={async () => {
+ return {};
+ }}
+ saveModel={{
+ clone: new DashboardModel({}),
+ diff: {},
+ diffCount: 0,
+ hasChanges: true,
+ }}
+ options={{ message: 'Saved draft' }}
+ onOptionsChange={(opts: SaveDashboardOptions) => {
+ return;
+ }}
+ />
+ );
+
+ const messageTextArea = screen.getByLabelText('message');
+
+ expect(messageTextArea).toBeInTheDocument();
+ expect(messageTextArea).toHaveTextContent('Saved draft');
+ });
+ });
});
diff --git a/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx b/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx
index 7abfdcc8e1f..ce917acf525 100644
--- a/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx
+++ b/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx
@@ -57,53 +57,69 @@ export const SaveDashboardForm = ({
}
}}
>
- {({ register, errors }) => (
-
- {hasTimeChanged && (
-
+ {({ register, errors }) => {
+ const messageProps = register('message');
+ return (
+
+ {hasTimeChanged && (
+
+ onOptionsChange({
+ ...options,
+ saveTimerange: !options.saveTimerange,
+ })
+ }
+ label="Save current time range as dashboard default"
+ aria-label={selectors.pages.SaveDashboardModal.saveTimerange}
+ />
+ )}
+ {hasVariableChanged && (
+
+ onOptionsChange({
+ ...options,
+ saveVariables: !options.saveVariables,
+ })
+ }
+ label="Save current variable values as dashboard default"
+ aria-label={selectors.pages.SaveDashboardModal.saveVariables}
+ />
+ )}
+
- )}
+ );
+ }}
);
};