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

This commit is contained in:
Dominik Prokop 2024-03-28 15:29:48 +01:00 committed by GitHub
parent 0c78d80ef1
commit ae9a4b6467
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 4 deletions

View File

@ -11,7 +11,7 @@ import {
TextBoxVariable, TextBoxVariable,
SceneVariableSet, SceneVariableSet,
} from '@grafana/scenes'; } 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 { SHARED_DASHBOARD_QUERY } from 'app/plugins/datasource/dashboard';
import { DASHBOARD_DATASOURCE_PLUGIN_ID } from 'app/plugins/datasource/dashboard/types'; import { DASHBOARD_DATASOURCE_PLUGIN_ID } from 'app/plugins/datasource/dashboard/types';
@ -226,7 +226,6 @@ describe('getVariableScene', () => {
it.each([ it.each([
['custom', CustomVariable], ['custom', CustomVariable],
['query', QueryVariable], ['query', QueryVariable],
['constant', ConstantVariable],
['interval', IntervalVariable], ['interval', IntervalVariable],
['datasource', DataSourceVariable], ['datasource', DataSourceVariable],
['adhoc', AdHocFiltersVariable], ['adhoc', AdHocFiltersVariable],
@ -237,6 +236,15 @@ describe('getVariableScene', () => {
const sceneVariable = getVariableScene(type as EditableVariableType, initialState); const sceneVariable = getVariableScene(type as EditableVariableType, initialState);
expect(sceneVariable).toBeInstanceOf(instanceType); expect(sceneVariable).toBeInstanceOf(instanceType);
expect(sceneVariable.state.name).toBe(initialState.name); 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);
}); });
}); });

View File

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