From 45e8db5b32274470dde19d09e7eab7b524a24966 Mon Sep 17 00:00:00 2001 From: nikbapat Date: Thu, 1 Jul 2021 16:33:31 -0700 Subject: [PATCH 1/2] allow user to pass multiple filters --- src/commands/custom_command.ts | 11 ++++++++--- src/looker.ts | 6 +++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/commands/custom_command.ts b/src/commands/custom_command.ts index 8fb29e7d..e0b6b146 100644 --- a/src/commands/custom_command.ts +++ b/src/commands/custom_command.ts @@ -21,9 +21,14 @@ export class CustomCommand extends Command { const filters: {[key: string]: string} = {} const dashboardFilters = dashboard.dashboard_filters || dashboard.filters - for (const filter of dashboardFilters) { - filters[filter.name] = query - } + const params = query.split(";") + const usedFilters = dashboardFilters.slice(0, params.length) + var iterator = params.values() + + usedFilters.forEach(function (value: any) { + filters[value.name] = iterator.next().value + }) + const runner = new DashboardQueryRunner(context, matchedCommand.dashboard, filters) runner.start() diff --git a/src/looker.ts b/src/looker.ts index 7dea1daa..fdec8025 100644 --- a/src/looker.ts +++ b/src/looker.ts @@ -104,7 +104,11 @@ export class Looker { const dashboardFilters = dashboard.dashboard_filters || dashboard.filters if (dashboardFilters && dashboardFilters.length > 0) { - command.helptext = `<${dashboardFilters[0].title.toLowerCase()}>` + let descText = "" + dashboardFilters.forEach(function (value: any) { + descText += `<${value.title.toLowerCase()}>` + }) + command.helptext = descText } Looker.customCommands[command.name] = command From fdb9a8f42219889c4edce12722aebbdb0e5f7edf Mon Sep 17 00:00:00 2001 From: nikbapat Date: Fri, 2 Jul 2021 02:30:29 -0700 Subject: [PATCH 2/2] add semicolons in help menu --- src/looker.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/looker.ts b/src/looker.ts index fdec8025..25ca4a11 100644 --- a/src/looker.ts +++ b/src/looker.ts @@ -107,8 +107,9 @@ export class Looker { let descText = "" dashboardFilters.forEach(function (value: any) { descText += `<${value.title.toLowerCase()}>` + descText += ";" }) - command.helptext = descText + command.helptext = descText.substring(0, descText.length - 1) } Looker.customCommands[command.name] = command