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