@payloadcms/ui 4.0.0-canary.34 → 4.0.0-canary.36
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/css/app.css +1 -0
- package/dist/css/preflight.css +1 -0
- package/dist/css/spacing.css +3 -0
- package/dist/elements/AppHeader/index.css +3 -0
- package/dist/elements/BulkUpload/ActionsBar/index.css +1 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.css +2 -4
- package/dist/elements/BulkUpload/FileSidebar/index.css +1 -0
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +12 -7
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.css +2 -0
- package/dist/elements/Collapsible/index.css +1 -0
- package/dist/elements/DatePicker/index.css +2 -0
- package/dist/elements/Dialog/index.css +1 -0
- package/dist/elements/DocumentControls/index.css +1 -0
- package/dist/elements/DocumentFields/index.css +2 -0
- package/dist/elements/DocumentHeader/Tabs/index.css +1 -0
- package/dist/elements/DocumentHeader/index.css +1 -0
- package/dist/elements/EditUpload/index.css +1 -1
- package/dist/elements/FieldDiffContainer/index.css +1 -0
- package/dist/elements/FieldDiffLabel/index.css +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.css +2 -0
- package/dist/elements/HTMLDiff/index.css +1 -0
- package/dist/elements/ItemsDrawer/index.css +3 -0
- package/dist/elements/ListControls/index.css +1 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +7 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +3 -1
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListControlsBar/index.css +1 -0
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.css +1 -0
- package/dist/elements/Nav/index.css +2 -0
- package/dist/elements/PageControls/index.css +1 -0
- package/dist/elements/PillSelector/index.css +1 -0
- package/dist/elements/PreviewSizes/index.css +2 -0
- package/dist/elements/PublishButton/index.css +1 -0
- package/dist/elements/QueryPresets/fields/Heading/index.css +1 -0
- package/dist/elements/RenderTitle/index.css +1 -0
- package/dist/elements/Table/index.css +1 -0
- package/dist/elements/TableSection/index.css +1 -0
- package/dist/elements/Tabs/index.css +1 -0
- package/dist/elements/Thumbnail/index.css +1 -0
- package/dist/elements/TimezonePicker/index.css +1 -0
- package/dist/elements/Tooltip/index.css +7 -0
- package/dist/elements/WhereBuilder/Condition/index.css +1 -0
- package/dist/elements/WhereBuilder/index.css +2 -0
- package/dist/fields/Array/index.css +1 -0
- package/dist/fields/Blocks/index.css +1 -0
- package/dist/fields/Group/index.css +1 -0
- package/dist/fields/Row/index.css +2 -0
- package/dist/fields/Tabs/index.css +1 -0
- package/dist/forms/RenderFields/index.css +1 -0
- package/dist/hooks/useControllableState.js +3 -3
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +30 -19
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +6 -7
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/styles.css +5 -1
- package/dist/templates/Default/Wrapper/index.css +2 -0
- package/dist/templates/Default/index.css +1 -0
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +4 -1
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
- package/dist/utilities/isPathMatchingRoute.js +7 -5
- package/dist/utilities/isPathMatchingRoute.js.map +1 -1
- package/dist/views/API/index.css +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
- package/dist/views/Edit/index.css +1 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +1 -0
- package/dist/views/HierarchyList/index.css +1 -0
- package/dist/views/List/ListHeader/index.css +1 -0
- package/dist/views/List/ListHeader/index.d.ts +0 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +2 -6
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +3 -2
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +2 -0
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +26 -19
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/index.css +2 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +8 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.css +2 -0
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +9 -6
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/index.css +1 -0
- package/dist/views/Versions/index.css +1 -0
- package/dist/widgets/CollectionCards/index.css +4 -0
- package/package.json +5 -5
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +0 -120
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +0 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +0 -144
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +0 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +0 -885
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
- package/dist/elements/CommandPalette/buildActions.spec.js +0 -158
- package/dist/elements/CommandPalette/buildActions.spec.js.map +0 -1
- package/dist/elements/CommandPalette/highlightLabel.spec.js +0 -78
- package/dist/elements/CommandPalette/highlightLabel.spec.js.map +0 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +0 -143
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +0 -1
- package/dist/elements/Toasts/fieldErrors.spec.js +0 -46
- package/dist/elements/Toasts/fieldErrors.spec.js.map +0 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js +0 -152
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +0 -1
- package/dist/elements/WhereBuilder/conditionValue.spec.js +0 -65
- package/dist/elements/WhereBuilder/conditionValue.spec.js.map +0 -1
- package/dist/fields/Upload/Input.spec.js +0 -242
- package/dist/fields/Upload/Input.spec.js.map +0 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts +0 -2
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts.map +0 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +0 -67
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +0 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.spec.js +0 -150
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.spec.js.map +0 -1
- package/dist/layouts/Root/index.spec.js +0 -20
- package/dist/layouts/Root/index.spec.js.map +0 -1
- package/dist/providers/Auth/authSessionRequests.spec.js +0 -121
- package/dist/providers/Auth/authSessionRequests.spec.js.map +0 -1
- package/dist/providers/Auth/sessionActivity.spec.js +0 -44
- package/dist/providers/Auth/sessionActivity.spec.js.map +0 -1
- package/dist/providers/Auth/tabSessionSync/index.spec.js +0 -463
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +0 -1
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +0 -311
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +0 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +0 -44
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +0 -1
- package/dist/providers/TableColumns/buildColumnState/index.spec.js +0 -40
- package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +0 -1
- package/dist/utilities/appendCacheTag.spec.js +0 -34
- package/dist/utilities/appendCacheTag.spec.js.map +0 -1
- package/dist/utilities/formatAbsoluteURL.spec.js +0 -27
- package/dist/utilities/formatAbsoluteURL.spec.js.map +0 -1
- package/dist/utilities/formatMetadata.spec.js +0 -83
- package/dist/utilities/formatMetadata.spec.js.map +0 -1
- package/dist/utilities/fuzzyMatch.spec.js +0 -38
- package/dist/utilities/fuzzyMatch.spec.js.map +0 -1
- package/dist/utilities/initReq.spec.js +0 -226
- package/dist/utilities/initReq.spec.js.map +0 -1
- package/dist/utilities/isAbsoluteURL.spec.js +0 -11
- package/dist/utilities/isAbsoluteURL.spec.js.map +0 -1
- package/dist/utilities/isCustomAdminView.spec.js +0 -90
- package/dist/utilities/isCustomAdminView.spec.js.map +0 -1
- package/dist/utilities/isHttpURL.spec.js +0 -25
- package/dist/utilities/isHttpURL.spec.js.map +0 -1
- package/dist/utilities/isPathMatchingRoute.spec.js +0 -178
- package/dist/utilities/isPathMatchingRoute.spec.js.map +0 -1
- package/dist/utilities/isPublicAdminRoute.spec.js +0 -34
- package/dist/utilities/isPublicAdminRoute.spec.js.map +0 -1
- package/dist/utilities/normalizeRelationshipValue.spec.js +0 -373
- package/dist/utilities/normalizeRelationshipValue.spec.js.map +0 -1
- package/dist/utilities/recentlyViewed.spec.js +0 -92
- package/dist/utilities/recentlyViewed.spec.js.map +0 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +0 -168
- package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js +0 -258
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -915
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -47
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -125
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +0 -100
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +0 -1
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
isolation: isolate;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
/* stylelint-disable-next-line plugin/no-non-standard-breakpoints -- TODO: pre-existing; align with a canonical breakpoint */
|
|
9
10
|
@media (min-width: 1441px) {
|
|
10
11
|
.template-default {
|
|
11
12
|
grid-template-columns: 0 auto;
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
19
21
|
@media (max-width: 1440px) {
|
|
20
22
|
.template-default--nav-hydrated.template-default--nav-open {
|
|
21
23
|
grid-template-columns: var(--nav-width) auto;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../src/utilities/handleAuthRedirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAKnC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAA;gBACb,YAAY,EAAE,MAAM,CAAA;aACrB,CAAA;SACF,CAAA;QACD,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAA;SACd,CAAA;KACF,CAAA;IACD,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAClD,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,0CAA2C,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../src/utilities/handleAuthRedirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAKnC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAA;gBACb,YAAY,EAAE,MAAM,CAAA;aACrB,CAAA;SACF,CAAA;QACD,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAA;SACd,CAAA;KACF,CAAA;IACD,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAClD,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,0CAA2C,IAAI,KAAG,MAuChF,CAAA"}
|
|
@@ -21,7 +21,10 @@ export const handleAuthRedirect = ({
|
|
|
21
21
|
if (searchParams && 'redirect' in searchParams) {
|
|
22
22
|
delete searchParams.redirect;
|
|
23
23
|
}
|
|
24
|
-
const redirectRoute = (route !== adminRoute ?
|
|
24
|
+
const redirectRoute = (route !== adminRoute ? formatAdminURL({
|
|
25
|
+
adminRoute: '/',
|
|
26
|
+
path: route
|
|
27
|
+
}) : '') + (Object.keys(searchParams ?? {}).length > 0 ? `${qs.stringify(searchParams, {
|
|
25
28
|
addQueryPrefix: true
|
|
26
29
|
})}` : '');
|
|
27
30
|
const redirectTo = formatAdminURL({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","qs","handleAuthRedirect","config","route","searchParams","user","admin","routes","login","loginRouteFromConfig","unauthorized","unauthorizedRoute","adminRoute","redirect","redirectRoute","Object","keys","length","stringify","addQueryPrefix","redirectTo","
|
|
1
|
+
{"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","qs","handleAuthRedirect","config","route","searchParams","user","admin","routes","login","loginRouteFromConfig","unauthorized","unauthorizedRoute","adminRoute","redirect","redirectRoute","path","Object","keys","length","stringify","addQueryPrefix","redirectTo","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"sources":["../../src/utilities/handleAuthRedirect.ts"],"sourcesContent":["import type { User } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\n\ntype Args = {\n config: {\n admin: {\n routes: {\n login: string\n unauthorized: string\n }\n }\n routes: {\n admin: string\n }\n }\n route: string\n searchParams: { [key: string]: string | string[] }\n user?: User\n}\n\n/** Builds the redirect URL for unauthenticated or unauthorized admin access. */\nexport const handleAuthRedirect = ({ config, route, searchParams, user }: Args): string => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig, unauthorized: unauthorizedRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (searchParams && 'redirect' in searchParams) {\n delete searchParams.redirect\n }\n\n const redirectRoute =\n (route !== adminRoute\n ? formatAdminURL({\n adminRoute: '/',\n path: route as `/${string}`,\n })\n : '') +\n (Object.keys(searchParams ?? {}).length > 0\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : '')\n\n const redirectTo = formatAdminURL({\n adminRoute,\n path: (user ? unauthorizedRoute : loginRouteFromConfig) as `/${string}`,\n })\n\n const parsedLoginRouteSearchParams = qs.parse(redirectTo.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n return `${redirectTo.split('?', 1)[0]}${searchParamsWithRedirect}`\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AAmBpB;AACA,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAI,CAAQ;EAC5E,MAAM;IACJC,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,oBAAoB;QAAEC,YAAA,EAAcC;MAAiB;IAAE,CACzE;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGV,MAAA;EAEJ,IAAIE,YAAA,IAAgB,cAAcA,YAAA,EAAc;IAC9C,OAAOA,YAAA,CAAaS,QAAQ;EAC9B;EAEA,MAAMC,aAAA,GACJ,CAACX,KAAA,KAAUS,UAAA,GACPb,cAAA,CAAe;IACba,UAAA,EAAY;IACZG,IAAA,EAAMZ;EACR,KACA,EAAC,KACJa,MAAA,CAAOC,IAAI,CAACb,YAAA,IAAgB,CAAC,GAAGc,MAAM,GAAG,IACtC,GAAGlB,EAAA,CAAGmB,SAAS,CAACf,YAAA,EAAc;IAAEgB,cAAA,EAAgB;EAAK,IAAI,GACzD,EAAC;EAEP,MAAMC,UAAA,GAAatB,cAAA,CAAe;IAChCa,UAAA;IACAG,IAAA,EAAOV,IAAA,GAAOM,iBAAA,GAAoBF;EACpC;EAEA,MAAMa,4BAAA,GAA+BtB,EAAA,CAAGuB,KAAK,CAACF,UAAA,CAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;EAE1E,MAAMC,wBAAA,GAA2B,GAAGzB,EAAA,CAAGmB,SAAS,CAC9C;IACE,GAAGG,4BAA4B;IAC/B,IAAIR,aAAA,GAAgB;MAAED,QAAA,EAAUC;IAAc,IAAI,CAAC,CAAC;EACtD,GACA;IAAEM,cAAA,EAAgB;EAAK,IACtB;EAEH,OAAO,GAAGC,UAAA,CAAWG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,GAAGC,wBAAA,EAA0B;AACpE","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPathMatchingRoute.d.ts","sourceRoot":"","sources":["../../src/utilities/isPathMatchingRoute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isPathMatchingRoute.d.ts","sourceRoot":"","sources":["../../src/utilities/isPathMatchingRoute.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,gEAM7B;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,YA6BA,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { pathToRegexp } from 'path-to-regexp';
|
|
2
|
+
import { stripTrailingSlash } from 'payload/shared';
|
|
2
3
|
export const isPathMatchingRoute = ({
|
|
3
4
|
currentRoute,
|
|
4
5
|
exact,
|
|
@@ -9,21 +10,22 @@ export const isPathMatchingRoute = ({
|
|
|
9
10
|
if (!viewPath) {
|
|
10
11
|
return false;
|
|
11
12
|
}
|
|
13
|
+
const normalizedCurrentRoute = strict ? currentRoute : stripTrailingSlash(currentRoute);
|
|
12
14
|
const keys = [];
|
|
13
15
|
const regex = pathToRegexp(viewPath, keys, {
|
|
14
16
|
sensitive,
|
|
15
17
|
strict
|
|
16
18
|
});
|
|
17
|
-
const match = regex.exec(
|
|
18
|
-
const viewRoute = match?.[0] || viewPath;
|
|
19
|
+
const match = regex.exec(normalizedCurrentRoute);
|
|
20
|
+
const viewRoute = strict ? match?.[0] || viewPath : stripTrailingSlash(match?.[0] || viewPath);
|
|
19
21
|
if (exact) {
|
|
20
|
-
return
|
|
22
|
+
return normalizedCurrentRoute === viewRoute;
|
|
21
23
|
}
|
|
22
24
|
if (!exact) {
|
|
23
|
-
if (!
|
|
25
|
+
if (!normalizedCurrentRoute.startsWith(viewRoute)) {
|
|
24
26
|
return false;
|
|
25
27
|
}
|
|
26
|
-
const remainingPath =
|
|
28
|
+
const remainingPath = normalizedCurrentRoute.slice(viewRoute.length);
|
|
27
29
|
return remainingPath === '' || remainingPath.startsWith('/');
|
|
28
30
|
}
|
|
29
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPathMatchingRoute.js","names":["pathToRegexp","isPathMatchingRoute","currentRoute","exact","path","viewPath","sensitive","strict","keys","regex","match","exec","viewRoute","startsWith","remainingPath","slice","length"],"sources":["../../src/utilities/isPathMatchingRoute.ts"],"sourcesContent":["import { pathToRegexp } from 'path-to-regexp'\n\nexport const isPathMatchingRoute = ({\n currentRoute,\n exact,\n path: viewPath,\n sensitive,\n strict,\n}: {\n currentRoute: string\n exact?: boolean\n path?: string\n sensitive?: boolean\n strict?: boolean\n}) => {\n if (!viewPath) {\n return false\n }\n\n const keys = []\n\n const regex = pathToRegexp(viewPath, keys, {\n sensitive,\n strict,\n })\n\n const match = regex.exec(
|
|
1
|
+
{"version":3,"file":"isPathMatchingRoute.js","names":["pathToRegexp","stripTrailingSlash","isPathMatchingRoute","currentRoute","exact","path","viewPath","sensitive","strict","normalizedCurrentRoute","keys","regex","match","exec","viewRoute","startsWith","remainingPath","slice","length"],"sources":["../../src/utilities/isPathMatchingRoute.ts"],"sourcesContent":["import { pathToRegexp } from 'path-to-regexp'\nimport { stripTrailingSlash } from 'payload/shared'\n\nexport const isPathMatchingRoute = ({\n currentRoute,\n exact,\n path: viewPath,\n sensitive,\n strict,\n}: {\n currentRoute: string\n exact?: boolean\n path?: string\n sensitive?: boolean\n strict?: boolean\n}) => {\n if (!viewPath) {\n return false\n }\n\n const normalizedCurrentRoute = strict ? currentRoute : stripTrailingSlash(currentRoute)\n const keys = []\n\n const regex = pathToRegexp(viewPath, keys, {\n sensitive,\n strict,\n })\n\n const match = regex.exec(normalizedCurrentRoute)\n const viewRoute = strict ? match?.[0] || viewPath : stripTrailingSlash(match?.[0] || viewPath)\n\n if (exact) {\n return normalizedCurrentRoute === viewRoute\n }\n\n if (!exact) {\n if (!normalizedCurrentRoute.startsWith(viewRoute)) {\n return false\n }\n\n const remainingPath = normalizedCurrentRoute.slice(viewRoute.length)\n\n return remainingPath === '' || remainingPath.startsWith('/')\n }\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,mBAAA,GAAsBA,CAAC;EAClCC,YAAY;EACZC,KAAK;EACLC,IAAA,EAAMC,QAAQ;EACdC,SAAS;EACTC;AAAM,CAOP;EACC,IAAI,CAACF,QAAA,EAAU;IACb,OAAO;EACT;EAEA,MAAMG,sBAAA,GAAyBD,MAAA,GAASL,YAAA,GAAeF,kBAAA,CAAmBE,YAAA;EAC1E,MAAMO,IAAA,GAAO,EAAE;EAEf,MAAMC,KAAA,GAAQX,YAAA,CAAaM,QAAA,EAAUI,IAAA,EAAM;IACzCH,SAAA;IACAC;EACF;EAEA,MAAMI,KAAA,GAAQD,KAAA,CAAME,IAAI,CAACJ,sBAAA;EACzB,MAAMK,SAAA,GAAYN,MAAA,GAASI,KAAA,GAAQ,EAAE,IAAIN,QAAA,GAAWL,kBAAA,CAAmBW,KAAA,GAAQ,EAAE,IAAIN,QAAA;EAErF,IAAIF,KAAA,EAAO;IACT,OAAOK,sBAAA,KAA2BK,SAAA;EACpC;EAEA,IAAI,CAACV,KAAA,EAAO;IACV,IAAI,CAACK,sBAAA,CAAuBM,UAAU,CAACD,SAAA,GAAY;MACjD,OAAO;IACT;IAEA,MAAME,aAAA,GAAgBP,sBAAA,CAAuBQ,KAAK,CAACH,SAAA,CAAUI,MAAM;IAEnE,OAAOF,aAAA,KAAkB,MAAMA,aAAA,CAAcD,UAAU,CAAC;EAC1D;AACF","ignoreList":[]}
|
package/dist/views/API/index.css
CHANGED
|
@@ -26,8 +26,10 @@
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
29
30
|
@media (max-width: 768px) {
|
|
30
31
|
.modular-dashboard .widget {
|
|
32
|
+
/* stylelint-disable-next-line plugin/no-important -- TODO: pre-existing; revisit whether specificity can win instead */
|
|
31
33
|
width: 100% !important;
|
|
32
34
|
}
|
|
33
35
|
|
|
@@ -183,6 +183,7 @@
|
|
|
183
183
|
border-radius: var(--radius-small);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
186
187
|
@media (max-width: 768px) {
|
|
187
188
|
.collection-edit__auth {
|
|
188
189
|
margin-top: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuF1D,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
|
|
|
7
7
|
import { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js';
|
|
8
8
|
import { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js';
|
|
9
9
|
import { ListHeader } from '../../../elements/ListHeader/index.js';
|
|
10
|
-
import { ListBulkUploadButton
|
|
10
|
+
import { ListBulkUploadButton } from '../../../elements/ListHeader/TitleActions/index.js';
|
|
11
11
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
12
12
|
import { useListQuery } from '../../../providers/ListQuery/index.js';
|
|
13
13
|
import { ListSelection } from '../ListSelection/index.js';
|
|
@@ -24,7 +24,6 @@ export const CollectionListHeader = ({
|
|
|
24
24
|
hasTrashPermission,
|
|
25
25
|
i18n,
|
|
26
26
|
isBulkUploadEnabled,
|
|
27
|
-
isTrashEnabled,
|
|
28
27
|
onBulkUploadSuccess,
|
|
29
28
|
smallBreak,
|
|
30
29
|
viewType
|
|
@@ -84,10 +83,7 @@ export const CollectionListHeader = ({
|
|
|
84
83
|
hasCreatePermission: hasCreatePermission,
|
|
85
84
|
isBulkUploadEnabled: isBulkUploadEnabled,
|
|
86
85
|
onBulkUploadSuccess: onBulkUploadSuccess
|
|
87
|
-
}, "list-header-bulk-upload")
|
|
88
|
-
collectionConfig: collectionConfig,
|
|
89
|
-
hasDeletePermission: hasDeletePermission
|
|
90
|
-
}, "list-header-empty-trash")].filter(Boolean)
|
|
86
|
+
}, "list-header-bulk-upload")].filter(Boolean)
|
|
91
87
|
});
|
|
92
88
|
};
|
|
93
89
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","hasDeletePermission","hasTrashPermission","i18n","isBulkUploadEnabled","onBulkUploadSuccess","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","_jsx","Actions","AfterListHeaderContent","_jsxs","_Fragment","BeforeTitle","slug","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","showSelectAllAcrossPages"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport { ListBulkUploadButton } from '../../../elements/ListHeader/TitleActions/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\nimport './index.css'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n hasDeletePermission?: boolean\n hasTrashPermission?: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n smallBreak: boolean\n TitleActions?: React.ReactNode[]\n viewType?: ViewTypes\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n i18n,\n isBulkUploadEnabled,\n onBulkUploadSuccess,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n const isTrashRoute = viewType === 'trash'\n const { isGroupingBy } = useListQuery()\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n BeforeTitle={\n <CloseModalButton className={`${drawerBaseClass}__header-close`} slug={drawerSlug} />\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && !isGroupingBy && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n viewType={viewType}\n />\n ),\n <DefaultListViewTabs\n collectionConfig={collectionConfig}\n config={config}\n key=\"default-list-actions\"\n viewType={viewType}\n />,\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAIlD,OAAO,KAAgD,MAAM,OAAO,CAAA;AA0BpE,OAAO,aAAa,CAAA;AAIpB,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAIlD,OAAO,KAAgD,MAAM,OAAO,CAAA;AA0BpE,OAAO,aAAa,CAAA;AAIpB,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,qBA0UzD"}
|
|
@@ -187,7 +187,6 @@ export function DefaultListView(props) {
|
|
|
187
187
|
hasTrashPermission: hasTrashPermission,
|
|
188
188
|
i18n: i18n,
|
|
189
189
|
isBulkUploadEnabled: isBulkUploadEnabled && !upload.hideFileInputOnCreate,
|
|
190
|
-
isTrashEnabled: isTrashEnabled,
|
|
191
190
|
newDocumentURL: newDocumentURL,
|
|
192
191
|
smallBreak: smallBreak,
|
|
193
192
|
viewType: viewType
|
|
@@ -201,6 +200,7 @@ export function DefaultListView(props) {
|
|
|
201
200
|
collectionSlug: collectionSlug,
|
|
202
201
|
disableQueryPresets: collectionConfig?.enableQueryPresets !== true || disableQueryPresets,
|
|
203
202
|
hasCreatePermission: hasCreatePermission && viewType !== 'trash' && !isInDrawer,
|
|
203
|
+
hasDeletePermission: hasDeletePermission,
|
|
204
204
|
isWhereOpen: isWhereOpen,
|
|
205
205
|
listMenuItems: listMenuItems,
|
|
206
206
|
newDocumentURL: newDocumentURL,
|
|
@@ -208,7 +208,8 @@ export function DefaultListView(props) {
|
|
|
208
208
|
queryPreset: queryPreset,
|
|
209
209
|
queryPresetPermissions: queryPresetPermissions,
|
|
210
210
|
renderedFilters: renderedFilters,
|
|
211
|
-
resolvedFilterOptions: resolvedFilterOptions
|
|
211
|
+
resolvedFilterOptions: resolvedFilterOptions,
|
|
212
|
+
viewType: viewType
|
|
212
213
|
}), isWhereOpen && /*#__PURE__*/_jsx(ListWhereBuilder, {
|
|
213
214
|
collectionPluralLabel: collectionConfig?.labels?.plural,
|
|
214
215
|
collectionSlug: collectionSlug,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["getTranslation","formatAdminURL","formatFilesize","React","Fragment","useEffect","useRef","useState","Button","ListControls","useListDrawerContext","ListWhereBuilder","useModal","NoListResults","PageControls","RenderCustomComponent","SelectMany","useStepNav","RelationshipProvider","ViewDescription","useControllableState","useConfig","DocumentSelectionProvider","useListQuery","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","DocumentListSelection","HierarchyTable","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","hasTrashPermission","hierarchyData","listMenuItems","newDocumentURL","NoResults","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","serverURL","getEntityConfig","data","hasActiveFilters","isGroupingBy","query","hasWhereParam","Boolean","where","isWhereOpen","setIsWhereOpen","current","openModal","collectionConfig","labels","upload","isUploadCollection","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","collectionLabel","plural","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","baseLabel","label","url","path","trashLabel","t","navItems","breadcrumbs","queryParam","parentFieldName","hierarchyBreadcrumbs","crumb","index","isLast","length","title","id","_jsxs","_jsx","className","totalDocs","description","CustomComponent","Fallback","hideFileInputOnCreate","onClick","enableQueryPresets","onWhereToggle","prev","collectionPluralLabel","fields","onEmptyRemove","collectionData","childrenData","Object","fromEntries","entries","relatedDocumentsByCollection","slug","related","result","hierarchyLabel","parentId","relatedGroups","fieldName","hasMany","useAsTitle","Actions","el","singular","to","withMargin","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { ListWhereBuilder } from '../../elements/ListWhereBuilder/index.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../../views/List/ListSelection/index.js'\nimport { DocumentListSelection } from '../HierarchyList/DocumentListSelection/index.js'\nimport { HierarchyTable } from '../HierarchyList/HierarchyTable/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n listMenuItems,\n newDocumentURL,\n NoResults,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { data, hasActiveFilters, isGroupingBy, query } = useListQuery()\n\n const hasWhereParam = useRef(Boolean(query?.where))\n const [isWhereOpen, setIsWhereOpen] = useState(hasActiveFilters)\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n setIsWhereOpen(false)\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [query?.where])\n\n const { openModal } = useModal()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isTrashEnabled = Boolean(collectionConfig.trash)\n\n const { i18n } = useTranslation()\n\n const collectionLabel = getTranslation(labels?.plural, i18n)\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data?.docs\n }\n }, [data?.docs, isUploadCollection])\n\n useEffect(() => {\n if (!isInDrawer) {\n const baseLabel = {\n label: collectionLabel,\n url:\n hierarchyData || (isTrashEnabled && viewType === 'trash')\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n }\n\n const trashLabel = {\n label: i18n.t('general:trash'),\n }\n\n let navItems = isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n // Add hierarchy breadcrumbs\n if (hierarchyData?.breadcrumbs) {\n const queryParam = hierarchyData.parentFieldName || 'parent'\n const hierarchyBreadcrumbs = hierarchyData.breadcrumbs.map((crumb, index) => {\n const isLast = index === hierarchyData.breadcrumbs.length - 1\n return {\n label: crumb.title,\n url: isLast\n ? undefined\n : formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`,\n }),\n }\n })\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n serverURL,\n labels,\n isInDrawer,\n isTrashEnabled,\n viewType,\n i18n,\n collectionSlug,\n hierarchyData,\n collectionLabel,\n ])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : undefined\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n hasCreatePermission={hasCreatePermission && viewType !== 'trash' && !isInDrawer}\n isWhereOpen={isWhereOpen}\n listMenuItems={listMenuItems}\n newDocumentURL={newDocumentURL}\n onWhereToggle={() => setIsWhereOpen((prev) => !prev)}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {isWhereOpen && (\n <ListWhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionSlug}\n fields={collectionConfig?.fields}\n onEmptyRemove={() => setIsWhereOpen(false)}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n )}\n {BeforeListTable}\n {hierarchyData ? (\n <DocumentSelectionProvider\n collectionData={{\n [collectionSlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }}\n >\n <HierarchyTable\n childrenData={hierarchyData.childrenData}\n collectionSlug={collectionSlug}\n hierarchyLabel={collectionLabel}\n key={hierarchyData.parentId}\n parentId={hierarchyData.parentId}\n relatedGroups={Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }),\n )}\n useAsTitle={collectionConfig?.admin?.useAsTitle || 'id'}\n />\n <DocumentListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n />\n </DocumentSelectionProvider>\n ) : docs?.length > 0 ? (\n <RelationshipProvider>{Table}</RelationshipProvider>\n ) : null}\n {/* HierarchyTable handles its own empty state, skip for hierarchy views */}\n {docs?.length === 0 &&\n (NoResults ?? (\n <NoListResults\n Actions={\n hasCreatePermission && newDocumentURL && viewType !== 'trash'\n ? [\n isInDrawer ? (\n <Button\n el=\"button\"\n key=\"create\"\n onClick={() => openModal(createNewDrawerSlug)}\n >\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" key=\"create\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ),\n ]\n : []\n }\n description={\n viewType === 'trash'\n ? i18n.t('general:noTrashResults', {\n label: getTranslation(labels?.plural, i18n),\n })\n : i18n.t('general:noResultsDescription')\n }\n title={viewType !== 'trash' ? i18n.t('general:noResultsFound') : undefined}\n withMargin\n />\n ))}\n {AfterListTable}\n {AfterList}\n {docs?.length > 0 && !isGroupingBy && (\n <PageControls\n AfterPageControls={\n smallBreak ? (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={collectionLabel}\n showSelectAllAcrossPages={!isGroupingBy}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n </div>\n </div>\n ) : null\n }\n collectionConfig={collectionConfig}\n />\n )}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <PageControls collectionConfig={collectionConfig} />\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["getTranslation","formatAdminURL","formatFilesize","React","Fragment","useEffect","useRef","useState","Button","ListControls","useListDrawerContext","ListWhereBuilder","useModal","NoListResults","PageControls","RenderCustomComponent","SelectMany","useStepNav","RelationshipProvider","ViewDescription","useControllableState","useConfig","DocumentSelectionProvider","useListQuery","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","DocumentListSelection","HierarchyTable","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","hasTrashPermission","hierarchyData","listMenuItems","newDocumentURL","NoResults","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","serverURL","getEntityConfig","data","hasActiveFilters","isGroupingBy","query","hasWhereParam","Boolean","where","isWhereOpen","setIsWhereOpen","current","openModal","collectionConfig","labels","upload","isUploadCollection","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","collectionLabel","plural","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","baseLabel","label","url","path","trashLabel","t","navItems","breadcrumbs","queryParam","parentFieldName","hierarchyBreadcrumbs","crumb","index","isLast","length","title","id","_jsxs","_jsx","className","totalDocs","description","CustomComponent","Fallback","hideFileInputOnCreate","onClick","enableQueryPresets","onWhereToggle","prev","collectionPluralLabel","fields","onEmptyRemove","collectionData","childrenData","Object","fromEntries","entries","relatedDocumentsByCollection","slug","related","result","hierarchyLabel","parentId","relatedGroups","fieldName","hasMany","useAsTitle","Actions","el","singular","to","withMargin","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { ListWhereBuilder } from '../../elements/ListWhereBuilder/index.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../../views/List/ListSelection/index.js'\nimport { DocumentListSelection } from '../HierarchyList/DocumentListSelection/index.js'\nimport { HierarchyTable } from '../HierarchyList/HierarchyTable/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n listMenuItems,\n newDocumentURL,\n NoResults,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { data, hasActiveFilters, isGroupingBy, query } = useListQuery()\n\n const hasWhereParam = useRef(Boolean(query?.where))\n const [isWhereOpen, setIsWhereOpen] = useState(hasActiveFilters)\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n setIsWhereOpen(false)\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [query?.where])\n\n const { openModal } = useModal()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isTrashEnabled = Boolean(collectionConfig.trash)\n\n const { i18n } = useTranslation()\n\n const collectionLabel = getTranslation(labels?.plural, i18n)\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data?.docs\n }\n }, [data?.docs, isUploadCollection])\n\n useEffect(() => {\n if (!isInDrawer) {\n const baseLabel = {\n label: collectionLabel,\n url:\n hierarchyData || (isTrashEnabled && viewType === 'trash')\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n }\n\n const trashLabel = {\n label: i18n.t('general:trash'),\n }\n\n let navItems = isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n // Add hierarchy breadcrumbs\n if (hierarchyData?.breadcrumbs) {\n const queryParam = hierarchyData.parentFieldName || 'parent'\n const hierarchyBreadcrumbs = hierarchyData.breadcrumbs.map((crumb, index) => {\n const isLast = index === hierarchyData.breadcrumbs.length - 1\n return {\n label: crumb.title,\n url: isLast\n ? undefined\n : formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`,\n }),\n }\n })\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n serverURL,\n labels,\n isInDrawer,\n isTrashEnabled,\n viewType,\n i18n,\n collectionSlug,\n hierarchyData,\n collectionLabel,\n ])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : undefined\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n newDocumentURL={newDocumentURL}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n hasCreatePermission={hasCreatePermission && viewType !== 'trash' && !isInDrawer}\n hasDeletePermission={hasDeletePermission}\n isWhereOpen={isWhereOpen}\n listMenuItems={listMenuItems}\n newDocumentURL={newDocumentURL}\n onWhereToggle={() => setIsWhereOpen((prev) => !prev)}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n viewType={viewType}\n />\n {isWhereOpen && (\n <ListWhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionSlug}\n fields={collectionConfig?.fields}\n onEmptyRemove={() => setIsWhereOpen(false)}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n )}\n {BeforeListTable}\n {hierarchyData ? (\n <DocumentSelectionProvider\n collectionData={{\n [collectionSlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }}\n >\n <HierarchyTable\n childrenData={hierarchyData.childrenData}\n collectionSlug={collectionSlug}\n hierarchyLabel={collectionLabel}\n key={hierarchyData.parentId}\n parentId={hierarchyData.parentId}\n relatedGroups={Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }),\n )}\n useAsTitle={collectionConfig?.admin?.useAsTitle || 'id'}\n />\n <DocumentListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n />\n </DocumentSelectionProvider>\n ) : docs?.length > 0 ? (\n <RelationshipProvider>{Table}</RelationshipProvider>\n ) : null}\n {/* HierarchyTable handles its own empty state, skip for hierarchy views */}\n {docs?.length === 0 &&\n (NoResults ?? (\n <NoListResults\n Actions={\n hasCreatePermission && newDocumentURL && viewType !== 'trash'\n ? [\n isInDrawer ? (\n <Button\n el=\"button\"\n key=\"create\"\n onClick={() => openModal(createNewDrawerSlug)}\n >\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" key=\"create\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ),\n ]\n : []\n }\n description={\n viewType === 'trash'\n ? i18n.t('general:noTrashResults', {\n label: getTranslation(labels?.plural, i18n),\n })\n : i18n.t('general:noResultsDescription')\n }\n title={viewType !== 'trash' ? i18n.t('general:noResultsFound') : undefined}\n withMargin\n />\n ))}\n {AfterListTable}\n {AfterList}\n {docs?.length > 0 && !isGroupingBy && (\n <PageControls\n AfterPageControls={\n smallBreak ? (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={collectionLabel}\n showSelectAllAcrossPages={!isGroupingBy}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n </div>\n </div>\n ) : null\n }\n collectionConfig={collectionConfig}\n />\n )}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <PageControls collectionConfig={collectionConfig} />\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -88,6 +88,7 @@
|
|
|
88
88
|
margin-top: var(--spacer-2);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
91
92
|
@media (max-width: 1024px) {
|
|
92
93
|
.collection-list {
|
|
93
94
|
margin-top: var(--spacer-2);
|
|
@@ -122,6 +123,7 @@
|
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
|
|
126
|
+
/* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
|
|
125
127
|
@media (max-width: 768px) {
|
|
126
128
|
.collection-list {
|
|
127
129
|
margin-bottom: var(--spacing-view-bottom);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAIhB,cAAc,EACd,SAAS,EACT,aAAa,EAEb,eAAe,EAEhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACzD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CACjD,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;IAClB;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yGAAyG;IACzG,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,MAAM,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACvC,yGAAyG;IACzG,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IAChC,YAAY,EAAE,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,UAAU,kJAUpB,cAAc,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAIhB,cAAc,EACd,SAAS,EACT,aAAa,EAEb,eAAe,EAEhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACzD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CACjD,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;IAClB;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yGAAyG;IACzG,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,MAAM,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACvC,yGAAyG;IACzG,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IAChC,YAAY,EAAE,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,UAAU,kJAUpB,cAAc,+BAsUhB,CAAA"}
|
package/dist/views/Root/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use server';
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import { applyLocaleFiltering, formatAdminURL } from 'payload/shared';
|
|
4
|
+
import { applyLocaleFiltering, formatAdminURL, stripTrailingSlash } from 'payload/shared';
|
|
5
5
|
import * as qs from 'qs-esm';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { RenderServerComponent } from '../../elements/RenderServerComponent/index.js';
|
|
@@ -40,11 +40,17 @@ export const renderRoot = async ({
|
|
|
40
40
|
admin: adminRoute
|
|
41
41
|
}
|
|
42
42
|
} = config;
|
|
43
|
+
const adminRouteURL = formatAdminURL({
|
|
44
|
+
adminRoute
|
|
45
|
+
});
|
|
43
46
|
const params = await paramsPromise;
|
|
44
|
-
|
|
47
|
+
// route with possible trailing slash
|
|
48
|
+
const currentRouteURL = formatAdminURL({
|
|
45
49
|
adminRoute,
|
|
46
50
|
path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null
|
|
47
51
|
});
|
|
52
|
+
// route without possible trailing slash
|
|
53
|
+
const currentRouteToCompare = stripTrailingSlash(currentRouteURL);
|
|
48
54
|
const segments = Array.isArray(params.segments) ? params.segments : [];
|
|
49
55
|
const isCollectionRoute = segments[0] === 'collections';
|
|
50
56
|
const isGlobalRoute = segments[0] === 'globals';
|
|
@@ -62,7 +68,7 @@ export const renderRoot = async ({
|
|
|
62
68
|
});
|
|
63
69
|
// Only redirect if there's NO custom view configured for /collections
|
|
64
70
|
if (!viewKey) {
|
|
65
|
-
redirect(
|
|
71
|
+
redirect(adminRouteURL);
|
|
66
72
|
}
|
|
67
73
|
}
|
|
68
74
|
if (segments[1]) {
|
|
@@ -82,7 +88,7 @@ export const renderRoot = async ({
|
|
|
82
88
|
});
|
|
83
89
|
// Only redirect if there's NO custom view configured for /globals
|
|
84
90
|
if (!viewKey) {
|
|
85
|
-
redirect(
|
|
91
|
+
redirect(adminRouteURL);
|
|
86
92
|
}
|
|
87
93
|
}
|
|
88
94
|
if (segments[1]) {
|
|
@@ -119,21 +125,21 @@ export const renderRoot = async ({
|
|
|
119
125
|
})
|
|
120
126
|
},
|
|
121
127
|
// intentionally omit `serverURL` to keep URL relative
|
|
122
|
-
urlSuffix: `${
|
|
128
|
+
urlSuffix: `${currentRouteURL}${searchParams ? queryString : ''}`
|
|
123
129
|
}
|
|
124
130
|
});
|
|
125
131
|
if (!permissions.canAccessAdmin && !isPublicAdminRoute({
|
|
126
132
|
adminRoute,
|
|
127
133
|
config: payload.config,
|
|
128
|
-
route:
|
|
134
|
+
route: currentRouteToCompare
|
|
129
135
|
}) && !isCustomAdminView({
|
|
130
136
|
adminRoute,
|
|
131
137
|
config: payload.config,
|
|
132
|
-
route:
|
|
138
|
+
route: currentRouteToCompare
|
|
133
139
|
})) {
|
|
134
140
|
req.server.redirect(handleAuthRedirect({
|
|
135
141
|
config: payload.config,
|
|
136
|
-
route:
|
|
142
|
+
route: currentRouteToCompare,
|
|
137
143
|
searchParams,
|
|
138
144
|
user: req.user
|
|
139
145
|
}));
|
|
@@ -159,7 +165,7 @@ export const renderRoot = async ({
|
|
|
159
165
|
adminViews,
|
|
160
166
|
collectionConfig,
|
|
161
167
|
collectionPreferences,
|
|
162
|
-
currentRoute,
|
|
168
|
+
currentRoute: currentRouteToCompare,
|
|
163
169
|
globalConfig,
|
|
164
170
|
payload,
|
|
165
171
|
searchParams,
|
|
@@ -179,28 +185,29 @@ export const renderRoot = async ({
|
|
|
179
185
|
req.server.notFound();
|
|
180
186
|
}
|
|
181
187
|
if (dbHasUser) {
|
|
182
|
-
req.server.redirect(
|
|
188
|
+
req.server.redirect(adminRouteURL);
|
|
183
189
|
}
|
|
184
190
|
}
|
|
185
191
|
const usersCollection = config.collections.find(({
|
|
186
192
|
slug
|
|
187
193
|
}) => slug === userSlug);
|
|
188
194
|
const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy;
|
|
189
|
-
const
|
|
195
|
+
const createFirstUserURL = formatAdminURL({
|
|
190
196
|
adminRoute,
|
|
191
197
|
path: _createFirstUserRoute
|
|
192
198
|
});
|
|
193
|
-
|
|
194
|
-
|
|
199
|
+
const createFirstUserRouteToCompare = stripTrailingSlash(createFirstUserURL);
|
|
200
|
+
if (disableLocalStrategy && currentRouteToCompare === createFirstUserRouteToCompare) {
|
|
201
|
+
req.server.redirect(adminRouteURL);
|
|
195
202
|
}
|
|
196
|
-
if (!dbHasUser &&
|
|
197
|
-
req.server.redirect(
|
|
203
|
+
if (!dbHasUser && currentRouteToCompare !== createFirstUserRouteToCompare && !disableLocalStrategy) {
|
|
204
|
+
req.server.redirect(createFirstUserURL);
|
|
198
205
|
}
|
|
199
|
-
if (dbHasUser &&
|
|
200
|
-
req.server.redirect(
|
|
206
|
+
if (dbHasUser && currentRouteToCompare === createFirstUserRouteToCompare) {
|
|
207
|
+
req.server.redirect(adminRouteURL);
|
|
201
208
|
}
|
|
202
209
|
if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {
|
|
203
|
-
req.server.redirect(
|
|
210
|
+
req.server.redirect(adminRouteURL);
|
|
204
211
|
}
|
|
205
212
|
const clientConfig = getClientConfig({
|
|
206
213
|
config,
|
|
@@ -215,7 +222,7 @@ export const renderRoot = async ({
|
|
|
215
222
|
});
|
|
216
223
|
// Ensure locale on req is still valid after filtering locales
|
|
217
224
|
if (clientConfig.localization && req.locale && !clientConfig.localization.localeCodes.includes(req.locale)) {
|
|
218
|
-
req.server.redirect(`${
|
|
225
|
+
req.server.redirect(`${currentRouteURL}${qs.stringify({
|
|
219
226
|
...searchParams,
|
|
220
227
|
locale: clientConfig.localization.localeCodes.includes(clientConfig.localization.defaultLocale) ? clientConfig.localization.defaultLocale : clientConfig.localization.localeCodes[0]
|
|
221
228
|
}, {
|