From a7751fbb827753e777a503622e051a1d242e46b0 Mon Sep 17 00:00:00 2001 From: Dhruv Parmar <83108871+dhruvjsx@users.noreply.github.com> Date: Tue, 15 Apr 2025 14:32:15 +0530 Subject: [PATCH] Made Fields immutable for Applications (#20799) * Made dropdown immutable for input field * added tests * removed test --- .../QueryBuilderWidget/QueryBuilderWidget.tsx | 5 +++++ .../QueryBuilderWidget/query-builder-widget.less | 5 +++++ .../main/resources/ui/src/utils/QueryBuilderUtils.tsx | 9 ++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/Form/JSONSchema/JsonSchemaWidgets/QueryBuilderWidget/QueryBuilderWidget.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/Form/JSONSchema/JsonSchemaWidgets/QueryBuilderWidget/QueryBuilderWidget.tsx index ffa633bdab3..96ee6ae3866 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/Form/JSONSchema/JsonSchemaWidgets/QueryBuilderWidget/QueryBuilderWidget.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/Form/JSONSchema/JsonSchemaWidgets/QueryBuilderWidget/QueryBuilderWidget.tsx @@ -51,6 +51,7 @@ import { elasticsearchToJsonLogic, getJsonTreeFromQueryFilter, jsonLogicToElasticsearch, + READONLY_SETTINGS, } from '../../../../../../utils/QueryBuilderUtils'; import searchClassBase from '../../../../../../utils/SearchClassBase'; import { withAdvanceSearch } from '../../../../../AppRouter/withAdvanceSearch'; @@ -266,6 +267,10 @@ const QueryBuilderWidget: FC = ({ )} + settings={{ + ...config.settings, + ...(props.readonly ? READONLY_SETTINGS : {}), + }} value={treeInternal} onChange={handleChange} /> diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/Form/JSONSchema/JsonSchemaWidgets/QueryBuilderWidget/query-builder-widget.less b/openmetadata-ui/src/main/resources/ui/src/components/common/Form/JSONSchema/JsonSchemaWidgets/QueryBuilderWidget/query-builder-widget.less index f5081f8baf1..b4cc791a90b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/Form/JSONSchema/JsonSchemaWidgets/QueryBuilderWidget/query-builder-widget.less +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/Form/JSONSchema/JsonSchemaWidgets/QueryBuilderWidget/query-builder-widget.less @@ -50,6 +50,11 @@ } .query-builder-form-field { + .ant-select-disabled.ant-select:not(.ant-select-customize-input) + .ant-select-selector { + color: @black; + background-color: @background-color; + } .hide--line.one--child { margin-top: 0; padding-top: 16px; diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx index db49beb86e1..a6454d262d8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx @@ -94,7 +94,14 @@ export const getSelectEqualsNotEqualsProperties = ( }, }; }; - +export const READONLY_SETTINGS = { + immutableGroupsMode: true, + immutableFieldsMode: true, + immutableOpsMode: true, + immutableValuesMode: true, + canRegroup: false, + canRemove: false, +}; export const getSelectAnyInProperties = ( parentPath: Array, termObjects: Array