Problems: fix tags add/remove
This commit is contained in:
@@ -456,8 +456,6 @@ export class ZabbixDatasource {
|
||||
|
||||
return problemsPromises.then(problems => {
|
||||
const problemsDataFrame = problemsHandler.toDataFrame(problems);
|
||||
console.log(problems);
|
||||
console.log(problemsDataFrame);
|
||||
return problemsDataFrame;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,10 +1,21 @@
|
||||
import _ from 'lodash';
|
||||
import { getNextRefIdChar } from './utils';
|
||||
import { getDefaultTarget } from './triggers_panel_ctrl';
|
||||
|
||||
// Actual schema version
|
||||
export const CURRENT_SCHEMA_VERSION = 8;
|
||||
|
||||
export const getDefaultTarget = (targets?) => {
|
||||
return {
|
||||
group: {filter: ""},
|
||||
host: {filter: ""},
|
||||
application: {filter: ""},
|
||||
trigger: {filter: ""},
|
||||
tags: {filter: ""},
|
||||
proxy: {filter: ""},
|
||||
refId: getNextRefIdChar(targets),
|
||||
};
|
||||
};
|
||||
|
||||
export function getDefaultTargetOptions() {
|
||||
return {
|
||||
hostsInMaintenance: true,
|
||||
@@ -89,6 +100,7 @@ export function migratePanelSchema(panel) {
|
||||
// set queryType to PROBLEMS
|
||||
target.queryType = 5;
|
||||
target.options = getDefaultTargetOptions();
|
||||
_.defaults(target, {tags: {filter: ""}});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -266,25 +266,32 @@ export class TriggerPanelCtrl extends MetricsPanelCtrl {
|
||||
}
|
||||
|
||||
addTagFilter(tag, datasource) {
|
||||
const target = this.panel.targets.find(t => t.datasource === datasource);
|
||||
let tagFilter = target.tags.filter;
|
||||
let targetTags = this.parseTags(tagFilter);
|
||||
let newTag = {tag: tag.tag, value: tag.value};
|
||||
targetTags.push(newTag);
|
||||
targetTags = _.uniqWith(targetTags, _.isEqual);
|
||||
let newFilter = this.tagsToString(targetTags);
|
||||
target.tags.filter = newFilter;
|
||||
for (const target of this.panel.targets) {
|
||||
if (target.datasource === datasource || this.panel.datasource === datasource) {
|
||||
let tagFilter = target.tags.filter;
|
||||
let targetTags = this.parseTags(tagFilter);
|
||||
let newTag = {tag: tag.tag, value: tag.value};
|
||||
targetTags.push(newTag);
|
||||
targetTags = _.uniqWith(targetTags, _.isEqual);
|
||||
let newFilter = this.tagsToString(targetTags);
|
||||
target.tags.filter = newFilter;
|
||||
}
|
||||
}
|
||||
this.refresh();
|
||||
}
|
||||
|
||||
removeTagFilter(tag, datasource) {
|
||||
const target = this.panel.targets.find(t => t.datasource === datasource);
|
||||
let tagFilter = target.tags.filter;
|
||||
let targetTags = this.parseTags(tagFilter);
|
||||
_.remove(targetTags, t => t.tag === tag.tag && t.value === tag.value);
|
||||
targetTags = _.uniqWith(targetTags, _.isEqual);
|
||||
let newFilter = this.tagsToString(targetTags);
|
||||
target.tags.filter = newFilter;
|
||||
const matchTag = t => t.tag === tag.tag && t.value === tag.value;
|
||||
for (const target of this.panel.targets) {
|
||||
if (target.datasource === datasource || this.panel.datasource === datasource) {
|
||||
let tagFilter = target.tags.filter;
|
||||
let targetTags = this.parseTags(tagFilter);
|
||||
_.remove(targetTags, matchTag);
|
||||
targetTags = _.uniqWith(targetTags, _.isEqual);
|
||||
let newFilter = this.tagsToString(targetTags);
|
||||
target.tags.filter = newFilter;
|
||||
}
|
||||
}
|
||||
this.refresh();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user