@payloadcms/ui 3.25.0-canary.f62445f → 3.25.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/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +10 -30
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +3 -2
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +19 -2
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +10 -3
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -2
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.scss +16 -0
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +22 -14
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditMany/index.scss +5 -19
- package/dist/elements/Link/index.d.ts +9 -1
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Link/index.js +6 -0
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +8 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +4 -20
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +2 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +7 -1
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListSelection/index.d.ts +4 -0
- package/dist/elements/ListSelection/index.d.ts.map +1 -1
- package/dist/elements/ListSelection/index.js +44 -23
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListSelection/index.scss +4 -0
- package/dist/elements/PublishMany/index.d.ts +1 -0
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +3 -2
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/PublishMany/index.scss +21 -0
- package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.js +1 -0
- package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts +1 -0
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +3 -2
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.scss +21 -0
- package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +9 -5
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +11 -10
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +2 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +23 -23
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +16 -12
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +13 -13
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/context.d.ts +3 -3
- package/dist/forms/Form/context.js +3 -3
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +30 -14
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +28 -4
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -0
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/useField/index.d.ts +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +4 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.d.ts +21 -0
- package/dist/providers/UploadHandlers/index.d.ts.map +1 -0
- package/dist/providers/UploadHandlers/index.js +72 -0
- package/dist/providers/UploadHandlers/index.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +2 -1
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +2 -0
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +5 -0
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +8 -19
- package/dist/views/List/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -3,33 +3,19 @@
|
|
|
3
3
|
@layer payload-default {
|
|
4
4
|
.edit-many {
|
|
5
5
|
&__toggle {
|
|
6
|
-
font-size:
|
|
7
|
-
line-height:
|
|
6
|
+
font-size: inherit;
|
|
7
|
+
line-height: inherit;
|
|
8
8
|
display: inline-flex;
|
|
9
|
-
background:
|
|
9
|
+
background: transparent;
|
|
10
10
|
color: var(--theme-elevation-800);
|
|
11
|
-
border-radius: $style-radius-s;
|
|
12
11
|
white-space: nowrap;
|
|
13
12
|
overflow: hidden;
|
|
14
13
|
text-overflow: ellipsis;
|
|
15
14
|
border: 0;
|
|
16
|
-
padding: 0
|
|
15
|
+
padding: 0;
|
|
17
16
|
align-items: center;
|
|
18
17
|
cursor: pointer;
|
|
19
|
-
text-decoration:
|
|
20
|
-
|
|
21
|
-
&:active,
|
|
22
|
-
&:focus {
|
|
23
|
-
outline: none;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
&:hover {
|
|
27
|
-
background: var(--theme-elevation-100);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
&:active {
|
|
31
|
-
background: var(--theme-elevation-100);
|
|
32
|
-
}
|
|
18
|
+
text-decoration: underline;
|
|
33
19
|
}
|
|
34
20
|
|
|
35
21
|
&__form {
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import NextLinkImport from 'next/link.js';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
declare const NextLink: typeof NextLinkImport.default;
|
|
4
|
-
|
|
4
|
+
type Props = {
|
|
5
|
+
/**
|
|
6
|
+
* Disable the e.preventDefault() call on click if you want to handle it yourself via onClick
|
|
7
|
+
*
|
|
8
|
+
* @default true
|
|
9
|
+
*/
|
|
10
|
+
preventDefault?: boolean;
|
|
11
|
+
} & Parameters<typeof NextLink>[0];
|
|
12
|
+
export declare const Link: React.FC<Props>;
|
|
5
13
|
export {};
|
|
6
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Link/index.tsx"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,QAAA,MAAM,QAAQ,EACkB,OAAO,cAAc,CAAC,OAAO,CAAA;AAgB7D,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Link/index.tsx"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,QAAA,MAAM,QAAQ,EACkB,OAAO,cAAc,CAAC,OAAO,CAAA;AAgB7D,KAAK,KAAK,GAAG;IACX;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAElC,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+ChC,CAAA"}
|
|
@@ -19,6 +19,7 @@ export const Link = ({
|
|
|
19
19
|
children,
|
|
20
20
|
href,
|
|
21
21
|
onClick,
|
|
22
|
+
preventDefault = true,
|
|
22
23
|
ref,
|
|
23
24
|
replace,
|
|
24
25
|
scroll,
|
|
@@ -37,6 +38,11 @@ export const Link = ({
|
|
|
37
38
|
if (onClick) {
|
|
38
39
|
onClick(e);
|
|
39
40
|
}
|
|
41
|
+
// We need a preventDefault here so that a clicked link doesn't trigger twice,
|
|
42
|
+
// once for default browser navigation and once for startRouteTransition
|
|
43
|
+
if (preventDefault) {
|
|
44
|
+
e.preventDefault();
|
|
45
|
+
}
|
|
40
46
|
startRouteTransition(() => {
|
|
41
47
|
const url = typeof href === 'string' ? href : formatUrl(href);
|
|
42
48
|
if (replace) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["NextLinkImport","useRouter","React","useRouteTransition","formatUrl","NextLink","default","isModifiedEvent","event","eventTarget","currentTarget","target","getAttribute","metaKey","ctrlKey","shiftKey","altKey","nativeEvent","which","Link","children","href","onClick","ref","replace","scroll","rest","router","startRouteTransition","_jsx","e","url","push"],"sources":["../../../src/elements/Link/index.tsx"],"sourcesContent":["'use client'\nimport NextLinkImport from 'next/link.js'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { formatUrl } from './formatUrl.js'\n\nconst NextLink = (NextLinkImport.default ||\n NextLinkImport) as unknown as typeof NextLinkImport.default\n\n// Copied from https://github.com/vercel/next.js/blob/canary/packages/next/src/client/link.tsx#L180-L191\nfunction isModifiedEvent(event: React.MouseEvent): boolean {\n const eventTarget = event.currentTarget as HTMLAnchorElement | SVGAElement\n const target = eventTarget.getAttribute('target')\n return (\n (target && target !== '_self') ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey || // triggers resource download\n (event.nativeEvent && event.nativeEvent.which === 2)\n )\n}\n\
|
|
1
|
+
{"version":3,"file":"index.js","names":["NextLinkImport","useRouter","React","useRouteTransition","formatUrl","NextLink","default","isModifiedEvent","event","eventTarget","currentTarget","target","getAttribute","metaKey","ctrlKey","shiftKey","altKey","nativeEvent","which","Link","children","href","onClick","preventDefault","ref","replace","scroll","rest","router","startRouteTransition","_jsx","e","url","push"],"sources":["../../../src/elements/Link/index.tsx"],"sourcesContent":["'use client'\nimport NextLinkImport from 'next/link.js'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { formatUrl } from './formatUrl.js'\n\nconst NextLink = (NextLinkImport.default ||\n NextLinkImport) as unknown as typeof NextLinkImport.default\n\n// Copied from https://github.com/vercel/next.js/blob/canary/packages/next/src/client/link.tsx#L180-L191\nfunction isModifiedEvent(event: React.MouseEvent): boolean {\n const eventTarget = event.currentTarget as HTMLAnchorElement | SVGAElement\n const target = eventTarget.getAttribute('target')\n return (\n (target && target !== '_self') ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey || // triggers resource download\n (event.nativeEvent && event.nativeEvent.which === 2)\n )\n}\n\ntype Props = {\n /**\n * Disable the e.preventDefault() call on click if you want to handle it yourself via onClick\n *\n * @default true\n */\n preventDefault?: boolean\n} & Parameters<typeof NextLink>[0]\n\nexport const Link: React.FC<Props> = ({\n children,\n href,\n onClick,\n preventDefault = true,\n ref,\n replace,\n scroll,\n ...rest\n}) => {\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n return (\n <NextLink\n href={href}\n onClick={(e) => {\n if (isModifiedEvent(e)) {\n return\n }\n\n if (onClick) {\n onClick(e)\n }\n\n // We need a preventDefault here so that a clicked link doesn't trigger twice,\n // once for default browser navigation and once for startRouteTransition\n if (preventDefault) {\n e.preventDefault()\n }\n\n startRouteTransition(() => {\n const url = typeof href === 'string' ? href : formatUrl(href)\n\n if (replace) {\n void router.replace(url, { scroll })\n } else {\n void router.push(url, { scroll })\n }\n })\n }}\n ref={ref}\n {...rest}\n >\n {children}\n </NextLink>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,cAAA,MAAoB;AAC3B,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,SAAS,QAAQ;AAE1B,MAAMC,QAAA,GAAYL,cAAA,CAAeM,OAAO,IACtCN,cAAA;AAEF;AACA,SAASO,gBAAgBC,KAAuB;EAC9C,MAAMC,WAAA,GAAcD,KAAA,CAAME,aAAa;EACvC,MAAMC,MAAA,GAASF,WAAA,CAAYG,YAAY,CAAC;EACxC,OACED,MAAC,IAAUA,MAAA,KAAW,WACtBH,KAAA,CAAMK,OAAO,IACbL,KAAA,CAAMM,OAAO,IACbN,KAAA,CAAMO,QAAQ,IACdP,KAAA,CAAMQ,MAAM;EAAI;EACfR,KAAA,CAAMS,WAAW,IAAIT,KAAA,CAAMS,WAAW,CAACC,KAAK,KAAK;AAEtD;AAWA,OAAO,MAAMC,IAAA,GAAwBA,CAAC;EACpCC,QAAQ;EACRC,IAAI;EACJC,OAAO;EACPC,cAAA,GAAiB,IAAI;EACrBC,GAAG;EACHC,OAAO;EACPC,MAAM;EACN,GAAGC;AAAA,CACJ;EACC,MAAMC,MAAA,GAAS3B,SAAA;EACf,MAAM;IAAE4B;EAAoB,CAAE,GAAG1B,kBAAA;EAEjC,oBACE2B,IAAA,CAACzB,QAAA;IACCgB,IAAA,EAAMA,IAAA;IACNC,OAAA,EAAUS,CAAA;MACR,IAAIxB,eAAA,CAAgBwB,CAAA,GAAI;QACtB;MACF;MAEA,IAAIT,OAAA,EAAS;QACXA,OAAA,CAAQS,CAAA;MACV;MAEA;MACA;MACA,IAAIR,cAAA,EAAgB;QAClBQ,CAAA,CAAER,cAAc;MAClB;MAEAM,oBAAA,CAAqB;QACnB,MAAMG,GAAA,GAAM,OAAOX,IAAA,KAAS,WAAWA,IAAA,GAAOjB,SAAA,CAAUiB,IAAA;QAExD,IAAII,OAAA,EAAS;UACX,KAAKG,MAAA,CAAOH,OAAO,CAACO,GAAA,EAAK;YAAEN;UAAO;QACpC,OAAO;UACL,KAAKE,MAAA,CAAOK,IAAI,CAACD,GAAA,EAAK;YAAEN;UAAO;QACjC;MACF;IACF;IACAF,GAAA,EAAKA,GAAA;IACJ,GAAGG,IAAI;cAEPP;;AAGP","ignoreList":[]}
|
|
@@ -5,7 +5,15 @@ export type ListControlsProps = {
|
|
|
5
5
|
readonly beforeActions?: React.ReactNode[];
|
|
6
6
|
readonly collectionConfig: ClientCollectionConfig;
|
|
7
7
|
readonly collectionSlug: string;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated
|
|
10
|
+
* These are now handled by the `ListSelection` component
|
|
11
|
+
*/
|
|
8
12
|
readonly disableBulkDelete?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated
|
|
15
|
+
* These are now handled by the `ListSelection` component
|
|
16
|
+
*/
|
|
9
17
|
readonly disableBulkEdit?: boolean;
|
|
10
18
|
readonly enableColumns?: boolean;
|
|
11
19
|
readonly enableSort?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAInF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAInF,OAAO,KAAsC,MAAM,OAAO,CAAA;AAgB1D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CACpE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4LpD,CAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useWindowInfo } from '@faceless-ui/window-info';
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
-
import React, {
|
|
6
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
7
7
|
import { Popup, PopupList } from '../../elements/Popup/index.js';
|
|
8
8
|
import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
|
|
9
9
|
import { ChevronIcon } from '../../icons/Chevron/index.js';
|
|
@@ -13,12 +13,8 @@ import { useListQuery } from '../../providers/ListQuery/index.js';
|
|
|
13
13
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
14
14
|
import { AnimateHeight } from '../AnimateHeight/index.js';
|
|
15
15
|
import { ColumnSelector } from '../ColumnSelector/index.js';
|
|
16
|
-
import { DeleteMany } from '../DeleteMany/index.js';
|
|
17
|
-
import { EditMany } from '../EditMany/index.js';
|
|
18
16
|
import { Pill } from '../Pill/index.js';
|
|
19
|
-
import { PublishMany } from '../PublishMany/index.js';
|
|
20
17
|
import { SearchFilter } from '../SearchFilter/index.js';
|
|
21
|
-
import { UnpublishMany } from '../UnpublishMany/index.js';
|
|
22
18
|
import { WhereBuilder } from '../WhereBuilder/index.js';
|
|
23
19
|
import validateWhereQuery from '../WhereBuilder/validateWhereQuery.js';
|
|
24
20
|
import { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js';
|
|
@@ -34,8 +30,6 @@ export const ListControls = props => {
|
|
|
34
30
|
beforeActions,
|
|
35
31
|
collectionConfig,
|
|
36
32
|
collectionSlug,
|
|
37
|
-
disableBulkDelete,
|
|
38
|
-
disableBulkEdit,
|
|
39
33
|
enableColumns = true,
|
|
40
34
|
enableSort = false,
|
|
41
35
|
listMenuItems,
|
|
@@ -56,7 +50,7 @@ export const ListControls = props => {
|
|
|
56
50
|
s: smallBreak
|
|
57
51
|
}
|
|
58
52
|
} = useWindowInfo();
|
|
59
|
-
const searchLabel = (titleField && getTranslation('label' in titleField && typeof titleField.label === 'string' ? titleField.label : 'name' in titleField ? titleField.name : null, i18n)) ?? 'ID';
|
|
53
|
+
const searchLabel = (titleField && getTranslation('label' in titleField && (typeof titleField.label === 'string' || typeof titleField.label === 'object') ? titleField.label : 'name' in titleField ? titleField.name : null, i18n)) ?? 'ID';
|
|
60
54
|
const listSearchableFields = getTextFieldsToBeSearched(collectionConfig.admin.listSearchableFields, collectionConfig.fields);
|
|
61
55
|
const searchLabelTranslated = useRef(t('general:searchBy', {
|
|
62
56
|
label: getTranslation(searchLabel, i18n)
|
|
@@ -107,18 +101,8 @@ export const ListControls = props => {
|
|
|
107
101
|
className: `${baseClass}__buttons`,
|
|
108
102
|
children: /*#__PURE__*/_jsxs("div", {
|
|
109
103
|
className: `${baseClass}__buttons-wrap`,
|
|
110
|
-
children: [!smallBreak && /*#__PURE__*/
|
|
111
|
-
children:
|
|
112
|
-
children: [/*#__PURE__*/_jsx(EditMany, {
|
|
113
|
-
collection: collectionConfig
|
|
114
|
-
}), /*#__PURE__*/_jsx(PublishMany, {
|
|
115
|
-
collection: collectionConfig
|
|
116
|
-
}), /*#__PURE__*/_jsx(UnpublishMany, {
|
|
117
|
-
collection: collectionConfig
|
|
118
|
-
})]
|
|
119
|
-
}), !disableBulkDelete && /*#__PURE__*/_jsx(DeleteMany, {
|
|
120
|
-
collection: collectionConfig
|
|
121
|
-
})]
|
|
104
|
+
children: [!smallBreak && /*#__PURE__*/_jsx(React.Fragment, {
|
|
105
|
+
children: beforeActions && beforeActions
|
|
122
106
|
}), enableColumns && /*#__PURE__*/_jsx(Pill, {
|
|
123
107
|
"aria-controls": `${baseClass}-columns`,
|
|
124
108
|
"aria-expanded": visibleDrawer === 'columns',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","Fragment","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableBulkDelete","disableBulkEdit","enableColumns","enableSort","listMenuItems","renderedFilters","resolvedFilterOptions","handleSearchChange","query","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","collection","icon","direction","onClick","pillStyle","button","ariaLabel","horizontalAlign","size","verticalAlign","ButtonGroup","map","item","height","id","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ResolvedFilterOptions, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n readonly disableBulkDelete?: boolean\n readonly disableBulkEdit?: boolean\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly listMenuItems?: React.ReactNode[]\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n enableColumns = true,\n enableSort = false,\n listMenuItems,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n const { handleSearchChange, query } = useListQuery()\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {listMenuItems && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>{listMenuItems.map((item) => item)}</PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","Pill","SearchFilter","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","enableColumns","enableSort","listMenuItems","renderedFilters","resolvedFilterOptions","handleSearchChange","query","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","Fragment","icon","direction","onClick","pillStyle","button","ariaLabel","horizontalAlign","size","verticalAlign","ButtonGroup","map","item","height","id","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ResolvedFilterOptions, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkDelete?: boolean\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkEdit?: boolean\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly listMenuItems?: React.ReactNode[]\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n enableColumns = true,\n enableSort = false,\n listMenuItems,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n const { handleSearchChange, query } = useListQuery()\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {listMenuItems && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>{listMenuItems.map((item) => item)}</PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAEnD,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAC5B,SAASC,IAAI,QAAQ;AACrB,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,SAASC,YAAY,QAAQ;AAC7B,SAASC,YAAY,QAAQ;AAC7B,OAAOC,kBAAA,MAAwB;AAC/B,SAASC,yBAAyB,QAAQ;AAC1C,OAAO;AAEP,MAAMC,SAAA,GAAY;AA0BlB;;;;;AAKA,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IACJC,aAAa;IACbC,gBAAgB;IAChBC,cAAc;IACdC,aAAA,GAAgB,IAAI;IACpBC,UAAA,GAAa,KAAK;IAClBC,aAAa;IACbC,eAAe;IACfC;EAAqB,CACtB,GAAGR,KAAA;EACJ,MAAM;IAAES,kBAAkB;IAAEC;EAAK,CAAE,GAAGrB,YAAA;EACtC,MAAMsB,UAAA,GAAa1B,gBAAA,CAAiBiB,gBAAA;EACpC,MAAM;IAAEU,IAAI;IAAEC;EAAC,CAAE,GAAGvB,cAAA;EACpB,MAAM;IACJwB,WAAA,EAAa;MAAEC,CAAA,EAAGC;IAAU;EAAE,CAC/B,GAAGvC,aAAA;EAEJ,MAAMwC,WAAA,GACJ,CAACN,UAAA,IACCjC,cAAA,CACE,WAAWiC,UAAA,KACR,OAAOA,UAAA,CAAWO,KAAK,KAAK,YAAY,OAAOP,UAAA,CAAWO,KAAK,KAAK,QAAO,IAC1EP,UAAA,CAAWO,KAAK,GAChB,UAAUP,UAAA,GACRA,UAAA,CAAWQ,IAAI,GACf,MACNP,IAAA,CACF,KACF;EAEF,MAAMQ,oBAAA,GAAuBvB,yBAAA,CAC3BK,gBAAA,CAAiBmB,KAAK,CAACD,oBAAoB,EAC3ClB,gBAAA,CAAiBoB,MAAM;EAGzB,MAAMC,qBAAA,GAAwB1C,MAAA,CAC5BgC,CAAA,CAAE,oBAAoB;IAAEK,KAAA,EAAOxC,cAAA,CAAeuC,WAAA,EAAaL,IAAA;EAAM;EAGnE,MAAMY,aAAA,GAAgB3C,MAAA,CAAO4C,OAAA,CAAQf,KAAA,EAAOgB,KAAA;EAE5C,MAAMC,2BAAA,GAA8B/B,kBAAA,CAAmBc,KAAA,EAAOgB,KAAA;EAC9D,MAAM,CAACE,aAAA,EAAeC,gBAAA,CAAiB,GAAG/C,QAAA,CACxC6C,2BAAA,GAA8B,UAAUG,SAAA;EAG1ClD,SAAA,CAAU;IACR,IAAI4C,aAAA,CAAcO,OAAO,IAAI,CAACrB,KAAA,EAAOgB,KAAA,EAAO;MAC1CF,aAAA,CAAcO,OAAO,GAAG;IAC1B,OAAO,IAAIrB,KAAA,EAAOgB,KAAA,EAAO;MACvBF,aAAA,CAAcO,OAAO,GAAG;IAC1B;EACF,GAAG,CAACF,gBAAA,EAAkBnB,KAAA,EAAOgB,KAAA,CAAM;EAEnC9C,SAAA,CAAU;IACR,IAAIwC,oBAAA,EAAsBY,MAAA,GAAS,GAAG;MACpCT,qBAAA,CAAsBQ,OAAO,GAAGX,oBAAA,CAAqBa,MAAM,CACzD,CAACC,eAAA,EAAyBC,KAAA,EAAOC,CAAA;QAC/B,MAAMlB,KAAA,GACJ,WAAWiB,KAAA,IAASA,KAAA,CAAMjB,KAAK,GAAGiB,KAAA,CAAMjB,KAAK,GAAG,UAAUiB,KAAA,GAAQA,KAAA,CAAMhB,IAAI,GAAG;QAEjF,IAAIiB,CAAA,KAAM,GAAG;UACX,OAAO,GAAGvB,CAAA,CAAE,oBAAoB;YAC9BK,KAAA,EAAOxC,cAAA,CAAewC,KAAA,EAAON,IAAA;UAC/B,IAAI;QACN;QAEA,IAAIwB,CAAA,KAAMhB,oBAAA,CAAqBY,MAAM,GAAG,GAAG;UACzC,OAAO,GAAGE,eAAA,IAAmBrB,CAAA,CAAE,iBAAiBnC,cAAA,CAAewC,KAAA,EAAON,IAAA,GAAO;QAC/E;QAEA,OAAO,GAAGsB,eAAA,KAAoBxD,cAAA,CAAewC,KAAA,EAAON,IAAA,GAAO;MAC7D,GACA;IAEJ,OAAO;MACLW,qBAAA,CAAsBQ,OAAO,GAAGlB,CAAA,CAAE,oBAAoB;QACpDK,KAAA,EAAOxC,cAAA,CAAeuC,WAAA,EAAaL,IAAA;MACrC;IACF;EACF,GAAG,CAACC,CAAA,EAAGO,oBAAA,EAAsBR,IAAA,EAAMK,WAAA,CAAY;EAE/C,oBACEoB,KAAA,CAAC;IAAIC,SAAA,EAAWxC,SAAA;4BACduC,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGxC,SAAA,QAAiB;8BAClCyC,IAAA,CAACnD,UAAA,O,aACDmD,IAAA,CAAC7C,YAAA;QACC8C,SAAA,EAAW7B,UAAA,IAAc,UAAUA,UAAA,GAAaA,UAAA,EAAYQ,IAAA,GAAO;QACnEsB,YAAA,EAAeC,MAAA;UACb,OAAO,KAAKjC,kBAAA,CAAmBiC,MAAA;QACjC;QACA;QACAC,aAAA,EAAejC,KAAA;QAEfQ,KAAA,EAAOK,qBAAA,CAAsBQ;SADxB5B,cAAA,G,aAGPoC,IAAA,CAAC;QAAID,SAAA,EAAW,GAAGxC,SAAA,WAAoB;kBACrC,aAAAuC,KAAA,CAAC;UAAIC,SAAA,EAAW,GAAGxC,SAAA,gBAAyB;qBACzC,CAACkB,UAAA,iBAAcuB,IAAA,CAAC5D,KAAA,CAAMiE,QAAQ;sBAAE3C,aAAA,IAAiBA;cACjDG,aAAA,iBACCmC,IAAA,CAAC9C,IAAA;YACC,iBAAe,GAAGK,SAAA,UAAmB;YACrC,iBAAe8B,aAAA,KAAkB;YACjCU,SAAA,EAAW,GAAGxC,SAAA,kBAA2B;YACzC+C,IAAA,eAAMN,IAAA,CAACrD,WAAA;cAAY4D,SAAA,EAAWlB,aAAA,KAAkB,YAAY,OAAO;;YACnEmB,OAAA,EAASA,CAAA,KACPlB,gBAAA,CAAiBD,aAAA,KAAkB,YAAY,YAAYE,SAAA;YAE7DkB,SAAA,EAAU;sBAETnC,CAAA,CAAE;2BAGP0B,IAAA,CAAC9C,IAAA;YACC,iBAAe,GAAGK,SAAA,QAAiB;YACnC,iBAAe8B,aAAA,KAAkB;YACjCU,SAAA,EAAW,GAAGxC,SAAA,gBAAyB;YACvC+C,IAAA,eAAMN,IAAA,CAACrD,WAAA;cAAY4D,SAAA,EAAWlB,aAAA,KAAkB,UAAU,OAAO;;YACjEmB,OAAA,EAASA,CAAA,KAAMlB,gBAAA,CAAiBD,aAAA,KAAkB,UAAU,UAAUE,SAAA;YACtEkB,SAAA,EAAU;sBAETnC,CAAA,CAAE;cAEJR,UAAA,iBACCkC,IAAA,CAAC9C,IAAA;YACC,iBAAe,GAAGK,SAAA,OAAgB;YAClC,iBAAe8B,aAAA,KAAkB;YACjCU,SAAA,EAAW,GAAGxC,SAAA,eAAwB;YACtC+C,IAAA,eAAMN,IAAA,CAACrD,WAAA;YACP6D,OAAA,EAASA,CAAA,KAAMlB,gBAAA,CAAiBD,aAAA,KAAkB,SAAS,SAASE,SAAA;YACpEkB,SAAA,EAAU;sBAETnC,CAAA,CAAE;cAGNP,aAAA,iBACCiC,IAAA,CAACxD,KAAA;YACCkE,MAAA,eAAQV,IAAA,CAACpD,IAAA;cAAK+D,SAAA,EAAWrC,CAAA,CAAE;;YAC3ByB,SAAA,EAAW,GAAGxC,SAAA,SAAkB;YAChCqD,eAAA,EAAgB;YAChBC,IAAA,EAAK;YACLC,aAAA,EAAc;sBAEd,aAAAd,IAAA,CAACvD,SAAA,CAAUsE,WAAW;wBAAEhD,aAAA,CAAciD,GAAG,CAAEC,IAAA,IAASA,IAAA;;;;;QAM7DpD,aAAA,iBACCmC,IAAA,CAAChD,aAAA;MACC+C,SAAA,EAAW,GAAGxC,SAAA,WAAoB;MAClC2D,MAAA,EAAQ7B,aAAA,KAAkB,YAAY,SAAS;MAC/C8B,EAAA,EAAI,GAAG5D,SAAA,UAAmB;gBAE1B,aAAAyC,IAAA,CAAC/C,cAAA;QAAeW,cAAA,EAAgBD,gBAAA,CAAiByD;;qBAGrDpB,IAAA,CAAChD,aAAA;MACC+C,SAAA,EAAW,GAAGxC,SAAA,SAAkB;MAChC2D,MAAA,EAAQ7B,aAAA,KAAkB,UAAU,SAAS;MAC7C8B,EAAA,EAAI,GAAG5D,SAAA,QAAiB;gBAExB,aAAAyC,IAAA,CAAC5C,YAAA;QACCiE,qBAAA,EAAuB1D,gBAAA,EAAkB2D,MAAA,EAAQC,MAAA;QACjD3D,cAAA,EAAgBD,gBAAA,CAAiByD,IAAI;QACrCrC,MAAA,EAAQpB,gBAAA,EAAkBoB,MAAA;QAC1Bf,eAAA,EAAiBA,eAAA;QACjBC,qBAAA,EAAuBA;;QAG1BH,UAAA,iBACCkC,IAAA,CAAChD,aAAA;MACC+C,SAAA,EAAW,GAAGxC,SAAA,QAAiB;MAC/B2D,MAAA,EAAQ7B,aAAA,KAAkB,SAAS,SAAS;MAC5C8B,EAAA,EAAI,GAAG5D,SAAA,OAAgB;gBAEvB,aAAAyC,IAAA,CAAC;kBAAE;;;;AAUb","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAWjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAWjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmKvD,CAAA"}
|
|
@@ -106,7 +106,7 @@ export const ListDrawerContent = ({
|
|
|
106
106
|
closeModal(drawerSlug);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
}, [serverFunction, closeModal, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility]);
|
|
109
|
+
}, [serverFunction, closeModal, allowCreate, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility]);
|
|
110
110
|
useEffect(() => {
|
|
111
111
|
if (!ListView) {
|
|
112
112
|
void renderList(selectedOption.value);
|
|
@@ -118,6 +118,7 @@ export const ListDrawerContent = ({
|
|
|
118
118
|
if (typeof onSelect === 'function') {
|
|
119
119
|
onSelect({
|
|
120
120
|
collectionSlug: selectedOption.value,
|
|
121
|
+
doc,
|
|
121
122
|
docID: doc.id
|
|
122
123
|
});
|
|
123
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n allowCreate,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CollectionSlug, ListQuery } from 'payload';
|
|
1
|
+
import type { CollectionSlug, Data, ListQuery } from 'payload';
|
|
2
2
|
import type { useSelection } from '../../providers/Selection/index.js';
|
|
3
3
|
import type { UseDocumentDrawer } from '../DocumentDrawer/types.js';
|
|
4
4
|
import type { Option } from '../ReactSelect/index.js';
|
|
@@ -12,6 +12,12 @@ export type ListDrawerContextProps = {
|
|
|
12
12
|
readonly onQueryChange?: (query: ListQuery) => void;
|
|
13
13
|
readonly onSelect?: (args: {
|
|
14
14
|
collectionSlug: CollectionSlug;
|
|
15
|
+
doc: Data;
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated
|
|
18
|
+
* The `docID` property is deprecated and will be removed in the next major version of Payload.
|
|
19
|
+
* Use `doc.id` instead.
|
|
20
|
+
*/
|
|
15
21
|
docID: string;
|
|
16
22
|
}) => void;
|
|
17
23
|
readonly selectedOption?: Option<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,cAAc,CAAA;QAC9B,GAAG,EAAE,IAAI,CAAA;QACT;;;;WAIG;QACH,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","names":["createContext","useContext","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","Provider","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, ListQuery } from 'payload'\n\nimport { createContext, useContext } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: {
|
|
1
|
+
{"version":3,"file":"Provider.js","names":["createContext","useContext","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","Provider","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, Data, ListQuery } from 'payload'\n\nimport { createContext, useContext } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: {\n collectionSlug: CollectionSlug\n doc: Data\n /**\n * @deprecated\n * The `docID` property is deprecated and will be removed in the next major version of Payload.\n * Use `doc.id` instead.\n */\n docID: string\n }) => void\n readonly selectedOption?: Option<string>\n readonly setSelectedOption?: (option: Option<string>) => void\n}\n\nexport type ListDrawerContextType = {\n isInDrawer: boolean\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext.Provider value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext.Provider>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = useContext(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AAgC1C,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAITA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA,CAAkBK,QAAQ;IAACC,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQL,IAAA,CAAKM,UAAU;MAAG,GAAGN;IAAK;cAChFD;;AAGP;AAEA,OAAO,MAAMQ,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUZ,UAAA,CAAWC,iBAAA;EAE3B,IAAI,CAACW,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import type { ClientCollectionConfig } from 'payload';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import './index.scss';
|
|
3
4
|
export type ListSelectionProps = {
|
|
5
|
+
collectionConfig?: ClientCollectionConfig;
|
|
6
|
+
disableBulkDelete?: boolean;
|
|
7
|
+
disableBulkEdit?: boolean;
|
|
4
8
|
label: string;
|
|
5
9
|
};
|
|
6
10
|
export declare const ListSelection: React.FC<ListSelectionProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsCtD,CAAA"}
|
|
@@ -5,11 +5,18 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
import React, { Fragment } from 'react';
|
|
6
6
|
import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
|
|
7
7
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
|
+
import { DeleteMany } from '../DeleteMany/index.js';
|
|
9
|
+
import { EditMany } from '../EditMany/index.js';
|
|
10
|
+
import { PublishMany } from '../PublishMany/index.js';
|
|
11
|
+
import { UnpublishMany } from '../UnpublishMany/index.js';
|
|
8
12
|
import './index.scss';
|
|
9
13
|
const baseClass = 'list-selection';
|
|
10
14
|
export const ListSelection = t0 => {
|
|
11
|
-
const $ = _c(
|
|
15
|
+
const $ = _c(10);
|
|
12
16
|
const {
|
|
17
|
+
collectionConfig,
|
|
18
|
+
disableBulkDelete,
|
|
19
|
+
disableBulkEdit,
|
|
13
20
|
label
|
|
14
21
|
} = t0;
|
|
15
22
|
const {
|
|
@@ -25,39 +32,53 @@ export const ListSelection = t0 => {
|
|
|
25
32
|
return null;
|
|
26
33
|
}
|
|
27
34
|
let t1;
|
|
28
|
-
if ($[0] !==
|
|
35
|
+
if ($[0] !== collectionConfig || $[1] !== count || $[2] !== disableBulkDelete || $[3] !== disableBulkEdit || $[4] !== label || $[5] !== selectAll || $[6] !== t || $[7] !== toggleAll || $[8] !== totalDocs) {
|
|
29
36
|
t1 = _jsxs("div", {
|
|
30
37
|
className: baseClass,
|
|
31
38
|
children: [_jsx("span", {
|
|
32
39
|
children: t("general:selectedCount", {
|
|
40
|
+
count,
|
|
41
|
+
label: ""
|
|
42
|
+
})
|
|
43
|
+
}), selectAll !== SelectAllStatus.AllAvailable && count < totalDocs && _jsx("button", {
|
|
44
|
+
"aria-label": t("general:selectAll", {
|
|
33
45
|
count,
|
|
34
46
|
label
|
|
47
|
+
}),
|
|
48
|
+
className: `${baseClass}__button`,
|
|
49
|
+
id: "select-all-across-pages",
|
|
50
|
+
onClick: () => toggleAll(true),
|
|
51
|
+
type: "button",
|
|
52
|
+
children: t("general:selectAll", {
|
|
53
|
+
count: totalDocs,
|
|
54
|
+
label: ""
|
|
35
55
|
})
|
|
36
|
-
}),
|
|
37
|
-
children:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
children: t("general:selectAll", {
|
|
46
|
-
count: totalDocs,
|
|
47
|
-
label
|
|
48
|
-
})
|
|
56
|
+
}), !disableBulkEdit && !disableBulkDelete && _jsx("span", {
|
|
57
|
+
children: "\u2014"
|
|
58
|
+
}), !disableBulkEdit && _jsxs(Fragment, {
|
|
59
|
+
children: [_jsx(EditMany, {
|
|
60
|
+
collection: collectionConfig
|
|
61
|
+
}), _jsx(PublishMany, {
|
|
62
|
+
collection: collectionConfig
|
|
63
|
+
}), _jsx(UnpublishMany, {
|
|
64
|
+
collection: collectionConfig
|
|
49
65
|
})]
|
|
66
|
+
}), !disableBulkDelete && _jsx(DeleteMany, {
|
|
67
|
+
collection: collectionConfig
|
|
50
68
|
})]
|
|
51
69
|
});
|
|
52
|
-
$[0] =
|
|
53
|
-
$[1] =
|
|
54
|
-
$[2] =
|
|
55
|
-
$[3] =
|
|
56
|
-
$[4] =
|
|
57
|
-
$[5] =
|
|
58
|
-
$[6] =
|
|
70
|
+
$[0] = collectionConfig;
|
|
71
|
+
$[1] = count;
|
|
72
|
+
$[2] = disableBulkDelete;
|
|
73
|
+
$[3] = disableBulkEdit;
|
|
74
|
+
$[4] = label;
|
|
75
|
+
$[5] = selectAll;
|
|
76
|
+
$[6] = t;
|
|
77
|
+
$[7] = toggleAll;
|
|
78
|
+
$[8] = totalDocs;
|
|
79
|
+
$[9] = t1;
|
|
59
80
|
} else {
|
|
60
|
-
t1 = $[
|
|
81
|
+
t1 = $[9];
|
|
61
82
|
}
|
|
62
83
|
return t1;
|
|
63
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","Fragment","SelectAllStatus","useSelection","useTranslation","baseClass","ListSelection","t0","$","label","count","selectAll","toggleAll","totalDocs","t","t1","_jsxs","className","children","_jsx","AllAvailable","onClick","type"],"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Fragment","SelectAllStatus","useSelection","useTranslation","DeleteMany","EditMany","PublishMany","UnpublishMany","baseClass","ListSelection","t0","$","collectionConfig","disableBulkDelete","disableBulkEdit","label","count","selectAll","toggleAll","totalDocs","t","t1","_jsxs","className","children","_jsx","AllAvailable","id","onClick","type","collection"],"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n collectionConfig?: ClientCollectionConfig\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n collectionConfig,\n disableBulkDelete,\n disableBulkEdit,\n label,\n}) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label: '' })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && count < totalDocs && (\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n id=\"select-all-across-pages\"\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label: '' })}\n </button>\n )}\n {!disableBulkEdit && !disableBulkDelete && <span>—</span>}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EAAC;IAAAc,gBAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAC;EAAA,IAAAL,EAK3D;EACC;IAAAM,KAAA;IAAAC,SAAA;IAAAC,SAAA;IAAAC;EAAA,IAAmDjB,YAAA;EACnD;IAAAkB;EAAA,IAAcjB,cAAA;EAAA,IAEVa,KAAA,MAAU;IAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAV,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAK,KAAA,IAAAL,CAAA,QAAAE,iBAAA,IAAAF,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAS,CAAA,IAAAT,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAQ,SAAA;IAKZE,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAf,SAAA;MAAAgB,QAAA,GACCC,IAAA,CAAC;QAAAD,QAAA,EAAMJ,CAAA,CAAE;UAAAJ,KAAA;UAAAD,KAAA,EAAyC;QAAA,CAAG;MAAA,C,GACpDE,SAAA,KAAAhB,eAAA,CAAAyB,YAA0C,IAAIV,KAAA,GAAQG,SAAA,IACrDM,IAAA,CAAC;QAAA,cACaL,CAAA,CAAE;UAAAJ,KAAA;UAAAD;QAAA,CAAoC;QAAAQ,SAAA,EACvC,GAAAf,SAAA,UAAsB;QAAAmB,EAAA,EAC9B;QAAAC,OAAA,EAAAA,CAAA,KACYV,SAAA,KAAU;QAAAW,IAAA,EACpB;QAAAL,QAAA,EAEJJ,CAAA,CAAE;UAAAJ,KAAA,EAA8BG,SAAA;UAAAJ,KAAA,EAAkB;QAAA,CAAG;MAAA,C,GAGzD,CAACD,eAAA,KAAoBD,iBAAA,IAAqBY,IAAA,CAAC;QAAAD,QAAA,EAAK;MAAA,C,GAChD,CAACV,eAAA,IACAQ,KAAA,CAAAtB,QAAA;QAAAwB,QAAA,GACEC,IAAA,CAAApB,QAAA;UAAAyB,UAAA,EAAsBlB;QAAA,C,GACtBa,IAAA,CAAAnB,WAAA;UAAAwB,UAAA,EAAyBlB;QAAA,C,GACzBa,IAAA,CAAAlB,aAAA;UAAAuB,UAAA,EAA2BlB;QAAA,C;UAG9B,CAACC,iBAAA,IAAqBY,IAAA,CAAArB,UAAA;QAAA0B,UAAA,EAAwBlB;MAAA,C;;;;;;;;;;;;;;;SArBjDS,E;CAwBJ","ignoreList":[]}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
@layer payload-default {
|
|
4
4
|
.list-selection {
|
|
5
|
+
display: flex;
|
|
5
6
|
margin-left: auto;
|
|
6
7
|
color: var(--theme-elevation-500);
|
|
8
|
+
gap: 0.5em;
|
|
7
9
|
|
|
8
10
|
&__button {
|
|
9
11
|
color: var(--theme-elevation-500);
|
|
@@ -11,6 +13,8 @@
|
|
|
11
13
|
border: none;
|
|
12
14
|
text-decoration: underline;
|
|
13
15
|
cursor: pointer;
|
|
16
|
+
padding: 0;
|
|
17
|
+
font-size: inherit;
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
@include small-break {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAID,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiIlD,CAAA"}
|
|
@@ -15,7 +15,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
|
|
|
15
15
|
import { requests } from '../../utilities/api.js';
|
|
16
16
|
import { parseSearchParams } from '../../utilities/parseSearchParams.js';
|
|
17
17
|
import { ConfirmationModal } from '../ConfirmationModal/index.js';
|
|
18
|
-
import
|
|
18
|
+
import './index.scss';
|
|
19
19
|
const baseClass = 'publish-many';
|
|
20
20
|
export const PublishMany = props => {
|
|
21
21
|
const {
|
|
@@ -114,11 +114,12 @@ export const PublishMany = props => {
|
|
|
114
114
|
return null;
|
|
115
115
|
}
|
|
116
116
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
117
|
-
children: [/*#__PURE__*/_jsx(
|
|
117
|
+
children: [/*#__PURE__*/_jsx("button", {
|
|
118
118
|
className: `${baseClass}__toggle`,
|
|
119
119
|
onClick: () => {
|
|
120
120
|
openModal(modalSlug);
|
|
121
121
|
},
|
|
122
|
+
type: "button",
|
|
122
123
|
children: t('version:publish')
|
|
123
124
|
}), /*#__PURE__*/_jsx(ConfirmationModal, {
|
|
124
125
|
body: t('version:aboutToPublishSelection', {
|