@bigbinary/neeto-folders-frontend 2.0.20 → 2.0.22
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/README.md +4 -2
- package/dist/cjs/components.js +72 -29
- package/dist/cjs/components.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/components.js +73 -30
- package/dist/components.js.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/{useFolderActions-bZjr1L8D.js → useFolderActions-CEJXB-Ff.js} +19 -7
- package/dist/useFolderActions-CEJXB-Ff.js.map +1 -0
- package/dist/{useFolderActions-DihI8JD6.js → useFolderActions-CtJbeqDs.js} +19 -7
- package/dist/useFolderActions-CtJbeqDs.js.map +1 -0
- package/package.json +10 -10
- package/types.d.ts +13 -0
- package/dist/useFolderActions-DihI8JD6.js.map +0 -1
- package/dist/useFolderActions-bZjr1L8D.js.map +0 -1
package/dist/hooks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { u as useFolder, b as useFolderActions, a as useFolders } from './useFolderActions-
|
|
1
|
+
export { u as useFolder, b as useFolderActions, a as useFolders } from './useFolderActions-CtJbeqDs.js';
|
|
2
2
|
import '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import 'i18next';
|
|
4
4
|
import '@bigbinary/neeto-cist';
|
|
@@ -101,7 +101,15 @@ var DEFAULT_CONFIG = {
|
|
|
101
101
|
// rearrange | reorder
|
|
102
102
|
labels: DEFAULT_LABELS,
|
|
103
103
|
params: {},
|
|
104
|
-
api: DEFAULT_API
|
|
104
|
+
api: DEFAULT_API,
|
|
105
|
+
folderActions: {
|
|
106
|
+
moreMenuItems: [],
|
|
107
|
+
addMenuItems: []
|
|
108
|
+
},
|
|
109
|
+
itemActions: {
|
|
110
|
+
moreMenuItems: [],
|
|
111
|
+
addMenuItems: []
|
|
112
|
+
}
|
|
105
113
|
};
|
|
106
114
|
|
|
107
115
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -150,12 +158,15 @@ var useFolderActions = function useFolderActions(config) {
|
|
|
150
158
|
};
|
|
151
159
|
}, shallow.shallow),
|
|
152
160
|
setFolderState = _useFolderStore.setFolderState;
|
|
161
|
+
var _useUpdateFolder = useUpdateFolder(config),
|
|
162
|
+
onUpdate = _useUpdateFolder.mutateAsync,
|
|
163
|
+
isUpdating = _useUpdateFolder.isPending;
|
|
153
164
|
var _useBulkUpdateFolders = useBulkUpdateFolders(config),
|
|
154
165
|
onBulkUpdate = _useBulkUpdateFolders.mutateAsync,
|
|
155
|
-
|
|
166
|
+
isBulkUpdating = _useBulkUpdateFolders.isPending;
|
|
156
167
|
var _useBulkDestroyFolder = useBulkDestroyFolders(config),
|
|
157
168
|
onBulkDelete = _useBulkDestroyFolder.mutateAsync,
|
|
158
|
-
|
|
169
|
+
isBulkDeleting = _useBulkDestroyFolder.isPending;
|
|
159
170
|
var onInvalidate = function onInvalidate() {
|
|
160
171
|
queryClient.invalidateQueries({
|
|
161
172
|
queryKey: [constants.QUERY_KEYS.FOLDERS, config.type]
|
|
@@ -201,7 +212,7 @@ var useFolderActions = function useFolderActions(config) {
|
|
|
201
212
|
}
|
|
202
213
|
});
|
|
203
214
|
};
|
|
204
|
-
var isPending = isUpdating ||
|
|
215
|
+
var isPending = isUpdating || isBulkUpdating || isBulkDeleting;
|
|
205
216
|
return {
|
|
206
217
|
isPending: isPending,
|
|
207
218
|
onAdd: onAdd,
|
|
@@ -209,9 +220,10 @@ var useFolderActions = function useFolderActions(config) {
|
|
|
209
220
|
onMove: onMove,
|
|
210
221
|
onDelete: onDelete,
|
|
211
222
|
onReorder: onReorder,
|
|
212
|
-
|
|
223
|
+
onUpdate: onUpdate,
|
|
213
224
|
onBulkUpdate: onBulkUpdate,
|
|
214
|
-
onBulkDelete: onBulkDelete
|
|
225
|
+
onBulkDelete: onBulkDelete,
|
|
226
|
+
onInvalidate: onInvalidate
|
|
215
227
|
};
|
|
216
228
|
};
|
|
217
229
|
|
|
@@ -225,4 +237,4 @@ exports.useFolderStore = useFolderStore;
|
|
|
225
237
|
exports.useFolders = useFolders;
|
|
226
238
|
exports.useReorderFolders = useReorderFolders;
|
|
227
239
|
exports.useUpdateFolder = useUpdateFolder;
|
|
228
|
-
//# sourceMappingURL=useFolderActions-
|
|
240
|
+
//# sourceMappingURL=useFolderActions-CEJXB-Ff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFolderActions-CEJXB-Ff.js","sources":["../app/javascript/src/hooks/reactQuery/useFoldersApi.js","../app/javascript/src/constants/config.js","../app/javascript/src/hooks/useFolders.js","../app/javascript/src/stores/foldersStore.js","../app/javascript/src/hooks/useFolder.js","../app/javascript/src/hooks/useFolderActions.js"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport { QUERY_KEYS } from \"constants/query\";\n\nexport const useFetchFolders = config =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.LIST,\n isPresent(config.params) ? config.params : null,\n ],\n queryFn: () => config.api.fetch(config.params),\n });\n\nexport const useShowFolder = (config, folderId) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.DETAILS,\n folderId,\n config.params,\n ],\n queryFn: () => config.api.get(folderId, config.params),\n enabled: !!folderId,\n });\n\nexport const useCreateFolder = config =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useUpdateFolder = config => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: config.api.update,\n onSuccess: ({ sid }, { initialSlug }) => {\n if (initialSlug !== sid) {\n queryClient.removeQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n } else {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n }\n },\n });\n};\n\nexport const useReorderFolders = config =>\n useMutationWithInvalidation(config.api.reorder, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useDestroyFolder = config =>\n useMutationWithInvalidation(config.api.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST]],\n });\n\nexport const useBulkUpdateFolders = config =>\n useMutationWithInvalidation(config.api.bulkUpdate, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useBulkDestroyFolders = config =>\n useMutationWithInvalidation(config.api.bulkDestroy, {\n keysToInvalidate: [\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST],\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ].concat(config.invalidationKeys),\n });\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\n\nconst DEFAULT_LABELS = {\n folder: t(\"common.folder\"),\n folders: t(\"common.folders\"),\n item: t(\"common.item\"),\n items: t(\"common.items\"),\n};\n\nconst DEFAULT_API = {\n // Folder CRUD\n fetch: noop,\n get: noop,\n create: noop,\n update: noop,\n destroy: noop,\n bulkUpdate: noop,\n bulkDestroy: noop,\n};\n\nexport const DEFAULT_CONFIG = {\n type: \"FOLDER\", // For query keys with different associated entities\n maxDepth: 2, // Maximum allowed depth for folder tree\n folderPath: \"/folders/:folderId\", // Path for handling URL redirections\n invalidationKeys: [], // For invalidation purposes\n reorderMode: \"rearrange\", // rearrange | reorder\n labels: DEFAULT_LABELS,\n params: {},\n api: DEFAULT_API,\n folderActions: { moreMenuItems: [], addMenuItems: [] },\n itemActions: { moreMenuItems: [], addMenuItems: [] },\n};\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\n\nconst useFolders = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const { data: folders, isLoading } = useFetchFolders(config);\n\n return { isLoading, folders };\n};\n\nexport default useFolders;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useFolderStore = create(\n withImmutableActions(set => ({\n paneState: null,\n alertState: null,\n selectedItem: null,\n setFolderState: set,\n }))\n);\n\nexport default useFolderStore;\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useShowFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nconst useFolder = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const folderId = getActiveFolderId(config);\n\n const { data: folder, isFetching } = useShowFolder(config, folderId);\n\n return {\n isLoading: isFetching && folder?.slug !== folderId,\n folderId,\n folder,\n };\n};\n\nexport default useFolder;\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nimport { QUERY_KEYS } from \"constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport {\n useUpdateFolder,\n useBulkUpdateFolders,\n useBulkDestroyFolders,\n} from \"./reactQuery/useFoldersApi\";\n\nconst useFolderActions = config => {\n const queryClient = useQueryClient();\n const { setFolderState } = useFolderStore.pick();\n\n const { mutateAsync: onUpdate, isPending: isUpdating } =\n useUpdateFolder(config);\n\n const { mutateAsync: onBulkUpdate, isPending: isBulkUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isBulkDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = () =>\n setFolderState({ paneState: { type: \"add\", item: null } });\n\n const onEdit = item => setFolderState({ paneState: { type: \"edit\", item } });\n\n const onMove = item => setFolderState({ paneState: { type: \"move\", item } });\n\n const onDelete = item =>\n setFolderState({ alertState: { type: \"delete\", item } });\n\n const onReorder = () =>\n setFolderState({ paneState: { type: \"reorder\", item: null } });\n\n const isPending = isUpdating || isBulkUpdating || isBulkDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onUpdate,\n onBulkUpdate,\n onBulkDelete,\n onInvalidate,\n };\n};\n\nexport default useFolderActions;\n"],"names":["useFetchFolders","config","useQuery","queryKey","QUERY_KEYS","FOLDERS","type","LIST","isPresent","params","queryFn","api","fetch","useShowFolder","folderId","DETAILS","get","enabled","useCreateFolder","useMutationWithInvalidation","create","keysToInvalidate","useUpdateFolder","queryClient","useQueryClient","useMutation","mutationFn","update","onSuccess","_ref","_ref2","sid","initialSlug","removeQueries","invalidateQueries","useReorderFolders","reorder","useDestroyFolder","destroy","useBulkUpdateFolders","bulkUpdate","useBulkDestroyFolders","bulkDestroy","concat","invalidationKeys","DEFAULT_LABELS","folder","t","folders","item","items","DEFAULT_API","noop","DEFAULT_CONFIG","maxDepth","folderPath","reorderMode","labels","folderActions","moreMenuItems","addMenuItems","itemActions","useFolders","configArg","_objectSpread","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","_useFolderStore","store","shallow","_useUpdateFolder","onUpdate","mutateAsync","isUpdating","isPending","_useBulkUpdateFolders","onBulkUpdate","isBulkUpdating","_useBulkDestroyFolder","onBulkDelete","isBulkDeleting","onInvalidate","onAdd","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
|
|
@@ -99,7 +99,15 @@ var DEFAULT_CONFIG = {
|
|
|
99
99
|
// rearrange | reorder
|
|
100
100
|
labels: DEFAULT_LABELS,
|
|
101
101
|
params: {},
|
|
102
|
-
api: DEFAULT_API
|
|
102
|
+
api: DEFAULT_API,
|
|
103
|
+
folderActions: {
|
|
104
|
+
moreMenuItems: [],
|
|
105
|
+
addMenuItems: []
|
|
106
|
+
},
|
|
107
|
+
itemActions: {
|
|
108
|
+
moreMenuItems: [],
|
|
109
|
+
addMenuItems: []
|
|
110
|
+
}
|
|
103
111
|
};
|
|
104
112
|
|
|
105
113
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -148,12 +156,15 @@ var useFolderActions = function useFolderActions(config) {
|
|
|
148
156
|
};
|
|
149
157
|
}, shallow),
|
|
150
158
|
setFolderState = _useFolderStore.setFolderState;
|
|
159
|
+
var _useUpdateFolder = useUpdateFolder(config),
|
|
160
|
+
onUpdate = _useUpdateFolder.mutateAsync,
|
|
161
|
+
isUpdating = _useUpdateFolder.isPending;
|
|
151
162
|
var _useBulkUpdateFolders = useBulkUpdateFolders(config),
|
|
152
163
|
onBulkUpdate = _useBulkUpdateFolders.mutateAsync,
|
|
153
|
-
|
|
164
|
+
isBulkUpdating = _useBulkUpdateFolders.isPending;
|
|
154
165
|
var _useBulkDestroyFolder = useBulkDestroyFolders(config),
|
|
155
166
|
onBulkDelete = _useBulkDestroyFolder.mutateAsync,
|
|
156
|
-
|
|
167
|
+
isBulkDeleting = _useBulkDestroyFolder.isPending;
|
|
157
168
|
var onInvalidate = function onInvalidate() {
|
|
158
169
|
queryClient.invalidateQueries({
|
|
159
170
|
queryKey: [QUERY_KEYS.FOLDERS, config.type]
|
|
@@ -199,7 +210,7 @@ var useFolderActions = function useFolderActions(config) {
|
|
|
199
210
|
}
|
|
200
211
|
});
|
|
201
212
|
};
|
|
202
|
-
var isPending = isUpdating ||
|
|
213
|
+
var isPending = isUpdating || isBulkUpdating || isBulkDeleting;
|
|
203
214
|
return {
|
|
204
215
|
isPending: isPending,
|
|
205
216
|
onAdd: onAdd,
|
|
@@ -207,11 +218,12 @@ var useFolderActions = function useFolderActions(config) {
|
|
|
207
218
|
onMove: onMove,
|
|
208
219
|
onDelete: onDelete,
|
|
209
220
|
onReorder: onReorder,
|
|
210
|
-
|
|
221
|
+
onUpdate: onUpdate,
|
|
211
222
|
onBulkUpdate: onBulkUpdate,
|
|
212
|
-
onBulkDelete: onBulkDelete
|
|
223
|
+
onBulkDelete: onBulkDelete,
|
|
224
|
+
onInvalidate: onInvalidate
|
|
213
225
|
};
|
|
214
226
|
};
|
|
215
227
|
|
|
216
228
|
export { DEFAULT_CONFIG as D, useFolders as a, useFolderActions as b, useFolderStore as c, useDestroyFolder as d, useFetchFolders as e, useCreateFolder as f, useUpdateFolder as g, useReorderFolders as h, useFolder as u };
|
|
217
|
-
//# sourceMappingURL=useFolderActions-
|
|
229
|
+
//# sourceMappingURL=useFolderActions-CtJbeqDs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFolderActions-CtJbeqDs.js","sources":["../app/javascript/src/hooks/reactQuery/useFoldersApi.js","../app/javascript/src/constants/config.js","../app/javascript/src/hooks/useFolders.js","../app/javascript/src/stores/foldersStore.js","../app/javascript/src/hooks/useFolder.js","../app/javascript/src/hooks/useFolderActions.js"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport { QUERY_KEYS } from \"constants/query\";\n\nexport const useFetchFolders = config =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.LIST,\n isPresent(config.params) ? config.params : null,\n ],\n queryFn: () => config.api.fetch(config.params),\n });\n\nexport const useShowFolder = (config, folderId) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.DETAILS,\n folderId,\n config.params,\n ],\n queryFn: () => config.api.get(folderId, config.params),\n enabled: !!folderId,\n });\n\nexport const useCreateFolder = config =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useUpdateFolder = config => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: config.api.update,\n onSuccess: ({ sid }, { initialSlug }) => {\n if (initialSlug !== sid) {\n queryClient.removeQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n } else {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n }\n },\n });\n};\n\nexport const useReorderFolders = config =>\n useMutationWithInvalidation(config.api.reorder, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useDestroyFolder = config =>\n useMutationWithInvalidation(config.api.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST]],\n });\n\nexport const useBulkUpdateFolders = config =>\n useMutationWithInvalidation(config.api.bulkUpdate, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useBulkDestroyFolders = config =>\n useMutationWithInvalidation(config.api.bulkDestroy, {\n keysToInvalidate: [\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST],\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ].concat(config.invalidationKeys),\n });\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\n\nconst DEFAULT_LABELS = {\n folder: t(\"common.folder\"),\n folders: t(\"common.folders\"),\n item: t(\"common.item\"),\n items: t(\"common.items\"),\n};\n\nconst DEFAULT_API = {\n // Folder CRUD\n fetch: noop,\n get: noop,\n create: noop,\n update: noop,\n destroy: noop,\n bulkUpdate: noop,\n bulkDestroy: noop,\n};\n\nexport const DEFAULT_CONFIG = {\n type: \"FOLDER\", // For query keys with different associated entities\n maxDepth: 2, // Maximum allowed depth for folder tree\n folderPath: \"/folders/:folderId\", // Path for handling URL redirections\n invalidationKeys: [], // For invalidation purposes\n reorderMode: \"rearrange\", // rearrange | reorder\n labels: DEFAULT_LABELS,\n params: {},\n api: DEFAULT_API,\n folderActions: { moreMenuItems: [], addMenuItems: [] },\n itemActions: { moreMenuItems: [], addMenuItems: [] },\n};\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\n\nconst useFolders = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const { data: folders, isLoading } = useFetchFolders(config);\n\n return { isLoading, folders };\n};\n\nexport default useFolders;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useFolderStore = create(\n withImmutableActions(set => ({\n paneState: null,\n alertState: null,\n selectedItem: null,\n setFolderState: set,\n }))\n);\n\nexport default useFolderStore;\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useShowFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nconst useFolder = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const folderId = getActiveFolderId(config);\n\n const { data: folder, isFetching } = useShowFolder(config, folderId);\n\n return {\n isLoading: isFetching && folder?.slug !== folderId,\n folderId,\n folder,\n };\n};\n\nexport default useFolder;\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nimport { QUERY_KEYS } from \"constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport {\n useUpdateFolder,\n useBulkUpdateFolders,\n useBulkDestroyFolders,\n} from \"./reactQuery/useFoldersApi\";\n\nconst useFolderActions = config => {\n const queryClient = useQueryClient();\n const { setFolderState } = useFolderStore.pick();\n\n const { mutateAsync: onUpdate, isPending: isUpdating } =\n useUpdateFolder(config);\n\n const { mutateAsync: onBulkUpdate, isPending: isBulkUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isBulkDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = () =>\n setFolderState({ paneState: { type: \"add\", item: null } });\n\n const onEdit = item => setFolderState({ paneState: { type: \"edit\", item } });\n\n const onMove = item => setFolderState({ paneState: { type: \"move\", item } });\n\n const onDelete = item =>\n setFolderState({ alertState: { type: \"delete\", item } });\n\n const onReorder = () =>\n setFolderState({ paneState: { type: \"reorder\", item: null } });\n\n const isPending = isUpdating || isBulkUpdating || isBulkDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onUpdate,\n onBulkUpdate,\n onBulkDelete,\n onInvalidate,\n };\n};\n\nexport default useFolderActions;\n"],"names":["useFetchFolders","config","useQuery","queryKey","QUERY_KEYS","FOLDERS","type","LIST","isPresent","params","queryFn","api","fetch","useShowFolder","folderId","DETAILS","get","enabled","useCreateFolder","useMutationWithInvalidation","create","keysToInvalidate","useUpdateFolder","queryClient","useQueryClient","useMutation","mutationFn","update","onSuccess","_ref","_ref2","sid","initialSlug","removeQueries","invalidateQueries","useReorderFolders","reorder","useDestroyFolder","destroy","useBulkUpdateFolders","bulkUpdate","useBulkDestroyFolders","bulkDestroy","concat","invalidationKeys","DEFAULT_LABELS","folder","t","folders","item","items","DEFAULT_API","noop","DEFAULT_CONFIG","maxDepth","folderPath","reorderMode","labels","folderActions","moreMenuItems","addMenuItems","itemActions","useFolders","configArg","_objectSpread","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","_useFolderStore","store","shallow","_useUpdateFolder","onUpdate","mutateAsync","isUpdating","isPending","_useBulkUpdateFolders","onBulkUpdate","isBulkUpdating","_useBulkDestroyFolder","onBulkDelete","isBulkDeleting","onInvalidate","onAdd","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-folders-frontend",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.22",
|
|
4
4
|
"description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-folders-nano",
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
63
63
|
"@bigbinary/eslint-plugin-neeto": "1.7.0",
|
|
64
64
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
65
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
65
|
+
"@bigbinary/neeto-commons-frontend": "4.13.51",
|
|
66
66
|
"@bigbinary/neeto-filters-frontend": "4.3.23",
|
|
67
67
|
"@bigbinary/neeto-hotkeys": "1.0.9",
|
|
68
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
69
|
-
"@bigbinary/neeto-molecules": "3.16.
|
|
70
|
-
"@bigbinary/neetoui": "8.3.
|
|
68
|
+
"@bigbinary/neeto-icons": "1.20.54",
|
|
69
|
+
"@bigbinary/neeto-molecules": "3.16.96",
|
|
70
|
+
"@bigbinary/neetoui": "8.3.19",
|
|
71
71
|
"@emotion/is-prop-valid": "1.2.0",
|
|
72
72
|
"@faker-js/faker": "8.2.0",
|
|
73
73
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"postcss-loader": "^7.0.1",
|
|
134
134
|
"postcss-preset-env": "7.8.2",
|
|
135
135
|
"prettier": "3",
|
|
136
|
-
"prettier-plugin-tailwindcss": "0.
|
|
136
|
+
"prettier-plugin-tailwindcss": "0.6.14",
|
|
137
137
|
"process": "0.11.10",
|
|
138
138
|
"qs": "^6.11.2",
|
|
139
139
|
"ramda": "0.29.0",
|
|
@@ -172,12 +172,12 @@
|
|
|
172
172
|
"peerDependencies": {
|
|
173
173
|
"@babel/runtime": "7.26.10",
|
|
174
174
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
175
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
175
|
+
"@bigbinary/neeto-commons-frontend": "4.13.51",
|
|
176
176
|
"@bigbinary/neeto-filters-frontend": "4.3.23",
|
|
177
177
|
"@bigbinary/neeto-hotkeys": "1.0.9",
|
|
178
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
179
|
-
"@bigbinary/neeto-molecules": "3.16.
|
|
180
|
-
"@bigbinary/neetoui": "8.3.
|
|
178
|
+
"@bigbinary/neeto-icons": "1.20.54",
|
|
179
|
+
"@bigbinary/neeto-molecules": "3.16.96",
|
|
180
|
+
"@bigbinary/neetoui": "8.3.19",
|
|
181
181
|
"@honeybadger-io/js": "6.10.1",
|
|
182
182
|
"@honeybadger-io/react": "6.1.25",
|
|
183
183
|
"@tailwindcss/container-queries": "^0.1.1",
|
package/types.d.ts
CHANGED
|
@@ -9,6 +9,17 @@ interface Labels {
|
|
|
9
9
|
items?: string;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
interface MenuItem {
|
|
13
|
+
key: string;
|
|
14
|
+
label: string;
|
|
15
|
+
onClick: (event: any) => void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface EntityActions {
|
|
19
|
+
getMoreActions?: (node: any) => MenuItem[];
|
|
20
|
+
getAddActions?: (node: any) => MenuItem[];
|
|
21
|
+
}
|
|
22
|
+
|
|
12
23
|
interface Item {
|
|
13
24
|
id: string;
|
|
14
25
|
sid: string;
|
|
@@ -26,6 +37,8 @@ interface Config {
|
|
|
26
37
|
labels: Labels;
|
|
27
38
|
params: { [key: string]: any };
|
|
28
39
|
items?: Item[];
|
|
40
|
+
folderActions?: EntityActions;
|
|
41
|
+
itemActions?: EntityActions;
|
|
29
42
|
api: {
|
|
30
43
|
fetch: ApiMethod;
|
|
31
44
|
get: ApiMethod;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFolderActions-DihI8JD6.js","sources":["../app/javascript/src/hooks/reactQuery/useFoldersApi.js","../app/javascript/src/constants/config.js","../app/javascript/src/hooks/useFolders.js","../app/javascript/src/stores/foldersStore.js","../app/javascript/src/hooks/useFolder.js","../app/javascript/src/hooks/useFolderActions.js"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport { QUERY_KEYS } from \"constants/query\";\n\nexport const useFetchFolders = config =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.LIST,\n isPresent(config.params) ? config.params : null,\n ],\n queryFn: () => config.api.fetch(config.params),\n });\n\nexport const useShowFolder = (config, folderId) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.DETAILS,\n folderId,\n config.params,\n ],\n queryFn: () => config.api.get(folderId, config.params),\n enabled: !!folderId,\n });\n\nexport const useCreateFolder = config =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useUpdateFolder = config => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: config.api.update,\n onSuccess: ({ sid }, { initialSlug }) => {\n if (initialSlug !== sid) {\n queryClient.removeQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n } else {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n }\n },\n });\n};\n\nexport const useReorderFolders = config =>\n useMutationWithInvalidation(config.api.reorder, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useDestroyFolder = config =>\n useMutationWithInvalidation(config.api.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST]],\n });\n\nexport const useBulkUpdateFolders = config =>\n useMutationWithInvalidation(config.api.bulkUpdate, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useBulkDestroyFolders = config =>\n useMutationWithInvalidation(config.api.bulkDestroy, {\n keysToInvalidate: [\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST],\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ].concat(config.invalidationKeys),\n });\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\n\nconst DEFAULT_LABELS = {\n folder: t(\"common.folder\"),\n folders: t(\"common.folders\"),\n item: t(\"common.item\"),\n items: t(\"common.items\"),\n};\n\nconst DEFAULT_API = {\n // Folder CRUD\n fetch: noop,\n get: noop,\n create: noop,\n update: noop,\n destroy: noop,\n bulkUpdate: noop,\n bulkDestroy: noop,\n};\n\nexport const DEFAULT_CONFIG = {\n type: \"FOLDER\", // For query keys with different associated entities\n maxDepth: 2, // Maximum allowed depth for folder tree\n folderPath: \"/folders/:folderId\", // Path for handling URL redirections\n invalidationKeys: [], // For invalidation purposes\n reorderMode: \"rearrange\", // rearrange | reorder\n labels: DEFAULT_LABELS,\n params: {},\n api: DEFAULT_API,\n};\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\n\nconst useFolders = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const { data: folders, isLoading } = useFetchFolders(config);\n\n return { isLoading, folders };\n};\n\nexport default useFolders;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useFolderStore = create(\n withImmutableActions(set => ({\n paneState: null,\n alertState: null,\n selectedItem: null,\n setFolderState: set,\n }))\n);\n\nexport default useFolderStore;\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useShowFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nconst useFolder = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const folderId = getActiveFolderId(config);\n\n const { data: folder, isFetching } = useShowFolder(config, folderId);\n\n return {\n isLoading: isFetching && folder?.slug !== folderId,\n folderId,\n folder,\n };\n};\n\nexport default useFolder;\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nimport { QUERY_KEYS } from \"constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport {\n useBulkUpdateFolders,\n useBulkDestroyFolders,\n} from \"./reactQuery/useFoldersApi\";\n\nconst useFolderActions = config => {\n const queryClient = useQueryClient();\n const { setFolderState } = useFolderStore.pick();\n\n const { mutateAsync: onBulkUpdate, isPending: isUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = () =>\n setFolderState({ paneState: { type: \"add\", item: null } });\n\n const onEdit = item => setFolderState({ paneState: { type: \"edit\", item } });\n\n const onMove = item => setFolderState({ paneState: { type: \"move\", item } });\n\n const onDelete = item =>\n setFolderState({ alertState: { type: \"delete\", item } });\n\n const onReorder = () =>\n setFolderState({ paneState: { type: \"reorder\", item: null } });\n\n const isPending = isUpdating || isDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onInvalidate,\n onBulkUpdate,\n onBulkDelete,\n };\n};\n\nexport default useFolderActions;\n"],"names":["useFetchFolders","config","useQuery","queryKey","QUERY_KEYS","FOLDERS","type","LIST","isPresent","params","queryFn","api","fetch","useShowFolder","folderId","DETAILS","get","enabled","useCreateFolder","useMutationWithInvalidation","create","keysToInvalidate","useUpdateFolder","queryClient","useQueryClient","useMutation","mutationFn","update","onSuccess","_ref","_ref2","sid","initialSlug","removeQueries","invalidateQueries","useReorderFolders","reorder","useDestroyFolder","destroy","useBulkUpdateFolders","bulkUpdate","useBulkDestroyFolders","bulkDestroy","concat","invalidationKeys","DEFAULT_LABELS","folder","t","folders","item","items","DEFAULT_API","noop","DEFAULT_CONFIG","maxDepth","folderPath","reorderMode","labels","useFolders","configArg","_objectSpread","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","_useFolderStore","store","shallow","_useBulkUpdateFolders","onBulkUpdate","mutateAsync","isUpdating","isPending","_useBulkDestroyFolder","onBulkDelete","isDeleting","onInvalidate","onAdd","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFolderActions-bZjr1L8D.js","sources":["../app/javascript/src/hooks/reactQuery/useFoldersApi.js","../app/javascript/src/constants/config.js","../app/javascript/src/hooks/useFolders.js","../app/javascript/src/stores/foldersStore.js","../app/javascript/src/hooks/useFolder.js","../app/javascript/src/hooks/useFolderActions.js"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport { QUERY_KEYS } from \"constants/query\";\n\nexport const useFetchFolders = config =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.LIST,\n isPresent(config.params) ? config.params : null,\n ],\n queryFn: () => config.api.fetch(config.params),\n });\n\nexport const useShowFolder = (config, folderId) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.DETAILS,\n folderId,\n config.params,\n ],\n queryFn: () => config.api.get(folderId, config.params),\n enabled: !!folderId,\n });\n\nexport const useCreateFolder = config =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useUpdateFolder = config => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: config.api.update,\n onSuccess: ({ sid }, { initialSlug }) => {\n if (initialSlug !== sid) {\n queryClient.removeQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n } else {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n }\n },\n });\n};\n\nexport const useReorderFolders = config =>\n useMutationWithInvalidation(config.api.reorder, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useDestroyFolder = config =>\n useMutationWithInvalidation(config.api.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST]],\n });\n\nexport const useBulkUpdateFolders = config =>\n useMutationWithInvalidation(config.api.bulkUpdate, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useBulkDestroyFolders = config =>\n useMutationWithInvalidation(config.api.bulkDestroy, {\n keysToInvalidate: [\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST],\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ].concat(config.invalidationKeys),\n });\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\n\nconst DEFAULT_LABELS = {\n folder: t(\"common.folder\"),\n folders: t(\"common.folders\"),\n item: t(\"common.item\"),\n items: t(\"common.items\"),\n};\n\nconst DEFAULT_API = {\n // Folder CRUD\n fetch: noop,\n get: noop,\n create: noop,\n update: noop,\n destroy: noop,\n bulkUpdate: noop,\n bulkDestroy: noop,\n};\n\nexport const DEFAULT_CONFIG = {\n type: \"FOLDER\", // For query keys with different associated entities\n maxDepth: 2, // Maximum allowed depth for folder tree\n folderPath: \"/folders/:folderId\", // Path for handling URL redirections\n invalidationKeys: [], // For invalidation purposes\n reorderMode: \"rearrange\", // rearrange | reorder\n labels: DEFAULT_LABELS,\n params: {},\n api: DEFAULT_API,\n};\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\n\nconst useFolders = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const { data: folders, isLoading } = useFetchFolders(config);\n\n return { isLoading, folders };\n};\n\nexport default useFolders;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useFolderStore = create(\n withImmutableActions(set => ({\n paneState: null,\n alertState: null,\n selectedItem: null,\n setFolderState: set,\n }))\n);\n\nexport default useFolderStore;\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useShowFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nconst useFolder = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const folderId = getActiveFolderId(config);\n\n const { data: folder, isFetching } = useShowFolder(config, folderId);\n\n return {\n isLoading: isFetching && folder?.slug !== folderId,\n folderId,\n folder,\n };\n};\n\nexport default useFolder;\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nimport { QUERY_KEYS } from \"constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport {\n useBulkUpdateFolders,\n useBulkDestroyFolders,\n} from \"./reactQuery/useFoldersApi\";\n\nconst useFolderActions = config => {\n const queryClient = useQueryClient();\n const { setFolderState } = useFolderStore.pick();\n\n const { mutateAsync: onBulkUpdate, isPending: isUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = () =>\n setFolderState({ paneState: { type: \"add\", item: null } });\n\n const onEdit = item => setFolderState({ paneState: { type: \"edit\", item } });\n\n const onMove = item => setFolderState({ paneState: { type: \"move\", item } });\n\n const onDelete = item =>\n setFolderState({ alertState: { type: \"delete\", item } });\n\n const onReorder = () =>\n setFolderState({ paneState: { type: \"reorder\", item: null } });\n\n const isPending = isUpdating || isDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onInvalidate,\n onBulkUpdate,\n onBulkDelete,\n };\n};\n\nexport default useFolderActions;\n"],"names":["useFetchFolders","config","useQuery","queryKey","QUERY_KEYS","FOLDERS","type","LIST","isPresent","params","queryFn","api","fetch","useShowFolder","folderId","DETAILS","get","enabled","useCreateFolder","useMutationWithInvalidation","create","keysToInvalidate","useUpdateFolder","queryClient","useQueryClient","useMutation","mutationFn","update","onSuccess","_ref","_ref2","sid","initialSlug","removeQueries","invalidateQueries","useReorderFolders","reorder","useDestroyFolder","destroy","useBulkUpdateFolders","bulkUpdate","useBulkDestroyFolders","bulkDestroy","concat","invalidationKeys","DEFAULT_LABELS","folder","t","folders","item","items","DEFAULT_API","noop","DEFAULT_CONFIG","maxDepth","folderPath","reorderMode","labels","useFolders","configArg","_objectSpread","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","_useFolderStore","store","shallow","_useBulkUpdateFolders","onBulkUpdate","mutateAsync","isUpdating","isPending","_useBulkDestroyFolder","onBulkDelete","isDeleting","onInvalidate","onAdd","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
|