fix t.replace is not a function, #661

This commit is contained in:
Alexander Zobnin
2019-02-12 22:26:40 +03:00
parent b1327bb559
commit 1913430f37
2 changed files with 13 additions and 5 deletions

View File

@@ -108,6 +108,9 @@ export class ZabbixDatasource {
// Prevent changes of original object // Prevent changes of original object
let target = _.cloneDeep(t); let target = _.cloneDeep(t);
// Migrate old targets
target = migrations.migrate(target);
this.replaceTargetVariables(target, options); this.replaceTargetVariables(target, options);
// Apply Time-related functions (timeShift(), etc) // Apply Time-related functions (timeShift(), etc)
@@ -123,9 +126,6 @@ export class ZabbixDatasource {
// Metrics or Text query mode // Metrics or Text query mode
if (!target.mode || target.mode === c.MODE_METRICS || target.mode === c.MODE_TEXT) { if (!target.mode || target.mode === c.MODE_METRICS || target.mode === c.MODE_TEXT) {
// Migrate old targets
target = migrations.migrate(target);
// Don't request undefined targets // Don't request undefined targets
if (!target.group || !target.host || !target.item) { if (!target.group || !target.host || !target.item) {
return []; return [];
@@ -534,6 +534,7 @@ export class ZabbixDatasource {
let enabled_targets = filterEnabledTargets(options.targets); let enabled_targets = filterEnabledTargets(options.targets);
let getPanelItems = _.map(enabled_targets, t => { let getPanelItems = _.map(enabled_targets, t => {
let target = _.cloneDeep(t); let target = _.cloneDeep(t);
target = migrations.migrate(target);
this.replaceTargetVariables(target, options); this.replaceTargetVariables(target, options);
return this.zabbix.getItemsFromTarget(target, {itemtype: 'num'}); return this.zabbix.getItemsFromTarget(target, {itemtype: 'num'});
}); });

View File

@@ -27,11 +27,18 @@ export function migrateFrom2To3version(target) {
export function migrate(target) { export function migrate(target) {
target.resultFormat = target.resultFormat || 'time_series'; target.resultFormat = target.resultFormat || 'time_series';
target = fixTargetGroup(target);
if (isGrafana2target(target)) { if (isGrafana2target(target)) {
return migrateFrom2To3version(target); return migrateFrom2To3version(target);
} else {
return target;
} }
return target;
}
function fixTargetGroup(target) {
if (target.group && Array.isArray(target.group)) {
target.group = { 'filter': "" };
}
return target;
} }
function convertToRegex(str) { function convertToRegex(str) {