@payloadcms/ui 3.80.0-internal.21e9c47 → 3.80.0-internal.8d9ec7c
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/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +49 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +384 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -0
- package/dist/elements/Combobox/index.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +1 -0
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/HierarchyColumnBrowser/index.d.ts +1 -1
- package/dist/elements/HierarchyColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/HierarchyColumnBrowser/index.js +6 -3
- package/dist/elements/HierarchyColumnBrowser/index.js.map +1 -1
- package/dist/elements/HierarchyColumnBrowser/types.d.ts +3 -0
- package/dist/elements/HierarchyColumnBrowser/types.d.ts.map +1 -1
- package/dist/elements/HierarchyColumnBrowser/types.js.map +1 -1
- package/dist/elements/HierarchyDrawer/Drawer/index.d.ts +1 -1
- package/dist/elements/HierarchyDrawer/Drawer/index.d.ts.map +1 -1
- package/dist/elements/HierarchyDrawer/Drawer/index.js +2 -0
- package/dist/elements/HierarchyDrawer/Drawer/index.js.map +1 -1
- package/dist/elements/HierarchyDrawer/index.d.ts.map +1 -1
- package/dist/elements/HierarchyDrawer/index.js +4 -2
- package/dist/elements/HierarchyDrawer/index.js.map +1 -1
- package/dist/elements/HierarchyDrawer/types.d.ts +3 -0
- package/dist/elements/HierarchyDrawer/types.d.ts.map +1 -1
- package/dist/elements/HierarchyDrawer/types.js.map +1 -1
- package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts +1 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/HierarchyTree/HierarchySidebarTab.js +47 -36
- package/dist/elements/HierarchyTree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js +14 -5
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/HierarchyTree/index.d.ts.map +1 -1
- package/dist/elements/HierarchyTree/index.js +2 -0
- package/dist/elements/HierarchyTree/index.js.map +1 -1
- package/dist/elements/HierarchyTree/types.d.ts +3 -1
- package/dist/elements/HierarchyTree/types.d.ts.map +1 -1
- package/dist/elements/HierarchyTree/types.js.map +1 -1
- package/dist/elements/HydrateHierarchyProvider/index.d.ts.map +1 -1
- package/dist/elements/HydrateHierarchyProvider/index.js +22 -19
- package/dist/elements/HydrateHierarchyProvider/index.js.map +1 -1
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +3 -1
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.d.ts +4 -0
- package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +4 -2
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.spec.js +46 -0
- package/dist/elements/Toasts/fieldErrors.spec.js.map +1 -0
- package/dist/elements/Tree/TreeNode/index.d.ts +1 -1
- package/dist/elements/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Tree/TreeNode/index.js +3 -0
- package/dist/elements/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Tree/index.d.ts.map +1 -1
- package/dist/elements/Tree/index.js +54 -42
- package/dist/elements/Tree/index.js.map +1 -1
- package/dist/elements/Tree/types.d.ts +3 -0
- package/dist/elements/Tree/types.d.ts.map +1 -1
- package/dist/elements/Tree/types.js.map +1 -1
- package/dist/elements/Tree/useChildren.d.ts +4 -1
- package/dist/elements/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Tree/useChildren.js +8 -8
- package/dist/elements/Tree/useChildren.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +8 -6
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +2 -5
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/exports/client/{DatePicker-CL2EGBVQ.js → DatePicker-T2DMDMM5.js} +2 -2
- package/dist/exports/client/chunk-WDZJLNNB.js +29 -0
- package/dist/exports/client/{chunk-SH42NW5R.js.map → chunk-WDZJLNNB.js.map} +4 -4
- package/dist/exports/client/index.js +14 -14
- package/dist/exports/client/index.js.map +4 -4
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +12 -3
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Hierarchy/types.d.ts +5 -1
- package/dist/providers/Hierarchy/types.d.ts.map +1 -1
- package/dist/providers/Hierarchy/types.js.map +1 -1
- package/dist/views/Edit/index.js +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +6 -2
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +19 -18
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +3 -1
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/exports/client/chunk-SH42NW5R.js +0 -29
- /package/dist/exports/client/{DatePicker-CL2EGBVQ.js.map → DatePicker-T2DMDMM5.js.map} +0 -0
|
@@ -12,8 +12,9 @@ import { useHierarchy } from '../../providers/Hierarchy/index.js';
|
|
|
12
12
|
import { useRouteTransition } from '../../providers/RouteTransition/index.js';
|
|
13
13
|
import { HierarchyTree } from './index.js';
|
|
14
14
|
export const HierarchySidebarTab = t0 => {
|
|
15
|
-
const $ = _c(
|
|
15
|
+
const $ = _c(32);
|
|
16
16
|
const {
|
|
17
|
+
baseFilter,
|
|
17
18
|
collectionSpecificOptions,
|
|
18
19
|
hierarchyCollectionSlug,
|
|
19
20
|
icon,
|
|
@@ -51,30 +52,36 @@ export const HierarchySidebarTab = t0 => {
|
|
|
51
52
|
}
|
|
52
53
|
const [selectedFilters, setSelectedFiltersLocal] = useState(t3);
|
|
53
54
|
const {
|
|
55
|
+
baseFilter: contextBaseFilter,
|
|
54
56
|
setSelectedFilters: setSelectedFiltersContext,
|
|
55
57
|
treeRefreshKey,
|
|
56
58
|
viewCollectionSlug
|
|
57
59
|
} = useHierarchy();
|
|
58
60
|
let t4;
|
|
59
|
-
if ($[2] !== adminRoute || $[3] !==
|
|
61
|
+
if ($[2] !== adminRoute || $[3] !== baseFilter || $[4] !== collectionSpecificOptions || $[5] !== contextBaseFilter || $[6] !== hierarchyCollectionSlug || $[7] !== icon || $[8] !== initialData || $[9] !== initialExpandedNodes || $[10] !== initialSelectedFilters || $[11] !== isSearchActive || $[12] !== parentFieldName || $[13] !== router || $[14] !== searchParams || $[15] !== selectedFilters || $[16] !== selectedNodeIdFromServer || $[17] !== setSelectedFiltersContext || $[18] !== startRouteTransition || $[19] !== treeLimit || $[20] !== treeRefreshKey || $[21] !== typeFieldName || $[22] !== useAsTitle || $[23] !== viewCollectionSlug) {
|
|
60
62
|
const parentParam = searchParams.get("parent");
|
|
61
63
|
const isViewingThisCollection = viewCollectionSlug === hierarchyCollectionSlug;
|
|
62
64
|
const selectedNodeId = isViewingThisCollection ? parentParam ?? selectedNodeIdFromServer ?? undefined : undefined;
|
|
63
|
-
const
|
|
65
|
+
const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : "";
|
|
66
|
+
const contextBaseFilterKey = contextBaseFilter ? JSON.stringify(contextBaseFilter) : "";
|
|
67
|
+
const contextHasNewerBaseFilter = contextBaseFilter !== null && baseFilterKey !== contextBaseFilterKey;
|
|
68
|
+
const effectiveInitialData = treeRefreshKey === 0 && !contextHasNewerBaseFilter ? initialData : null;
|
|
69
|
+
const effectiveBaseFilter = contextHasNewerBaseFilter ? contextBaseFilter : baseFilter;
|
|
70
|
+
const effectiveBaseFilterKey = contextHasNewerBaseFilter ? contextBaseFilterKey : baseFilterKey;
|
|
64
71
|
let t5;
|
|
65
|
-
if ($[
|
|
72
|
+
if ($[25] !== setSelectedFiltersContext) {
|
|
66
73
|
t5 = filters => {
|
|
67
74
|
setSelectedFiltersLocal(filters);
|
|
68
75
|
setSelectedFiltersContext(filters);
|
|
69
76
|
};
|
|
70
|
-
$[
|
|
71
|
-
$[
|
|
77
|
+
$[25] = setSelectedFiltersContext;
|
|
78
|
+
$[26] = t5;
|
|
72
79
|
} else {
|
|
73
|
-
t5 = $[
|
|
80
|
+
t5 = $[26];
|
|
74
81
|
}
|
|
75
82
|
const handleFilterChange = t5;
|
|
76
83
|
let t6;
|
|
77
|
-
if ($[
|
|
84
|
+
if ($[27] !== adminRoute || $[28] !== hierarchyCollectionSlug || $[29] !== router || $[30] !== startRouteTransition) {
|
|
78
85
|
t6 = t7 => {
|
|
79
86
|
const {
|
|
80
87
|
id
|
|
@@ -88,17 +95,18 @@ export const HierarchySidebarTab = t0 => {
|
|
|
88
95
|
router.refresh();
|
|
89
96
|
});
|
|
90
97
|
};
|
|
91
|
-
$[
|
|
92
|
-
$[
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
98
|
+
$[27] = adminRoute;
|
|
99
|
+
$[28] = hierarchyCollectionSlug;
|
|
100
|
+
$[29] = router;
|
|
101
|
+
$[30] = startRouteTransition;
|
|
102
|
+
$[31] = t6;
|
|
96
103
|
} else {
|
|
97
|
-
t6 = $[
|
|
104
|
+
t6 = $[31];
|
|
98
105
|
}
|
|
99
106
|
const handleNavigateToParent = t6;
|
|
100
107
|
t4 = _jsxs(_Fragment, {
|
|
101
108
|
children: [_jsx(HydrateHierarchyProvider, {
|
|
109
|
+
baseFilter: contextHasNewerBaseFilter ? undefined : baseFilter,
|
|
102
110
|
collectionSlug: hierarchyCollectionSlug,
|
|
103
111
|
expandedNodes: initialExpandedNodes,
|
|
104
112
|
parentFieldName,
|
|
@@ -117,6 +125,7 @@ export const HierarchySidebarTab = t0 => {
|
|
|
117
125
|
onSelect: handleNavigateToParent,
|
|
118
126
|
selectedFilters
|
|
119
127
|
}), !isSearchActive && _jsx(HierarchyTree, {
|
|
128
|
+
baseFilter: effectiveBaseFilter,
|
|
120
129
|
collectionSlug: hierarchyCollectionSlug,
|
|
121
130
|
filterByCollections: selectedFilters.length > 0 ? selectedFilters : undefined,
|
|
122
131
|
icon,
|
|
@@ -124,32 +133,34 @@ export const HierarchySidebarTab = t0 => {
|
|
|
124
133
|
onNodeClick: handleNavigateToParent,
|
|
125
134
|
selectedNodeId,
|
|
126
135
|
useAsTitle
|
|
127
|
-
}, `${hierarchyCollectionSlug}-${treeRefreshKey}`)]
|
|
136
|
+
}, `${hierarchyCollectionSlug}-${treeRefreshKey}-${effectiveBaseFilterKey}`)]
|
|
128
137
|
})]
|
|
129
138
|
});
|
|
130
139
|
$[2] = adminRoute;
|
|
131
|
-
$[3] =
|
|
132
|
-
$[4] =
|
|
133
|
-
$[5] =
|
|
134
|
-
$[6] =
|
|
135
|
-
$[7] =
|
|
136
|
-
$[8] =
|
|
137
|
-
$[9] =
|
|
138
|
-
$[10] =
|
|
139
|
-
$[11] =
|
|
140
|
-
$[12] =
|
|
141
|
-
$[13] =
|
|
142
|
-
$[14] =
|
|
143
|
-
$[15] =
|
|
144
|
-
$[16] =
|
|
145
|
-
$[17] =
|
|
146
|
-
$[18] =
|
|
147
|
-
$[19] =
|
|
148
|
-
$[20] =
|
|
149
|
-
$[21] =
|
|
150
|
-
$[22] =
|
|
140
|
+
$[3] = baseFilter;
|
|
141
|
+
$[4] = collectionSpecificOptions;
|
|
142
|
+
$[5] = contextBaseFilter;
|
|
143
|
+
$[6] = hierarchyCollectionSlug;
|
|
144
|
+
$[7] = icon;
|
|
145
|
+
$[8] = initialData;
|
|
146
|
+
$[9] = initialExpandedNodes;
|
|
147
|
+
$[10] = initialSelectedFilters;
|
|
148
|
+
$[11] = isSearchActive;
|
|
149
|
+
$[12] = parentFieldName;
|
|
150
|
+
$[13] = router;
|
|
151
|
+
$[14] = searchParams;
|
|
152
|
+
$[15] = selectedFilters;
|
|
153
|
+
$[16] = selectedNodeIdFromServer;
|
|
154
|
+
$[17] = setSelectedFiltersContext;
|
|
155
|
+
$[18] = startRouteTransition;
|
|
156
|
+
$[19] = treeLimit;
|
|
157
|
+
$[20] = treeRefreshKey;
|
|
158
|
+
$[21] = typeFieldName;
|
|
159
|
+
$[22] = useAsTitle;
|
|
160
|
+
$[23] = viewCollectionSlug;
|
|
161
|
+
$[24] = t4;
|
|
151
162
|
} else {
|
|
152
|
-
t4 = $[
|
|
163
|
+
t4 = $[24];
|
|
153
164
|
}
|
|
154
165
|
return t4;
|
|
155
166
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchySidebarTab.js","names":["c","_c","useRouter","useSearchParams","formatAdminURL","React","useCallback","useState","HierarchySearch","HydrateHierarchyProvider","useConfig","useHierarchy","useRouteTransition","HierarchyTree","HierarchySidebarTab","t0","$","collectionSpecificOptions","hierarchyCollectionSlug","icon","initialData","initialExpandedNodes","initialSelectedFilters","parentFieldName","selectedNodeId","selectedNodeIdFromServer","treeLimit","typeFieldName","useAsTitle","router","searchParams","startRouteTransition","config","t1","routes","t2","admin","adminRoute","isSearchActive","setIsSearchActive","t3","selectedFilters","setSelectedFiltersLocal","setSelectedFilters","setSelectedFiltersContext","treeRefreshKey","viewCollectionSlug","t4","parentParam","get","isViewingThisCollection","undefined","effectiveInitialData","t5","filters","handleFilterChange","t6","t7","id","url","path","push","refresh","handleNavigateToParent","_jsxs","_Fragment","children","_jsx","collectionSlug","expandedNodes","treeData","className","isActive","onActiveChange","onFilterChange","onSelect","filterByCollections","length","onNodeClick"],"sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.tsx"],"sourcesContent":["'use client'\n\nimport type { SidebarTabClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport type { HierarchyInitialData } from './types.js'\n\nimport { HierarchySearch } from '../../elements/HierarchySearch/index.js'\nimport { HydrateHierarchyProvider } from '../../elements/HydrateHierarchyProvider/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { HierarchyTree } from './index.js'\n\nexport const HierarchySidebarTab: React.FC<\n {\n collectionSpecificOptions?: { label: string; value: string }[]\n hierarchyCollectionSlug: string\n icon?: React.ReactNode\n initialData?: HierarchyInitialData | null\n initialExpandedNodes?: (number | string)[]\n initialSelectedFilters?: string[]\n parentFieldName?: string\n selectedNodeId?: null | string\n treeLimit?: number\n typeFieldName?: string\n useAsTitle?: string\n } & SidebarTabClientProps\n> = ({\n collectionSpecificOptions,\n hierarchyCollectionSlug,\n icon,\n initialData,\n initialExpandedNodes,\n initialSelectedFilters,\n parentFieldName,\n selectedNodeId: selectedNodeIdFromServer,\n treeLimit,\n typeFieldName,\n useAsTitle,\n}) => {\n const router = useRouter()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n const [isSearchActive, setIsSearchActive] = useState(false)\n const [selectedFilters, setSelectedFiltersLocal] = useState<string[]>(\n initialSelectedFilters ?? [],\n )\n const {\n setSelectedFilters: setSelectedFiltersContext,\n treeRefreshKey,\n viewCollectionSlug,\n } = useHierarchy()\n\n // Only show selection if the current list view matches this tab's hierarchy collection\n const parentParam = searchParams.get('parent')\n const isViewingThisCollection = viewCollectionSlug === hierarchyCollectionSlug\n const selectedNodeId = isViewingThisCollection\n ? (parentParam ?? selectedNodeIdFromServer ?? undefined)\n : undefined\n\n // Only use initialData on first render - after refresh, fetch fresh data\n const effectiveInitialData = treeRefreshKey === 0 ? initialData : null\n\n const handleFilterChange = useCallback(\n (filters: string[]) => {\n setSelectedFiltersLocal(filters)\n setSelectedFiltersContext(filters)\n },\n [setSelectedFiltersContext],\n )\n\n const handleNavigateToParent = useCallback(\n ({ id }: { id: number | string }) => {\n const url = formatAdminURL({\n adminRoute,\n path: `/collections/${hierarchyCollectionSlug}?parent=${id}`,\n })\n startRouteTransition(() => {\n router.push(url)\n router.refresh()\n })\n },\n [adminRoute, hierarchyCollectionSlug, router, startRouteTransition],\n )\n return (\n <>\n <HydrateHierarchyProvider\n collectionSlug={hierarchyCollectionSlug}\n expandedNodes={initialExpandedNodes}\n parentFieldName={parentFieldName}\n selectedFilters={initialSelectedFilters}\n treeData={effectiveInitialData}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n />\n <div className=\"hierarchy-sidebar-tab\">\n <HierarchySearch\n collectionSlug={hierarchyCollectionSlug}\n collectionSpecificOptions={collectionSpecificOptions}\n isActive={isSearchActive}\n onActiveChange={setIsSearchActive}\n onFilterChange={handleFilterChange}\n onSelect={handleNavigateToParent}\n selectedFilters={selectedFilters}\n />\n {!isSearchActive && (\n <HierarchyTree\n collectionSlug={hierarchyCollectionSlug}\n filterByCollections={selectedFilters.length > 0 ? selectedFilters : undefined}\n icon={icon}\n initialData={effectiveInitialData}\n key={`${hierarchyCollectionSlug}-${treeRefreshKey}`}\n onNodeClick={handleNavigateToParent}\n selectedNodeId={selectedNodeId}\n useAsTitle={useAsTitle}\n />\n )}\n </div>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HierarchySidebarTab.js","names":["c","_c","useRouter","useSearchParams","formatAdminURL","React","useCallback","useState","HierarchySearch","HydrateHierarchyProvider","useConfig","useHierarchy","useRouteTransition","HierarchyTree","HierarchySidebarTab","t0","$","baseFilter","collectionSpecificOptions","hierarchyCollectionSlug","icon","initialData","initialExpandedNodes","initialSelectedFilters","parentFieldName","selectedNodeId","selectedNodeIdFromServer","treeLimit","typeFieldName","useAsTitle","router","searchParams","startRouteTransition","config","t1","routes","t2","admin","adminRoute","isSearchActive","setIsSearchActive","t3","selectedFilters","setSelectedFiltersLocal","contextBaseFilter","setSelectedFilters","setSelectedFiltersContext","treeRefreshKey","viewCollectionSlug","t4","parentParam","get","isViewingThisCollection","undefined","baseFilterKey","JSON","stringify","contextBaseFilterKey","contextHasNewerBaseFilter","effectiveInitialData","effectiveBaseFilter","effectiveBaseFilterKey","t5","filters","handleFilterChange","t6","t7","id","url","path","push","refresh","handleNavigateToParent","_jsxs","_Fragment","children","_jsx","collectionSlug","expandedNodes","treeData","className","isActive","onActiveChange","onFilterChange","onSelect","filterByCollections","length","onNodeClick"],"sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.tsx"],"sourcesContent":["'use client'\n\nimport type { SidebarTabClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport type { HierarchyInitialData } from './types.js'\n\nimport { HierarchySearch } from '../../elements/HierarchySearch/index.js'\nimport { HydrateHierarchyProvider } from '../../elements/HydrateHierarchyProvider/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { HierarchyTree } from './index.js'\n\nexport const HierarchySidebarTab: React.FC<\n {\n baseFilter?: Record<string, unknown>\n collectionSpecificOptions?: { label: string; value: string }[]\n hierarchyCollectionSlug: string\n icon?: React.ReactNode\n initialData?: HierarchyInitialData | null\n initialExpandedNodes?: (number | string)[]\n initialSelectedFilters?: string[]\n parentFieldName?: string\n selectedNodeId?: null | string\n treeLimit?: number\n typeFieldName?: string\n useAsTitle?: string\n } & SidebarTabClientProps\n> = ({\n baseFilter,\n collectionSpecificOptions,\n hierarchyCollectionSlug,\n icon,\n initialData,\n initialExpandedNodes,\n initialSelectedFilters,\n parentFieldName,\n selectedNodeId: selectedNodeIdFromServer,\n treeLimit,\n typeFieldName,\n useAsTitle,\n}) => {\n const router = useRouter()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n const [isSearchActive, setIsSearchActive] = useState(false)\n const [selectedFilters, setSelectedFiltersLocal] = useState<string[]>(\n initialSelectedFilters ?? [],\n )\n const {\n baseFilter: contextBaseFilter,\n setSelectedFilters: setSelectedFiltersContext,\n treeRefreshKey,\n viewCollectionSlug,\n } = useHierarchy()\n\n // Only show selection if the current list view matches this tab's hierarchy collection\n const parentParam = searchParams.get('parent')\n const isViewingThisCollection = viewCollectionSlug === hierarchyCollectionSlug\n const selectedNodeId = isViewingThisCollection\n ? (parentParam ?? selectedNodeIdFromServer ?? undefined)\n : undefined\n\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const contextBaseFilterKey = contextBaseFilter ? JSON.stringify(contextBaseFilter) : ''\n\n // Context has a newer baseFilter if it exists and differs from props\n const contextHasNewerBaseFilter =\n contextBaseFilter !== null && baseFilterKey !== contextBaseFilterKey\n\n // Skip stale initialData when context has a newer baseFilter\n const effectiveInitialData =\n treeRefreshKey === 0 && !contextHasNewerBaseFilter ? initialData : null\n\n const effectiveBaseFilter = contextHasNewerBaseFilter ? contextBaseFilter : baseFilter\n const effectiveBaseFilterKey = contextHasNewerBaseFilter ? contextBaseFilterKey : baseFilterKey\n\n const handleFilterChange = useCallback(\n (filters: string[]) => {\n setSelectedFiltersLocal(filters)\n setSelectedFiltersContext(filters)\n },\n [setSelectedFiltersContext],\n )\n\n const handleNavigateToParent = useCallback(\n ({ id }: { id: number | string }) => {\n const url = formatAdminURL({\n adminRoute,\n path: `/collections/${hierarchyCollectionSlug}?parent=${id}`,\n })\n startRouteTransition(() => {\n router.push(url)\n router.refresh()\n })\n },\n [adminRoute, hierarchyCollectionSlug, router, startRouteTransition],\n )\n return (\n <>\n <HydrateHierarchyProvider\n baseFilter={contextHasNewerBaseFilter ? undefined : baseFilter}\n collectionSlug={hierarchyCollectionSlug}\n expandedNodes={initialExpandedNodes}\n parentFieldName={parentFieldName}\n selectedFilters={initialSelectedFilters}\n treeData={effectiveInitialData}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n />\n <div className=\"hierarchy-sidebar-tab\">\n <HierarchySearch\n collectionSlug={hierarchyCollectionSlug}\n collectionSpecificOptions={collectionSpecificOptions}\n isActive={isSearchActive}\n onActiveChange={setIsSearchActive}\n onFilterChange={handleFilterChange}\n onSelect={handleNavigateToParent}\n selectedFilters={selectedFilters}\n />\n {!isSearchActive && (\n <HierarchyTree\n baseFilter={effectiveBaseFilter}\n collectionSlug={hierarchyCollectionSlug}\n filterByCollections={selectedFilters.length > 0 ? selectedFilters : undefined}\n icon={icon}\n initialData={effectiveInitialData}\n key={`${hierarchyCollectionSlug}-${treeRefreshKey}-${effectiveBaseFilterKey}`}\n onNodeClick={handleNavigateToParent}\n selectedNodeId={selectedNodeId}\n useAsTitle={useAsTitle}\n />\n )}\n </div>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchySidebarTab.server.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"HierarchySidebarTab.server.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAS,MAAM,SAAS,CAAA;AAK3D,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,uBAAuB,EAAE,MAAM,CAAA;CAChC,GAAG,qBAAqB,CAAA;AAEzB,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAwL9E,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
|
-
import {
|
|
3
|
+
import { DEFAULT_HIERARCHY_TREE_LIMIT, getInitialTreeData } from 'payload';
|
|
4
4
|
import { PREFERENCE_KEYS } from 'payload/shared';
|
|
5
5
|
import React from 'react';
|
|
6
6
|
// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary
|
|
@@ -11,6 +11,7 @@ export const HierarchySidebarTabServer = async ({
|
|
|
11
11
|
hierarchyCollectionSlug,
|
|
12
12
|
i18n,
|
|
13
13
|
payload,
|
|
14
|
+
req,
|
|
14
15
|
searchParams,
|
|
15
16
|
user
|
|
16
17
|
}) => {
|
|
@@ -26,6 +27,7 @@ export const HierarchySidebarTabServer = async ({
|
|
|
26
27
|
let typeFieldName;
|
|
27
28
|
let useAsTitle;
|
|
28
29
|
let collectionSpecificOptions = [];
|
|
30
|
+
let baseFilter = null;
|
|
29
31
|
// Get collection config and render icon (outside try block - doesn't need async)
|
|
30
32
|
const collectionConfig = payload.collections[hierarchyCollectionSlug]?.config;
|
|
31
33
|
const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
|
|
@@ -126,11 +128,17 @@ export const HierarchySidebarTabServer = async ({
|
|
|
126
128
|
ancestorIds.forEach(id => expandedSet.add(id));
|
|
127
129
|
initialExpandedNodes = Array.from(expandedSet);
|
|
128
130
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
const baseFilterFn = collectionConfig?.admin?.baseFilter ?? collectionConfig?.admin?.baseListFilter;
|
|
132
|
+
if (baseFilterFn && req) {
|
|
133
|
+
baseFilter = (await baseFilterFn({
|
|
134
|
+
limit: DEFAULT_HIERARCHY_TREE_LIMIT,
|
|
135
|
+
page: 1,
|
|
136
|
+
req,
|
|
137
|
+
sort: 'id'
|
|
138
|
+
})) ?? null;
|
|
139
|
+
}
|
|
133
140
|
initialData = await getInitialTreeData({
|
|
141
|
+
baseFilter,
|
|
134
142
|
collectionSlug: hierarchyCollectionSlug,
|
|
135
143
|
expandedNodeIds: initialExpandedNodes,
|
|
136
144
|
...(initialSelectedFilters.length > 0 && {
|
|
@@ -151,6 +159,7 @@ export const HierarchySidebarTabServer = async ({
|
|
|
151
159
|
// Fall back to client-side fetching if server fetch fails
|
|
152
160
|
}
|
|
153
161
|
return /*#__PURE__*/_jsx(HierarchySidebarTab, {
|
|
162
|
+
baseFilter: baseFilter,
|
|
154
163
|
collectionSpecificOptions: collectionSpecificOptions,
|
|
155
164
|
hierarchyCollectionSlug: hierarchyCollectionSlug,
|
|
156
165
|
icon: icon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchySidebarTab.server.js","names":["getTranslation","createLocalReq","getInitialTreeData","PREFERENCE_KEYS","React","HierarchySidebarTab","TagIcon","RenderServerComponent","HierarchySidebarTabServer","hierarchyCollectionSlug","i18n","payload","searchParams","user","initialData","initialExpandedNodes","initialSelectedFilters","selectedNodeId","parentFieldName","treeLimit","typeFieldName","useAsTitle","collectionSpecificOptions","collectionConfig","collections","config","hierarchyConfig","hierarchy","undefined","IconComponent","admin","components","Icon","icon","Component","importMap","key","_jsx","color","parent","String","preferenceKey","HIERARCHY_TREE","docs","preferenceDocs","find","collection","limit","overrideAccess","where","and","equals","id","preferences","value","expandedNodes","selectedFilters","collectionSpecific","fieldName","relatedCollections","Object","keys","map","slug","relatedConfig","label","labels","plural","sort","a","b","localeCompare","selectedNodeParentId","ancestorIds","currentNodeId","isFirstIteration","node","findByID","depth","parentId","push","expandedSet","Set","forEach","add","Array","from","req","collectionSlug","expandedNodeIds","length","filterByCollections","error","logger","warn","err","msg"],"sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.server.tsx"],"sourcesContent":["import type { SidebarTabServerProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createLocalReq, getInitialTreeData } from 'payload'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { HierarchySidebarTab } from '../../exports/client/index.js'\nimport { TagIcon } from '../../icons/Tag/index.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\n\nexport type HierarchySidebarTabServerProps = {\n hierarchyCollectionSlug: string\n} & SidebarTabServerProps\n\nexport const HierarchySidebarTabServer: React.FC<HierarchySidebarTabServerProps> = async ({\n hierarchyCollectionSlug,\n i18n,\n payload,\n searchParams,\n user,\n}) => {\n if (!user) {\n return null\n }\n\n let initialData = null\n let initialExpandedNodes: (number | string)[] = []\n let initialSelectedFilters: string[] = []\n let selectedNodeId: null | string = null\n let parentFieldName = 'parent'\n let treeLimit: number | undefined\n let typeFieldName: string | undefined\n let useAsTitle: string | undefined\n let collectionSpecificOptions: { label: string; value: string }[] = []\n\n // Get collection config and render icon (outside try block - doesn't need async)\n const collectionConfig = payload.collections[hierarchyCollectionSlug]?.config\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n\n const IconComponent = hierarchyConfig?.admin?.components?.Icon\n const icon = IconComponent ? (\n RenderServerComponent({\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-sidebar-icon-${hierarchyCollectionSlug}`,\n })\n ) : (\n <TagIcon color=\"muted\" />\n )\n\n try {\n // Get selected node from URL (?parent=<id>)\n selectedNodeId = searchParams?.parent ? String(searchParams.parent) : null\n\n // STEP 1: Load user's expanded node preferences\n const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${hierarchyCollectionSlug}`\n\n const { docs: preferenceDocs } = await payload.find({\n collection: 'payload-preferences',\n limit: 1,\n overrideAccess: false,\n user,\n where: {\n and: [\n { key: { equals: preferenceKey } },\n { 'user.value': { equals: user.id } },\n { 'user.relationTo': { equals: user.collection } },\n ],\n },\n })\n\n const preferences = preferenceDocs[0]\n\n if (preferences?.value?.expandedNodes) {\n initialExpandedNodes = preferences.value.expandedNodes\n }\n\n if (preferences?.value?.selectedFilters) {\n initialSelectedFilters = preferences.value.selectedFilters\n }\n\n // STEP 2: Get remaining config values\n parentFieldName = hierarchyConfig?.parentFieldName\n treeLimit = hierarchyConfig?.admin?.treeLimit\n typeFieldName =\n hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object'\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n useAsTitle = collectionConfig?.admin?.useAsTitle\n\n // STEP 2.5: Build collection-specific options from related collections\n if (hierarchyConfig.collectionSpecific && hierarchyConfig?.relatedCollections) {\n collectionSpecificOptions = Object.keys(hierarchyConfig.relatedCollections)\n .map((slug) => {\n const relatedConfig = payload.collections[slug]?.config\n const label = relatedConfig?.labels?.plural ?? slug\n\n return {\n label: getTranslation(label, i18n),\n value: slug,\n }\n })\n .sort((a, b) => a.label.localeCompare(b.label))\n }\n\n // Track the immediate parent of the selected node (for ensuring siblings are loaded)\n let selectedNodeParentId: null | number | string = null\n\n // If there's a selected node, ensure its ancestor chain is expanded\n if (selectedNodeId) {\n // Walk up the parent chain to root\n const ancestorIds: (number | string)[] = []\n let currentNodeId: null | number | string = selectedNodeId\n let isFirstIteration = true\n\n while (currentNodeId) {\n try {\n const node = await payload.findByID({\n id: currentNodeId,\n collection: hierarchyCollectionSlug,\n depth: 0,\n overrideAccess: false,\n user,\n })\n\n const parentId = node?.[parentFieldName]\n\n // Capture the immediate parent of the selected node\n if (isFirstIteration) {\n selectedNodeParentId = parentId ?? null\n isFirstIteration = false\n }\n\n if (parentId) {\n ancestorIds.push(parentId)\n currentNodeId = parentId\n } else {\n currentNodeId = null\n }\n } catch {\n // Node not found or access denied\n break\n }\n }\n\n // Merge ancestor IDs with existing expanded nodes\n const expandedSet = new Set(initialExpandedNodes)\n ancestorIds.forEach((id) => expandedSet.add(id))\n initialExpandedNodes = Array.from(expandedSet)\n }\n\n // STEP 3: Fetch tree data (root nodes + children of expanded nodes + selected node path)\n const req = await createLocalReq({ user }, payload)\n\n initialData = await getInitialTreeData({\n collectionSlug: hierarchyCollectionSlug,\n expandedNodeIds: initialExpandedNodes,\n ...(initialSelectedFilters.length > 0 && { filterByCollections: initialSelectedFilters }),\n ...(treeLimit !== undefined && { limit: treeLimit }),\n req,\n selectedNodeId,\n selectedNodeParentId,\n })\n } catch (error) {\n payload.logger.warn({\n err: error,\n msg: `Failed to fetch hierarchy data for ${hierarchyCollectionSlug}`,\n })\n // Fall back to client-side fetching if server fetch fails\n }\n\n return (\n <HierarchySidebarTab\n collectionSpecificOptions={collectionSpecificOptions}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n icon={icon}\n initialData={initialData}\n initialExpandedNodes={initialExpandedNodes}\n initialSelectedFilters={initialSelectedFilters}\n parentFieldName={parentFieldName}\n selectedNodeId={selectedNodeId}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HierarchySidebarTab.server.js","names":["getTranslation","DEFAULT_HIERARCHY_TREE_LIMIT","getInitialTreeData","PREFERENCE_KEYS","React","HierarchySidebarTab","TagIcon","RenderServerComponent","HierarchySidebarTabServer","hierarchyCollectionSlug","i18n","payload","req","searchParams","user","initialData","initialExpandedNodes","initialSelectedFilters","selectedNodeId","parentFieldName","treeLimit","typeFieldName","useAsTitle","collectionSpecificOptions","baseFilter","collectionConfig","collections","config","hierarchyConfig","hierarchy","undefined","IconComponent","admin","components","Icon","icon","Component","importMap","key","_jsx","color","parent","String","preferenceKey","HIERARCHY_TREE","docs","preferenceDocs","find","collection","limit","overrideAccess","where","and","equals","id","preferences","value","expandedNodes","selectedFilters","collectionSpecific","fieldName","relatedCollections","Object","keys","map","slug","relatedConfig","label","labels","plural","sort","a","b","localeCompare","selectedNodeParentId","ancestorIds","currentNodeId","isFirstIteration","node","findByID","depth","parentId","push","expandedSet","Set","forEach","add","Array","from","baseFilterFn","baseListFilter","page","collectionSlug","expandedNodeIds","length","filterByCollections","error","logger","warn","err","msg"],"sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.server.tsx"],"sourcesContent":["import type { SidebarTabServerProps, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT, getInitialTreeData } from 'payload'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { HierarchySidebarTab } from '../../exports/client/index.js'\nimport { TagIcon } from '../../icons/Tag/index.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\n\nexport type HierarchySidebarTabServerProps = {\n hierarchyCollectionSlug: string\n} & SidebarTabServerProps\n\nexport const HierarchySidebarTabServer: React.FC<HierarchySidebarTabServerProps> = async ({\n hierarchyCollectionSlug,\n i18n,\n payload,\n req,\n searchParams,\n user,\n}) => {\n if (!user) {\n return null\n }\n\n let initialData = null\n let initialExpandedNodes: (number | string)[] = []\n let initialSelectedFilters: string[] = []\n let selectedNodeId: null | string = null\n let parentFieldName = 'parent'\n let treeLimit: number | undefined\n let typeFieldName: string | undefined\n let useAsTitle: string | undefined\n let collectionSpecificOptions: { label: string; value: string }[] = []\n let baseFilter: null | Where = null\n\n // Get collection config and render icon (outside try block - doesn't need async)\n const collectionConfig = payload.collections[hierarchyCollectionSlug]?.config\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n\n const IconComponent = hierarchyConfig?.admin?.components?.Icon\n const icon = IconComponent ? (\n RenderServerComponent({\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-sidebar-icon-${hierarchyCollectionSlug}`,\n })\n ) : (\n <TagIcon color=\"muted\" />\n )\n\n try {\n // Get selected node from URL (?parent=<id>)\n selectedNodeId = searchParams?.parent ? String(searchParams.parent) : null\n\n // STEP 1: Load user's expanded node preferences\n const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${hierarchyCollectionSlug}`\n\n const { docs: preferenceDocs } = await payload.find({\n collection: 'payload-preferences',\n limit: 1,\n overrideAccess: false,\n user,\n where: {\n and: [\n { key: { equals: preferenceKey } },\n { 'user.value': { equals: user.id } },\n { 'user.relationTo': { equals: user.collection } },\n ],\n },\n })\n\n const preferences = preferenceDocs[0]\n\n if (preferences?.value?.expandedNodes) {\n initialExpandedNodes = preferences.value.expandedNodes\n }\n\n if (preferences?.value?.selectedFilters) {\n initialSelectedFilters = preferences.value.selectedFilters\n }\n\n // STEP 2: Get remaining config values\n parentFieldName = hierarchyConfig?.parentFieldName\n treeLimit = hierarchyConfig?.admin?.treeLimit\n typeFieldName =\n hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object'\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n useAsTitle = collectionConfig?.admin?.useAsTitle\n\n // STEP 2.5: Build collection-specific options from related collections\n if (hierarchyConfig.collectionSpecific && hierarchyConfig?.relatedCollections) {\n collectionSpecificOptions = Object.keys(hierarchyConfig.relatedCollections)\n .map((slug) => {\n const relatedConfig = payload.collections[slug]?.config\n const label = relatedConfig?.labels?.plural ?? slug\n\n return {\n label: getTranslation(label, i18n),\n value: slug,\n }\n })\n .sort((a, b) => a.label.localeCompare(b.label))\n }\n\n // Track the immediate parent of the selected node (for ensuring siblings are loaded)\n let selectedNodeParentId: null | number | string = null\n\n // If there's a selected node, ensure its ancestor chain is expanded\n if (selectedNodeId) {\n // Walk up the parent chain to root\n const ancestorIds: (number | string)[] = []\n let currentNodeId: null | number | string = selectedNodeId\n let isFirstIteration = true\n\n while (currentNodeId) {\n try {\n const node = await payload.findByID({\n id: currentNodeId,\n collection: hierarchyCollectionSlug,\n depth: 0,\n overrideAccess: false,\n user,\n })\n\n const parentId = node?.[parentFieldName]\n\n // Capture the immediate parent of the selected node\n if (isFirstIteration) {\n selectedNodeParentId = parentId ?? null\n isFirstIteration = false\n }\n\n if (parentId) {\n ancestorIds.push(parentId)\n currentNodeId = parentId\n } else {\n currentNodeId = null\n }\n } catch {\n // Node not found or access denied\n break\n }\n }\n\n // Merge ancestor IDs with existing expanded nodes\n const expandedSet = new Set(initialExpandedNodes)\n ancestorIds.forEach((id) => expandedSet.add(id))\n initialExpandedNodes = Array.from(expandedSet)\n }\n\n const baseFilterFn =\n collectionConfig?.admin?.baseFilter ?? collectionConfig?.admin?.baseListFilter\n if (baseFilterFn && req) {\n baseFilter =\n (await baseFilterFn({ limit: DEFAULT_HIERARCHY_TREE_LIMIT, page: 1, req, sort: 'id' })) ??\n null\n }\n\n initialData = await getInitialTreeData({\n baseFilter,\n collectionSlug: hierarchyCollectionSlug,\n expandedNodeIds: initialExpandedNodes,\n ...(initialSelectedFilters.length > 0 && { filterByCollections: initialSelectedFilters }),\n ...(treeLimit !== undefined && { limit: treeLimit }),\n req,\n selectedNodeId,\n selectedNodeParentId,\n })\n } catch (error) {\n payload.logger.warn({\n err: error,\n msg: `Failed to fetch hierarchy data for ${hierarchyCollectionSlug}`,\n })\n // Fall back to client-side fetching if server fetch fails\n }\n\n return (\n <HierarchySidebarTab\n baseFilter={baseFilter}\n collectionSpecificOptions={collectionSpecificOptions}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n icon={icon}\n initialData={initialData}\n initialExpandedNodes={initialExpandedNodes}\n initialSelectedFilters={initialSelectedFilters}\n parentFieldName={parentFieldName}\n selectedNodeId={selectedNodeId}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAMpD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAMpD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0EtD,CAAA"}
|
|
@@ -7,6 +7,7 @@ import { useConfig } from '../../providers/Config/index.js';
|
|
|
7
7
|
import { useHierarchy } from '../../providers/Hierarchy/index.js';
|
|
8
8
|
import { Tree } from '../Tree/index.js';
|
|
9
9
|
export const HierarchyTree = ({
|
|
10
|
+
baseFilter,
|
|
10
11
|
collectionSlug,
|
|
11
12
|
filterByCollections,
|
|
12
13
|
icon,
|
|
@@ -47,6 +48,7 @@ export const HierarchyTree = ({
|
|
|
47
48
|
}, [collectionSlug, toggleNodeForCollection]);
|
|
48
49
|
return /*#__PURE__*/_jsx(Tree, {
|
|
49
50
|
allPossibleTypeValues: allPossibleTypeValues,
|
|
51
|
+
baseFilter: baseFilter,
|
|
50
52
|
collectionSlug: collectionSlug,
|
|
51
53
|
expandedNodes: expandedNodes,
|
|
52
54
|
filterByCollections: filterByCollections,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useMemo","useConfig","useHierarchy","Tree","HierarchyTree","collectionSlug","filterByCollections","icon","initialData","initialDataProp","onNodeClick","selectedNodeId","useAsTitle","useAsTitleProp","getExpandedNodesForCollection","getTreeDataForCollection","toggleNodeForCollection","typeFieldName","contextData","getEntityConfig","collectionConfig","hierarchyConfig","hierarchy","undefined","parentFieldName","treeLimit","admin","allPossibleTypeValues","relatedCollections","Object","keys","expandedNodes","handleToggleNode","id","_jsx","toggleNode"],"sources":["../../../src/elements/HierarchyTree/index.tsx"],"sourcesContent":["'use client'\n\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { HierarchyTreeProps } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { Tree } from '../Tree/index.js'\n\nexport const HierarchyTree: React.FC<HierarchyTreeProps> = ({\n collectionSlug,\n filterByCollections,\n icon,\n initialData: initialDataProp,\n onNodeClick,\n selectedNodeId,\n useAsTitle: useAsTitleProp,\n}) => {\n const {\n getExpandedNodesForCollection,\n getTreeDataForCollection,\n toggleNodeForCollection,\n typeFieldName,\n } = useHierarchy()\n\n // Get initialData from context (cleared on refresh, hydrated by HydrateHierarchyProvider)\n // Falls back to prop for first render before hydration completes\n const contextData = getTreeDataForCollection(collectionSlug)\n const initialData = contextData ?? initialDataProp\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle\n\n // Get all possible type values from relatedCollections for filtering empty arrays\n const allPossibleTypeValues = useMemo(\n () =>\n hierarchyConfig?.relatedCollections\n ? Object.keys(hierarchyConfig.relatedCollections)\n : undefined,\n [hierarchyConfig?.relatedCollections],\n )\n\n // Get expanded nodes for THIS collection specifically\n const expandedNodes = useMemo(\n () => getExpandedNodesForCollection(collectionSlug),\n [collectionSlug, getExpandedNodesForCollection],\n )\n\n // Toggle node for THIS collection specifically\n const handleToggleNode = useCallback(\n ({ id }: { id: number | string }) => {\n toggleNodeForCollection(collectionSlug, id)\n },\n [collectionSlug, toggleNodeForCollection],\n )\n\n return (\n <Tree\n allPossibleTypeValues={allPossibleTypeValues}\n collectionSlug={collectionSlug}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n icon={icon}\n initialData={initialData}\n onNodeClick={onNodeClick}\n parentFieldName={parentFieldName}\n selectedNodeId={selectedNodeId}\n toggleNode={handleToggleNode}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,4BAA4B,QAAQ;AAC7C,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAI5C,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,IAAI,QAAQ;AAErB,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAC1DC,cAAc;EACdC,mBAAmB;EACnBC,IAAI;EACJC,WAAA,EAAaC,eAAe;EAC5BC,WAAW;EACXC,cAAc;EACdC,UAAA,EAAYC;AAAc,CAC3B;EACC,MAAM;IACJC,6BAA6B;IAC7BC,wBAAwB;IACxBC,uBAAuB;IACvBC;EAAa,CACd,
|
|
1
|
+
{"version":3,"file":"index.js","names":["DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useMemo","useConfig","useHierarchy","Tree","HierarchyTree","baseFilter","collectionSlug","filterByCollections","icon","initialData","initialDataProp","onNodeClick","selectedNodeId","useAsTitle","useAsTitleProp","getExpandedNodesForCollection","getTreeDataForCollection","toggleNodeForCollection","typeFieldName","contextData","getEntityConfig","collectionConfig","hierarchyConfig","hierarchy","undefined","parentFieldName","treeLimit","admin","allPossibleTypeValues","relatedCollections","Object","keys","expandedNodes","handleToggleNode","id","_jsx","toggleNode"],"sources":["../../../src/elements/HierarchyTree/index.tsx"],"sourcesContent":["'use client'\n\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { HierarchyTreeProps } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { Tree } from '../Tree/index.js'\n\nexport const HierarchyTree: React.FC<HierarchyTreeProps> = ({\n baseFilter,\n collectionSlug,\n filterByCollections,\n icon,\n initialData: initialDataProp,\n onNodeClick,\n selectedNodeId,\n useAsTitle: useAsTitleProp,\n}) => {\n const {\n getExpandedNodesForCollection,\n getTreeDataForCollection,\n toggleNodeForCollection,\n typeFieldName,\n } = useHierarchy()\n\n // Get initialData from context (cleared on refresh, hydrated by HydrateHierarchyProvider)\n // Falls back to prop for first render before hydration completes\n const contextData = getTreeDataForCollection(collectionSlug)\n const initialData = contextData ?? initialDataProp\n\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle\n\n // Get all possible type values from relatedCollections for filtering empty arrays\n const allPossibleTypeValues = useMemo(\n () =>\n hierarchyConfig?.relatedCollections\n ? Object.keys(hierarchyConfig.relatedCollections)\n : undefined,\n [hierarchyConfig?.relatedCollections],\n )\n\n // Get expanded nodes for THIS collection specifically\n const expandedNodes = useMemo(\n () => getExpandedNodesForCollection(collectionSlug),\n [collectionSlug, getExpandedNodesForCollection],\n )\n\n // Toggle node for THIS collection specifically\n const handleToggleNode = useCallback(\n ({ id }: { id: number | string }) => {\n toggleNodeForCollection(collectionSlug, id)\n },\n [collectionSlug, toggleNodeForCollection],\n )\n\n return (\n <Tree\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n collectionSlug={collectionSlug}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n icon={icon}\n initialData={initialData}\n onNodeClick={onNodeClick}\n parentFieldName={parentFieldName}\n selectedNodeId={selectedNodeId}\n toggleNode={handleToggleNode}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,4BAA4B,QAAQ;AAC7C,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAI5C,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,IAAI,QAAQ;AAErB,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAC1DC,UAAU;EACVC,cAAc;EACdC,mBAAmB;EACnBC,IAAI;EACJC,WAAA,EAAaC,eAAe;EAC5BC,WAAW;EACXC,cAAc;EACdC,UAAA,EAAYC;AAAc,CAC3B;EACC,MAAM;IACJC,6BAA6B;IAC7BC,wBAAwB;IACxBC,uBAAuB;IACvBC;EAAa,CACd,GAAGhB,YAAA;EAEJ;EACA;EACA,MAAMiB,WAAA,GAAcH,wBAAA,CAAyBV,cAAA;EAC7C,MAAMG,WAAA,GAAcU,WAAA,IAAeT,eAAA;EAEnC,MAAM;IAAEU;EAAe,CAAE,GAAGnB,SAAA;EAE5B,MAAMoB,gBAAA,GAAmBD,eAAA,CAAgB;IAAEd;EAAe;EAC1D,MAAMgB,eAAA,GACJD,gBAAA,CAAiBE,SAAS,IAAI,OAAOF,gBAAA,CAAiBE,SAAS,KAAK,WAChEF,gBAAA,CAAiBE,SAAS,GAC1BC,SAAA;EACN,MAAMC,eAAA,GAAkBH,eAAA,EAAiBG,eAAA;EACzC,MAAMC,SAAA,GAAYJ,eAAA,EAAiBK,KAAA,EAAOD,SAAA,IAAa7B,4BAAA;EACvD,MAAMgB,UAAA,GAAaC,cAAA,IAAkBO,gBAAA,CAAiBM,KAAK,EAAEd,UAAA;EAE7D;EACA,MAAMe,qBAAA,GAAwB5B,OAAA,CAC5B,MACEsB,eAAA,EAAiBO,kBAAA,GACbC,MAAA,CAAOC,IAAI,CAACT,eAAA,CAAgBO,kBAAkB,IAC9CL,SAAA,EACN,CAACF,eAAA,EAAiBO,kBAAA,CAAmB;EAGvC;EACA,MAAMG,aAAA,GAAgBhC,OAAA,CACpB,MAAMe,6BAAA,CAA8BT,cAAA,GACpC,CAACA,cAAA,EAAgBS,6BAAA,CAA8B;EAGjD;EACA,MAAMkB,gBAAA,GAAmBlC,WAAA,CACvB,CAAC;IAAEmC;EAAE,CAA2B;IAC9BjB,uBAAA,CAAwBX,cAAA,EAAgB4B,EAAA;EAC1C,GACA,CAAC5B,cAAA,EAAgBW,uBAAA,CAAwB;EAG3C,oBACEkB,IAAA,CAAChC,IAAA;IACCyB,qBAAA,EAAuBA,qBAAA;IACvBvB,UAAA,EAAYA,UAAA;IACZC,cAAA,EAAgBA,cAAA;IAChB0B,aAAA,EAAeA,aAAA;IACfzB,mBAAA,EAAqBA,mBAAA;IACrBC,IAAA,EAAMA,IAAA;IACNC,WAAA,EAAaA,WAAA;IACbE,WAAA,EAAaA,WAAA;IACbc,eAAA,EAAiBA,eAAA;IACjBb,cAAA,EAAgBA,cAAA;IAChBwB,UAAA,EAAYH,gBAAA;IACZP,SAAA,EAAWA,SAAA;IACXR,aAAA,EAAeA,aAAA;IACfL,UAAA,EAAYA;;AAGlB","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TypeWithID } from 'payload';
|
|
1
|
+
import type { TypeWithID, Where } from 'payload';
|
|
2
2
|
import type React from 'react';
|
|
3
3
|
export type HierarchyDocument = {
|
|
4
4
|
[key: string]: unknown;
|
|
@@ -9,6 +9,7 @@ export type HierarchyNode = {
|
|
|
9
9
|
title: string;
|
|
10
10
|
};
|
|
11
11
|
export type HierarchyInitialData = {
|
|
12
|
+
baseFilter?: null | Where;
|
|
12
13
|
docs: HierarchyDocument[];
|
|
13
14
|
loadedParents: Record<string, {
|
|
14
15
|
hasMore: boolean;
|
|
@@ -17,6 +18,7 @@ export type HierarchyInitialData = {
|
|
|
17
18
|
}>;
|
|
18
19
|
};
|
|
19
20
|
export type HierarchyTreeProps = {
|
|
21
|
+
baseFilter?: null | Where;
|
|
20
22
|
collectionSlug: string;
|
|
21
23
|
filterByCollections?: string[];
|
|
22
24
|
icon?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,GAAG,UAAU,CAAA;AAEd,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAA;IACpB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,IAAI,EAAE,iBAAiB,EAAE,CAAA;IAEzB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC7F,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,gHAAgH;IAChH,WAAW,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACzC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC9D,cAAc,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;IAC3D,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnD,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/HierarchyTree/types.ts"],"sourcesContent":["import type { TypeWithID } from 'payload'\nimport type React from 'react'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n} & TypeWithID\n\nexport type HierarchyNode = {\n hasChildren: boolean\n id: number | string\n title: string\n}\n\nexport type HierarchyInitialData = {\n docs: HierarchyDocument[]\n // Metadata about what was loaded - keyed by parent ID ('null' for root)\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeProps = {\n collectionSlug: string\n filterByCollections?: string[]\n icon?: React.ReactNode\n /** Initial data for first render (before context hydration). After hydration, context data takes precedence. */\n initialData?: HierarchyInitialData | null\n onNodeClick?: ({ id }: { id: null | number | string }) => void\n selectedNodeId?: null | number | string\n useAsTitle?: string\n}\n\nexport type CachedChildren = {\n children: HierarchyDocument[]\n hasMore: boolean\n page: number\n totalDocs: number\n}\n\nexport type TreeNodeProps = {\n cache?: React.MutableRefObject<Map<string, CachedChildren>>\n collectionSlug: string\n depth?: number\n expandedNodes: Set<number | string>\n limit?: number\n node: HierarchyNode\n onSelect: ({ id }: { id: number | string }) => void\n onToggle: ({ id }: { id: number | string }) => void\n parentFieldName: string\n selected: boolean\n selectedNodeId?: null | number | string\n useAsTitle?: string\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/HierarchyTree/types.ts"],"sourcesContent":["import type { TypeWithID, Where } from 'payload'\nimport type React from 'react'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n} & TypeWithID\n\nexport type HierarchyNode = {\n hasChildren: boolean\n id: number | string\n title: string\n}\n\nexport type HierarchyInitialData = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n // Metadata about what was loaded - keyed by parent ID ('null' for root)\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeProps = {\n baseFilter?: null | Where\n collectionSlug: string\n filterByCollections?: string[]\n icon?: React.ReactNode\n /** Initial data for first render (before context hydration). After hydration, context data takes precedence. */\n initialData?: HierarchyInitialData | null\n onNodeClick?: ({ id }: { id: null | number | string }) => void\n selectedNodeId?: null | number | string\n useAsTitle?: string\n}\n\nexport type CachedChildren = {\n children: HierarchyDocument[]\n hasMore: boolean\n page: number\n totalDocs: number\n}\n\nexport type TreeNodeProps = {\n cache?: React.MutableRefObject<Map<string, CachedChildren>>\n collectionSlug: string\n depth?: number\n expandedNodes: Set<number | string>\n limit?: number\n node: HierarchyNode\n onSelect: ({ id }: { id: number | string }) => void\n onToggle: ({ id }: { id: number | string }) => void\n parentFieldName: string\n selected: boolean\n selectedNodeId?: null | number | string\n useAsTitle?: string\n}\n"],"mappings":"AAuCA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/HydrateHierarchyProvider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAIvF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/HydrateHierarchyProvider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAIvF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAmD5E,CAAA"}
|
|
@@ -4,9 +4,10 @@ import { c as _c } from "react/compiler-runtime";
|
|
|
4
4
|
import { useEffect } from 'react';
|
|
5
5
|
import { useHierarchy } from '../../providers/Hierarchy/index.js';
|
|
6
6
|
export const HydrateHierarchyProvider = t0 => {
|
|
7
|
-
const $ = _c(
|
|
7
|
+
const $ = _c(16);
|
|
8
8
|
const {
|
|
9
9
|
allowedCollections,
|
|
10
|
+
baseFilter,
|
|
10
11
|
collectionSlug,
|
|
11
12
|
expandedNodes,
|
|
12
13
|
parent,
|
|
@@ -24,10 +25,11 @@ export const HydrateHierarchyProvider = t0 => {
|
|
|
24
25
|
} = useHierarchy();
|
|
25
26
|
let t1;
|
|
26
27
|
let t2;
|
|
27
|
-
if ($[0] !== allowedCollections || $[1] !==
|
|
28
|
+
if ($[0] !== allowedCollections || $[1] !== baseFilter || $[2] !== collectionSlug || $[3] !== expandedNodes || $[4] !== hydrate || $[5] !== parent || $[6] !== parentFieldName || $[7] !== selectedFilters || $[8] !== tableData || $[9] !== treeData || $[10] !== treeLimit || $[11] !== typeFieldName || $[12] !== useAsTitle || $[13] !== viewCollectionSlug) {
|
|
28
29
|
t1 = () => {
|
|
29
30
|
hydrate({
|
|
30
31
|
allowedCollections,
|
|
32
|
+
baseFilter,
|
|
31
33
|
collectionSlug,
|
|
32
34
|
expandedNodes,
|
|
33
35
|
parent,
|
|
@@ -41,25 +43,26 @@ export const HydrateHierarchyProvider = t0 => {
|
|
|
41
43
|
viewCollectionSlug
|
|
42
44
|
});
|
|
43
45
|
};
|
|
44
|
-
t2 = [allowedCollections, collectionSlug, expandedNodes, hydrate, parent, parentFieldName, selectedFilters, tableData, treeData, treeLimit, typeFieldName, useAsTitle, viewCollectionSlug];
|
|
46
|
+
t2 = [allowedCollections, baseFilter, collectionSlug, expandedNodes, hydrate, parent, parentFieldName, selectedFilters, tableData, treeData, treeLimit, typeFieldName, useAsTitle, viewCollectionSlug];
|
|
45
47
|
$[0] = allowedCollections;
|
|
46
|
-
$[1] =
|
|
47
|
-
$[2] =
|
|
48
|
-
$[3] =
|
|
49
|
-
$[4] =
|
|
50
|
-
$[5] =
|
|
51
|
-
$[6] =
|
|
52
|
-
$[7] =
|
|
53
|
-
$[8] =
|
|
54
|
-
$[9] =
|
|
55
|
-
$[10] =
|
|
56
|
-
$[11] =
|
|
57
|
-
$[12] =
|
|
58
|
-
$[13] =
|
|
59
|
-
$[14] =
|
|
48
|
+
$[1] = baseFilter;
|
|
49
|
+
$[2] = collectionSlug;
|
|
50
|
+
$[3] = expandedNodes;
|
|
51
|
+
$[4] = hydrate;
|
|
52
|
+
$[5] = parent;
|
|
53
|
+
$[6] = parentFieldName;
|
|
54
|
+
$[7] = selectedFilters;
|
|
55
|
+
$[8] = tableData;
|
|
56
|
+
$[9] = treeData;
|
|
57
|
+
$[10] = treeLimit;
|
|
58
|
+
$[11] = typeFieldName;
|
|
59
|
+
$[12] = useAsTitle;
|
|
60
|
+
$[13] = viewCollectionSlug;
|
|
61
|
+
$[14] = t1;
|
|
62
|
+
$[15] = t2;
|
|
60
63
|
} else {
|
|
61
|
-
t1 = $[
|
|
62
|
-
t2 = $[
|
|
64
|
+
t1 = $[14];
|
|
65
|
+
t2 = $[15];
|
|
63
66
|
}
|
|
64
67
|
useEffect(t1, t2);
|
|
65
68
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useEffect","useHierarchy","HydrateHierarchyProvider","t0","$","allowedCollections","collectionSlug","expandedNodes","parent","parentFieldName","selectedFilters","tableData","treeData","treeLimit","typeFieldName","useAsTitle","viewCollectionSlug","hydrate","t1","t2"],"sources":["../../../src/elements/HydrateHierarchyProvider/index.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { useEffect } from 'react'\n\nimport type { HydrateHierarchyProviderProps } from '../../providers/Hierarchy/types.js'\n\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\n\nexport const HydrateHierarchyProvider: React.FC<HydrateHierarchyProviderProps> = ({\n allowedCollections,\n collectionSlug,\n expandedNodes,\n parent,\n parentFieldName,\n selectedFilters,\n tableData,\n treeData,\n treeLimit,\n typeFieldName,\n useAsTitle,\n viewCollectionSlug,\n}) => {\n const { hydrate } = useHierarchy()\n\n useEffect(() => {\n hydrate({\n allowedCollections,\n collectionSlug,\n expandedNodes,\n parent,\n parentFieldName,\n selectedFilters,\n tableData,\n treeData,\n treeLimit,\n typeFieldName,\n useAsTitle,\n viewCollectionSlug,\n })\n }, [\n allowedCollections,\n collectionSlug,\n expandedNodes,\n hydrate,\n parent,\n parentFieldName,\n selectedFilters,\n tableData,\n treeData,\n treeLimit,\n typeFieldName,\n useAsTitle,\n viewCollectionSlug,\n ])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,SAAS,QAAQ;AAI1B,SAASC,YAAY,QAAQ;AAE7B,OAAO,MAAMC,wBAAA,GAAoEC,EAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAAC;IAAAM,kBAAA;IAAAC,cAAA;IAAAC,aAAA;IAAAC,MAAA;IAAAC,eAAA;IAAAC,eAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,aAAA;IAAAC,UAAA;IAAAC;EAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useEffect","useHierarchy","HydrateHierarchyProvider","t0","$","allowedCollections","baseFilter","collectionSlug","expandedNodes","parent","parentFieldName","selectedFilters","tableData","treeData","treeLimit","typeFieldName","useAsTitle","viewCollectionSlug","hydrate","t1","t2"],"sources":["../../../src/elements/HydrateHierarchyProvider/index.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { useEffect } from 'react'\n\nimport type { HydrateHierarchyProviderProps } from '../../providers/Hierarchy/types.js'\n\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\n\nexport const HydrateHierarchyProvider: React.FC<HydrateHierarchyProviderProps> = ({\n allowedCollections,\n baseFilter,\n collectionSlug,\n expandedNodes,\n parent,\n parentFieldName,\n selectedFilters,\n tableData,\n treeData,\n treeLimit,\n typeFieldName,\n useAsTitle,\n viewCollectionSlug,\n}) => {\n const { hydrate } = useHierarchy()\n\n useEffect(() => {\n hydrate({\n allowedCollections,\n baseFilter,\n collectionSlug,\n expandedNodes,\n parent,\n parentFieldName,\n selectedFilters,\n tableData,\n treeData,\n treeLimit,\n typeFieldName,\n useAsTitle,\n viewCollectionSlug,\n })\n }, [\n allowedCollections,\n baseFilter,\n collectionSlug,\n expandedNodes,\n hydrate,\n parent,\n parentFieldName,\n selectedFilters,\n tableData,\n treeData,\n treeLimit,\n typeFieldName,\n useAsTitle,\n viewCollectionSlug,\n ])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,SAAS,QAAQ;AAI1B,SAASC,YAAY,QAAQ;AAE7B,OAAO,MAAMC,wBAAA,GAAoEC,EAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAAC;IAAAM,kBAAA;IAAAC,UAAA;IAAAC,cAAA;IAAAC,aAAA;IAAAC,MAAA;IAAAC,eAAA;IAAAC,eAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,aAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAd,EAcjF;EACC;IAAAe;EAAA,IAAoBjB,YAAA;EAAA,IAAAkB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAC,kBAAA,IAAAD,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAI,aAAA,IAAAJ,CAAA,QAAAc,OAAA,IAAAd,CAAA,QAAAK,MAAA,IAAAL,CAAA,QAAAM,eAAA,IAAAN,CAAA,QAAAO,eAAA,IAAAP,CAAA,QAAAQ,SAAA,IAAAR,CAAA,QAAAS,QAAA,IAAAT,CAAA,SAAAU,SAAA,IAAAV,CAAA,SAAAW,aAAA,IAAAX,CAAA,SAAAY,UAAA,IAAAZ,CAAA,SAAAa,kBAAA;IAEVE,EAAA,GAAAA,CAAA;MACRD,OAAA;QAAAb,kBAAA;QAAAC,UAAA;QAAAC,cAAA;QAAAC,aAAA;QAAAC,MAAA;QAAAC,eAAA;QAAAC,eAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,SAAA;QAAAC,aAAA;QAAAC,UAAA;QAAAC;MAAA,CAcA;IAAA;IACCG,EAAA,IACDf,kBAAA,EACAC,UAAA,EACAC,cAAA,EACAC,aAAA,EACAU,OAAA,EACAT,MAAA,EACAC,eAAA,EACAC,eAAA,EACAC,SAAA,EACAC,QAAA,EACAC,SAAA,EACAC,aAAA,EACAC,UAAA,EACAC,kBAAA;IACDb,CAAA,MAAAC,kBAAA;IAAAD,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,cAAA;IAAAH,CAAA,MAAAI,aAAA;IAAAJ,CAAA,MAAAc,OAAA;IAAAd,CAAA,MAAAK,MAAA;IAAAL,CAAA,MAAAM,eAAA;IAAAN,CAAA,MAAAO,eAAA;IAAAP,CAAA,MAAAQ,SAAA;IAAAR,CAAA,MAAAS,QAAA;IAAAT,CAAA,OAAAU,SAAA;IAAAV,CAAA,OAAAW,aAAA;IAAAX,CAAA,OAAAY,UAAA;IAAAZ,CAAA,OAAAa,kBAAA;IAAAb,CAAA,OAAAe,EAAA;IAAAf,CAAA,OAAAgB,EAAA;EAAA;IAAAD,EAAA,GAAAf,CAAA;IAAAgB,EAAA,GAAAhB,CAAA;EAAA;EA/BDJ,SAAA,CAAUmB,EAgBV,EAAGC,EAeF;EAAA;AAAA,CAGH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Link/index.tsx"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,QAAA,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Link/index.tsx"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,QAAA,MAAM,QAAQ;eAsFk7F,MAAO,SAAS;2CAtF13F,CAAA;AAgBtF,KAAK,KAAK,GAAG;IACX;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAElC,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwDhC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAWvD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAe/D,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,wBAA6B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAWvD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAe/D,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,wBAA6B,qBAgTpD"}
|
|
@@ -189,9 +189,11 @@ export function PublishButton({
|
|
|
189
189
|
}
|
|
190
190
|
});
|
|
191
191
|
if (result_0) {
|
|
192
|
+
setUnpublishedVersionCount(0);
|
|
193
|
+
setMostRecentVersionIsAutosaved(false);
|
|
192
194
|
setHasPublishedDoc(true);
|
|
193
195
|
}
|
|
194
|
-
}, [api, collectionSlug, globalSlug, id, setHasPublishedDoc, submit, uploadStatus]);
|
|
196
|
+
}, [api, collectionSlug, globalSlug, id, setHasPublishedDoc, setMostRecentVersionIsAutosaved, setUnpublishedVersionCount, submit, uploadStatus]);
|
|
195
197
|
// Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'
|
|
196
198
|
const isDefaultPublishAll = !isSpecificLocalePublishEnabled || localization && localization?.defaultLocalePublishOption !== 'active';
|
|
197
199
|
const activeLocale = localization && localization?.locales.find(locale_0 => typeof locale_0 === 'string' ? locale_0 === localeCode : locale_0.code === localeCode);
|