mirror of
https://github.com/grafana/grafana.git
synced 2024-12-02 13:39:19 -06:00
Added refId to missing queries on panel model init
This commit is contained in:
parent
db2a15daf0
commit
018fef0400
@ -62,7 +62,7 @@ const mustKeepProps: { [str: string]: boolean } = {
|
||||
const defaults: any = {
|
||||
gridPos: { x: 0, y: 0, h: 3, w: 6 },
|
||||
datasource: null,
|
||||
targets: [{}],
|
||||
targets: [{ refId: 'A' }],
|
||||
cachedPluginOptions: {},
|
||||
transparent: false,
|
||||
};
|
||||
@ -83,7 +83,7 @@ export class PanelModel {
|
||||
collapsed?: boolean;
|
||||
panels?: any;
|
||||
soloMode?: boolean;
|
||||
targets: any[];
|
||||
targets: DataQuery[];
|
||||
datasource: string;
|
||||
thresholds?: any;
|
||||
|
||||
@ -118,6 +118,18 @@ export class PanelModel {
|
||||
|
||||
// defaults
|
||||
_.defaultsDeep(this, _.cloneDeep(defaults));
|
||||
// queries must have refId
|
||||
this.ensureQueryIds();
|
||||
}
|
||||
|
||||
ensureQueryIds() {
|
||||
if (this.targets) {
|
||||
for (const query of this.targets) {
|
||||
if (!query.refId) {
|
||||
query.refId = this.getNextQueryLetter();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getOptions(panelDefaults) {
|
||||
@ -243,7 +255,7 @@ export class PanelModel {
|
||||
addQuery(query?: Partial<DataQuery>) {
|
||||
query = query || { refId: 'A' };
|
||||
query.refId = this.getNextQueryLetter();
|
||||
this.targets.push(query);
|
||||
this.targets.push(query as DataQuery);
|
||||
}
|
||||
|
||||
getNextQueryLetter(): string {
|
||||
|
@ -9,6 +9,10 @@ describe('PanelModel', () => {
|
||||
model = new PanelModel({
|
||||
type: 'table',
|
||||
showColumns: true,
|
||||
targets: [
|
||||
{refId: 'A'},
|
||||
{noRefId: true}
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
@ -20,6 +24,10 @@ describe('PanelModel', () => {
|
||||
expect(model.showColumns).toBe(true);
|
||||
});
|
||||
|
||||
it('should add missing refIds', () => {
|
||||
expect(model.targets[1].refId).toBe('B');
|
||||
});
|
||||
|
||||
it('getSaveModel should remove defaults', () => {
|
||||
const saveModel = model.getSaveModel();
|
||||
expect(saveModel.gridPos).toBe(undefined);
|
||||
|
Loading…
Reference in New Issue
Block a user