Skip to content

Backport Domain and Glossary lazy-loading updates to 1.13#30129

Open
shah-harshit wants to merge 1 commit into
ui/backport-group10-activityfeed-announcement-lazy-1.13from
ui/backport-group11-domain-glossary-lazy-1.13
Open

Backport Domain and Glossary lazy-loading updates to 1.13#30129
shah-harshit wants to merge 1 commit into
ui/backport-group10-activityfeed-announcement-lazy-1.13from
ui/backport-group11-domain-glossary-lazy-1.13

Conversation

@shah-harshit

Copy link
Copy Markdown
Contributor

Summary

Stack

Testing

  • Scoped UI checkstyle sequence on changed source files: organize-imports-cli, ESLint --fix, Prettier.
  • git diff --check HEAD~1..HEAD

…attern (#29065)

* feat(ui): update Domain & Glossary components for lazy-load utility pattern

Updates Domain and Glossary components to import from extracted pure utility modules. Updates DomainUtils, GlossaryUtils, ClassificationUtils, TagsUtils imports. Updates Tag components and pages for consistent utility usage.

Ref: open-metadata/openmetadata-collate#4230

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix build and unit tests

* fix checkstyle

* Fix conflicts

* fix test, build, checkstyle

* fix checkstyle

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@shah-harshit
shah-harshit requested a review from a team as a code owner July 16, 2026 09:36
@shah-harshit shah-harshit added UI UI specific issues safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check labels Jul 16, 2026
@shah-harshit shah-harshit self-assigned this Jul 16, 2026
@greptile-apps

greptile-apps Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Too many files changed for review. (161 files found, 100 file limit)

Bypass the limit by tagging @greptile-apps to review.

Comment on lines +67 to +71
import {
AddDomainFormProps,
DomainFormSelectItem,
DomainFormValues,
} from './AddDomainForm.interface';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Bug: AddDomainForm imports types not exported by interface file

AddDomainForm.component.tsx (lines 67-71) imports DomainFormSelectItem and DomainFormValues from ./AddDomainForm.interface, but that file only exports AddDomainFormProps — neither type is defined or exported anywhere in the codebase (grep confirms they are referenced only in this component). This causes a TypeScript compile error (TS2305 'Module has no exported member'), breaking the build. The type definitions were apparently dropped during backport conflict resolution. Fix by adding the missing type definitions to AddDomainForm.interface.ts (they back DOMAIN_FORM_DEFAULTS, isFormSelectItem, and transformDomainFormData).

Add the missing DomainFormSelectItem and DomainFormValues type definitions to AddDomainForm.interface.ts (adjust field types to match the original PR #29065).:

import { EntityReference } from '../../../generated/entity/type';
import { TagLabel } from '../../../generated/type/tagLabel';

export interface DomainFormSelectItem {
  id: string;
  label?: string;
  value: unknown;
  name?: string;
}

export interface DomainFormValues {
  name: string;
  displayName: string;
  description: string;
  color: string;
  iconURL: string;
  coverImage: File | null;
  tags: DomainFormSelectItem[];
  glossaryTerms: TagLabel[];
  owners: DomainFormSelectItem[];
  experts: DomainFormSelectItem[];
  reviewers: DomainFormSelectItem[];
  domainType: DomainFormSelectItem | null;
  domains?: DomainFormSelectItem;
  dataProductType: DomainFormSelectItem | null;
  visibility: DomainFormSelectItem | null;
  portfolioPriority: DomainFormSelectItem | null;
  extension: Record<string, unknown>;
}
  • Apply fix

Check the box to apply the fix or reply for a change | Was this helpful? React with 👍 / 👎

@gitar-bot

gitar-bot Bot commented Jul 16, 2026

Copy link
Copy Markdown
Code Review 🚫 Blocked 0 resolved / 1 findings

Backports Domain and Glossary lazy-loading components but is blocked by a critical issue where AddDomainForm imports types that are not exported by the interface file.

🚨 Bug: AddDomainForm imports types not exported by interface file

📄 openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx:67-71 📄 openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx:73-87 📄 openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx:102-116

AddDomainForm.component.tsx (lines 67-71) imports DomainFormSelectItem and DomainFormValues from ./AddDomainForm.interface, but that file only exports AddDomainFormProps — neither type is defined or exported anywhere in the codebase (grep confirms they are referenced only in this component). This causes a TypeScript compile error (TS2305 'Module has no exported member'), breaking the build. The type definitions were apparently dropped during backport conflict resolution. Fix by adding the missing type definitions to AddDomainForm.interface.ts (they back DOMAIN_FORM_DEFAULTS, isFormSelectItem, and transformDomainFormData).

Add the missing DomainFormSelectItem and DomainFormValues type definitions to AddDomainForm.interface.ts (adjust field types to match the original PR #29065).
import { EntityReference } from '../../../generated/entity/type';
import { TagLabel } from '../../../generated/type/tagLabel';

export interface DomainFormSelectItem {
  id: string;
  label?: string;
  value: unknown;
  name?: string;
}

export interface DomainFormValues {
  name: string;
  displayName: string;
  description: string;
  color: string;
  iconURL: string;
  coverImage: File | null;
  tags: DomainFormSelectItem[];
  glossaryTerms: TagLabel[];
  owners: DomainFormSelectItem[];
  experts: DomainFormSelectItem[];
  reviewers: DomainFormSelectItem[];
  domainType: DomainFormSelectItem | null;
  domains?: DomainFormSelectItem;
  dataProductType: DomainFormSelectItem | null;
  visibility: DomainFormSelectItem | null;
  portfolioPriority: DomainFormSelectItem | null;
  extension: Record<string, unknown>;
}
🤖 Prompt for agents
Code Review: Backports Domain and Glossary lazy-loading components but is blocked by a critical issue where AddDomainForm imports types that are not exported by the interface file.

1. 🚨 Bug: AddDomainForm imports types not exported by interface file
   Files: openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx:67-71, openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx:73-87, openmetadata-ui/src/main/resources/ui/src/components/Domain/AddDomainForm/AddDomainForm.component.tsx:102-116

   `AddDomainForm.component.tsx` (lines 67-71) imports `DomainFormSelectItem` and `DomainFormValues` from `./AddDomainForm.interface`, but that file only exports `AddDomainFormProps` — neither type is defined or exported anywhere in the codebase (grep confirms they are referenced only in this component). This causes a TypeScript compile error (TS2305 'Module has no exported member'), breaking the build. The type definitions were apparently dropped during backport conflict resolution. Fix by adding the missing type definitions to `AddDomainForm.interface.ts` (they back `DOMAIN_FORM_DEFAULTS`, `isFormSelectItem`, and `transformDomainFormData`).

   Fix (Add the missing DomainFormSelectItem and DomainFormValues type definitions to AddDomainForm.interface.ts (adjust field types to match the original PR #29065).):
   import { EntityReference } from '../../../generated/entity/type';
   import { TagLabel } from '../../../generated/type/tagLabel';
   
   export interface DomainFormSelectItem {
     id: string;
     label?: string;
     value: unknown;
     name?: string;
   }
   
   export interface DomainFormValues {
     name: string;
     displayName: string;
     description: string;
     color: string;
     iconURL: string;
     coverImage: File | null;
     tags: DomainFormSelectItem[];
     glossaryTerms: TagLabel[];
     owners: DomainFormSelectItem[];
     experts: DomainFormSelectItem[];
     reviewers: DomainFormSelectItem[];
     domainType: DomainFormSelectItem | null;
     domains?: DomainFormSelectItem;
     dataProductType: DomainFormSelectItem | null;
     visibility: DomainFormSelectItem | null;
     portfolioPriority: DomainFormSelectItem | null;
     extension: Record<string, unknown>;
   }

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant