Skip to content

Commit

Permalink
chore(ui): add filter classifications option in tags container (open-…
Browse files Browse the repository at this point in the history
  • Loading branch information
Sachin-chaurasiya authored Oct 20, 2023
1 parent 8cf8720 commit 096a08c
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ export type TagsContainerV2Props = {
children?: ReactElement;
displayType?: DisplayType;
layoutType?: LayoutType;
filterClassifications?: string[];
onSelectionChange?: (selectedTags: EntityTags[]) => Promise<void>;
onThreadLinkSelect?: (value: string, threadType?: ThreadType) => void;
};
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ import { ReactComponent as IconComments } from '../../../assets/svg/comment.svg'
import { ReactComponent as EditIcon } from '../../../assets/svg/edit-new.svg';
import { ReactComponent as IconRequest } from '../../../assets/svg/request-icon.svg';
import { TableTagsProps } from '../../../components/TableTags/TableTags.interface';
import { DE_ACTIVE_COLOR } from '../../../constants/constants';
import {
DE_ACTIVE_COLOR,
KNOWLEDGE_CENTER_CLASSIFICATION,
} from '../../../constants/constants';
import { TAG_CONSTANT, TAG_START_WITH } from '../../../constants/Tag.constants';
import { SearchIndex } from '../../../enums/search.enum';
import { GlossaryTerm } from '../../../generated/entity/data/glossaryTerm';
Expand Down Expand Up @@ -63,6 +66,7 @@ const TagsContainerV2 = ({
onSelectionChange,
onThreadLinkSelect,
children,
filterClassifications = [KNOWLEDGE_CENTER_CLASSIFICATION],
}: TagsContainerV2Props) => {
const history = useHistory();
const [form] = Form.useForm();
Expand Down Expand Up @@ -131,7 +135,7 @@ const TagsContainerV2 = ({
const fetchAPI = useCallback(
(searchValue: string, page: number) => {
if (tagType === TagSource.Classification) {
return fetchTagsElasticSearch(searchValue, page);
return fetchTagsElasticSearch(searchValue, page, filterClassifications);
} else {
return fetchGlossaryList(searchValue, page);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -840,3 +840,5 @@ export const ICON_DIMENSION = {
export const COMMON_ICON_STYLES: CSSProperties = {
verticalAlign: 'middle',
};

export const KNOWLEDGE_CENTER_CLASSIFICATION = 'KnowledgeCenter';
34 changes: 23 additions & 11 deletions openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -295,15 +295,18 @@ export const tagRender = (customTagProps: CustomTagProps) => {
);
};

type ResultType = {
label: string;
value: string;
data: Tag;
};

export const fetchTagsElasticSearch = async (
searchText: string,
page: number
page: number,
filterClassifications?: string[]
): Promise<{
data: {
label: string;
value: string;
data: Tag;
}[];
data: ResultType[];
paging: Paging;
}> => {
const res = await searchQuery({
Expand All @@ -316,11 +319,20 @@ export const fetchTagsElasticSearch = async (
});

return {
data: res.hits.hits.map(({ _source }) => ({
label: _source.fullyQualifiedName ?? '',
value: _source.fullyQualifiedName ?? '',
data: _source,
})),
data: res.hits.hits.reduce((result: ResultType[], { _source }) => {
const classificationName =
_source.classification?.fullyQualifiedName ?? '';

if (!filterClassifications?.includes(classificationName)) {
result.push({
label: _source.fullyQualifiedName ?? '',
value: _source.fullyQualifiedName ?? '',
data: _source,
});
}

return result;
}, []),
paging: {
total: res.hits.total.value,
},
Expand Down

0 comments on commit 096a08c

Please sign in to comment.