diff --git a/public/app/features/dashboard-scene/saving/SaveDashboardAsForm.tsx b/public/app/features/dashboard-scene/saving/SaveDashboardAsForm.tsx index d8a72c7beba..805fdebbe1f 100644 --- a/public/app/features/dashboard-scene/saving/SaveDashboardAsForm.tsx +++ b/public/app/features/dashboard-scene/saving/SaveDashboardAsForm.tsx @@ -29,7 +29,7 @@ export interface Props { export function SaveDashboardAsForm({ dashboard, drawer, changeInfo }: Props) { const { changedSaveModel } = changeInfo; - const { register, handleSubmit, setValue, formState, getValues } = useForm({ + const { register, handleSubmit, setValue, formState, getValues, watch } = useForm({ mode: 'onBlur', defaultValues: { title: changeInfo.isNew ? changedSaveModel.title! : `${changedSaveModel.title} Copy`, @@ -41,8 +41,9 @@ export function SaveDashboardAsForm({ dashboard, drawer, changeInfo }: Props) { copyTags: false, }, }); + const { errors, isValid, defaultValues } = formState; - const formValues = getValues(); + const formValues = watch(); const { state, onSaveDashboard } = useDashboardSave(false); diff --git a/public/app/features/dashboard-scene/saving/SaveDashboardDrawer.test.tsx b/public/app/features/dashboard-scene/saving/SaveDashboardDrawer.test.tsx index a4eeff81004..71b525ea389 100644 --- a/public/app/features/dashboard-scene/saving/SaveDashboardDrawer.test.tsx +++ b/public/app/features/dashboard-scene/saving/SaveDashboardDrawer.test.tsx @@ -31,7 +31,7 @@ describe('SaveDashboardDrawer', () => { setup().openAndRender(); expect(await screen.findByText('Save dashboard')).toBeInTheDocument(); - expect(screen.queryByText('Save current time range')).not.toBeInTheDocument(); + expect(screen.queryByLabelText(selectors.pages.SaveDashboardModal.saveTimerange)).not.toBeInTheDocument(); expect(screen.getByText('No changes to save')).toBeInTheDocument(); expect(screen.queryByLabelText('Tab Changes')).not.toBeInTheDocument(); }); @@ -49,7 +49,7 @@ describe('SaveDashboardDrawer', () => { openAndRender(); expect(await screen.findByText('Save dashboard')).toBeInTheDocument(); - expect(screen.queryByText('Save current time range')).toBeInTheDocument(); + expect(screen.queryByLabelText(selectors.pages.SaveDashboardModal.saveTimerange)).toBeInTheDocument(); }); it('Should update diff when including time range is', async () => { @@ -60,7 +60,7 @@ describe('SaveDashboardDrawer', () => { openAndRender(); expect(await screen.findByText('Save dashboard')).toBeInTheDocument(); - expect(screen.queryByText('Save current time range')).toBeInTheDocument(); + expect(screen.queryByLabelText(selectors.pages.SaveDashboardModal.saveTimerange)).toBeInTheDocument(); expect(screen.queryByLabelText('Tab Changes')).not.toBeInTheDocument(); await userEvent.click(screen.getByLabelText(selectors.pages.SaveDashboardModal.saveTimerange)); diff --git a/public/app/features/dashboard-scene/saving/SaveDashboardDrawer.tsx b/public/app/features/dashboard-scene/saving/SaveDashboardDrawer.tsx index 8855015a913..b9dd8acaddf 100644 --- a/public/app/features/dashboard-scene/saving/SaveDashboardDrawer.tsx +++ b/public/app/features/dashboard-scene/saving/SaveDashboardDrawer.tsx @@ -8,6 +8,7 @@ import { DashboardScene } from '../scene/DashboardScene'; import { SaveDashboardAsForm } from './SaveDashboardAsForm'; import { SaveDashboardForm } from './SaveDashboardForm'; +import { SaveProvisionedDashboardForm } from './SaveProvisionedDashboardForm'; import { getSaveDashboardChange } from './getSaveDashboardChange'; interface SaveDashboardDrawerState extends SceneObjectState { @@ -36,6 +37,7 @@ export class SaveDashboardDrawer extends SceneObjectBase @@ -54,12 +56,10 @@ export class SaveDashboardDrawer extends SceneObjectBase { if (showDiff) { return ; @@ -69,6 +69,10 @@ export class SaveDashboardDrawer extends SceneObjectBase; } + if (isProvisioned) { + return ; + } + return ; }; diff --git a/public/app/features/dashboard-scene/saving/SaveDashboardForm.tsx b/public/app/features/dashboard-scene/saving/SaveDashboardForm.tsx index d931944a7c4..9aa39f79c4f 100644 --- a/public/app/features/dashboard-scene/saving/SaveDashboardForm.tsx +++ b/public/app/features/dashboard-scene/saving/SaveDashboardForm.tsx @@ -24,8 +24,7 @@ export interface Props { } export function SaveDashboardForm({ dashboard, drawer, changeInfo }: Props) { - const { saveVariables = false, saveTimeRange = false } = drawer.useState(); - const { changedSaveModel, hasChanges, hasTimeChanges, hasVariableValueChanges } = changeInfo; + const { changedSaveModel, hasChanges } = changeInfo; const { state, onSaveDashboard } = useDashboardSave(false); const [options, setOptions] = useState({ @@ -102,29 +101,9 @@ export function SaveDashboardForm({ dashboard, drawer, changeInfo }: Props) { return ( - {hasTimeChanges && ( - - - - )} - {hasVariableValueChanges && ( - - - - )} + {/* config.featureToggles.dashgpt * TOOD GenAIDashboardChangesButton */} -