|
1 |
| -import React from 'react' |
| 1 | +import { FunctionComponent, useState } from 'react'; |
2 | 2 | import { Button, ButtonVariant } from '@patternfly/react-core';
|
3 | 3 | import { Table, Tbody, Td, Th, Tr, Thead } from '@patternfly/react-table';
|
4 | 4 | import { ColumnsIcon } from '@patternfly/react-icons';
|
5 |
| -import ColumnManagementModal, { ColumnManagementModalColumn } from '@patternfly/react-component-groups/dist/dynamic/ColumnManagementModal'; |
| 5 | +import ColumnManagementModal, { |
| 6 | + ColumnManagementModalColumn |
| 7 | +} from '@patternfly/react-component-groups/dist/dynamic/ColumnManagementModal'; |
6 | 8 |
|
7 | 9 | const DEFAULT_COLUMNS: ColumnManagementModalColumn[] = [
|
8 | 10 | {
|
@@ -57,40 +59,50 @@ const ROWS = [
|
57 | 59 | impact: 'Moderate',
|
58 | 60 | score: '6.1'
|
59 | 61 | }
|
60 |
| -] |
| 62 | +]; |
| 63 | + |
| 64 | +export const ColumnManagementModalExample: FunctionComponent = () => { |
| 65 | + const [columns, setColumns] = useState(DEFAULT_COLUMNS); |
| 66 | + const [isOpen, setOpen] = useState(false); |
61 | 67 |
|
62 |
| -export const ColumnManagementModalExample: React.FunctionComponent = () => { |
63 |
| - const [ columns, setColumns ] = React.useState(DEFAULT_COLUMNS); |
64 |
| - const [ isOpen, setOpen ] = React.useState(false); |
65 |
| - |
66 | 68 | return (
|
67 | 69 | <>
|
68 | 70 | <ColumnManagementModal
|
69 | 71 | appliedColumns={columns}
|
70 |
| - applyColumns={newColumns => setColumns(newColumns)} |
| 72 | + applyColumns={(newColumns) => setColumns(newColumns)} |
71 | 73 | isOpen={isOpen}
|
72 | 74 | onClose={() => setOpen(false)}
|
73 | 75 | />
|
74 |
| - <Button className='pf-v6-u-mb-sm' onClick={() => setOpen(true)} variant={ButtonVariant.secondary} icon={<ColumnsIcon />}>Manage columns</Button> |
75 |
| - <Table |
76 |
| - aria-label="Simple table" |
77 |
| - variant="compact" |
| 76 | + <Button |
| 77 | + className="pf-v6-u-mb-sm" |
| 78 | + onClick={() => setOpen(true)} |
| 79 | + variant={ButtonVariant.secondary} |
| 80 | + icon={<ColumnsIcon />} |
78 | 81 | >
|
| 82 | + Manage columns |
| 83 | + </Button> |
| 84 | + <Table aria-label="Simple table" variant="compact"> |
79 | 85 | <Thead>
|
80 | 86 | <Tr>
|
81 |
| - {columns.filter(column => column.isShown).map(column => <Th key={column.key}>{column.title}</Th>)} |
| 87 | + {columns |
| 88 | + .filter((column) => column.isShown) |
| 89 | + .map((column) => ( |
| 90 | + <Th key={column.key}>{column.title}</Th> |
| 91 | + ))} |
82 | 92 | </Tr>
|
83 | 93 | </Thead>
|
84 | 94 | <Tbody>
|
85 |
| - {ROWS.map((row, rowIndex) => |
| 95 | + {ROWS.map((row, rowIndex) => ( |
86 | 96 | <Tr key={rowIndex}>
|
87 |
| - {columns.filter(column => column.isShown).map((column, columnIndex) => |
88 |
| - <Td key={columnIndex}>{row[column.key]}</Td> |
89 |
| - )} |
90 |
| - </Tr> |
91 |
| - )} |
| 97 | + {columns |
| 98 | + .filter((column) => column.isShown) |
| 99 | + .map((column, columnIndex) => ( |
| 100 | + <Td key={columnIndex}>{row[column.key]}</Td> |
| 101 | + ))} |
| 102 | + </Tr> |
| 103 | + ))} |
92 | 104 | </Tbody>
|
93 | 105 | </Table>
|
94 | 106 | </>
|
95 |
| - ) |
96 |
| -} |
| 107 | + ); |
| 108 | +}; |
0 commit comments