wca-designsystem 1.0.81 → 1.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import React, { useCallback } from 'react'
|
|
2
|
-
import * as S from './styles'
|
|
3
|
-
import InputDeTexto from '../../atomos/InputDeTexto'
|
|
4
|
-
import SelectCustomizado from '../../atomos/Select'
|
|
5
|
-
import Icone from '../../atomos/Icone'
|
|
6
|
-
import IconeBotao from '../../atomos/IconeBotao'
|
|
7
|
-
import Botao from '../../atomos/Botao'
|
|
8
|
-
import pesquisar from '../../../assets/imagens/icons/Busca.svg'
|
|
9
|
-
import ordernar from '../../../assets/imagens/icons/Ordernar.svg'
|
|
10
|
-
import { Column, SelectDataProps } from '../../organismos/Tabela'
|
|
11
|
-
import filtrar from '../../../assets/imagens/icons/Filtrar.svg'
|
|
12
|
-
import colunas from '../../../assets/imagens/icons/Colunas.svg'
|
|
13
|
-
import plus from '../../../assets/imagens/icons/Mais.svg'
|
|
14
|
-
import { Menu, Switch } from '@mantine/core'
|
|
1
|
+
import React, { useCallback } from 'react'
|
|
2
|
+
import * as S from './styles'
|
|
3
|
+
import InputDeTexto from '../../atomos/InputDeTexto'
|
|
4
|
+
import SelectCustomizado from '../../atomos/Select'
|
|
5
|
+
import Icone from '../../atomos/Icone'
|
|
6
|
+
import IconeBotao from '../../atomos/IconeBotao'
|
|
7
|
+
import Botao from '../../atomos/Botao'
|
|
8
|
+
import pesquisar from '../../../assets/imagens/icons/Busca.svg'
|
|
9
|
+
import ordernar from '../../../assets/imagens/icons/Ordernar.svg'
|
|
10
|
+
import { Column, SelectDataProps } from '../../organismos/Tabela'
|
|
11
|
+
import filtrar from '../../../assets/imagens/icons/Filtrar.svg'
|
|
12
|
+
import colunas from '../../../assets/imagens/icons/Colunas.svg'
|
|
13
|
+
import plus from '../../../assets/imagens/icons/Mais.svg'
|
|
14
|
+
import { Menu, Switch } from '@mantine/core'
|
|
15
15
|
|
|
16
16
|
export type TabelaHeaderProps<
|
|
17
|
-
T extends { id: string | number; children?: Array<T> }
|
|
17
|
+
T extends { id: string | number; children?: Array<T> },
|
|
18
18
|
> = {
|
|
19
|
-
globalFilter: string
|
|
20
|
-
setGlobalFilter: React.Dispatch<React.SetStateAction<string
|
|
21
|
-
setToogleFiltros: React.Dispatch<React.SetStateAction<boolean
|
|
22
|
-
toogleFiltros: boolean
|
|
23
|
-
color?: string
|
|
24
|
-
hasOrder?: boolean
|
|
25
|
-
hasAdd?: boolean
|
|
26
|
-
setOrdenarPor?: React.Dispatch<React.SetStateAction<SelectDataProps
|
|
27
|
-
handleAdicionar?: () => void
|
|
28
|
-
ordenarPor?: SelectDataProps
|
|
29
|
-
hasFiltersButtons?: boolean
|
|
30
|
-
columns: Column<T>[]
|
|
31
|
-
setFormatedColumns: React.Dispatch<React.SetStateAction<Column<T>[]
|
|
32
|
-
}
|
|
19
|
+
globalFilter: string
|
|
20
|
+
setGlobalFilter: React.Dispatch<React.SetStateAction<string>>
|
|
21
|
+
setToogleFiltros: React.Dispatch<React.SetStateAction<boolean>>
|
|
22
|
+
toogleFiltros: boolean
|
|
23
|
+
color?: string
|
|
24
|
+
hasOrder?: boolean
|
|
25
|
+
hasAdd?: boolean
|
|
26
|
+
setOrdenarPor?: React.Dispatch<React.SetStateAction<SelectDataProps>>
|
|
27
|
+
handleAdicionar?: () => void
|
|
28
|
+
ordenarPor?: SelectDataProps
|
|
29
|
+
hasFiltersButtons?: boolean
|
|
30
|
+
columns: Column<T>[]
|
|
31
|
+
setFormatedColumns: React.Dispatch<React.SetStateAction<Column<T>[]>>
|
|
32
|
+
}
|
|
33
33
|
const TabelaHeader = <T extends { id: string | number; children?: Array<T> }>({
|
|
34
34
|
globalFilter,
|
|
35
35
|
setGlobalFilter,
|
|
@@ -46,21 +46,21 @@ const TabelaHeader = <T extends { id: string | number; children?: Array<T> }>({
|
|
|
46
46
|
hasOrder,
|
|
47
47
|
}: TabelaHeaderProps<T>) => {
|
|
48
48
|
const onChangeCheckedColumn = useCallback((column: string) => {
|
|
49
|
-
const columnsFormated = columns.map(columnFiltered => {
|
|
49
|
+
const columnsFormated = columns.map((columnFiltered) => {
|
|
50
50
|
if (columnFiltered.key === column) {
|
|
51
|
-
columnFiltered.active = !columnFiltered.active
|
|
51
|
+
columnFiltered.active = !columnFiltered.active
|
|
52
52
|
}
|
|
53
|
-
return columnFiltered
|
|
54
|
-
})
|
|
55
|
-
setFormatedColumns(columnsFormated)
|
|
56
|
-
}, [])
|
|
53
|
+
return columnFiltered
|
|
54
|
+
})
|
|
55
|
+
setFormatedColumns(columnsFormated)
|
|
56
|
+
}, [])
|
|
57
57
|
|
|
58
|
-
const columnsToHide = ['expand', 'select', 'acoes']
|
|
58
|
+
const columnsToHide = ['expand', 'select', 'acoes']
|
|
59
59
|
return (
|
|
60
|
-
<S.HeaderTableContent>
|
|
60
|
+
<S.HeaderTableContent id="header-table-content">
|
|
61
61
|
<InputDeTexto
|
|
62
62
|
tipo="table"
|
|
63
|
-
onChange={e => setGlobalFilter(e.currentTarget.value)}
|
|
63
|
+
onChange={(e) => setGlobalFilter(e.currentTarget.value)}
|
|
64
64
|
color={color}
|
|
65
65
|
value={toogleFiltros ? '' : globalFilter}
|
|
66
66
|
placeholder="Pesquisar na tabela"
|
|
@@ -111,8 +111,8 @@ const TabelaHeader = <T extends { id: string | number; children?: Array<T> }>({
|
|
|
111
111
|
color={color}
|
|
112
112
|
toolTipInfo="Filtros especificos"
|
|
113
113
|
onClick={() => {
|
|
114
|
-
setToogleFiltros(!toogleFiltros)
|
|
115
|
-
setGlobalFilter('')
|
|
114
|
+
setToogleFiltros(!toogleFiltros)
|
|
115
|
+
setGlobalFilter('')
|
|
116
116
|
}}
|
|
117
117
|
>
|
|
118
118
|
<Icone svg={filtrar} fill={color} width={20} />
|
|
@@ -132,26 +132,25 @@ const TabelaHeader = <T extends { id: string | number; children?: Array<T> }>({
|
|
|
132
132
|
</button>
|
|
133
133
|
</Menu.Target>
|
|
134
134
|
<Menu.Dropdown>
|
|
135
|
-
{columns?.map(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
))}
|
|
135
|
+
{columns?.map(
|
|
136
|
+
(column) =>
|
|
137
|
+
!columnsToHide.includes(column.key.toString()) && (
|
|
138
|
+
<Menu.Item key={String(column.key)}>
|
|
139
|
+
<S.MenuDropDown>
|
|
140
|
+
<Switch
|
|
141
|
+
checked={column.active}
|
|
142
|
+
onChange={() => onChangeCheckedColumn(String(column.key))}
|
|
143
|
+
color={color}
|
|
144
|
+
/>
|
|
145
|
+
{columnsToHide.includes(column.header) ? '' : column.header}
|
|
146
|
+
</S.MenuDropDown>
|
|
147
|
+
</Menu.Item>
|
|
148
|
+
)
|
|
149
|
+
)}
|
|
151
150
|
</Menu.Dropdown>
|
|
152
151
|
</S.ToogleMenuColunas>
|
|
153
152
|
</S.HeaderTableContent>
|
|
154
|
-
)
|
|
155
|
-
}
|
|
153
|
+
)
|
|
154
|
+
}
|
|
156
155
|
|
|
157
|
-
export default TabelaHeader
|
|
156
|
+
export default TabelaHeader
|