@payloadcms/ui 3.86.0 → 3.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/elements/DocumentDrawer/ControlledDocumentDrawer.d.ts +13 -0
  2. package/dist/elements/DocumentDrawer/ControlledDocumentDrawer.d.ts.map +1 -0
  3. package/dist/elements/DocumentDrawer/ControlledDocumentDrawer.js +114 -0
  4. package/dist/elements/DocumentDrawer/ControlledDocumentDrawer.js.map +1 -0
  5. package/dist/elements/DocumentDrawer/index.d.ts +6 -0
  6. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  7. package/dist/elements/DocumentDrawer/index.js +1 -1
  8. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  9. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  10. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  11. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  12. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  13. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  14. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -1
  15. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +43 -35
  16. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  17. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +2 -7
  18. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -1
  19. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +28 -116
  20. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  21. package/dist/exports/client/index.js +24 -24
  22. package/dist/exports/client/index.js.map +4 -4
  23. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  24. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  25. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  26. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  27. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  28. package/dist/views/BrowseByFolder/index.d.ts.map +1 -1
  29. package/dist/views/BrowseByFolder/index.js +92 -37
  30. package/dist/views/BrowseByFolder/index.js.map +1 -1
  31. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  32. package/dist/views/CollectionFolder/index.js +72 -20
  33. package/dist/views/CollectionFolder/index.js.map +1 -1
  34. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/TableColumns/buildColumnState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAEV,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,MAAM,EACN,yBAAyB,EACzB,QAAQ,EACR,KAAK,EACL,aAAa,EACb,OAAO,EACP,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAG1B,SAAS,EACV,MAAM,SAAS,CAAA;AAUhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAY5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC1C,eAAe,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;IAC7C,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,YAAY,EAAE,KAAK,EAAE,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,GAAG,CACA;IACE,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC5B,GACD;IACE,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE;QACJ,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,QAAQ,CAAA;KAChB,EAAE,CAAA;CACJ,CACJ,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,oBAAoB,KAAG,MAAM,EA4NnE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/TableColumns/buildColumnState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAEV,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,MAAM,EACN,yBAAyB,EACzB,QAAQ,EACR,KAAK,EACL,aAAa,EACb,OAAO,EACP,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAG1B,SAAS,EACV,MAAM,SAAS,CAAA;AAUhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAY5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC1C,eAAe,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;IAC7C,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,YAAY,EAAE,KAAK,EAAE,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,GAAG,CACA;IACE,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC5B,GACD;IACE,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE;QACJ,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,QAAQ,CAAA;KAChB,EAAE,CAAA;CACJ,CACJ,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,oBAAoB,KAAG,MAAM,EA6NnE,CAAA"}
@@ -91,7 +91,7 @@ export const buildColumnState = args => {
91
91
  }
92
92
  let CustomLabel = undefined;
93
93
  if (dataType === 'monomorphic') {
94
- const CustomLabelToRender = serverField && 'admin' in serverField && 'components' in serverField.admin && 'Label' in serverField.admin.components && serverField.admin.components.Label !== undefined // let it return `null`
94
+ const CustomLabelToRender = serverField && 'admin' in serverField && 'components' in serverField.admin && serverField.admin.components && 'Label' in serverField.admin.components && serverField.admin.components.Label !== undefined // let it return `null`
95
95
  ? serverField.admin.components.Label : undefined;
96
96
  // TODO: customComponent will be optional in v4
97
97
  const clientProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldIsHiddenOrDisabled","fieldIsID","fieldIsPresentationalOnly","flattenTopLevelFields","React","RenderServerComponent","SortColumn","filterFieldsWithPermissions","isColumnActive","renderCell","sortFieldMap","buildColumnState","args","beforeRows","clientFields","collectionSlug","columns","customCellProps","dataType","docs","enableLinkedCell","enableRowSelections","fieldPermissions","i18n","payload","req","serverFields","sortColumnProps","useAsTitle","viewType","sortedFieldMap","fields","keepPresentationalFields","moveSubFieldsToTop","_sortedFieldMap","idFieldIndex","findIndex","field","idField","splice","unshift","useAsTitleFieldIndex","name","useAsTitleField","sortTo","activeColumnsIndices","sorted","reduce","acc","clientField","colIndex","accessor","undefined","serverField","find","f","fAccessor","hasCustomCell","admin","components","Cell","type","columnPref","preference","isActive","column","includes","push","CustomLabel","CustomLabelToRender","Label","clientProps","customLabelServerProps","Component","importMap","serverProps","fieldAffectsDataSubFields","label","labelWithPrefix","dotAccessor","replace","isVirtualField","virtual","Heading","_jsx","disable","active","renderedCells","map","doc","rowIndex","relationTo","columnIndex","value","isLinkedColumn"],"sources":["../../../../src/providers/TableColumns/buildColumnState/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientComponentProps,\n ClientField,\n CollectionPreferences,\n CollectionSlug,\n Column,\n DefaultCellComponentProps,\n Document,\n Field,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n ServerComponentProps,\n StaticLabel,\n ViewTypes,\n} from 'payload'\n\nimport {\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsPresentationalOnly,\n flattenTopLevelFields,\n} from 'payload/shared'\nimport React from 'react'\n\nimport type { SortColumnProps } from '../../../elements/SortColumn/index.js'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n SortColumn,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { filterFieldsWithPermissions } from './filterFieldsWithPermissions.js'\nimport { isColumnActive } from './isColumnActive.js'\nimport { renderCell } from './renderCell.js'\nimport { sortFieldMap } from './sortFieldMap.js'\n\nexport type BuildColumnStateArgs = {\n beforeRows?: Column[]\n clientFields: ClientField[]\n columns?: CollectionPreferences['columns']\n customCellProps: DefaultCellComponentProps['customCellProps']\n enableLinkedCell?: boolean\n enableRowSelections: boolean\n enableRowTypes?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n i18n: I18nClient\n payload: Payload\n req?: PayloadRequest\n serverFields: Field[]\n sortColumnProps?: Partial<SortColumnProps>\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n} & (\n | {\n collectionSlug: CollectionSlug\n dataType: 'monomorphic'\n docs: PaginatedDocs['docs']\n }\n | {\n collectionSlug?: undefined\n dataType: 'polymorphic'\n docs: {\n relationTo: CollectionSlug\n value: Document\n }[]\n }\n)\n\nexport const buildColumnState = (args: BuildColumnStateArgs): Column[] => {\n const {\n beforeRows,\n clientFields,\n collectionSlug,\n columns,\n customCellProps,\n dataType,\n docs,\n enableLinkedCell = true,\n enableRowSelections,\n fieldPermissions,\n i18n,\n payload,\n req,\n serverFields,\n sortColumnProps,\n useAsTitle,\n viewType,\n } = args\n\n // clientFields contains the fake `id` column\n let sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({ fieldPermissions, fields: clientFields }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as ClientField[]\n\n let _sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({\n fieldPermissions,\n fields: serverFields,\n }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as Field[] // TODO: think of a way to avoid this additional flatten\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columns`\n const idFieldIndex = sortedFieldMap?.findIndex((field) => fieldIsID(field))\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columns`\n sortedFieldMap = sortFieldMap<ClientField>(sortedFieldMap, sortTo)\n _sortedFieldMap = sortFieldMap<Field>(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap?.reduce((acc, clientField, colIndex) => {\n if (fieldIsHiddenOrDisabled(clientField) && !fieldIsID(clientField)) {\n return acc\n }\n\n const accessor =\n (clientField as any).accessor ?? ('name' in clientField ? clientField.name : undefined)\n\n const serverField = _sortedFieldMap.find((f) => {\n const fAccessor = (f as any).accessor ?? ('name' in f ? f.name : undefined)\n return fAccessor === accessor\n })\n\n const hasCustomCell =\n serverField?.admin &&\n 'components' in serverField.admin &&\n serverField.admin.components &&\n 'Cell' in serverField.admin.components &&\n serverField.admin.components.Cell\n\n if (serverField && serverField.type === 'group' && !hasCustomCell) {\n return acc // skip any group without a custom cell\n }\n\n const columnPref = columns?.find(\n (preference) => clientField && 'name' in clientField && preference.accessor === accessor,\n )\n\n const isActive = isColumnActive({\n accessor,\n activeColumnsIndices,\n column: columnPref,\n columns,\n })\n\n if (isActive && !activeColumnsIndices.includes(colIndex)) {\n activeColumnsIndices.push(colIndex)\n }\n\n let CustomLabel = undefined\n\n if (dataType === 'monomorphic') {\n const CustomLabelToRender =\n serverField &&\n 'admin' in serverField &&\n 'components' in serverField.admin &&\n 'Label' in serverField.admin.components &&\n serverField.admin.components.Label !== undefined // let it return `null`\n ? serverField.admin.components.Label\n : undefined\n\n // TODO: customComponent will be optional in v4\n const clientProps: Omit<ClientComponentProps, 'customComponents'> = {\n field: clientField,\n }\n\n const customLabelServerProps: Pick<\n ServerComponentProps,\n 'clientField' | 'collectionSlug' | 'field' | 'i18n' | 'payload'\n > = {\n clientField,\n collectionSlug,\n field: serverField,\n i18n,\n payload,\n }\n\n CustomLabel = CustomLabelToRender\n ? RenderServerComponent({\n clientProps,\n Component: CustomLabelToRender,\n importMap: payload.importMap,\n serverProps: customLabelServerProps,\n })\n : undefined\n }\n\n const fieldAffectsDataSubFields =\n clientField &&\n clientField.type &&\n (clientField.type === 'array' ||\n clientField.type === 'group' ||\n clientField.type === 'blocks')\n\n const label =\n clientField && 'labelWithPrefix' in clientField && clientField.labelWithPrefix !== undefined\n ? clientField.labelWithPrefix\n : 'label' in clientField\n ? clientField.label\n : undefined\n\n // Convert accessor to dot notation specifically for SortColumn sorting behavior\n const dotAccessor = accessor?.replace(/-/g, '.')\n\n const isVirtualField = serverField && 'virtual' in serverField && serverField.virtual === true\n\n const Heading = (\n <SortColumn\n disable={\n fieldAffectsDataSubFields ||\n fieldIsPresentationalOnly(clientField) ||\n isVirtualField ||\n undefined\n }\n Label={CustomLabel}\n label={label as StaticLabel}\n name={dotAccessor}\n {...(sortColumnProps || {})}\n />\n )\n\n const column: Column = {\n accessor,\n active: isActive,\n CustomLabel,\n field: clientField,\n Heading,\n renderedCells: isActive\n ? docs.map((doc, rowIndex) => {\n return renderCell({\n clientField,\n collectionSlug: dataType === 'monomorphic' ? collectionSlug : doc.relationTo,\n columnIndex: colIndex,\n customCellProps,\n doc: dataType === 'monomorphic' ? doc : doc.value,\n enableRowSelections,\n i18n,\n isLinkedColumn: enableLinkedCell && colIndex === activeColumnsIndices[0],\n payload,\n req,\n rowIndex,\n serverField,\n viewType,\n })\n })\n : [],\n }\n\n acc.push(column)\n\n return acc\n }, [])\n\n if (beforeRows) {\n sorted.unshift(...beforeRows)\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldIsHiddenOrDisabled","fieldIsID","fieldIsPresentationalOnly","flattenTopLevelFields","React","RenderServerComponent","SortColumn","filterFieldsWithPermissions","isColumnActive","renderCell","sortFieldMap","buildColumnState","args","beforeRows","clientFields","collectionSlug","columns","customCellProps","dataType","docs","enableLinkedCell","enableRowSelections","fieldPermissions","i18n","payload","req","serverFields","sortColumnProps","useAsTitle","viewType","sortedFieldMap","fields","keepPresentationalFields","moveSubFieldsToTop","_sortedFieldMap","idFieldIndex","findIndex","field","idField","splice","unshift","useAsTitleFieldIndex","name","useAsTitleField","sortTo","activeColumnsIndices","sorted","reduce","acc","clientField","colIndex","accessor","undefined","serverField","find","f","fAccessor","hasCustomCell","admin","components","Cell","type","columnPref","preference","isActive","column","includes","push","CustomLabel","CustomLabelToRender","Label","clientProps","customLabelServerProps","Component","importMap","serverProps","fieldAffectsDataSubFields","label","labelWithPrefix","dotAccessor","replace","isVirtualField","virtual","Heading","_jsx","disable","active","renderedCells","map","doc","rowIndex","relationTo","columnIndex","value","isLinkedColumn"],"sources":["../../../../src/providers/TableColumns/buildColumnState/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientComponentProps,\n ClientField,\n CollectionPreferences,\n CollectionSlug,\n Column,\n DefaultCellComponentProps,\n Document,\n Field,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n ServerComponentProps,\n StaticLabel,\n ViewTypes,\n} from 'payload'\n\nimport {\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsPresentationalOnly,\n flattenTopLevelFields,\n} from 'payload/shared'\nimport React from 'react'\n\nimport type { SortColumnProps } from '../../../elements/SortColumn/index.js'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n SortColumn,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { filterFieldsWithPermissions } from './filterFieldsWithPermissions.js'\nimport { isColumnActive } from './isColumnActive.js'\nimport { renderCell } from './renderCell.js'\nimport { sortFieldMap } from './sortFieldMap.js'\n\nexport type BuildColumnStateArgs = {\n beforeRows?: Column[]\n clientFields: ClientField[]\n columns?: CollectionPreferences['columns']\n customCellProps: DefaultCellComponentProps['customCellProps']\n enableLinkedCell?: boolean\n enableRowSelections: boolean\n enableRowTypes?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n i18n: I18nClient\n payload: Payload\n req?: PayloadRequest\n serverFields: Field[]\n sortColumnProps?: Partial<SortColumnProps>\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n} & (\n | {\n collectionSlug: CollectionSlug\n dataType: 'monomorphic'\n docs: PaginatedDocs['docs']\n }\n | {\n collectionSlug?: undefined\n dataType: 'polymorphic'\n docs: {\n relationTo: CollectionSlug\n value: Document\n }[]\n }\n)\n\nexport const buildColumnState = (args: BuildColumnStateArgs): Column[] => {\n const {\n beforeRows,\n clientFields,\n collectionSlug,\n columns,\n customCellProps,\n dataType,\n docs,\n enableLinkedCell = true,\n enableRowSelections,\n fieldPermissions,\n i18n,\n payload,\n req,\n serverFields,\n sortColumnProps,\n useAsTitle,\n viewType,\n } = args\n\n // clientFields contains the fake `id` column\n let sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({ fieldPermissions, fields: clientFields }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as ClientField[]\n\n let _sortedFieldMap = flattenTopLevelFields(\n filterFieldsWithPermissions({\n fieldPermissions,\n fields: serverFields,\n }),\n {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n },\n ) as Field[] // TODO: think of a way to avoid this additional flatten\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columns`\n const idFieldIndex = sortedFieldMap?.findIndex((field) => fieldIsID(field))\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columns`\n sortedFieldMap = sortFieldMap<ClientField>(sortedFieldMap, sortTo)\n _sortedFieldMap = sortFieldMap<Field>(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap?.reduce((acc, clientField, colIndex) => {\n if (fieldIsHiddenOrDisabled(clientField) && !fieldIsID(clientField)) {\n return acc\n }\n\n const accessor =\n (clientField as any).accessor ?? ('name' in clientField ? clientField.name : undefined)\n\n const serverField = _sortedFieldMap.find((f) => {\n const fAccessor = (f as any).accessor ?? ('name' in f ? f.name : undefined)\n return fAccessor === accessor\n })\n\n const hasCustomCell =\n serverField?.admin &&\n 'components' in serverField.admin &&\n serverField.admin.components &&\n 'Cell' in serverField.admin.components &&\n serverField.admin.components.Cell\n\n if (serverField && serverField.type === 'group' && !hasCustomCell) {\n return acc // skip any group without a custom cell\n }\n\n const columnPref = columns?.find(\n (preference) => clientField && 'name' in clientField && preference.accessor === accessor,\n )\n\n const isActive = isColumnActive({\n accessor,\n activeColumnsIndices,\n column: columnPref,\n columns,\n })\n\n if (isActive && !activeColumnsIndices.includes(colIndex)) {\n activeColumnsIndices.push(colIndex)\n }\n\n let CustomLabel = undefined\n\n if (dataType === 'monomorphic') {\n const CustomLabelToRender =\n serverField &&\n 'admin' in serverField &&\n 'components' in serverField.admin &&\n serverField.admin.components &&\n 'Label' in serverField.admin.components &&\n serverField.admin.components.Label !== undefined // let it return `null`\n ? serverField.admin.components.Label\n : undefined\n\n // TODO: customComponent will be optional in v4\n const clientProps: Omit<ClientComponentProps, 'customComponents'> = {\n field: clientField,\n }\n\n const customLabelServerProps: Pick<\n ServerComponentProps,\n 'clientField' | 'collectionSlug' | 'field' | 'i18n' | 'payload'\n > = {\n clientField,\n collectionSlug,\n field: serverField,\n i18n,\n payload,\n }\n\n CustomLabel = CustomLabelToRender\n ? RenderServerComponent({\n clientProps,\n Component: CustomLabelToRender,\n importMap: payload.importMap,\n serverProps: customLabelServerProps,\n })\n : undefined\n }\n\n const fieldAffectsDataSubFields =\n clientField &&\n clientField.type &&\n (clientField.type === 'array' ||\n clientField.type === 'group' ||\n clientField.type === 'blocks')\n\n const label =\n clientField && 'labelWithPrefix' in clientField && clientField.labelWithPrefix !== undefined\n ? clientField.labelWithPrefix\n : 'label' in clientField\n ? clientField.label\n : undefined\n\n // Convert accessor to dot notation specifically for SortColumn sorting behavior\n const dotAccessor = accessor?.replace(/-/g, '.')\n\n const isVirtualField = serverField && 'virtual' in serverField && serverField.virtual === true\n\n const Heading = (\n <SortColumn\n disable={\n fieldAffectsDataSubFields ||\n fieldIsPresentationalOnly(clientField) ||\n isVirtualField ||\n undefined\n }\n Label={CustomLabel}\n label={label as StaticLabel}\n name={dotAccessor}\n {...(sortColumnProps || {})}\n />\n )\n\n const column: Column = {\n accessor,\n active: isActive,\n CustomLabel,\n field: clientField,\n Heading,\n renderedCells: isActive\n ? docs.map((doc, rowIndex) => {\n return renderCell({\n clientField,\n collectionSlug: dataType === 'monomorphic' ? collectionSlug : doc.relationTo,\n columnIndex: colIndex,\n customCellProps,\n doc: dataType === 'monomorphic' ? doc : doc.value,\n enableRowSelections,\n i18n,\n isLinkedColumn: enableLinkedCell && colIndex === activeColumnsIndices[0],\n payload,\n req,\n rowIndex,\n serverField,\n viewType,\n })\n })\n : [],\n }\n\n acc.push(column)\n\n return acc\n }, [])\n\n if (beforeRows) {\n sorted.unshift(...beforeRows)\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { buildColumnState } from './index.js';
3
+ vi.mock('../../../exports/client/index.js', () => ({
4
+ SortColumn: () => null
5
+ }));
6
+ describe('buildColumnState', () => {
7
+ it('should handle fields with admin components explicitly set to undefined', () => {
8
+ const clientField = {
9
+ name: 'title',
10
+ type: 'text'
11
+ };
12
+ const serverField = {
13
+ name: 'title',
14
+ type: 'text',
15
+ admin: {
16
+ components: undefined
17
+ }
18
+ };
19
+ const columns = buildColumnState({
20
+ clientFields: [clientField],
21
+ collectionSlug: 'posts',
22
+ customCellProps: {},
23
+ dataType: 'monomorphic',
24
+ docs: [],
25
+ enableRowSelections: false,
26
+ fieldPermissions: true,
27
+ i18n: {
28
+ t: vi.fn()
29
+ },
30
+ payload: {
31
+ importMap: {}
32
+ },
33
+ serverFields: [serverField],
34
+ useAsTitle: 'title'
35
+ });
36
+ expect(columns).toHaveLength(1);
37
+ expect(columns[0].CustomLabel).toBeUndefined();
38
+ });
39
+ });
40
+ //# sourceMappingURL=index.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.js","names":["describe","expect","it","vi","buildColumnState","mock","SortColumn","clientField","name","type","serverField","admin","components","undefined","columns","clientFields","collectionSlug","customCellProps","dataType","docs","enableRowSelections","fieldPermissions","i18n","t","fn","payload","importMap","serverFields","useAsTitle","toHaveLength","CustomLabel","toBeUndefined"],"sources":["../../../../src/providers/TableColumns/buildColumnState/index.spec.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, Field, Payload } from 'payload'\n\nimport { describe, expect, it, vi } from 'vitest'\n\nimport { buildColumnState } from './index.js'\n\nvi.mock('../../../exports/client/index.js', () => ({\n SortColumn: () => null,\n}))\n\ndescribe('buildColumnState', () => {\n it('should handle fields with admin components explicitly set to undefined', () => {\n const clientField: ClientField = {\n name: 'title',\n type: 'text',\n }\n const serverField: Field = {\n name: 'title',\n type: 'text',\n admin: {\n components: undefined,\n },\n }\n\n const columns = buildColumnState({\n clientFields: [clientField],\n collectionSlug: 'posts',\n customCellProps: {},\n dataType: 'monomorphic',\n docs: [],\n enableRowSelections: false,\n fieldPermissions: true,\n i18n: {\n t: vi.fn(),\n } as unknown as I18nClient,\n payload: {\n importMap: {},\n } as unknown as Payload,\n serverFields: [serverField],\n useAsTitle: 'title',\n })\n\n expect(columns).toHaveLength(1)\n expect(columns[0].CustomLabel).toBeUndefined()\n })\n})\n"],"mappings":"AAGA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ;AAEzC,SAASC,gBAAgB,QAAQ;AAEjCD,EAAA,CAAGE,IAAI,CAAC,oCAAoC,OAAO;EACjDC,UAAA,EAAYA,CAAA,KAAM;AACpB;AAEAN,QAAA,CAAS,oBAAoB;EAC3BE,EAAA,CAAG,0EAA0E;IAC3E,MAAMK,WAAA,GAA2B;MAC/BC,IAAA,EAAM;MACNC,IAAA,EAAM;IACR;IACA,MAAMC,WAAA,GAAqB;MACzBF,IAAA,EAAM;MACNC,IAAA,EAAM;MACNE,KAAA,EAAO;QACLC,UAAA,EAAYC;MACd;IACF;IAEA,MAAMC,OAAA,GAAUV,gBAAA,CAAiB;MAC/BW,YAAA,EAAc,CAACR,WAAA,CAAY;MAC3BS,cAAA,EAAgB;MAChBC,eAAA,EAAiB,CAAC;MAClBC,QAAA,EAAU;MACVC,IAAA,EAAM,EAAE;MACRC,mBAAA,EAAqB;MACrBC,gBAAA,EAAkB;MAClBC,IAAA,EAAM;QACJC,CAAA,EAAGpB,EAAA,CAAGqB,EAAE;MACV;MACAC,OAAA,EAAS;QACPC,SAAA,EAAW,CAAC;MACd;MACAC,YAAA,EAAc,CAACjB,WAAA,CAAY;MAC3BkB,UAAA,EAAY;IACd;IAEA3B,MAAA,CAAOa,OAAA,EAASe,YAAY,CAAC;IAC7B5B,MAAA,CAAOa,OAAO,CAAC,EAAE,CAACgB,WAAW,EAAEC,aAAa;EAC9C;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyBvC,OAAO,cAAc,CAAA;AAIrB,wBAAgB,yBAAyB,CAAC,EACxC,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxE,OAAO,KAAmB,MAAM,OAAO,CAAA;AA2BvC,OAAO,cAAc,CAAA;AAIrB,wBAAgB,yBAAyB,CAAC,EACxC,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
@@ -5,8 +5,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
5
5
  import { useDndMonitor } from '@dnd-kit/core';
6
6
  import { getTranslation } from '@payloadcms/translations';
7
7
  import { useRouter } from 'next/navigation.js';
8
- import { PREFERENCE_KEYS } from 'payload/shared';
8
+ import { hasAutosaveEnabled, PREFERENCE_KEYS } from 'payload/shared';
9
9
  import React, { Fragment } from 'react';
10
+ import { ControlledDocumentDrawer } from '../../elements/DocumentDrawer/ControlledDocumentDrawer.js';
10
11
  import { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js';
11
12
  import { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js';
12
13
  import { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js';
@@ -22,6 +23,7 @@ import { ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleA
22
23
  import { NoListResults } from '../../elements/NoListResults/index.js';
23
24
  import { SearchBar } from '../../elements/SearchBar/index.js';
24
25
  import { useStepNav } from '../../elements/StepNav/index.js';
26
+ import { useConfig } from '../../providers/Config/index.js';
25
27
  import { useEditDepth } from '../../providers/EditDepth/index.js';
26
28
  import { FolderProvider, useFolder } from '../../providers/Folders/index.js';
27
29
  import { usePreferences } from '../../providers/Preferences/index.js';
@@ -64,7 +66,7 @@ export function DefaultBrowseByFolderView({
64
66
  });
65
67
  }
66
68
  function BrowseByFolderViewInContext(props) {
67
- const $ = _c(20);
69
+ const $ = _c(23);
68
70
  const {
69
71
  AfterFolderList,
70
72
  AfterFolderListTable,
@@ -77,6 +79,9 @@ function BrowseByFolderViewInContext(props) {
77
79
  viewPreference
78
80
  } = props;
79
81
  const router = useRouter();
82
+ const {
83
+ config
84
+ } = useConfig();
80
85
  const {
81
86
  i18n,
82
87
  t
@@ -106,6 +111,7 @@ function BrowseByFolderViewInContext(props) {
106
111
  documents,
107
112
  dragOverlayItem,
108
113
  folderCollectionConfig,
114
+ folderFieldName,
109
115
  folderID,
110
116
  folderType,
111
117
  getFolderRoute,
@@ -117,9 +123,10 @@ function BrowseByFolderViewInContext(props) {
117
123
  setIsDragging,
118
124
  subfolders
119
125
  } = useFolder();
126
+ const [createDrawerCollectionSlug, setCreateDrawerCollectionSlug] = React.useState();
120
127
  const [activeView, setActiveView] = React.useState(viewPreference || "grid");
121
128
  let t1;
122
- if ($[0] !== breadcrumbs || $[1] !== folderCollectionConfig || $[2] !== i18n || $[3] !== t) {
129
+ if ($[0] !== breadcrumbs || $[1] !== folderCollectionConfig.labels?.plural || $[2] !== i18n || $[3] !== t) {
123
130
  t1 = () => {
124
131
  const locationLabel = breadcrumbs.length === 0 ? getTranslation(folderCollectionConfig.labels?.plural, i18n) : breadcrumbs[breadcrumbs.length - 1].name;
125
132
  return t("folder:searchByNameInFolder", {
@@ -127,7 +134,7 @@ function BrowseByFolderViewInContext(props) {
127
134
  });
128
135
  };
129
136
  $[0] = breadcrumbs;
130
- $[1] = folderCollectionConfig;
137
+ $[1] = folderCollectionConfig.labels?.plural;
131
138
  $[2] = i18n;
132
139
  $[3] = t;
133
140
  $[4] = t1;
@@ -159,16 +166,32 @@ function BrowseByFolderViewInContext(props) {
159
166
  const onDragEnd = t2;
160
167
  const totalDocsAndSubfolders = documents.length + subfolders.length;
161
168
  const listHeaderTitle = !breadcrumbs.length ? t("folder:browseByFolder") : breadcrumbs[breadcrumbs.length - 1].name;
169
+ const activeCreateDrawerCollectionSlug = createDrawerCollectionSlug || folderCollectionConfig.slug;
170
+ let t3;
171
+ if ($[9] !== activeCreateDrawerCollectionSlug) {
172
+ t3 = t4 => {
173
+ const {
174
+ slug
175
+ } = t4;
176
+ return slug === activeCreateDrawerCollectionSlug;
177
+ };
178
+ $[9] = activeCreateDrawerCollectionSlug;
179
+ $[10] = t3;
180
+ } else {
181
+ t3 = $[10];
182
+ }
183
+ const activeCreateDrawerCollectionConfig = config.collections.find(t3);
184
+ const isCreatingFolder = activeCreateDrawerCollectionSlug === folderCollectionConfig.slug;
162
185
  const handleSetViewType = view => {
163
186
  setPreference(PREFERENCE_KEYS.BROWSE_BY_FOLDER, {
164
187
  viewPreference: view
165
188
  });
166
189
  setActiveView(view);
167
190
  };
168
- let t3;
169
191
  let t4;
170
- if ($[9] !== breadcrumbs || $[10] !== drawerDepth || $[11] !== getFolderRoute || $[12] !== router || $[13] !== setStepNav || $[14] !== startRouteTransition || $[15] !== t) {
171
- t3 = () => {
192
+ let t5;
193
+ if ($[11] !== breadcrumbs || $[12] !== drawerDepth || $[13] !== getFolderRoute || $[14] !== router || $[15] !== setStepNav || $[16] !== startRouteTransition || $[17] !== t) {
194
+ t4 = () => {
172
195
  if (!drawerDepth) {
173
196
  setStepNav([!breadcrumbs.length ? {
174
197
  label: _jsxs("div", {
@@ -200,34 +223,49 @@ function BrowseByFolderViewInContext(props) {
200
223
  }))]);
201
224
  }
202
225
  };
203
- t4 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
204
- $[9] = breadcrumbs;
205
- $[10] = drawerDepth;
206
- $[11] = getFolderRoute;
207
- $[12] = router;
208
- $[13] = setStepNav;
209
- $[14] = startRouteTransition;
210
- $[15] = t;
211
- $[16] = t3;
212
- $[17] = t4;
226
+ t5 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
227
+ $[11] = breadcrumbs;
228
+ $[12] = drawerDepth;
229
+ $[13] = getFolderRoute;
230
+ $[14] = router;
231
+ $[15] = setStepNav;
232
+ $[16] = startRouteTransition;
233
+ $[17] = t;
234
+ $[18] = t4;
235
+ $[19] = t5;
213
236
  } else {
214
- t3 = $[16];
215
- t4 = $[17];
237
+ t4 = $[18];
238
+ t5 = $[19];
216
239
  }
217
- React.useEffect(t3, t4);
218
- const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(slug => slug !== folderCollectionConfig.slug);
219
- let t5;
220
- if ($[18] !== refineFolderData) {
221
- t5 = search_0 => refineFolderData({
240
+ React.useEffect(t4, t5);
241
+ const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(slug_0 => slug_0 !== folderCollectionConfig.slug);
242
+ const folderAssignedCollectionSlugs = Array.isArray(folderType) ? folderType : [];
243
+ const handleRequestCreate = collectionSlug => {
244
+ setCreateDrawerCollectionSlug(collectionSlug);
245
+ };
246
+ let t6;
247
+ if ($[20] !== refineFolderData) {
248
+ t6 = search_0 => refineFolderData({
222
249
  query: {
223
250
  search: search_0
224
251
  },
225
252
  updateURL: true
226
253
  });
227
- $[18] = refineFolderData;
228
- $[19] = t5;
254
+ $[20] = refineFolderData;
255
+ $[21] = t6;
229
256
  } else {
230
- t5 = $[19];
257
+ t6 = $[21];
258
+ }
259
+ let t7;
260
+ if ($[22] === Symbol.for("react.memo_cache_sentinel")) {
261
+ t7 = isOpen => {
262
+ if (!isOpen) {
263
+ setCreateDrawerCollectionSlug(undefined);
264
+ }
265
+ };
266
+ $[22] = t7;
267
+ } else {
268
+ t7 = $[22];
231
269
  }
232
270
  return _jsxs(Fragment, {
233
271
  children: [_jsx(DndEventListener, {
@@ -248,9 +286,7 @@ function BrowseByFolderViewInContext(props) {
248
286
  TitleActions: [allowCreateCollectionSlugs.length && _jsx(ListCreateNewDocInFolderButton, {
249
287
  buttonLabel: allowCreateCollectionSlugs.length > 1 ? t("general:createNew") : `${t("general:create")} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`,
250
288
  collectionSlugs: allowCreateCollectionSlugs,
251
- folderAssignedCollections: Array.isArray(folderType) ? folderType : [],
252
- onCreateSuccess: clearRouteCache,
253
- slugPrefix: "create-document--header-pill"
289
+ onRequestCreate: handleRequestCreate
254
290
  }, "create-new-button")].filter(Boolean)
255
291
  }), _jsx(SearchBar, {
256
292
  Actions: [_jsx(SortByPill, {}, "sort-by-pill"), folderID && _jsx(FilterFolderTypePill, {}, "collection-type"), _jsx(ToggleViewButtons, {
@@ -258,7 +294,7 @@ function BrowseByFolderViewInContext(props) {
258
294
  setActiveView: handleSetViewType
259
295
  }, "toggle-view-buttons"), _jsx(CurrentFolderActions, {}, "current-folder-actions")].filter(Boolean),
260
296
  label: searchPlaceholder,
261
- onSearchChange: t5,
297
+ onSearchChange: t6,
262
298
  searchQueryParam: search
263
299
  }), BeforeFolderListTable, totalDocsAndSubfolders > 0 && _jsx(_Fragment, {
264
300
  children: activeView === "grid" ? _jsxs("div", {
@@ -283,17 +319,13 @@ function BrowseByFolderViewInContext(props) {
283
319
  buttonSize: "medium",
284
320
  buttonStyle: "primary",
285
321
  collectionSlugs: [folderCollectionConfig.slug],
286
- folderAssignedCollections: Array.isArray(folderType) ? folderType : [],
287
- onCreateSuccess: clearRouteCache,
288
- slugPrefix: "create-folder--no-results"
322
+ onRequestCreate: handleRequestCreate
289
323
  }, "create-folder"), folderID && nonFolderCollectionSlugs.length > 0 && _jsx(ListCreateNewDocInFolderButton, {
290
324
  buttonLabel: `${t("general:create")} ${t("general:document").toLowerCase()}`,
291
325
  buttonSize: "medium",
292
326
  buttonStyle: "primary",
293
327
  collectionSlugs: nonFolderCollectionSlugs,
294
- folderAssignedCollections: Array.isArray(folderType) ? folderType : [],
295
- onCreateSuccess: clearRouteCache,
296
- slugPrefix: "create-document--no-results"
328
+ onRequestCreate: handleRequestCreate
297
329
  }, "create-document")].filter(Boolean),
298
330
  Message: _jsxs(_Fragment, {
299
331
  children: [_jsx("h3", {
@@ -307,6 +339,29 @@ function BrowseByFolderViewInContext(props) {
307
339
  }), selectedItemKeys.size > 0 && dragOverlayItem && _jsx(DragOverlaySelection, {
308
340
  item: dragOverlayItem,
309
341
  selectedCount: selectedItemKeys.size
342
+ }), _jsx(ControlledDocumentDrawer, {
343
+ collectionSlug: activeCreateDrawerCollectionSlug,
344
+ initialData: {
345
+ [folderFieldName]: folderID,
346
+ ...(isCreatingFolder ? {
347
+ folderType: folderAssignedCollectionSlugs
348
+ } : {})
349
+ },
350
+ isOpen: Boolean(createDrawerCollectionSlug),
351
+ onOpenChange: t7,
352
+ onSave: t8 => {
353
+ const {
354
+ operation
355
+ } = t8;
356
+ const isAutosaveCollection = hasAutosaveEnabled(activeCreateDrawerCollectionConfig);
357
+ if (isAutosaveCollection || operation === "create") {
358
+ clearRouteCache();
359
+ }
360
+ if (operation === "create" && !isAutosaveCollection) {
361
+ setCreateDrawerCollectionSlug(undefined);
362
+ }
363
+ },
364
+ redirectAfterCreate: false
310
365
  })]
311
366
  });
312
367
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","PREFERENCE_KEYS","React","Fragment","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","FilterFolderTypePill","FolderFileTable","ItemCardGrid","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultBrowseByFolderView","activeCollectionFolderSlugs","allCollectionFolderSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","subfolders","restOfProps","_jsx","BrowseByFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","Description","disableBulkDelete","disableBulkEdit","folderAssignedCollections","viewPreference","router","i18n","t","drawerDepth","setStepNav","startRouteTransition","clearRouteCache","breakpoints","t0","s","smallBreak","setPreference","dragOverlayItem","folderCollectionConfig","folderType","getFolderRoute","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","activeView","setActiveView","useState","t1","locationLabel","length","labels","plural","name","folderName","searchPlaceholder","t2","event","over","data","current","type","itemsToMove","toFolderID","id","onDragEnd","totalDocsAndSubfolders","listHeaderTitle","handleSetViewType","view","BROWSE_BY_FOLDER","t3","t4","label","_jsxs","className","children","filter","Boolean","join","onClick","push","map","crumb","crumbIndex","useEffect","nonFolderCollectionSlugs","slug","t5","search_0","query","updateURL","DndEventListener","Actions","AfterListHeaderContent","title","TitleActions","buttonLabel","singular","toLowerCase","collectionSlugs","Array","isArray","onCreateSuccess","slugPrefix","onSearchChange","searchQueryParam","_Fragment","items","subfolderCount","includes","buttonSize","buttonStyle","Message","size","item","selectedCount","onDragCancel","onDragStart"],"sources":["../../../src/views/BrowseByFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { FilterFolderTypePill } from '../../elements/FolderView/FilterFolderTypePill/index.js'\nimport { FolderFileTable } from '../../elements/FolderView/FolderFileTable/index.js'\nimport { ItemCardGrid } from '../../elements/FolderView/ItemCardGrid/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport { ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleActions/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../CollectionFolder/ListSelection/index.js'\nimport './index.scss'\n\nconst baseClass = 'folder-list'\n\nexport function DefaultBrowseByFolderView({\n activeCollectionFolderSlugs,\n allCollectionFolderSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n activeCollectionFolderSlugs={activeCollectionFolderSlugs}\n allCollectionFolderSlugs={allCollectionFolderSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n subfolders={subfolders}\n >\n <BrowseByFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype BrowseByFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'activeCollectionFolderSlugs'\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction BrowseByFolderViewInContext(props: BrowseByFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n folderAssignedCollections,\n viewPreference,\n } = props\n\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderID,\n folderType,\n getFolderRoute,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n search,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const [activeView, setActiveView] = React.useState<'grid' | 'list'>(viewPreference || 'grid')\n const [searchPlaceholder] = React.useState(() => {\n const locationLabel =\n breadcrumbs.length === 0\n ? getTranslation(folderCollectionConfig.labels?.plural, i18n)\n : breadcrumbs[breadcrumbs.length - 1].name\n return t('folder:searchByNameInFolder', {\n folderName: locationLabel,\n })\n })\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id || null,\n })\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n const listHeaderTitle = !breadcrumbs.length\n ? t('folder:browseByFolder')\n : breadcrumbs[breadcrumbs.length - 1].name\n\n const handleSetViewType = React.useCallback(\n (view: 'grid' | 'list') => {\n void setPreference(PREFERENCE_KEYS.BROWSE_BY_FOLDER, {\n viewPreference: view,\n })\n setActiveView(view)\n },\n [setPreference],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(null))\n })\n }}\n >\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(crumb.id))\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t])\n\n const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(\n (slug) => slug !== folderCollectionConfig.slug,\n )\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n <div className={`${baseClass} ${baseClass}--folders`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n folderAssignedCollections={folderAssignedCollections}\n key=\"list-selection\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={listHeaderTitle}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={\n allowCreateCollectionSlugs.length > 1\n ? t('general:createNew')\n : `${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`\n }\n collectionSlugs={allowCreateCollectionSlugs}\n folderAssignedCollections={Array.isArray(folderType) ? folderType : []}\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n folderID && <FilterFolderTypePill key=\"collection-type\" />,\n <ToggleViewButtons\n activeView={activeView}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={searchPlaceholder}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && (\n <>\n {activeView === 'grid' ? (\n <div>\n {subfolders.length ? (\n <>\n <ItemCardGrid items={subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {documents.length ? (\n <>\n <ItemCardGrid\n items={documents}\n subfolderCount={subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n ) : (\n <FolderFileTable />\n )}\n </>\n )}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionConfig.slug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n buttonSize=\"medium\"\n buttonStyle=\"primary\"\n collectionSlugs={[folderCollectionConfig.slug]}\n folderAssignedCollections={Array.isArray(folderType) ? folderType : []}\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n folderID && nonFolderCollectionSlugs.length > 0 && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n buttonSize=\"medium\"\n buttonStyle=\"primary\"\n collectionSlugs={nonFolderCollectionSlugs}\n folderAssignedCollections={Array.isArray(folderType) ? folderType : []}\n key=\"create-document\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--no-results\"\n />\n ),\n ].filter(Boolean)}\n Message={\n <>\n <h3>{i18n.t('general:noResultsFound')}</h3>\n <p>{i18n.t('general:noResultsDescription')}</p>\n </>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n {selectedItemKeys.size > 0 && dragOverlayItem && (\n <DragOverlaySelection item={dragOverlayItem} selectedCount={selectedItemKeys.size} />\n )}\n </Fragment>\n )\n}\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAKA,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,QAAQ;AAC3B,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,EAAEC,SAAS,QAAQ;AAC1C,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,0BAA0B;EACxCC,2BAA2B;EAC3BC,wBAAwB;EACxBC,0BAA0B;EAC1BC,cAAc;EACdC,WAAW;EACXC,SAAS;EACTC,eAAe;EACfC,QAAQ;EACRC,sBAAsB;EACtBC,MAAM;EACNC,UAAU;EACV,GAAGC;AAAA,CACuB;EAC1B,oBACEC,IAAA,CAACtB,cAAA;IACCU,2BAAA,EAA6BA,2BAAA;IAC7BC,wBAAA,EAA0BA,wBAAA;IAC1BC,0BAAA,EAA4BA,0BAAA;IAC5BC,cAAA,EAAgBA,cAAA;IAChBC,WAAA,EAAaA,WAAA;IACbC,SAAA,EAAWA,SAAA;IACXC,eAAA,EAAiBA,eAAA;IACjBC,QAAA,EAAUA,QAAA;IACVC,sBAAA,EAAwBA,sBAAA;IACxBC,MAAA,EAAQA,MAAA;IACRC,UAAA,EAAYA,UAAA;cAEZ,aAAAE,IAAA,CAACC,2BAAA;MAA6B,GAAGF;;;AAGvC;AAgBA,SAAAE,4BAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAhD,EAAA;EACE;IAAAiD,eAAA;IAAAC,oBAAA;IAAAC,gBAAA;IAAAC,qBAAA;IAAAC,WAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAC,yBAAA;IAAAC;EAAA,IAUIV,KAAA;EAEJ,MAAAW,MAAA,GAAevD,SAAA;EACf;IAAAwD,IAAA;IAAAC;EAAA,IAAoBhC,cAAA;EACpB,MAAAiC,WAAA,GAAoBvC,YAAA;EACpB;IAAAwC;EAAA,IAAuBzC,UAAA;EACvB;IAAA0C;EAAA,IAAiCpC,kBAAA;EACjC;IAAAqC;EAAA,IAA4BtC,aAAA;EAC5B;IAAAuC,WAAA,EAAAC;EAAA,IAEIrC,aAAA;EADW;IAAAsC,CAAA,EAAAC;EAAA,IAAAF,EAAiB;EAEhC;IAAAG;EAAA,IAA0B5C,cAAA;EAC1B;IAAAU,0BAAA;IAAAE,WAAA;IAAAC,SAAA;IAAAgC,eAAA;IAAAC,sBAAA;IAAA/B,QAAA;IAAAgC,UAAA;IAAAC,cAAA;IAAAC,gBAAA;IAAAC,YAAA;IAAAC,gBAAA;IAAAlC,MAAA;IAAAmC,gBAAA;IAAAC,aAAA;IAAAnC;EAAA,IAgBInB,SAAA;EAEJ,OAAAuD,UAAA,EAAAC,aAAA,IAAoC3E,KAAA,CAAA4E,QAAA,CAAgCxB,cAAA,IAAkB;EAAA,IAAAyB,EAAA;EAAA,IAAAlC,CAAA,QAAAX,WAAA,IAAAW,CAAA,QAAAuB,sBAAA,IAAAvB,CAAA,QAAAW,IAAA,IAAAX,CAAA,QAAAY,CAAA;IAC3CsB,EAAA,GAAAA,CAAA;MACzC,MAAAC,aAAA,GACE9C,WAAA,CAAA+C,MAAA,MAAuB,GACnBlF,cAAA,CAAeqE,sBAAA,CAAAc,MAAA,EAAAC,MAAA,EAAuC3B,IAAA,IACtDtB,WAAW,CAACA,WAAA,CAAA+C,MAAA,IAAqB,EAAAG,IAAO;MAAA,OACvC3B,CAAA,CAAE;QAAA4B,UAAA,EACKL;MAAA,CACd;IAAA;IACFnC,CAAA,MAAAX,WAAA;IAAAW,CAAA,MAAAuB,sBAAA;IAAAvB,CAAA,MAAAW,IAAA;IAAAX,CAAA,MAAAY,CAAA;IAAAZ,CAAA,MAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EARA,OAAAyC,iBAAA,IAA4BpF,KAAA,CAAA4E,QAAA,CAAeC,EAQ3C;EAAA,IAAAQ,EAAA;EAAA,IAAA1C,CAAA,QAAAgB,eAAA,IAAAhB,CAAA,QAAA0B,gBAAA,IAAA1B,CAAA,QAAA2B,YAAA;IAGEe,EAAA,SAAAC,KAAA;MAAA,KACOA,KAAA,CAAAC,IAAA;QAAA;MAAA;MAAA,IAIDD,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAC,IAAA,KAAiC,YAAY,QAAQJ,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAuB;QAAA,MACxEnB,YAAA;UAAAqB,WAAA,EACStB,gBAAA;UAAAuB,UAAA,EACDN,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAI,EAAA;QAA8B,CAC5C;QACAlC,eAAA;MAAA;IAAA;IAEJhB,CAAA,MAAAgB,eAAA;IAAAhB,CAAA,MAAA0B,gBAAA;IAAA1B,CAAA,MAAA2B,YAAA;IAAA3B,CAAA,MAAA0C,EAAA;EAAA;IAAAA,EAAA,GAAA1C,CAAA;EAAA;EAbF,MAAAmD,SAAA,GAAkBT,EAciC;EAGnD,MAAAU,sBAAA,GAA+B9D,SAAA,CAAA8C,MAAA,GAAmBzC,UAAA,CAAAyC,MAAiB;EACnE,MAAAiB,eAAA,GAAwB,CAAChE,WAAA,CAAA+C,MAAA,GACrBxB,CAAA,CAAE,2BACFvB,WAAW,CAACA,WAAA,CAAA+C,MAAA,IAAqB,EAAAG,IAAO;EAE5C,MAAAe,iBAAA,GAAAC,IAAA;IAESlC,aAAA,CAAAjE,eAAA,CAAAoG,gBAAA;MAAA/C,cAAA,EACa8C;IAAA,CAClB;IACAvB,aAAA,CAAcuB,IAAA;EAAA;EAED,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA1D,CAAA,QAAAX,WAAA,IAAAW,CAAA,SAAAa,WAAA,IAAAb,CAAA,SAAAyB,cAAA,IAAAzB,CAAA,SAAAU,MAAA,IAAAV,CAAA,SAAAc,UAAA,IAAAd,CAAA,SAAAe,oBAAA,IAAAf,CAAA,SAAAY,CAAA;IAGD6C,EAAA,GAAAA,CAAA;MAAA,KACT5C,WAAA;QACHC,UAAA,EACE,CAACzB,WAAA,CAAA+C,MAAA;UAAAuB,KAAA,EAGOC,KAAA,CAAC;YAAAC,SAAA,EAAe,GAAA9E,SAAA,uBAAmC;YAAA+E,QAAA,GACjDjE,IAAA,CAAArC,iBAAA,IAAC,GACAoD,CAAA,CAAE;UAAA,GAFoD;QAAA;UAAA+C,KAAA,EAQzDC,KAAA,CAAArG,mBAAA;YAAAsG,SAAA,EACa,CACT,GAAA9E,SAAA,sBAAkC,EAClC,GAAAA,SAAA,uBAAmC,EAAAgF,MAAA,CAAAC,OAE3B,EAAAC,IAAA,CACF;YAAAf,EAAA;YAAAgB,OAAA,EAAAA,CAAA;cAINnD,oBAAA;gBACEL,MAAA,CAAAyD,IAAA,CAAY1C,cAAA,KAAe;cAAA,CAC7B;YAAA;YAAAqC,QAAA,GAGFjE,IAAA,CAAArC,iBAAA,IAAC,GACAoD,CAAA,CAAE;UAAA,GARC;QAAA,CAWV,KACDvB,WAAA,CAAA+E,GAAA,EAAAC,KAAA,EAAAC,UAAA;UAAAX,KAAA,EAGGW,UAAA,KAAejF,WAAA,CAAA+C,MAAA,IAAqB,GAClCiC,KAAA,CAAA9B,IAAA,GAEA1C,IAAA,CAAAtC,mBAAA;YAAAsG,SAAA,EACa,GAAA9E,SAAA,sBAAkC;YAAAmE,EAAA,EACzCmB,KAAA,CAAAnB,EAAA;YAAAgB,OAAA,EAAAA,CAAA;cAGFnD,oBAAA;gBACEL,MAAA,CAAAyD,IAAA,CAAY1C,cAAA,CAAe4C,KAAA,CAAAnB,EAAQ;cAAA,CACrC;YAAA;YAAAY,QAAA,EAGDO,KAAA,CAAA9B;UAAA,GAPI8B,KAAA,CAAAnB,EAAQ;QAAA,EAWvB,EACD;MAAA;IAAA;IAEFQ,EAAA,IAACrE,WAAA,EAAawB,WAAA,EAAaY,cAAA,EAAgBf,MAAA,EAAQI,UAAA,EAAYC,oBAAA,EAAsBH,CAAA;IAAEZ,CAAA,MAAAX,WAAA;IAAAW,CAAA,OAAAa,WAAA;IAAAb,CAAA,OAAAyB,cAAA;IAAAzB,CAAA,OAAAU,MAAA;IAAAV,CAAA,OAAAc,UAAA;IAAAd,CAAA,OAAAe,oBAAA;IAAAf,CAAA,OAAAY,CAAA;IAAAZ,CAAA,OAAAyD,EAAA;IAAAzD,CAAA,OAAA0D,EAAA;EAAA;IAAAD,EAAA,GAAAzD,CAAA;IAAA0D,EAAA,GAAA1D,CAAA;EAAA;EAzD1F3C,KAAA,CAAAkH,SAAA,CAAgBd,EAyDhB,EAAGC,EAAuF;EAE1F,MAAAc,wBAAA,GAAiCrF,0BAAA,CAAA4E,MAAA,CAAAU,IAAA,IACrBA,IAAA,KAASlD,sBAAA,CAAAkD,IAA2B;EAAA,IAAAC,EAAA;EAAA,IAAA1E,CAAA,SAAA4B,gBAAA;IAmDtB8C,EAAA,GAAAC,QAAA,IAAY/C,gBAAA;MAAAgD,KAAA;QAAAlF,MAAA,EAA4BA;MAAA;MAAAmF,SAAA;IAAA,CAA0B;IAAA7E,CAAA,OAAA4B,gBAAA;IAAA5B,CAAA,OAAA0E,EAAA;EAAA;IAAAA,EAAA,GAAA1E,CAAA;EAAA;EAAA,OA/C1F4D,KAAA,CAAAtG,QAAA;IAAAwG,QAAA,GACEjE,IAAA,CAAAiF,gBAAA;MAAA3B,SAAA;MAAArB;IAAA,C,GACA8B,KAAA,CAAC;MAAAC,SAAA,EAAe,GAAA9E,SAAA,IAAAA,SAAA,WAAoC;MAAA+E,QAAA,GACjD3D,gBAAA,EACDyD,KAAA,CAAA5F,MAAA;QAAA6F,SAAA,EAAmB,GAAA9E,SAAA,QAAoB;QAAA+E,QAAA,GACrCjE,IAAA,CAAA5B,UAAA;UAAA8G,OAAA,EACW,CACP,CAAC3D,UAAA,IACCvB,IAAA,CAAAf,aAAA;YAAAwB,iBAAA;YAAAC,eAAA;YAAAC;UAAA,GAIM,mBAAAuD,MAAA,CAAAC,OAGD;UAAAgB,sBAAA,EACe3E,WAAA;UAAA4E,KAAA,EACjB5B,eAAA;UAAA6B,YAAA,EACO,CACZ/F,0BAAA,CAAAiD,MAAA,IACEvC,IAAA,CAAA3B,8BAAA;YAAAiH,WAAA,EAEIhG,0BAAA,CAAAiD,MAAA,IAAoC,GAChCxB,CAAA,CAAE,uBACF,GAAGA,CAAA,CAAE,qBAAqB1D,cAAA,CAAeqE,sBAAA,CAAAc,MAAA,EAAA+C,QAAA,EAAyCzE,IAAA,EAAA0E,WAAA,CAAiB,GAAI;YAAAC,eAAA,EAE5FnG,0BAAA;YAAAqB,yBAAA,EACU+E,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,KAAe;YAAAiE,eAAA,EAErDzE,eAAA;YAAA0E,UAAA,EACN;UAAA,GAFP,sBAAA3B,MAAA,CAAAC,OAKD;QAAA,C,GAEXnE,IAAA,CAAAzB,SAAA;UAAA2G,OAAA,EACW,CACPlF,IAAA,CAAA/B,UAAA,MAAgB,iBAChB0B,QAAA,IAAYK,IAAA,CAAAlC,oBAAA,MAA0B,oBACtCkC,IAAA,CAAA9B,iBAAA;YAAAgE,UAAA;YAAAC,aAAA,EAGiBsB;UAAA,GADX,wBAGNzD,IAAA,CAAApC,oBAAA,MAA0B,2BAAAsG,MAAA,CAAAC,OACnB;UAAAL,KAAA,EACFlB,iBAAA;UAAAkD,cAAA,EACSjB,EAAkE;UAAAkB,gBAAA,EAChElG;QAAA,C,GAEnBU,qBAAA,EACAgD,sBAAA,IAAyB,IACxBvD,IAAA,CAAAgG,SAAA;UAAA/B,QAAA,EACG/B,UAAA,KAAe,SACd6B,KAAA,CAAC;YAAAE,QAAA,GACEnE,UAAA,CAAAyC,MAAA,GACCvC,IAAA,CAAAgG,SAAA;cAAA/B,QAAA,EACEjE,IAAA,CAAAhC,YAAA;gBAAAiI,KAAA,EAAqBnG,UAAA;gBAAAsF,KAAA,EAAmB;gBAAAlC,IAAA,EAAgB;cAAA,C;qBAExD,EAEHzD,SAAA,CAAA8C,MAAA,GACCvC,IAAA,CAAAgG,SAAA;cAAA/B,QAAA,EACEjE,IAAA,CAAAhC,YAAA;gBAAAiI,KAAA,EACSxG,SAAA;gBAAAyG,cAAA,EACSpG,UAAA,CAAAyC,MAAA;gBAAA6C,KAAA,EACT;gBAAAlC,IAAA,EACF;cAAA,C;qBAGP;UAAA,C,IAGNlD,IAAA,CAAAjC,eAAA,IAAC;QAAA,C,GAINwF,sBAAA,MAA2B,IAC1BvD,IAAA,CAAA1B,aAAA;UAAA4G,OAAA,EACW,CACP5F,0BAAA,CAAA6G,QAAA,CAAoCzE,sBAAA,CAAAkD,IAA2B,KAC7D5E,IAAA,CAAA3B,8BAAA;YAAAiH,WAAA,EACe,GAAGvE,CAAA,CAAE,qBAAqB1D,cAAA,CAAeqE,sBAAA,CAAAc,MAAA,EAAA+C,QAAA,EAAyCzE,IAAA,EAAA0E,WAAA,CAAiB,GAAI;YAAAY,UAAA,EACzG;YAAAC,WAAA,EACC;YAAAZ,eAAA,GACM/D,sBAAA,CAAAkD,IAAA;YAAAjE,yBAAA,EACS+E,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,KAAe;YAAAiE,eAAA,EAErDzE,eAAA;YAAA0E,UAAA,EACN;UAAA,GAFP,kBAKRlG,QAAA,IAAYgF,wBAAA,CAAApC,MAAA,IAAkC,IAC5CvC,IAAA,CAAA3B,8BAAA;YAAAiH,WAAA,EACe,GAAGvE,CAAA,CAAE,qBAAqBA,CAAA,CAAE,oBAAAyE,WAAA,CAA+B,GAAI;YAAAY,UAAA,EACjE;YAAAC,WAAA,EACC;YAAAZ,eAAA,EACKd,wBAAA;YAAAhE,yBAAA,EACU+E,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,KAAe;YAAAiE,eAAA,EAErDzE,eAAA;YAAA0E,UAAA,EACN;UAAA,GAFP,oBAAA3B,MAAA,CAAAC,OAKD;UAAAmC,OAAA,EAEPvC,KAAA,CAAAiC,SAAA;YAAA/B,QAAA,GACEjE,IAAA,CAAC;cAAAiE,QAAA,EAAInD,IAAA,CAAAC,CAAA,CAAO;YAAA,C,GACZf,IAAA,CAAC;cAAAiE,QAAA,EAAGnD,IAAA,CAAAC,CAAA,CAAO;YAAA,C;;YAKlBV,oBAAA;MAAA,C,GAEFD,eAAA;IAAA,C,GAEF4B,gBAAA,CAAAuE,IAAA,IAAwB,IAAK9E,eAAA,IAC5BzB,IAAA,CAAAnC,oBAAA;MAAA2I,IAAA,EAA4B/E,eAAA;MAAAgF,aAAA,EAAgCzE,gBAAA,CAAAuE;IAAA,C;;;AAKpE,SAAAtB,iBAAA5D,EAAA;EAAA,MAAAlB,CAAA,GAAAhD,EAAA;EAA0B;IAAAmG,SAAA;IAAArB;EAAA,IAAAZ,EAA4B;EAAA,IAAAgB,EAAA;EAAA,IAAAlC,CAAA,QAAAmD,SAAA,IAAAnD,CAAA,QAAA8B,aAAA;IACtCI,EAAA;MAAAqE,aAAA;QAEVzE,aAAA,MAAc;MAAA;MAAAqB,UAAAR,KAAA;QAGdb,aAAA,MAAc;QACdqB,SAAA,CAAUR,KAAA;MAAA;MAAA6D,YAAA;QAGV1E,aAAA,KAAc;MAAA;IAAA;IAElB9B,CAAA,MAAAmD,SAAA;IAAAnD,CAAA,MAAA8B,aAAA;IAAA9B,CAAA,MAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EAXA/C,aAAA,CAAciF,EAWd;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","hasAutosaveEnabled","PREFERENCE_KEYS","React","Fragment","ControlledDocumentDrawer","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","FilterFolderTypePill","FolderFileTable","ItemCardGrid","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultBrowseByFolderView","activeCollectionFolderSlugs","allCollectionFolderSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","subfolders","restOfProps","_jsx","BrowseByFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","Description","disableBulkDelete","disableBulkEdit","folderAssignedCollections","viewPreference","router","config","i18n","t","drawerDepth","setStepNav","startRouteTransition","clearRouteCache","breakpoints","t0","s","smallBreak","setPreference","dragOverlayItem","folderCollectionConfig","folderType","getFolderRoute","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","createDrawerCollectionSlug","setCreateDrawerCollectionSlug","useState","activeView","setActiveView","t1","labels","plural","locationLabel","length","name","folderName","searchPlaceholder","t2","event","over","data","current","type","itemsToMove","toFolderID","id","onDragEnd","totalDocsAndSubfolders","listHeaderTitle","activeCreateDrawerCollectionSlug","slug","t3","t4","activeCreateDrawerCollectionConfig","collections","find","isCreatingFolder","handleSetViewType","view","BROWSE_BY_FOLDER","t5","label","_jsxs","className","children","filter","Boolean","join","onClick","push","map","crumb","crumbIndex","useEffect","nonFolderCollectionSlugs","slug_0","folderAssignedCollectionSlugs","Array","isArray","handleRequestCreate","collectionSlug","t6","search_0","query","updateURL","t7","Symbol","for","isOpen","undefined","DndEventListener","Actions","AfterListHeaderContent","title","TitleActions","buttonLabel","singular","toLowerCase","collectionSlugs","onRequestCreate","onSearchChange","searchQueryParam","_Fragment","items","subfolderCount","includes","buttonSize","buttonStyle","Message","size","item","selectedCount","initialData","onOpenChange","onSave","t8","operation","isAutosaveCollection","redirectAfterCreate","onDragCancel","onDragStart"],"sources":["../../../src/views/BrowseByFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { CollectionSlug, FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { hasAutosaveEnabled, PREFERENCE_KEYS } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { ControlledDocumentDrawer } from '../../elements/DocumentDrawer/ControlledDocumentDrawer.js'\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { FilterFolderTypePill } from '../../elements/FolderView/FilterFolderTypePill/index.js'\nimport { FolderFileTable } from '../../elements/FolderView/FolderFileTable/index.js'\nimport { ItemCardGrid } from '../../elements/FolderView/ItemCardGrid/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport { ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleActions/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../CollectionFolder/ListSelection/index.js'\nimport './index.scss'\n\nconst baseClass = 'folder-list'\n\nexport function DefaultBrowseByFolderView({\n activeCollectionFolderSlugs,\n allCollectionFolderSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n activeCollectionFolderSlugs={activeCollectionFolderSlugs}\n allCollectionFolderSlugs={allCollectionFolderSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n subfolders={subfolders}\n >\n <BrowseByFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype BrowseByFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'activeCollectionFolderSlugs'\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction BrowseByFolderViewInContext(props: BrowseByFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n folderAssignedCollections,\n viewPreference,\n } = props\n\n const router = useRouter()\n const { config } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderFieldName,\n folderID,\n folderType,\n getFolderRoute,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n search,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n const [createDrawerCollectionSlug, setCreateDrawerCollectionSlug] =\n React.useState<CollectionSlug>()\n\n const [activeView, setActiveView] = React.useState<'grid' | 'list'>(viewPreference || 'grid')\n const [searchPlaceholder] = React.useState(() => {\n const locationLabel =\n breadcrumbs.length === 0\n ? getTranslation(folderCollectionConfig.labels?.plural, i18n)\n : breadcrumbs[breadcrumbs.length - 1].name\n return t('folder:searchByNameInFolder', {\n folderName: locationLabel,\n })\n })\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id || null,\n })\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n const listHeaderTitle = !breadcrumbs.length\n ? t('folder:browseByFolder')\n : breadcrumbs[breadcrumbs.length - 1].name\n const activeCreateDrawerCollectionSlug = createDrawerCollectionSlug || folderCollectionConfig.slug\n const activeCreateDrawerCollectionConfig = config.collections.find(\n ({ slug }) => slug === activeCreateDrawerCollectionSlug,\n )\n const isCreatingFolder = activeCreateDrawerCollectionSlug === folderCollectionConfig.slug\n\n const handleSetViewType = React.useCallback(\n (view: 'grid' | 'list') => {\n void setPreference(PREFERENCE_KEYS.BROWSE_BY_FOLDER, {\n viewPreference: view,\n })\n setActiveView(view)\n },\n [setPreference],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(null))\n })\n }}\n >\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(crumb.id))\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t])\n\n const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(\n (slug) => slug !== folderCollectionConfig.slug,\n )\n const folderAssignedCollectionSlugs = Array.isArray(folderType) ? folderType : []\n\n const handleRequestCreate = React.useCallback((collectionSlug: CollectionSlug) => {\n setCreateDrawerCollectionSlug(collectionSlug)\n }, [])\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n <div className={`${baseClass} ${baseClass}--folders`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n folderAssignedCollections={folderAssignedCollections}\n key=\"list-selection\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={listHeaderTitle}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={\n allowCreateCollectionSlugs.length > 1\n ? t('general:createNew')\n : `${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`\n }\n collectionSlugs={allowCreateCollectionSlugs}\n key=\"create-new-button\"\n onRequestCreate={handleRequestCreate}\n />\n ),\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n folderID && <FilterFolderTypePill key=\"collection-type\" />,\n <ToggleViewButtons\n activeView={activeView}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={searchPlaceholder}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && (\n <>\n {activeView === 'grid' ? (\n <div>\n {subfolders.length ? (\n <>\n <ItemCardGrid items={subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {documents.length ? (\n <>\n <ItemCardGrid\n items={documents}\n subfolderCount={subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n ) : (\n <FolderFileTable />\n )}\n </>\n )}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionConfig.slug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n buttonSize=\"medium\"\n buttonStyle=\"primary\"\n collectionSlugs={[folderCollectionConfig.slug]}\n key=\"create-folder\"\n onRequestCreate={handleRequestCreate}\n />\n ),\n folderID && nonFolderCollectionSlugs.length > 0 && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n buttonSize=\"medium\"\n buttonStyle=\"primary\"\n collectionSlugs={nonFolderCollectionSlugs}\n key=\"create-document\"\n onRequestCreate={handleRequestCreate}\n />\n ),\n ].filter(Boolean)}\n Message={\n <>\n <h3>{i18n.t('general:noResultsFound')}</h3>\n <p>{i18n.t('general:noResultsDescription')}</p>\n </>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n {selectedItemKeys.size > 0 && dragOverlayItem && (\n <DragOverlaySelection item={dragOverlayItem} selectedCount={selectedItemKeys.size} />\n )}\n <ControlledDocumentDrawer\n collectionSlug={activeCreateDrawerCollectionSlug}\n initialData={{\n [folderFieldName]: folderID,\n ...(isCreatingFolder ? { folderType: folderAssignedCollectionSlugs } : {}),\n }}\n isOpen={Boolean(createDrawerCollectionSlug)}\n onOpenChange={(isOpen) => {\n if (!isOpen) {\n setCreateDrawerCollectionSlug(undefined)\n }\n }}\n onSave={({ operation }) => {\n const isAutosaveCollection = hasAutosaveEnabled(activeCreateDrawerCollectionConfig)\n\n if (isAutosaveCollection || operation === 'create') {\n clearRouteCache()\n }\n\n if (operation === 'create' && !isAutosaveCollection) {\n setCreateDrawerCollectionSlug(undefined)\n }\n }}\n redirectAfterCreate={false}\n />\n </Fragment>\n )\n}\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAuBvC,OAAO,cAAc,CAAA;AAQrB,wBAAgB,2BAA2B,CAAC,EAC1C,wBAAwB,EAAE,qBAAqB,EAC/C,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAwBvC,OAAO,cAAc,CAAA;AAQrB,wBAAgB,2BAA2B,CAAC,EAC1C,wBAAwB,EAAE,qBAAqB,EAC/C,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}