@payloadcms/ui 3.49.0-canary.8 → 3.49.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.
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +65 -47
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.scss +10 -0
- package/dist/elements/DeleteMany/index.d.ts +6 -2
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +153 -51
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.scss +13 -0
- package/dist/elements/DocumentControls/index.d.ts +3 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +24 -5
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +4 -2
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.d.ts +4 -0
- package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -0
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts +1 -0
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +3 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.d.ts +3 -2
- package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +3 -1
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +2 -1
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts +7 -0
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +164 -0
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +1 -0
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
- package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +10 -0
- package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +1 -0
- package/dist/elements/ListHeaderTabs/ByFolderPill.js +70 -0
- package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +1 -0
- package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +9 -0
- package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +1 -0
- package/dist/elements/ListHeaderTabs/DefaultListPill.js +68 -0
- package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -0
- package/dist/elements/ListHeaderTabs/TrashPill.d.ts +6 -0
- package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +1 -0
- package/dist/elements/ListHeaderTabs/TrashPill.js +53 -0
- package/dist/elements/ListHeaderTabs/TrashPill.js.map +1 -0
- package/dist/elements/{ListFolderPills → ListHeaderTabs}/index.scss +1 -2
- package/dist/elements/ListSelection/index.scss +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.d.ts +14 -0
- package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -0
- package/dist/elements/PermanentlyDeleteButton/index.js +147 -0
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -0
- package/dist/elements/RestoreButton/index.d.ts +15 -0
- package/dist/elements/RestoreButton/index.d.ts.map +1 -0
- package/dist/elements/RestoreButton/index.js +171 -0
- package/dist/elements/RestoreButton/index.js.map +1 -0
- package/dist/elements/RestoreButton/index.scss +25 -0
- package/dist/elements/RestoreMany/index.d.ts +9 -0
- package/dist/elements/RestoreMany/index.d.ts.map +1 -0
- package/dist/elements/RestoreMany/index.js +193 -0
- package/dist/elements/RestoreMany/index.js.map +1 -0
- package/dist/elements/RestoreMany/index.scss +25 -0
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +6 -4
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +10 -8
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.d.ts +4 -0
- package/dist/elements/TrashBanner/index.d.ts.map +1 -0
- package/dist/elements/TrashBanner/index.js +37 -0
- package/dist/elements/TrashBanner/index.js.map +1 -0
- package/dist/elements/TrashBanner/index.scss +20 -0
- package/dist/exports/client/index.js +24 -22
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +2 -0
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +7 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +2 -0
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/icons/Trash/index.d.ts +6 -0
- package/dist/icons/Trash/index.d.ts.map +1 -0
- package/dist/icons/Trash/index.js +22 -0
- package/dist/icons/Trash/index.js.map +1 -0
- package/dist/icons/Trash/index.scss +6 -0
- package/dist/providers/DocumentInfo/types.d.ts +2 -0
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +1 -0
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +4 -2
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +4 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +2 -0
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +3 -2
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +4 -2
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/CollectionFolder/index.d.ts.map +1 -1
- package/dist/views/CollectionFolder/index.js +15 -5
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +5 -4
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.d.ts +1 -0
- package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +26 -15
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +11 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +4 -2
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +24 -9
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.d.ts +2 -1
- package/dist/views/List/ListSelection/index.d.ts.map +1 -1
- package/dist/views/List/ListSelection/index.js +26 -17
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +28 -9
- package/dist/views/List/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/elements/ListFolderPills/index.d.ts +0 -10
- package/dist/elements/ListFolderPills/index.d.ts.map +0 -1
- package/dist/elements/ListFolderPills/index.js +0 -97
- package/dist/elements/ListFolderPills/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["fieldIsSidebar","React","useMemo","RenderFields","Gutter","baseClass","DocumentFields","AfterFields","BeforeFields","Description","docPermissions","fields","forceSidebarWrap","readOnly","schemaPathSegments","hasSidebarFields","mainFields","sidebarFields","reduce","acc","field","push","_jsxs","className","filter","Boolean","join","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/elements/DocumentFields/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, SanitizedDocumentPermissions } from 'payload'\n\nimport { fieldIsSidebar } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'document-fields'\n\ntype Args = {\n readonly AfterFields?: React.ReactNode\n readonly BeforeFields?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly docPermissions: SanitizedDocumentPermissions\n readonly fields: ClientField[]\n readonly forceSidebarWrap?: boolean\n readonly readOnly?: boolean\n readonly schemaPathSegments: string[]\n}\n\nexport const DocumentFields: React.FC<Args> = ({\n AfterFields,\n BeforeFields,\n Description,\n docPermissions,\n fields,\n forceSidebarWrap,\n readOnly,\n schemaPathSegments,\n}) => {\n const { hasSidebarFields, mainFields, sidebarFields } = useMemo(() => {\n return fields.reduce(\n (acc, field) => {\n if (fieldIsSidebar(field)) {\n acc.sidebarFields.push(field)\n acc.mainFields.push(null)\n acc.hasSidebarFields = true\n } else {\n acc.mainFields.push(field)\n acc.sidebarFields.push(null)\n }\n return acc\n },\n {\n hasSidebarFields: false,\n mainFields: [] as ClientField[],\n sidebarFields: [] as ClientField[],\n },\n )\n }, [fields])\n\n return (\n <div\n className={[\n baseClass,\n hasSidebarFields ? `${baseClass}--has-sidebar` : `${baseClass}--no-sidebar`,\n forceSidebarWrap && `${baseClass}--force-sidebar-wrap`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__main`}>\n <Gutter className={`${baseClass}__edit`}>\n {Description ? (\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__sub-header`}>{Description}</div>\n </header>\n ) : null}\n {BeforeFields}\n <RenderFields\n className={`${baseClass}__fields`}\n fields={mainFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n {AfterFields}\n </Gutter>\n </div>\n {hasSidebarFields ? (\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-fields`}>\n <RenderFields\n fields={sidebarFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;
|
|
1
|
+
{"version":3,"file":"index.js","names":["fieldIsSidebar","React","useMemo","RenderFields","Gutter","TrashBanner","baseClass","DocumentFields","AfterFields","BeforeFields","Description","docPermissions","fields","forceSidebarWrap","isTrashed","readOnly","schemaPathSegments","hasSidebarFields","mainFields","sidebarFields","reduce","acc","field","push","_jsxs","className","filter","Boolean","join","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/elements/DocumentFields/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, SanitizedDocumentPermissions } from 'payload'\n\nimport { fieldIsSidebar } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { TrashBanner } from '../TrashBanner/index.js'\nimport './index.scss'\n\nconst baseClass = 'document-fields'\n\ntype Args = {\n readonly AfterFields?: React.ReactNode\n readonly BeforeFields?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly docPermissions: SanitizedDocumentPermissions\n readonly fields: ClientField[]\n readonly forceSidebarWrap?: boolean\n readonly isTrashed?: boolean\n readonly readOnly?: boolean\n readonly schemaPathSegments: string[]\n}\n\nexport const DocumentFields: React.FC<Args> = ({\n AfterFields,\n BeforeFields,\n Description,\n docPermissions,\n fields,\n forceSidebarWrap,\n isTrashed = false,\n readOnly,\n schemaPathSegments,\n}) => {\n const { hasSidebarFields, mainFields, sidebarFields } = useMemo(() => {\n return fields.reduce(\n (acc, field) => {\n if (fieldIsSidebar(field)) {\n acc.sidebarFields.push(field)\n acc.mainFields.push(null)\n acc.hasSidebarFields = true\n } else {\n acc.mainFields.push(field)\n acc.sidebarFields.push(null)\n }\n return acc\n },\n {\n hasSidebarFields: false,\n mainFields: [] as ClientField[],\n sidebarFields: [] as ClientField[],\n },\n )\n }, [fields])\n\n return (\n <div\n className={[\n baseClass,\n hasSidebarFields ? `${baseClass}--has-sidebar` : `${baseClass}--no-sidebar`,\n forceSidebarWrap && `${baseClass}--force-sidebar-wrap`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__main`}>\n <Gutter className={`${baseClass}__edit`}>\n {isTrashed && <TrashBanner />}\n {Description ? (\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__sub-header`}>{Description}</div>\n </header>\n ) : null}\n {BeforeFields}\n <RenderFields\n className={`${baseClass}__fields`}\n fields={mainFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n {AfterFields}\n </Gutter>\n </div>\n {hasSidebarFields ? (\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-fields`}>\n <RenderFields\n fields={sidebarFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAclB,OAAO,MAAMC,cAAA,GAAiCA,CAAC;EAC7CC,WAAW;EACXC,YAAY;EACZC,WAAW;EACXC,cAAc;EACdC,MAAM;EACNC,gBAAgB;EAChBC,SAAA,GAAY,KAAK;EACjBC,QAAQ;EACRC;AAAkB,CACnB;EACC,MAAM;IAAEC,gBAAgB;IAAEC,UAAU;IAAEC;EAAa,CAAE,GAAGjB,OAAA,CAAQ;IAC9D,OAAOU,MAAA,CAAOQ,MAAM,CAClB,CAACC,GAAA,EAAKC,KAAA;MACJ,IAAItB,cAAA,CAAesB,KAAA,GAAQ;QACzBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAACD,KAAA;QACvBD,GAAA,CAAIH,UAAU,CAACK,IAAI,CAAC;QACpBF,GAAA,CAAIJ,gBAAgB,GAAG;MACzB,OAAO;QACLI,GAAA,CAAIH,UAAU,CAACK,IAAI,CAACD,KAAA;QACpBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAAC;MACzB;MACA,OAAOF,GAAA;IACT,GACA;MACEJ,gBAAA,EAAkB;MAClBC,UAAA,EAAY,EAAE;MACdC,aAAA,EAAe;IACjB;EAEJ,GAAG,CAACP,MAAA,CAAO;EAEX,oBACEY,KAAA,CAAC;IACCC,SAAA,EAAW,CACTnB,SAAA,EACAW,gBAAA,GAAmB,GAAGX,SAAA,eAAwB,GAAG,GAAGA,SAAA,cAAuB,EAC3EO,gBAAA,IAAoB,GAAGP,SAAA,sBAA+B,CACvD,CACEoB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;4BAERC,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGnB,SAAA,QAAiB;gBAClC,aAAAkB,KAAA,CAACpB,MAAA;QAAOqB,SAAA,EAAW,GAAGnB,SAAA,QAAiB;mBACpCQ,SAAA,iBAAae,IAAA,CAACxB,WAAA,OACdK,WAAA,gBACCmB,IAAA,CAAC;UAAOJ,SAAA,EAAW,GAAGnB,SAAA,UAAmB;oBACvC,aAAAuB,IAAA,CAAC;YAAIJ,SAAA,EAAW,GAAGnB,SAAA,cAAuB;sBAAGI;;aAE7C,MACHD,YAAA,E,aACDoB,IAAA,CAAC1B,YAAA;UACCsB,SAAA,EAAW,GAAGnB,SAAA,UAAmB;UACjCM,MAAA,EAAQM,UAAA;UACRY,WAAW;UACXC,eAAA,EAAgB;UAChBC,UAAA,EAAW;UACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;UAC1CM,WAAA,EAAavB,cAAA,EAAgBC,MAAA;UAC7BG,QAAA,EAAUA;YAEXP,WAAA;;QAGJS,gBAAA,gBACCY,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGnB,SAAA,gBAAyB;gBAC1C,aAAAuB,IAAA,CAAC;QAAIJ,SAAA,EAAW,GAAGnB,SAAA,WAAoB;kBACrC,aAAAuB,IAAA,CAAC;UAAIJ,SAAA,EAAW,GAAGnB,SAAA,kBAA2B;oBAC5C,aAAAuB,IAAA,CAAC1B,YAAA;YACCS,MAAA,EAAQO,aAAA;YACRW,WAAW;YACXC,eAAA,EAAgB;YAChBC,UAAA,EAAW;YACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;YAC1CM,WAAA,EAAavB,cAAA,EAAgBC,MAAA;YAC7BG,QAAA,EAAUA;;;;SAKhB;;AAGV","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Data } from 'payload';
|
|
1
|
+
import type { Data, ViewTypes } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
type Props = {
|
|
4
4
|
readonly collectionSlug: string;
|
|
@@ -6,7 +6,8 @@ type Props = {
|
|
|
6
6
|
readonly docTitle: string;
|
|
7
7
|
readonly folderCollectionSlug: string;
|
|
8
8
|
readonly folderFieldName: string;
|
|
9
|
+
readonly viewType?: ViewTypes;
|
|
9
10
|
};
|
|
10
|
-
export declare const FolderTableCellClient: ({ collectionSlug, data, docTitle, folderCollectionSlug, folderFieldName, }: Props) => React.JSX.Element;
|
|
11
|
+
export declare const FolderTableCellClient: ({ collectionSlug, data, docTitle, folderCollectionSlug, folderFieldName, viewType, }: Props) => React.JSX.Element;
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=index.client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/Cell/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/Cell/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAoB,MAAM,OAAO,CAAA;AAKxC,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,qBAAqB,yFAO/B,KAAK,sBAoFP,CAAA"}
|
|
@@ -9,7 +9,8 @@ export const FolderTableCellClient = ({
|
|
|
9
9
|
data,
|
|
10
10
|
docTitle,
|
|
11
11
|
folderCollectionSlug,
|
|
12
|
-
folderFieldName
|
|
12
|
+
folderFieldName,
|
|
13
|
+
viewType
|
|
13
14
|
}) => {
|
|
14
15
|
const docID = data.id;
|
|
15
16
|
const intialFolderID = data?.[folderFieldName];
|
|
@@ -68,6 +69,7 @@ export const FolderTableCellClient = ({
|
|
|
68
69
|
}, [config.routes.api, folderCollectionSlug, intialFolderID, t]);
|
|
69
70
|
return /*#__PURE__*/_jsx(MoveDocToFolderButton, {
|
|
70
71
|
buttonProps: {
|
|
72
|
+
disabled: viewType === 'trash',
|
|
71
73
|
size: 'small'
|
|
72
74
|
},
|
|
73
75
|
collectionSlug: collectionSlug,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["React","useEffect","MoveDocToFolderButton","useConfig","useTranslation","FolderTableCellClient","collectionSlug","data","docTitle","folderCollectionSlug","folderFieldName","docID","id","intialFolderID","config","t","fromFolderName","setFromFolderName","useState","fromFolderID","setFromFolderID","hasLoadedFolderName","useRef","onConfirm","useCallback","name","fetch","routes","api","body","JSON","stringify","credentials","headers","method","error","console","loadFolderName","req","res","json","current","_jsx","buttonProps","size","docData","modalSlug","skipConfirmModal"],"sources":["../../../../src/elements/FolderView/Cell/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { Data } from 'payload'\nimport type { FolderOrDocument } from 'payload/shared'\n\nimport React, { useEffect } from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { MoveDocToFolderButton, useConfig, useTranslation } from '../../../exports/client/index.js'\n\ntype Props = {\n readonly collectionSlug: string\n readonly data: Data\n readonly docTitle: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n}\n\nexport const FolderTableCellClient = ({\n collectionSlug,\n data,\n docTitle,\n folderCollectionSlug,\n folderFieldName,\n}: Props) => {\n const docID = data.id\n const intialFolderID = data?.[folderFieldName]\n\n const { config } = useConfig()\n const { t } = useTranslation()\n const [fromFolderName, setFromFolderName] = React.useState(() =>\n intialFolderID ? `${t('general:loading')}...` : t('folder:noFolder'),\n )\n const [fromFolderID, setFromFolderID] = React.useState(intialFolderID)\n\n const hasLoadedFolderName = React.useRef(false)\n\n const onConfirm = React.useCallback(\n async ({ id, name }) => {\n try {\n await fetch(`${config.routes.api}/${collectionSlug}/${docID}`, {\n body: JSON.stringify({\n [folderFieldName]: id,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n })\n\n setFromFolderID(id)\n setFromFolderName(name || t('folder:noFolder'))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving document to folder', error)\n }\n },\n [config.routes.api, collectionSlug, docID, folderFieldName, t],\n )\n\n useEffect(() => {\n const loadFolderName = async () => {\n try {\n const req = await fetch(\n `${config.routes.api}/${folderCollectionSlug}${intialFolderID ? `/${intialFolderID}` : ''}`,\n {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n },\n )\n\n const res = await req.json()\n setFromFolderName(res?.name || t('folder:noFolder'))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving document to folder', error)\n }\n }\n\n if (!hasLoadedFolderName.current) {\n void loadFolderName()\n hasLoadedFolderName.current = true\n }\n }, [config.routes.api, folderCollectionSlug, intialFolderID, t])\n\n return (\n <MoveDocToFolderButton\n buttonProps={{\n size: 'small',\n }}\n collectionSlug={collectionSlug}\n docData={data as FolderOrDocument['value']}\n docID={docID}\n docTitle={docTitle}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={fromFolderID}\n fromFolderName={fromFolderName}\n modalSlug={`move-doc-to-folder-cell--${docID}`}\n onConfirm={onConfirm}\n skipConfirmModal={false}\n />\n )\n}\n"],"mappings":"AAAA;;;AAKA,OAAOA,KAAA,IAASC,SAAS,QAAQ;AAEjC;AACA,SAASC,qBAAqB,EAAEC,SAAS,EAAEC,cAAc,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["React","useEffect","MoveDocToFolderButton","useConfig","useTranslation","FolderTableCellClient","collectionSlug","data","docTitle","folderCollectionSlug","folderFieldName","viewType","docID","id","intialFolderID","config","t","fromFolderName","setFromFolderName","useState","fromFolderID","setFromFolderID","hasLoadedFolderName","useRef","onConfirm","useCallback","name","fetch","routes","api","body","JSON","stringify","credentials","headers","method","error","console","loadFolderName","req","res","json","current","_jsx","buttonProps","disabled","size","docData","modalSlug","skipConfirmModal"],"sources":["../../../../src/elements/FolderView/Cell/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { Data, ViewTypes } from 'payload'\nimport type { FolderOrDocument } from 'payload/shared'\n\nimport React, { useEffect } from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { MoveDocToFolderButton, useConfig, useTranslation } from '../../../exports/client/index.js'\n\ntype Props = {\n readonly collectionSlug: string\n readonly data: Data\n readonly docTitle: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n readonly viewType?: ViewTypes\n}\n\nexport const FolderTableCellClient = ({\n collectionSlug,\n data,\n docTitle,\n folderCollectionSlug,\n folderFieldName,\n viewType,\n}: Props) => {\n const docID = data.id\n const intialFolderID = data?.[folderFieldName]\n\n const { config } = useConfig()\n const { t } = useTranslation()\n const [fromFolderName, setFromFolderName] = React.useState(() =>\n intialFolderID ? `${t('general:loading')}...` : t('folder:noFolder'),\n )\n const [fromFolderID, setFromFolderID] = React.useState(intialFolderID)\n\n const hasLoadedFolderName = React.useRef(false)\n\n const onConfirm = React.useCallback(\n async ({ id, name }) => {\n try {\n await fetch(`${config.routes.api}/${collectionSlug}/${docID}`, {\n body: JSON.stringify({\n [folderFieldName]: id,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n })\n\n setFromFolderID(id)\n setFromFolderName(name || t('folder:noFolder'))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving document to folder', error)\n }\n },\n [config.routes.api, collectionSlug, docID, folderFieldName, t],\n )\n\n useEffect(() => {\n const loadFolderName = async () => {\n try {\n const req = await fetch(\n `${config.routes.api}/${folderCollectionSlug}${intialFolderID ? `/${intialFolderID}` : ''}`,\n {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n },\n )\n\n const res = await req.json()\n setFromFolderName(res?.name || t('folder:noFolder'))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving document to folder', error)\n }\n }\n\n if (!hasLoadedFolderName.current) {\n void loadFolderName()\n hasLoadedFolderName.current = true\n }\n }, [config.routes.api, folderCollectionSlug, intialFolderID, t])\n\n return (\n <MoveDocToFolderButton\n buttonProps={{\n disabled: viewType === 'trash',\n size: 'small',\n }}\n collectionSlug={collectionSlug}\n docData={data as FolderOrDocument['value']}\n docID={docID}\n docTitle={docTitle}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={fromFolderID}\n fromFolderName={fromFolderName}\n modalSlug={`move-doc-to-folder-cell--${docID}`}\n onConfirm={onConfirm}\n skipConfirmModal={false}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/Cell/index.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,eAAe,UAAW,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/Cell/index.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,eAAe,UAAW,+BAA+B,sBAmBrE,CAAA"}
|
|
@@ -11,7 +11,8 @@ export const FolderTableCell = props => {
|
|
|
11
11
|
data: props.rowData,
|
|
12
12
|
docTitle: titleToRender,
|
|
13
13
|
folderCollectionSlug: props.payload.config.folders.slug,
|
|
14
|
-
folderFieldName: props.payload.config.folders.fieldName
|
|
14
|
+
folderFieldName: props.payload.config.folders.fieldName,
|
|
15
|
+
viewType: props.viewType
|
|
15
16
|
});
|
|
16
17
|
};
|
|
17
18
|
//# sourceMappingURL=index.server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.server.js","names":["React","FolderTableCellClient","FolderTableCell","props","titleToRender","collectionConfig","upload","rowData","filename","title","id","payload","config","folders","_jsx","collectionSlug","data","docTitle","folderCollectionSlug","slug","folderFieldName","fieldName"],"sources":["../../../../src/elements/FolderView/Cell/index.server.tsx"],"sourcesContent":["import type { DefaultServerCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { FolderTableCellClient } from './index.client.js'\n\nexport const FolderTableCell = (props: DefaultServerCellComponentProps) => {\n const titleToRender =\n (props.collectionConfig.upload ? props.rowData?.filename : props.rowData?.title) ||\n props.rowData.id\n\n if (!props.payload.config.folders) {\n return null\n }\n\n return (\n <FolderTableCellClient\n collectionSlug={props.collectionSlug}\n data={props.rowData}\n docTitle={titleToRender}\n folderCollectionSlug={props.payload.config.folders.slug}\n folderFieldName={props.payload.config.folders.fieldName}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AAEtC,OAAO,MAAMC,eAAA,GAAmBC,KAAA;EAC9B,MAAMC,aAAA,GACJ,CAACD,KAAA,CAAME,gBAAgB,CAACC,MAAM,GAAGH,KAAA,CAAMI,OAAO,EAAEC,QAAA,GAAWL,KAAA,CAAMI,OAAO,EAAEE,KAAI,KAC9EN,KAAA,CAAMI,OAAO,CAACG,EAAE;EAElB,IAAI,CAACP,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,EAAE;IACjC,OAAO;EACT;EAEA,oBACEC,IAAA,CAACb,qBAAA;IACCc,cAAA,EAAgBZ,KAAA,CAAMY,cAAc;IACpCC,IAAA,EAAMb,KAAA,CAAMI,OAAO;IACnBU,QAAA,EAAUb,aAAA;IACVc,oBAAA,EAAsBf,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,CAACM,IAAI;IACvDC,eAAA,EAAiBjB,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,CAACQ;;
|
|
1
|
+
{"version":3,"file":"index.server.js","names":["React","FolderTableCellClient","FolderTableCell","props","titleToRender","collectionConfig","upload","rowData","filename","title","id","payload","config","folders","_jsx","collectionSlug","data","docTitle","folderCollectionSlug","slug","folderFieldName","fieldName","viewType"],"sources":["../../../../src/elements/FolderView/Cell/index.server.tsx"],"sourcesContent":["import type { DefaultServerCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { FolderTableCellClient } from './index.client.js'\n\nexport const FolderTableCell = (props: DefaultServerCellComponentProps) => {\n const titleToRender =\n (props.collectionConfig.upload ? props.rowData?.filename : props.rowData?.title) ||\n props.rowData.id\n\n if (!props.payload.config.folders) {\n return null\n }\n\n return (\n <FolderTableCellClient\n collectionSlug={props.collectionSlug}\n data={props.rowData}\n docTitle={titleToRender}\n folderCollectionSlug={props.payload.config.folders.slug}\n folderFieldName={props.payload.config.folders.fieldName}\n viewType={props.viewType}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AAEtC,OAAO,MAAMC,eAAA,GAAmBC,KAAA;EAC9B,MAAMC,aAAA,GACJ,CAACD,KAAA,CAAME,gBAAgB,CAACC,MAAM,GAAGH,KAAA,CAAMI,OAAO,EAAEC,QAAA,GAAWL,KAAA,CAAMI,OAAO,EAAEE,KAAI,KAC9EN,KAAA,CAAMI,OAAO,CAACG,EAAE;EAElB,IAAI,CAACP,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,EAAE;IACjC,OAAO;EACT;EAEA,oBACEC,IAAA,CAACb,qBAAA;IACCc,cAAA,EAAgBZ,KAAA,CAAMY,cAAc;IACpCC,IAAA,EAAMb,KAAA,CAAMI,OAAO;IACnBU,QAAA,EAAUb,aAAA;IACVc,oBAAA,EAAsBf,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,CAACM,IAAI;IACvDC,eAAA,EAAiBjB,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,CAACQ,SAAS;IACvDC,QAAA,EAAUnB,KAAA,CAAMmB;;AAGtB","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ClientCollectionConfig } from 'payload';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export declare function ListEmptyTrashButton({ collectionConfig, hasDeletePermission, }: {
|
|
4
|
+
collectionConfig: ClientCollectionConfig;
|
|
5
|
+
hasDeletePermission: boolean;
|
|
6
|
+
}): React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=ListEmptyTrashButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListEmptyTrashButton.d.ts","sourceRoot":"","sources":["../../../../src/elements/ListHeader/TitleActions/ListEmptyTrashButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,wBAAgB,oBAAoB,CAAC,EACnC,gBAAgB,EAChB,mBAAmB,GACpB,EAAE;IACD,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,mBAAmB,EAAE,OAAO,CAAA;CAC7B,qBAyKA"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { useModal } from '@faceless-ui/modal';
|
|
5
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
+
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
7
|
+
import * as qs from 'qs-esm';
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import { toast } from 'sonner';
|
|
10
|
+
import { useConfig } from '../../../providers/Config/index.js';
|
|
11
|
+
import { useLocale } from '../../../providers/Locale/index.js';
|
|
12
|
+
import { useRouteCache } from '../../../providers/RouteCache/index.js';
|
|
13
|
+
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
14
|
+
import { requests } from '../../../utilities/api.js';
|
|
15
|
+
import { Button } from '../../Button/index.js';
|
|
16
|
+
import { ConfirmationModal } from '../../ConfirmationModal/index.js';
|
|
17
|
+
import { Translation } from '../../Translation/index.js';
|
|
18
|
+
const confirmEmptyTrashSlug = 'confirm-empty-trash';
|
|
19
|
+
export function ListEmptyTrashButton({
|
|
20
|
+
collectionConfig,
|
|
21
|
+
hasDeletePermission
|
|
22
|
+
}) {
|
|
23
|
+
const {
|
|
24
|
+
i18n,
|
|
25
|
+
t
|
|
26
|
+
} = useTranslation();
|
|
27
|
+
const {
|
|
28
|
+
code: locale
|
|
29
|
+
} = useLocale();
|
|
30
|
+
const {
|
|
31
|
+
config
|
|
32
|
+
} = useConfig();
|
|
33
|
+
const {
|
|
34
|
+
openModal
|
|
35
|
+
} = useModal();
|
|
36
|
+
const router = useRouter();
|
|
37
|
+
const searchParams = useSearchParams();
|
|
38
|
+
const {
|
|
39
|
+
clearRouteCache
|
|
40
|
+
} = useRouteCache();
|
|
41
|
+
const [trashCount, setTrashCount] = React.useState(null);
|
|
42
|
+
React.useEffect(() => {
|
|
43
|
+
const fetchTrashCount = async () => {
|
|
44
|
+
const queryString = qs.stringify({
|
|
45
|
+
depth: 0,
|
|
46
|
+
limit: 0,
|
|
47
|
+
locale,
|
|
48
|
+
trash: true,
|
|
49
|
+
where: {
|
|
50
|
+
deletedAt: {
|
|
51
|
+
exists: true
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}, {
|
|
55
|
+
addQueryPrefix: true
|
|
56
|
+
});
|
|
57
|
+
try {
|
|
58
|
+
const res = await requests.get(`${config.serverURL}${config.routes.api}/${collectionConfig.slug}${queryString}`, {
|
|
59
|
+
headers: {
|
|
60
|
+
'Accept-Language': i18n.language,
|
|
61
|
+
'Content-Type': 'application/json'
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
const json = await res.json();
|
|
65
|
+
setTrashCount(json?.totalDocs ?? 0);
|
|
66
|
+
} catch {
|
|
67
|
+
setTrashCount(0);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
void fetchTrashCount();
|
|
71
|
+
}, [collectionConfig.slug, config, i18n.language, locale]);
|
|
72
|
+
const handleEmptyTrash = React.useCallback(async () => {
|
|
73
|
+
if (!hasDeletePermission) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const {
|
|
77
|
+
slug,
|
|
78
|
+
labels
|
|
79
|
+
} = collectionConfig;
|
|
80
|
+
const queryString_0 = qs.stringify({
|
|
81
|
+
limit: 0,
|
|
82
|
+
locale,
|
|
83
|
+
trash: true,
|
|
84
|
+
where: {
|
|
85
|
+
deletedAt: {
|
|
86
|
+
exists: true
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}, {
|
|
90
|
+
addQueryPrefix: true
|
|
91
|
+
});
|
|
92
|
+
const res_0 = await requests.delete(`${config.serverURL}${config.routes.api}/${slug}${queryString_0}`, {
|
|
93
|
+
headers: {
|
|
94
|
+
'Accept-Language': i18n.language,
|
|
95
|
+
'Content-Type': 'application/json'
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
try {
|
|
99
|
+
const json_0 = await res_0.json();
|
|
100
|
+
const deletedCount = json_0?.docs?.length || 0;
|
|
101
|
+
if (res_0.status < 400) {
|
|
102
|
+
toast.success(t('general:permanentlyDeletedCountSuccessfully', {
|
|
103
|
+
count: deletedCount,
|
|
104
|
+
label: getTranslation(labels?.plural, i18n)
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
if (json_0?.errors?.length > 0) {
|
|
108
|
+
toast.error(json_0.message, {
|
|
109
|
+
description: json_0.errors.map(err => err.message).join('\n')
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
router.replace(qs.stringify({
|
|
113
|
+
...Object.fromEntries(searchParams.entries()),
|
|
114
|
+
page: '1'
|
|
115
|
+
}, {
|
|
116
|
+
addQueryPrefix: true
|
|
117
|
+
}));
|
|
118
|
+
clearRouteCache();
|
|
119
|
+
} catch {
|
|
120
|
+
toast.error(t('error:unknown'));
|
|
121
|
+
}
|
|
122
|
+
}, [collectionConfig, config, hasDeletePermission, i18n, t, locale, searchParams, router, clearRouteCache]);
|
|
123
|
+
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
124
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
125
|
+
"aria-label": t('general:emptyTrashLabel', {
|
|
126
|
+
label: getTranslation(collectionConfig?.labels?.plural, i18n)
|
|
127
|
+
}),
|
|
128
|
+
buttonStyle: "pill",
|
|
129
|
+
disabled: trashCount === 0,
|
|
130
|
+
id: "empty-trash-button",
|
|
131
|
+
onClick: () => {
|
|
132
|
+
openModal(confirmEmptyTrashSlug);
|
|
133
|
+
},
|
|
134
|
+
size: "small",
|
|
135
|
+
children: t('general:emptyTrash')
|
|
136
|
+
}, "empty-trash-button"), /*#__PURE__*/_jsx(ConfirmationModal, {
|
|
137
|
+
body: /*#__PURE__*/_jsx(Translation, {
|
|
138
|
+
elements: {
|
|
139
|
+
'0': ({
|
|
140
|
+
children
|
|
141
|
+
}) => /*#__PURE__*/_jsx("strong", {
|
|
142
|
+
children: children
|
|
143
|
+
}),
|
|
144
|
+
'1': ({
|
|
145
|
+
children: children_0
|
|
146
|
+
}) => /*#__PURE__*/_jsx("strong", {
|
|
147
|
+
children: children_0
|
|
148
|
+
})
|
|
149
|
+
},
|
|
150
|
+
i18nKey: "general:aboutToPermanentlyDeleteTrash",
|
|
151
|
+
t: t,
|
|
152
|
+
variables: {
|
|
153
|
+
count: trashCount ?? 0,
|
|
154
|
+
label: getTranslation(trashCount === 1 ? collectionConfig.labels?.singular : collectionConfig.labels?.plural, i18n)
|
|
155
|
+
}
|
|
156
|
+
}),
|
|
157
|
+
confirmingLabel: t('general:deleting'),
|
|
158
|
+
heading: t('general:confirmDeletion'),
|
|
159
|
+
modalSlug: confirmEmptyTrashSlug,
|
|
160
|
+
onConfirm: handleEmptyTrash
|
|
161
|
+
})]
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=ListEmptyTrashButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListEmptyTrashButton.js","names":["useModal","getTranslation","useRouter","useSearchParams","qs","React","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","Button","ConfirmationModal","Translation","confirmEmptyTrashSlug","ListEmptyTrashButton","collectionConfig","hasDeletePermission","i18n","t","code","locale","config","openModal","router","searchParams","clearRouteCache","trashCount","setTrashCount","useState","useEffect","fetchTrashCount","queryString","stringify","depth","limit","trash","where","deletedAt","exists","addQueryPrefix","res","get","serverURL","routes","api","slug","headers","language","json","totalDocs","handleEmptyTrash","useCallback","labels","delete","deletedCount","docs","length","status","success","count","label","plural","errors","error","message","description","map","err","join","replace","Object","fromEntries","entries","page","_jsxs","Fragment","_jsx","buttonStyle","disabled","id","onClick","size","body","elements","0","children","1","i18nKey","variables","singular","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/elements/ListHeader/TitleActions/ListEmptyTrashButton.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Button } from '../../Button/index.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { Translation } from '../../Translation/index.js'\n\nconst confirmEmptyTrashSlug = 'confirm-empty-trash'\n\nexport function ListEmptyTrashButton({\n collectionConfig,\n hasDeletePermission,\n}: {\n collectionConfig: ClientCollectionConfig\n hasDeletePermission: boolean\n}) {\n const { i18n, t } = useTranslation()\n const { code: locale } = useLocale()\n const { config } = useConfig()\n const { openModal } = useModal()\n const router = useRouter()\n const searchParams = useSearchParams()\n const { clearRouteCache } = useRouteCache()\n\n const [trashCount, setTrashCount] = React.useState<null | number>(null)\n\n React.useEffect(() => {\n const fetchTrashCount = async () => {\n const queryString = qs.stringify(\n {\n depth: 0,\n limit: 0,\n locale,\n trash: true,\n where: {\n deletedAt: {\n exists: true,\n },\n },\n },\n { addQueryPrefix: true },\n )\n\n try {\n const res = await requests.get(\n `${config.serverURL}${config.routes.api}/${collectionConfig.slug}${queryString}`,\n {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n\n const json = await res.json()\n setTrashCount(json?.totalDocs ?? 0)\n } catch {\n setTrashCount(0)\n }\n }\n\n void fetchTrashCount()\n }, [collectionConfig.slug, config, i18n.language, locale])\n\n const handleEmptyTrash = React.useCallback(async () => {\n if (!hasDeletePermission) {\n return\n }\n\n const { slug, labels } = collectionConfig\n\n const queryString = qs.stringify(\n {\n limit: 0,\n locale,\n trash: true,\n where: {\n deletedAt: {\n exists: true,\n },\n },\n },\n { addQueryPrefix: true },\n )\n\n const res = await requests.delete(\n `${config.serverURL}${config.routes.api}/${slug}${queryString}`,\n {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n\n try {\n const json = await res.json()\n const deletedCount = json?.docs?.length || 0\n\n if (res.status < 400) {\n toast.success(\n t('general:permanentlyDeletedCountSuccessfully', {\n count: deletedCount,\n label: getTranslation(labels?.plural, i18n),\n }),\n )\n }\n\n if (json?.errors?.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((err) => err.message).join('\\n'),\n })\n }\n\n router.replace(\n qs.stringify(\n {\n ...Object.fromEntries(searchParams.entries()),\n page: '1',\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n } catch {\n toast.error(t('error:unknown'))\n }\n }, [\n collectionConfig,\n config,\n hasDeletePermission,\n i18n,\n t,\n locale,\n searchParams,\n router,\n clearRouteCache,\n ])\n\n return (\n <React.Fragment>\n <Button\n aria-label={t('general:emptyTrashLabel', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n buttonStyle=\"pill\"\n disabled={trashCount === 0}\n id=\"empty-trash-button\"\n key=\"empty-trash-button\"\n onClick={() => {\n openModal(confirmEmptyTrashSlug)\n }}\n size=\"small\"\n >\n {t('general:emptyTrash')}\n </Button>\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '0': ({ children }) => <strong>{children}</strong>,\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToPermanentlyDeleteTrash\"\n t={t}\n variables={{\n count: trashCount ?? 0,\n label: getTranslation(\n trashCount === 1\n ? collectionConfig.labels?.singular\n : collectionConfig.labels?.plural,\n i18n,\n ),\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmEmptyTrashSlug}\n onConfirm={handleEmptyTrash}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { ListBulkUploadButton } from './ListBulkUploadButton.js';
|
|
2
2
|
export { ListCreateNewButton } from './ListCreateNewDocButton.js';
|
|
3
3
|
export { ListCreateNewDocInFolderButton } from './ListCreateNewDocInFolderButton.js';
|
|
4
|
+
export { ListEmptyTrashButton } from './ListEmptyTrashButton.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ListHeader/TitleActions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ListHeader/TitleActions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { ListBulkUploadButton } from './ListBulkUploadButton.js';
|
|
2
2
|
export { ListCreateNewButton } from './ListCreateNewDocButton.js';
|
|
3
3
|
export { ListCreateNewDocInFolderButton } from './ListCreateNewDocInFolderButton.js';
|
|
4
|
+
export { ListEmptyTrashButton } from './ListEmptyTrashButton.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ListBulkUploadButton","ListCreateNewButton","ListCreateNewDocInFolderButton"],"sources":["../../../../src/elements/ListHeader/TitleActions/index.tsx"],"sourcesContent":["export { ListBulkUploadButton } from './ListBulkUploadButton.js'\nexport { ListCreateNewButton } from './ListCreateNewDocButton.js'\nexport { ListCreateNewDocInFolderButton } from './ListCreateNewDocInFolderButton.js'\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ;AACrC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,8BAA8B,QAAQ","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["ListBulkUploadButton","ListCreateNewButton","ListCreateNewDocInFolderButton","ListEmptyTrashButton"],"sources":["../../../../src/elements/ListHeader/TitleActions/index.tsx"],"sourcesContent":["export { ListBulkUploadButton } from './ListBulkUploadButton.js'\nexport { ListCreateNewButton } from './ListCreateNewDocButton.js'\nexport { ListCreateNewDocInFolderButton } from './ListCreateNewDocInFolderButton.js'\nexport { ListEmptyTrashButton } from './ListEmptyTrashButton.js'\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ;AACrC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,oBAAoB,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ClientCollectionConfig, ViewTypes } from 'payload';
|
|
2
|
+
import './index.scss';
|
|
3
|
+
type ByFolderPillProps = {
|
|
4
|
+
readonly collectionConfig: ClientCollectionConfig;
|
|
5
|
+
readonly folderCollectionSlug: string;
|
|
6
|
+
readonly viewType: ViewTypes;
|
|
7
|
+
};
|
|
8
|
+
export declare function ByFolderPill({ collectionConfig, folderCollectionSlug, viewType, }: ByFolderPillProps): import("react").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ByFolderPill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ByFolderPill.d.ts","sourceRoot":"","sources":["../../../src/elements/ListHeaderTabs/ByFolderPill.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAOhE,OAAO,cAAc,CAAA;AAIrB,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B,CAAA;AAED,wBAAgB,YAAY,CAAC,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,GACT,EAAE,iBAAiB,+BA8BnB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import { formatAdminURL } from 'payload/shared';
|
|
6
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
7
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
|
+
import { Button } from '../Button/index.js';
|
|
9
|
+
import './index.scss';
|
|
10
|
+
const baseClass = 'list-pills';
|
|
11
|
+
export function ByFolderPill(t0) {
|
|
12
|
+
const $ = _c(10);
|
|
13
|
+
const {
|
|
14
|
+
collectionConfig,
|
|
15
|
+
folderCollectionSlug,
|
|
16
|
+
viewType
|
|
17
|
+
} = t0;
|
|
18
|
+
const {
|
|
19
|
+
t
|
|
20
|
+
} = useTranslation();
|
|
21
|
+
const {
|
|
22
|
+
config
|
|
23
|
+
} = useConfig();
|
|
24
|
+
if (!folderCollectionSlug) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const t1 = viewType === "folders" && `${baseClass}__button--active`;
|
|
28
|
+
let t2;
|
|
29
|
+
if ($[0] !== t1) {
|
|
30
|
+
t2 = [`${baseClass}__button`, t1].filter(Boolean);
|
|
31
|
+
$[0] = t1;
|
|
32
|
+
$[1] = t2;
|
|
33
|
+
} else {
|
|
34
|
+
t2 = $[1];
|
|
35
|
+
}
|
|
36
|
+
const t3 = t2.join(" ");
|
|
37
|
+
const t4 = viewType === "folders";
|
|
38
|
+
const t5 = viewType === "list" || viewType === "trash" ? "link" : "div";
|
|
39
|
+
const t6 = `/collections/${collectionConfig.slug}/${folderCollectionSlug}`;
|
|
40
|
+
let t7;
|
|
41
|
+
if ($[2] !== config.routes.admin || $[3] !== config.serverURL || $[4] !== t || $[5] !== t3 || $[6] !== t4 || $[7] !== t5 || $[8] !== t6) {
|
|
42
|
+
t7 = _jsx("div", {
|
|
43
|
+
className: baseClass,
|
|
44
|
+
children: _jsx(Button, {
|
|
45
|
+
buttonStyle: "tab",
|
|
46
|
+
className: t3,
|
|
47
|
+
disabled: t4,
|
|
48
|
+
el: t5,
|
|
49
|
+
to: formatAdminURL({
|
|
50
|
+
adminRoute: config.routes.admin,
|
|
51
|
+
path: t6,
|
|
52
|
+
serverURL: config.serverURL
|
|
53
|
+
}),
|
|
54
|
+
children: t("folder:byFolder")
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
$[2] = config.routes.admin;
|
|
58
|
+
$[3] = config.serverURL;
|
|
59
|
+
$[4] = t;
|
|
60
|
+
$[5] = t3;
|
|
61
|
+
$[6] = t4;
|
|
62
|
+
$[7] = t5;
|
|
63
|
+
$[8] = t6;
|
|
64
|
+
$[9] = t7;
|
|
65
|
+
} else {
|
|
66
|
+
t7 = $[9];
|
|
67
|
+
}
|
|
68
|
+
return t7;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ByFolderPill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ByFolderPill.js","names":["c","_c","formatAdminURL","useConfig","useTranslation","Button","baseClass","ByFolderPill","t0","$","collectionConfig","folderCollectionSlug","viewType","t","config","t1","t2","filter","Boolean","t3","join","t4","t5","t6","slug","t7","routes","admin","serverURL","_jsx","className","children","buttonStyle","disabled","el","to","adminRoute","path"],"sources":["../../../src/elements/ListHeaderTabs/ByFolderPill.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-pills'\n\ntype ByFolderPillProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly folderCollectionSlug: string\n readonly viewType: ViewTypes\n}\n\nexport function ByFolderPill({\n collectionConfig,\n folderCollectionSlug,\n viewType,\n}: ByFolderPillProps) {\n const { t } = useTranslation()\n const { config } = useConfig()\n\n if (!folderCollectionSlug) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <Button\n buttonStyle=\"tab\"\n className={[\n `${baseClass}__button`,\n viewType === 'folders' && `${baseClass}__button--active`,\n ]\n .filter(Boolean)\n .join(' ')}\n disabled={viewType === 'folders'}\n el={viewType === 'list' || viewType === 'trash' ? 'link' : 'div'}\n to={formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionConfig.slug}/${folderCollectionSlug}`,\n serverURL: config.serverURL,\n })}\n >\n {t('folder:byFolder')}\n </Button>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAE/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAQlB,OAAO,SAAAC,aAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAsB;IAAAS,gBAAA;IAAAC,oBAAA;IAAAC;EAAA,IAAAJ,EAIT;EAClB;IAAAK;EAAA,IAAcT,cAAA;EACd;IAAAU;EAAA,IAAmBX,SAAA;EAAA,KAEdQ,oBAAA;IAAA;EAAA;EAUG,MAAAI,EAAA,GAAAH,QAAA,KAAa,aAAa,GAAAN,SAAA,kBAA8B;EAAA,IAAAU,EAAA;EAAA,IAAAP,CAAA,QAAAM,EAAA;IAF/CC,EAAA,IACT,GAAAV,SAAA,UAAsB,EACtBS,EAAwD,EAAAE,MAAA,CAAAC,OAEhD;IAAAT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAJC,MAAAU,EAAA,GAAAH,EAID,CAAAI,IAAA,CACF;EACE,MAAAC,EAAA,GAAAT,QAAA,KAAa;EACnB,MAAAU,EAAA,GAAAV,QAAA,KAAa,UAAUA,QAAA,KAAa,UAAU,SAAS;EAGnD,MAAAW,EAAA,mBAAgBb,gBAAA,CAAAc,IAAA,IAAyBb,oBAAA,EAAsB;EAAA,IAAAc,EAAA;EAAA,IAAAhB,CAAA,QAAAK,MAAA,CAAAY,MAAA,CAAAC,KAAA,IAAAlB,CAAA,QAAAK,MAAA,CAAAc,SAAA,IAAAnB,CAAA,QAAAI,CAAA,IAAAJ,CAAA,QAAAU,EAAA,IAAAV,CAAA,QAAAY,EAAA,IAAAZ,CAAA,QAAAa,EAAA,IAAAb,CAAA,QAAAc,EAAA;IAb3EE,EAAA,GAAAI,IAAA,CAAC;MAAAC,SAAA,EAAAxB,SAAA;MAAAyB,QAAA,EACCF,IAAA,CAAAxB,MAAA;QAAA2B,WAAA,EACc;QAAAF,SAAA,EACDX,EAKH;QAAAc,QAAA,EACEZ,EAAa;QAAAa,EAAA,EACnBZ,EAAuD;QAAAa,EAAA,EACvDjC,cAAA;UAAAkC,UAAA,EACUtB,MAAA,CAAAY,MAAA,CAAAC,KAAA;UAAAU,IAAA,EACNd,EAA+D;UAAAK,SAAA,EAC1Dd,MAAA,CAAAc;QAAA,CACb;QAAAG,QAAA,EAEClB,CAAA,CAAE;MAAA,C;;;;;;;;;;;;;SAjBPY,E","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ClientCollectionConfig, ViewTypes } from 'payload';
|
|
2
|
+
import './index.scss';
|
|
3
|
+
type DefaultListPillProps = {
|
|
4
|
+
readonly collectionConfig: ClientCollectionConfig;
|
|
5
|
+
readonly viewType: ViewTypes;
|
|
6
|
+
};
|
|
7
|
+
export declare function DefaultListPill({ collectionConfig, viewType }: DefaultListPillProps): import("react").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=DefaultListPill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultListPill.d.ts","sourceRoot":"","sources":["../../../src/elements/ListHeaderTabs/DefaultListPill.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAQhE,OAAO,cAAc,CAAA;AAIrB,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B,CAAA;AAED,wBAAgB,eAAe,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BA2BnF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
+
import { formatAdminURL } from 'payload/shared';
|
|
7
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
8
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
9
|
+
import { Button } from '../Button/index.js';
|
|
10
|
+
import './index.scss';
|
|
11
|
+
const baseClass = 'list-pills';
|
|
12
|
+
export function DefaultListPill(t0) {
|
|
13
|
+
const $ = _c(11);
|
|
14
|
+
const {
|
|
15
|
+
collectionConfig,
|
|
16
|
+
viewType
|
|
17
|
+
} = t0;
|
|
18
|
+
const {
|
|
19
|
+
i18n,
|
|
20
|
+
t
|
|
21
|
+
} = useTranslation();
|
|
22
|
+
const {
|
|
23
|
+
config
|
|
24
|
+
} = useConfig();
|
|
25
|
+
const buttonLabel = `${t("general:all")} ${getTranslation(collectionConfig?.labels?.plural, i18n)}`;
|
|
26
|
+
let t1;
|
|
27
|
+
if ($[0] !== buttonLabel || $[1] !== collectionConfig.labels?.plural || $[2] !== collectionConfig.slug || $[3] !== config.routes.admin || $[4] !== config.serverURL || $[5] !== i18n || $[6] !== t || $[7] !== viewType) {
|
|
28
|
+
const buttonId = buttonLabel.toLowerCase().replace(/\s+/g, "-");
|
|
29
|
+
const t2 = viewType === "list" && `${baseClass}__button--active`;
|
|
30
|
+
let t3;
|
|
31
|
+
if ($[9] !== t2) {
|
|
32
|
+
t3 = [`${baseClass}__button`, t2].filter(Boolean);
|
|
33
|
+
$[9] = t2;
|
|
34
|
+
$[10] = t3;
|
|
35
|
+
} else {
|
|
36
|
+
t3 = $[10];
|
|
37
|
+
}
|
|
38
|
+
t1 = _jsx("div", {
|
|
39
|
+
className: baseClass,
|
|
40
|
+
children: _jsxs(Button, {
|
|
41
|
+
buttonStyle: "tab",
|
|
42
|
+
className: t3.join(" "),
|
|
43
|
+
disabled: viewType === "list",
|
|
44
|
+
el: viewType === "folders" || viewType === "trash" ? "link" : "div",
|
|
45
|
+
id: buttonId,
|
|
46
|
+
to: formatAdminURL({
|
|
47
|
+
adminRoute: config.routes.admin,
|
|
48
|
+
path: `/collections/${collectionConfig.slug}`,
|
|
49
|
+
serverURL: config.serverURL
|
|
50
|
+
}),
|
|
51
|
+
children: [t("general:all"), " ", getTranslation(collectionConfig?.labels?.plural, i18n)]
|
|
52
|
+
})
|
|
53
|
+
});
|
|
54
|
+
$[0] = buttonLabel;
|
|
55
|
+
$[1] = collectionConfig.labels?.plural;
|
|
56
|
+
$[2] = collectionConfig.slug;
|
|
57
|
+
$[3] = config.routes.admin;
|
|
58
|
+
$[4] = config.serverURL;
|
|
59
|
+
$[5] = i18n;
|
|
60
|
+
$[6] = t;
|
|
61
|
+
$[7] = viewType;
|
|
62
|
+
$[8] = t1;
|
|
63
|
+
} else {
|
|
64
|
+
t1 = $[8];
|
|
65
|
+
}
|
|
66
|
+
return t1;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=DefaultListPill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultListPill.js","names":["c","_c","getTranslation","formatAdminURL","useConfig","useTranslation","Button","baseClass","DefaultListPill","t0","$","collectionConfig","viewType","i18n","t","config","buttonLabel","labels","plural","t1","slug","routes","admin","serverURL","buttonId","toLowerCase","replace","t2","t3","filter","Boolean","_jsx","className","children","_jsxs","buttonStyle","join","disabled","el","id","to","adminRoute","path"],"sources":["../../../src/elements/ListHeaderTabs/DefaultListPill.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-pills'\n\ntype DefaultListPillProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly viewType: ViewTypes\n}\n\nexport function DefaultListPill({ collectionConfig, viewType }: DefaultListPillProps) {\n const { i18n, t } = useTranslation()\n const { config } = useConfig()\n\n const buttonLabel = `${t('general:all')} ${getTranslation(collectionConfig?.labels?.plural, i18n)}`\n const buttonId = buttonLabel.toLowerCase().replace(/\\s+/g, '-')\n\n return (\n <div className={baseClass}>\n <Button\n buttonStyle=\"tab\"\n className={[`${baseClass}__button`, viewType === 'list' && `${baseClass}__button--active`]\n .filter(Boolean)\n .join(' ')}\n disabled={viewType === 'list'}\n el={viewType === 'folders' || viewType === 'trash' ? 'link' : 'div'}\n id={buttonId}\n to={formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionConfig.slug}`,\n serverURL: config.serverURL,\n })}\n >\n {t('general:all')} {getTranslation(collectionConfig?.labels?.plural, i18n)}\n </Button>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,SAAAC,gBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAyB;IAAAU,gBAAA;IAAAC;EAAA,IAAAH,EAAoD;EAClF;IAAAI,IAAA;IAAAC;EAAA,IAAoBT,cAAA;EACpB;IAAAU;EAAA,IAAmBX,SAAA;EAEnB,MAAAY,WAAA,GAAoB,GAAGF,CAAA,CAAE,kBAAkBZ,cAAA,CAAeS,gBAAA,EAAAM,MAAA,EAAAC,MAAA,EAAkCL,IAAA,GAAO;EAAA,IAAAM,EAAA;EAAA,IAAAT,CAAA,QAAAM,WAAA,IAAAN,CAAA,QAAAC,gBAAA,CAAAM,MAAA,EAAAC,MAAA,IAAAR,CAAA,QAAAC,gBAAA,CAAAS,IAAA,IAAAV,CAAA,QAAAK,MAAA,CAAAM,MAAA,CAAAC,KAAA,IAAAZ,CAAA,QAAAK,MAAA,CAAAQ,SAAA,IAAAb,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAI,CAAA,IAAAJ,CAAA,QAAAE,QAAA;IACnG,MAAAY,QAAA,GAAiBR,WAAA,CAAAS,WAAA,CAAuB,EAAAC,OAAA,SAAmB;IAMjB,MAAAC,EAAA,GAAAf,QAAA,KAAa,UAAU,GAAAL,SAAA,kBAA8B;IAAA,IAAAqB,EAAA;IAAA,IAAAlB,CAAA,QAAAiB,EAAA;MAA9EC,EAAA,IAAC,GAAArB,SAAA,UAAsB,EAAEoB,EAAqD,EAAAE,MAAA,CAAAC,OAC/E;MAAApB,CAAA,MAAAiB,EAAA;MAAAjB,CAAA,OAAAkB,EAAA;IAAA;MAAAA,EAAA,GAAAlB,CAAA;IAAA;IAJdS,EAAA,GAAAY,IAAA,CAAC;MAAAC,SAAA,EAAAzB,SAAA;MAAA0B,QAAA,EACCC,KAAA,CAAA5B,MAAA;QAAA6B,WAAA,EACc;QAAAH,SAAA,EACDJ,EACD,CAAAQ,IAAA,CACF;QAAAC,QAAA,EACEzB,QAAA,KAAa;QAAA0B,EAAA,EACnB1B,QAAA,KAAa,aAAaA,QAAA,KAAa,UAAU,SAAS;QAAA2B,EAAA,EAC1Df,QAAA;QAAAgB,EAAA,EACArC,cAAA;UAAAsC,UAAA,EACU1B,MAAA,CAAAM,MAAA,CAAAC,KAAA;UAAAoB,IAAA,EACN,gBAAgB/B,gBAAA,CAAAS,IAAA,EAAuB;UAAAG,SAAA,EAClCR,MAAA,CAAAQ;QAAA,CACb;QAAAU,QAAA,GAECnB,CAAA,CAAE,gBAAe,KAAEZ,cAAA,CAAeS,gBAAA,EAAAM,MAAA,EAAAC,MAAA,EAAkCL,IAAA;MAAA,C;;;;;;;;;;;;;;SAfzEM,E","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ClientCollectionConfig, ViewTypes } from 'payload';
|
|
2
|
+
export declare function TrashPill({ collectionConfig, viewType, }: {
|
|
3
|
+
collectionConfig: ClientCollectionConfig;
|
|
4
|
+
readonly viewType: ViewTypes;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=TrashPill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrashPill.d.ts","sourceRoot":"","sources":["../../../src/elements/ListHeaderTabs/TrashPill.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAQhE,wBAAgB,SAAS,CAAC,EACxB,gBAAgB,EAChB,QAAQ,GACT,EAAE;IACD,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B,+BAwBA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import { formatAdminURL } from 'payload/shared';
|
|
6
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
7
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
|
+
import { Button } from '../Button/index.js';
|
|
9
|
+
export function TrashPill(t0) {
|
|
10
|
+
const $ = _c(7);
|
|
11
|
+
const {
|
|
12
|
+
collectionConfig,
|
|
13
|
+
viewType
|
|
14
|
+
} = t0;
|
|
15
|
+
const {
|
|
16
|
+
t
|
|
17
|
+
} = useTranslation();
|
|
18
|
+
const {
|
|
19
|
+
config
|
|
20
|
+
} = useConfig();
|
|
21
|
+
if (!collectionConfig.trash) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const t1 = viewType === "trash";
|
|
25
|
+
const t2 = viewType === "list" || viewType === "folders" ? "link" : "div";
|
|
26
|
+
const t3 = `/collections/${collectionConfig.slug}/trash`;
|
|
27
|
+
let t4;
|
|
28
|
+
if ($[0] !== config.routes.admin || $[1] !== config.serverURL || $[2] !== t || $[3] !== t1 || $[4] !== t2 || $[5] !== t3) {
|
|
29
|
+
t4 = _jsx(Button, {
|
|
30
|
+
buttonStyle: "tab",
|
|
31
|
+
disabled: t1,
|
|
32
|
+
el: t2,
|
|
33
|
+
id: "trash-view-pill",
|
|
34
|
+
to: formatAdminURL({
|
|
35
|
+
adminRoute: config.routes.admin,
|
|
36
|
+
path: t3,
|
|
37
|
+
serverURL: config.serverURL
|
|
38
|
+
}),
|
|
39
|
+
children: t("general:trash")
|
|
40
|
+
}, "trash-view-pill");
|
|
41
|
+
$[0] = config.routes.admin;
|
|
42
|
+
$[1] = config.serverURL;
|
|
43
|
+
$[2] = t;
|
|
44
|
+
$[3] = t1;
|
|
45
|
+
$[4] = t2;
|
|
46
|
+
$[5] = t3;
|
|
47
|
+
$[6] = t4;
|
|
48
|
+
} else {
|
|
49
|
+
t4 = $[6];
|
|
50
|
+
}
|
|
51
|
+
return t4;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=TrashPill.js.map
|