@apia/table2-component 4.0.43 → 4.0.45
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 -11
- package/dist/index.js +226 -242
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import { TableController, TablePlugin, Row, RowsGroup, Element } from '@apia/table2-controller';
|
|
3
|
+
import { TableController, TablePlugin, Element } from '@apia/table2-controller';
|
|
5
4
|
export * from '@apia/table2-controller';
|
|
6
5
|
|
|
7
6
|
declare const TableContext: react.Context<TableController | null>;
|
|
@@ -14,14 +13,6 @@ declare const Table: (({ controller, variant, }: {
|
|
|
14
13
|
displayName: string;
|
|
15
14
|
};
|
|
16
15
|
|
|
17
|
-
type AdditionalCellDataRetriever = (row: Row) => Promise<ReactNode>;
|
|
18
|
-
declare class AdditionalInformationPlugin implements TablePlugin {
|
|
19
|
-
private onExpand;
|
|
20
|
-
constructor(onExpand: AdditionalCellDataRetriever);
|
|
21
|
-
onAddRow(_controller: TableController, target: RowsGroup<any>, newRow: Row): void;
|
|
22
|
-
useElementDomProps(_controller: TableController, element: TableController | Element<any>, _context: any): HTMLAttributes<HTMLElement>;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
16
|
declare class SessionStorageResizePlugin implements TablePlugin {
|
|
26
17
|
private prefix;
|
|
27
18
|
constructor(prefix: string);
|
|
@@ -37,5 +28,5 @@ declare class SessionStorageResizePlugin implements TablePlugin {
|
|
|
37
28
|
};
|
|
38
29
|
}
|
|
39
30
|
|
|
40
|
-
export {
|
|
31
|
+
export { SessionStorageResizePlugin, type TAvailableTables, Table, TableContext, useTable };
|
|
41
32
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdditionalCell, Cell, TableHead } from '@apia/table2-controller';
|
|
2
2
|
export * from '@apia/table2-controller';
|
|
3
|
-
import { jsx,
|
|
4
|
-
import { Box, Table as Table$1, getVariant, Spinner } from '@apia/theme';
|
|
5
|
-
import { getLabel } from '@apia/util';
|
|
6
|
-
import { makeObservable, action, observable } from 'mobx';
|
|
3
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
4
|
import { observer } from 'mobx-react-lite';
|
|
8
|
-
import { createElement, createContext, useContext
|
|
9
|
-
import {
|
|
5
|
+
import { createElement, createContext, useContext } from 'react';
|
|
6
|
+
import { Box, Input, Label, Table as Table$1, getVariant } from '@apia/theme';
|
|
7
|
+
import { DateInput, IconButton } from '@apia/components';
|
|
10
8
|
|
|
11
9
|
const Resizer = () => {
|
|
12
10
|
const controller = useTable();
|
|
@@ -52,65 +50,228 @@ const Resizer = () => {
|
|
|
52
50
|
);
|
|
53
51
|
};
|
|
54
52
|
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
53
|
+
const HeaderRow = observer(
|
|
54
|
+
({
|
|
55
|
+
children,
|
|
56
|
+
className,
|
|
57
|
+
row,
|
|
58
|
+
rowIndex
|
|
59
|
+
}) => {
|
|
60
|
+
const controller = useTable();
|
|
61
|
+
const plugins = controller.getApplicablePlugins("useElementDomProps");
|
|
62
|
+
const pluginProps = plugins.reduce((acc, plugin) => {
|
|
63
|
+
const props = plugin(row, rowIndex);
|
|
64
|
+
return { ...acc, ...props };
|
|
65
|
+
}, {});
|
|
60
66
|
return /* @__PURE__ */ createElement(
|
|
61
67
|
"tr",
|
|
62
68
|
{
|
|
63
69
|
...row.getState("domProperties"),
|
|
64
|
-
...
|
|
65
|
-
|
|
66
|
-
return { ...acc, ...props };
|
|
67
|
-
}, {}),
|
|
70
|
+
...pluginProps,
|
|
71
|
+
className: `${className || ""} ${row.getState("domProperties")?.className || ""} ${pluginProps.className || ""}`,
|
|
68
72
|
key: row.getState("id"),
|
|
69
73
|
"data-rowid": row.getState("id")
|
|
70
74
|
},
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
children
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
const ColumnsRow = observer(() => {
|
|
81
|
+
const controller = useTable();
|
|
82
|
+
const plugins = controller.getApplicablePlugins("useElementDomProps");
|
|
83
|
+
const CellsRendererPlugin = controller.getApplicablePlugins("getRenderers")[0]?.().cell;
|
|
84
|
+
const row = controller.head.getHeaderRow();
|
|
85
|
+
if (!row) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return /* @__PURE__ */ jsx(HeaderRow, { row, rowIndex: 0, children: row.cells.map((cell, j) => {
|
|
89
|
+
const Renderer = cell.getState("Renderer") || CellsRendererPlugin;
|
|
90
|
+
const content = cell.getState("content");
|
|
91
|
+
const pluginProps = plugins.reduce((acc, plugin) => {
|
|
92
|
+
const props = plugin(cell, j);
|
|
93
|
+
return { ...acc, ...props };
|
|
94
|
+
}, {});
|
|
95
|
+
return /* @__PURE__ */ createElement(
|
|
96
|
+
Box,
|
|
97
|
+
{
|
|
98
|
+
as: cell.getState("tag") === "td" ? "td" : "th",
|
|
99
|
+
...cell.getState("domProperties"),
|
|
100
|
+
...pluginProps,
|
|
101
|
+
"data-colname": cell.getState("colName"),
|
|
102
|
+
key: cell.getState("colName"),
|
|
103
|
+
sx: {
|
|
104
|
+
...cell.getState("domProperties")?.style,
|
|
105
|
+
position: "relative",
|
|
106
|
+
...pluginProps.style
|
|
76
107
|
}
|
|
77
|
-
|
|
78
|
-
|
|
108
|
+
},
|
|
109
|
+
Renderer ? /* @__PURE__ */ jsx(Renderer, { cell }) : content,
|
|
110
|
+
!(cell instanceof AdditionalCell) && controller.getState("allowResize") && /* @__PURE__ */ jsx(Resizer, {})
|
|
111
|
+
);
|
|
112
|
+
}) });
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
const InputFilter = observer(({ cell }) => {
|
|
116
|
+
return /* @__PURE__ */ jsx(
|
|
117
|
+
Input,
|
|
118
|
+
{
|
|
119
|
+
value: cell.getValue(),
|
|
120
|
+
onChange: (ev) => {
|
|
121
|
+
cell.setValue(ev.target.value);
|
|
122
|
+
},
|
|
123
|
+
onKeyDown: (ev) => {
|
|
124
|
+
if (ev.code === "Enter") {
|
|
125
|
+
cell.fire("enter");
|
|
79
126
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
127
|
+
},
|
|
128
|
+
onBlur: () => {
|
|
129
|
+
cell.fire("blur");
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
const DateFilter = observer(({ cell }) => {
|
|
136
|
+
return /* @__PURE__ */ jsx(
|
|
137
|
+
DateInput,
|
|
138
|
+
{
|
|
139
|
+
value: cell.getValue(),
|
|
140
|
+
onChange: (ev) => {
|
|
141
|
+
cell.setValue(ev);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
);
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
const FilterRender = observer(({ cell }) => {
|
|
148
|
+
let Component = null;
|
|
149
|
+
switch (cell?.getState("type")) {
|
|
150
|
+
case "INPUT":
|
|
151
|
+
Component = InputFilter;
|
|
152
|
+
break;
|
|
153
|
+
case "DATE":
|
|
154
|
+
Component = DateFilter;
|
|
155
|
+
break;
|
|
156
|
+
case "DATERANGE":
|
|
157
|
+
Component = () => /* @__PURE__ */ jsx(Fragment, { children: "Not implemented" });
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
if (!Component) {
|
|
161
|
+
return /* @__PURE__ */ jsx(Input, { disabled: true });
|
|
162
|
+
}
|
|
163
|
+
if (!cell.asAdditional()) {
|
|
164
|
+
return /* @__PURE__ */ jsx(Component, { cell });
|
|
165
|
+
}
|
|
166
|
+
return /* @__PURE__ */ jsxs(Label, { children: [
|
|
167
|
+
cell.getState("title"),
|
|
168
|
+
/* @__PURE__ */ jsx(Component, { cell })
|
|
169
|
+
] });
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
const FiltersRow = observer(() => {
|
|
173
|
+
const controller = useTable();
|
|
174
|
+
const plugins = controller.getApplicablePlugins("useElementDomProps");
|
|
175
|
+
const row = controller.head.getFiltersRow();
|
|
176
|
+
if (!row) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
return /* @__PURE__ */ jsx(HeaderRow, { row, rowIndex: 1, className: "filtersRow", children: row.getCells().map((cell, j) => {
|
|
180
|
+
const Renderer = cell.getState("Renderer") || FilterRender;
|
|
181
|
+
const content = cell.getState("content");
|
|
182
|
+
const pluginProps = plugins.reduce((acc, plugin) => {
|
|
183
|
+
const props = plugin(cell, j);
|
|
184
|
+
return { ...acc, ...props };
|
|
185
|
+
}, {});
|
|
186
|
+
return /* @__PURE__ */ createElement(
|
|
187
|
+
Box,
|
|
188
|
+
{
|
|
189
|
+
as: "td",
|
|
190
|
+
...cell.getState("domProperties"),
|
|
191
|
+
...pluginProps,
|
|
192
|
+
"data-colname": cell.getState("colName"),
|
|
193
|
+
key: cell.getState("colName"),
|
|
194
|
+
sx: {
|
|
195
|
+
...cell.getState("domProperties")?.style,
|
|
196
|
+
...pluginProps.style
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
Renderer ? /* @__PURE__ */ jsx(Renderer, { cell }) : content
|
|
102
200
|
);
|
|
103
201
|
}) });
|
|
104
202
|
});
|
|
105
203
|
|
|
204
|
+
const Head = observer(() => {
|
|
205
|
+
const controller = useTable();
|
|
206
|
+
const plugins = controller.getApplicablePlugins("useElementDomProps");
|
|
207
|
+
const CellsRendererPlugin = controller.getApplicablePlugins("getRenderers")[0]?.().cell;
|
|
208
|
+
if (controller.head.getHeaderRow()) {
|
|
209
|
+
return /* @__PURE__ */ jsxs("thead", { ...controller.head.getState("domProperties"), children: [
|
|
210
|
+
/* @__PURE__ */ jsx(ColumnsRow, {}),
|
|
211
|
+
/* @__PURE__ */ jsx(FiltersRow, {})
|
|
212
|
+
] });
|
|
213
|
+
}
|
|
214
|
+
return /* @__PURE__ */ jsx("thead", { ...controller.head.getState("domProperties"), children: [...controller.head.rows.values()].map((row, i) => {
|
|
215
|
+
return /* @__PURE__ */ jsx(HeaderRow, { row, rowIndex: i, children: row.cells.map((cell, j) => {
|
|
216
|
+
const Renderer = cell.getState("Renderer") || CellsRendererPlugin;
|
|
217
|
+
const content = cell.getState("content");
|
|
218
|
+
const pluginProps = plugins.reduce((acc, plugin) => {
|
|
219
|
+
const props = plugin(cell, j);
|
|
220
|
+
return { ...acc, ...props };
|
|
221
|
+
}, {});
|
|
222
|
+
if (cell.getState("isHidden")) {
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
return /* @__PURE__ */ createElement(
|
|
226
|
+
Box,
|
|
227
|
+
{
|
|
228
|
+
as: cell.getState("tag") === "td" ? "td" : "th",
|
|
229
|
+
...cell.getState("domProperties"),
|
|
230
|
+
...pluginProps,
|
|
231
|
+
"data-colname": cell.getState("colName"),
|
|
232
|
+
key: cell.getState("colName"),
|
|
233
|
+
sx: {
|
|
234
|
+
...cell.getState("domProperties")?.style,
|
|
235
|
+
position: "relative",
|
|
236
|
+
...pluginProps.style
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
Renderer ? /* @__PURE__ */ jsx(Renderer, { cell }) : content,
|
|
240
|
+
controller.getState("allowResize") && /* @__PURE__ */ jsx(Resizer, {})
|
|
241
|
+
);
|
|
242
|
+
}) });
|
|
243
|
+
}) });
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
const AdditionalCellRenderer = observer(
|
|
247
|
+
({ cell: _ }) => {
|
|
248
|
+
const cell = _;
|
|
249
|
+
if (!cell.getTable().hasAdditionalContent()) {
|
|
250
|
+
return null;
|
|
251
|
+
}
|
|
252
|
+
return /* @__PURE__ */ jsx(
|
|
253
|
+
IconButton,
|
|
254
|
+
{
|
|
255
|
+
icon: "ArrowRight",
|
|
256
|
+
onClick: () => {
|
|
257
|
+
cell.onToggle();
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
);
|
|
261
|
+
}
|
|
262
|
+
);
|
|
263
|
+
|
|
106
264
|
const RowContent = observer(({ row }) => {
|
|
107
265
|
const controller = useTable();
|
|
108
266
|
const plugins = controller.getApplicablePlugins("useElementDomProps");
|
|
109
267
|
const CellsRendererPlugin = controller.getApplicablePlugins("getRenderers")[0]?.().cell;
|
|
110
268
|
return /* @__PURE__ */ jsx(Fragment, { children: row.cells.map((cell, i) => {
|
|
111
|
-
const Renderer = cell.getState("Renderer") || CellsRendererPlugin;
|
|
269
|
+
const Renderer = cell.getState("Renderer") || (cell instanceof AdditionalCell ? AdditionalCellRenderer : CellsRendererPlugin);
|
|
112
270
|
const content = cell.getState("content");
|
|
113
|
-
const isHidden =
|
|
271
|
+
const isHidden = controller.head.getHeaderRow()?.getColumn(cell.getColumnName()).isHidden?.() ?? controller.head.rows[0]?.cells.find((c) => c.getState("colName") === cell.getState("colName"))?.getState("isHidden");
|
|
272
|
+
if (controller.head.getHeaderRow()?.getColumn(cell.getColumnName()).asAdditional?.()) {
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
114
275
|
return /* @__PURE__ */ createElement(
|
|
115
276
|
"td",
|
|
116
277
|
{
|
|
@@ -135,19 +296,22 @@ const Row = observer(
|
|
|
135
296
|
({ index, row }) => {
|
|
136
297
|
const controller = useTable();
|
|
137
298
|
const plugins = controller.getApplicablePlugins("useElementDomProps");
|
|
138
|
-
return /* @__PURE__ */
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
299
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
300
|
+
" ",
|
|
301
|
+
/* @__PURE__ */ createElement(
|
|
302
|
+
"tr",
|
|
303
|
+
{
|
|
304
|
+
...row.getState("domProperties"),
|
|
305
|
+
...plugins.reduce((acc, plugin) => {
|
|
306
|
+
const props = plugin(row, index);
|
|
307
|
+
return { ...acc, ...props };
|
|
308
|
+
}, {}),
|
|
309
|
+
key: row.getState("id"),
|
|
310
|
+
"data-rowid": row.getState("id")
|
|
311
|
+
},
|
|
312
|
+
/* @__PURE__ */ jsx(RowContent, { row })
|
|
313
|
+
)
|
|
314
|
+
] });
|
|
151
315
|
}
|
|
152
316
|
);
|
|
153
317
|
|
|
@@ -185,186 +349,6 @@ const Table = observer(
|
|
|
185
349
|
}
|
|
186
350
|
);
|
|
187
351
|
|
|
188
|
-
var __defProp = Object.defineProperty;
|
|
189
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
190
|
-
var __publicField = (obj, key, value) => {
|
|
191
|
-
__defNormalProp(obj, key + "" , value);
|
|
192
|
-
return value;
|
|
193
|
-
};
|
|
194
|
-
class AdditionalRow extends Row$1 {
|
|
195
|
-
}
|
|
196
|
-
const ExpandButtonRenderer = observer(({ cell }) => {
|
|
197
|
-
return /* @__PURE__ */ jsx(
|
|
198
|
-
Box,
|
|
199
|
-
{
|
|
200
|
-
sx: {
|
|
201
|
-
transform: `rotate(${cell.expanded ? "90deg" : "0"})`,
|
|
202
|
-
transition: "transform 0.1s"
|
|
203
|
-
},
|
|
204
|
-
children: /* @__PURE__ */ jsx(
|
|
205
|
-
IconButton,
|
|
206
|
-
{
|
|
207
|
-
icon: "ArrowRight",
|
|
208
|
-
title: cell.expanded ? getLabel("lblCollapse").text : getLabel("lblExpand").text,
|
|
209
|
-
onClick: () => {
|
|
210
|
-
cell.toggle();
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
)
|
|
214
|
-
}
|
|
215
|
-
);
|
|
216
|
-
});
|
|
217
|
-
const AdditionalInfoRenderer = ({ cell }) => {
|
|
218
|
-
const C = useMemo(
|
|
219
|
-
() => lazy(async () => {
|
|
220
|
-
const result = await cell.retriever(cell.getRow().getPreviousRow());
|
|
221
|
-
return { default: () => result };
|
|
222
|
-
}),
|
|
223
|
-
[cell]
|
|
224
|
-
);
|
|
225
|
-
return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Spinner, {}), children: /* @__PURE__ */ jsx(C, {}) });
|
|
226
|
-
};
|
|
227
|
-
class AdditionalInfoCell extends Cell {
|
|
228
|
-
constructor(props, retriever) {
|
|
229
|
-
super(props);
|
|
230
|
-
this.retriever = retriever;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
class AdditionalCell extends Cell {
|
|
234
|
-
constructor(props, retriever) {
|
|
235
|
-
super(props);
|
|
236
|
-
this.retriever = retriever;
|
|
237
|
-
__publicField(this, "expanded", false);
|
|
238
|
-
makeObservable(this, {
|
|
239
|
-
expanded: observable,
|
|
240
|
-
expand: action,
|
|
241
|
-
toggle: action,
|
|
242
|
-
collapse: action
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
collapseAction() {
|
|
246
|
-
const row = this.getRow();
|
|
247
|
-
const container = row.getContainer();
|
|
248
|
-
const index = container.getRowIndex(row);
|
|
249
|
-
const nextRow = container.getRowByIndex(index + 1);
|
|
250
|
-
if (nextRow instanceof AdditionalRow) {
|
|
251
|
-
nextRow.remove();
|
|
252
|
-
this.expanded = false;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
expandAction() {
|
|
256
|
-
const row = this.getRow();
|
|
257
|
-
const container = row.getContainer();
|
|
258
|
-
const index = container.getRowIndex(row);
|
|
259
|
-
const nextRow = container.getRowByIndex(index + 1);
|
|
260
|
-
if (!(nextRow instanceof AdditionalRow)) {
|
|
261
|
-
const newRow = new AdditionalRow(`${row.getState("id")}-additional`);
|
|
262
|
-
newRow.addCell(
|
|
263
|
-
new AdditionalInfoCell(
|
|
264
|
-
{
|
|
265
|
-
colName: "additional",
|
|
266
|
-
Renderer: AdditionalInfoRenderer,
|
|
267
|
-
domProperties: { colSpan: row.cells.length }
|
|
268
|
-
},
|
|
269
|
-
this.retriever
|
|
270
|
-
)
|
|
271
|
-
);
|
|
272
|
-
container.insertAfter(row, newRow);
|
|
273
|
-
this.expanded = true;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
collapse() {
|
|
277
|
-
const row = this.getRow();
|
|
278
|
-
const container = row.getContainer();
|
|
279
|
-
const index = container.getRowIndex(row);
|
|
280
|
-
if (index !== -1) {
|
|
281
|
-
this.collapseAction();
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
expand() {
|
|
285
|
-
const row = this.getRow();
|
|
286
|
-
const container = row.getContainer();
|
|
287
|
-
const index = container.getRowIndex(row);
|
|
288
|
-
if (index !== -1) {
|
|
289
|
-
this.expandAction();
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
toggle() {
|
|
293
|
-
if (this.expanded) {
|
|
294
|
-
this.collapseAction();
|
|
295
|
-
} else {
|
|
296
|
-
this.expandAction();
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
class AdditionalInformationPlugin {
|
|
301
|
-
constructor(onExpand) {
|
|
302
|
-
this.onExpand = onExpand;
|
|
303
|
-
}
|
|
304
|
-
onAddRow(_controller, target, newRow) {
|
|
305
|
-
if (!(newRow instanceof AdditionalRow)) {
|
|
306
|
-
let newCell;
|
|
307
|
-
if (target instanceof TableHead) {
|
|
308
|
-
newCell = new Cell({
|
|
309
|
-
colName: "additional",
|
|
310
|
-
Renderer: () => null,
|
|
311
|
-
domProperties: {
|
|
312
|
-
className: "additional-column"
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
} else {
|
|
316
|
-
newCell = new AdditionalCell(
|
|
317
|
-
{
|
|
318
|
-
colName: "additional",
|
|
319
|
-
Renderer: ExpandButtonRenderer,
|
|
320
|
-
domProperties: {
|
|
321
|
-
className: "additional-column"
|
|
322
|
-
}
|
|
323
|
-
},
|
|
324
|
-
this.onExpand
|
|
325
|
-
);
|
|
326
|
-
}
|
|
327
|
-
if (newRow.cells.length) {
|
|
328
|
-
newRow.addCellBefore(newRow.cells[0], newCell);
|
|
329
|
-
} else {
|
|
330
|
-
newRow.addCell(newCell);
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
useElementDomProps(_controller, element, _context) {
|
|
335
|
-
if (element instanceof Row$1 && element.getContainer() instanceof TableBody) {
|
|
336
|
-
return {
|
|
337
|
-
"aria-expanded": element instanceof AdditionalRow ? void 0 : element.cells.find(
|
|
338
|
-
(c) => c instanceof AdditionalCell
|
|
339
|
-
)?.expanded,
|
|
340
|
-
onKeyDown: (ev) => {
|
|
341
|
-
let row = element;
|
|
342
|
-
if (element instanceof AdditionalRow) {
|
|
343
|
-
row = row.getContainer()?.getRowByIndex(row.getContainer().getRowIndex(row) - 1);
|
|
344
|
-
}
|
|
345
|
-
if (ev.code === "ArrowRight" && ev.ctrlKey) {
|
|
346
|
-
ev.stopPropagation();
|
|
347
|
-
ev.preventDefault();
|
|
348
|
-
row.cells.find(
|
|
349
|
-
(c) => c instanceof AdditionalCell
|
|
350
|
-
)?.expand();
|
|
351
|
-
} else if (ev.code === "ArrowLeft" && ev.ctrlKey) {
|
|
352
|
-
ev.stopPropagation();
|
|
353
|
-
ev.preventDefault();
|
|
354
|
-
row.cells.find(
|
|
355
|
-
(c) => c instanceof AdditionalCell
|
|
356
|
-
)?.collapse();
|
|
357
|
-
if (element instanceof AdditionalRow) {
|
|
358
|
-
row.cells[0].focus();
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
};
|
|
363
|
-
}
|
|
364
|
-
return {};
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
352
|
class SessionStorageResizePlugin {
|
|
369
353
|
constructor(prefix) {
|
|
370
354
|
this.prefix = prefix;
|
|
@@ -376,7 +360,7 @@ class SessionStorageResizePlugin {
|
|
|
376
360
|
sessionStorage.setItem(this.buildId(colName), String(newSize));
|
|
377
361
|
}
|
|
378
362
|
useElementDomProps(_controller, element) {
|
|
379
|
-
if (element instanceof Cell) {
|
|
363
|
+
if (element instanceof Cell && !(element instanceof AdditionalCell)) {
|
|
380
364
|
if (element.getRow().getContainer() instanceof TableHead) {
|
|
381
365
|
const storedSize = sessionStorage.getItem(
|
|
382
366
|
this.buildId(element.getState("colName"))
|
|
@@ -395,5 +379,5 @@ class SessionStorageResizePlugin {
|
|
|
395
379
|
}
|
|
396
380
|
}
|
|
397
381
|
|
|
398
|
-
export {
|
|
382
|
+
export { SessionStorageResizePlugin, Table, TableContext, useTable };
|
|
399
383
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/component/Resizer.tsx","../src/component/Head.tsx","../src/component/Body/Row.tsx","../src/component/Body/Body.tsx","../src/component/Table.tsx","../src/plugins/AdditionalInformationPlugin.tsx","../src/plugins/SessionStorageResizePlugin.ts"],"sourcesContent":["import { useTable } from './Table';\r\n\r\nexport const Resizer = () => {\r\n const controller = useTable();\r\n const plugins = controller.getApplicablePlugins('onResize');\r\n\r\n return (\r\n <div\r\n style={{\r\n cursor: 'ew-resize',\r\n position: 'absolute',\r\n right: 0,\r\n width: '30px',\r\n opacity: 0,\r\n height: '100%',\r\n top: 0,\r\n transform: 'translateX(15px)',\r\n zIndex: 2,\r\n }}\r\n className=\"resizer\"\r\n onMouseDown={(ev) => {\r\n const el = (ev.target as HTMLElement)?.closest?.('.resizer');\r\n const th = (ev.target as HTMLElement)?.closest?.('th');\r\n\r\n const colName = th?.dataset.colname;\r\n\r\n if (el instanceof HTMLElement && th instanceof HTMLElement && colName) {\r\n const initialX = ev.clientX;\r\n const initialWidth = th.getBoundingClientRect().width;\r\n\r\n const handleResize = (ev: MouseEvent) => {\r\n const dif = ev.clientX - initialX;\r\n th.style.width = `${initialWidth + dif}px`;\r\n th.style.maxWidth = `${initialWidth + dif}px`;\r\n\r\n plugins.forEach((c) => c(colName, initialWidth + dif));\r\n };\r\n\r\n const breakSubscription = () => {\r\n document.removeEventListener('mousemove', handleResize);\r\n document.removeEventListener('mouseup', breakSubscription);\r\n };\r\n\r\n document.addEventListener('mousemove', handleResize);\r\n document.addEventListener('mouseup', breakSubscription);\r\n }\r\n }}\r\n >\r\n {' '}\r\n </div>\r\n );\r\n};\r\n","import { observer } from 'mobx-react-lite';\r\nimport { useTable } from './Table';\r\nimport { Resizer } from './Resizer';\r\nimport { Box } from '@apia/theme';\r\n\r\nexport const Head = observer(() => {\r\n const controller = useTable();\r\n const plugins = controller.getApplicablePlugins('useElementDomProps');\r\n const CellsRendererPlugin =\r\n controller.getApplicablePlugins('getRenderers')[0]?.().cell;\r\n\r\n return (\r\n <thead {...controller.head.getState('domProperties')}>\r\n {[...controller.head.rows.values()].map((row, i) => {\r\n return (\r\n <tr\r\n {...row.getState('domProperties')}\r\n {...plugins.reduce((acc, plugin) => {\r\n const props = plugin(row, i);\r\n return { ...acc, ...props };\r\n }, {})}\r\n key={row.getState('id')}\r\n data-rowid={row.getState('id')}\r\n >\r\n {row.cells.map((cell, j) => {\r\n const Renderer = cell.getState('Renderer') || CellsRendererPlugin;\r\n const content = cell.getState('content');\r\n\r\n if (!controller.isColumnVisible(cell.getState('colName'))) {\r\n return null;\r\n }\r\n\r\n if (\r\n cell.getState('isHidden') ||\r\n cell\r\n .getTable()\r\n .getState('hiddenColumns')\r\n .has(cell.getState('colName'))\r\n ) {\r\n return null;\r\n }\r\n\r\n const pluginProps = plugins.reduce<any>((acc, plugin) => {\r\n const props = plugin(cell, j);\r\n return { ...acc, ...props };\r\n }, {});\r\n\r\n return (\r\n <Box\r\n as={cell.getState('tag') === 'td' ? 'td' : 'th'}\r\n {...cell.getState('domProperties')}\r\n {...pluginProps}\r\n data-colname={cell.getState('colName')}\r\n key={cell.getState('colName')}\r\n sx={{\r\n ...cell.getState('domProperties')?.style,\r\n position: 'relative',\r\n ...pluginProps.style,\r\n }}\r\n >\r\n {Renderer ? <Renderer cell={cell} /> : content}\r\n {controller.getState('allowResize') && <Resizer />}\r\n </Box>\r\n );\r\n })}\r\n </tr>\r\n );\r\n })}\r\n </thead>\r\n );\r\n});\r\n","import { observer } from 'mobx-react-lite';\r\nimport { Row as RowInstance } from '@apia/table2-controller';\r\nimport { useTable } from '../Table';\r\n\r\nconst RowContent = observer(({ row }: { row: RowInstance }) => {\r\n const controller = useTable();\r\n const plugins = controller.getApplicablePlugins('useElementDomProps');\r\n const CellsRendererPlugin =\r\n controller.getApplicablePlugins('getRenderers')[0]?.().cell;\r\n\r\n return (\r\n <>\r\n {row.cells.map((cell, i) => {\r\n const Renderer = cell.getState('Renderer') || CellsRendererPlugin;\r\n const content = cell.getState('content');\r\n\r\n const isHidden =\r\n !controller.isColumnVisible(cell.getState('colName')) ||\r\n cell.getState('isHidden') ||\r\n cell\r\n .getTable()\r\n .getState('hiddenColumns')\r\n .has(cell.getState('colName'));\r\n\r\n return (\r\n <td\r\n {...cell.getState('domProperties')}\r\n {...plugins.reduce((acc, plugin) => {\r\n const props = plugin(cell, i);\r\n return { ...acc, ...props };\r\n }, {})}\r\n style={{\r\n display: isHidden ? 'none' : 'table-cell',\r\n ...cell.getState('domProperties')?.style,\r\n maxWidth: 0,\r\n }}\r\n data-colname={cell.getState('colName')}\r\n key={cell.getState('colName')}\r\n >\r\n {Renderer ? <Renderer cell={cell} /> : content}\r\n </td>\r\n );\r\n })}\r\n </>\r\n );\r\n});\r\n\r\nexport const Row = observer(\r\n ({ index, row }: { index: number; row: RowInstance }) => {\r\n const controller = useTable();\r\n const plugins = controller.getApplicablePlugins('useElementDomProps');\r\n\r\n return (\r\n <tr\r\n {...row.getState('domProperties')}\r\n {...plugins.reduce((acc, plugin) => {\r\n const props = plugin(row, index);\r\n return { ...acc, ...props };\r\n }, {})}\r\n key={row.getState('id')}\r\n data-rowid={row.getState('id')}\r\n >\r\n <RowContent row={row} />\r\n </tr>\r\n );\r\n },\r\n);\r\n","import { observer } from 'mobx-react-lite';\r\nimport { useTable } from '../Table';\r\nimport { Row } from './Row';\r\n\r\nexport const Body = observer(() => {\r\n const controller = useTable();\r\n\r\n return (\r\n <tbody {...controller.body.getState('domProperties')}>\r\n {controller.body.getState('rows').map((row, i) => (\r\n <Row key={row.getState('id')} index={i} row={row} />\r\n ))}\r\n </tbody>\r\n );\r\n});\r\n","import { observer } from 'mobx-react-lite';\r\nimport { TableController } from '@apia/table2-controller';\r\nimport { createContext, HTMLAttributes, useContext } from 'react';\r\nimport { getVariant, Table as PrimitiveTable } from '@apia/theme';\r\nimport { Head } from './Head';\r\nimport { Body } from './Body/Body';\r\n\r\nexport const TableContext = createContext<TableController | null>(null);\r\nexport type TAvailableTables = 'primary' | 'secondary' | 'clean';\r\n\r\nexport function useTable() {\r\n return useContext(TableContext)!;\r\n}\r\n\r\nexport const Table = observer(\r\n ({\r\n controller,\r\n variant = 'primary',\r\n }: {\r\n controller: TableController;\r\n variant?: TAvailableTables;\r\n }) => {\r\n const plugins = controller.getApplicablePlugins('useElementDomProps');\r\n const props: HTMLAttributes<HTMLElement> = plugins.reduce((acc, plugin) => {\r\n const props = plugin(controller, null);\r\n return { ...acc, ...props };\r\n }, {});\r\n\r\n return (\r\n <TableContext.Provider value={controller}>\r\n <PrimitiveTable\r\n {...props}\r\n className={`${controller.isEditionMode ? 'editionMode' : ''} ${props.className || ''}`}\r\n {...getVariant(`layout.common.tables.${variant}`)}\r\n >\r\n <Head />\r\n <Body />\r\n </PrimitiveTable>\r\n </TableContext.Provider>\r\n );\r\n },\r\n);\r\n","import {\r\n Row,\r\n Cell,\r\n CellState,\r\n TablePlugin,\r\n TableController,\r\n TableHead,\r\n TableBody,\r\n RowsGroup,\r\n Element,\r\n} from '@apia/table2-controller';\r\nimport { Box, Spinner } from '@apia/theme';\r\nimport { getLabel } from '@apia/util';\r\nimport { makeObservable, observable, action } from 'mobx';\r\nimport { observer } from 'mobx-react-lite';\r\nimport { ReactNode, useMemo, lazy, Suspense, HTMLAttributes } from 'react';\r\nimport { IconButton } from '@apia/components';\r\n\r\ntype AdditionalCellDataRetriever = (row: Row) => Promise<ReactNode>;\r\n\r\nclass AdditionalRow extends Row {}\r\n\r\nconst ExpandButtonRenderer = observer(({ cell }: { cell: AdditionalCell }) => {\r\n return (\r\n <Box\r\n sx={{\r\n transform: `rotate(${cell.expanded ? '90deg' : '0'})`,\r\n transition: 'transform 0.1s',\r\n }}\r\n >\r\n <IconButton\r\n icon=\"ArrowRight\"\r\n title={\r\n cell.expanded\r\n ? getLabel('lblCollapse').text\r\n : getLabel('lblExpand').text\r\n }\r\n onClick={() => {\r\n cell.toggle();\r\n }}\r\n />\r\n </Box>\r\n );\r\n});\r\n\r\nconst AdditionalInfoRenderer = ({ cell }: { cell: AdditionalInfoCell }) => {\r\n const C = useMemo(\r\n () =>\r\n lazy(async () => {\r\n const result = await cell.retriever(cell.getRow()!.getPreviousRow());\r\n return { default: () => result as ReactNode };\r\n }),\r\n [cell],\r\n );\r\n return (\r\n <Suspense fallback={<Spinner />}>\r\n <C />\r\n </Suspense>\r\n );\r\n};\r\n\r\nclass AdditionalInfoCell extends Cell {\r\n constructor(\r\n props: CellState,\r\n public retriever: AdditionalCellDataRetriever,\r\n ) {\r\n super(props);\r\n }\r\n}\r\n\r\nclass AdditionalCell extends Cell {\r\n expanded = false;\r\n\r\n constructor(\r\n props: CellState,\r\n public retriever: AdditionalCellDataRetriever,\r\n ) {\r\n super(props);\r\n\r\n makeObservable(this, {\r\n expanded: observable,\r\n expand: action,\r\n toggle: action,\r\n collapse: action,\r\n });\r\n }\r\n\r\n private collapseAction() {\r\n const row = this.getRow()!;\r\n const container = row.getContainer()!;\r\n const index = container.getRowIndex(row);\r\n\r\n const nextRow = container.getRowByIndex(index + 1);\r\n if (nextRow instanceof AdditionalRow) {\r\n nextRow.remove();\r\n this.expanded = false;\r\n }\r\n }\r\n\r\n private expandAction() {\r\n const row = this.getRow()!;\r\n const container = row.getContainer()!;\r\n const index = container.getRowIndex(row);\r\n\r\n const nextRow = container.getRowByIndex(index + 1);\r\n\r\n if (!(nextRow instanceof AdditionalRow)) {\r\n const newRow = new AdditionalRow(`${row.getState('id')}-additional`);\r\n newRow.addCell(\r\n new AdditionalInfoCell(\r\n {\r\n colName: 'additional',\r\n Renderer: AdditionalInfoRenderer as any,\r\n domProperties: { colSpan: row.cells.length },\r\n },\r\n this.retriever,\r\n ),\r\n );\r\n container.insertAfter(row, newRow);\r\n this.expanded = true;\r\n }\r\n }\r\n\r\n collapse() {\r\n const row = this.getRow()!;\r\n const container = row.getContainer()!;\r\n const index = container.getRowIndex(row);\r\n\r\n if (index !== -1) {\r\n this.collapseAction();\r\n }\r\n }\r\n\r\n expand() {\r\n const row = this.getRow()!;\r\n const container = row.getContainer()!;\r\n const index = container.getRowIndex(row);\r\n\r\n if (index !== -1) {\r\n this.expandAction();\r\n }\r\n }\r\n\r\n toggle() {\r\n if (this.expanded) {\r\n this.collapseAction();\r\n } else {\r\n this.expandAction();\r\n }\r\n }\r\n}\r\n\r\nexport class AdditionalInformationPlugin implements TablePlugin {\r\n constructor(private onExpand: AdditionalCellDataRetriever) {}\r\n\r\n onAddRow(_controller: TableController, target: RowsGroup<any>, newRow: Row) {\r\n if (!(newRow instanceof AdditionalRow)) {\r\n let newCell: Cell | undefined;\r\n\r\n if (target instanceof TableHead) {\r\n newCell = new Cell({\r\n colName: 'additional',\r\n Renderer: () => null,\r\n domProperties: {\r\n className: 'additional-column',\r\n },\r\n });\r\n } else {\r\n newCell = new AdditionalCell(\r\n {\r\n colName: 'additional',\r\n Renderer: ExpandButtonRenderer as any,\r\n domProperties: {\r\n className: 'additional-column',\r\n },\r\n },\r\n this.onExpand,\r\n );\r\n }\r\n\r\n if (newRow.cells.length) {\r\n newRow.addCellBefore(newRow.cells[0], newCell);\r\n } else {\r\n newRow.addCell(newCell);\r\n }\r\n }\r\n }\r\n\r\n useElementDomProps(\r\n _controller: TableController,\r\n element: TableController | Element<any>,\r\n _context: any,\r\n ): HTMLAttributes<HTMLElement> {\r\n if (element instanceof Row && element.getContainer() instanceof TableBody) {\r\n return {\r\n 'aria-expanded':\r\n element instanceof AdditionalRow\r\n ? undefined\r\n : (\r\n element.cells.find(\r\n (c) => c instanceof AdditionalCell,\r\n ) as AdditionalCell\r\n )?.expanded,\r\n onKeyDown: (ev) => {\r\n let row = element as Row;\r\n if (element instanceof AdditionalRow) {\r\n row = row\r\n .getContainer()\r\n ?.getRowByIndex(row.getContainer()!.getRowIndex(row) - 1) as Row;\r\n }\r\n\r\n if (ev.code === 'ArrowRight' && ev.ctrlKey) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n (\r\n row.cells.find(\r\n (c) => c instanceof AdditionalCell,\r\n ) as AdditionalCell\r\n )?.expand();\r\n } else if (ev.code === 'ArrowLeft' && ev.ctrlKey) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n (\r\n row.cells.find(\r\n (c) => c instanceof AdditionalCell,\r\n ) as AdditionalCell\r\n )?.collapse();\r\n if (element instanceof AdditionalRow) {\r\n row.cells[0].focus();\r\n }\r\n }\r\n },\r\n };\r\n }\r\n\r\n return {};\r\n }\r\n}\r\n","import {\r\n TablePlugin,\r\n TableController,\r\n Cell,\r\n TableHead,\r\n Element,\r\n} from '@apia/table2-controller';\r\n\r\nexport class SessionStorageResizePlugin implements TablePlugin {\r\n constructor(private prefix: string) {}\r\n\r\n private buildId(colName: string) {\r\n return `${window.TAB_ID_REQUEST}_${this.prefix}_${colName}`;\r\n }\r\n\r\n onResize(_controller: TableController, colName: string, newSize: number) {\r\n sessionStorage.setItem(this.buildId(colName), String(newSize));\r\n }\r\n useElementDomProps(\r\n _controller: TableController,\r\n element: TableController | Element<any>,\r\n ) {\r\n if (element instanceof Cell) {\r\n if (element.getRow()!.getContainer() instanceof TableHead) {\r\n const storedSize = sessionStorage.getItem(\r\n this.buildId(element.getState('colName')),\r\n );\r\n\r\n if (storedSize) {\r\n return {\r\n style: {\r\n maxWidth: `${Number.parseInt(storedSize)}px`,\r\n width: `${Number.parseInt(storedSize)}px`,\r\n },\r\n };\r\n }\r\n }\r\n }\r\n return {};\r\n }\r\n}\r\n"],"names":["ev","props","PrimitiveTable","Row"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/component/Resizer.tsx","../src/component/Head/HeaderRow.tsx","../src/component/Head/ColumnsRow.tsx","../src/component/filters/InputFilter.tsx","../src/component/filters/DateFilter.tsx","../src/component/filters/FilterRender.tsx","../src/component/Head/FiltersRow.tsx","../src/component/Head/Head.tsx","../src/component/Body/AdditionalCellRenderer.tsx","../src/component/Body/Row.tsx","../src/component/Body/Body.tsx","../src/component/Table.tsx","../src/plugins/SessionStorageResizePlugin.ts"],"sourcesContent":["import { useTable } from './Table';\r\n\r\nexport const Resizer = () => {\r\n const controller = useTable();\r\n const plugins = controller.getApplicablePlugins('onResize');\r\n\r\n return (\r\n <div\r\n style={{\r\n cursor: 'ew-resize',\r\n position: 'absolute',\r\n right: 0,\r\n width: '30px',\r\n opacity: 0,\r\n height: '100%',\r\n top: 0,\r\n transform: 'translateX(15px)',\r\n zIndex: 2,\r\n }}\r\n className=\"resizer\"\r\n onMouseDown={(ev) => {\r\n const el = (ev.target as HTMLElement)?.closest?.('.resizer');\r\n const th = (ev.target as HTMLElement)?.closest?.('th');\r\n\r\n const colName = th?.dataset.colname;\r\n\r\n if (el instanceof HTMLElement && th instanceof HTMLElement && colName) {\r\n const initialX = ev.clientX;\r\n const initialWidth = th.getBoundingClientRect().width;\r\n\r\n const handleResize = (ev: MouseEvent) => {\r\n const dif = ev.clientX - initialX;\r\n th.style.width = `${initialWidth + dif}px`;\r\n th.style.maxWidth = `${initialWidth + dif}px`;\r\n\r\n plugins.forEach((c) => c(colName, initialWidth + dif));\r\n };\r\n\r\n const breakSubscription = () => {\r\n document.removeEventListener('mousemove', handleResize);\r\n document.removeEventListener('mouseup', breakSubscription);\r\n };\r\n\r\n document.addEventListener('mousemove', handleResize);\r\n document.addEventListener('mouseup', breakSubscription);\r\n }\r\n }}\r\n >\r\n {' '}\r\n </div>\r\n );\r\n};\r\n","import { Row } from '@apia/table2-controller';\nimport { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport { useTable } from '../Table';\n\nexport const HeaderRow = observer(\n ({\n children,\n className,\n row,\n rowIndex,\n }: {\n children?: ReactNode;\n className?: string;\n row: Row;\n rowIndex: number;\n }) => {\n const controller = useTable();\n const plugins = controller.getApplicablePlugins('useElementDomProps');\n const pluginProps = plugins.reduce((acc, plugin) => {\n const props = plugin(row, rowIndex);\n return { ...acc, ...props };\n }, {} as any);\n\n return (\n <tr\n {...row.getState('domProperties')}\n {...pluginProps}\n className={`${className || ''} ${row.getState('domProperties')?.className || ''} ${pluginProps.className || ''}`}\n key={row.getState('id')}\n data-rowid={row.getState('id')}\n >\n {children}\n </tr>\n );\n },\n);\n","import { observer } from 'mobx-react-lite';\nimport { useTable } from '../Table';\nimport { HeaderRow } from './HeaderRow';\nimport { Box } from '@apia/theme';\nimport { Resizer } from '../Resizer';\nimport { AdditionalCell } from '@apia/table2-controller';\n\nexport const ColumnsRow = observer(() => {\n const controller = useTable();\n const plugins = controller.getApplicablePlugins('useElementDomProps');\n const CellsRendererPlugin =\n controller.getApplicablePlugins('getRenderers')[0]?.().cell;\n\n const row = controller.head.getHeaderRow();\n if (!row) {\n return null;\n }\n\n return (\n <HeaderRow row={row} rowIndex={0}>\n {row.cells.map((cell, j) => {\n const Renderer = cell.getState('Renderer') || CellsRendererPlugin;\n const content = cell.getState('content');\n\n const pluginProps = plugins.reduce<any>((acc, plugin) => {\n const props = plugin(cell, j);\n return { ...acc, ...props };\n }, {});\n\n return (\n <Box\n as={cell.getState('tag') === 'td' ? 'td' : 'th'}\n {...cell.getState('domProperties')}\n {...pluginProps}\n data-colname={cell.getState('colName')}\n key={cell.getState('colName')}\n sx={{\n ...cell.getState('domProperties')?.style,\n position: 'relative',\n ...pluginProps.style,\n }}\n >\n {Renderer ? <Renderer cell={cell} /> : content}\n {!(cell instanceof AdditionalCell) &&\n controller.getState('allowResize') && <Resizer />}\n </Box>\n );\n })}\n </HeaderRow>\n );\n});\n","import { observer } from 'mobx-react-lite';\r\nimport { Input } from '@apia/theme';\r\nimport { FilterRenderer } from '@apia/table2-controller';\r\n\r\nexport const InputFilter: FilterRenderer = observer(({ cell }) => {\r\n return (\r\n <Input\r\n value={cell.getValue()}\r\n onChange={(ev) => {\r\n cell.setValue(ev.target.value);\r\n }}\r\n onKeyDown={(ev) => {\r\n if (ev.code === 'Enter') {\r\n cell.fire('enter');\r\n }\r\n }}\r\n onBlur={() => {\r\n cell.fire('blur');\r\n }}\r\n />\r\n );\r\n});\r\n","import { observer } from 'mobx-react-lite';\r\nimport { DateInput } from '@apia/components';\r\nimport { FilterRenderer } from '@apia/table2-controller';\r\n\r\nexport const DateFilter: FilterRenderer = observer(({ cell }) => {\r\n return (\r\n <DateInput\r\n value={cell.getValue()}\r\n onChange={(ev) => {\r\n cell.setValue(ev);\r\n }}\r\n />\r\n );\r\n});\r\n","import { observer } from 'mobx-react-lite';\r\nimport { InputFilter } from './InputFilter';\r\nimport { Input, Label } from '@apia/theme';\r\nimport { DateFilter } from './DateFilter';\r\nimport { FilterRenderer } from '@apia/table2-controller';\r\n\r\nexport const FilterRender: FilterRenderer = observer(({ cell }) => {\r\n let Component: FilterRenderer | null = null;\r\n\r\n switch (cell?.getState('type')) {\r\n case 'INPUT':\r\n Component = InputFilter;\r\n break;\r\n case 'DATE':\r\n Component = DateFilter;\r\n break;\r\n case 'DATERANGE':\r\n Component = () => <>Not implemented</>;\r\n break;\r\n }\r\n\r\n if (!Component) {\r\n return <Input disabled />;\r\n }\r\n\r\n if (!cell.asAdditional()) {\r\n return <Component cell={cell} />;\r\n }\r\n\r\n return (\r\n <Label>\r\n {cell.getState('title')}\r\n <Component cell={cell} />\r\n </Label>\r\n );\r\n});\r\n","import { observer } from 'mobx-react-lite';\nimport { useTable } from '../Table';\nimport { HeaderRow } from './HeaderRow';\nimport { Box } from '@apia/theme';\nimport { FilterRender } from '../filters/FilterRender';\n\nexport const FiltersRow = observer(() => {\n const controller = useTable();\n const plugins = controller.getApplicablePlugins('useElementDomProps');\n\n const row = controller.head.getFiltersRow();\n if (!row) {\n return null;\n }\n\n return (\n <HeaderRow row={row} rowIndex={1} className=\"filtersRow\">\n {row.getCells().map((cell, j) => {\n const Renderer = cell.getState('Renderer') || FilterRender;\n const content = cell.getState('content');\n\n const pluginProps = plugins.reduce<any>((acc, plugin) => {\n const props = plugin(cell, j);\n return { ...acc, ...props };\n }, {});\n\n return (\n <Box\n as={'td'}\n {...cell.getState('domProperties')}\n {...pluginProps}\n data-colname={cell.getState('colName')}\n key={cell.getState('colName')}\n sx={{\n ...cell.getState('domProperties')?.style,\n ...pluginProps.style,\n }}\n >\n {Renderer ? <Renderer cell={cell} /> : content}\n </Box>\n );\n })}\n </HeaderRow>\n );\n});\n","import { observer } from 'mobx-react-lite';\r\nimport { useTable } from '../Table';\r\nimport { Resizer } from '../Resizer';\r\nimport { Box } from '@apia/theme';\r\nimport { ColumnsRow } from './ColumnsRow';\r\nimport { FiltersRow } from './FiltersRow';\r\nimport { HeaderRow } from './HeaderRow';\r\n\r\nexport const Head = observer(() => {\r\n const controller = useTable();\r\n const plugins = controller.getApplicablePlugins('useElementDomProps');\r\n const CellsRendererPlugin =\r\n controller.getApplicablePlugins('getRenderers')[0]?.().cell;\r\n\r\n /**\r\n * We have a problem here.\r\n *\r\n * The table can be built with columns and filters, or by adding rows to the header\r\n * in order to build custom tables.\r\n *\r\n * We need to detect what is the current situation here.\r\n */\r\n\r\n if (controller.head.getHeaderRow()) {\r\n return (\r\n <thead {...controller.head.getState('domProperties')}>\r\n <ColumnsRow />\r\n <FiltersRow />\r\n </thead>\r\n );\r\n }\r\n\r\n return (\r\n <thead {...controller.head.getState('domProperties')}>\r\n {[...controller.head.rows.values()].map((row, i) => {\r\n return (\r\n <HeaderRow row={row} rowIndex={i}>\r\n {row.cells.map((cell, j) => {\r\n const Renderer = cell.getState('Renderer') || CellsRendererPlugin;\r\n const content = cell.getState('content');\r\n\r\n const pluginProps = plugins.reduce<any>((acc, plugin) => {\r\n const props = plugin(cell, j);\r\n return { ...acc, ...props };\r\n }, {});\r\n\r\n if (cell.getState('isHidden')) {\r\n return null;\r\n }\r\n\r\n return (\r\n <Box\r\n as={cell.getState('tag') === 'td' ? 'td' : 'th'}\r\n {...cell.getState('domProperties')}\r\n {...pluginProps}\r\n data-colname={cell.getState('colName')}\r\n key={cell.getState('colName')}\r\n sx={{\r\n ...cell.getState('domProperties')?.style,\r\n position: 'relative',\r\n ...pluginProps.style,\r\n }}\r\n >\r\n {Renderer ? <Renderer cell={cell} /> : content}\r\n {controller.getState('allowResize') && <Resizer />}\r\n </Box>\r\n );\r\n })}\r\n </HeaderRow>\r\n );\r\n })}\r\n </thead>\r\n );\r\n});\r\n","import { IconButton } from '@apia/components';\nimport { AdditionalCell, Cell } from '@apia/table2-controller';\nimport { observer } from 'mobx-react-lite';\n\nexport const AdditionalCellRenderer = observer(\n ({ cell: _ }: { cell: Cell }) => {\n const cell = _ as AdditionalCell;\n\n if (!cell.getTable().hasAdditionalContent()) {\n return null;\n }\n\n return (\n <IconButton\n icon=\"ArrowRight\"\n onClick={() => {\n cell.onToggle();\n }}\n />\n );\n },\n);\n","import { observer } from 'mobx-react-lite';\r\nimport { AdditionalCell, Row as RowInstance } from '@apia/table2-controller';\r\nimport { useTable } from '../Table';\r\nimport { AdditionalCellRenderer } from './AdditionalCellRenderer';\r\n\r\nconst RowContent = observer(({ row }: { row: RowInstance }) => {\r\n const controller = useTable();\r\n const plugins = controller.getApplicablePlugins('useElementDomProps');\r\n const CellsRendererPlugin =\r\n controller.getApplicablePlugins('getRenderers')[0]?.().cell;\r\n\r\n return (\r\n <>\r\n {row.cells.map((cell, i) => {\r\n const Renderer =\r\n cell.getState('Renderer') ||\r\n (cell instanceof AdditionalCell\r\n ? AdditionalCellRenderer\r\n : CellsRendererPlugin);\r\n const content = cell.getState('content');\r\n\r\n const isHidden =\r\n controller.head\r\n .getHeaderRow()\r\n ?.getColumn(cell.getColumnName())\r\n .isHidden?.() ??\r\n controller.head.rows[0]?.cells\r\n .find((c) => c.getState('colName') === cell.getState('colName'))\r\n ?.getState('isHidden');\r\n\r\n if (\r\n controller.head\r\n .getHeaderRow()\r\n ?.getColumn(cell.getColumnName())\r\n .asAdditional?.()\r\n ) {\r\n return null;\r\n }\r\n\r\n return (\r\n <td\r\n {...cell.getState('domProperties')}\r\n {...plugins.reduce((acc, plugin) => {\r\n const props = plugin(cell, i);\r\n return { ...acc, ...props };\r\n }, {})}\r\n style={{\r\n display: isHidden ? 'none' : 'table-cell',\r\n ...cell.getState('domProperties')?.style,\r\n maxWidth: 0,\r\n }}\r\n data-colname={cell.getState('colName')}\r\n key={cell.getState('colName')}\r\n >\r\n {Renderer ? <Renderer cell={cell} /> : content}\r\n </td>\r\n );\r\n })}\r\n </>\r\n );\r\n});\r\n\r\nexport const Row = observer(\r\n ({ index, row }: { index: number; row: RowInstance }) => {\r\n const controller = useTable();\r\n const plugins = controller.getApplicablePlugins('useElementDomProps');\r\n\r\n return (\r\n <>\r\n {' '}\r\n <tr\r\n {...row.getState('domProperties')}\r\n {...plugins.reduce((acc, plugin) => {\r\n const props = plugin(row, index);\r\n return { ...acc, ...props };\r\n }, {})}\r\n key={row.getState('id')}\r\n data-rowid={row.getState('id')}\r\n >\r\n <RowContent row={row} />\r\n </tr>\r\n </>\r\n );\r\n },\r\n);\r\n","import { observer } from 'mobx-react-lite';\r\nimport { useTable } from '../Table';\r\nimport { Row } from './Row';\r\n\r\nexport const Body = observer(() => {\r\n const controller = useTable();\r\n\r\n return (\r\n <tbody {...controller.body.getState('domProperties')}>\r\n {controller.body.getState('rows').map((row, i) => (\r\n <Row key={row.getState('id')} index={i} row={row} />\r\n ))}\r\n </tbody>\r\n );\r\n});\r\n","import { observer } from 'mobx-react-lite';\r\nimport { TableController } from '@apia/table2-controller';\r\nimport { createContext, HTMLAttributes, useContext } from 'react';\r\nimport { getVariant, Table as PrimitiveTable } from '@apia/theme';\r\nimport { Head } from './Head/Head';\r\nimport { Body } from './Body/Body';\r\n\r\nexport const TableContext = createContext<TableController | null>(null);\r\nexport type TAvailableTables = 'primary' | 'secondary' | 'clean';\r\n\r\nexport function useTable() {\r\n return useContext(TableContext)!;\r\n}\r\n\r\nexport const Table = observer(\r\n ({\r\n controller,\r\n variant = 'primary',\r\n }: {\r\n controller: TableController;\r\n variant?: TAvailableTables;\r\n }) => {\r\n const plugins = controller.getApplicablePlugins('useElementDomProps');\r\n const props: HTMLAttributes<HTMLElement> = plugins.reduce((acc, plugin) => {\r\n const props = plugin(controller, null);\r\n return { ...acc, ...props };\r\n }, {});\r\n\r\n return (\r\n <TableContext.Provider value={controller}>\r\n <PrimitiveTable\r\n {...props}\r\n className={`${controller.isEditionMode ? 'editionMode' : ''} ${props.className || ''}`}\r\n {...getVariant(`layout.common.tables.${variant}`)}\r\n >\r\n <Head />\r\n <Body />\r\n </PrimitiveTable>\r\n </TableContext.Provider>\r\n );\r\n },\r\n);\r\n","import {\r\n TablePlugin,\r\n TableController,\r\n Cell,\r\n TableHead,\r\n Element,\r\n AdditionalCell,\r\n} from '@apia/table2-controller';\r\n\r\nexport class SessionStorageResizePlugin implements TablePlugin {\r\n constructor(private prefix: string) {}\r\n\r\n private buildId(colName: string) {\r\n return `${window.TAB_ID_REQUEST}_${this.prefix}_${colName}`;\r\n }\r\n\r\n onResize(_controller: TableController, colName: string, newSize: number) {\r\n sessionStorage.setItem(this.buildId(colName), String(newSize));\r\n }\r\n useElementDomProps(\r\n _controller: TableController,\r\n element: TableController | Element<any>,\r\n ) {\r\n if (element instanceof Cell && !(element instanceof AdditionalCell)) {\r\n if (element.getRow()!.getContainer() instanceof TableHead) {\r\n const storedSize = sessionStorage.getItem(\r\n this.buildId(element.getState('colName')),\r\n );\r\n\r\n if (storedSize) {\r\n return {\r\n style: {\r\n maxWidth: `${Number.parseInt(storedSize)}px`,\r\n width: `${Number.parseInt(storedSize)}px`,\r\n },\r\n };\r\n }\r\n }\r\n }\r\n return {};\r\n }\r\n}\r\n"],"names":["ev","props","PrimitiveTable"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apia/table2-component",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.45",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"author": "Alexis Leite <alexisleite@live.com>",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"registry": "https://registry.npmjs.org/"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@apia/components": "^4.0.
|
|
34
|
-
"@apia/icons": "^4.0.
|
|
35
|
-
"@apia/table2-controller": "^4.0.
|
|
36
|
-
"@apia/theme": "^4.0.
|
|
37
|
-
"@apia/util": "^4.0.
|
|
33
|
+
"@apia/components": "^4.0.45",
|
|
34
|
+
"@apia/icons": "^4.0.45",
|
|
35
|
+
"@apia/table2-controller": "^4.0.45",
|
|
36
|
+
"@apia/theme": "^4.0.45",
|
|
37
|
+
"@apia/util": "^4.0.45",
|
|
38
38
|
"mobx": "^6.13.7",
|
|
39
39
|
"mobx-react-lite": "^4.1.0"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "1b035d1b515ceb49207373a4fafcf0ff465bc439"
|
|
42
42
|
}
|