From 21af99c9b986fc5625471d9e862cb8addcbefb16 Mon Sep 17 00:00:00 2001 From: Octavio Ranieri <60898133+octavioranieri@users.noreply.github.com> Date: Mon, 6 Jul 2020 14:49:56 -0300 Subject: [PATCH] [Canvas] Fix falsey/null value bug for dropdown choices (#69290) * Fixed falsey/null value bug for dropdown choices * Filter only null and undefined values Co-authored-by: Elastic Machine --- .../canvas_plugin_src/functions/common/dropdownControl.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/dropdownControl.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/dropdownControl.ts index 7231f01671e0..74a9061b5df2 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/dropdownControl.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/dropdownControl.ts @@ -52,8 +52,12 @@ export function dropdownControl(): ExpressionFunctionDefinition< fn: (input, { valueColumn, filterColumn, filterGroup }) => { let choices = []; - if (input.rows[0][valueColumn]) { - choices = uniq(input.rows.map((row) => row[valueColumn])).sort(); + const filteredRows = input.rows.filter( + (row) => row[valueColumn] !== null && row[valueColumn] !== undefined + ); + + if (filteredRows.length > 0) { + choices = uniq(filteredRows.map((row) => row[valueColumn])).sort(); } const column = filterColumn || valueColumn;