@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.
Files changed (102) hide show
  1. package/dist/cjs/hooks/collections/index.d.ts +3 -0
  2. package/dist/cjs/hooks/collections/index.js +14 -0
  3. package/dist/cjs/hooks/collections/index.js.map +1 -0
  4. package/dist/cjs/hooks/collections/useCollections.d.ts +36 -0
  5. package/dist/cjs/hooks/{lists/useLists.js → collections/useCollections.js} +77 -77
  6. package/dist/cjs/hooks/collections/useCollections.js.map +1 -0
  7. package/dist/cjs/hooks/collections/useCollectionsActions.d.ts +21 -0
  8. package/dist/cjs/hooks/{lists/useListsActions.js → collections/useCollectionsActions.js} +110 -110
  9. package/dist/cjs/hooks/collections/useCollectionsActions.js.map +1 -0
  10. package/dist/{esm/hooks/lists → cjs/hooks/collections}/useIsEntitySaved.d.ts +2 -2
  11. package/dist/cjs/hooks/{lists → collections}/useIsEntitySaved.js +3 -3
  12. package/dist/cjs/hooks/collections/useIsEntitySaved.js.map +1 -0
  13. package/dist/cjs/index.d.ts +2 -2
  14. package/dist/cjs/index.js +6 -6
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/interfaces/models/{List.d.ts → Collection.d.ts} +1 -1
  17. package/dist/cjs/interfaces/models/{List.js → Collection.js} +1 -1
  18. package/dist/cjs/interfaces/models/Collection.js.map +1 -0
  19. package/dist/cjs/store/api/appNotificationsApi.d.ts +181 -181
  20. package/dist/cjs/store/api/baseApi.d.ts +1 -1
  21. package/dist/cjs/store/api/baseApi.js +1 -1
  22. package/dist/cjs/store/api/baseApi.js.map +1 -1
  23. package/dist/cjs/store/api/{listsApi.d.ts → collectionsApi.d.ts} +573 -573
  24. package/dist/cjs/store/api/{listsApi.js → collectionsApi.js} +64 -64
  25. package/dist/cjs/store/api/collectionsApi.js.map +1 -0
  26. package/dist/cjs/store/api/entityListsApi.d.ts +107 -107
  27. package/dist/cjs/store/api/index.d.ts +1 -1
  28. package/dist/cjs/store/api/index.js +2 -2
  29. package/dist/cjs/store/api/index.js.map +1 -1
  30. package/dist/cjs/store/api/spacesApi.d.ts +950 -950
  31. package/dist/cjs/store/api/userApi.d.ts +3 -3
  32. package/dist/cjs/store/index.d.ts +4 -4
  33. package/dist/cjs/store/rootReducer.d.ts +4 -4
  34. package/dist/cjs/store/rootReducer.js +2 -2
  35. package/dist/cjs/store/rootReducer.js.map +1 -1
  36. package/dist/cjs/store/slices/{listsSlice.d.ts → collectionsSlice.d.ts} +128 -128
  37. package/dist/cjs/store/slices/collectionsSlice.js +211 -0
  38. package/dist/cjs/store/slices/collectionsSlice.js.map +1 -0
  39. package/dist/esm/hooks/collections/index.d.ts +3 -0
  40. package/dist/esm/hooks/collections/index.js +5 -0
  41. package/dist/esm/hooks/collections/index.js.map +1 -0
  42. package/dist/esm/hooks/collections/useCollections.d.ts +36 -0
  43. package/dist/esm/hooks/{lists/useLists.js → collections/useCollections.js} +75 -75
  44. package/dist/esm/hooks/collections/useCollections.js.map +1 -0
  45. package/dist/esm/hooks/collections/useCollectionsActions.d.ts +21 -0
  46. package/dist/esm/hooks/{lists/useListsActions.js → collections/useCollectionsActions.js} +101 -101
  47. package/dist/esm/hooks/collections/useCollectionsActions.js.map +1 -0
  48. package/dist/{cjs/hooks/lists → esm/hooks/collections}/useIsEntitySaved.d.ts +2 -2
  49. package/dist/esm/hooks/{lists → collections}/useIsEntitySaved.js +3 -3
  50. package/dist/esm/hooks/collections/useIsEntitySaved.js.map +1 -0
  51. package/dist/esm/index.d.ts +2 -2
  52. package/dist/esm/index.js +2 -2
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/interfaces/models/{List.d.ts → Collection.d.ts} +1 -1
  55. package/dist/esm/interfaces/models/Collection.js +2 -0
  56. package/dist/esm/interfaces/models/Collection.js.map +1 -0
  57. package/dist/esm/store/api/appNotificationsApi.d.ts +181 -181
  58. package/dist/esm/store/api/baseApi.d.ts +1 -1
  59. package/dist/esm/store/api/baseApi.js +1 -1
  60. package/dist/esm/store/api/baseApi.js.map +1 -1
  61. package/dist/esm/store/api/{listsApi.d.ts → collectionsApi.d.ts} +573 -573
  62. package/dist/esm/store/api/{listsApi.js → collectionsApi.js} +63 -63
  63. package/dist/esm/store/api/collectionsApi.js.map +1 -0
  64. package/dist/esm/store/api/entityListsApi.d.ts +107 -107
  65. package/dist/esm/store/api/index.d.ts +1 -1
  66. package/dist/esm/store/api/index.js +2 -2
  67. package/dist/esm/store/api/index.js.map +1 -1
  68. package/dist/esm/store/api/spacesApi.d.ts +950 -950
  69. package/dist/esm/store/api/userApi.d.ts +3 -3
  70. package/dist/esm/store/index.d.ts +4 -4
  71. package/dist/esm/store/rootReducer.d.ts +4 -4
  72. package/dist/esm/store/rootReducer.js +2 -2
  73. package/dist/esm/store/rootReducer.js.map +1 -1
  74. package/dist/esm/store/slices/{listsSlice.d.ts → collectionsSlice.d.ts} +128 -128
  75. package/dist/esm/store/slices/collectionsSlice.js +202 -0
  76. package/dist/esm/store/slices/collectionsSlice.js.map +1 -0
  77. package/package.json +1 -1
  78. package/dist/cjs/hooks/lists/index.d.ts +0 -3
  79. package/dist/cjs/hooks/lists/index.js +0 -14
  80. package/dist/cjs/hooks/lists/index.js.map +0 -1
  81. package/dist/cjs/hooks/lists/useIsEntitySaved.js.map +0 -1
  82. package/dist/cjs/hooks/lists/useLists.d.ts +0 -36
  83. package/dist/cjs/hooks/lists/useLists.js.map +0 -1
  84. package/dist/cjs/hooks/lists/useListsActions.d.ts +0 -21
  85. package/dist/cjs/hooks/lists/useListsActions.js.map +0 -1
  86. package/dist/cjs/interfaces/models/List.js.map +0 -1
  87. package/dist/cjs/store/api/listsApi.js.map +0 -1
  88. package/dist/cjs/store/slices/listsSlice.js +0 -211
  89. package/dist/cjs/store/slices/listsSlice.js.map +0 -1
  90. package/dist/esm/hooks/lists/index.d.ts +0 -3
  91. package/dist/esm/hooks/lists/index.js +0 -5
  92. package/dist/esm/hooks/lists/index.js.map +0 -1
  93. package/dist/esm/hooks/lists/useIsEntitySaved.js.map +0 -1
  94. package/dist/esm/hooks/lists/useLists.d.ts +0 -36
  95. package/dist/esm/hooks/lists/useLists.js.map +0 -1
  96. package/dist/esm/hooks/lists/useListsActions.d.ts +0 -21
  97. package/dist/esm/hooks/lists/useListsActions.js.map +0 -1
  98. package/dist/esm/interfaces/models/List.js +0 -2
  99. package/dist/esm/interfaces/models/List.js.map +0 -1
  100. package/dist/esm/store/api/listsApi.js.map +0 -1
  101. package/dist/esm/store/slices/listsSlice.js +0 -202
  102. package/dist/esm/store/slices/listsSlice.js.map +0 -1
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.selectCurrentCollectionId = exports.selectCurrentProjectId = exports.selectCollectionsById = exports.selectSubCollectionsMap = exports.selectCollectionHistory = exports.selectCollectionsLoading = exports.selectSubCollections = exports.selectCurrentCollection = exports.handleError = exports.resetCollections = exports.handleCollectionDeletion = exports.removeCollectionFromSubCollections = exports.addNewCollectionAndNavigate = exports.updateCollectionInSubCollections = exports.updateCurrentCollection = exports.setSubCollections = exports.setCurrentCollection = exports.goToRoot = exports.goBack = exports.openCollection = exports.setLoading = exports.setProjectContext = exports.collectionsSlice = void 0;
5
+ var toolkit_1 = require("@reduxjs/toolkit");
6
+ // Initial state
7
+ var initialState = {
8
+ collectionsById: {},
9
+ subcollectionsMap: {},
10
+ currentCollectionId: null,
11
+ collectionHistory: [],
12
+ loading: false,
13
+ currentProjectId: undefined,
14
+ };
15
+ // Create the slice
16
+ exports.collectionsSlice = (0, toolkit_1.createSlice)({
17
+ name: "collections",
18
+ initialState: initialState,
19
+ reducers: {
20
+ // Set the current project context
21
+ setProjectContext: function (state, action) {
22
+ state.currentProjectId = action.payload;
23
+ },
24
+ // Set loading state
25
+ setLoading: function (state, action) {
26
+ state.loading = action.payload;
27
+ },
28
+ // Navigation actions
29
+ openCollection: function (state, action) {
30
+ var collection = action.payload;
31
+ // Store the collection if not already stored
32
+ if (!state.collectionsById[collection.id]) {
33
+ state.collectionsById[collection.id] = collection;
34
+ }
35
+ // Push current collection ID to history stack before opening new one
36
+ if (state.currentCollectionId) {
37
+ state.collectionHistory.push(state.currentCollectionId);
38
+ }
39
+ // Set new current collection ID
40
+ state.currentCollectionId = collection.id;
41
+ },
42
+ goBack: function (state) {
43
+ if (state.collectionHistory.length === 0)
44
+ return;
45
+ var previousCollectionId = state.collectionHistory.pop();
46
+ if (!previousCollectionId)
47
+ return;
48
+ state.currentCollectionId = previousCollectionId;
49
+ },
50
+ goToRoot: function (state) {
51
+ if (state.collectionHistory.length === 0)
52
+ return;
53
+ var rootCollectionId = state.collectionHistory[0];
54
+ state.collectionHistory = [];
55
+ state.currentCollectionId = rootCollectionId;
56
+ },
57
+ // Set current collection (for initial root collection fetch)
58
+ setCurrentCollection: function (state, action) {
59
+ var collection = action.payload;
60
+ if (collection) {
61
+ state.collectionsById[collection.id] = collection;
62
+ state.currentCollectionId = collection.id;
63
+ }
64
+ else {
65
+ state.currentCollectionId = null;
66
+ }
67
+ },
68
+ // Set sub-collections and update mapping
69
+ setSubCollections: function (state, action) {
70
+ var _a = action.payload, collections = _a.collections, parentCollectionId = _a.parentCollectionId;
71
+ // Store all collections in collectionsById
72
+ collections.forEach(function (collection) {
73
+ state.collectionsById[collection.id] = collection;
74
+ });
75
+ // Update parent-child mapping
76
+ state.subcollectionsMap[parentCollectionId] = collections.map(function (collection) { return collection.id; });
77
+ },
78
+ // Update current collection (for entity add/remove operations)
79
+ updateCurrentCollection: function (state, action) {
80
+ var updatedCollection = action.payload;
81
+ // Update in collectionsById (single source of truth)
82
+ state.collectionsById[updatedCollection.id] = updatedCollection;
83
+ },
84
+ // Update a collection (now just updates in collectionsById)
85
+ updateCollectionInSubCollections: function (state, action) {
86
+ var updatedCollection = action.payload;
87
+ // Update in collectionsById (single source of truth)
88
+ state.collectionsById[updatedCollection.id] = updatedCollection;
89
+ },
90
+ // Add new collection to sub-collections and navigate to it
91
+ addNewCollectionAndNavigate: function (state, action) {
92
+ var newCollection = action.payload;
93
+ if (!state.currentCollectionId)
94
+ return;
95
+ // Store the new collection
96
+ state.collectionsById[newCollection.id] = newCollection;
97
+ // Push current collection ID to history
98
+ state.collectionHistory.push(state.currentCollectionId);
99
+ // Set new collection as current
100
+ state.currentCollectionId = newCollection.id;
101
+ // Update parent-child mapping
102
+ if (newCollection.parentId) {
103
+ if (!state.subcollectionsMap[newCollection.parentId]) {
104
+ state.subcollectionsMap[newCollection.parentId] = [];
105
+ }
106
+ if (!state.subcollectionsMap[newCollection.parentId].includes(newCollection.id)) {
107
+ state.subcollectionsMap[newCollection.parentId].push(newCollection.id);
108
+ }
109
+ }
110
+ },
111
+ // Remove collection from sub-collections and storage
112
+ removeCollectionFromSubCollections: function (state, action) {
113
+ var collectionId = action.payload;
114
+ // Remove from collectionsById
115
+ delete state.collectionsById[collectionId];
116
+ // Remove from all parent-child mappings
117
+ Object.keys(state.subcollectionsMap).forEach(function (parentId) {
118
+ state.subcollectionsMap[parentId] = state.subcollectionsMap[parentId].filter(function (id) { return id !== collectionId; });
119
+ });
120
+ // Remove its own sub-collections mapping if it exists
121
+ delete state.subcollectionsMap[collectionId];
122
+ },
123
+ // Handle collection deletion
124
+ handleCollectionDeletion: function (state, action) {
125
+ var _a = action.payload, collectionId = _a.collectionId, parentId = _a.parentId;
126
+ // Remove from parent-child mapping
127
+ if (parentId && state.subcollectionsMap[parentId]) {
128
+ state.subcollectionsMap[parentId] = state.subcollectionsMap[parentId].filter(function (id) { return id !== collectionId; });
129
+ }
130
+ // Remove from collectionsById
131
+ delete state.collectionsById[collectionId];
132
+ // Remove its own sub-collections mapping
133
+ delete state.subcollectionsMap[collectionId];
134
+ // If deleted collection is current collection, go back
135
+ if (state.currentCollectionId === collectionId) {
136
+ if (state.collectionHistory.length === 0) {
137
+ state.currentCollectionId = null;
138
+ return;
139
+ }
140
+ var previousCollectionId = state.collectionHistory.pop();
141
+ if (!previousCollectionId) {
142
+ state.currentCollectionId = null;
143
+ return;
144
+ }
145
+ state.currentCollectionId = previousCollectionId;
146
+ }
147
+ },
148
+ // Reset all collections data
149
+ resetCollections: function (state) {
150
+ state.collectionsById = {};
151
+ state.subcollectionsMap = {};
152
+ state.currentCollectionId = null;
153
+ state.collectionHistory = [];
154
+ state.loading = false;
155
+ },
156
+ // Handle errors by stopping loading
157
+ handleError: function (state) {
158
+ state.loading = false;
159
+ },
160
+ },
161
+ });
162
+ // Export actions
163
+ exports.setProjectContext = (_a = exports.collectionsSlice.actions, _a.setProjectContext), exports.setLoading = _a.setLoading, exports.openCollection = _a.openCollection, exports.goBack = _a.goBack, exports.goToRoot = _a.goToRoot, exports.setCurrentCollection = _a.setCurrentCollection, exports.setSubCollections = _a.setSubCollections, exports.updateCurrentCollection = _a.updateCurrentCollection, exports.updateCollectionInSubCollections = _a.updateCollectionInSubCollections, exports.addNewCollectionAndNavigate = _a.addNewCollectionAndNavigate, exports.removeCollectionFromSubCollections = _a.removeCollectionFromSubCollections, exports.handleCollectionDeletion = _a.handleCollectionDeletion, exports.resetCollections = _a.resetCollections, exports.handleError = _a.handleError;
164
+ // Export reducer
165
+ exports.default = exports.collectionsSlice.reducer;
166
+ // Selectors
167
+ var selectCurrentCollection = function (state) {
168
+ var _a = state.collections, currentCollectionId = _a.currentCollectionId, collectionsById = _a.collectionsById;
169
+ return currentCollectionId ? collectionsById[currentCollectionId] || null : null;
170
+ };
171
+ exports.selectCurrentCollection = selectCurrentCollection;
172
+ exports.selectSubCollections = (0, toolkit_1.createSelector)([function (state) { return state.collections.currentCollectionId; },
173
+ function (state) { return state.collections.subcollectionsMap; },
174
+ function (state) { return state.collections.collectionsById; }], function (currentCollectionId, subcollectionsMap, collectionsById) {
175
+ if (!currentCollectionId || !subcollectionsMap[currentCollectionId]) {
176
+ return [];
177
+ }
178
+ return subcollectionsMap[currentCollectionId]
179
+ .map(function (collectionId) { return collectionsById[collectionId]; })
180
+ .filter(Boolean); // Remove any undefined entries
181
+ });
182
+ var selectCollectionsLoading = function (state) {
183
+ return state.collections.loading;
184
+ };
185
+ exports.selectCollectionsLoading = selectCollectionsLoading;
186
+ exports.selectCollectionHistory = (0, toolkit_1.createSelector)([function (state) { return state.collections.collectionHistory; },
187
+ function (state) { return state.collections.collectionsById; }], function (collectionHistory, collectionsById) {
188
+ return collectionHistory
189
+ .map(function (collectionId) { return collectionsById[collectionId]; })
190
+ .filter(Boolean); // Remove any undefined entries
191
+ });
192
+ // New selector for the sub-collections mapping
193
+ var selectSubCollectionsMap = function (state) {
194
+ return state.collections.subcollectionsMap;
195
+ };
196
+ exports.selectSubCollectionsMap = selectSubCollectionsMap;
197
+ // New selector for all collections
198
+ var selectCollectionsById = function (state) {
199
+ return state.collections.collectionsById;
200
+ };
201
+ exports.selectCollectionsById = selectCollectionsById;
202
+ var selectCurrentProjectId = function (state) {
203
+ return state.collections.currentProjectId;
204
+ };
205
+ exports.selectCurrentProjectId = selectCurrentProjectId;
206
+ // New selector for current collection ID
207
+ var selectCurrentCollectionId = function (state) {
208
+ return state.collections.currentCollectionId;
209
+ };
210
+ exports.selectCurrentCollectionId = selectCurrentCollectionId;
211
+ //# sourceMappingURL=collectionsSlice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionsSlice.js","sourceRoot":"","sources":["../../../../src/store/slices/collectionsSlice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { useCollectionsActions } from "./useCollectionsActions";
2
+ export { default as useCollections, type UseCollectionsProps, type UseCollectionsValues, } from "./useCollections";
3
+ export { default as useIsEntityInCollection } from "./useIsEntitySaved";
@@ -0,0 +1,5 @@
1
+ // Export Redux-powered collections hooks
2
+ export { useCollectionsActions } from "./useCollectionsActions";
3
+ export { default as useCollections, } from "./useCollections";
4
+ export { default as useIsEntityInCollection } from "./useIsEntitySaved";
5
+ //# 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,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,OAAO,IAAI,cAAc,GAG1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -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;
@@ -36,15 +36,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  };
37
37
  import { useEffect, useMemo, useCallback } from "react";
38
38
  import { useDispatch, useSelector } from "react-redux";
39
- import { setProjectContext, selectCurrentList, selectSubLists, selectListsLoading, selectSubListsMap, selectCurrentProjectId, } from "../../store/slices/listsSlice";
40
- import { useListsActions } from "./useListsActions";
39
+ import { setProjectContext, selectCurrentCollection, selectSubCollections, selectCollectionsLoading, selectSubCollectionsMap, selectCurrentProjectId, } from "../../store/slices/collectionsSlice";
40
+ import { useCollectionsActions } from "./useCollectionsActions";
41
41
  import useProject from "../projects/useProject";
42
42
  import { useUser } from "../user";
43
43
  /**
44
- * Redux-powered hook that provides the exact same interface as useListsData()
44
+ * Redux-powered hook that provides the exact same interface as useCollectionsData()
45
45
  * This is a drop-in replacement for the Context-based hook
46
46
  */
47
- function useLists(_) {
47
+ function useCollections(_) {
48
48
  var _this = this;
49
49
  if (_ === void 0) { _ = {}; }
50
50
  var dispatch = useDispatch();
@@ -52,82 +52,82 @@ function useLists(_) {
52
52
  var projectId = useProject().projectId;
53
53
  var user = useUser().user;
54
54
  // Get Redux state
55
- var currentList = useSelector(function (state) {
56
- return selectCurrentList(state);
55
+ var currentCollection = useSelector(function (state) {
56
+ return selectCurrentCollection(state);
57
57
  });
58
- var subLists = useSelector(function (state) {
59
- return selectSubLists(state);
58
+ var subCollections = useSelector(function (state) {
59
+ return selectSubCollections(state);
60
60
  });
61
61
  var loading = useSelector(function (state) {
62
- return selectListsLoading(state);
62
+ return selectCollectionsLoading(state);
63
63
  });
64
- var subListsMap = useSelector(function (state) {
65
- return selectSubListsMap(state);
64
+ var subCollectionsMap = useSelector(function (state) {
65
+ return selectSubCollectionsMap(state);
66
66
  });
67
- var listsById = useSelector(function (state) {
68
- return state.lists.listsById;
67
+ var collectionsById = useSelector(function (state) {
68
+ return state.collections.collectionsById;
69
69
  });
70
70
  var currentProjectId = useSelector(function (state) {
71
71
  return selectCurrentProjectId(state);
72
72
  });
73
73
  // Get actions
74
- var _a = useListsActions(), openList = _a.openList, goBack = _a.goBack, goToRoot = _a.goToRoot, fetchRootList = _a.fetchRootList, fetchSubLists = _a.fetchSubLists, createListAction = _a.createList, updateListAction = _a.updateList, deleteListAction = _a.deleteList, addToListAction = _a.addToList, removeFromListAction = _a.removeFromList;
74
+ var _a = 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;
75
75
  // Update Redux state when project changes
76
76
  useEffect(function () {
77
77
  if (projectId && projectId !== currentProjectId) {
78
78
  dispatch(setProjectContext(projectId));
79
79
  }
80
80
  }, [dispatch, projectId, currentProjectId]);
81
- // Fetch root list when user and project are available
81
+ // Fetch root collection when user and project are available
82
82
  useEffect(function () {
83
83
  if (!user || !projectId)
84
84
  return;
85
- fetchRootList(projectId);
86
- }, [fetchRootList, user, projectId]);
87
- // Fetch sub-lists when current list changes
85
+ fetchRootCollection(projectId);
86
+ }, [fetchRootCollection, user, projectId]);
87
+ // Fetch sub-collections when current collection changes
88
88
  useEffect(function () {
89
- if (!user || !projectId || !currentList)
89
+ if (!user || !projectId || !currentCollection)
90
90
  return;
91
- // Check if sub-lists for this list are already fetched
92
- if (subListsMap[currentList.id] !== undefined) {
91
+ // Check if sub-collections for this collection are already fetched
92
+ if (subCollectionsMap[currentCollection.id] !== undefined) {
93
93
  return; // No need to fetch, we already have the mapping (even if empty)
94
94
  }
95
- fetchSubLists(projectId, currentList.id);
96
- }, [fetchSubLists, user, projectId, currentList, subListsMap]);
97
- // Entity membership checker - checks if entity is in specified list (or current list if not specified)
98
- var isEntityInList = useCallback(function (selectedEntityId, listId) {
99
- var targetList = listId ? listsById[listId] : currentList;
100
- if (!targetList)
95
+ fetchSubCollections(projectId, currentCollection.id);
96
+ }, [fetchSubCollections, user, projectId, currentCollection, subCollectionsMap]);
97
+ // Entity membership checker - checks if entity is in specified collection (or current collection if not specified)
98
+ var isEntityInCollection = useCallback(function (selectedEntityId, collectionId) {
99
+ var targetCollection = collectionId ? collectionsById[collectionId] : currentCollection;
100
+ if (!targetCollection)
101
101
  return false;
102
- return targetList.entityIds.some(function (entityId) { return entityId === selectedEntityId; });
103
- }, [currentList, listsById]);
102
+ return targetCollection.entityIds.some(function (entityId) { return entityId === selectedEntityId; });
103
+ }, [currentCollection, collectionsById]);
104
104
  // Wrapped CRUD operations that match the original interface
105
- var handleCreateList = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
106
- var listName = _b.listName;
105
+ var handleCreateCollection = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
106
+ var collectionName = _b.collectionName;
107
107
  return __generator(this, function (_c) {
108
108
  switch (_c.label) {
109
109
  case 0:
110
- if (!listName) {
111
- console.error("No listName provided.");
110
+ if (!collectionName) {
111
+ console.error("No collectionName provided.");
112
112
  return [2 /*return*/];
113
113
  }
114
- if (!currentList) {
115
- console.error("No current list.");
114
+ if (!currentCollection) {
115
+ console.error("No current collection.");
116
116
  return [2 /*return*/];
117
117
  }
118
118
  if (!projectId) {
119
119
  console.error("No projectId available.");
120
120
  return [2 /*return*/];
121
121
  }
122
- return [4 /*yield*/, createListAction(projectId, currentList.id, listName)];
122
+ return [4 /*yield*/, createCollectionAction(projectId, currentCollection.id, collectionName)];
123
123
  case 1:
124
124
  _c.sent();
125
125
  return [2 /*return*/];
126
126
  }
127
127
  });
128
- }); }, [createListAction, currentList, projectId]);
129
- var handleUpdateList = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
130
- var listId = _b.listId, update = _b.update;
128
+ }); }, [createCollectionAction, currentCollection, projectId]);
129
+ var handleUpdateCollection = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
130
+ var collectionId = _b.collectionId, update = _b.update;
131
131
  return __generator(this, function (_c) {
132
132
  switch (_c.label) {
133
133
  case 0:
@@ -135,15 +135,15 @@ function useLists(_) {
135
135
  console.error("No projectId available.");
136
136
  return [2 /*return*/];
137
137
  }
138
- return [4 /*yield*/, updateListAction(projectId, listId, update)];
138
+ return [4 /*yield*/, updateCollectionAction(projectId, collectionId, update)];
139
139
  case 1:
140
140
  _c.sent();
141
141
  return [2 /*return*/];
142
142
  }
143
143
  });
144
- }); }, [updateListAction, projectId]);
145
- var handleDeleteList = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
146
- var list = _b.list;
144
+ }); }, [updateCollectionAction, projectId]);
145
+ var handleDeleteCollection = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
146
+ var collection = _b.collection;
147
147
  return __generator(this, function (_c) {
148
148
  switch (_c.label) {
149
149
  case 0:
@@ -151,14 +151,14 @@ function useLists(_) {
151
151
  console.error("No projectId available.");
152
152
  return [2 /*return*/];
153
153
  }
154
- return [4 /*yield*/, deleteListAction(projectId, list)];
154
+ return [4 /*yield*/, deleteCollectionAction(projectId, collection)];
155
155
  case 1:
156
156
  _c.sent();
157
157
  return [2 /*return*/];
158
158
  }
159
159
  });
160
- }); }, [deleteListAction, projectId]);
161
- var handleAddToList = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
160
+ }); }, [deleteCollectionAction, projectId]);
161
+ var handleAddToCollection = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
162
162
  var entityId = _b.entityId;
163
163
  return __generator(this, function (_c) {
164
164
  switch (_c.label) {
@@ -167,69 +167,69 @@ function useLists(_) {
167
167
  console.error("No entityId provided.");
168
168
  return [2 /*return*/];
169
169
  }
170
- if (!currentList) {
171
- console.error("No current list.");
170
+ if (!currentCollection) {
171
+ console.error("No current collection.");
172
172
  return [2 /*return*/];
173
173
  }
174
174
  if (!projectId) {
175
175
  console.error("No projectId available.");
176
176
  return [2 /*return*/];
177
177
  }
178
- return [4 /*yield*/, addToListAction(projectId, currentList.id, entityId)];
178
+ return [4 /*yield*/, addToCollectionAction(projectId, currentCollection.id, entityId)];
179
179
  case 1:
180
180
  _c.sent();
181
181
  return [2 /*return*/];
182
182
  }
183
183
  });
184
- }); }, [addToListAction, currentList, projectId]);
185
- var handleRemoveFromList = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
184
+ }); }, [addToCollectionAction, currentCollection, projectId]);
185
+ var handleRemoveFromCollection = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
186
186
  var entityId = _b.entityId;
187
187
  return __generator(this, function (_c) {
188
188
  switch (_c.label) {
189
189
  case 0:
190
- if (!currentList) {
191
- console.error("No current list.");
190
+ if (!currentCollection) {
191
+ console.error("No current collection.");
192
192
  return [2 /*return*/];
193
193
  }
194
194
  if (!projectId) {
195
195
  console.error("No projectId available.");
196
196
  return [2 /*return*/];
197
197
  }
198
- return [4 /*yield*/, removeFromListAction(projectId, currentList.id, entityId)];
198
+ return [4 /*yield*/, removeFromCollectionAction(projectId, currentCollection.id, entityId)];
199
199
  case 1:
200
200
  _c.sent();
201
201
  return [2 /*return*/];
202
202
  }
203
203
  });
204
- }); }, [removeFromListAction, currentList, projectId]);
204
+ }); }, [removeFromCollectionAction, currentCollection, projectId]);
205
205
  // Return the same interface as the original hook
206
206
  return useMemo(function () { return ({
207
- currentList: currentList,
208
- subLists: subLists,
207
+ currentCollection: currentCollection,
208
+ subCollections: subCollections,
209
209
  loading: loading,
210
- openList: openList,
210
+ openCollection: openCollection,
211
211
  goBack: goBack,
212
212
  goToRoot: goToRoot,
213
- isEntityInList: isEntityInList,
214
- createList: handleCreateList,
215
- updateList: handleUpdateList,
216
- deleteList: handleDeleteList,
217
- addToList: handleAddToList,
218
- removeFromList: handleRemoveFromList,
213
+ isEntityInCollection: isEntityInCollection,
214
+ createCollection: handleCreateCollection,
215
+ updateCollection: handleUpdateCollection,
216
+ deleteCollection: handleDeleteCollection,
217
+ addToCollection: handleAddToCollection,
218
+ removeFromCollection: handleRemoveFromCollection,
219
219
  }); }, [
220
- currentList,
221
- subLists,
220
+ currentCollection,
221
+ subCollections,
222
222
  loading,
223
- openList,
223
+ openCollection,
224
224
  goBack,
225
225
  goToRoot,
226
- isEntityInList,
227
- handleCreateList,
228
- handleUpdateList,
229
- handleDeleteList,
230
- handleAddToList,
231
- handleRemoveFromList,
226
+ isEntityInCollection,
227
+ handleCreateCollection,
228
+ handleUpdateCollection,
229
+ handleDeleteCollection,
230
+ handleAddToCollection,
231
+ handleRemoveFromCollection,
232
232
  ]);
233
233
  }
234
- export default useLists;
235
- //# sourceMappingURL=useLists.js.map
234
+ export default useCollections;
235
+ //# 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;