Fixed UI feedback (#20517)

* fixed github release issues

* fixed comments and ui feedbakcs

* fixed edit icon

* fixed test cases

* fixed quality changes

* fixed coomments

* fixed comments

---------

Co-authored-by: Ashish Gupta <ashish@getcollate.io>
This commit is contained in:
Dhruv Parmar 2025-04-02 21:43:09 +05:30 committed by GitHub
parent bca11d2fa1
commit 2d9fbcde17
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 200 additions and 96 deletions

View File

@ -1237,8 +1237,8 @@ test.describe('Glossary tests', () => {
expect(columnText).toEqual( expect(columnText).toEqual(
columnText.includes('Actions') columnText.includes('Actions')
? ['Terms', 'Description', 'Status', 'Owners', 'Actions'] ? ['Terms', 'Description', 'Owners', 'Status', 'Actions']
: ['Terms', 'Description', 'Status', 'Owners'] : ['Terms', 'Description', 'Owners', 'Status']
); );
} finally { } finally {
await glossaryTerm1.delete(apiContext); await glossaryTerm1.delete(apiContext);

View File

@ -746,7 +746,7 @@ export const followEntity = async (
await followResponse; await followResponse;
await expect(page.getByTestId('entity-follow-button')).toContainText( await expect(page.getByTestId('entity-follow-button')).toContainText(
'Following' 'Unfollow'
); );
}; };

View File

@ -1246,7 +1246,7 @@ export const filterStatus = async (
const rows = glossaryTermsTable.locator( const rows = glossaryTermsTable.locator(
'tbody.ant-table-tbody > tr:not([aria-hidden="true"])' 'tbody.ant-table-tbody > tr:not([aria-hidden="true"])'
); );
const statusColumnIndex = 3; const statusColumnIndex = 2;
for (let i = 0; i < (await rows.count()); i++) { for (let i = 0; i < (await rows.count()); i++) {
const statusCell = rows const statusCell = rows

View File

@ -1,10 +1,15 @@
<svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_6122_197246)"> <g clip-path="url(#clip0_9916_46685)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.625 1.875C0.625 1.18464 1.18464 0.625 1.875 0.625H5.9375C6.62787 0.625 7.1875 1.18464 7.1875 1.875V5.9375C7.1875 6.62787 6.62787 7.1875 5.9375 7.1875H4.375V9.72656C4.375 10.2227 4.77724 10.625 5.27344 10.625H7.8125V9.0625C7.8125 8.37213 8.37213 7.8125 9.0625 7.8125H13.125C13.8154 7.8125 14.375 8.37213 14.375 9.0625V13.125C14.375 13.8154 13.8154 14.375 13.125 14.375H9.0625C8.37213 14.375 7.8125 13.8154 7.8125 13.125V11.5625H5.27344C4.25947 11.5625 3.4375 10.7405 3.4375 9.72656V7.1875H1.875C1.18464 7.1875 0.625 6.62787 0.625 5.9375V1.875ZM1.875 1.5625C1.70241 1.5625 1.5625 1.70241 1.5625 1.875V5.9375C1.5625 6.11009 1.70241 6.25 1.875 6.25H5.9375C6.11009 6.25 6.25 6.11009 6.25 5.9375V1.875C6.25 1.70241 6.11009 1.5625 5.9375 1.5625H1.875ZM9.0625 8.75C8.88994 8.75 8.75 8.88994 8.75 9.0625V13.125C8.75 13.2976 8.88994 13.4375 9.0625 13.4375H13.125C13.2976 13.4375 13.4375 13.2976 13.4375 13.125V9.0625C13.4375 8.88994 13.2976 8.75 13.125 8.75H9.0625Z" fill="currentColor"/> <mask id="mask0_9916_46685" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="8" height="8">
<path d="M7.20005 0.799988H0.800049V7.19999H7.20005V0.799988Z" fill="white"/>
</mask>
<g mask="url(#mask0_9916_46685)">
<path d="M1.59998 1.01668C1.27782 1.01668 1.01665 1.27785 1.01665 1.60001V3.33335C1.01665 3.65552 1.27782 3.91668 1.59998 3.91668H2.21665V4.95001C2.21665 5.41024 2.58974 5.78335 3.04998 5.78335H4.08332V6.40001C4.08332 6.7222 4.34448 6.98335 4.66665 6.98335H6.39998C6.72217 6.98335 6.98332 6.7222 6.98332 6.40001V4.66668C6.98332 4.34451 6.72217 4.08335 6.39998 4.08335H4.66665C4.34448 4.08335 4.08332 4.34451 4.08332 4.66668V5.28335H3.04998C2.86589 5.28335 2.71665 5.13409 2.71665 4.95001V3.91668H3.33332C3.65549 3.91668 3.91665 3.65552 3.91665 3.33335V1.60001C3.91665 1.27785 3.65549 1.01668 3.33332 1.01668H1.59998ZM1.51665 1.60001C1.51665 1.55399 1.55396 1.51668 1.59998 1.51668H3.33332C3.37934 1.51668 3.41665 1.55399 3.41665 1.60001V3.33335C3.41665 3.37937 3.37934 3.41668 3.33332 3.41668H1.59998C1.55396 3.41668 1.51665 3.37937 1.51665 3.33335V1.60001ZM4.58332 4.66668C4.58332 4.62067 4.62064 4.58335 4.66665 4.58335H6.39998C6.44601 4.58335 6.48332 4.62067 6.48332 4.66668V6.40001C6.48332 6.44604 6.44601 6.48335 6.39998 6.48335H4.66665C4.62063 6.48335 4.58332 6.44604 4.58332 6.40001V4.66668Z" fill="#175CD3" stroke="#175CD3" stroke-width="0.1"/>
</g>
</g> </g>
<defs> <defs>
<clipPath id="clip0_6122_197246"> <clipPath id="clip0_9916_46685">
<rect width="15" height="15" fill="white"/> <rect width="8" height="8" fill="white"/>
</clipPath> </clipPath>
</defs> </defs>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -174,7 +174,7 @@ export const DomainLabelV2 = <
<Card <Card
className="new-header-border-card" className="new-header-border-card"
title={ title={
<div className="d-flex items-center gap-2"> <div className="d-flex items-center gap-1">
<Typography.Text className="text-sm font-medium"> <Typography.Text className="text-sm font-medium">
{t('label.domain')} {t('label.domain')}
</Typography.Text> </Typography.Text>

View File

@ -79,6 +79,30 @@ const EntityHeaderTitle = ({
[showOnlyDisplayName, displayName, name] [showOnlyDisplayName, displayName, name]
); );
const badges = useMemo(
() => (
<>
{isDisabled && (
<Badge
className="m-l-xs badge-grey"
count={t('label.disabled')}
data-testid="disabled"
/>
)}
{deleted && (
<Col className="text-xs" flex="100px">
<span className="deleted-badge-button" data-testid="deleted-badge">
<ExclamationCircleFilled className="m-r-xss font-medium text-xs" />
{t('label.deleted')}
</span>
</Col>
)}
{badge && <Col>{badge}</Col>}
</>
),
[isDisabled, deleted, badge]
);
const content = ( const content = (
<Row <Row
align="middle" align="middle"
@ -88,23 +112,28 @@ const EntityHeaderTitle = ({
wrap={false}> wrap={false}>
{icon && <Col className="flex-center">{icon}</Col>} {icon && <Col className="flex-center">{icon}</Col>}
<Col <Col
className={`d-flex flex-col gap-2 ${ className={classNames('d-flex flex-col gap-2', {
deleted || badge ? 'w-max-full-140' : 'entity-header-content' 'w-max-full-140': deleted || badge,
}`}> })}>
{/* If we do not have displayName name only be shown in the bold from the below code */} {/* If we do not have displayName name only be shown in the bold from the below code */}
{!isEmpty(displayName) && showName ? ( {!isEmpty(displayName) && showName ? (
<Tooltip placement="bottom" title={stringToHTML(displayName ?? name)}> <div className="d-flex items-center gap-2">
<Typography.Text <Tooltip
className={classNames( placement="bottom"
'entity-header-name', title={stringToHTML(displayName ?? name)}>
nameClassName, <Typography.Text
'm-b-0 d-block display-xs font-semibold' className={classNames(
)} 'entity-header-name',
data-testid="entity-header-display-name" nameClassName,
ellipsis={{ tooltip: true }}> 'm-b-0 d-block display-xs font-semibold'
{stringToHTML(displayName ?? name)} )}
</Typography.Text> data-testid="entity-header-display-name"
</Tooltip> ellipsis={{ tooltip: true }}>
{stringToHTML(displayName ?? name)}
</Typography.Text>
</Tooltip>
{badges}
</div>
) : null} ) : null}
<div <div
@ -155,7 +184,7 @@ const EntityHeaderTitle = ({
loading={isFollowingLoading} loading={isFollowingLoading}
onClick={handleFollowingClick}> onClick={handleFollowingClick}>
<Typography.Text> <Typography.Text>
{isFollowing ? 'Following' : 'Follow'} {t(`label.${isFollowing ? 'un-follow' : 'follow'}`)}
</Typography.Text> </Typography.Text>
</Button> </Button>
</Tooltip> </Tooltip>
@ -163,28 +192,13 @@ const EntityHeaderTitle = ({
</div> </div>
</Col> </Col>
{isDisabled && ( {isEmpty(displayName) ? badges : null}
<Badge
className="m-l-xs badge-grey"
count={t('label.disabled')}
data-testid="disabled"
/>
)}
{deleted && (
<Col className="text-xs" flex="100px">
<span className="deleted-badge-button" data-testid="deleted-badge">
<ExclamationCircleFilled className="m-r-xss font-medium text-xs" />
{t('label.deleted')}
</span>
</Col>
)}
{badge && <Col>{badge}</Col>}
</Row> </Row>
); );
return link && !isTourRoute ? ( return link && !isTourRoute ? (
<Link <Link
className="no-underline d-inline-block w-full" className="no-underline d-inline-block w-40 "
data-testid="entity-link" data-testid="entity-link"
target={openEntityInNewPage ? '_blank' : '_self'} target={openEntityInNewPage ? '_blank' : '_self'}
to={link}> to={link}>

View File

@ -43,7 +43,7 @@ function CommonEntitySummaryInfo({
<> <>
<Col span={8}> <Col span={8}>
<Typography.Text <Typography.Text
className="summary-item-key" className="summary-item-key font-semibold"
data-testid={`${info.name}-label`}> data-testid={`${info.name}-label`}>
{info.name} {info.name}
</Typography.Text> </Typography.Text>

View File

@ -419,7 +419,6 @@ const GlossaryTermTab = ({ isGlossary, className }: GlossaryTermTabProps) => {
); );
}, },
}, },
...ownerTableObject<ModifiedGlossaryTerm>(),
{ {
title: t('label.status'), title: t('label.status'),
dataIndex: GLOSSARY_TERM_TABLE_COLUMNS_KEYS.STATUS, dataIndex: GLOSSARY_TERM_TABLE_COLUMNS_KEYS.STATUS,
@ -458,6 +457,7 @@ const GlossaryTermTab = ({ isGlossary, className }: GlossaryTermTabProps) => {
}, },
onFilter: (value, record) => record.status === value, onFilter: (value, record) => record.status === value,
}, },
...ownerTableObject<ModifiedGlossaryTerm>(),
]; ];
if (permissions.Create) { if (permissions.Create) {
data.push({ data.push({
@ -667,8 +667,10 @@ const GlossaryTermTab = ({ isGlossary, className }: GlossaryTermTabProps) => {
trigger={['click']} trigger={['click']}
onOpenChange={setIsStatusDropdownVisible}> onOpenChange={setIsStatusDropdownVisible}>
<Button <Button
className="custom-status-dropdown-btn" className="text-primary"
data-testid="glossary-status-dropdown"> data-testid="glossary-status-dropdown"
size="small"
type="text">
<Space> <Space>
{t('label.status')} {t('label.status')}
<DownOutlined /> <DownOutlined />

View File

@ -28,7 +28,11 @@ import React, { FC, useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { ReactComponent as IconBotProfile } from '../../../../assets/svg/bot-profile.svg'; import { ReactComponent as IconBotProfile } from '../../../../assets/svg/bot-profile.svg';
import { ReactComponent as EditIcon } from '../../../../assets/svg/edit-new.svg'; import { ReactComponent as EditIcon } from '../../../../assets/svg/edit-new.svg';
import { PAGE_SIZE_LARGE, TERM_ADMIN } from '../../../../constants/constants'; import {
DE_ACTIVE_COLOR,
PAGE_SIZE_LARGE,
TERM_ADMIN,
} from '../../../../constants/constants';
import { GlobalSettingOptions } from '../../../../constants/GlobalSettings.constants'; import { GlobalSettingOptions } from '../../../../constants/GlobalSettings.constants';
import { useLimitStore } from '../../../../context/LimitsProvider/useLimitsStore'; import { useLimitStore } from '../../../../context/LimitsProvider/useLimitsStore';
import { EntityType } from '../../../../enums/entity.enum'; import { EntityType } from '../../../../enums/entity.enum';
@ -186,7 +190,9 @@ const BotDetails: FC<BotsDetailProps> = ({
<Button <Button
className="p-0" className="p-0"
data-testid="edit-displayName" data-testid="edit-displayName"
icon={<EditIcon width={16} />} icon={
<EditIcon color={DE_ACTIVE_COLOR} width={16} />
}
type="text" type="text"
onClick={() => setIsDisplayNameEdit(true)} onClick={() => setIsDisplayNameEdit(true)}
/> />

View File

@ -280,7 +280,6 @@ const TagsContainerV2 = ({
{!isEmpty(tags?.[tagType]) && !isEditTags && ( {!isEmpty(tags?.[tagType]) && !isEditTags && (
<EditIconButton <EditIconButton
data-testid="edit-button" data-testid="edit-button"
newLook={newLook}
size="small" size="small"
title={t('label.edit-entity', { title={t('label.edit-entity', {
entity: entity:

View File

@ -132,10 +132,11 @@ const DomainSelectableList = ({
: NO_PERMISSION_FOR_ACTION : NO_PERMISSION_FOR_ACTION
}> }>
<Button <Button
className="d-flex align-center justify-center " className="flex-center"
data-testid="add-domain" data-testid="add-domain"
disabled={!hasPermission} disabled={!hasPermission}
icon={<EditIcon color={DE_ACTIVE_COLOR} width="12px" />} icon={<EditIcon color={DE_ACTIVE_COLOR} width="14px" />}
size="small"
type="text" type="text"
/> />
</Tooltip> </Tooltip>

View File

@ -41,11 +41,22 @@
color: @text-color; color: @text-color;
} }
} }
.remove-button-default-styling { .data-assets-header-container,
.ant-btn-icon-only { .teams-info-header-container {
border: 1px solid @border-light; .remove-button-default-styling {
border-radius: 4px; .ant-btn-icon-only {
width: 20px; border: 1px solid @border-light;
height: 20px; background-color: @background-color;
border-radius: 4px;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
svg {
font-size: 12px;
width: 12px;
}
}
} }
} }

View File

@ -40,10 +40,11 @@ export const EditIconButton = ({
{...props} {...props}
/> />
) : ( ) : (
<Icon <Button
className={className} className={className}
component={EditIcon} icon={<EditIcon color={DE_ACTIVE_COLOR} width="14px" />}
style={{ color: DE_ACTIVE_COLOR }} size="small"
type="text"
{...props} {...props}
/> />
)} )}

View File

@ -22,11 +22,13 @@ import './owner-avtar.less';
interface OwnerAvatarProps { interface OwnerAvatarProps {
owner: EntityReference; owner: EntityReference;
isCompactView: boolean; isCompactView: boolean;
inheritedIcon?: React.ReactNode;
} }
export const OwnerAvatar: React.FC<OwnerAvatarProps> = ({ export const OwnerAvatar: React.FC<OwnerAvatarProps> = ({
owner, owner,
isCompactView, isCompactView,
inheritedIcon,
}) => { }) => {
const displayName = getEntityName(owner); const displayName = getEntityName(owner);
@ -55,6 +57,12 @@ export const OwnerAvatar: React.FC<OwnerAvatarProps> = ({
type="circle" type="circle"
width={isCompactView ? '18' : '32'} width={isCompactView ? '18' : '32'}
/> />
{inheritedIcon && !isCompactView && (
<div className="inherited-icon-styling flex-center">
{inheritedIcon}
</div>
)}
</div> </div>
); );
}; };

View File

@ -15,3 +15,39 @@
.anticon.owner-team-icon { .anticon.owner-team-icon {
color: @grey-700; color: @grey-700;
} }
.owner-avatar-icon {
position: relative;
.inherited-icon-styling {
position: absolute;
bottom: -4px;
right: -4px;
background-color: white;
border-radius: 50%;
width: 16px;
height: 16px;
z-index: 1;
border: 1px solid @blue-9;
svg {
color: @blue-9;
}
}
}
// Styling for the avatar group layout (for the overlapping effect)
.avatar-group {
display: flex;
.owner-avatar-icon {
margin-right: -8px;
border-radius: 50%;
overflow: hidden;
&:hover {
z-index: 2;
}
}
}

View File

@ -45,7 +45,7 @@ export const OwnerItem: React.FC<OwnerItemProps> = ({
title={t('label.inherited-entity', { title={t('label.inherited-entity', {
entity: t('label.owner-plural'), entity: t('label.owner-plural'),
})}> })}>
<InheritIcon className="inherit-icon cursor-pointer" width={14} /> <InheritIcon className="inherit-icon cursor-pointer" width={8} />
</Tooltip> </Tooltip>
) : null; ) : null;
@ -58,7 +58,11 @@ export const OwnerItem: React.FC<OwnerItemProps> = ({
{!isCompactView ? ( {!isCompactView ? (
<UserPopOverCard userName={owner.name ?? ''}> <UserPopOverCard userName={owner.name ?? ''}>
<Link className="d-flex" data-testid="owner-link" to={ownerPath}> <Link className="d-flex" data-testid="owner-link" to={ownerPath}>
<OwnerAvatar isCompactView={isCompactView} owner={owner} /> <OwnerAvatar
inheritedIcon={inheritedIcon}
isCompactView={isCompactView}
owner={owner}
/>
</Link> </Link>
</UserPopOverCard> </UserPopOverCard>
) : ( ) : (
@ -77,9 +81,9 @@ export const OwnerItem: React.FC<OwnerItemProps> = ({
{ownerDisplayName ?? displayName} {ownerDisplayName ?? displayName}
</span> </span>
</Link> </Link>
{inheritedIcon && <div className="d-flex">{inheritedIcon}</div>}
</> </>
)} )}
{inheritedIcon && <div className="d-flex">{inheritedIcon}</div>}
</div> </div>
); );
}; };

View File

@ -62,9 +62,7 @@ export const OwnerLabel = ({
multiple={multiple} multiple={multiple}
owner={owners} owner={owners}
tooltipText={tooltipText} tooltipText={tooltipText}
onUpdate={(updatedUsers) => { onUpdate={onUpdate}
onUpdate(updatedUsers);
}}
/> />
)} )}
</div> </div>
@ -128,9 +126,10 @@ export const OwnerLabel = ({
{/* Owner avatars list */} {/* Owner avatars list */}
<div <div
className={`d-flex items-center flex-wrap ${ className={classNames(
'd-flex flex-wrap items-center',
isCompactView && 'gap-2' isCompactView && 'gap-2'
}`}> )}>
{visibleOwners.map((owner, index) => ( {visibleOwners.map((owner, index) => (
<OwnerItem <OwnerItem
className={className} className={className}
@ -163,9 +162,7 @@ export const OwnerLabel = ({
multiple={multiple} multiple={multiple}
owner={owners} owner={owners}
tooltipText={tooltipText} tooltipText={tooltipText}
onUpdate={(updatedUsers) => { onUpdate={onUpdate}
onUpdate(updatedUsers);
}}
/> />
)} )}
</div> </div>

View File

@ -17,7 +17,7 @@ import { isArray, isNil, toLower } from 'lodash';
import React, { useState } from 'react'; import React, { useState } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { ReactComponent as EditIcon } from '../../../assets/svg/edit-new.svg'; import { ReactComponent as EditIcon } from '../../../assets/svg/edit-new.svg';
import { TERM_ADMIN } from '../../../constants/constants'; import { DE_ACTIVE_COLOR, TERM_ADMIN } from '../../../constants/constants';
import { useAuth } from '../../../hooks/authHooks'; import { useAuth } from '../../../hooks/authHooks';
import { getEntityName } from '../../../utils/EntityUtils'; import { getEntityName } from '../../../utils/EntityUtils';
import RolesElement from '../RolesElement/RolesElement.component'; import RolesElement from '../RolesElement/RolesElement.component';
@ -93,7 +93,7 @@ const RolesCard = ({
<Button <Button
className="m-l-xs" className="m-l-xs"
data-testid="edit-roles" data-testid="edit-roles"
icon={<EditIcon width={16} />} icon={<EditIcon color={DE_ACTIVE_COLOR} width={16} />}
type="text" type="text"
onClick={() => setIsRolesEdit(true)} onClick={() => setIsRolesEdit(true)}
/> />

View File

@ -182,8 +182,11 @@ export const SelectableList = ({
const handleUpdate = useCallback( const handleUpdate = useCallback(
async (updateItems: EntityReference[]) => { async (updateItems: EntityReference[]) => {
setUpdating(true); setUpdating(true);
await onUpdate?.(updateItems); try {
setUpdating(false); await onUpdate?.(updateItems);
} finally {
setUpdating(false);
}
}, },
[setUpdating, onUpdate] [setUpdating, onUpdate]
); );

View File

@ -237,7 +237,7 @@ const Table = <T extends Record<string, unknown>>(
{!isFullViewTable && ( {!isFullViewTable && (
<DndProvider backend={HTML5Backend}> <DndProvider backend={HTML5Backend}>
<Dropdown <Dropdown
className="custom-column-dropdown-menu" className="custom-column-dropdown-menu text-primary"
menu={menu} menu={menu}
open={isDropdownVisible} open={isDropdownVisible}
placement="bottomRight" placement="bottomRight"
@ -245,7 +245,9 @@ const Table = <T extends Record<string, unknown>>(
onOpenChange={setIsDropdownVisible}> onOpenChange={setIsDropdownVisible}>
<Button <Button
data-testid="column-dropdown" data-testid="column-dropdown"
icon={<Icon component={ColumnIcon} />}> icon={<Icon component={ColumnIcon} />}
size="small"
type="text">
{t('label.column-plural')} {t('label.column-plural')}
</Button> </Button>
</Dropdown> </Dropdown>

View File

@ -33,7 +33,6 @@
.custom-column-dropdown-menu { .custom-column-dropdown-menu {
margin-right: 10px; margin-right: 10px;
padding: 0;
border: none; border: none;
color: @primary-color; color: @primary-color;

View File

@ -159,8 +159,11 @@ export const UserTeamSelectableList = ({
updateData = updateItems; updateData = updateItems;
} }
await onUpdate(updateData); try {
setPopupVisible(false); await onUpdate(updateData);
} finally {
setPopupVisible(false);
}
}; };
// Fetch and store count for Users tab // Fetch and store count for Users tab

View File

@ -44,15 +44,15 @@ export interface SnowflakeConnection {
* Regex to only include/exclude databases that matches the pattern. * Regex to only include/exclude databases that matches the pattern.
*/ */
databaseFilterPattern?: DefaultDatabaseFilterPattern; databaseFilterPattern?: DefaultDatabaseFilterPattern;
/**
* Optional configuration for ingestion of streams, By default, it will skip the streams.
*/
includeStreams?: boolean;
/** /**
* Optional configuration for ingestion of TRANSIENT tables, By default, it will skip the * Optional configuration for ingestion of TRANSIENT tables, By default, it will skip the
* TRANSIENT tables. * TRANSIENT tables.
*/ */
includeTransientTables?: boolean; includeTransientTables?: boolean;
/**
* Optional configuration for ingestion of streams, By default, it will skip the streams.
*/
includeStreams?: boolean;
/** /**
* Password to connect to Snowflake. * Password to connect to Snowflake.
*/ */

View File

@ -32,7 +32,7 @@ import { OwnerLabel } from '../../components/common/OwnerLabel/OwnerLabel.compon
import ResizablePanels from '../../components/common/ResizablePanels/ResizablePanels'; import ResizablePanels from '../../components/common/ResizablePanels/ResizablePanels';
import TitleBreadcrumb from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.component'; import TitleBreadcrumb from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.component';
import EntityHeaderTitle from '../../components/Entity/EntityHeaderTitle/EntityHeaderTitle.component'; import EntityHeaderTitle from '../../components/Entity/EntityHeaderTitle/EntityHeaderTitle.component';
import { ROUTES } from '../../constants/constants'; import { DE_ACTIVE_COLOR, ROUTES } from '../../constants/constants';
import { GlobalSettingsMenuCategory } from '../../constants/GlobalSettings.constants'; import { GlobalSettingsMenuCategory } from '../../constants/GlobalSettings.constants';
import { usePermissionProvider } from '../../context/PermissionProvider/PermissionProvider'; import { usePermissionProvider } from '../../context/PermissionProvider/PermissionProvider';
import { import {
@ -408,7 +408,13 @@ function AlertDetailsPage({
<Button <Button
className="flex flex-center" className="flex flex-center"
data-testid="edit-button" data-testid="edit-button"
icon={<EditIcon height={16} width={16} />} icon={
<EditIcon
color={DE_ACTIVE_COLOR}
height={16}
width={16}
/>
}
onClick={handleAlertEdit} onClick={handleAlertEdit}
/> />
</Tooltip> </Tooltip>

View File

@ -27,7 +27,10 @@ import TitleBreadcrumb from '../../components/common/TitleBreadcrumb/TitleBreadc
import { TitleBreadcrumbProps } from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.interface'; import { TitleBreadcrumbProps } from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.interface';
import PageHeader from '../../components/PageHeader/PageHeader.component'; import PageHeader from '../../components/PageHeader/PageHeader.component';
import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1'; import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1';
import { NO_DATA_PLACEHOLDER } from '../../constants/constants'; import {
DE_ACTIVE_COLOR,
NO_DATA_PLACEHOLDER,
} from '../../constants/constants';
import { ALERTS_DOCS } from '../../constants/docs.constants'; import { ALERTS_DOCS } from '../../constants/docs.constants';
import { import {
GlobalSettingOptions, GlobalSettingOptions,
@ -277,7 +280,7 @@ const NotificationListPage = () => {
className="flex flex-center" className="flex flex-center"
data-testid={`alert-edit-${record.name}`} data-testid={`alert-edit-${record.name}`}
disabled={record.provider === ProviderType.System} disabled={record.provider === ProviderType.System}
icon={<EditIcon height={16} />} icon={<EditIcon color={DE_ACTIVE_COLOR} width="14px" />}
type="text" type="text"
/> />
</Link> </Link>

View File

@ -25,7 +25,11 @@ import RichTextEditorPreviewerNew from '../../components/common/RichTextEditor/R
import Table from '../../components/common/Table/Table'; import Table from '../../components/common/Table/Table';
import PageHeader from '../../components/PageHeader/PageHeader.component'; import PageHeader from '../../components/PageHeader/PageHeader.component';
import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1'; import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1';
import { NO_DATA_PLACEHOLDER, ROUTES } from '../../constants/constants'; import {
DE_ACTIVE_COLOR,
NO_DATA_PLACEHOLDER,
ROUTES,
} from '../../constants/constants';
import { ALERTS_DOCS } from '../../constants/docs.constants'; import { ALERTS_DOCS } from '../../constants/docs.constants';
import { useLimitStore } from '../../context/LimitsProvider/useLimitsStore'; import { useLimitStore } from '../../context/LimitsProvider/useLimitsStore';
import { usePermissionProvider } from '../../context/PermissionProvider/PermissionProvider'; import { usePermissionProvider } from '../../context/PermissionProvider/PermissionProvider';
@ -256,7 +260,7 @@ const ObservabilityAlertsPage = () => {
<Button <Button
className="flex flex-center" className="flex flex-center"
data-testid={`alert-edit-${record.name}`} data-testid={`alert-edit-${record.name}`}
icon={<EditIcon width={16} />} icon={<EditIcon color={DE_ACTIVE_COLOR} width="16px" />}
type="text" type="text"
/> />
</Link> </Link>

View File

@ -15,7 +15,6 @@
.pagination-container, .pagination-container,
.ant-pagination { .ant-pagination {
.ant-pagination-item { .ant-pagination-item {
width: 40px;
height: 40px; height: 40px;
padding: 4px; padding: 4px;
border: none; border: none;
@ -43,6 +42,7 @@
.ant-pagination-next, .ant-pagination-next,
.ant-pagination-prev { .ant-pagination-prev {
margin-right: 0px;
button { button {
border: none; border: none;
} }

View File

@ -361,7 +361,7 @@ describe('Glossary Utils - glossaryTermTableColumnsWidth', () => {
expect(columnWidthObject).toEqual({ expect(columnWidthObject).toEqual({
description: 210, description: 210,
name: 400, name: 200,
owners: 170, owners: 170,
reviewers: 330, reviewers: 330,
status: 200, status: 200,
@ -374,7 +374,7 @@ describe('Glossary Utils - glossaryTermTableColumnsWidth', () => {
expect(columnWidthObject).toEqual({ expect(columnWidthObject).toEqual({
description: 330, description: 330,
name: 400, name: 200,
owners: 170, owners: 170,
reviewers: 330, reviewers: 330,
status: 200, status: 200,

View File

@ -448,7 +448,7 @@ export const glossaryTermTableColumnsWidth = (
havingCreatePermission: boolean havingCreatePermission: boolean
) => { ) => {
return { return {
name: calculatePercentageFromValue(tableWidth, 40), name: calculatePercentageFromValue(tableWidth, 20),
description: calculatePercentageFromValue( description: calculatePercentageFromValue(
tableWidth, tableWidth,
havingCreatePermission ? 21 : 33 havingCreatePermission ? 21 : 33