@etsoo/react 1.4.11 → 1.4.12
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/lib/mu/DnDList.d.ts +1 -1
- package/lib/mu/DnDList.js +9 -3
- package/package.json +3 -3
- package/src/mu/DnDList.tsx +12 -4
package/lib/mu/DnDList.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export interface DnDListProps<D extends {}, E extends React.ElementType> {
|
|
|
43
43
|
/**
|
|
44
44
|
* Top and bottom sides renderer
|
|
45
45
|
*/
|
|
46
|
-
sideRenderer?: (top: boolean, addItem: (item: D) => boolean, addItems: (items: D[]) => number) => React.ReactNode;
|
|
46
|
+
sideRenderer?: (top: boolean, addItem: (item: D) => boolean, addItems: (items: D[]) => number, reloadItems: () => void) => React.ReactNode;
|
|
47
47
|
/**
|
|
48
48
|
* Name for hidden form input
|
|
49
49
|
*/
|
package/lib/mu/DnDList.js
CHANGED
|
@@ -90,13 +90,18 @@ export function DnDList(props) {
|
|
|
90
90
|
// Update the state
|
|
91
91
|
changeItems(newItems);
|
|
92
92
|
};
|
|
93
|
-
|
|
93
|
+
// Reload items
|
|
94
|
+
const reloadItems = () => {
|
|
94
95
|
// Load data
|
|
95
96
|
loadData(name).then((items) => setItems(items));
|
|
97
|
+
};
|
|
98
|
+
React.useEffect(() => {
|
|
99
|
+
// Load data
|
|
100
|
+
reloadItems();
|
|
96
101
|
}, [name]);
|
|
97
102
|
// Layout
|
|
98
103
|
return (React.createElement(React.Fragment, null,
|
|
99
|
-
sideRenderer && sideRenderer(true, addItem, addItems),
|
|
104
|
+
sideRenderer && sideRenderer(true, addItem, addItems, reloadItems),
|
|
100
105
|
React.createElement(Component, { ...componentProps },
|
|
101
106
|
React.createElement(DragDropContext, { onDragEnd: onDragEndLocal },
|
|
102
107
|
React.createElement(Droppable, { droppableId: name }, (provided, snapshot) => (React.createElement("div", { ...provided.droppableProps, ref: provided.innerRef, style: getListStyle(snapshot.isDraggingOver) },
|
|
@@ -113,5 +118,6 @@ export function DnDList(props) {
|
|
|
113
118
|
} }, children(item, index, deleteItem, editItem)))));
|
|
114
119
|
}),
|
|
115
120
|
provided.placeholder))))),
|
|
116
|
-
sideRenderer &&
|
|
121
|
+
sideRenderer &&
|
|
122
|
+
sideRenderer(false, addItem, addItems, reloadItems)));
|
|
117
123
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etsoo/react",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.12",
|
|
4
4
|
"description": "TypeScript ReactJs framework",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@emotion/react": "^11.7.1",
|
|
51
51
|
"@emotion/style": "^0.8.0",
|
|
52
52
|
"@emotion/styled": "^11.6.0",
|
|
53
|
-
"@etsoo/appscript": "^1.2.
|
|
53
|
+
"@etsoo/appscript": "^1.2.20",
|
|
54
54
|
"@etsoo/notificationbase": "^1.1.0",
|
|
55
55
|
"@etsoo/shared": "^1.1.0",
|
|
56
56
|
"@mui/icons-material": "^5.2.5",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
90
90
|
"eslint-plugin-import": "^2.25.4",
|
|
91
91
|
"eslint-plugin-react": "^7.28.0",
|
|
92
|
-
"jest": "^27.4.
|
|
92
|
+
"jest": "^27.4.7",
|
|
93
93
|
"react-test-renderer": "^17.0.2",
|
|
94
94
|
"ts-jest": "^27.1.2",
|
|
95
95
|
"typescript": "^4.5.4"
|
package/src/mu/DnDList.tsx
CHANGED
|
@@ -68,7 +68,8 @@ export interface DnDListProps<D extends {}, E extends React.ElementType> {
|
|
|
68
68
|
sideRenderer?: (
|
|
69
69
|
top: boolean,
|
|
70
70
|
addItem: (item: D) => boolean,
|
|
71
|
-
addItems: (items: D[]) => number
|
|
71
|
+
addItems: (items: D[]) => number,
|
|
72
|
+
reloadItems: () => void
|
|
72
73
|
) => React.ReactNode;
|
|
73
74
|
|
|
74
75
|
/**
|
|
@@ -210,15 +211,21 @@ export function DnDList<
|
|
|
210
211
|
changeItems(newItems);
|
|
211
212
|
};
|
|
212
213
|
|
|
213
|
-
|
|
214
|
+
// Reload items
|
|
215
|
+
const reloadItems = () => {
|
|
214
216
|
// Load data
|
|
215
217
|
loadData(name).then((items) => setItems(items));
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
React.useEffect(() => {
|
|
221
|
+
// Load data
|
|
222
|
+
reloadItems();
|
|
216
223
|
}, [name]);
|
|
217
224
|
|
|
218
225
|
// Layout
|
|
219
226
|
return (
|
|
220
227
|
<React.Fragment>
|
|
221
|
-
{sideRenderer && sideRenderer(true, addItem, addItems)}
|
|
228
|
+
{sideRenderer && sideRenderer(true, addItem, addItems, reloadItems)}
|
|
222
229
|
<Component {...componentProps}>
|
|
223
230
|
<DragDropContext onDragEnd={onDragEndLocal}>
|
|
224
231
|
<Droppable droppableId={name}>
|
|
@@ -274,7 +281,8 @@ export function DnDList<
|
|
|
274
281
|
</Droppable>
|
|
275
282
|
</DragDropContext>
|
|
276
283
|
</Component>
|
|
277
|
-
{sideRenderer &&
|
|
284
|
+
{sideRenderer &&
|
|
285
|
+
sideRenderer(false, addItem, addItems, reloadItems)}
|
|
278
286
|
</React.Fragment>
|
|
279
287
|
);
|
|
280
288
|
}
|