@@ -131,9 +132,9 @@ const SchemaEditor = ({
hasCopied ? t('label.copied') : t('message.copy-to-clipboard')
}>
}
+ icon={
}
onClick={onCopyToClipBoard}
/>
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/SchemaEditor/schema-editor.less b/openmetadata-ui/src/main/resources/ui/src/components/Database/SchemaEditor/schema-editor.less
index 7ad82c1ffd6..e568ca7a6e2 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/Database/SchemaEditor/schema-editor.less
+++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/SchemaEditor/schema-editor.less
@@ -11,9 +11,22 @@
* limitations under the License.
*/
-.query-editor-button {
- position: absolute;
- z-index: 10;
- top: 14px;
- right: 14px;
+@import (reference) url('../../../styles/variables.less');
+
+.schema-editor-container {
+ .query-editor-button {
+ position: absolute;
+ z-index: 10;
+ top: 14px;
+ right: 14px;
+ }
+
+ .query-editor-copy-button {
+ background: @white;
+ color: @grey-600;
+
+ svg {
+ font-size: 16px;
+ }
+ }
}
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/TableTags/TableTags.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Database/TableTags/TableTags.component.tsx
index c7dc1a47271..93a521a1479 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/Database/TableTags/TableTags.component.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/TableTags/TableTags.component.tsx
@@ -31,6 +31,7 @@ const TableTags =
({
showInlineEditTagButton,
handleTagSelection,
entityType,
+ newLook = false,
}: TableTagsComponentProps) => {
const { onThreadLinkSelect, updateActiveTagDropdownKey } =
useGenericContext();
@@ -54,6 +55,7 @@ const TableTags = ({
selectedTags={tags}
showInlineEditButton={showInlineEditTagButton}
sizeCap={TAG_LIST_SIZE}
+ tagNewLook={newLook}
tagType={type}
onSelectionChange={async (selectedTags) => {
await handleTagSelection(selectedTags, record);
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/TableTags/TableTags.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/Database/TableTags/TableTags.interface.ts
index 6df42c9cc22..6760ea45efe 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/Database/TableTags/TableTags.interface.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/TableTags/TableTags.interface.ts
@@ -34,6 +34,7 @@ export interface TableTagsComponentProps {
selectedTags: EntityTags[],
editColumnTag: T
) => Promise;
+ newLook?: boolean;
}
export interface TableTagsProps {
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsContainerV2/TagsContainerV2.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsContainerV2/TagsContainerV2.interface.ts
index cce84cc935a..057bb611249 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsContainerV2/TagsContainerV2.interface.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsContainerV2/TagsContainerV2.interface.ts
@@ -37,4 +37,5 @@ export interface TagsContainerV2Props {
newLook?: boolean;
// Props to control the dropdown state from the Generic Provider
useGenericControls?: boolean;
+ tagNewLook?: boolean;
}
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsContainerV2/TagsContainerV2.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsContainerV2/TagsContainerV2.tsx
index ee9c3ea1604..0752e67f38c 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsContainerV2/TagsContainerV2.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsContainerV2/TagsContainerV2.tsx
@@ -76,6 +76,7 @@ const TagsContainerV2 = ({
newLook = false,
sizeCap = LIST_SIZE,
useGenericControls,
+ tagNewLook = false,
}: TagsContainerV2Props) => {
const navigate = useNavigate();
const [form] = Form.useForm();
@@ -231,6 +232,7 @@ const TagsContainerV2 = ({
{
+ if (newLook && !tag.style?.color) {
+ return 'new-chip-style';
+ }
+ if (newLook && tag.style?.color) {
+ return 'new-chip-style-with-color';
+ }
+
+ return '';
+ }, [newLook, tag.style?.color]);
+
const tagContent = useMemo(
() => (
{tagColorBar}
-
+
{tag.style?.iconURL ? (
![]()
= ({
sizeCap = LIST_SIZE,
displayType = DisplayType.POPOVER,
showNoDataPlaceholder = true,
+ newLook = false,
}: TagsViewerProps) => {
const { t } = useTranslation();
const [isOpen, setIsOpen] = useState(false);
@@ -42,6 +43,7 @@ const TagsViewer: FunctionComponent
= ({
)}
isVersionPage={tag?.added || tag?.removed}
key={tag.tagFQN}
+ newLook={newLook}
showOnlyName={tag.source === TagSource.Glossary}
startWith={TAG_START_WITH.SOURCE_ICON}
tag={tag}
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 4623c9074f0..7b9f16cb8f3 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
@@ -38,15 +38,14 @@ import { debounce, isEmpty, isUndefined } from 'lodash';
import Qs from 'qs';
import { FC, useCallback, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
-import {
- EntityFields,
- EntityReferenceFields,
-} from '../../../../../../enums/AdvancedSearch.enum';
import { EntityType } from '../../../../../../enums/entity.enum';
import { SearchIndex } from '../../../../../../enums/search.enum';
import { QueryFilterInterface } from '../../../../../../pages/ExplorePage/ExplorePage.interface';
import { searchQuery } from '../../../../../../rest/searchAPI';
-import { getEmptyJsonTreeForQueryBuilder } from '../../../../../../utils/AdvancedSearchUtils';
+import {
+ getEmptyJsonTree,
+ getEmptyJsonTreeForQueryBuilder,
+} from '../../../../../../utils/AdvancedSearchUtils';
import { elasticSearchFormat } from '../../../../../../utils/QueryBuilderElasticsearchFormatUtils';
import {
addEntityTypeFilter,
@@ -201,16 +200,12 @@ const QueryBuilderWidget: FC = ({
}
}
} else {
- const emptyJsonTree = getEmptyJsonTreeForQueryBuilder(
+ const emptyJsonTree =
outputType === SearchOutputType.JSONLogic
- ? EntityReferenceFields.OWNERS
- : EntityFields.OWNERS
- );
+ ? getEmptyJsonTreeForQueryBuilder()
+ : getEmptyJsonTree();
- const tree = QbUtils.Validation.sanitizeTree(
- QbUtils.loadTree(emptyJsonTree),
- config
- ).fixedTree;
+ const tree = QbUtils.loadTree(emptyJsonTree);
onTreeUpdate(tree, config);
}
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json
index 80d754374e8..2a60c101ac0 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json
@@ -535,6 +535,7 @@
"embed-link": "Link einbetten",
"enable": "Aktivieren",
"enable-debug-log": "Debug-Protokoll aktivieren",
+ "enable-entity": "Enable {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "aktivieren",
"enable-partition": "Partition aktivieren",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json
index 088c73d1b17..52e44a74ae3 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json
@@ -535,6 +535,7 @@
"embed-link": "Embed link",
"enable": "Enable",
"enable-debug-log": "Enable Debug Log",
+ "enable-entity": "Enable {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "enable",
"enable-partition": "Enable Partition",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json
index c8c9f8cdaf3..611f7951f5d 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json
@@ -535,6 +535,7 @@
"embed-link": "Insertar Link",
"enable": "Habilitar",
"enable-debug-log": "Activar logs con debug",
+ "enable-entity": "Habilitar {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "habilitar",
"enable-partition": "Habilitar partición",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json
index a04b789e3d7..439a52006d8 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json
@@ -535,6 +535,7 @@
"embed-link": "Incorporer lien",
"enable": "Activer",
"enable-debug-log": "Activer le Journal de Débogage",
+ "enable-entity": "Activer {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "activer",
"enable-partition": "Activer la Partition",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json
index dd77654c453..1ecdc0eb154 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json
@@ -535,6 +535,7 @@
"embed-link": "Incrustar ligazón",
"enable": "Activar",
"enable-debug-log": "Activar rexistro de depuración",
+ "enable-entity": "Habilitar {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "activar",
"enable-partition": "Activar partición",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json
index fee2a52eb9d..857dad90389 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json
@@ -535,6 +535,7 @@
"embed-link": "הטמע קישור",
"enable": "הפעל",
"enable-debug-log": "הפעל יומן דיבוג",
+ "enable-entity": "הפעל {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "הפעל",
"enable-partition": "הפעל מחיצה",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json
index 33b5c4047bb..99ff3757b30 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json
@@ -535,6 +535,7 @@
"embed-link": "リンクを埋め込む",
"enable": "有効化",
"enable-debug-log": "デバッグログを有効化",
+ "enable-entity": "{{entity}} を有効化",
"enable-incident-management": "インシデント管理を有効化",
"enable-lowercase": "有効化",
"enable-partition": "パーティションを有効化",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json
index 94e31b006d4..ba770a1fae3 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json
@@ -535,6 +535,7 @@
"embed-link": "링크 삽입",
"enable": "활성화",
"enable-debug-log": "디버그 로그 활성화",
+ "enable-entity": "{{entity}} 활성화",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "활성화",
"enable-partition": "파티션 활성화",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json
index ef0a2766fc2..fe3e0af1771 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json
@@ -535,6 +535,7 @@
"embed-link": "लिंक एम्बेड करा",
"enable": "सक्षम करा",
"enable-debug-log": "डिबग लॉग सक्षम करा",
+ "enable-entity": "{{entity}} सक्षम करा",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "सक्षम करा",
"enable-partition": "विभाजन सक्षम करा",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json
index 8a771f08cd3..60c1cb9cfb5 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json
@@ -535,6 +535,7 @@
"embed-link": "Koppeling insluiten",
"enable": "Inschakelen",
"enable-debug-log": "Debuglog inschakelen",
+ "enable-entity": "{{entity}} inschakelen",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "inschakelen",
"enable-partition": "Partitie inschakelen",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json
index 282f7506a5e..209da155ef8 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json
@@ -535,6 +535,7 @@
"embed-link": "قرار دادن لینک",
"enable": "فعال کردن",
"enable-debug-log": "فعال کردن گزارش اشکالزدایی",
+ "enable-entity": "فعال کردن {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "فعال کردن",
"enable-partition": "فعال کردن پارتیشن",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json
index 49a993dbbd0..71226f71dec 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json
@@ -535,6 +535,7 @@
"embed-link": "Incorporar link",
"enable": "Habilitar",
"enable-debug-log": "Habilitar Log de Depuração",
+ "enable-entity": "Habilitar {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "habilitar",
"enable-partition": "Habilitar Partição",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json
index 3d82b458648..68baf9b2a90 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json
@@ -535,6 +535,7 @@
"embed-link": "Incorporar link",
"enable": "Habilitar",
"enable-debug-log": "Habilitar Log de Depuração",
+ "enable-entity": "Habilitar {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "habilitar",
"enable-partition": "Habilitar Partição",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json
index 0fa14dcef5b..ae20597f733 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json
@@ -535,6 +535,7 @@
"embed-link": "Встроить ссылку",
"enable": "Включить",
"enable-debug-log": "Включить журнал отладки",
+ "enable-entity": "Включить {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "включить",
"enable-partition": "Включить раздел",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json
index bff9fd7b906..8d6636cfecc 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json
@@ -535,6 +535,7 @@
"embed-link": "ฝังลิงก์",
"enable": "เปิดใช้งาน",
"enable-debug-log": "เปิดใช้งานบันทึกการดีบัก",
+ "enable-entity": "เปิดใช้งาน {{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "เปิดใช้งาน",
"enable-partition": "เปิดใช้งานการแบ่งส่วน",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json
index 8ad924c7f64..e7c9438e3c9 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json
@@ -535,6 +535,7 @@
"embed-link": "Bağlantı göm",
"enable": "Etkinleştir",
"enable-debug-log": "Hata Ayıklama Günlüğünü Etkinleştir",
+ "enable-entity": "{{entity}} Etkinleştir",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "etkinleştir",
"enable-partition": "Bölümü Etkinleştir",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json
index e36957c1874..36de879d830 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json
@@ -535,6 +535,7 @@
"embed-link": "插入链接",
"enable": "启用",
"enable-debug-log": "启用调试日志",
+ "enable-entity": "启用{{entity}}",
"enable-incident-management": "Enable Incident Management",
"enable-lowercase": "启用",
"enable-partition": "启用分区",
diff --git a/openmetadata-ui/src/main/resources/ui/src/styles/variables.less b/openmetadata-ui/src/main/resources/ui/src/styles/variables.less
index 6dfe276cd54..75b2b9ed540 100644
--- a/openmetadata-ui/src/main/resources/ui/src/styles/variables.less
+++ b/openmetadata-ui/src/main/resources/ui/src/styles/variables.less
@@ -90,6 +90,7 @@
@purple-3: #a2a1ff;
@purple-4: #efedfe80;
@purple-5: #6941c6;
+@purple-6: #f9f5ff;
@blue-1: #ebf6fe;
@blue-2: #3ca2f4;
@blue-3: #0950c5;
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchUtils.tsx
index 9107e5bcd17..e6f7f4dd4e4 100644
--- a/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchUtils.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/AdvancedSearchUtils.tsx
@@ -33,7 +33,10 @@ import {
LINEAGE_DROPDOWN_ITEMS,
} from '../constants/AdvancedSearch.constants';
import { NOT_INCLUDE_AGGREGATION_QUICK_FILTER } from '../constants/explore.constants';
-import { EntityFields } from '../enums/AdvancedSearch.enum';
+import {
+ EntityFields,
+ EntityReferenceFields,
+} from '../enums/AdvancedSearch.enum';
import { EntityType } from '../enums/entity.enum';
import { SearchIndex } from '../enums/search.enum';
import {
@@ -451,23 +454,42 @@ export const getEmptyJsonTree = (
* This structure allows easy addition of groups and rules
*/
export const getEmptyJsonTreeForQueryBuilder = (
- defaultField: string = EntityFields.OWNERS
+ defaultField: string = EntityReferenceFields.OWNERS
): OldJsonTree => {
+ const uuid1 = QbUtils.uuid();
+ const uuid2 = QbUtils.uuid();
+ const uuid3 = QbUtils.uuid();
+
return {
- id: QbUtils.uuid(),
+ id: uuid1,
type: 'group',
properties: {
conjunction: 'AND',
not: false,
},
children1: {
- [QbUtils.uuid()]: {
- type: 'rule',
+ [uuid2]: {
+ type: 'rule_group',
+ id: uuid2,
properties: {
+ conjunction: 'AND',
+ not: false,
+ mode: 'some',
field: defaultField,
- operator: null,
- value: [],
- valueSrc: ['value'],
+ fieldSrc: 'field',
+ },
+ children1: {
+ [uuid3]: {
+ type: 'rule',
+ id: uuid3,
+ properties: {
+ field: 'owners.fullyQualifiedName',
+ operator: 'select_equals',
+ value: [],
+ valueSrc: ['value'],
+ fieldSrc: 'field',
+ },
+ },
},
},
},
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/DataContract/DataContractUtils.ts b/openmetadata-ui/src/main/resources/ui/src/utils/DataContract/DataContractUtils.ts
index 0e3095900b2..5df164a7857 100644
--- a/openmetadata-ui/src/main/resources/ui/src/utils/DataContract/DataContractUtils.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/DataContract/DataContractUtils.ts
@@ -11,6 +11,7 @@
* limitations under the License.
*/
import i18next from 'i18next';
+import yaml from 'js-yaml';
import { omit } from 'lodash';
import { ReactComponent as QualityIcon } from '../../assets/svg/policies.svg';
import { ReactComponent as SemanticsIcon } from '../../assets/svg/semantics.svg';
@@ -183,3 +184,17 @@ export const getUpdatedContractDetails = (
'incrementalChangeDescription',
]);
};
+
+export const downloadContractYamlFile = (contract: DataContract) => {
+ const data = yaml.dump(getUpdatedContractDetails(contract, contract));
+ const element = document.createElement('a');
+ const file = new Blob([data], { type: 'text/plain' });
+ element.textContent = 'download-file';
+ element.href = URL.createObjectURL(file);
+ element.download = `${contract.name}.yaml`;
+ document.body.appendChild(element);
+ element.click();
+
+ URL.revokeObjectURL(element.href);
+ document.body.removeChild(element);
+};
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/formUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/formUtils.tsx
index 386b3b72e7a..ca9ac24d6e4 100644
--- a/openmetadata-ui/src/main/resources/ui/src/utils/formUtils.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/formUtils.tsx
@@ -178,7 +178,7 @@ export const getField = (field: FieldProp) => {
break;
case FieldTypes.TAG_SUGGESTION:
fieldElement = (
-
+
);
break;
diff --git a/openmetadata-ui/src/main/resources/ui/yarn.lock b/openmetadata-ui/src/main/resources/ui/yarn.lock
index 5666c4cee03..d9a8aa0f479 100644
--- a/openmetadata-ui/src/main/resources/ui/yarn.lock
+++ b/openmetadata-ui/src/main/resources/ui/yarn.lock
@@ -4457,6 +4457,11 @@
jest-diff "^26.0.0"
pretty-format "^26.0.0"
+"@types/js-yaml@^4.0.9":
+ version "4.0.9"
+ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.9.tgz#cd82382c4f902fed9691a2ed79ec68c5898af4c2"
+ integrity sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==
+
"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
version "7.0.9"
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz"
@@ -10015,7 +10020,7 @@ js-yaml@^3.13.1:
js-yaml@^4.1.0:
version "4.1.0"
- resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
dependencies:
argparse "^2.0.1"