Skip to content

Commit 0372efd

Browse files
committed
fix(mrc): move array excluded columns in constant file
ref: #MANAGER-17732 Signed-off-by: Guillaume Hyenne <guillaume.hyenne@ovhcloud.com>
1 parent 9bbcbe9 commit 0372efd

File tree

3 files changed

+24
-21
lines changed

3 files changed

+24
-21
lines changed

packages/manager-react-components/src/components/datagrid/datagrid-topbar.component.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ import { FilterWithLabel } from '../filters/interface';
1616
import { FilterAdd, FilterList } from '../filters';
1717
import { ColumnFilter } from '../filters/filter-add.component';
1818
import './translations';
19-
import { VisibilityManagement } from './visibility/visibility-management.component';
20-
import { ColumnsVisibility } from './datagrid.constants';
19+
import {
20+
ColumnsVisibility,
21+
VisibilityManagement,
22+
} from './visibility/visibility-management.component';
2123

2224
type ColumnFilterProps = {
2325
key: string;

packages/manager-react-components/src/components/datagrid/datagrid.constants.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,4 @@ export const DEFAULT_PAGINATION: PaginationState = {
1010

1111
export const defaultNumberOfLoadingRows = 5;
1212

13-
export type ColumnsVisibility = {
14-
id: string;
15-
isDisabled: boolean;
16-
label: string;
17-
enableHiding: boolean;
18-
isVisible: () => boolean;
19-
onChange: () => void;
20-
};
21-
22-
export type ColumnsVisibilityProps = {
23-
columnsVisibility: ColumnsVisibility[];
24-
};
13+
export const INTERNAL_COLUMNS = ['expander', 'actions'];

packages/manager-react-components/src/components/datagrid/visibility/visibility-management.component.tsx

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,31 @@ import {
1313
} from '@ovhcloud/ods-components/react';
1414
import { useRef } from 'react';
1515
import { useTranslation } from 'react-i18next';
16-
import { ColumnsVisibilityProps } from '../datagrid.constants';
16+
import { INTERNAL_COLUMNS } from '../datagrid.constants';
17+
18+
export type ColumnsVisibility = {
19+
id: string;
20+
isDisabled: boolean;
21+
label: string;
22+
enableHiding: boolean;
23+
isVisible: () => boolean;
24+
onChange: () => void;
25+
};
26+
27+
export type ColumnsVisibilityProps = {
28+
columnsVisibility: ColumnsVisibility[];
29+
};
1730

1831
export function VisibilityManagement({
1932
columnsVisibility,
2033
}: Readonly<ColumnsVisibilityProps>) {
2134
const { t } = useTranslation('datagrid');
2235
const visibilityPopoverRef = useRef(null);
23-
const columnsIncludedInCounter = columnsVisibility.filter(
24-
(column) =>
25-
!['expander', 'actions'].includes(column.id) && column.label !== '',
36+
const eligibleColumns = columnsVisibility.filter(
37+
(column) => !INTERNAL_COLUMNS.includes(column.id) && column.label !== '',
2638
);
2739

28-
const visibleColumnsCount = columnsIncludedInCounter.filter((column) =>
40+
const visibleColumnsCount = eligibleColumns.filter((column) =>
2941
column.isVisible(),
3042
).length;
3143

@@ -40,7 +52,7 @@ export function VisibilityManagement({
4052
icon={ODS_ICON_NAME.columns}
4153
aria-label={t('common_topbar_columns')}
4254
label={`${t('common_topbar_columns')}${
43-
visibleColumnsCount < columnsIncludedInCounter.length
55+
visibleColumnsCount < eligibleColumns.length
4456
? ` (${visibleColumnsCount})`
4557
: ''
4658
}`}
@@ -51,7 +63,7 @@ export function VisibilityManagement({
5163
with-arrow
5264
>
5365
<div className="flex flex-col">
54-
{columnsIncludedInCounter.map((column) => (
66+
{eligibleColumns.map((column) => (
5567
<OdsFormField key={column.id}>
5668
<div className="flex flex-row items-center gap-x-2">
5769
<OdsCheckbox

0 commit comments

Comments
 (0)