DashboardScene: Fix constant variable not being hidden after creation (#85196)

scenes-empty-issues
Dominik Prokop 1 year ago committed by GitHub
parent 0c78d80ef1
commit ae9a4b6467
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 12
      public/app/features/dashboard-scene/settings/variables/utils.test.ts
  2. 4
      public/app/features/dashboard-scene/settings/variables/utils.ts

@ -11,7 +11,7 @@ import {
TextBoxVariable,
SceneVariableSet,
} from '@grafana/scenes';
import { DataQuery, DataSourceJsonData, VariableType } from '@grafana/schema';
import { DataQuery, DataSourceJsonData, VariableHide, VariableType } from '@grafana/schema';
import { SHARED_DASHBOARD_QUERY } from 'app/plugins/datasource/dashboard';
import { DASHBOARD_DATASOURCE_PLUGIN_ID } from 'app/plugins/datasource/dashboard/types';
@ -226,7 +226,6 @@ describe('getVariableScene', () => {
it.each([
['custom', CustomVariable],
['query', QueryVariable],
['constant', ConstantVariable],
['interval', IntervalVariable],
['datasource', DataSourceVariable],
['adhoc', AdHocFiltersVariable],
@ -237,6 +236,15 @@ describe('getVariableScene', () => {
const sceneVariable = getVariableScene(type as EditableVariableType, initialState);
expect(sceneVariable).toBeInstanceOf(instanceType);
expect(sceneVariable.state.name).toBe(initialState.name);
expect(sceneVariable.state.hide).toBe(undefined);
});
it('should return the scene variable instance for the constant editable variable type', () => {
const initialState = { name: 'MyVariable' };
const sceneVariable = getVariableScene('constant' as EditableVariableType, initialState);
expect(sceneVariable).toBeInstanceOf(ConstantVariable);
expect(sceneVariable.state.name).toBe(initialState.name);
expect(sceneVariable.state.hide).toBe(VariableHide.hideVariable);
});
});

@ -17,7 +17,7 @@ import {
AdHocFiltersVariable,
SceneVariableState,
} from '@grafana/scenes';
import { VariableType } from '@grafana/schema';
import { VariableHide, VariableType } from '@grafana/schema';
import { getIntervalsQueryFromNewIntervalModel } from '../../utils/utils';
@ -127,7 +127,7 @@ export function getVariableScene(type: EditableVariableType, initialState: Commo
case 'query':
return new QueryVariable(initialState);
case 'constant':
return new ConstantVariable(initialState);
return new ConstantVariable({ ...initialState, hide: VariableHide.hideVariable });
case 'interval':
return new IntervalVariable(initialState);
case 'datasource':

Loading…
Cancel
Save