ui: updated glossary layout to sync with new layout (#12200)

* ui: updated glossary layout to sync with new layout

* fixed failing unit test

* updated row-id for test suite

* fixed 404 page

* addressing comment
This commit is contained in:
Shailesh Parmar 2023-06-28 19:01:36 +05:30 committed by GitHub
parent acf25f4555
commit 7d4ad6ba72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 251 additions and 236 deletions

View File

@ -82,7 +82,8 @@ export const TestSuites = () => {
activeTab: TableProfilerTab.DATA_QUALITY, activeTab: TableProfilerTab.DATA_QUALITY,
}), }),
}}> }}>
{getEntityName(record.executableEntityReference)} {record.executableEntityReference?.fullyQualifiedName ??
record.executableEntityReference?.name}
</Link> </Link>
) : ( ) : (
<Link <Link

View File

@ -65,6 +65,7 @@ const GlossaryTermTab = ({
termsLoading, termsLoading,
onAddGlossaryTerm, onAddGlossaryTerm,
onEditGlossaryTerm, onEditGlossaryTerm,
className,
}: GlossaryTermTabProps) => { }: GlossaryTermTabProps) => {
const { t } = useTranslation(); const { t } = useTranslation();
const [isLoading, setIsLoading] = useState(true); const [isLoading, setIsLoading] = useState(true);
@ -264,7 +265,7 @@ const GlossaryTermTab = ({
} }
return ( return (
<Row gutter={[0, 16]}> <Row className={className} gutter={[0, 16]}>
<Col span={24}> <Col span={24}>
<div className="d-flex justify-end"> <div className="d-flex justify-end">
<Button <Button

View File

@ -24,6 +24,7 @@ export interface GlossaryTermTabProps {
permissions: OperationPermission; permissions: OperationPermission;
onAddGlossaryTerm: (glossaryTerm: GlossaryTerm | undefined) => void; onAddGlossaryTerm: (glossaryTerm: GlossaryTerm | undefined) => void;
onEditGlossaryTerm: (glossaryTerm: GlossaryTerm) => void; onEditGlossaryTerm: (glossaryTerm: GlossaryTerm) => void;
className?: string;
} }
export type ModifiedGlossaryTerm = Omit<GlossaryTerm, 'children'> & { export type ModifiedGlossaryTerm = Omit<GlossaryTerm, 'children'> & {

View File

@ -67,7 +67,7 @@ const ImportGlossary: FC<Props> = ({ glossaryName }) => {
}; };
return ( return (
<Row className="import-glossary" gutter={[16, 8]}> <Row className="import-glossary p-x-md" gutter={[16, 8]}>
<Col span={24}> <Col span={24}>
<TitleBreadcrumb titleLinks={breadcrumbList} /> <TitleBreadcrumb titleLinks={breadcrumbList} />
</Col> </Col>

View File

@ -111,7 +111,7 @@ const GlossaryDetails = ({
className="glossary-details" className="glossary-details"
data-testid="glossary-details" data-testid="glossary-details"
gutter={[0, 16]}> gutter={[0, 16]}>
<Col span={24}> <Col className="p-x-md" span={24}>
<GlossaryHeader <GlossaryHeader
isGlossary isGlossary
isVersionView={isVersionView} isVersionView={isVersionView}
@ -123,12 +123,13 @@ const GlossaryDetails = ({
/> />
</Col> </Col>
<Col span={24}> <Col className="border-top p-x-md" span={24}>
<Row gutter={[16, 16]}> <Row className="h-full" gutter={[32, 16]}>
<Col span={18}> <Col
className="border-right p-y-md glossary-content-container"
span={18}>
<Space className="w-full" direction="vertical" size={24}> <Space className="w-full" direction="vertical" size={24}>
<DescriptionV1 <DescriptionV1
wrapInCard
description={description} description={description}
entityName={glossary.displayName ?? glossary.name} entityName={glossary.displayName ?? glossary.name}
entityType={EntityType.GLOSSARY} entityType={EntityType.GLOSSARY}
@ -153,7 +154,7 @@ const GlossaryDetails = ({
/> />
</Space> </Space>
</Col> </Col>
<Col span={6}> <Col className="p-y-md" span={6}>
<GlossaryDetailsRightPanel <GlossaryDetailsRightPanel
isGlossary isGlossary
isVersionView={isVersionView} isVersionView={isVersionView}

View File

@ -10,7 +10,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import { Button, Card, Col, Row, Space, Typography } from 'antd'; import { Button, Col, Row, Space, Typography } from 'antd';
import { ReactComponent as EditIcon } from 'assets/svg/edit-new.svg'; import { ReactComponent as EditIcon } from 'assets/svg/edit-new.svg';
import { ReactComponent as PlusIcon } from 'assets/svg/plus-primary.svg'; import { ReactComponent as PlusIcon } from 'assets/svg/plus-primary.svg';
import ProfilePicture from 'components/common/ProfilePicture/ProfilePicture'; import ProfilePicture from 'components/common/ProfilePicture/ProfilePicture';
@ -195,116 +195,113 @@ const GlossaryDetailsRightPanel = ({
); );
return ( return (
<Card> <Row gutter={[0, 40]}>
<Row gutter={[0, 40]}> <Col data-testid="glossary-owner-name" span="24">
<Col data-testid="glossary-owner-name" span="24"> <div className="d-flex items-center m-b-xss">
<div className="d-flex items-center m-b-xss"> <Typography.Text className="right-panel-label">
<Typography.Text className="right-panel-label"> {t('label.owner')}
{t('label.owner')} </Typography.Text>
</Typography.Text> {(permissions.EditOwner || permissions.EditAll) &&
{(permissions.EditOwner || permissions.EditAll) && selectedData.owner && (
selectedData.owner && (
<UserTeamSelectableList
hasPermission={permissions.EditOwner || permissions.EditAll}
owner={selectedData.owner}
onUpdate={handleUpdatedOwner}>
<Button
className="cursor-pointer flex-center m-l-xss"
data-testid="edit-owner"
icon={<EditIcon color={DE_ACTIVE_COLOR} width="14px" />}
size="small"
type="text"
/>
</UserTeamSelectableList>
)}
</div>
<Space className="m-r-xss" size={4}>
{getUserNames(selectedData)}
</Space>
{!selectedData.owner &&
(permissions.EditOwner || permissions.EditAll) && (
<UserTeamSelectableList <UserTeamSelectableList
hasPermission={permissions.EditOwner || permissions.EditAll} hasPermission={permissions.EditOwner || permissions.EditAll}
owner={selectedData.owner} owner={selectedData.owner}
onUpdate={handleUpdatedOwner}> onUpdate={handleUpdatedOwner}>
<TagButton <Button
className="tw-text-primary cursor-pointer" className="cursor-pointer flex-center m-l-xss"
icon={<PlusIcon height={16} name="plus" width={16} />} data-testid="edit-owner"
label={t('label.add')} icon={<EditIcon color={DE_ACTIVE_COLOR} width="14px" />}
tooltip="" size="small"
type="text"
/> />
</UserTeamSelectableList> </UserTeamSelectableList>
)} )}
</Col> </div>
<Col span="24">
<div
className={`d-flex items-center ${
selectedData.reviewers && selectedData.reviewers.length > 0
? 'm-b-xss'
: ''
}`}>
<Typography.Text
className="right-panel-label"
data-testid="glossary-reviewer-heading-name">
{t('label.reviewer-plural')}
</Typography.Text>
{hasEditReviewerAccess &&
selectedData.reviewers &&
selectedData.reviewers.length > 0 && (
<UserSelectableList
hasPermission={hasEditReviewerAccess}
popoverProps={{ placement: 'topLeft' }}
selectedUsers={selectedData.reviewers ?? []}
onUpdate={handleReviewerSave}>
<Button
className="cursor-pointer flex-center m-l-xss"
data-testid="edit-reviewer-button"
icon={<EditIcon color={DE_ACTIVE_COLOR} width="14px" />}
size="small"
type="text"
/>
</UserSelectableList>
)}
</div>
<div>
<GlossaryReviewers
editPermission={hasEditReviewerAccess}
glossaryData={selectedData}
isVersionView={isVersionView}
/>
{hasEditReviewerAccess && noReviewersSelected && ( <Space className="m-r-xss" size={4}>
{getUserNames(selectedData)}
</Space>
{!selectedData.owner && (permissions.EditOwner || permissions.EditAll) && (
<UserTeamSelectableList
hasPermission={permissions.EditOwner || permissions.EditAll}
owner={selectedData.owner}
onUpdate={handleUpdatedOwner}>
<TagButton
className="tw-text-primary cursor-pointer"
icon={<PlusIcon height={16} name="plus" width={16} />}
label={t('label.add')}
tooltip=""
/>
</UserTeamSelectableList>
)}
</Col>
<Col span="24">
<div
className={`d-flex items-center ${
selectedData.reviewers && selectedData.reviewers.length > 0
? 'm-b-xss'
: ''
}`}>
<Typography.Text
className="right-panel-label"
data-testid="glossary-reviewer-heading-name">
{t('label.reviewer-plural')}
</Typography.Text>
{hasEditReviewerAccess &&
selectedData.reviewers &&
selectedData.reviewers.length > 0 && (
<UserSelectableList <UserSelectableList
hasPermission={hasEditReviewerAccess} hasPermission={hasEditReviewerAccess}
popoverProps={{ placement: 'topLeft' }} popoverProps={{ placement: 'topLeft' }}
selectedUsers={selectedData.reviewers ?? []} selectedUsers={selectedData.reviewers ?? []}
onUpdate={handleReviewerSave}> onUpdate={handleReviewerSave}>
<TagButton <Button
className="tw-text-primary cursor-pointer" className="cursor-pointer flex-center m-l-xss"
icon={<PlusIcon height={16} name="plus" width={16} />} data-testid="edit-reviewer-button"
label={t('label.add')} icon={<EditIcon color={DE_ACTIVE_COLOR} width="14px" />}
tooltip="" size="small"
type="text"
/> />
</UserSelectableList> </UserSelectableList>
)} )}
</div> </div>
</Col> <div>
<Col span="24"> <GlossaryReviewers
<div data-testid="glossary-tags-name"> editPermission={hasEditReviewerAccess}
{isGlossary && ( glossaryData={selectedData}
<TagsInput isVersionView={isVersionView}
editable={permissions.EditAll || permissions.EditTags} />
isVersionView={isVersionView}
tags={tags} {hasEditReviewerAccess && noReviewersSelected && (
onTagsUpdate={handleTagsUpdate} <UserSelectableList
hasPermission={hasEditReviewerAccess}
popoverProps={{ placement: 'topLeft' }}
selectedUsers={selectedData.reviewers ?? []}
onUpdate={handleReviewerSave}>
<TagButton
className="tw-text-primary cursor-pointer"
icon={<PlusIcon height={16} name="plus" width={16} />}
label={t('label.add')}
tooltip=""
/> />
)} </UserSelectableList>
</div> )}
</Col> </div>
</Row> </Col>
</Card> <Col span="24">
<div data-testid="glossary-tags-name">
{isGlossary && (
<TagsInput
editable={permissions.EditAll || permissions.EditTags}
isVersionView={isVersionView}
tags={tags}
onTagsUpdate={handleTagsUpdate}
/>
)}
</div>
</Col>
</Row>
); );
}; };

View File

@ -117,6 +117,7 @@ const GlossaryTermsV1 = ({
children: ( children: (
<GlossaryTermTab <GlossaryTermTab
childGlossaryTerms={childGlossaryTerms} childGlossaryTerms={childGlossaryTerms}
className="p-md glossary-term-table-container"
isGlossary={false} isGlossary={false}
permissions={permissions} permissions={permissions}
refreshGlossaryTerms={refreshGlossaryTerms} refreshGlossaryTerms={refreshGlossaryTerms}
@ -221,7 +222,7 @@ const GlossaryTermsV1 = ({
return ( return (
<> <>
<Row data-testid="glossary-term" gutter={[0, 8]}> <Row data-testid="glossary-term" gutter={[0, 8]}>
<Col span={24}> <Col className="p-x-md" span={24}>
<GlossaryHeader <GlossaryHeader
isGlossary={false} isGlossary={false}
isVersionView={isVersionView} isVersionView={isVersionView}
@ -238,7 +239,7 @@ const GlossaryTermsV1 = ({
<Tabs <Tabs
destroyInactiveTabPane destroyInactiveTabPane
activeKey={activeTab} activeKey={activeTab}
className="glossary-tabs" className="glossary-tabs custom-tab-spacing"
items={tabItems} items={tabItems}
onChange={activeTabHandler} onChange={activeTabHandler}
/> />

View File

@ -219,7 +219,7 @@ const AssetsTabs = forwardRef(
} }
return ( return (
<div data-testid="table-container"> <div className="p-md assets-tab-container" data-testid="table-container">
{AssetsFilterOptions.map((option) => { {AssetsFilterOptions.map((option) => {
const buttonStyle = const buttonStyle =
activeFilter === option.value activeFilter === option.value

View File

@ -10,7 +10,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import { Card, Col, Row, Space } from 'antd'; import { Col, Row, Space } from 'antd';
import DescriptionV1 from 'components/common/description/DescriptionV1'; import DescriptionV1 from 'components/common/description/DescriptionV1';
import GlossaryDetailsRightPanel from 'components/GlossaryDetailsRightPanel/GlossaryDetailsRightPanel.component'; import GlossaryDetailsRightPanel from 'components/GlossaryDetailsRightPanel/GlossaryDetailsRightPanel.component';
import { OperationPermission } from 'components/PermissionProvider/PermissionProvider.interface'; import { OperationPermission } from 'components/PermissionProvider/PermissionProvider.interface';
@ -99,72 +99,71 @@ const GlossaryOverviewTab = ({
); );
return ( return (
<Row className="glossary-overview-tab" gutter={[16, 16]}> <Row className="glossary-overview-tab h-full" gutter={[32, 16]}>
<Col data-testid="updated-by-container" span={18}> <Col
<Card> className="border-right"
<Row gutter={[0, 32]}> data-testid="updated-by-container"
<Col span={24}> span={18}>
<DescriptionV1 <Row className="p-md p-r-0" gutter={[0, 32]}>
description={glossaryDescription} <Col span={24}>
entityName={selectedData?.displayName ?? selectedData?.name} <DescriptionV1
entityType={EntityType.GLOSSARY} description={glossaryDescription}
hasEditAccess={ entityName={selectedData?.displayName ?? selectedData?.name}
permissions.EditDescription || permissions.EditAll entityType={EntityType.GLOSSARY}
} hasEditAccess={permissions.EditDescription || permissions.EditAll}
isEdit={isDescriptionEditable} isEdit={isDescriptionEditable}
showCommentsIcon={false} showCommentsIcon={false}
onCancel={() => setIsDescriptionEditable(false)} onCancel={() => setIsDescriptionEditable(false)}
onDescriptionEdit={() => setIsDescriptionEditable(true)} onDescriptionEdit={() => setIsDescriptionEditable(true)}
onDescriptionUpdate={onDescriptionUpdate} onDescriptionUpdate={onDescriptionUpdate}
/> />
</Col> </Col>
<Col span={24}> <Col span={24}>
<Row gutter={[0, 40]}> <Row gutter={[0, 40]}>
{!isGlossary && ( {!isGlossary && (
<> <>
<Col span={12}> <Col span={12}>
<GlossaryTermSynonyms <GlossaryTermSynonyms
glossaryTerm={selectedData as GlossaryTerm} glossaryTerm={selectedData as GlossaryTerm}
isVersionView={isVersionView}
permissions={permissions}
onGlossaryTermUpdate={onUpdate}
/>
</Col>
<Col span={12}>
<RelatedTerms
glossaryTerm={selectedData as GlossaryTerm}
isVersionView={isVersionView}
permissions={permissions}
onGlossaryTermUpdate={onUpdate}
/>
</Col>
<Col span={12}>
<GlossaryTermReferences
glossaryTerm={selectedData as GlossaryTerm}
isVersionView={isVersionView}
permissions={permissions}
onGlossaryTermUpdate={onUpdate}
/>
</Col>
</>
)}
<Col span={12}>
<Space className="w-full" direction="vertical">
<TagsInput
editable={hasEditTagsPermissions}
isVersionView={isVersionView} isVersionView={isVersionView}
tags={tags} permissions={permissions}
onTagsUpdate={handleTagsUpdate} onGlossaryTermUpdate={onUpdate}
/> />
</Space> </Col>
</Col> <Col span={12}>
</Row> <RelatedTerms
</Col> glossaryTerm={selectedData as GlossaryTerm}
</Row> isVersionView={isVersionView}
</Card> permissions={permissions}
onGlossaryTermUpdate={onUpdate}
/>
</Col>
<Col span={12}>
<GlossaryTermReferences
glossaryTerm={selectedData as GlossaryTerm}
isVersionView={isVersionView}
permissions={permissions}
onGlossaryTermUpdate={onUpdate}
/>
</Col>
</>
)}
<Col span={12}>
<Space className="w-full" direction="vertical">
<TagsInput
editable={hasEditTagsPermissions}
isVersionView={isVersionView}
tags={tags}
onTagsUpdate={handleTagsUpdate}
/>
</Space>
</Col>
</Row>
</Col>
</Row>
</Col> </Col>
<Col span={6}> <Col className="p-t-md" span={6}>
<GlossaryDetailsRightPanel <GlossaryDetailsRightPanel
isGlossary={false} isGlossary={false}
isVersionView={isVersionView} isVersionView={isVersionView}

View File

@ -13,7 +13,7 @@
import { Button, Card, Col, Row, Typography } from 'antd'; import { Button, Card, Col, Row, Typography } from 'antd';
import AppState from 'AppState'; import AppState from 'AppState';
import EntityListSkeleton from 'components/Skeleton/MyData/EntityListSkeleton/EntityListSkeleton.component'; import EntityListSkeleton from 'components/Skeleton/MyData/EntityListSkeleton/EntityListSkeleton.component';
import { getUserPath } from 'constants/constants'; import { getUserPath, ROUTES } from 'constants/constants';
import { AssetsType } from 'enums/entity.enum'; import { AssetsType } from 'enums/entity.enum';
import { EntityReference } from 'generated/entity/data/table'; import { EntityReference } from 'generated/entity/data/table';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
@ -21,6 +21,7 @@ import React, { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { getUserById } from 'rest/userAPI'; import { getUserById } from 'rest/userAPI';
import { Transi18next } from 'utils/CommonUtils';
import { getEntityName } from 'utils/EntityUtils'; import { getEntityName } from 'utils/EntityUtils';
import { getEntityIcon, getEntityLink } from 'utils/TableUtils'; import { getEntityIcon, getEntityLink } from 'utils/TableUtils';
@ -87,40 +88,45 @@ const MyDataWidgetInternal = () => {
loading={Boolean(isLoading)}> loading={Boolean(isLoading)}>
<> <>
<div className="entity-list-body"> <div className="entity-list-body">
{data.length {data.length ? (
? data.map((item, index) => { data.map((item, index) => {
return ( return (
<div <div
className="right-panel-list-item flex items-center justify-between" className="right-panel-list-item flex items-center justify-between"
data-testid={`Recently Viewed-${getEntityName(item)}`} data-testid={`Recently Viewed-${getEntityName(item)}`}
key={index}> key={index}>
<div className="d-flex items-center"> <div className="d-flex items-center">
<Link <Link
className="" className=""
to={getEntityLink( to={getEntityLink(
item.type || '', item.type || '',
item.fullyQualifiedName as string item.fullyQualifiedName as string
)}> )}>
<Button <Button
className="entity-button flex-center p-xss" className="entity-button flex-center p-xss"
icon={ icon={
<div className="entity-button-icon m-r-xs"> <div className="entity-button-icon m-r-xs">
{getEntityIcon(item.type || '')} {getEntityIcon(item.type || '')}
</div> </div>
} }
type="text"> type="text">
<Typography.Text <Typography.Text
className="text-left text-xs" className="text-left text-xs"
ellipsis={{ tooltip: true }}> ellipsis={{ tooltip: true }}>
{getEntityName(item)} {getEntityName(item)}
</Typography.Text> </Typography.Text>
</Button> </Button>
</Link> </Link>
</div>
</div> </div>
); </div>
}) );
: t('message.no-owned-data')} })
) : (
<Transi18next
i18nKey="message.no-owned-data"
renderElement={<Link to={ROUTES.EXPLORE} />}
/>
)}
</div> </div>
</> </>
</EntityListSkeleton> </EntityListSkeleton>

View File

@ -53,7 +53,7 @@ jest.mock(
describe('MyDataWidget component', () => { describe('MyDataWidget component', () => {
it('should fetch data', () => { it('should fetch data', () => {
act(() => { act(() => {
render(<MyDataWidget />); render(<MyDataWidget />, { wrapper: MemoryRouter });
}); });
expect(getUserById).toHaveBeenCalledWith('123', 'owns'); expect(getUserById).toHaveBeenCalledWith('123', 'owns');

View File

@ -420,7 +420,7 @@ const DataQualityTab: React.FC<DataQualityTabProps> = ({
emptyText: <FilterTablePlaceHolder />, emptyText: <FilterTablePlaceHolder />,
}} }}
pagination={false} pagination={false}
rowKey="name" rowKey="id"
size="small" size="small"
/> />
</Col> </Col>

View File

@ -215,7 +215,7 @@ const QueryCard: FC<QueryCardProp> = ({
onChange={handleQueryChange} onChange={handleQueryChange}
/> />
</div> </div>
<Row align="middle" className="p-y-xs border-t-1"> <Row align="middle" className="p-y-xs border-top">
<Col className="p-y-0.5 p-l-md" span={16}> <Col className="p-y-0.5 p-l-md" span={16}>
<QueryUsedByOtherTable query={query} tableId={tableId} /> <QueryUsedByOtherTable query={query} tableId={tableId} />
</Col> </Col>

View File

@ -1258,7 +1258,7 @@
"no-mentions": "There are no instances where you or your team have been referenced in any activities", "no-mentions": "There are no instances where you or your team have been referenced in any activities",
"no-notification-found": "No notifications found", "no-notification-found": "No notifications found",
"no-open-task": "No Open Tasks", "no-open-task": "No Open Tasks",
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" on your menu to discover.", "no-owned-data": "It appears that you or your team are not currently data asset owners. To start owning data assets, click on the <0>Explore</0> option to discover and claim assets.",
"no-permission-for-action": "You do not have the necessary permissions to perform this action.", "no-permission-for-action": "You do not have the necessary permissions to perform this action.",
"no-permission-to-view": "You do not have the necessary permissions to view this data.", "no-permission-to-view": "You do not have the necessary permissions to view this data.",
"no-profiler-enabled-summary-message": "Profiler is not enabled for this table.", "no-profiler-enabled-summary-message": "Profiler is not enabled for this table.",

View File

@ -1258,7 +1258,7 @@
"no-mentions": "There are no instances where you or your team have been referenced in any activities", "no-mentions": "There are no instances where you or your team have been referenced in any activities",
"no-notification-found": "No se encontraron notificaciones", "no-notification-found": "No se encontraron notificaciones",
"no-open-task": "No hay tareas abiertas", "no-open-task": "No hay tareas abiertas",
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" on your menu to discover.", "no-owned-data": "It appears that you or your team are not currently data asset owners. To start owning data assets, click on the <0>Explore</0> option to discover and claim assets.",
"no-permission-for-action": "No tiene los permisos necesarios para realizar esta acción.", "no-permission-for-action": "No tiene los permisos necesarios para realizar esta acción.",
"no-permission-to-view": "No tiene los permisos necesarios para ver estos datos.", "no-permission-to-view": "No tiene los permisos necesarios para ver estos datos.",
"no-profiler-enabled-summary-message": "El profiler no está habilitado para esta tabla.", "no-profiler-enabled-summary-message": "El profiler no está habilitado para esta tabla.",

View File

@ -1258,7 +1258,7 @@
"no-mentions": "There are no instances where you or your team have been referenced in any activities", "no-mentions": "There are no instances where you or your team have been referenced in any activities",
"no-notification-found": "Aucune notifiaction trouvé", "no-notification-found": "Aucune notifiaction trouvé",
"no-open-task": "Aucune tâche ouverte", "no-open-task": "Aucune tâche ouverte",
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" on your menu to discover.", "no-owned-data": "It appears that you or your team are not currently data asset owners. To start owning data assets, click on the <0>Explore</0> option to discover and claim assets.",
"no-permission-for-action": "Vous n'avez pas les permissions requises pour effectuer cette action.", "no-permission-for-action": "Vous n'avez pas les permissions requises pour effectuer cette action.",
"no-permission-to-view": "Vous n'avez pas les permissions requises pour voir ces données.", "no-permission-to-view": "Vous n'avez pas les permissions requises pour voir ces données.",
"no-profiler-enabled-summary-message": "Profilage n'est pas activé pour cette table.", "no-profiler-enabled-summary-message": "Profilage n'est pas activé pour cette table.",

View File

@ -1258,7 +1258,7 @@
"no-mentions": "There are no instances where you or your team have been referenced in any activities", "no-mentions": "There are no instances where you or your team have been referenced in any activities",
"no-notification-found": "No notifications found", "no-notification-found": "No notifications found",
"no-open-task": "開いているタスクはありません", "no-open-task": "開いているタスクはありません",
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" on your menu to discover.", "no-owned-data": "It appears that you or your team are not currently data asset owners. To start owning data assets, click on the <0>Explore</0> option to discover and claim assets.",
"no-permission-for-action": "あなたはこのアクションを実行する権限を持っていません。", "no-permission-for-action": "あなたはこのアクションを実行する権限を持っていません。",
"no-permission-to-view": "あなたはこのデータを閲覧する権限を持っていません。", "no-permission-to-view": "あなたはこのデータを閲覧する権限を持っていません。",
"no-profiler-enabled-summary-message": "Profiler is not enabled for this table.", "no-profiler-enabled-summary-message": "Profiler is not enabled for this table.",

View File

@ -1258,7 +1258,7 @@
"no-mentions": "There are no instances where you or your team have been referenced in any activities", "no-mentions": "There are no instances where you or your team have been referenced in any activities",
"no-notification-found": "Nenhuma notificação encontrada", "no-notification-found": "Nenhuma notificação encontrada",
"no-open-task": "Nenhuma tarefa aberta", "no-open-task": "Nenhuma tarefa aberta",
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" on your menu to discover.", "no-owned-data": "It appears that you or your team are not currently data asset owners. To start owning data assets, click on the <0>Explore</0> option to discover and claim assets.",
"no-permission-for-action": "Você não tem as permissões necessárias para executar esta ação.", "no-permission-for-action": "Você não tem as permissões necessárias para executar esta ação.",
"no-permission-to-view": "Você não tem as permissões necessárias para visualizar estes dados.", "no-permission-to-view": "Você não tem as permissões necessárias para visualizar estes dados.",
"no-profiler-enabled-summary-message": "Profiler não está habilitado para esta tabela.", "no-profiler-enabled-summary-message": "Profiler não está habilitado para esta tabela.",

View File

@ -1258,7 +1258,7 @@
"no-mentions": "There are no instances where you or your team have been referenced in any activities", "no-mentions": "There are no instances where you or your team have been referenced in any activities",
"no-notification-found": "未找到通知", "no-notification-found": "未找到通知",
"no-open-task": "无未完成任务", "no-open-task": "无未完成任务",
"no-owned-data": "It appears that you or your team do not have any Data Assets under your ownership. To rectify this, kindly click on the \"Explore\" on your menu to discover.", "no-owned-data": "It appears that you or your team are not currently data asset owners. To start owning data assets, click on the <0>Explore</0> option to discover and claim assets.",
"no-permission-for-action": "您没有执行此操作所需的必要权限", "no-permission-for-action": "您没有执行此操作所需的必要权限",
"no-permission-to-view": "您没有查看此数据所需的必要权限", "no-permission-to-view": "您没有查看此数据所需的必要权限",
"no-profiler-enabled-summary-message": "该数据表未启用数据分析工具", "no-profiler-enabled-summary-message": "该数据表未启用数据分析工具",

View File

@ -11,7 +11,6 @@
* limitations under the License. * limitations under the License.
*/ */
import { Col, Row } from 'antd';
import { AxiosError } from 'axios'; import { AxiosError } from 'axios';
import ErrorPlaceHolder from 'components/common/error-with-placeholder/ErrorPlaceHolder'; import ErrorPlaceHolder from 'components/common/error-with-placeholder/ErrorPlaceHolder';
import PageLayoutV1 from 'components/containers/PageLayoutV1'; import PageLayoutV1 from 'components/containers/PageLayoutV1';
@ -281,22 +280,18 @@ const GlossaryPage = () => {
{isRightPanelLoading ? ( {isRightPanelLoading ? (
<Loader /> <Loader />
) : ( ) : (
<Row className="page-container" gutter={[16, 0]} wrap={false}> <GlossaryV1
<Col flex="auto"> deleteStatus={deleteStatus}
<GlossaryV1 isGlossaryActive={isGlossaryActive}
deleteStatus={deleteStatus} isSummaryPanelOpen={Boolean(previewAsset)}
isGlossaryActive={isGlossaryActive} isVersionsView={false}
isSummaryPanelOpen={Boolean(previewAsset)} selectedData={selectedData as Glossary}
isVersionsView={false} updateGlossary={updateGlossary}
selectedData={selectedData as Glossary} onAssetClick={handleAssetClick}
updateGlossary={updateGlossary} onGlossaryDelete={handleGlossaryDelete}
onAssetClick={handleAssetClick} onGlossaryTermDelete={handleGlossaryTermDelete}
onGlossaryDelete={handleGlossaryDelete} onGlossaryTermUpdate={handleGlossaryTermUpdate}
onGlossaryTermDelete={handleGlossaryTermDelete} />
onGlossaryTermUpdate={handleGlossaryTermUpdate}
/>
</Col>
</Row>
)} )}
</PageLayoutV1> </PageLayoutV1>
); );

View File

@ -119,11 +119,6 @@ a[href].link-text-grey,
.border-t-0 { .border-t-0 {
border-top-width: 0px; border-top-width: 0px;
} }
.border-t-1 {
border-top-width: 1px;
border-style: solid;
border-color: @border-color;
}
.border-main { .border-main {
border-color: @border-color; border-color: @border-color;
} }

View File

@ -86,6 +86,12 @@
} }
.glossary-tabs { .glossary-tabs {
.glossary-overview-tab,
.glossary-term-table-container,
.assets-tab-container {
height: @glossary-term-page-height;
overflow-y: scroll;
}
.description-heading { .description-heading {
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
@ -150,5 +156,14 @@
border-radius: 0; border-radius: 0;
padding-left: 0; padding-left: 0;
border-top: 0; border-top: 0;
.summary-panel-container {
height: @page-height;
}
} }
} }
.glossary-content-container {
height: @glossary-page-height;
overflow-y: scroll;
}

View File

@ -78,8 +78,11 @@
@btn-shadow: none; @btn-shadow: none;
// Sizing // Sizing
@page-height: calc(100vh - 64px);
@left-side-panel-width: 230px; @left-side-panel-width: 230px;
@entity-details-tab-height: calc(100vh - 236px); @entity-details-tab-height: calc(100vh - 236px);
@users-page-tabs-height: calc( @users-page-tabs-height: calc(
100vh - 122px 100vh - 122px
); /* navbar+tab_height+padding = 64+46+12 */ ); /* navbar+tab_height+padding = 64+46+12 */
@glossary-page-height: calc(100vh - 165px);
@glossary-term-page-height: calc(100vh - 200px);

View File

@ -872,7 +872,7 @@ code {
.page-not-found-container { .page-not-found-container {
width: 100%; width: 100%;
height: calc(100% - 68px); height: 100vh;
display: flex; display: flex;
} }