From e74ed2c5c27b8dcc5cd83a8f84e3113c210c3b80 Mon Sep 17 00:00:00 2001 From: Suchit Sahoo <38322563+LDrago27@users.noreply.github.com> Date: Tue, 11 Jun 2024 22:09:44 -0700 Subject: [PATCH] Add Scripted Field Support in Vis Builder (#6974) Signed-off-by: Suchit Sahoo --- .../data_tab/utils/get_available_fields.test.ts | 17 ++++++++++++++++- .../data_tab/utils/get_available_fields.ts | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/plugins/vis_builder/public/application/components/data_tab/utils/get_available_fields.test.ts b/src/plugins/vis_builder/public/application/components/data_tab/utils/get_available_fields.test.ts index 60cb780245c7..9cf51b67d43c 100644 --- a/src/plugins/vis_builder/public/application/components/data_tab/utils/get_available_fields.test.ts +++ b/src/plugins/vis_builder/public/application/components/data_tab/utils/get_available_fields.test.ts @@ -44,7 +44,7 @@ describe('getAvailableFields', () => { }, ]); - expect(getAvailableFields(fields).length).toBe(1); + expect(getAvailableFields(fields).length).toBe(2); }); test('should return all fields if filterFieldTypes was not specified', () => { @@ -60,6 +60,21 @@ describe('getAvailableFields', () => { expect(getAvailableFields(fields).length).toBe(2); }); + test('should return scripted fields', () => { + const fields = createIndexFields([ + { + name: 'field 1', + scripted: true, + }, + { + name: 'field 2', + scripted: true, + }, + ]); + + expect(getAvailableFields(fields).length).toBe(2); + }); + test('should filterFieldTypes', () => { const fields = createIndexFields([ { diff --git a/src/plugins/vis_builder/public/application/components/data_tab/utils/get_available_fields.ts b/src/plugins/vis_builder/public/application/components/data_tab/utils/get_available_fields.ts index d938e92b6978..f6719f16ec2a 100644 --- a/src/plugins/vis_builder/public/application/components/data_tab/utils/get_available_fields.ts +++ b/src/plugins/vis_builder/public/application/components/data_tab/utils/get_available_fields.ts @@ -17,7 +17,7 @@ export const getAvailableFields = ( filterFieldTypes: FieldTypes = '*' ) => { const filteredFields = fields.filter((field: IndexPatternField) => { - if (!field.aggregatable || isNestedField(field) || field.scripted) { + if (!field.aggregatable || isNestedField(field)) { return false; }