@payloadcms/ui 4.0.0-internal.a7ca468 → 4.0.0-internal.af6aad0
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/AddNewRelation/index.css +0 -4
- package/dist/elements/AddNewRelation/index.js +2 -2
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.css +5 -0
- package/dist/elements/AppHeader/index.d.ts +1 -8
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +4 -13
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +45 -32
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/Button/index.css +25 -2
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +1 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +1 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +84 -62
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- package/dist/elements/Drawer/types.d.ts +2 -2
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Dropzone/index.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/FileManager/index.css +0 -30
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +379 -287
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -15
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
- package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +120 -95
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +3 -34
- package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.css +4 -53
- package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +136 -99
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +7 -3
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.css +2 -9
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js +6 -73
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
- package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/types.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -186
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +1 -21
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -29
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +8 -9
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +29 -47
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
- package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
- package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +3 -2
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +4 -0
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +12 -18
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +1 -2
- package/dist/elements/Nav/context.d.ts +0 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +92 -67
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/index.css +47 -42
- package/dist/elements/Nav/index.d.ts +4 -0
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +16 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.css +29 -15
- package/dist/elements/Popup/PopupButtonList/index.css +33 -17
- package/dist/elements/Popup/index.css +6 -0
- package/dist/elements/Popup/index.d.ts +10 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +13 -6
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +5 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +5 -2
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +58 -0
- package/dist/elements/SegmentedControl/index.d.ts +19 -0
- package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
- package/dist/elements/SegmentedControl/index.js +104 -0
- package/dist/elements/SegmentedControl/index.js.map +1 -0
- package/dist/elements/SelectAll/index.d.ts.map +1 -1
- package/dist/elements/SelectAll/index.js +1 -2
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +1 -2
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarRow/index.css +1 -5
- package/dist/elements/SidebarToggle/index.css +3 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/StepNav/DropTarget/index.css +20 -0
- package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
- package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
- package/dist/elements/StepNav/DropTarget/index.js +71 -0
- package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +147 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +6 -0
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.css +39 -32
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -99
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
- package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
- package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.js +201 -0
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.css +31 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.js +62 -0
- package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +32 -2
- package/dist/elements/UserMenu/index.d.ts +1 -0
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +77 -51
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
- package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
- package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
- package/dist/elements/ViewModeToggle/index.d.ts +8 -0
- package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
- package/dist/elements/ViewModeToggle/index.js +29 -0
- package/dist/elements/ViewModeToggle/index.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.js +32 -0
- package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +15 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +6 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +2 -0
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +38 -10
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -0
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +22 -19
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +35 -7
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -2
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +134 -152
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +168 -155
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +24 -6
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +2 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +24 -0
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +44 -16
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/Input.spec.js +241 -0
- package/dist/fields/Upload/Input.spec.js.map +1 -0
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +4 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/icons/CollapseLayers/index.css +5 -0
- package/dist/icons/CollapseLayers/index.d.ts +7 -0
- package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
- package/dist/icons/CollapseLayers/index.js +23 -0
- package/dist/icons/CollapseLayers/index.js.map +1 -0
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/Table/index.css +5 -0
- package/dist/icons/Table/index.d.ts +7 -0
- package/dist/icons/Table/index.d.ts.map +1 -0
- package/dist/icons/Table/index.js +25 -0
- package/dist/icons/Table/index.js.map +1 -0
- package/dist/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +2 -56
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +5 -1
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
- package/dist/providers/FormErrorHandler/index.js.map +1 -1
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +53 -24
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Hierarchy/types.d.ts +2 -0
- package/dist/providers/Hierarchy/types.d.ts.map +1 -1
- package/dist/providers/Hierarchy/types.js.map +1 -1
- package/dist/providers/HierarchyDnd/index.css +51 -0
- package/dist/providers/HierarchyDnd/index.d.ts +21 -0
- package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
- package/dist/providers/HierarchyDnd/index.js +163 -0
- package/dist/providers/HierarchyDnd/index.js.map +1 -0
- package/dist/providers/HierarchyDnd/types.d.ts +56 -0
- package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
- package/dist/providers/HierarchyDnd/types.js +21 -0
- package/dist/providers/HierarchyDnd/types.js.map +1 -0
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +41 -36
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Root/index.js +4 -4
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/templates/Default/Wrapper/index.css +2 -1
- package/dist/templates/Default/Wrapper/index.d.ts +2 -0
- package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +12 -6
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.css +3 -1
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +19 -15
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.js +0 -5
- package/dist/utilities/formatMetadata.js.map +1 -1
- package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
- package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
- package/dist/utilities/getFilesFromClipboard.js +49 -0
- package/dist/utilities/getFilesFromClipboard.js.map +1 -0
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +1 -0
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
- package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +11 -10
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +103 -20
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +1 -10
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -3
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.d.ts.map +1 -1
- package/dist/views/List/ListSelection/index.js +138 -122
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/handleHierarchy.d.ts +6 -1
- package/dist/views/List/handleHierarchy.d.ts.map +1 -1
- package/dist/views/List/handleHierarchy.js +34 -3
- package/dist/views/List/handleHierarchy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +128 -18
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +5 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +27 -16
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +8 -2
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +1 -0
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/package.json +4 -4
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
|
@@ -1,216 +1,131 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
4
|
import { formatAdminURL } from 'payload/shared';
|
|
6
|
-
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
5
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
7
6
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
8
7
|
import { useHierarchy } from '../../../providers/Hierarchy/index.js';
|
|
9
|
-
import { useRouter, useSearchParams } from '../../../providers/RouterAdapter/index.js';
|
|
8
|
+
import { usePathname, useRouter, useSearchParams } from '../../../providers/RouterAdapter/index.js';
|
|
10
9
|
import { useRouteTransition } from '../../../providers/RouteTransition/index.js';
|
|
11
10
|
import { useSidebarTabs } from '../../../providers/SidebarTabs/index.js';
|
|
11
|
+
import { getFolderHierarchySlug } from '../getFolderHierarchySlug.js';
|
|
12
12
|
import { HydrateHierarchyProvider } from '../HydrateProvider/index.js';
|
|
13
13
|
import { HierarchySearch } from '../Search/index.js';
|
|
14
14
|
import { HierarchyTree } from './index.js';
|
|
15
|
-
export const HierarchySidebarTab =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
typeFieldName,
|
|
29
|
-
useAsTitle
|
|
30
|
-
} = t0;
|
|
15
|
+
export const HierarchySidebarTab = ({
|
|
16
|
+
baseFilter,
|
|
17
|
+
hierarchyCollectionSlug,
|
|
18
|
+
icon: _icon,
|
|
19
|
+
initialData,
|
|
20
|
+
initialExpandedNodes,
|
|
21
|
+
initialSelectedFilters,
|
|
22
|
+
parentFieldName,
|
|
23
|
+
selectedNodeId: selectedNodeIdFromServer,
|
|
24
|
+
treeLimit,
|
|
25
|
+
typeFieldName,
|
|
26
|
+
useAsTitle
|
|
27
|
+
}) => {
|
|
31
28
|
const router = useRouter();
|
|
29
|
+
const pathname = usePathname();
|
|
32
30
|
const searchParams = useSearchParams();
|
|
33
31
|
const {
|
|
34
32
|
startRouteTransition
|
|
35
33
|
} = useRouteTransition();
|
|
36
34
|
const {
|
|
37
|
-
config
|
|
35
|
+
config,
|
|
36
|
+
config: {
|
|
37
|
+
routes: {
|
|
38
|
+
admin: adminRoute
|
|
39
|
+
}
|
|
40
|
+
}
|
|
38
41
|
} = useConfig();
|
|
39
|
-
const {
|
|
40
|
-
routes: t2
|
|
41
|
-
} = t1;
|
|
42
|
-
const {
|
|
43
|
-
admin: adminRoute
|
|
44
|
-
} = t2;
|
|
45
42
|
const [isSearchActive, setIsSearchActive] = useState(false);
|
|
46
|
-
let t3;
|
|
47
|
-
if ($[0] !== initialSelectedFilters) {
|
|
48
|
-
t3 = initialSelectedFilters ?? [];
|
|
49
|
-
$[0] = initialSelectedFilters;
|
|
50
|
-
$[1] = t3;
|
|
51
|
-
} else {
|
|
52
|
-
t3 = $[1];
|
|
53
|
-
}
|
|
54
|
-
const [selectedFilters, setSelectedFiltersLocal] = useState(t3);
|
|
55
43
|
const {
|
|
56
|
-
setSelectedFilters: setSelectedFiltersContext,
|
|
57
44
|
treeRefreshKeys
|
|
58
45
|
} = useHierarchy();
|
|
59
46
|
const sidebarTabs = useSidebarTabs();
|
|
60
|
-
const resolvedParentFieldName = parentFieldName ??
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
} else {
|
|
68
|
-
t4 = $[4];
|
|
69
|
-
}
|
|
70
|
-
const currentParentParam = t4;
|
|
47
|
+
const resolvedParentFieldName = parentFieldName ?? 'parent';
|
|
48
|
+
const currentParentParam = searchParams.get(resolvedParentFieldName);
|
|
49
|
+
// When refreshTree(slug) is called from the list view (e.g. after mutations), reload this tab.
|
|
50
|
+
// Always reload regardless of active state so inactive tabs are fresh when switched to.
|
|
51
|
+
// The render-tab server function runs with a fresh request that lacks the client's URL query,
|
|
52
|
+
// so forward the current selected parent id — otherwise the reload can't tell which node is
|
|
53
|
+
// being viewed and rebuilds the tree from preference state.
|
|
71
54
|
const tabSlug = `hierarchy-${hierarchyCollectionSlug}`;
|
|
72
55
|
const isActiveTab = sidebarTabs?.activeTabSlug === tabSlug;
|
|
73
|
-
|
|
74
|
-
if ($[5] !== hierarchyCollectionSlug || $[6] !== treeRefreshKeys) {
|
|
75
|
-
t5 = treeRefreshKeys.get(hierarchyCollectionSlug) ?? 0;
|
|
76
|
-
$[5] = hierarchyCollectionSlug;
|
|
77
|
-
$[6] = treeRefreshKeys;
|
|
78
|
-
$[7] = t5;
|
|
79
|
-
} else {
|
|
80
|
-
t5 = $[7];
|
|
81
|
-
}
|
|
82
|
-
const treeRefreshKey = t5;
|
|
56
|
+
const treeRefreshKey = treeRefreshKeys.get(hierarchyCollectionSlug) ?? 0;
|
|
83
57
|
const prevTreeRefreshKeyRef = useRef(treeRefreshKey);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
t7 = [treeRefreshKey, sidebarTabs, tabSlug, isActiveTab, currentParentParam, resolvedParentFieldName];
|
|
98
|
-
$[8] = currentParentParam;
|
|
99
|
-
$[9] = isActiveTab;
|
|
100
|
-
$[10] = resolvedParentFieldName;
|
|
101
|
-
$[11] = sidebarTabs;
|
|
102
|
-
$[12] = tabSlug;
|
|
103
|
-
$[13] = treeRefreshKey;
|
|
104
|
-
$[14] = t6;
|
|
105
|
-
$[15] = t7;
|
|
106
|
-
} else {
|
|
107
|
-
t6 = $[14];
|
|
108
|
-
t7 = $[15];
|
|
109
|
-
}
|
|
110
|
-
useEffect(t6, t7);
|
|
111
|
-
const selectedNodeId = isActiveTab ? currentParentParam ?? selectedNodeIdFromServer ?? undefined : undefined;
|
|
112
|
-
let t8;
|
|
113
|
-
if ($[16] !== baseFilter) {
|
|
114
|
-
t8 = baseFilter ? JSON.stringify(baseFilter) : "";
|
|
115
|
-
$[16] = baseFilter;
|
|
116
|
-
$[17] = t8;
|
|
117
|
-
} else {
|
|
118
|
-
t8 = $[17];
|
|
119
|
-
}
|
|
120
|
-
const baseFilterKey = t8;
|
|
121
|
-
let t9;
|
|
122
|
-
if ($[18] !== setSelectedFiltersContext) {
|
|
123
|
-
t9 = filters => {
|
|
124
|
-
setSelectedFiltersLocal(filters);
|
|
125
|
-
setSelectedFiltersContext(filters);
|
|
126
|
-
};
|
|
127
|
-
$[18] = setSelectedFiltersContext;
|
|
128
|
-
$[19] = t9;
|
|
129
|
-
} else {
|
|
130
|
-
t9 = $[19];
|
|
131
|
-
}
|
|
132
|
-
const handleFilterChange = t9;
|
|
133
|
-
let t10;
|
|
134
|
-
if ($[20] !== adminRoute || $[21] !== hierarchyCollectionSlug || $[22] !== resolvedParentFieldName || $[23] !== router || $[24] !== startRouteTransition) {
|
|
135
|
-
t10 = t11 => {
|
|
136
|
-
const {
|
|
137
|
-
id
|
|
138
|
-
} = t11;
|
|
139
|
-
const url = formatAdminURL({
|
|
140
|
-
adminRoute,
|
|
141
|
-
path: `/collections/${hierarchyCollectionSlug}/hierarchy?${resolvedParentFieldName}=${id}`
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (prevTreeRefreshKeyRef.current !== treeRefreshKey) {
|
|
60
|
+
prevTreeRefreshKeyRef.current = treeRefreshKey;
|
|
61
|
+
// Only forward the selected parent id when this tab is active. currentParentParam
|
|
62
|
+
// reflects the global URL search params, so an inactive tab could otherwise pick up
|
|
63
|
+
// another hierarchy collection's value if they share the same parentFieldName.
|
|
64
|
+
sidebarTabs?.reloadTabContent(tabSlug, {
|
|
65
|
+
searchParams: isActiveTab && currentParentParam ? {
|
|
66
|
+
[resolvedParentFieldName]: currentParentParam
|
|
67
|
+
} : undefined
|
|
142
68
|
});
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
treeData: initialData,
|
|
168
|
-
treeLimit,
|
|
169
|
-
typeFieldName
|
|
170
|
-
}), _jsxs("div", {
|
|
171
|
-
className: "hierarchy-sidebar-tab",
|
|
172
|
-
children: [_jsx(HierarchySearch, {
|
|
173
|
-
collectionSlug: hierarchyCollectionSlug,
|
|
174
|
-
collectionSpecificOptions,
|
|
175
|
-
isActive: isSearchActive,
|
|
176
|
-
onActiveChange: setIsSearchActive,
|
|
177
|
-
onFilterChange: handleFilterChange,
|
|
178
|
-
onSelect: handleNavigateToParent,
|
|
179
|
-
selectedFilters
|
|
180
|
-
}), !isSearchActive && _jsx(HierarchyTree, {
|
|
181
|
-
baseFilter,
|
|
182
|
-
collectionSlug: hierarchyCollectionSlug,
|
|
183
|
-
filterByCollections: selectedFilters.length > 0 ? selectedFilters : undefined,
|
|
184
|
-
icon,
|
|
185
|
-
initialData,
|
|
186
|
-
initialExpandedNodes,
|
|
187
|
-
onNodeClick: handleNavigateToParent,
|
|
188
|
-
selectedNodeId,
|
|
189
|
-
useAsTitle
|
|
190
|
-
}, `${hierarchyCollectionSlug}-${baseFilterKey}`)]
|
|
191
|
-
})]
|
|
69
|
+
}
|
|
70
|
+
}, [treeRefreshKey, sidebarTabs, tabSlug, isActiveTab, currentParentParam, resolvedParentFieldName]);
|
|
71
|
+
// Only highlight selected node when this tab is active
|
|
72
|
+
const selectedNodeId = isActiveTab ? currentParentParam ?? selectedNodeIdFromServer ?? undefined : undefined;
|
|
73
|
+
const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : '';
|
|
74
|
+
/**
|
|
75
|
+
* When the user is already browsing a collection by folder, clicking a folder in the tree keeps
|
|
76
|
+
* them in that collection rather than switching to the folder collection's own view.
|
|
77
|
+
*/
|
|
78
|
+
const browsedCollectionSlug = useMemo(() => {
|
|
79
|
+
const routeSlug = pathname?.match(/\/collections\/([^/]+)\/hierarchy/)?.[1];
|
|
80
|
+
if (!routeSlug || routeSlug === hierarchyCollectionSlug) {
|
|
81
|
+
return hierarchyCollectionSlug;
|
|
82
|
+
}
|
|
83
|
+
// Only follow the route when it really is scoped to this tree - another hierarchy's tab must
|
|
84
|
+
// not start linking into an unrelated collection.
|
|
85
|
+
return getFolderHierarchySlug(config.collections, routeSlug) === hierarchyCollectionSlug ? routeSlug : hierarchyCollectionSlug;
|
|
86
|
+
}, [config.collections, hierarchyCollectionSlug, pathname]);
|
|
87
|
+
const handleNavigateToParent = useCallback(({
|
|
88
|
+
id
|
|
89
|
+
}) => {
|
|
90
|
+
const url = formatAdminURL({
|
|
91
|
+
adminRoute,
|
|
92
|
+
path: `/collections/${browsedCollectionSlug}/hierarchy?${resolvedParentFieldName}=${id}`
|
|
192
93
|
});
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
94
|
+
startRouteTransition(() => {
|
|
95
|
+
router.push(url);
|
|
96
|
+
router.refresh();
|
|
97
|
+
});
|
|
98
|
+
}, [adminRoute, browsedCollectionSlug, resolvedParentFieldName, router, startRouteTransition]);
|
|
99
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
100
|
+
children: [/*#__PURE__*/_jsx(HydrateHierarchyProvider, {
|
|
101
|
+
baseFilter: baseFilter,
|
|
102
|
+
collectionSlug: hierarchyCollectionSlug,
|
|
103
|
+
expandedNodes: initialExpandedNodes,
|
|
104
|
+
parentFieldName: parentFieldName,
|
|
105
|
+
selectedFilters: initialSelectedFilters,
|
|
106
|
+
treeData: initialData,
|
|
107
|
+
treeLimit: treeLimit,
|
|
108
|
+
typeFieldName: typeFieldName
|
|
109
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
110
|
+
className: "hierarchy-sidebar-tab",
|
|
111
|
+
children: [/*#__PURE__*/_jsx(HierarchySearch, {
|
|
112
|
+
collectionSlug: hierarchyCollectionSlug,
|
|
113
|
+
isActive: isSearchActive,
|
|
114
|
+
onActiveChange: setIsSearchActive,
|
|
115
|
+
onSelect: handleNavigateToParent,
|
|
116
|
+
parentId: selectedNodeId ?? null
|
|
117
|
+
}), !isSearchActive && /*#__PURE__*/_jsx(HierarchyTree, {
|
|
118
|
+
baseFilter: baseFilter,
|
|
119
|
+
collectionSlug: hierarchyCollectionSlug,
|
|
120
|
+
filterByCollections: initialSelectedFilters?.length ? initialSelectedFilters : undefined,
|
|
121
|
+
icon: _icon,
|
|
122
|
+
initialData: initialData,
|
|
123
|
+
initialExpandedNodes: initialExpandedNodes,
|
|
124
|
+
onNodeClick: handleNavigateToParent,
|
|
125
|
+
selectedNodeId: selectedNodeId,
|
|
126
|
+
useAsTitle: useAsTitle
|
|
127
|
+
}, `${hierarchyCollectionSlug}-${baseFilterKey}`)]
|
|
128
|
+
})]
|
|
129
|
+
});
|
|
215
130
|
};
|
|
216
131
|
//# sourceMappingURL=HierarchySidebarTab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchySidebarTab.js","names":["c","_c","formatAdminURL","React","useCallback","useEffect","useRef","useState","useConfig","useHierarchy","useRouter","useSearchParams","useRouteTransition","useSidebarTabs","HydrateHierarchyProvider","HierarchySearch","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","setSelectedFilters","setSelectedFiltersContext","treeRefreshKeys","sidebarTabs","resolvedParentFieldName","t4","get","currentParentParam","tabSlug","isActiveTab","activeTabSlug","t5","treeRefreshKey","prevTreeRefreshKeyRef","t6","t7","current","reloadTabContent","undefined","t8","JSON","stringify","baseFilterKey","t9","filters","handleFilterChange","t10","t11","id","url","path","push","refresh","handleNavigateToParent","_jsxs","_Fragment","children","_jsx","collectionSlug","expandedNodes","treeData","className","isActive","onActiveChange","onFilterChange","onSelect","filterByCollections","length","onNodeClick"],"sources":["../../../../src/elements/Hierarchy/Tree/HierarchySidebarTab.tsx"],"sourcesContent":["'use client'\n\nimport type { SidebarTabClientProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { HierarchyInitialData } from './types.js'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useRouter, useSearchParams } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useSidebarTabs } from '../../../providers/SidebarTabs/index.js'\nimport { HydrateHierarchyProvider } from '../HydrateProvider/index.js'\nimport { HierarchySearch } from '../Search/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 { setSelectedFilters: setSelectedFiltersContext, treeRefreshKeys } = useHierarchy()\n const sidebarTabs = useSidebarTabs()\n\n const resolvedParentFieldName = parentFieldName ?? 'parent'\n const currentParentParam = searchParams.get(resolvedParentFieldName)\n\n // When refreshTree(slug) is called from the list view (e.g. after mutations), reload this tab.\n // Always reload regardless of active state so inactive tabs are fresh when switched to.\n // The render-tab server function runs with a fresh request that lacks the client's URL query,\n // so forward the current selected parent id — otherwise the reload can't tell which node is\n // being viewed and rebuilds the tree from preference state.\n const tabSlug = `hierarchy-${hierarchyCollectionSlug}`\n const isActiveTab = sidebarTabs?.activeTabSlug === tabSlug\n const treeRefreshKey = treeRefreshKeys.get(hierarchyCollectionSlug) ?? 0\n const prevTreeRefreshKeyRef = useRef(treeRefreshKey)\n useEffect(() => {\n if (prevTreeRefreshKeyRef.current !== treeRefreshKey) {\n prevTreeRefreshKeyRef.current = treeRefreshKey\n // Only forward the selected parent id when this tab is active. currentParentParam\n // reflects the global URL search params, so an inactive tab could otherwise pick up\n // another hierarchy collection's value if they share the same parentFieldName.\n sidebarTabs?.reloadTabContent(tabSlug, {\n searchParams:\n isActiveTab && currentParentParam\n ? { [resolvedParentFieldName]: currentParentParam }\n : undefined,\n })\n }\n }, [\n treeRefreshKey,\n sidebarTabs,\n tabSlug,\n isActiveTab,\n currentParentParam,\n resolvedParentFieldName,\n ])\n\n // Only highlight selected node when this tab is active\n const selectedNodeId = isActiveTab\n ? (currentParentParam ?? selectedNodeIdFromServer ?? undefined)\n : undefined\n\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\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}/hierarchy?${resolvedParentFieldName}=${id}`,\n })\n startRouteTransition(() => {\n router.push(url)\n router.refresh()\n })\n },\n [adminRoute, hierarchyCollectionSlug, resolvedParentFieldName, router, startRouteTransition],\n )\n return (\n <>\n <HydrateHierarchyProvider\n baseFilter={baseFilter}\n collectionSlug={hierarchyCollectionSlug}\n expandedNodes={initialExpandedNodes}\n parentFieldName={parentFieldName}\n selectedFilters={initialSelectedFilters}\n treeData={initialData}\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={baseFilter}\n collectionSlug={hierarchyCollectionSlug}\n filterByCollections={selectedFilters.length > 0 ? selectedFilters : undefined}\n icon={icon}\n initialData={initialData}\n initialExpandedNodes={initialExpandedNodes}\n key={`${hierarchyCollectionSlug}-${baseFilterKey}`}\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":["formatAdminURL","React","useCallback","useEffect","useMemo","useRef","useState","useConfig","useHierarchy","usePathname","useRouter","useSearchParams","useRouteTransition","useSidebarTabs","getFolderHierarchySlug","HydrateHierarchyProvider","HierarchySearch","HierarchyTree","HierarchySidebarTab","baseFilter","hierarchyCollectionSlug","icon","_icon","initialData","initialExpandedNodes","initialSelectedFilters","parentFieldName","selectedNodeId","selectedNodeIdFromServer","treeLimit","typeFieldName","useAsTitle","router","pathname","searchParams","startRouteTransition","config","routes","admin","adminRoute","isSearchActive","setIsSearchActive","treeRefreshKeys","sidebarTabs","resolvedParentFieldName","currentParentParam","get","tabSlug","isActiveTab","activeTabSlug","treeRefreshKey","prevTreeRefreshKeyRef","current","reloadTabContent","undefined","baseFilterKey","JSON","stringify","browsedCollectionSlug","routeSlug","match","collections","handleNavigateToParent","id","url","path","push","refresh","_jsxs","_Fragment","_jsx","collectionSlug","expandedNodes","selectedFilters","treeData","className","isActive","onActiveChange","onSelect","parentId","filterByCollections","length","onNodeClick"],"sources":["../../../../src/elements/Hierarchy/Tree/HierarchySidebarTab.tsx"],"sourcesContent":["'use client'\n\nimport type { SidebarTabClientProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { HierarchyInitialData } from './types.js'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { usePathname, useRouter, useSearchParams } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useSidebarTabs } from '../../../providers/SidebarTabs/index.js'\nimport { getFolderHierarchySlug } from '../getFolderHierarchySlug.js'\nimport { HydrateHierarchyProvider } from '../HydrateProvider/index.js'\nimport { HierarchySearch } from '../Search/index.js'\nimport { HierarchyTree } from './index.js'\n\nexport const HierarchySidebarTab: React.FC<\n {\n baseFilter?: Record<string, unknown>\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 hierarchyCollectionSlug,\n icon: _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 pathname = usePathname()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const {\n config,\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n const [isSearchActive, setIsSearchActive] = useState(false)\n const { treeRefreshKeys } = useHierarchy()\n const sidebarTabs = useSidebarTabs()\n\n const resolvedParentFieldName = parentFieldName ?? 'parent'\n const currentParentParam = searchParams.get(resolvedParentFieldName)\n\n // When refreshTree(slug) is called from the list view (e.g. after mutations), reload this tab.\n // Always reload regardless of active state so inactive tabs are fresh when switched to.\n // The render-tab server function runs with a fresh request that lacks the client's URL query,\n // so forward the current selected parent id — otherwise the reload can't tell which node is\n // being viewed and rebuilds the tree from preference state.\n const tabSlug = `hierarchy-${hierarchyCollectionSlug}`\n const isActiveTab = sidebarTabs?.activeTabSlug === tabSlug\n const treeRefreshKey = treeRefreshKeys.get(hierarchyCollectionSlug) ?? 0\n const prevTreeRefreshKeyRef = useRef(treeRefreshKey)\n useEffect(() => {\n if (prevTreeRefreshKeyRef.current !== treeRefreshKey) {\n prevTreeRefreshKeyRef.current = treeRefreshKey\n // Only forward the selected parent id when this tab is active. currentParentParam\n // reflects the global URL search params, so an inactive tab could otherwise pick up\n // another hierarchy collection's value if they share the same parentFieldName.\n sidebarTabs?.reloadTabContent(tabSlug, {\n searchParams:\n isActiveTab && currentParentParam\n ? { [resolvedParentFieldName]: currentParentParam }\n : undefined,\n })\n }\n }, [\n treeRefreshKey,\n sidebarTabs,\n tabSlug,\n isActiveTab,\n currentParentParam,\n resolvedParentFieldName,\n ])\n\n // Only highlight selected node when this tab is active\n const selectedNodeId = isActiveTab\n ? (currentParentParam ?? selectedNodeIdFromServer ?? undefined)\n : undefined\n\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n\n /**\n * When the user is already browsing a collection by folder, clicking a folder in the tree keeps\n * them in that collection rather than switching to the folder collection's own view.\n */\n const browsedCollectionSlug = useMemo(() => {\n const routeSlug = pathname?.match(/\\/collections\\/([^/]+)\\/hierarchy/)?.[1]\n\n if (!routeSlug || routeSlug === hierarchyCollectionSlug) {\n return hierarchyCollectionSlug\n }\n\n // Only follow the route when it really is scoped to this tree - another hierarchy's tab must\n // not start linking into an unrelated collection.\n return getFolderHierarchySlug(config.collections, routeSlug) === hierarchyCollectionSlug\n ? routeSlug\n : hierarchyCollectionSlug\n }, [config.collections, hierarchyCollectionSlug, pathname])\n\n const handleNavigateToParent = useCallback(\n ({ id }: { id: number | string }) => {\n const url = formatAdminURL({\n adminRoute,\n path: `/collections/${browsedCollectionSlug}/hierarchy?${resolvedParentFieldName}=${id}`,\n })\n startRouteTransition(() => {\n router.push(url)\n router.refresh()\n })\n },\n [adminRoute, browsedCollectionSlug, resolvedParentFieldName, router, startRouteTransition],\n )\n return (\n <>\n <HydrateHierarchyProvider\n baseFilter={baseFilter}\n collectionSlug={hierarchyCollectionSlug}\n expandedNodes={initialExpandedNodes}\n parentFieldName={parentFieldName}\n selectedFilters={initialSelectedFilters}\n treeData={initialData}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n />\n <div className=\"hierarchy-sidebar-tab\">\n <HierarchySearch\n collectionSlug={hierarchyCollectionSlug}\n isActive={isSearchActive}\n onActiveChange={setIsSearchActive}\n onSelect={handleNavigateToParent}\n parentId={selectedNodeId ?? null}\n />\n {!isSearchActive && (\n <HierarchyTree\n baseFilter={baseFilter}\n collectionSlug={hierarchyCollectionSlug}\n filterByCollections={\n initialSelectedFilters?.length ? initialSelectedFilters : undefined\n }\n icon={_icon}\n initialData={initialData}\n initialExpandedNodes={initialExpandedNodes}\n key={`${hierarchyCollectionSlug}-${baseFilterKey}`}\n onNodeClick={handleNavigateToParent}\n selectedNodeId={selectedNodeId}\n useAsTitle={useAsTitle}\n />\n )}\n </div>\n </>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAIzE,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,WAAW,EAAEC,SAAS,EAAEC,eAAe,QAAQ;AACxD,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ;AACvC,SAASC,wBAAwB,QAAQ;AACzC,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,mBAAA,GAcTA,CAAC;EACHC,UAAU;EACVC,uBAAuB;EACvBC,IAAA,EAAMC,KAAK;EACXC,WAAW;EACXC,oBAAoB;EACpBC,sBAAsB;EACtBC,eAAe;EACfC,cAAA,EAAgBC,wBAAwB;EACxCC,SAAS;EACTC,aAAa;EACbC;AAAU,CACX;EACC,MAAMC,MAAA,GAAStB,SAAA;EACf,MAAMuB,QAAA,GAAWxB,WAAA;EACjB,MAAMyB,YAAA,GAAevB,eAAA;EACrB,MAAM;IAAEwB;EAAoB,CAAE,GAAGvB,kBAAA;EACjC,MAAM;IACJwB,MAAM;IACNA,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC;MAAU;IAAE;EAC9B,CACF,GAAGhC,SAAA;EACJ,MAAM,CAACiC,cAAA,EAAgBC,iBAAA,CAAkB,GAAGnC,QAAA,CAAS;EACrD,MAAM;IAAEoC;EAAe,CAAE,GAAGlC,YAAA;EAC5B,MAAMmC,WAAA,GAAc9B,cAAA;EAEpB,MAAM+B,uBAAA,GAA0BlB,eAAA,IAAmB;EACnD,MAAMmB,kBAAA,GAAqBX,YAAA,CAAaY,GAAG,CAACF,uBAAA;EAE5C;EACA;EACA;EACA;EACA;EACA,MAAMG,OAAA,GAAU,aAAa3B,uBAAA,EAAyB;EACtD,MAAM4B,WAAA,GAAcL,WAAA,EAAaM,aAAA,KAAkBF,OAAA;EACnD,MAAMG,cAAA,GAAiBR,eAAA,CAAgBI,GAAG,CAAC1B,uBAAA,KAA4B;EACvE,MAAM+B,qBAAA,GAAwB9C,MAAA,CAAO6C,cAAA;EACrC/C,SAAA,CAAU;IACR,IAAIgD,qBAAA,CAAsBC,OAAO,KAAKF,cAAA,EAAgB;MACpDC,qBAAA,CAAsBC,OAAO,GAAGF,cAAA;MAChC;MACA;MACA;MACAP,WAAA,EAAaU,gBAAA,CAAiBN,OAAA,EAAS;QACrCb,YAAA,EACEc,WAAA,IAAeH,kBAAA,GACX;UAAE,CAACD,uBAAA,GAA0BC;QAAmB,IAChDS;MACR;IACF;EACF,GAAG,CACDJ,cAAA,EACAP,WAAA,EACAI,OAAA,EACAC,WAAA,EACAH,kBAAA,EACAD,uBAAA,CACD;EAED;EACA,MAAMjB,cAAA,GAAiBqB,WAAA,GAClBH,kBAAA,IAAsBjB,wBAAA,IAA4B0B,SAAA,GACnDA,SAAA;EAEJ,MAAMC,aAAA,GAAgBpC,UAAA,GAAaqC,IAAA,CAAKC,SAAS,CAACtC,UAAA,IAAc;EAEhE;;;;EAIA,MAAMuC,qBAAA,GAAwBtD,OAAA,CAAQ;IACpC,MAAMuD,SAAA,GAAY1B,QAAA,EAAU2B,KAAA,CAAM,uCAAuC,EAAE;IAE3E,IAAI,CAACD,SAAA,IAAaA,SAAA,KAAcvC,uBAAA,EAAyB;MACvD,OAAOA,uBAAA;IACT;IAEA;IACA;IACA,OAAON,sBAAA,CAAuBsB,MAAA,CAAOyB,WAAW,EAAEF,SAAA,MAAevC,uBAAA,GAC7DuC,SAAA,GACAvC,uBAAA;EACN,GAAG,CAACgB,MAAA,CAAOyB,WAAW,EAAEzC,uBAAA,EAAyBa,QAAA,CAAS;EAE1D,MAAM6B,sBAAA,GAAyB5D,WAAA,CAC7B,CAAC;IAAE6D;EAAE,CAA2B;IAC9B,MAAMC,GAAA,GAAMhE,cAAA,CAAe;MACzBuC,UAAA;MACA0B,IAAA,EAAM,gBAAgBP,qBAAA,cAAmCd,uBAAA,IAA2BmB,EAAA;IACtF;IACA5B,oBAAA,CAAqB;MACnBH,MAAA,CAAOkC,IAAI,CAACF,GAAA;MACZhC,MAAA,CAAOmC,OAAO;IAChB;EACF,GACA,CAAC5B,UAAA,EAAYmB,qBAAA,EAAuBd,uBAAA,EAAyBZ,MAAA,EAAQG,oBAAA,CAAqB;EAE5F,oBACEiC,KAAA,CAAAC,SAAA;4BACEC,IAAA,CAACvD,wBAAA;MACCI,UAAA,EAAYA,UAAA;MACZoD,cAAA,EAAgBnD,uBAAA;MAChBoD,aAAA,EAAehD,oBAAA;MACfE,eAAA,EAAiBA,eAAA;MACjB+C,eAAA,EAAiBhD,sBAAA;MACjBiD,QAAA,EAAUnD,WAAA;MACVM,SAAA,EAAWA,SAAA;MACXC,aAAA,EAAeA;qBAEjBsC,KAAA,CAAC;MAAIO,SAAA,EAAU;8BACbL,IAAA,CAACtD,eAAA;QACCuD,cAAA,EAAgBnD,uBAAA;QAChBwD,QAAA,EAAUpC,cAAA;QACVqC,cAAA,EAAgBpC,iBAAA;QAChBqC,QAAA,EAAUhB,sBAAA;QACViB,QAAA,EAAUpD,cAAA,IAAkB;UAE7B,CAACa,cAAA,iBACA8B,IAAA,CAACrD,aAAA;QACCE,UAAA,EAAYA,UAAA;QACZoD,cAAA,EAAgBnD,uBAAA;QAChB4D,mBAAA,EACEvD,sBAAA,EAAwBwD,MAAA,GAASxD,sBAAA,GAAyB6B,SAAA;QAE5DjC,IAAA,EAAMC,KAAA;QACNC,WAAA,EAAaA,WAAA;QACbC,oBAAA,EAAsBA,oBAAA;QAEtB0D,WAAA,EAAapB,sBAAA;QACbnC,cAAA,EAAgBA,cAAA;QAChBI,UAAA,EAAYA;SAHP,GAAGX,uBAAA,IAA2BmC,aAAA,EAAe;;;AAS9D","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchySidebarTab.server.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/HierarchySidebarTab.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAS,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"HierarchySidebarTab.server.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/HierarchySidebarTab.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAS,MAAM,SAAS,CAAA;AAI3D,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,CA4K9E,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { getTranslation } from '@payloadcms/translations';
|
|
3
2
|
import { DEFAULT_HIERARCHY_TREE_LIMIT, getInitialTreeData } from 'payload';
|
|
4
3
|
import { PREFERENCE_KEYS } from 'payload/shared';
|
|
5
4
|
import React from 'react';
|
|
@@ -9,7 +8,6 @@ import { TagIcon } from '../../../icons/Tag/index.js';
|
|
|
9
8
|
import { RenderServerComponent } from '../../RenderServerComponent/index.js';
|
|
10
9
|
export const HierarchySidebarTabServer = async ({
|
|
11
10
|
hierarchyCollectionSlug,
|
|
12
|
-
i18n,
|
|
13
11
|
payload,
|
|
14
12
|
req,
|
|
15
13
|
searchParams,
|
|
@@ -26,22 +24,16 @@ export const HierarchySidebarTabServer = async ({
|
|
|
26
24
|
let treeLimit;
|
|
27
25
|
let typeFieldName;
|
|
28
26
|
let useAsTitle;
|
|
29
|
-
let collectionSpecificOptions = [];
|
|
30
27
|
let baseFilter = null;
|
|
31
28
|
// Get collection config and render icon (outside try block - doesn't need async)
|
|
32
29
|
const collectionConfig = payload.collections[hierarchyCollectionSlug]?.config;
|
|
33
30
|
const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
|
|
34
31
|
const IconComponent = hierarchyConfig?.admin?.components?.SmallIcon;
|
|
35
32
|
const icon = IconComponent ? RenderServerComponent({
|
|
36
|
-
clientProps: {
|
|
37
|
-
size: 16
|
|
38
|
-
},
|
|
39
33
|
Component: IconComponent,
|
|
40
34
|
importMap: payload.importMap,
|
|
41
35
|
key: `hierarchy-sidebar-icon-${hierarchyCollectionSlug}`
|
|
42
|
-
}) : /*#__PURE__*/_jsx(TagIcon, {
|
|
43
|
-
size: 16
|
|
44
|
-
});
|
|
36
|
+
}) : /*#__PURE__*/_jsx(TagIcon, {});
|
|
45
37
|
try {
|
|
46
38
|
// Get parentFieldName from config first (needed for URL parsing)
|
|
47
39
|
parentFieldName = hierarchyConfig?.parentFieldName ?? 'parent';
|
|
@@ -84,17 +76,6 @@ export const HierarchySidebarTabServer = async ({
|
|
|
84
76
|
treeLimit = hierarchyConfig?.admin?.treeLimit;
|
|
85
77
|
typeFieldName = hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object' ? hierarchyConfig.collectionSpecific.fieldName : undefined;
|
|
86
78
|
useAsTitle = collectionConfig?.admin?.useAsTitle;
|
|
87
|
-
// STEP 2.5: Build collection-specific options from related collections
|
|
88
|
-
if (hierarchyConfig.collectionSpecific && hierarchyConfig?.relatedCollections) {
|
|
89
|
-
collectionSpecificOptions = Object.keys(hierarchyConfig.relatedCollections).map(slug => {
|
|
90
|
-
const relatedConfig = payload.collections[slug]?.config;
|
|
91
|
-
const label = relatedConfig?.labels?.plural ?? slug;
|
|
92
|
-
return {
|
|
93
|
-
label: getTranslation(label, i18n),
|
|
94
|
-
value: slug
|
|
95
|
-
};
|
|
96
|
-
}).sort((a, b) => a.label.localeCompare(b.label));
|
|
97
|
-
}
|
|
98
79
|
// Track the immediate parent of the selected node (for ensuring siblings are loaded)
|
|
99
80
|
let selectedNodeParentId = null;
|
|
100
81
|
// If there's a selected node, ensure its ancestor chain is expanded
|
|
@@ -168,7 +149,6 @@ export const HierarchySidebarTabServer = async ({
|
|
|
168
149
|
}
|
|
169
150
|
return /*#__PURE__*/_jsx(HierarchySidebarTab, {
|
|
170
151
|
baseFilter: baseFilter,
|
|
171
|
-
collectionSpecificOptions: collectionSpecificOptions,
|
|
172
152
|
hierarchyCollectionSlug: hierarchyCollectionSlug,
|
|
173
153
|
icon: icon,
|
|
174
154
|
initialData: initialData,
|
|
@@ -1 +1 @@
|
|
|
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","SmallIcon","icon","clientProps","size","Component","importMap","key","_jsx","selectedNodeParam","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/Hierarchy/Tree/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?.SmallIcon\n const icon = IconComponent ? (\n RenderServerComponent({\n clientProps: { size: 16 },\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-sidebar-icon-${hierarchyCollectionSlug}`,\n })\n ) : (\n <TagIcon size={16} />\n )\n\n try {\n // Get parentFieldName from config first (needed for URL parsing)\n parentFieldName = hierarchyConfig?.parentFieldName ?? 'parent'\n\n // Get selected node from URL (?<parentFieldName>=<id>)\n const selectedNodeParam = searchParams?.[parentFieldName]\n selectedNodeId = selectedNodeParam ? String(selectedNodeParam) : 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 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 // Include the selected node itself so its own children are loaded.\n expandedSet.add(selectedNodeId)\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 payload,\n selectedNodeId,\n selectedNodeParentId,\n user: req.user,\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
|
+
{"version":3,"file":"HierarchySidebarTab.server.js","names":["DEFAULT_HIERARCHY_TREE_LIMIT","getInitialTreeData","PREFERENCE_KEYS","React","HierarchySidebarTab","TagIcon","RenderServerComponent","HierarchySidebarTabServer","hierarchyCollectionSlug","payload","req","searchParams","user","initialData","initialExpandedNodes","initialSelectedFilters","selectedNodeId","parentFieldName","treeLimit","typeFieldName","useAsTitle","baseFilter","collectionConfig","collections","config","hierarchyConfig","hierarchy","undefined","IconComponent","admin","components","SmallIcon","icon","Component","importMap","key","_jsx","selectedNodeParam","String","preferenceKey","HIERARCHY_TREE","docs","preferenceDocs","find","collection","limit","overrideAccess","where","and","equals","id","preferences","value","expandedNodes","selectedFilters","collectionSpecific","fieldName","selectedNodeParentId","ancestorIds","currentNodeId","isFirstIteration","node","findByID","depth","parentId","push","expandedSet","Set","forEach","add","Array","from","baseFilterFn","baseListFilter","page","sort","collectionSlug","expandedNodeIds","length","filterByCollections","error","logger","warn","err","msg"],"sources":["../../../../src/elements/Hierarchy/Tree/HierarchySidebarTab.server.tsx"],"sourcesContent":["import type { SidebarTabServerProps, Where } from 'payload'\n\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 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 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?.SmallIcon\n const icon = IconComponent ? (\n RenderServerComponent({\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-sidebar-icon-${hierarchyCollectionSlug}`,\n })\n ) : (\n <TagIcon />\n )\n\n try {\n // Get parentFieldName from config first (needed for URL parsing)\n parentFieldName = hierarchyConfig?.parentFieldName ?? 'parent'\n\n // Get selected node from URL (?<parentFieldName>=<id>)\n const selectedNodeParam = searchParams?.[parentFieldName]\n selectedNodeId = selectedNodeParam ? String(selectedNodeParam) : 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 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 // 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 // Include the selected node itself so its own children are loaded.\n expandedSet.add(selectedNodeId)\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 payload,\n selectedNodeId,\n selectedNodeParentId,\n user: req.user,\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 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":[]}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
.tree__load-more.load-more-row {
|
|
4
4
|
padding-top: 0;
|
|
5
|
-
padding-
|
|
6
|
-
(var(--tree-depth, 0) * var(--tree-indent)) +
|
|
7
|
-
var(--
|
|
5
|
+
padding-inline-start: calc(
|
|
6
|
+
(var(--tree-depth, 0) * var(--tree-indent)) + var(--spacer-3) + var(--tree-chevron-width) +
|
|
7
|
+
var(--tree-chevron-spacing)
|
|
8
8
|
);
|
|
9
9
|
height: var(--tree-node-content-height);
|
|
10
10
|
position: relative;
|