@replyke/core 7.0.0-beta.17 → 7.0.0-beta.19
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/cjs/hooks/collections/index.d.ts +3 -0
- package/dist/cjs/hooks/collections/index.js +14 -0
- package/dist/cjs/hooks/collections/index.js.map +1 -0
- package/dist/cjs/hooks/collections/useCollections.d.ts +36 -0
- package/dist/cjs/hooks/{lists/useLists.js → collections/useCollections.js} +77 -76
- package/dist/cjs/hooks/collections/useCollections.js.map +1 -0
- package/dist/cjs/hooks/collections/useCollectionsActions.d.ts +21 -0
- package/dist/cjs/hooks/{lists/useListsActions.js → collections/useCollectionsActions.js} +110 -110
- package/dist/cjs/hooks/collections/useCollectionsActions.js.map +1 -0
- package/dist/{esm/hooks/lists → cjs/hooks/collections}/useIsEntitySaved.d.ts +2 -2
- package/dist/cjs/hooks/{lists → collections}/useIsEntitySaved.js +3 -3
- package/dist/cjs/hooks/collections/useIsEntitySaved.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +6 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/models/{List.d.ts → Collection.d.ts} +1 -1
- package/dist/cjs/interfaces/models/{List.js → Collection.js} +1 -1
- package/dist/cjs/interfaces/models/Collection.js.map +1 -0
- package/dist/cjs/store/api/appNotificationsApi.d.ts +181 -181
- package/dist/cjs/store/api/baseApi.d.ts +1 -1
- package/dist/cjs/store/api/baseApi.js +1 -1
- package/dist/cjs/store/api/baseApi.js.map +1 -1
- package/dist/cjs/store/api/{listsApi.d.ts → collectionsApi.d.ts} +573 -573
- package/dist/cjs/store/api/{listsApi.js → collectionsApi.js} +64 -64
- package/dist/cjs/store/api/collectionsApi.js.map +1 -0
- package/dist/cjs/store/api/entityListsApi.d.ts +107 -107
- package/dist/cjs/store/api/index.d.ts +1 -1
- package/dist/cjs/store/api/index.js +2 -2
- package/dist/cjs/store/api/index.js.map +1 -1
- package/dist/cjs/store/api/spacesApi.d.ts +950 -950
- package/dist/cjs/store/api/userApi.d.ts +3 -3
- package/dist/cjs/store/index.d.ts +4 -4
- package/dist/cjs/store/rootReducer.d.ts +4 -4
- package/dist/cjs/store/rootReducer.js +2 -2
- package/dist/cjs/store/rootReducer.js.map +1 -1
- package/dist/cjs/store/slices/{listsSlice.d.ts → collectionsSlice.d.ts} +128 -128
- package/dist/cjs/store/slices/collectionsSlice.js +211 -0
- package/dist/cjs/store/slices/collectionsSlice.js.map +1 -0
- package/dist/esm/hooks/collections/index.d.ts +3 -0
- package/dist/esm/hooks/collections/index.js +5 -0
- package/dist/esm/hooks/collections/index.js.map +1 -0
- package/dist/esm/hooks/collections/useCollections.d.ts +36 -0
- package/dist/esm/hooks/{lists/useLists.js → collections/useCollections.js} +75 -74
- package/dist/esm/hooks/collections/useCollections.js.map +1 -0
- package/dist/esm/hooks/collections/useCollectionsActions.d.ts +21 -0
- package/dist/esm/hooks/{lists/useListsActions.js → collections/useCollectionsActions.js} +101 -101
- package/dist/esm/hooks/collections/useCollectionsActions.js.map +1 -0
- package/dist/{cjs/hooks/lists → esm/hooks/collections}/useIsEntitySaved.d.ts +2 -2
- package/dist/esm/hooks/{lists → collections}/useIsEntitySaved.js +3 -3
- package/dist/esm/hooks/collections/useIsEntitySaved.js.map +1 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/models/{List.d.ts → Collection.d.ts} +1 -1
- package/dist/esm/interfaces/models/Collection.js +2 -0
- package/dist/esm/interfaces/models/Collection.js.map +1 -0
- package/dist/esm/store/api/appNotificationsApi.d.ts +181 -181
- package/dist/esm/store/api/baseApi.d.ts +1 -1
- package/dist/esm/store/api/baseApi.js +1 -1
- package/dist/esm/store/api/baseApi.js.map +1 -1
- package/dist/esm/store/api/{listsApi.d.ts → collectionsApi.d.ts} +573 -573
- package/dist/esm/store/api/{listsApi.js → collectionsApi.js} +63 -63
- package/dist/esm/store/api/collectionsApi.js.map +1 -0
- package/dist/esm/store/api/entityListsApi.d.ts +107 -107
- package/dist/esm/store/api/index.d.ts +1 -1
- package/dist/esm/store/api/index.js +2 -2
- package/dist/esm/store/api/index.js.map +1 -1
- package/dist/esm/store/api/spacesApi.d.ts +950 -950
- package/dist/esm/store/api/userApi.d.ts +3 -3
- package/dist/esm/store/index.d.ts +4 -4
- package/dist/esm/store/rootReducer.d.ts +4 -4
- package/dist/esm/store/rootReducer.js +2 -2
- package/dist/esm/store/rootReducer.js.map +1 -1
- package/dist/esm/store/slices/{listsSlice.d.ts → collectionsSlice.d.ts} +128 -128
- package/dist/esm/store/slices/collectionsSlice.js +202 -0
- package/dist/esm/store/slices/collectionsSlice.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/hooks/lists/index.d.ts +0 -3
- package/dist/cjs/hooks/lists/index.js +0 -14
- package/dist/cjs/hooks/lists/index.js.map +0 -1
- package/dist/cjs/hooks/lists/useIsEntitySaved.js.map +0 -1
- package/dist/cjs/hooks/lists/useLists.d.ts +0 -36
- package/dist/cjs/hooks/lists/useLists.js.map +0 -1
- package/dist/cjs/hooks/lists/useListsActions.d.ts +0 -21
- package/dist/cjs/hooks/lists/useListsActions.js.map +0 -1
- package/dist/cjs/interfaces/models/List.js.map +0 -1
- package/dist/cjs/store/api/listsApi.js.map +0 -1
- package/dist/cjs/store/slices/listsSlice.js +0 -211
- package/dist/cjs/store/slices/listsSlice.js.map +0 -1
- package/dist/esm/hooks/lists/index.d.ts +0 -3
- package/dist/esm/hooks/lists/index.js +0 -5
- package/dist/esm/hooks/lists/index.js.map +0 -1
- package/dist/esm/hooks/lists/useIsEntitySaved.js.map +0 -1
- package/dist/esm/hooks/lists/useLists.d.ts +0 -36
- package/dist/esm/hooks/lists/useLists.js.map +0 -1
- package/dist/esm/hooks/lists/useListsActions.d.ts +0 -21
- package/dist/esm/hooks/lists/useListsActions.js.map +0 -1
- package/dist/esm/interfaces/models/List.js +0 -2
- package/dist/esm/interfaces/models/List.js.map +0 -1
- package/dist/esm/store/api/listsApi.js.map +0 -1
- package/dist/esm/store/slices/listsSlice.js +0 -202
- package/dist/esm/store/slices/listsSlice.js.map +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useIsEntityInCollection = exports.useCollections = exports.useCollectionsActions = void 0;
|
|
7
|
+
// Export Redux-powered collections hooks
|
|
8
|
+
var useCollectionsActions_1 = require("./useCollectionsActions");
|
|
9
|
+
Object.defineProperty(exports, "useCollectionsActions", { enumerable: true, get: function () { return useCollectionsActions_1.useCollectionsActions; } });
|
|
10
|
+
var useCollections_1 = require("./useCollections");
|
|
11
|
+
Object.defineProperty(exports, "useCollections", { enumerable: true, get: function () { return __importDefault(useCollections_1).default; } });
|
|
12
|
+
var useIsEntitySaved_1 = require("./useIsEntitySaved");
|
|
13
|
+
Object.defineProperty(exports, "useIsEntityInCollection", { enumerable: true, get: function () { return __importDefault(useIsEntitySaved_1).default; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/collections/index.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAyC;AACzC,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,mDAI0B;AAHxB,iIAAA,OAAO,OAAkB;AAI3B,uDAAwE;AAA/D,4IAAA,OAAO,OAA2B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Collection } from "../../interfaces/models/Collection";
|
|
2
|
+
export interface UseCollectionsProps {
|
|
3
|
+
}
|
|
4
|
+
export interface UseCollectionsValues {
|
|
5
|
+
currentCollection: Collection | null;
|
|
6
|
+
subCollections: Collection[];
|
|
7
|
+
loading: boolean;
|
|
8
|
+
openCollection: (collection: Collection) => void;
|
|
9
|
+
goBack: () => void;
|
|
10
|
+
goToRoot: () => void;
|
|
11
|
+
isEntityInCollection: (selectedEntityId: string, collectionId?: string) => boolean;
|
|
12
|
+
createCollection: (props: {
|
|
13
|
+
collectionName: string;
|
|
14
|
+
}) => Promise<void>;
|
|
15
|
+
updateCollection: (props: {
|
|
16
|
+
collectionId: string;
|
|
17
|
+
update: Partial<{
|
|
18
|
+
name: string;
|
|
19
|
+
}>;
|
|
20
|
+
}) => Promise<void>;
|
|
21
|
+
deleteCollection: (props: {
|
|
22
|
+
collection: Collection;
|
|
23
|
+
}) => Promise<void>;
|
|
24
|
+
addToCollection: (props: {
|
|
25
|
+
entityId: string;
|
|
26
|
+
}) => Promise<void>;
|
|
27
|
+
removeFromCollection: (props: {
|
|
28
|
+
entityId: string;
|
|
29
|
+
}) => Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Redux-powered hook that provides the exact same interface as useCollectionsData()
|
|
33
|
+
* This is a drop-in replacement for the Context-based hook
|
|
34
|
+
*/
|
|
35
|
+
declare function useCollections(_?: UseCollectionsProps): UseCollectionsValues;
|
|
36
|
+
export default useCollections;
|
|
@@ -41,15 +41,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
42
|
var react_1 = require("react");
|
|
43
43
|
var react_redux_1 = require("react-redux");
|
|
44
|
-
var
|
|
45
|
-
var
|
|
44
|
+
var collectionsSlice_1 = require("../../store/slices/collectionsSlice");
|
|
45
|
+
var useCollectionsActions_1 = require("./useCollectionsActions");
|
|
46
46
|
var useProject_1 = __importDefault(require("../projects/useProject"));
|
|
47
47
|
var user_1 = require("../user");
|
|
48
48
|
/**
|
|
49
|
-
* Redux-powered hook that provides the exact same interface as
|
|
49
|
+
* Redux-powered hook that provides the exact same interface as useCollectionsData()
|
|
50
50
|
* This is a drop-in replacement for the Context-based hook
|
|
51
51
|
*/
|
|
52
|
-
function
|
|
52
|
+
function useCollections(_) {
|
|
53
53
|
var _this = this;
|
|
54
54
|
if (_ === void 0) { _ = {}; }
|
|
55
55
|
var dispatch = (0, react_redux_1.useDispatch)();
|
|
@@ -57,81 +57,82 @@ function useLists(_) {
|
|
|
57
57
|
var projectId = (0, useProject_1.default)().projectId;
|
|
58
58
|
var user = (0, user_1.useUser)().user;
|
|
59
59
|
// Get Redux state
|
|
60
|
-
var
|
|
61
|
-
return (0,
|
|
60
|
+
var currentCollection = (0, react_redux_1.useSelector)(function (state) {
|
|
61
|
+
return (0, collectionsSlice_1.selectCurrentCollection)(state);
|
|
62
62
|
});
|
|
63
|
-
var
|
|
64
|
-
return (0,
|
|
63
|
+
var subCollections = (0, react_redux_1.useSelector)(function (state) {
|
|
64
|
+
return (0, collectionsSlice_1.selectSubCollections)(state);
|
|
65
65
|
});
|
|
66
66
|
var loading = (0, react_redux_1.useSelector)(function (state) {
|
|
67
|
-
return (0,
|
|
67
|
+
return (0, collectionsSlice_1.selectCollectionsLoading)(state);
|
|
68
68
|
});
|
|
69
|
-
var
|
|
70
|
-
return (0,
|
|
69
|
+
var subCollectionsMap = (0, react_redux_1.useSelector)(function (state) {
|
|
70
|
+
return (0, collectionsSlice_1.selectSubCollectionsMap)(state);
|
|
71
71
|
});
|
|
72
|
-
var
|
|
73
|
-
return
|
|
72
|
+
var collectionsById = (0, react_redux_1.useSelector)(function (state) {
|
|
73
|
+
return state.collections.collectionsById;
|
|
74
74
|
});
|
|
75
75
|
var currentProjectId = (0, react_redux_1.useSelector)(function (state) {
|
|
76
|
-
return (0,
|
|
76
|
+
return (0, collectionsSlice_1.selectCurrentProjectId)(state);
|
|
77
77
|
});
|
|
78
78
|
// Get actions
|
|
79
|
-
var _a = (0,
|
|
79
|
+
var _a = (0, useCollectionsActions_1.useCollectionsActions)(), openCollection = _a.openCollection, goBack = _a.goBack, goToRoot = _a.goToRoot, fetchRootCollection = _a.fetchRootCollection, fetchSubCollections = _a.fetchSubCollections, createCollectionAction = _a.createCollection, updateCollectionAction = _a.updateCollection, deleteCollectionAction = _a.deleteCollection, addToCollectionAction = _a.addToCollection, removeFromCollectionAction = _a.removeFromCollection;
|
|
80
80
|
// Update Redux state when project changes
|
|
81
81
|
(0, react_1.useEffect)(function () {
|
|
82
82
|
if (projectId && projectId !== currentProjectId) {
|
|
83
|
-
dispatch((0,
|
|
83
|
+
dispatch((0, collectionsSlice_1.setProjectContext)(projectId));
|
|
84
84
|
}
|
|
85
85
|
}, [dispatch, projectId, currentProjectId]);
|
|
86
|
-
// Fetch root
|
|
86
|
+
// Fetch root collection when user and project are available
|
|
87
87
|
(0, react_1.useEffect)(function () {
|
|
88
88
|
if (!user || !projectId)
|
|
89
89
|
return;
|
|
90
|
-
|
|
91
|
-
}, [
|
|
92
|
-
// Fetch sub-
|
|
90
|
+
fetchRootCollection(projectId);
|
|
91
|
+
}, [fetchRootCollection, user, projectId]);
|
|
92
|
+
// Fetch sub-collections when current collection changes
|
|
93
93
|
(0, react_1.useEffect)(function () {
|
|
94
|
-
if (!user || !projectId || !
|
|
94
|
+
if (!user || !projectId || !currentCollection)
|
|
95
95
|
return;
|
|
96
|
-
// Check if sub-
|
|
97
|
-
if (
|
|
96
|
+
// Check if sub-collections for this collection are already fetched
|
|
97
|
+
if (subCollectionsMap[currentCollection.id] !== undefined) {
|
|
98
98
|
return; // No need to fetch, we already have the mapping (even if empty)
|
|
99
99
|
}
|
|
100
|
-
|
|
101
|
-
}, [
|
|
102
|
-
// Entity membership checker
|
|
103
|
-
var
|
|
104
|
-
|
|
100
|
+
fetchSubCollections(projectId, currentCollection.id);
|
|
101
|
+
}, [fetchSubCollections, user, projectId, currentCollection, subCollectionsMap]);
|
|
102
|
+
// Entity membership checker - checks if entity is in specified collection (or current collection if not specified)
|
|
103
|
+
var isEntityInCollection = (0, react_1.useCallback)(function (selectedEntityId, collectionId) {
|
|
104
|
+
var targetCollection = collectionId ? collectionsById[collectionId] : currentCollection;
|
|
105
|
+
if (!targetCollection)
|
|
105
106
|
return false;
|
|
106
|
-
return
|
|
107
|
-
}, [
|
|
107
|
+
return targetCollection.entityIds.some(function (entityId) { return entityId === selectedEntityId; });
|
|
108
|
+
}, [currentCollection, collectionsById]);
|
|
108
109
|
// Wrapped CRUD operations that match the original interface
|
|
109
|
-
var
|
|
110
|
-
var
|
|
110
|
+
var handleCreateCollection = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
111
|
+
var collectionName = _b.collectionName;
|
|
111
112
|
return __generator(this, function (_c) {
|
|
112
113
|
switch (_c.label) {
|
|
113
114
|
case 0:
|
|
114
|
-
if (!
|
|
115
|
-
console.error("No
|
|
115
|
+
if (!collectionName) {
|
|
116
|
+
console.error("No collectionName provided.");
|
|
116
117
|
return [2 /*return*/];
|
|
117
118
|
}
|
|
118
|
-
if (!
|
|
119
|
-
console.error("No current
|
|
119
|
+
if (!currentCollection) {
|
|
120
|
+
console.error("No current collection.");
|
|
120
121
|
return [2 /*return*/];
|
|
121
122
|
}
|
|
122
123
|
if (!projectId) {
|
|
123
124
|
console.error("No projectId available.");
|
|
124
125
|
return [2 /*return*/];
|
|
125
126
|
}
|
|
126
|
-
return [4 /*yield*/,
|
|
127
|
+
return [4 /*yield*/, createCollectionAction(projectId, currentCollection.id, collectionName)];
|
|
127
128
|
case 1:
|
|
128
129
|
_c.sent();
|
|
129
130
|
return [2 /*return*/];
|
|
130
131
|
}
|
|
131
132
|
});
|
|
132
|
-
}); }, [
|
|
133
|
-
var
|
|
134
|
-
var
|
|
133
|
+
}); }, [createCollectionAction, currentCollection, projectId]);
|
|
134
|
+
var handleUpdateCollection = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
135
|
+
var collectionId = _b.collectionId, update = _b.update;
|
|
135
136
|
return __generator(this, function (_c) {
|
|
136
137
|
switch (_c.label) {
|
|
137
138
|
case 0:
|
|
@@ -139,15 +140,15 @@ function useLists(_) {
|
|
|
139
140
|
console.error("No projectId available.");
|
|
140
141
|
return [2 /*return*/];
|
|
141
142
|
}
|
|
142
|
-
return [4 /*yield*/,
|
|
143
|
+
return [4 /*yield*/, updateCollectionAction(projectId, collectionId, update)];
|
|
143
144
|
case 1:
|
|
144
145
|
_c.sent();
|
|
145
146
|
return [2 /*return*/];
|
|
146
147
|
}
|
|
147
148
|
});
|
|
148
|
-
}); }, [
|
|
149
|
-
var
|
|
150
|
-
var
|
|
149
|
+
}); }, [updateCollectionAction, projectId]);
|
|
150
|
+
var handleDeleteCollection = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
151
|
+
var collection = _b.collection;
|
|
151
152
|
return __generator(this, function (_c) {
|
|
152
153
|
switch (_c.label) {
|
|
153
154
|
case 0:
|
|
@@ -155,14 +156,14 @@ function useLists(_) {
|
|
|
155
156
|
console.error("No projectId available.");
|
|
156
157
|
return [2 /*return*/];
|
|
157
158
|
}
|
|
158
|
-
return [4 /*yield*/,
|
|
159
|
+
return [4 /*yield*/, deleteCollectionAction(projectId, collection)];
|
|
159
160
|
case 1:
|
|
160
161
|
_c.sent();
|
|
161
162
|
return [2 /*return*/];
|
|
162
163
|
}
|
|
163
164
|
});
|
|
164
|
-
}); }, [
|
|
165
|
-
var
|
|
165
|
+
}); }, [deleteCollectionAction, projectId]);
|
|
166
|
+
var handleAddToCollection = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
166
167
|
var entityId = _b.entityId;
|
|
167
168
|
return __generator(this, function (_c) {
|
|
168
169
|
switch (_c.label) {
|
|
@@ -171,69 +172,69 @@ function useLists(_) {
|
|
|
171
172
|
console.error("No entityId provided.");
|
|
172
173
|
return [2 /*return*/];
|
|
173
174
|
}
|
|
174
|
-
if (!
|
|
175
|
-
console.error("No current
|
|
175
|
+
if (!currentCollection) {
|
|
176
|
+
console.error("No current collection.");
|
|
176
177
|
return [2 /*return*/];
|
|
177
178
|
}
|
|
178
179
|
if (!projectId) {
|
|
179
180
|
console.error("No projectId available.");
|
|
180
181
|
return [2 /*return*/];
|
|
181
182
|
}
|
|
182
|
-
return [4 /*yield*/,
|
|
183
|
+
return [4 /*yield*/, addToCollectionAction(projectId, currentCollection.id, entityId)];
|
|
183
184
|
case 1:
|
|
184
185
|
_c.sent();
|
|
185
186
|
return [2 /*return*/];
|
|
186
187
|
}
|
|
187
188
|
});
|
|
188
|
-
}); }, [
|
|
189
|
-
var
|
|
189
|
+
}); }, [addToCollectionAction, currentCollection, projectId]);
|
|
190
|
+
var handleRemoveFromCollection = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
190
191
|
var entityId = _b.entityId;
|
|
191
192
|
return __generator(this, function (_c) {
|
|
192
193
|
switch (_c.label) {
|
|
193
194
|
case 0:
|
|
194
|
-
if (!
|
|
195
|
-
console.error("No current
|
|
195
|
+
if (!currentCollection) {
|
|
196
|
+
console.error("No current collection.");
|
|
196
197
|
return [2 /*return*/];
|
|
197
198
|
}
|
|
198
199
|
if (!projectId) {
|
|
199
200
|
console.error("No projectId available.");
|
|
200
201
|
return [2 /*return*/];
|
|
201
202
|
}
|
|
202
|
-
return [4 /*yield*/,
|
|
203
|
+
return [4 /*yield*/, removeFromCollectionAction(projectId, currentCollection.id, entityId)];
|
|
203
204
|
case 1:
|
|
204
205
|
_c.sent();
|
|
205
206
|
return [2 /*return*/];
|
|
206
207
|
}
|
|
207
208
|
});
|
|
208
|
-
}); }, [
|
|
209
|
+
}); }, [removeFromCollectionAction, currentCollection, projectId]);
|
|
209
210
|
// Return the same interface as the original hook
|
|
210
211
|
return (0, react_1.useMemo)(function () { return ({
|
|
211
|
-
|
|
212
|
-
|
|
212
|
+
currentCollection: currentCollection,
|
|
213
|
+
subCollections: subCollections,
|
|
213
214
|
loading: loading,
|
|
214
|
-
|
|
215
|
+
openCollection: openCollection,
|
|
215
216
|
goBack: goBack,
|
|
216
217
|
goToRoot: goToRoot,
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
218
|
+
isEntityInCollection: isEntityInCollection,
|
|
219
|
+
createCollection: handleCreateCollection,
|
|
220
|
+
updateCollection: handleUpdateCollection,
|
|
221
|
+
deleteCollection: handleDeleteCollection,
|
|
222
|
+
addToCollection: handleAddToCollection,
|
|
223
|
+
removeFromCollection: handleRemoveFromCollection,
|
|
223
224
|
}); }, [
|
|
224
|
-
|
|
225
|
-
|
|
225
|
+
currentCollection,
|
|
226
|
+
subCollections,
|
|
226
227
|
loading,
|
|
227
|
-
|
|
228
|
+
openCollection,
|
|
228
229
|
goBack,
|
|
229
230
|
goToRoot,
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
231
|
+
isEntityInCollection,
|
|
232
|
+
handleCreateCollection,
|
|
233
|
+
handleUpdateCollection,
|
|
234
|
+
handleDeleteCollection,
|
|
235
|
+
handleAddToCollection,
|
|
236
|
+
handleRemoveFromCollection,
|
|
236
237
|
]);
|
|
237
238
|
}
|
|
238
|
-
exports.default =
|
|
239
|
-
//# sourceMappingURL=
|
|
239
|
+
exports.default = useCollections;
|
|
240
|
+
//# sourceMappingURL=useCollections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCollections.js","sourceRoot":"","sources":["../../../../src/hooks/collections/useCollections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Collection } from "../../interfaces/models/Collection";
|
|
2
|
+
/**
|
|
3
|
+
* Redux-powered hook that provides all collection actions
|
|
4
|
+
* This replaces the individual hooks and provides a centralized way to manage collections
|
|
5
|
+
*/
|
|
6
|
+
export declare function useCollectionsActions(): {
|
|
7
|
+
openCollection: (collection: Collection) => void;
|
|
8
|
+
goBack: () => void;
|
|
9
|
+
goToRoot: () => void;
|
|
10
|
+
fetchRootCollection: (projectId: string) => Promise<void>;
|
|
11
|
+
fetchSubCollections: (projectId: string, collectionId: string) => Promise<void>;
|
|
12
|
+
createCollection: (projectId: string, parentCollectionId: string, collectionName: string) => Promise<void>;
|
|
13
|
+
updateCollection: (projectId: string, collectionId: string, update: Partial<{
|
|
14
|
+
name: string;
|
|
15
|
+
}>) => Promise<void>;
|
|
16
|
+
deleteCollection: (projectId: string, collection: Collection) => Promise<void>;
|
|
17
|
+
addToCollection: (projectId: string, collectionId: string, entityId: string) => Promise<void>;
|
|
18
|
+
removeFromCollection: (projectId: string, collectionId: string, entityId: string) => Promise<void>;
|
|
19
|
+
resetCollections: () => void;
|
|
20
|
+
};
|
|
21
|
+
export default useCollectionsActions;
|