From 72b4ac486da3b6544d0cbf4ed4b440b68a7d2da8 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 a716f5c35be..60ffd9263f1 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 @@ -50,6 +50,7 @@ import { elasticsearchToJsonLogic, getJsonTreeFromQueryFilter, jsonLogicToElasticsearch, + READONLY_SETTINGS, } from '../../../../../../utils/QueryBuilderUtils'; import { getExplorePath } from '../../../../../../utils/RouterUtils'; import searchClassBase from '../../../../../../utils/SearchClassBase'; @@ -268,6 +269,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 d02ad880a54..918ba0b1474 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 d05e22abc23..e7f65dc4be1 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx @@ -114,7 +114,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