@propellerads/table 4.9.0 → 5.0.1
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/dist/index.d.ts +2 -2
- package/dist/table.cjs.development.js +49 -31
- package/dist/table.cjs.development.js.map +1 -1
- package/dist/table.cjs.production.min.js +1 -1
- package/dist/table.cjs.production.min.js.map +1 -1
- package/dist/table.esm.js +49 -31
- package/dist/table.esm.js.map +1 -1
- package/package.json +8 -11
- package/src/index.tsx +60 -103
- package/src/propsGetter.tsx +49 -40
- package/src/style.tsx +41 -46
- package/src/types.tsx +117 -104
- package/src/useLoadingState.tsx +14 -9
- package/CHANGELOG.md +0 -89
package/src/propsGetter.tsx
CHANGED
|
@@ -37,50 +37,59 @@ export const getTableProps: GetTableContainerPropsGetter = (userGetter, getter =
|
|
|
37
37
|
return getter;
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
export const getTableElementProps:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
export const getTableElementProps: GetTableElementPropsGetter<ElementHeaderFooterPropGetter> = (
|
|
41
|
+
userGetter,
|
|
42
|
+
getter = defaultGetter,
|
|
43
|
+
) => {
|
|
44
|
+
if (userGetter) {
|
|
45
|
+
return (props, meta) => ({
|
|
46
|
+
...getter(props, meta),
|
|
47
|
+
...userGetter(props, meta),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
return getter;
|
|
52
|
+
};
|
|
51
53
|
|
|
52
|
-
export const getTableRowProps:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
export const getTableRowProps: GetTableElementPropsGetter<ElementRowPropGetter> = (
|
|
55
|
+
userGetter,
|
|
56
|
+
getter = defaultGetter,
|
|
57
|
+
) => {
|
|
58
|
+
if (userGetter) {
|
|
59
|
+
return (props, meta) => ({
|
|
60
|
+
...getter(props, meta),
|
|
61
|
+
...userGetter(props, meta),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
60
64
|
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
return getter;
|
|
66
|
+
};
|
|
63
67
|
|
|
64
|
-
export const getTableCellProps:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
export const getTableCellProps: GetTableElementPropsGetter<ElementCellPropGetter> = (
|
|
69
|
+
userGetter,
|
|
70
|
+
getter = defaultGetter,
|
|
71
|
+
) => {
|
|
72
|
+
if (userGetter) {
|
|
73
|
+
return (props, meta) => ({
|
|
74
|
+
...getter(props, meta),
|
|
75
|
+
...userGetter(props, meta),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
72
78
|
|
|
73
|
-
|
|
74
|
-
|
|
79
|
+
return getter;
|
|
80
|
+
};
|
|
75
81
|
|
|
76
|
-
export const getTableElementInternalProps:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
82
|
+
export const getTableElementInternalProps: GetTableElementInternalPropsGetter = (
|
|
83
|
+
internalProps,
|
|
84
|
+
userGetter,
|
|
85
|
+
getter = defaultGetter,
|
|
86
|
+
) => {
|
|
87
|
+
if (userGetter) {
|
|
88
|
+
return (props, meta) => ({
|
|
89
|
+
...getter({...props, ...internalProps}, meta),
|
|
90
|
+
...userGetter(props, meta),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
84
93
|
|
|
85
|
-
|
|
86
|
-
|
|
94
|
+
return (props: DefaultObject, meta: BaseMeta) => getter({...props, ...internalProps}, meta);
|
|
95
|
+
};
|
package/src/style.tsx
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
/* eslint max-len: off */
|
|
2
|
-
import styled, {
|
|
3
|
-
|
|
4
|
-
} from 'styled-components';
|
|
5
|
-
import {
|
|
6
|
-
fontNormal,
|
|
7
|
-
white,
|
|
8
|
-
black,
|
|
9
|
-
spacing,
|
|
10
|
-
gray80,
|
|
11
|
-
gray95,
|
|
12
|
-
} from '@propellerads/stylevariables';
|
|
2
|
+
import styled, {keyframes, css, CSSObject} from 'styled-components';
|
|
3
|
+
import {fontNormal, white, black, spacing, gray80, gray95} from '@propellerads/stylevariables';
|
|
13
4
|
|
|
14
5
|
const loadingAnimation = keyframes`
|
|
15
6
|
from {
|
|
@@ -24,23 +15,25 @@ const loadingAnimation = keyframes`
|
|
|
24
15
|
`;
|
|
25
16
|
|
|
26
17
|
export const TableLoading = styled.div`
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
${(props: {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
18
|
+
display: block;
|
|
19
|
+
position: absolute;
|
|
20
|
+
left: 0;
|
|
21
|
+
right: 0;
|
|
22
|
+
top: 0;
|
|
23
|
+
bottom: 0;
|
|
24
|
+
background: rgba(255, 255, 255, 0.8);
|
|
25
|
+
transition: all 0.3s ease;
|
|
26
|
+
z-index: -1;
|
|
27
|
+
opacity: 0;
|
|
28
|
+
pointer-events: none;
|
|
29
|
+
|
|
30
|
+
${(props: {isLoading: boolean}) =>
|
|
31
|
+
props.isLoading &&
|
|
32
|
+
css`
|
|
33
|
+
opacity: 1;
|
|
34
|
+
z-index: 2;
|
|
35
|
+
pointer-events: all;
|
|
36
|
+
`}
|
|
44
37
|
`;
|
|
45
38
|
|
|
46
39
|
export const TableLoadingInner = styled.div`
|
|
@@ -58,7 +51,7 @@ export const TableLoadingInner = styled.div`
|
|
|
58
51
|
export const TableWrapper = styled.div`
|
|
59
52
|
position: relative;
|
|
60
53
|
overflow: hidden;
|
|
61
|
-
|
|
54
|
+
|
|
62
55
|
&::before {
|
|
63
56
|
bottom: 10px;
|
|
64
57
|
content: '';
|
|
@@ -69,7 +62,7 @@ export const TableWrapper = styled.div`
|
|
|
69
62
|
height: 100%;
|
|
70
63
|
top: 0;
|
|
71
64
|
left: -10px;
|
|
72
|
-
box-shadow: 0 3px 6px 0 rgba(0,0,0,0.2);
|
|
65
|
+
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);
|
|
73
66
|
transition: 0.3s opacity;
|
|
74
67
|
}
|
|
75
68
|
|
|
@@ -83,16 +76,16 @@ export const TableWrapper = styled.div`
|
|
|
83
76
|
position: absolute;
|
|
84
77
|
top: 0;
|
|
85
78
|
right: -10px;
|
|
86
|
-
box-shadow: 0 3px 6px 0 rgba(0,0,0,0.2);
|
|
79
|
+
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);
|
|
87
80
|
transition: 0.3s opacity;
|
|
88
81
|
}
|
|
89
|
-
|
|
82
|
+
|
|
90
83
|
&.shadow_left {
|
|
91
84
|
&::before {
|
|
92
85
|
opacity: 1 !important;
|
|
93
86
|
}
|
|
94
87
|
}
|
|
95
|
-
|
|
88
|
+
|
|
96
89
|
&.shadow_right {
|
|
97
90
|
&::after {
|
|
98
91
|
opacity: 1 !important;
|
|
@@ -119,7 +112,7 @@ export const TableCore = styled.div`
|
|
|
119
112
|
flex: auto 1;
|
|
120
113
|
display: flex;
|
|
121
114
|
flex-direction: column;
|
|
122
|
-
align-items: stretch;
|
|
115
|
+
align-items: stretch;
|
|
123
116
|
border-collapse: collapse;
|
|
124
117
|
`;
|
|
125
118
|
|
|
@@ -128,16 +121,18 @@ export const HeadCell = styled.div`
|
|
|
128
121
|
`;
|
|
129
122
|
|
|
130
123
|
export const TD = styled.div`
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
${({align}: {
|
|
139
|
-
|
|
140
|
-
|
|
124
|
+
white-space: nowrap;
|
|
125
|
+
text-overflow: ellipsis;
|
|
126
|
+
line-height: 1.3rem;
|
|
127
|
+
padding: 7px 4px;
|
|
128
|
+
overflow: hidden;
|
|
129
|
+
transition: width 0.3s ease 0s, min-width, padding, opacity;
|
|
130
|
+
|
|
131
|
+
${({align}: {align?: CSSObject; colSpan?: number}) =>
|
|
132
|
+
align &&
|
|
133
|
+
css`
|
|
134
|
+
text-align: ${align};
|
|
135
|
+
`}
|
|
141
136
|
`;
|
|
142
137
|
|
|
143
138
|
export const EmptyStateCell = styled.div`
|
|
@@ -163,7 +158,7 @@ export const THead = styled.div`
|
|
|
163
158
|
display: flex;
|
|
164
159
|
flex-direction: column;
|
|
165
160
|
user-select: none;
|
|
166
|
-
|
|
161
|
+
|
|
167
162
|
${TH}, ${TD} {
|
|
168
163
|
padding: 0 4px;
|
|
169
164
|
line-height: normal;
|
|
@@ -210,7 +205,7 @@ export const TResizer = styled.div`
|
|
|
210
205
|
top: 0;
|
|
211
206
|
z-index: 1;
|
|
212
207
|
touch-action: none;
|
|
213
|
-
|
|
208
|
+
|
|
214
209
|
&:after {
|
|
215
210
|
content: '↔';
|
|
216
211
|
position: absolute;
|
package/src/types.tsx
CHANGED
|
@@ -12,149 +12,162 @@ import {
|
|
|
12
12
|
Row,
|
|
13
13
|
RowPropGetter,
|
|
14
14
|
TableBodyPropGetter,
|
|
15
|
-
TablePropGetter,
|
|
16
|
-
|
|
15
|
+
TablePropGetter,
|
|
16
|
+
TableState,
|
|
17
|
+
UsePaginationInstanceProps,
|
|
18
|
+
UsePaginationOptions,
|
|
17
19
|
UsePaginationState,
|
|
18
20
|
UseRowSelectInstanceProps,
|
|
19
|
-
UseRowSelectState,
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
UseRowSelectState,
|
|
22
|
+
UseSortByColumnProps,
|
|
23
|
+
UseRowSelectRowProps,
|
|
24
|
+
UseSortByInstanceProps,
|
|
25
|
+
UseSortByOptions,
|
|
26
|
+
UseTableOptions,
|
|
27
|
+
HeaderPropGetter,
|
|
22
28
|
} from 'react-table';
|
|
23
29
|
|
|
24
30
|
export type DefaultObject = Record<string, string | number | unknown>;
|
|
25
31
|
|
|
26
32
|
export type LoadingState = {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
33
|
+
loadingColumns?: Column[];
|
|
34
|
+
loadingData: any[];
|
|
35
|
+
};
|
|
30
36
|
|
|
31
37
|
export enum FOOTER_PLACEMENT {
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
TOP = 'top',
|
|
39
|
+
BOTTOM = 'bottom',
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
export type PaginationProps = {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
43
|
+
paginationAmount?: string | ReactNode | ReactElement;
|
|
44
|
+
parentElementId: string;
|
|
45
|
+
labelPerPage?: string;
|
|
46
|
+
pageSizes?: Array<string | number>;
|
|
47
|
+
pageIndex: number;
|
|
48
|
+
perPage: number;
|
|
49
|
+
totalPages: number;
|
|
50
|
+
totalItems: number;
|
|
51
|
+
canNextPage: boolean;
|
|
52
|
+
canPreviousPage: boolean;
|
|
53
|
+
nextPageHandler: () => void;
|
|
54
|
+
previousPageHandler: () => void;
|
|
55
|
+
setPageSize: (size: number) => void;
|
|
56
|
+
gotoPage: (page: number) => void;
|
|
57
|
+
};
|
|
52
58
|
|
|
53
59
|
export type ControlledPagination = {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
60
|
+
paginationAmount?: string | ReactNode | ReactElement;
|
|
61
|
+
pageSize: number;
|
|
62
|
+
pageIndex: number;
|
|
63
|
+
pageCount: number;
|
|
64
|
+
};
|
|
59
65
|
|
|
60
66
|
export type TableProps = {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
67
|
+
columns: Array<Column<DefaultObject>>;
|
|
68
|
+
data: [];
|
|
69
|
+
totalItems?: number;
|
|
70
|
+
PaginationComponent: React.FunctionComponent<PaginationProps>;
|
|
71
|
+
initialState: Partial<TableState<DefaultObject>>;
|
|
72
|
+
fetchData?: (params: {pageIndex: number; pageSize: number}) => void;
|
|
73
|
+
onSortedChange?: (id: string, isDesc: boolean) => void;
|
|
74
|
+
isLoading?: boolean;
|
|
75
|
+
footerPlacement?: Array<FOOTER_PLACEMENT>;
|
|
76
|
+
hasDefaultPagination?: boolean;
|
|
77
|
+
onSelectRowsChange?: (rows: Array<DefaultObject>) => void;
|
|
78
|
+
controlledPagination?: ControlledPagination;
|
|
79
|
+
loadingMessage?: string;
|
|
80
|
+
labelPerPage?: string;
|
|
81
|
+
parentElementId?: string;
|
|
82
|
+
tableContentId?: string;
|
|
83
|
+
getRowPreProps?: (row: Row) => DefaultObject;
|
|
84
|
+
getTableProps?: TableGetter;
|
|
85
|
+
getHeaderGroupProps?: ElementGetter;
|
|
86
|
+
getHeaderProps?: ElementGetter;
|
|
87
|
+
getRowProps?: ElementGetter;
|
|
88
|
+
getCellProps?: ElementGetter;
|
|
89
|
+
getFooterProps?: ElementGetter;
|
|
90
|
+
getFooterGroupProps?: ElementGetter;
|
|
91
|
+
showLoadingState?: boolean;
|
|
92
|
+
LoadingCellComponent?: FunctionComponent<DefaultObject>;
|
|
93
|
+
noDataMessage?: string | ReactElement;
|
|
94
|
+
rowSubComponent?: (row: StandardRow) => ReactElement;
|
|
95
|
+
isEnableRowSelect?: (original: DefaultObject) => boolean;
|
|
96
|
+
};
|
|
91
97
|
|
|
92
98
|
export type TableOptions = {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
99
|
+
columns: Array<Column<DefaultObject>>;
|
|
100
|
+
data: Array<DefaultObject>;
|
|
101
|
+
initialState: {
|
|
102
|
+
pageIndex?: number;
|
|
103
|
+
pageSize?: number;
|
|
104
|
+
};
|
|
105
|
+
disableSortRemove: boolean;
|
|
106
|
+
disableMultiSort: boolean;
|
|
107
|
+
disableMultiRemove: boolean;
|
|
108
|
+
manualSortBy?: boolean;
|
|
109
|
+
autoResetPage?: boolean;
|
|
110
|
+
manualPagination?: boolean;
|
|
111
|
+
pageCount?: number;
|
|
112
|
+
};
|
|
107
113
|
|
|
108
114
|
export type MetaProps = {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
115
|
+
column?: HeaderGroup<DefaultObject>;
|
|
116
|
+
cell?: Cell;
|
|
117
|
+
};
|
|
112
118
|
|
|
113
|
-
export type BaseMeta = Meta<DefaultObject, MetaProps
|
|
119
|
+
export type BaseMeta = Meta<DefaultObject, MetaProps>;
|
|
114
120
|
|
|
115
121
|
export type TableGetter = (props: DefaultObject) => DefaultObject;
|
|
116
122
|
|
|
117
123
|
export type ElementGetter = (props: DefaultObject, meta: BaseMeta) => DefaultObject;
|
|
118
124
|
|
|
119
|
-
export type ElementCellPropGetter = CellPropGetter<DefaultObject
|
|
125
|
+
export type ElementCellPropGetter = CellPropGetter<DefaultObject>;
|
|
120
126
|
|
|
121
|
-
export type ElementRowPropGetter = RowPropGetter<DefaultObject
|
|
127
|
+
export type ElementRowPropGetter = RowPropGetter<DefaultObject>;
|
|
122
128
|
|
|
123
|
-
export type ElementHeaderFooterPropGetter =
|
|
124
|
-
|
|
125
|
-
|
|
129
|
+
export type ElementHeaderFooterPropGetter =
|
|
130
|
+
| FooterGroupPropGetter<DefaultObject>
|
|
131
|
+
| HeaderGroupPropGetter<DefaultObject>
|
|
132
|
+
| FooterPropGetter<DefaultObject>;
|
|
126
133
|
|
|
127
|
-
export type GetTableContainerPropsGetter = (
|
|
128
|
-
|
|
134
|
+
export type GetTableContainerPropsGetter = (
|
|
135
|
+
userGetter?: TableGetter,
|
|
136
|
+
getter?: TableGetter,
|
|
137
|
+
) => TablePropGetter<DefaultObject> | TableBodyPropGetter<DefaultObject>;
|
|
129
138
|
|
|
130
|
-
export type GetTableElementPropsGetter<T> = (userGetter?: ElementGetter, getter?: ElementGetter) => T
|
|
139
|
+
export type GetTableElementPropsGetter<T> = (userGetter?: ElementGetter, getter?: ElementGetter) => T;
|
|
131
140
|
|
|
132
|
-
export type GetTableElementInternalPropsGetter =
|
|
133
|
-
|
|
134
|
-
|
|
141
|
+
export type GetTableElementInternalPropsGetter = (
|
|
142
|
+
internalProps: DefaultObject,
|
|
143
|
+
userGetter?: ElementGetter,
|
|
144
|
+
getter?: ElementGetter,
|
|
145
|
+
) => HeaderPropGetter<DefaultObject>;
|
|
135
146
|
|
|
136
|
-
export type ColumnWithSort = HeaderGroup<DefaultObject> & Partial<UseSortByColumnProps<DefaultObject
|
|
147
|
+
export type ColumnWithSort = HeaderGroup<DefaultObject> & Partial<UseSortByColumnProps<DefaultObject>>;
|
|
137
148
|
|
|
138
|
-
export type StandardColumn = Column<DefaultObject
|
|
149
|
+
export type StandardColumn = Column<DefaultObject>;
|
|
139
150
|
|
|
140
|
-
export type StandardRow = Row<DefaultObject> & {
|
|
151
|
+
export type StandardRow = Row<DefaultObject> & {isExpanded?: boolean};
|
|
141
152
|
|
|
142
|
-
export type SelectableRow = Row<{
|
|
153
|
+
export type SelectableRow = Row<{id: string}> & UseRowSelectRowProps<DefaultObject>;
|
|
143
154
|
|
|
144
|
-
export type StandardCell = Cell<DefaultObject
|
|
155
|
+
export type StandardCell = Cell<DefaultObject>;
|
|
145
156
|
|
|
146
|
-
export type SelectableRowInstanceProps = UseRowSelectInstanceProps<DefaultObject
|
|
157
|
+
export type SelectableRowInstanceProps = UseRowSelectInstanceProps<DefaultObject>;
|
|
147
158
|
|
|
148
|
-
export type StandardHooks = Hooks<DefaultObject
|
|
159
|
+
export type StandardHooks = Hooks<DefaultObject>;
|
|
149
160
|
|
|
150
|
-
export type TableHooksInstanceProps =
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
161
|
+
export type TableHooksInstanceProps = UseSortByInstanceProps<DefaultObject> &
|
|
162
|
+
UsePaginationInstanceProps<DefaultObject> &
|
|
163
|
+
UseRowSelectInstanceProps<DefaultObject> & {
|
|
164
|
+
state: UseRowSelectState<DefaultObject> & UsePaginationState<DefaultObject>;
|
|
165
|
+
};
|
|
155
166
|
|
|
156
|
-
export type TableOptionsProps =
|
|
157
|
-
|
|
158
|
-
|
|
167
|
+
export type TableOptionsProps = UseTableOptions<DefaultObject> &
|
|
168
|
+
UseSortByOptions<DefaultObject> &
|
|
169
|
+
UsePaginationOptions<DefaultObject> & {
|
|
170
|
+
initialState: Partial<TableState<DefaultObject>> & Partial<UsePaginationState<DefaultObject>>;
|
|
171
|
+
};
|
|
159
172
|
|
|
160
173
|
export class Table extends React.Component<Partial<TableProps>> {}
|
package/src/useLoadingState.tsx
CHANGED
|
@@ -9,15 +9,20 @@ const useLoadingState = (
|
|
|
9
9
|
columns: Column<DefaultObject>[],
|
|
10
10
|
LoadingCellComponent: FunctionComponent<DefaultObject>,
|
|
11
11
|
): LoadingState => {
|
|
12
|
-
const loadingColumns: Column<DefaultObject>[] | undefined = useMemo(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
const loadingColumns: Column<DefaultObject>[] | undefined = useMemo(
|
|
13
|
+
() =>
|
|
14
|
+
showLoadingState && loading
|
|
15
|
+
? columns.map((column: Column<DefaultObject>) => {
|
|
16
|
+
const loadingColumn: Column<DefaultObject> = {
|
|
17
|
+
...column,
|
|
18
|
+
Cell: () => <LoadingCellComponent />,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
return loadingColumn;
|
|
22
|
+
})
|
|
23
|
+
: [],
|
|
24
|
+
[columns, loading, showLoadingState],
|
|
25
|
+
);
|
|
21
26
|
|
|
22
27
|
const loadingData = useMemo(() => {
|
|
23
28
|
if (showLoadingState && loading && columns && columns.length > 0) {
|
package/CHANGELOG.md
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
#### `4.9.0`
|
|
2
|
-
|
|
3
|
-
* added possibility to resize of each individual column
|
|
4
|
-
|
|
5
|
-
#### `4.8.0`
|
|
6
|
-
|
|
7
|
-
* added possibility to resize columns
|
|
8
|
-
|
|
9
|
-
#### `4.7.0`
|
|
10
|
-
|
|
11
|
-
* updated peerDependencies
|
|
12
|
-
|
|
13
|
-
#### `4.6.1`
|
|
14
|
-
|
|
15
|
-
* add data-role attr for body, head, footer
|
|
16
|
-
|
|
17
|
-
#### `4.6.0`
|
|
18
|
-
|
|
19
|
-
* add available to disable row select by condition
|
|
20
|
-
|
|
21
|
-
#### `4.5.1`
|
|
22
|
-
|
|
23
|
-
* fix key warnings
|
|
24
|
-
|
|
25
|
-
#### `4.5.0`
|
|
26
|
-
|
|
27
|
-
* use columns props for loading state
|
|
28
|
-
* added default initial state prop value
|
|
29
|
-
|
|
30
|
-
#### `4.4.0`
|
|
31
|
-
|
|
32
|
-
* add expanded behavior
|
|
33
|
-
|
|
34
|
-
#### `4.3.2`
|
|
35
|
-
|
|
36
|
-
* fix wrong enable sort condition for async
|
|
37
|
-
|
|
38
|
-
#### `4.3.1`
|
|
39
|
-
|
|
40
|
-
* add classnames for main parts
|
|
41
|
-
* fix sort on state mode
|
|
42
|
-
|
|
43
|
-
#### `4.3.0`
|
|
44
|
-
|
|
45
|
-
* usage useFlexLayout instead of useBlockLayout
|
|
46
|
-
* add not data message prop
|
|
47
|
-
|
|
48
|
-
#### `4.2.0`
|
|
49
|
-
|
|
50
|
-
* fix @types version for packages
|
|
51
|
-
|
|
52
|
-
#### `4.1.0`
|
|
53
|
-
|
|
54
|
-
* fix call possible undefined function
|
|
55
|
-
|
|
56
|
-
#### `4.0.0`
|
|
57
|
-
|
|
58
|
-
* update react-table version to 7
|
|
59
|
-
|
|
60
|
-
#### `3.0.0`
|
|
61
|
-
|
|
62
|
-
* edit props data
|
|
63
|
-
|
|
64
|
-
#### `2.1.0`
|
|
65
|
-
|
|
66
|
-
* Add loading state mode
|
|
67
|
-
|
|
68
|
-
#### `2.0.0`
|
|
69
|
-
|
|
70
|
-
* TS
|
|
71
|
-
* Production build
|
|
72
|
-
* Breaking changes:
|
|
73
|
-
- rewrite some props like in origin component:
|
|
74
|
-
- `items` -> `data`
|
|
75
|
-
- `isLoading` -> `loading`
|
|
76
|
-
- `subComponent` -> `SubComponent`
|
|
77
|
-
- `expanderComponent` -> `ExpanderComponent`
|
|
78
|
-
|
|
79
|
-
#### `1.2.0`
|
|
80
|
-
|
|
81
|
-
* Add rest props
|
|
82
|
-
|
|
83
|
-
#### `1.1.0`
|
|
84
|
-
|
|
85
|
-
* Add onChangePage prop
|
|
86
|
-
|
|
87
|
-
#### `1.0.2`
|
|
88
|
-
|
|
89
|
-
* Add expanderComponent and subComponent props
|