@replyke/core 7.0.0-beta.18 → 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 -77
- 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 -75
- 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,82 +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 state.
|
|
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 - checks if entity is in specified
|
|
103
|
-
var
|
|
104
|
-
var
|
|
105
|
-
if (!
|
|
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)
|
|
106
106
|
return false;
|
|
107
|
-
return
|
|
108
|
-
}, [
|
|
107
|
+
return targetCollection.entityIds.some(function (entityId) { return entityId === selectedEntityId; });
|
|
108
|
+
}, [currentCollection, collectionsById]);
|
|
109
109
|
// Wrapped CRUD operations that match the original interface
|
|
110
|
-
var
|
|
111
|
-
var
|
|
110
|
+
var handleCreateCollection = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
111
|
+
var collectionName = _b.collectionName;
|
|
112
112
|
return __generator(this, function (_c) {
|
|
113
113
|
switch (_c.label) {
|
|
114
114
|
case 0:
|
|
115
|
-
if (!
|
|
116
|
-
console.error("No
|
|
115
|
+
if (!collectionName) {
|
|
116
|
+
console.error("No collectionName provided.");
|
|
117
117
|
return [2 /*return*/];
|
|
118
118
|
}
|
|
119
|
-
if (!
|
|
120
|
-
console.error("No current
|
|
119
|
+
if (!currentCollection) {
|
|
120
|
+
console.error("No current collection.");
|
|
121
121
|
return [2 /*return*/];
|
|
122
122
|
}
|
|
123
123
|
if (!projectId) {
|
|
124
124
|
console.error("No projectId available.");
|
|
125
125
|
return [2 /*return*/];
|
|
126
126
|
}
|
|
127
|
-
return [4 /*yield*/,
|
|
127
|
+
return [4 /*yield*/, createCollectionAction(projectId, currentCollection.id, collectionName)];
|
|
128
128
|
case 1:
|
|
129
129
|
_c.sent();
|
|
130
130
|
return [2 /*return*/];
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
|
-
}); }, [
|
|
134
|
-
var
|
|
135
|
-
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;
|
|
136
136
|
return __generator(this, function (_c) {
|
|
137
137
|
switch (_c.label) {
|
|
138
138
|
case 0:
|
|
@@ -140,15 +140,15 @@ function useLists(_) {
|
|
|
140
140
|
console.error("No projectId available.");
|
|
141
141
|
return [2 /*return*/];
|
|
142
142
|
}
|
|
143
|
-
return [4 /*yield*/,
|
|
143
|
+
return [4 /*yield*/, updateCollectionAction(projectId, collectionId, update)];
|
|
144
144
|
case 1:
|
|
145
145
|
_c.sent();
|
|
146
146
|
return [2 /*return*/];
|
|
147
147
|
}
|
|
148
148
|
});
|
|
149
|
-
}); }, [
|
|
150
|
-
var
|
|
151
|
-
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;
|
|
152
152
|
return __generator(this, function (_c) {
|
|
153
153
|
switch (_c.label) {
|
|
154
154
|
case 0:
|
|
@@ -156,14 +156,14 @@ function useLists(_) {
|
|
|
156
156
|
console.error("No projectId available.");
|
|
157
157
|
return [2 /*return*/];
|
|
158
158
|
}
|
|
159
|
-
return [4 /*yield*/,
|
|
159
|
+
return [4 /*yield*/, deleteCollectionAction(projectId, collection)];
|
|
160
160
|
case 1:
|
|
161
161
|
_c.sent();
|
|
162
162
|
return [2 /*return*/];
|
|
163
163
|
}
|
|
164
164
|
});
|
|
165
|
-
}); }, [
|
|
166
|
-
var
|
|
165
|
+
}); }, [deleteCollectionAction, projectId]);
|
|
166
|
+
var handleAddToCollection = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
167
167
|
var entityId = _b.entityId;
|
|
168
168
|
return __generator(this, function (_c) {
|
|
169
169
|
switch (_c.label) {
|
|
@@ -172,69 +172,69 @@ function useLists(_) {
|
|
|
172
172
|
console.error("No entityId provided.");
|
|
173
173
|
return [2 /*return*/];
|
|
174
174
|
}
|
|
175
|
-
if (!
|
|
176
|
-
console.error("No current
|
|
175
|
+
if (!currentCollection) {
|
|
176
|
+
console.error("No current collection.");
|
|
177
177
|
return [2 /*return*/];
|
|
178
178
|
}
|
|
179
179
|
if (!projectId) {
|
|
180
180
|
console.error("No projectId available.");
|
|
181
181
|
return [2 /*return*/];
|
|
182
182
|
}
|
|
183
|
-
return [4 /*yield*/,
|
|
183
|
+
return [4 /*yield*/, addToCollectionAction(projectId, currentCollection.id, entityId)];
|
|
184
184
|
case 1:
|
|
185
185
|
_c.sent();
|
|
186
186
|
return [2 /*return*/];
|
|
187
187
|
}
|
|
188
188
|
});
|
|
189
|
-
}); }, [
|
|
190
|
-
var
|
|
189
|
+
}); }, [addToCollectionAction, currentCollection, projectId]);
|
|
190
|
+
var handleRemoveFromCollection = (0, react_1.useCallback)(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
191
191
|
var entityId = _b.entityId;
|
|
192
192
|
return __generator(this, function (_c) {
|
|
193
193
|
switch (_c.label) {
|
|
194
194
|
case 0:
|
|
195
|
-
if (!
|
|
196
|
-
console.error("No current
|
|
195
|
+
if (!currentCollection) {
|
|
196
|
+
console.error("No current collection.");
|
|
197
197
|
return [2 /*return*/];
|
|
198
198
|
}
|
|
199
199
|
if (!projectId) {
|
|
200
200
|
console.error("No projectId available.");
|
|
201
201
|
return [2 /*return*/];
|
|
202
202
|
}
|
|
203
|
-
return [4 /*yield*/,
|
|
203
|
+
return [4 /*yield*/, removeFromCollectionAction(projectId, currentCollection.id, entityId)];
|
|
204
204
|
case 1:
|
|
205
205
|
_c.sent();
|
|
206
206
|
return [2 /*return*/];
|
|
207
207
|
}
|
|
208
208
|
});
|
|
209
|
-
}); }, [
|
|
209
|
+
}); }, [removeFromCollectionAction, currentCollection, projectId]);
|
|
210
210
|
// Return the same interface as the original hook
|
|
211
211
|
return (0, react_1.useMemo)(function () { return ({
|
|
212
|
-
|
|
213
|
-
|
|
212
|
+
currentCollection: currentCollection,
|
|
213
|
+
subCollections: subCollections,
|
|
214
214
|
loading: loading,
|
|
215
|
-
|
|
215
|
+
openCollection: openCollection,
|
|
216
216
|
goBack: goBack,
|
|
217
217
|
goToRoot: goToRoot,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
218
|
+
isEntityInCollection: isEntityInCollection,
|
|
219
|
+
createCollection: handleCreateCollection,
|
|
220
|
+
updateCollection: handleUpdateCollection,
|
|
221
|
+
deleteCollection: handleDeleteCollection,
|
|
222
|
+
addToCollection: handleAddToCollection,
|
|
223
|
+
removeFromCollection: handleRemoveFromCollection,
|
|
224
224
|
}); }, [
|
|
225
|
-
|
|
226
|
-
|
|
225
|
+
currentCollection,
|
|
226
|
+
subCollections,
|
|
227
227
|
loading,
|
|
228
|
-
|
|
228
|
+
openCollection,
|
|
229
229
|
goBack,
|
|
230
230
|
goToRoot,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
231
|
+
isEntityInCollection,
|
|
232
|
+
handleCreateCollection,
|
|
233
|
+
handleUpdateCollection,
|
|
234
|
+
handleDeleteCollection,
|
|
235
|
+
handleAddToCollection,
|
|
236
|
+
handleRemoveFromCollection,
|
|
237
237
|
]);
|
|
238
238
|
}
|
|
239
|
-
exports.default =
|
|
240
|
-
//# 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;
|