@payloadcms/ui 3.30.0-internal.ef2a0e5 → 3.30.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.
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import type { State } from '../FormsManager/reducer.js';
4
4
  import { type EditManyBulkUploadsProps } from './index.js';
5
5
  import './index.scss';
6
+ import '../../../forms/RenderFields/index.scss';
6
7
  export declare const EditManyBulkUploadsDrawerContent: React.FC<{
7
8
  collection: ClientCollectionConfig;
8
9
  drawerSlug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAmC,MAAM,SAAS,CAAA;AAKtF,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAYvD,OAAO,EAAa,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CACrD;IACE,UAAU,EAAE,sBAAsB,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CACtB,GAAG,wBAAwB,CA+J7B,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAc,MAAM,SAAS,CAAA;AAKjE,OAAO,KAAoD,MAAM,OAAO,CAAA;AAKxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAYvD,OAAO,EAAa,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,cAAc,CAAA;AACrB,OAAO,wCAAwC,CAAA;AAE/C,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CACrD;IACE,UAAU,EAAE,sBAAsB,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CACtB,GAAG,wBAAwB,CAyK7B,CAAA"}
@@ -7,7 +7,7 @@ import { unflatten } from 'payload/shared';
7
7
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
8
8
  import { Button } from '../../../elements/Button/index.js';
9
9
  import { Form } from '../../../forms/Form/index.js';
10
- import { RenderFields } from '../../../forms/RenderFields/index.js';
10
+ import { RenderField } from '../../../forms/RenderFields/RenderField.js';
11
11
  import { XIcon } from '../../../icons/X/index.js';
12
12
  import { useAuth } from '../../../providers/Auth/index.js';
13
13
  import { useServerFunctions } from '../../../providers/ServerFunctions/index.js';
@@ -17,6 +17,7 @@ import { FieldSelect } from '../../FieldSelect/index.js';
17
17
  import { useFormsManager } from '../FormsManager/index.js';
18
18
  import { baseClass } from './index.js';
19
19
  import './index.scss';
20
+ import '../../../forms/RenderFields/index.scss';
20
21
  export const EditManyBulkUploadsDrawerContent = props => {
21
22
  const {
22
23
  collection: {
@@ -51,8 +52,8 @@ export const EditManyBulkUploadsDrawerContent = props => {
51
52
  const [selectedFields, setSelectedFields] = useState([]);
52
53
  const collectionPermissions = permissions?.collections?.[collection.slug];
53
54
  const select = useMemo(() => {
54
- return unflatten(selectedFields.reduce((acc, field) => {
55
- acc[field.path] = true;
55
+ return unflatten(selectedFields.reduce((acc, option) => {
56
+ acc[option.value.path] = true;
56
57
  return acc;
57
58
  }, {}));
58
59
  }, [selectedFields]);
@@ -84,12 +85,9 @@ export const EditManyBulkUploadsDrawerContent = props => {
84
85
  };
85
86
  }, []);
86
87
  const handleSubmit = useCallback(formState => {
87
- const pairedData = selectedFields.reduce((acc_0, field_0) => {
88
- const {
89
- path
90
- } = field_0;
91
- if (formState[path]) {
92
- acc_0[path] = formState[path].value;
88
+ const pairedData = selectedFields.reduce((acc_0, option_0) => {
89
+ if (formState[option_0.value.path]) {
90
+ acc_0[option_0.value.path] = formState[option_0.value.path].value;
93
91
  }
94
92
  return acc_0;
95
93
  }, {});
@@ -101,13 +99,7 @@ export const EditManyBulkUploadsDrawerContent = props => {
101
99
  selected
102
100
  }) => {
103
101
  setIsInitializing(true);
104
- if (selected === null) {
105
- setSelectedFields([]);
106
- } else {
107
- setSelectedFields(selected.map(({
108
- value
109
- }) => value));
110
- }
102
+ setSelectedFields(selected || []);
111
103
  const {
112
104
  state: state_0
113
105
  } = await getFormState({
@@ -117,8 +109,8 @@ export const EditManyBulkUploadsDrawerContent = props => {
117
109
  formState: formState_0,
118
110
  operation: 'update',
119
111
  schemaPath: collection.slug,
120
- select: unflatten(selected.reduce((acc_1, option) => {
121
- acc_1[option.value.path] = true;
112
+ select: unflatten(selected.reduce((acc_1, option_1) => {
113
+ acc_1[option_1.value.path] = true;
122
114
  return acc_1;
123
115
  }, {})),
124
116
  skipValidation: true
@@ -154,14 +146,27 @@ export const EditManyBulkUploadsDrawerContent = props => {
154
146
  onSubmit: handleSubmit,
155
147
  children: [/*#__PURE__*/_jsx(FieldSelect, {
156
148
  fields: fields,
157
- onChange: onFieldSelect
158
- }), selectedFields.length === 0 ? null : /*#__PURE__*/_jsx(RenderFields, {
159
- fields: selectedFields,
160
- parentIndexPath: "",
161
- parentPath: "",
162
- parentSchemaPath: collection.slug,
163
- permissions: collectionPermissions?.fields,
164
- readOnly: false
149
+ onChange: onFieldSelect,
150
+ permissions: collectionPermissions.fields
151
+ }), selectedFields.length === 0 ? null : /*#__PURE__*/_jsx("div", {
152
+ className: "render-fields",
153
+ children: selectedFields.map((option_2, i) => {
154
+ const {
155
+ value: {
156
+ field,
157
+ fieldPermissions,
158
+ path
159
+ }
160
+ } = option_2;
161
+ return /*#__PURE__*/_jsx(RenderField, {
162
+ clientFieldConfig: field,
163
+ indexPath: "",
164
+ parentPath: "",
165
+ parentSchemaPath: "",
166
+ path: path,
167
+ permissions: fieldPermissions
168
+ }, `${path}-${i}`);
169
+ })
165
170
  }), /*#__PURE__*/_jsx("div", {
166
171
  className: `${baseClass}__sidebar-wrap`,
167
172
  children: /*#__PURE__*/_jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","getTranslation","unflatten","React","useCallback","useEffect","useMemo","useState","Button","Form","RenderFields","XIcon","useAuth","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","FieldSelect","useFormsManager","baseClass","EditManyBulkUploadsDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","forms","isInitializing","setIsInitializing","permissions","i18n","t","closeModal","bulkUpdateForm","getFormState","abortFormStateRef","useRef","selectedFields","setSelectedFields","collectionPermissions","collections","slug","select","reduce","acc","field","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","skipValidation","current","abortFormState","handleSubmit","pairedData","value","onFieldSelect","dispatchFields","selected","map","option","type","_jsxs","className","_jsx","count","length","label","id","onClick","onSubmit","parentIndexPath","parentPath","parentSchemaPath","readOnly"],"sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, FieldWithPathClient, SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { unflatten } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../../FieldSelect/index.js'\nimport type { State } from '../FormsManager/reducer.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { Form } from '../../../forms/Form/index.js'\nimport { RenderFields } from '../../../forms/RenderFields/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { FieldSelect } from '../../FieldSelect/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { baseClass, type EditManyBulkUploadsProps } from './index.js'\nimport './index.scss'\n\nexport const EditManyBulkUploadsDrawerContent: React.FC<\n {\n collection: ClientCollectionConfig\n drawerSlug: string\n forms: State['forms']\n } & EditManyBulkUploadsProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n forms,\n } = props\n\n const [isInitializing, setIsInitializing] = useState(false)\n const { permissions } = useAuth()\n const { i18n, t } = useTranslation()\n const { closeModal } = useModal()\n const { bulkUpdateForm } = useFormsManager()\n const { getFormState } = useServerFunctions()\n const abortFormStateRef = React.useRef<AbortController>(null)\n\n const [selectedFields, setSelectedFields] = useState<FieldWithPathClient[]>([])\n const collectionPermissions = permissions?.collections?.[collection.slug]\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, field) => {\n acc[field.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const handleSubmit: FormProps['onSubmit'] = useCallback(\n (formState) => {\n const pairedData = selectedFields.reduce((acc, field) => {\n const { path } = field\n if (formState[path]) {\n acc[path] = formState[path].value\n }\n return acc\n }, {})\n\n void bulkUpdateForm(pairedData, () => closeModal(drawerSlug))\n },\n [closeModal, drawerSlug, bulkUpdateForm, selectedFields],\n )\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n if (selected === null) {\n setSelectedFields([])\n } else {\n setSelectedFields(selected.map(({ value }) => value))\n }\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection, collectionPermissions],\n )\n\n return (\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count: forms.length,\n label: getTranslation(forms.length > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSubmit={handleSubmit}\n >\n <FieldSelect fields={fields} onChange={onFieldSelect} />\n {selectedFields.length === 0 ? null : (\n <RenderFields\n fields={selectedFields}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={collection.slug}\n permissions={collectionPermissions?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n <Button type=\"submit\">{t('general:applyChanges')}</Button>\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","getTranslation","unflatten","React","useCallback","useEffect","useMemo","useState","Button","Form","RenderField","XIcon","useAuth","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","FieldSelect","useFormsManager","baseClass","EditManyBulkUploadsDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","forms","isInitializing","setIsInitializing","permissions","i18n","t","closeModal","bulkUpdateForm","getFormState","abortFormStateRef","useRef","selectedFields","setSelectedFields","collectionPermissions","collections","slug","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","skipValidation","current","abortFormState","handleSubmit","pairedData","onFieldSelect","dispatchFields","selected","type","_jsxs","className","_jsx","count","length","label","id","onClick","onSubmit","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath"],"sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { unflatten } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../../FieldSelect/index.js'\nimport type { FieldOption } from '../../FieldSelect/reduceFieldOptions.js'\nimport type { State } from '../FormsManager/reducer.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { Form } from '../../../forms/Form/index.js'\nimport { RenderField } from '../../../forms/RenderFields/RenderField.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { FieldSelect } from '../../FieldSelect/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { baseClass, type EditManyBulkUploadsProps } from './index.js'\nimport './index.scss'\nimport '../../../forms/RenderFields/index.scss'\n\nexport const EditManyBulkUploadsDrawerContent: React.FC<\n {\n collection: ClientCollectionConfig\n drawerSlug: string\n forms: State['forms']\n } & EditManyBulkUploadsProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n forms,\n } = props\n\n const [isInitializing, setIsInitializing] = useState(false)\n const { permissions } = useAuth()\n const { i18n, t } = useTranslation()\n const { closeModal } = useModal()\n const { bulkUpdateForm } = useFormsManager()\n const { getFormState } = useServerFunctions()\n const abortFormStateRef = React.useRef<AbortController>(null)\n\n const [selectedFields, setSelectedFields] = useState<FieldOption[]>([])\n const collectionPermissions = permissions?.collections?.[collection.slug]\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const handleSubmit: FormProps['onSubmit'] = useCallback(\n (formState) => {\n const pairedData = selectedFields.reduce((acc, option) => {\n if (formState[option.value.path]) {\n acc[option.value.path] = formState[option.value.path].value\n }\n return acc\n }, {})\n\n void bulkUpdateForm(pairedData, () => closeModal(drawerSlug))\n },\n [closeModal, drawerSlug, bulkUpdateForm, selectedFields],\n )\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection, collectionPermissions],\n )\n\n return (\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count: forms.length,\n label: getTranslation(forms.length > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSubmit={handleSubmit}\n >\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </div>\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n <Button type=\"submit\">{t('general:applyChanges')}</Button>\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,11 @@
1
- import type { FieldWithPathClient } from 'payload';
2
1
  import React from 'react';
2
+ import type { FieldOption } from '../FieldSelect/reduceFieldOptions.js';
3
3
  import { type EditManyProps } from './index.js';
4
4
  import './index.scss';
5
5
  import '../../forms/RenderFields/index.scss';
6
6
  export declare const EditManyDrawerContent: React.FC<{
7
7
  drawerSlug: string;
8
- selectedFields: FieldWithPathClient[];
9
- setSelectedFields: React.Dispatch<React.SetStateAction<FieldWithPathClient[]>>;
8
+ selectedFields: FieldOption[];
9
+ setSelectedFields: (fields: FieldOption[]) => void;
10
10
  } & EditManyProps>;
11
11
  //# sourceMappingURL=DrawerContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAc,MAAM,SAAS,CAAA;AAO9D,OAAO,KAAoD,MAAM,OAAO,CAAA;AAsBxE,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,cAAc,CAAA;AACrB,OAAO,qCAAqC,CAAA;AA+E5C,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC1C;IACE,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,mBAAmB,EAAE,CAAA;IACrC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAA;CAC/E,GAAG,aAAa,CAqOlB,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AASA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAmBvE,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,cAAc,CAAA;AACrB,OAAO,qCAAqC,CAAA;AA+E5C,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC1C;IACE,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;CACnD,GAAG,aAAa,CA+NlB,CAAA"}
@@ -220,8 +220,8 @@ export const EditManyDrawerContent = props => {
220
220
  const collectionPermissions = permissions?.collections?.[collection.slug];
221
221
  const searchParams = useSearchParams();
222
222
  const select = useMemo(() => {
223
- return unflatten(selectedFields.reduce((acc, field) => {
224
- acc[field.path] = true;
223
+ return unflatten(selectedFields.reduce((acc, option) => {
224
+ acc[option.value.path] = true;
225
225
  return acc;
226
226
  }, {}));
227
227
  }, [selectedFields]);
@@ -276,13 +276,7 @@ export const EditManyDrawerContent = props => {
276
276
  selected
277
277
  }) => {
278
278
  setIsInitializing(true);
279
- if (selected === null) {
280
- setSelectedFields([]);
281
- } else {
282
- setSelectedFields(selected.map(({
283
- value
284
- }) => value));
285
- }
279
+ setSelectedFields(selected || []);
286
280
  const {
287
281
  state: state_0
288
282
  } = await getFormState({
@@ -292,8 +286,8 @@ export const EditManyDrawerContent = props => {
292
286
  formState,
293
287
  operation: 'update',
294
288
  schemaPath: collection.slug,
295
- select: unflatten(selected.reduce((acc_0, option) => {
296
- acc_0[option.value.path] = true;
289
+ select: unflatten(selected.reduce((acc_0, option_0) => {
290
+ acc_0[option_0.value.path] = true;
297
291
  return acc_0;
298
292
  }, {})),
299
293
  skipValidation: true
@@ -342,20 +336,25 @@ export const EditManyDrawerContent = props => {
342
336
  onSuccess: onSuccess,
343
337
  children: [/*#__PURE__*/_jsx(FieldSelect, {
344
338
  fields: fields,
345
- onChange: onFieldSelect
339
+ onChange: onFieldSelect,
340
+ permissions: collectionPermissions.fields
346
341
  }), selectedFields.length === 0 ? null : /*#__PURE__*/_jsx("div", {
347
342
  className: "render-fields",
348
- children: selectedFields.map((field_0, i) => {
343
+ children: selectedFields.map((option_1, i) => {
349
344
  const {
350
- path
351
- } = field_0;
345
+ value: {
346
+ field,
347
+ fieldPermissions,
348
+ path
349
+ }
350
+ } = option_1;
352
351
  return /*#__PURE__*/_jsx(RenderField, {
353
- clientFieldConfig: field_0,
352
+ clientFieldConfig: field,
354
353
  indexPath: "",
355
354
  parentPath: "",
356
355
  parentSchemaPath: "",
357
356
  path: path,
358
- permissions: collectionPermissions.fields === undefined || collectionPermissions.fields === null || collectionPermissions.fields === true ? true : 'name' in field_0 ? collectionPermissions.fields?.[field_0.name] : undefined
357
+ permissions: fieldPermissions
359
358
  }, `${path}-${i}`);
360
359
  })
361
360
  }), /*#__PURE__*/_jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderField","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","mergeListSearchAndWhere","parseSearchParams","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","selectedFields","setSelectedFields","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","clearRouteCache","collectionPermissions","collections","slug","searchParams","select","reduce","acc","field","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","queryWithSearch","collectionConfig","search","get","onSuccess","replace","stringify","page","AllAvailable","undefined","addQueryPrefix","onFieldSelect","dispatchFields","selected","map","value","option","type","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","label","length","i","clientFieldConfig","indexPath","parentPath","parentSchemaPath","name","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldWithPathClient, SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { unflatten } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderField } from '../../forms/RenderFields/RenderField.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport { baseClass, type EditManyProps } from './index.js'\nimport './index.scss'\nimport '../../forms/RenderFields/index.scss'\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditManyDrawerContent: React.FC<\n {\n drawerSlug: string\n selectedFields: FieldWithPathClient[]\n setSelectedFields: React.Dispatch<React.SetStateAction<FieldWithPathClient[]>>\n } & EditManyProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n selectedFields,\n setSelectedFields,\n } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, field) => {\n acc[field.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo(() => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n return getQueryParams(queryWithSearch)\n }, [collection, searchParams, getQueryParams])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n if (selected === null) {\n setSelectedFields([])\n } else {\n setSelectedFields(selected.map(({ value }) => value))\n }\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} onChange={onFieldSelect} />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n {selectedFields.map((field, i) => {\n const { path } = field\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={\n collectionPermissions.fields === undefined ||\n collectionPermissions.fields === null ||\n collectionPermissions.fields === true\n ? true\n : 'name' in field\n ? collectionPermissions.fields?.[field.name]\n : undefined\n }\n />\n )\n })}\n </div>\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}`}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderField","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","mergeListSearchAndWhere","parseSearchParams","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","selectedFields","setSelectedFields","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","clearRouteCache","collectionPermissions","collections","slug","searchParams","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","queryWithSearch","collectionConfig","search","get","onSuccess","replace","stringify","page","AllAvailable","undefined","addQueryPrefix","onFieldSelect","dispatchFields","selected","type","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","label","length","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { unflatten } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderField } from '../../forms/RenderFields/RenderField.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport { baseClass, type EditManyProps } from './index.js'\nimport './index.scss'\nimport '../../forms/RenderFields/index.scss'\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditManyDrawerContent: React.FC<\n {\n drawerSlug: string\n selectedFields: FieldOption[]\n setSelectedFields: (fields: FieldOption[]) => void\n } & EditManyProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n selectedFields,\n setSelectedFields,\n } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo(() => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n return getQueryParams(queryWithSearch)\n }, [collection, searchParams, getQueryParams])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </div>\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}`}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,SAAS,CAAA;AAG1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA6C5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAUvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8C5C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useState","useAuth","EditDepthProvider","SelectAllStatus","useSelection","useTranslation","Drawer","EditManyDrawerContent","baseClass","EditMany","props","$","collection","t0","slug","permissions","openModal","selectAll","t","t1","Symbol","for","selectedFields","setSelectedFields","collectionPermissions","collections","drawerSlug","None","update","t2","t3","_jsxs","className","children","_jsx","onClick","type","Header"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FieldWithPathClient } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useState } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { EditManyDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const {\n collection: { slug },\n } = props\n\n const { permissions } = useAuth()\n const { openModal } = useModal()\n\n const { selectAll } = useSelection()\n const { t } = useTranslation()\n const [selectedFields, setSelectedFields] = useState<FieldWithPathClient[]>([])\n\n const collectionPermissions = permissions?.collections?.[slug]\n\n const drawerSlug = `edit-${slug}`\n\n if (selectAll === SelectAllStatus.None || !collectionPermissions?.update) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <button\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n openModal(drawerSlug)\n setSelectedFields([])\n }}\n type=\"button\"\n >\n {t('general:edit')}\n </button>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyDrawerContent\n collection={props.collection}\n drawerSlug={drawerSlug}\n selectedFields={selectedFields}\n setSelectedFields={setSelectedFields}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,OAAO,MAAMC,SAAA,GAAY;AAMzB,OAAO,MAAMC,QAAA,GAAoCC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EAC/C;IAAAe,UAAA,EAAAC;EAAA,IAEIH,KAAA;EADU;IAAAI;EAAA,IAAAD,EAAQ;EAGtB;IAAAE;EAAA,IAAwBd,OAAA;EACxB;IAAAe;EAAA,IAAsBlB,QAAA;EAEtB;IAAAmB;EAAA,IAAsBb,YAAA;EACtB;IAAAc;EAAA,IAAcb,cAAA;EAAA,IAAAc,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAC8DF,EAAA;IAAER,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAA9E,OAAAW,cAAA,EAAAC,iBAAA,IAA4CvB,QAAA,CAAgCmB,EAAE;EAE9E,MAAAK,qBAAA,GAA8BT,WAAA,EAAAU,WAAA,GAA2BX,IAAA;EAEzD,MAAAY,UAAA,GAAmB,QAAQZ,IAAA,EAAM;EAAA,IAE7BG,SAAA,KAAAd,eAAA,CAAAwB,IAAkC,KAAKH,qBAAA,EAAAI,MAAuB;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAlB,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAD,KAAA,CAAAE,UAAA,IAAAD,CAAA,QAAAW,cAAA,IAAAX,CAAA,QAAAO,CAAA;IAAA,IAAAY,EAAA;IAAA,IAAAnB,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAK,SAAA;MASnDc,EAAA,GAAAA,CAAA;QACPd,SAAA,CAAUU,UAAA;QACVH,iBAAA,GAAoB;MAAA;MACtBZ,CAAA,MAAAe,UAAA;MAAAf,CAAA,MAAAK,SAAA;MAAAL,CAAA,MAAAmB,EAAA;IAAA;MAAAA,EAAA,GAAAnB,CAAA;IAAA;IAPJkB,EAAA,GAAAE,KAAA,CAAC;MAAAC,SAAA,EAAAxB,SAAA;MAAAyB,QAAA,GACCC,IAAA,CAAC;QAAA,cACahB,CAAA,CAAE;QAAAc,SAAA,EACH,GAAAxB,SAAA,UAAsB;QAAA2B,OAAA,EACxBL,EAGT;QAAAM,IAAA,EACK;QAAAH,QAAA,EAEJf,CAAA,CAAE;MAAA,C,GAELgB,IAAA,CAAAhC,iBAAA;QAAA+B,QAAA,EACEC,IAAA,CAAA5B,MAAA;UAAA+B,MAAA;UAAAvB,IAAA,EAA4BY,UAAA;UAAAO,QAAA,EAC1BC,IAAA,CAAA3B,qBAAA;YAAAK,UAAA,EACcF,KAAA,CAAAE,UAAA;YAAAc,UAAA;YAAAJ,cAAA;YAAAC;UAAA,C;;;;;;;;;;;;;SAfpBM,E;CAwBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useState","useAuth","EditDepthProvider","SelectAllStatus","useSelection","useTranslation","Drawer","EditManyDrawerContent","baseClass","EditMany","props","$","collection","t0","slug","permissions","openModal","selectAll","t","t1","Symbol","for","selectedFields","setSelectedFields","collectionPermissions","collections","drawerSlug","None","update","t2","t3","_jsxs","className","children","_jsx","onClick","type","Header"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useState } from 'react'\n\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { EditManyDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const {\n collection: { slug },\n } = props\n\n const { permissions } = useAuth()\n const { openModal } = useModal()\n\n const { selectAll } = useSelection()\n const { t } = useTranslation()\n\n const [selectedFields, setSelectedFields] = useState<FieldOption[]>([])\n\n const collectionPermissions = permissions?.collections?.[slug]\n\n const drawerSlug = `edit-${slug}`\n\n if (selectAll === SelectAllStatus.None || !collectionPermissions?.update) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <button\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n openModal(drawerSlug)\n setSelectedFields([])\n }}\n type=\"button\"\n >\n {t('general:edit')}\n </button>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyDrawerContent\n collection={props.collection}\n drawerSlug={drawerSlug}\n selectedFields={selectedFields}\n setSelectedFields={setSelectedFields}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAIhC,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,OAAO,MAAMC,SAAA,GAAY;AAMzB,OAAO,MAAMC,QAAA,GAAoCC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EAC/C;IAAAe,UAAA,EAAAC;EAAA,IAEIH,KAAA;EADU;IAAAI;EAAA,IAAAD,EAAQ;EAGtB;IAAAE;EAAA,IAAwBd,OAAA;EACxB;IAAAe;EAAA,IAAsBlB,QAAA;EAEtB;IAAAmB;EAAA,IAAsBb,YAAA;EACtB;IAAAc;EAAA,IAAcb,cAAA;EAAA,IAAAc,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAEsDF,EAAA;IAAER,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAtE,OAAAW,cAAA,EAAAC,iBAAA,IAA4CvB,QAAA,CAAwBmB,EAAE;EAEtE,MAAAK,qBAAA,GAA8BT,WAAA,EAAAU,WAAA,GAA2BX,IAAA;EAEzD,MAAAY,UAAA,GAAmB,QAAQZ,IAAA,EAAM;EAAA,IAE7BG,SAAA,KAAAd,eAAA,CAAAwB,IAAkC,KAAKH,qBAAA,EAAAI,MAAuB;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAlB,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAD,KAAA,CAAAE,UAAA,IAAAD,CAAA,QAAAW,cAAA,IAAAX,CAAA,QAAAO,CAAA;IAAA,IAAAY,EAAA;IAAA,IAAAnB,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAK,SAAA;MASnDc,EAAA,GAAAA,CAAA;QACPd,SAAA,CAAUU,UAAA;QACVH,iBAAA,GAAoB;MAAA;MACtBZ,CAAA,MAAAe,UAAA;MAAAf,CAAA,MAAAK,SAAA;MAAAL,CAAA,MAAAmB,EAAA;IAAA;MAAAA,EAAA,GAAAnB,CAAA;IAAA;IAPJkB,EAAA,GAAAE,KAAA,CAAC;MAAAC,SAAA,EAAAxB,SAAA;MAAAyB,QAAA,GACCC,IAAA,CAAC;QAAA,cACahB,CAAA,CAAE;QAAAc,SAAA,EACH,GAAAxB,SAAA,UAAsB;QAAA2B,OAAA,EACxBL,EAGT;QAAAM,IAAA,EACK;QAAAH,QAAA,EAEJf,CAAA,CAAE;MAAA,C,GAELgB,IAAA,CAAAhC,iBAAA;QAAA+B,QAAA,EACEC,IAAA,CAAA5B,MAAA;UAAA+B,MAAA;UAAAvB,IAAA,EAA4BY,UAAA;UAAAO,QAAA,EAC1BC,IAAA,CAAA3B,qBAAA;YAAAK,UAAA,EACcF,KAAA,CAAAE,UAAA;YAAAc,UAAA;YAAAJ,cAAA;YAAAC;UAAA,C;;;;;;;;;;;;;SAfpBM,E;CAwBJ","ignoreList":[]}
@@ -1,6 +1,7 @@
1
- import type { ClientField, FieldWithPathClient, FormState } from 'payload';
1
+ import type { ClientField, FormState, SanitizedFieldPermissions } from 'payload';
2
2
  import React from 'react';
3
3
  import type { FieldAction } from '../../forms/Form/types.js';
4
+ import type { FieldOption } from './reduceFieldOptions.js';
4
5
  import './index.scss';
5
6
  export type OnFieldSelect = ({ dispatchFields, formState, selected, }: {
6
7
  dispatchFields: React.Dispatch<FieldAction>;
@@ -10,10 +11,9 @@ export type OnFieldSelect = ({ dispatchFields, formState, selected, }: {
10
11
  export type FieldSelectProps = {
11
12
  readonly fields: ClientField[];
12
13
  readonly onChange: OnFieldSelect;
13
- };
14
- export type FieldOption = {
15
- Label: React.ReactNode;
16
- value: FieldWithPathClient;
14
+ readonly permissions: {
15
+ [fieldName: string]: SanitizedFieldPermissions;
16
+ } | SanitizedFieldPermissions;
17
17
  };
18
18
  export declare const FieldSelect: React.FC<FieldSelectProps>;
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAQ5D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG,CAAC,EAC3B,cAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE;IACD,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC3C,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAA;CACxB,KAAK,IAAI,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAEhF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0BlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEhF,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAQ1D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG,CAAC,EAC3B,cAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE;IACD,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC3C,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAA;CACxB,KAAK,IAAI,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,WAAW,EAChB;QACE,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAC/C,GACD,yBAAyB,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8BlD,CAAA"}
@@ -12,10 +12,11 @@ import { reduceFieldOptions } from './reduceFieldOptions.js';
12
12
  import './index.scss';
13
13
  const baseClass = 'field-select';
14
14
  export const FieldSelect = t0 => {
15
- const $ = _c(13);
15
+ const $ = _c(14);
16
16
  const {
17
17
  fields,
18
- onChange
18
+ onChange,
19
+ permissions
19
20
  } = t0;
20
21
  const {
21
22
  t
@@ -25,33 +26,35 @@ export const FieldSelect = t0 => {
25
26
  getFields
26
27
  } = useForm();
27
28
  let t1;
28
- if ($[0] !== fields || $[1] !== getFields) {
29
+ if ($[0] !== fields || $[1] !== getFields || $[2] !== permissions) {
29
30
  t1 = () => reduceFieldOptions({
30
31
  fields: filterOutUploadFields(fields),
31
- formState: getFields()
32
+ formState: getFields(),
33
+ permissions
32
34
  });
33
35
  $[0] = fields;
34
36
  $[1] = getFields;
35
- $[2] = t1;
37
+ $[2] = permissions;
38
+ $[3] = t1;
36
39
  } else {
37
- t1 = $[2];
40
+ t1 = $[3];
38
41
  }
39
42
  const [options] = useState(t1);
40
43
  let t2;
41
- if ($[3] !== dispatchFields || $[4] !== getFields || $[5] !== onChange || $[6] !== options || $[7] !== t) {
44
+ if ($[4] !== dispatchFields || $[5] !== getFields || $[6] !== onChange || $[7] !== options || $[8] !== t) {
42
45
  let t3;
43
- if ($[9] !== dispatchFields || $[10] !== getFields || $[11] !== onChange) {
46
+ if ($[10] !== dispatchFields || $[11] !== getFields || $[12] !== onChange) {
44
47
  t3 = selected => onChange({
45
48
  dispatchFields,
46
49
  formState: getFields(),
47
50
  selected
48
51
  });
49
- $[9] = dispatchFields;
50
- $[10] = getFields;
51
- $[11] = onChange;
52
- $[12] = t3;
52
+ $[10] = dispatchFields;
53
+ $[11] = getFields;
54
+ $[12] = onChange;
55
+ $[13] = t3;
53
56
  } else {
54
- t3 = $[12];
57
+ t3 = $[13];
55
58
  }
56
59
  t2 = _jsxs("div", {
57
60
  className: baseClass,
@@ -64,14 +67,14 @@ export const FieldSelect = t0 => {
64
67
  options
65
68
  })]
66
69
  });
67
- $[3] = dispatchFields;
68
- $[4] = getFields;
69
- $[5] = onChange;
70
- $[6] = options;
71
- $[7] = t;
72
- $[8] = t2;
70
+ $[4] = dispatchFields;
71
+ $[5] = getFields;
72
+ $[6] = onChange;
73
+ $[7] = options;
74
+ $[8] = t;
75
+ $[9] = t2;
73
76
  } else {
74
- t2 = $[8];
77
+ t2 = $[9];
75
78
  }
76
79
  return t2;
77
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useState","FieldLabel","useForm","useTranslation","filterOutUploadFields","ReactSelect","reduceFieldOptions","baseClass","FieldSelect","t0","$","fields","onChange","t","dispatchFields","getFields","t1","formState","options","t2","t3","selected","_jsxs","className","children","_jsx","label","getOptionValue","_temp","isMulti","option","value","String","path"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPathClient, FormState } from 'payload'\n\nimport React, { useState } from 'react'\n\nimport type { FieldAction } from '../../forms/Form/types.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { filterOutUploadFields } from '../../utilities/filterOutUploadFields.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { reduceFieldOptions } from './reduceFieldOptions.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type OnFieldSelect = ({\n dispatchFields,\n formState,\n selected,\n}: {\n dispatchFields: React.Dispatch<FieldAction>\n formState: FormState\n selected: FieldOption[]\n}) => void\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly onChange: OnFieldSelect\n}\n\nexport type FieldOption = { Label: React.ReactNode; value: FieldWithPathClient }\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, onChange }) => {\n const { t } = useTranslation()\n const { dispatchFields, getFields } = useForm()\n\n const [options] = useState<FieldOption[]>(() =>\n reduceFieldOptions({ fields: filterOutUploadFields(fields), formState: getFields() }),\n )\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={(selected: FieldOption[]) =>\n onChange({ dispatchFields, formState: getFields(), selected })\n }\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAIhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,WAAW,QAAQ;AAC5B,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAmBlB,OAAO,MAAMC,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EAC1E;IAAAI;EAAA,IAAcV,cAAA;EACd;IAAAW,cAAA;IAAAC;EAAA,IAAsCb,OAAA;EAAA,IAAAc,EAAA;EAAA,IAAAN,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAK,SAAA;IAEIC,EAAA,GAAAA,CAAA,KACxCV,kBAAA;MAAAK,MAAA,EAA6BP,qBAAA,CAAsBO,MAAA;MAAAM,SAAA,EAAoBF,SAAA;IAAA,CAAY;IAAAL,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAK,SAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EADrF,OAAAQ,OAAA,IAAkBlB,QAAA,CAAwBgB,EAC2C;EAAA,IAAAG,EAAA;EAAA,IAAAT,CAAA,QAAAI,cAAA,IAAAJ,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,OAAA,IAAAR,CAAA,QAAAG,CAAA;IAAA,IAAAO,EAAA;IAAA,IAAAV,CAAA,QAAAI,cAAA,IAAAJ,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAE,QAAA;MAcrEQ,EAAA,GAAAC,QAAA,IACRT,QAAA;QAAAE,cAAA;QAAAG,SAAA,EAAsCF,SAAA;QAAAM;MAAA,CAAsB;MAAAX,CAAA,MAAAI,cAAA;MAAAJ,CAAA,OAAAK,SAAA;MAAAL,CAAA,OAAAE,QAAA;MAAAF,CAAA,OAAAU,EAAA;IAAA;MAAAA,EAAA,GAAAV,CAAA;IAAA;IAXlES,EAAA,GAAAG,KAAA,CAAC;MAAAC,SAAA,EAAAhB,SAAA;MAAAiB,QAAA,GACCC,IAAA,CAAAxB,UAAA;QAAAyB,KAAA,EAAmBb,CAAA,CAAE;MAAA,C,GACrBY,IAAA,CAAApB,WAAA;QAAAsB,cAAA,EAAAC,KAAA;QAAAC,OAAA;QAAAjB,QAAA,EAQYQ,EACoD;QAAAF;MAAA,C;;;;;;;;;;;SAXlEC,E;CAiBJ;AA1BuD,SAAAS,MAAAE,MAAA;EAAA,IAazC,OAAOA,MAAA,CAAAC,KAAA,KAAiB,YAAY,UAAUD,MAAA,CAAAC,KAAY;IAAA,OACrDC,MAAA,CAAOF,MAAA,CAAAC,KAAA,CAAAE,IAAiB;EAAA;EAAA,OAE1BD,MAAA,CAAOF,MAAA,CAAAC,KAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useState","FieldLabel","useForm","useTranslation","filterOutUploadFields","ReactSelect","reduceFieldOptions","baseClass","FieldSelect","t0","$","fields","onChange","permissions","t","dispatchFields","getFields","t1","formState","options","t2","t3","selected","_jsxs","className","children","_jsx","label","getOptionValue","_temp","isMulti","option","value","String","path"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FormState, SanitizedFieldPermissions } from 'payload'\n\nimport React, { useState } from 'react'\n\nimport type { FieldAction } from '../../forms/Form/types.js'\nimport type { FieldOption } from './reduceFieldOptions.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { filterOutUploadFields } from '../../utilities/filterOutUploadFields.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { reduceFieldOptions } from './reduceFieldOptions.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type OnFieldSelect = ({\n dispatchFields,\n formState,\n selected,\n}: {\n dispatchFields: React.Dispatch<FieldAction>\n formState: FormState\n selected: FieldOption[]\n}) => void\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly onChange: OnFieldSelect\n readonly permissions:\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | SanitizedFieldPermissions\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, onChange, permissions }) => {\n const { t } = useTranslation()\n const { dispatchFields, getFields } = useForm()\n\n const [options] = useState<FieldOption[]>(() =>\n reduceFieldOptions({\n fields: filterOutUploadFields(fields),\n formState: getFields(),\n permissions,\n }),\n )\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={(selected: FieldOption[]) =>\n onChange({ dispatchFields, formState: getFields(), selected })\n }\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAKhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,WAAW,QAAQ;AAC5B,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAsBlB,OAAO,MAAMC,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAJ,EAAiC;EACvF;IAAAK;EAAA,IAAcX,cAAA;EACd;IAAAY,cAAA;IAAAC;EAAA,IAAsCd,OAAA;EAAA,IAAAe,EAAA;EAAA,IAAAP,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAG,WAAA;IAEII,EAAA,GAAAA,CAAA,KACxCX,kBAAA;MAAAK,MAAA,EACUP,qBAAA,CAAsBO,MAAA;MAAAO,SAAA,EACnBF,SAAA;MAAAH;IAAA,CAEb;IAAAH,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAM,SAAA;IAAAN,CAAA,MAAAG,WAAA;IAAAH,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EALF,OAAAS,OAAA,IAAkBnB,QAAA,CAAwBiB,EAKxC;EAAA,IAAAG,EAAA;EAAA,IAAAV,CAAA,QAAAK,cAAA,IAAAL,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAS,OAAA,IAAAT,CAAA,QAAAI,CAAA;IAAA,IAAAO,EAAA;IAAA,IAAAX,CAAA,SAAAK,cAAA,IAAAL,CAAA,SAAAM,SAAA,IAAAN,CAAA,SAAAE,QAAA;MAccS,EAAA,GAAAC,QAAA,IACRV,QAAA;QAAAG,cAAA;QAAAG,SAAA,EAAsCF,SAAA;QAAAM;MAAA,CAAsB;MAAAZ,CAAA,OAAAK,cAAA;MAAAL,CAAA,OAAAM,SAAA;MAAAN,CAAA,OAAAE,QAAA;MAAAF,CAAA,OAAAW,EAAA;IAAA;MAAAA,EAAA,GAAAX,CAAA;IAAA;IAXlEU,EAAA,GAAAG,KAAA,CAAC;MAAAC,SAAA,EAAAjB,SAAA;MAAAkB,QAAA,GACCC,IAAA,CAAAzB,UAAA;QAAA0B,KAAA,EAAmBb,CAAA,CAAE;MAAA,C,GACrBY,IAAA,CAAArB,WAAA;QAAAuB,cAAA,EAAAC,KAAA;QAAAC,OAAA;QAAAlB,QAAA,EAQYS,EACoD;QAAAF;MAAA,C;;;;;;;;;;;SAXlEC,E;CAiBJ;AA9BuD,SAAAS,MAAAE,MAAA;EAAA,IAiBzC,OAAOA,MAAA,CAAAC,KAAA,KAAiB,YAAY,UAAUD,MAAA,CAAAC,KAAY;IAAA,OACrDC,MAAA,CAAOF,MAAA,CAAAC,KAAA,CAAAE,IAAiB;EAAA;EAAA,OAE1BD,MAAA,CAAOF,MAAA,CAAAC,KAAY;AAAA","ignoreList":[]}
@@ -1,5 +1,7 @@
1
- import type { ClientField, FieldWithPathClient, FormState } from 'payload';
1
+ import type { ClientField, FormState, SanitizedFieldPermissions } from 'payload';
2
2
  export type SelectedField = {
3
+ field: ClientField;
4
+ fieldPermissions: SanitizedFieldPermissions;
3
5
  path: string;
4
6
  };
5
7
  export type FieldOption = {
@@ -7,13 +9,14 @@ export type FieldOption = {
7
9
  value: SelectedField;
8
10
  };
9
11
  export declare const ignoreFromBulkEdit: (field: ClientField) => boolean;
10
- export declare const reduceFieldOptions: ({ fields, formState, labelPrefix, path, }: {
11
- fields: ClientField[];
12
- formState?: FormState;
13
- labelPrefix?: React.ReactNode;
14
- path?: string;
15
- }) => {
16
- Label: React.ReactNode;
17
- value: FieldWithPathClient;
18
- }[];
12
+ export declare const reduceFieldOptions: ({ fields, formState, labelPrefix, parentPath, path, permissions, }: {
13
+ readonly fields: ClientField[];
14
+ readonly formState?: FormState;
15
+ readonly labelPrefix?: React.ReactNode;
16
+ readonly parentPath?: string;
17
+ readonly path?: string;
18
+ readonly permissions: {
19
+ [fieldName: string]: SanitizedFieldPermissions;
20
+ } | SanitizedFieldPermissions;
21
+ }) => FieldOption[];
19
22
  //# sourceMappingURL=reduceFieldOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldOptions.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAO1E,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,UAAW,WAAW,KAAG,OAOrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,8CAK5B;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,KAAG;IAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,EA2DzD,CAAA"}
1
+ {"version":3,"file":"reduceFieldOptions.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAYhF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAA;IAClB,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,UAAW,WAAW,KAAG,OAOrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,uEAO5B;IACD,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAChB;QACE,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAC/C,GACD,yBAAyB,CAAA;CAC9B,KAAG,WAAW,EA+Ed,CAAA"}