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,
}),
}}>
{getEntityName(record.executableEntityReference)}
{record.executableEntityReference?.fullyQualifiedName ??
record.executableEntityReference?.name}
</Link>
) : (
<Link

View File

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

View File

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

View File

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

View File

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

View File

@ -10,7 +10,7 @@
* See the License for the specific language governing permissions and
* 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 PlusIcon } from 'assets/svg/plus-primary.svg';
import ProfilePicture from 'components/common/ProfilePicture/ProfilePicture';
@ -195,116 +195,113 @@ const GlossaryDetailsRightPanel = ({
);
return (
<Card>
<Row gutter={[0, 40]}>
<Col data-testid="glossary-owner-name" span="24">
<div className="d-flex items-center m-b-xss">
<Typography.Text className="right-panel-label">
{t('label.owner')}
</Typography.Text>
{(permissions.EditOwner || permissions.EditAll) &&
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) && (
<Row gutter={[0, 40]}>
<Col data-testid="glossary-owner-name" span="24">
<div className="d-flex items-center m-b-xss">
<Typography.Text className="right-panel-label">
{t('label.owner')}
</Typography.Text>
{(permissions.EditOwner || permissions.EditAll) &&
selectedData.owner && (
<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=""
<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>
)}
</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
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}
/>
</div>
{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
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=""
<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>
</Col>
<Col span="24">
<div data-testid="glossary-tags-name">
{isGlossary && (
<TagsInput
editable={permissions.EditAll || permissions.EditTags}
isVersionView={isVersionView}
tags={tags}
onTagsUpdate={handleTagsUpdate}
</div>
<div>
<GlossaryReviewers
editPermission={hasEditReviewerAccess}
glossaryData={selectedData}
isVersionView={isVersionView}
/>
{hasEditReviewerAccess && noReviewersSelected && (
<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=""
/>
)}
</div>
</Col>
</Row>
</Card>
</UserSelectableList>
)}
</div>
</Col>
<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: (
<GlossaryTermTab
childGlossaryTerms={childGlossaryTerms}
className="p-md glossary-term-table-container"
isGlossary={false}
permissions={permissions}
refreshGlossaryTerms={refreshGlossaryTerms}
@ -221,7 +222,7 @@ const GlossaryTermsV1 = ({
return (
<>
<Row data-testid="glossary-term" gutter={[0, 8]}>
<Col span={24}>
<Col className="p-x-md" span={24}>
<GlossaryHeader
isGlossary={false}
isVersionView={isVersionView}
@ -238,7 +239,7 @@ const GlossaryTermsV1 = ({
<Tabs
destroyInactiveTabPane
activeKey={activeTab}
className="glossary-tabs"
className="glossary-tabs custom-tab-spacing"
items={tabItems}
onChange={activeTabHandler}
/>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -215,7 +215,7 @@ const QueryCard: FC<QueryCardProp> = ({
onChange={handleQueryChange}
/>
</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}>
<QueryUsedByOtherTable query={query} tableId={tableId} />
</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-notification-found": "No notifications found",
"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-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.",

View File

@ -1258,7 +1258,7 @@
"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-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-to-view": "No tiene los permisos necesarios para ver estos datos.",
"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-notification-found": "Aucune notifiaction trouvé",
"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-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.",

View File

@ -1258,7 +1258,7 @@
"no-mentions": "There are no instances where you or your team have been referenced in any activities",
"no-notification-found": "No notifications found",
"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-to-view": "あなたはこのデータを閲覧する権限を持っていません。",
"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-notification-found": "Nenhuma notificação encontrada",
"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-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.",

View File

@ -1258,7 +1258,7 @@
"no-mentions": "There are no instances where you or your team have been referenced in any activities",
"no-notification-found": "未找到通知",
"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-to-view": "您没有查看此数据所需的必要权限",
"no-profiler-enabled-summary-message": "该数据表未启用数据分析工具",

View File

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

View File

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

View File

@ -86,6 +86,12 @@
}
.glossary-tabs {
.glossary-overview-tab,
.glossary-term-table-container,
.assets-tab-container {
height: @glossary-term-page-height;
overflow-y: scroll;
}
.description-heading {
font-size: 16px;
font-weight: 500;
@ -150,5 +156,14 @@
border-radius: 0;
padding-left: 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;
// Sizing
@page-height: calc(100vh - 64px);
@left-side-panel-width: 230px;
@entity-details-tab-height: calc(100vh - 236px);
@users-page-tabs-height: calc(
100vh - 122px
); /* 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 {
width: 100%;
height: calc(100% - 68px);
height: 100vh;
display: flex;
}