@payloadcms/ui 3.29.0-canary.5 → 3.29.0-canary.7
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/Autosave/index.js +1 -1
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +143 -127
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +5 -5
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +1 -5
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts +2 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +107 -118
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +6 -5
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts +12 -2
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +31 -48
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +2 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +5 -2
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +3 -3
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +24 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +25 -23
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +1 -1
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/exports/client/index.js +23 -23
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +2 -2
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +4 -3
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +5 -4
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +4 -3
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +4 -3
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +3 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +13 -11
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +5 -4
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +3 -2
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/index.scss +12 -6
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +5 -4
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +6 -5
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +2 -4
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +4 -3
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +4 -3
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +5 -4
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +1 -1
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +4 -3
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +4 -3
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +2 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +2 -1
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +1 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +70 -67
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +1 -0
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/{formatDate.d.ts → formatDocTitle/formatDateTitle.d.ts} +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -0
- package/dist/utilities/{formatDate.js → formatDocTitle/formatDateTitle.js} +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -0
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts +19 -0
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts.map +1 -0
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +19 -0
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -0
- package/dist/utilities/{formatDocTitle.d.ts → formatDocTitle/index.d.ts} +2 -2
- package/dist/utilities/formatDocTitle/index.d.ts.map +1 -0
- package/dist/utilities/{formatDocTitle.js → formatDocTitle/index.js} +11 -3
- package/dist/utilities/formatDocTitle/index.js.map +1 -0
- package/dist/views/Edit/SetDocumentTitle/index.js +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/utilities/formatDate.d.ts.map +0 -1
- package/dist/utilities/formatDate.js.map +0 -1
- package/dist/utilities/formatDocTitle.d.ts.map +0 -1
- package/dist/utilities/formatDocTitle.js.map +0 -1
|
@@ -15,7 +15,7 @@ import { useDocumentForm, useForm, useFormFields, useFormInitializing, useFormMo
|
|
|
15
15
|
* @see https://payloadcms.com/docs/admin/react-hooks#usefield
|
|
16
16
|
*/
|
|
17
17
|
export const useField = options => {
|
|
18
|
-
const $ = _c(
|
|
18
|
+
const $ = _c(62);
|
|
19
19
|
const {
|
|
20
20
|
disableFormData: t0,
|
|
21
21
|
hasRows,
|
|
@@ -111,33 +111,35 @@ export const useField = options => {
|
|
|
111
111
|
const setValue = t3;
|
|
112
112
|
let t4;
|
|
113
113
|
const t5 = field?.customComponents;
|
|
114
|
-
const t6 =
|
|
115
|
-
|
|
114
|
+
const t6 = processing || initializing;
|
|
115
|
+
const t7 = field?.errorMessage;
|
|
116
|
+
let t8;
|
|
116
117
|
if ($[11] !== field?.errorPaths) {
|
|
117
|
-
|
|
118
|
+
t8 = field?.errorPaths || [];
|
|
118
119
|
$[11] = field?.errorPaths;
|
|
119
|
-
$[12] =
|
|
120
|
+
$[12] = t8;
|
|
120
121
|
} else {
|
|
121
|
-
|
|
122
|
+
t8 = $[12];
|
|
122
123
|
}
|
|
123
|
-
const
|
|
124
|
-
const
|
|
125
|
-
let
|
|
126
|
-
if ($[13] !== filterOptions || $[14] !== initialValue || $[15] !== initializing || $[16] !== path || $[17] !== processing || $[18] !== setValue || $[19] !== showError || $[20] !== submitted || $[21] !==
|
|
127
|
-
|
|
124
|
+
const t9 = field?.rows;
|
|
125
|
+
const t10 = field?.valid;
|
|
126
|
+
let t11;
|
|
127
|
+
if ($[13] !== filterOptions || $[14] !== initialValue || $[15] !== initializing || $[16] !== path || $[17] !== processing || $[18] !== setValue || $[19] !== showError || $[20] !== submitted || $[21] !== t10 || $[22] !== t5 || $[23] !== t6 || $[24] !== t7 || $[25] !== t8 || $[26] !== t9 || $[27] !== value) {
|
|
128
|
+
t11 = {
|
|
128
129
|
customComponents: t5,
|
|
129
|
-
|
|
130
|
-
|
|
130
|
+
disabled: t6,
|
|
131
|
+
errorMessage: t7,
|
|
132
|
+
errorPaths: t8,
|
|
131
133
|
filterOptions,
|
|
132
134
|
formInitializing: initializing,
|
|
133
135
|
formProcessing: processing,
|
|
134
136
|
formSubmitted: submitted,
|
|
135
137
|
initialValue,
|
|
136
138
|
path,
|
|
137
|
-
rows:
|
|
139
|
+
rows: t9,
|
|
138
140
|
setValue,
|
|
139
141
|
showError,
|
|
140
|
-
valid:
|
|
142
|
+
valid: t10,
|
|
141
143
|
value
|
|
142
144
|
};
|
|
143
145
|
$[13] = filterOptions;
|
|
@@ -148,21 +150,22 @@ export const useField = options => {
|
|
|
148
150
|
$[18] = setValue;
|
|
149
151
|
$[19] = showError;
|
|
150
152
|
$[20] = submitted;
|
|
151
|
-
$[21] =
|
|
152
|
-
$[22] =
|
|
153
|
-
$[23] =
|
|
154
|
-
$[24] =
|
|
155
|
-
$[25] =
|
|
156
|
-
$[26] =
|
|
157
|
-
$[27] =
|
|
153
|
+
$[21] = t10;
|
|
154
|
+
$[22] = t5;
|
|
155
|
+
$[23] = t6;
|
|
156
|
+
$[24] = t7;
|
|
157
|
+
$[25] = t8;
|
|
158
|
+
$[26] = t9;
|
|
159
|
+
$[27] = value;
|
|
160
|
+
$[28] = t11;
|
|
158
161
|
} else {
|
|
159
|
-
|
|
162
|
+
t11 = $[28];
|
|
160
163
|
}
|
|
161
|
-
t4 =
|
|
164
|
+
t4 = t11;
|
|
162
165
|
const result = t4;
|
|
163
|
-
let
|
|
164
|
-
if ($[
|
|
165
|
-
|
|
166
|
+
let t12;
|
|
167
|
+
if ($[29] !== collectionSlug || $[30] !== config || $[31] !== disableFormData || $[32] !== dispatchField || $[33] !== documentForm || $[34] !== field || $[35] !== getData || $[36] !== getDataByPath || $[37] !== getSiblingData || $[38] !== hasRows || $[39] !== id || $[40] !== operation || $[41] !== path || $[42] !== pathSegments || $[43] !== t || $[44] !== user || $[45] !== validate || $[46] !== value) {
|
|
168
|
+
t12 = () => {
|
|
166
169
|
const validateField = async () => {
|
|
167
170
|
let valueToValidate = value;
|
|
168
171
|
if (field?.rows && Array.isArray(field.rows)) {
|
|
@@ -220,50 +223,50 @@ export const useField = options => {
|
|
|
220
223
|
};
|
|
221
224
|
validateField();
|
|
222
225
|
};
|
|
223
|
-
$[
|
|
224
|
-
$[
|
|
225
|
-
$[
|
|
226
|
-
$[
|
|
227
|
-
$[
|
|
228
|
-
$[
|
|
229
|
-
$[
|
|
230
|
-
$[
|
|
231
|
-
$[
|
|
232
|
-
$[
|
|
233
|
-
$[
|
|
234
|
-
$[
|
|
235
|
-
$[
|
|
236
|
-
$[
|
|
237
|
-
$[
|
|
238
|
-
$[
|
|
239
|
-
$[
|
|
240
|
-
$[
|
|
241
|
-
$[
|
|
226
|
+
$[29] = collectionSlug;
|
|
227
|
+
$[30] = config;
|
|
228
|
+
$[31] = disableFormData;
|
|
229
|
+
$[32] = dispatchField;
|
|
230
|
+
$[33] = documentForm;
|
|
231
|
+
$[34] = field;
|
|
232
|
+
$[35] = getData;
|
|
233
|
+
$[36] = getDataByPath;
|
|
234
|
+
$[37] = getSiblingData;
|
|
235
|
+
$[38] = hasRows;
|
|
236
|
+
$[39] = id;
|
|
237
|
+
$[40] = operation;
|
|
238
|
+
$[41] = path;
|
|
239
|
+
$[42] = pathSegments;
|
|
240
|
+
$[43] = t;
|
|
241
|
+
$[44] = user;
|
|
242
|
+
$[45] = validate;
|
|
243
|
+
$[46] = value;
|
|
244
|
+
$[47] = t12;
|
|
242
245
|
} else {
|
|
243
|
-
|
|
246
|
+
t12 = $[47];
|
|
244
247
|
}
|
|
245
|
-
const
|
|
246
|
-
let
|
|
247
|
-
if ($[
|
|
248
|
-
|
|
249
|
-
$[
|
|
250
|
-
$[
|
|
251
|
-
$[
|
|
252
|
-
$[
|
|
253
|
-
$[
|
|
254
|
-
$[
|
|
255
|
-
$[
|
|
256
|
-
$[
|
|
257
|
-
$[
|
|
258
|
-
$[
|
|
259
|
-
$[
|
|
260
|
-
$[
|
|
261
|
-
$[
|
|
262
|
-
$[
|
|
248
|
+
const t13 = field?.rows;
|
|
249
|
+
let t14;
|
|
250
|
+
if ($[48] !== collectionSlug || $[49] !== disableFormData || $[50] !== dispatchField || $[51] !== getData || $[52] !== getDataByPath || $[53] !== getSiblingData || $[54] !== id || $[55] !== operation || $[56] !== path || $[57] !== t13 || $[58] !== user || $[59] !== validate || $[60] !== value) {
|
|
251
|
+
t14 = [value, disableFormData, dispatchField, getData, getSiblingData, getDataByPath, id, operation, path, user, validate, t13, collectionSlug];
|
|
252
|
+
$[48] = collectionSlug;
|
|
253
|
+
$[49] = disableFormData;
|
|
254
|
+
$[50] = dispatchField;
|
|
255
|
+
$[51] = getData;
|
|
256
|
+
$[52] = getDataByPath;
|
|
257
|
+
$[53] = getSiblingData;
|
|
258
|
+
$[54] = id;
|
|
259
|
+
$[55] = operation;
|
|
260
|
+
$[56] = path;
|
|
261
|
+
$[57] = t13;
|
|
262
|
+
$[58] = user;
|
|
263
|
+
$[59] = validate;
|
|
264
|
+
$[60] = value;
|
|
265
|
+
$[61] = t14;
|
|
263
266
|
} else {
|
|
264
|
-
|
|
267
|
+
t14 = $[61];
|
|
265
268
|
}
|
|
266
|
-
useThrottledEffect(
|
|
269
|
+
useThrottledEffect(t12, 150, t14);
|
|
267
270
|
return result;
|
|
268
271
|
};
|
|
269
272
|
function _temp(t0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useDocumentForm","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","$","disableFormData","t0","hasRows","path","validate","undefined","submitted","processing","initializing","user","id","collectionSlug","operation","dispatchField","_temp","t1","t2","fields","field","t","config","getData","getDataByPath","getSiblingData","setModified","documentForm","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","split","pathSegments","t3","e","t4","disableModifyingForm","val","target","type","setTimeout","setValue","t5","customComponents","t6","t7","errorPaths","t8","rows","t9","t10","formInitializing","formProcessing","formSubmitted","result","t11","validateField","valueToValidate","Array","isArray","current","valid_0","data","isValid","blockData","event","preferences","req","payload","siblingData","update","t12","t13","dispatch"],"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport {\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#usefield\n */\nexport const useField = <TValue,>(options: Options): FieldType<TValue> => {\n const { disableFormData = false, hasRows, path, validate } = options\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id, collectionSlug } = useDocumentInfo()\n const operation = useOperation()\n\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const documentForm = useDocumentForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as TValue\n const initialValue = field?.initialValue as TValue\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n const pathSegments = path ? path.split('.') : []\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<TValue> = useMemo(\n () => ({\n customComponents: field?.customComponents,\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n rows: field?.rows,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined = prevErrorMessage.current\n let valid: boolean | string = prevValid.current\n\n const data = getData()\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n collectionSlug,\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'onChange',\n operation,\n path: pathSegments,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: getSiblingData(path),\n })\n : typeof prevErrorMessage.current === 'string'\n ? prevErrorMessage.current\n : prevValid.current\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n collectionSlug,\n ],\n )\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useDocumentForm","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","$","disableFormData","t0","hasRows","path","validate","undefined","submitted","processing","initializing","user","id","collectionSlug","operation","dispatchField","_temp","t1","t2","fields","field","t","config","getData","getDataByPath","getSiblingData","setModified","documentForm","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","split","pathSegments","t3","e","t4","disableModifyingForm","val","target","type","setTimeout","setValue","t5","customComponents","t6","t7","t8","errorPaths","t9","rows","t10","t11","disabled","formInitializing","formProcessing","formSubmitted","result","t12","validateField","valueToValidate","Array","isArray","current","valid_0","data","isValid","blockData","event","preferences","req","payload","siblingData","update","t13","t14","dispatch"],"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport {\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#usefield\n */\nexport const useField = <TValue,>(options: Options): FieldType<TValue> => {\n const { disableFormData = false, hasRows, path, validate } = options\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id, collectionSlug } = useDocumentInfo()\n const operation = useOperation()\n\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const documentForm = useDocumentForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as TValue\n const initialValue = field?.initialValue as TValue\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n const pathSegments = path ? path.split('.') : []\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<TValue> = useMemo(\n () => ({\n customComponents: field?.customComponents,\n disabled: processing || initializing,\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n rows: field?.rows,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined = prevErrorMessage.current\n let valid: boolean | string = prevValid.current\n\n const data = getData()\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n collectionSlug,\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'onChange',\n operation,\n path: pathSegments,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: getSiblingData(path),\n })\n : typeof prevErrorMessage.current === 'string'\n ? prevErrorMessage.current\n : prevValid.current\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n collectionSlug,\n ],\n )\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE7E,MAAM,MAAM,OAAO,GAAG;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,gBAAgB,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAA;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAA;CACT,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE7E,MAAM,MAAM,OAAO,GAAG;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,gBAAgB,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAA;IACjD,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,CAAC,CAAA;CACT,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { FieldState, FilterOptionsResult, Row, Validate } from 'payload'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n path: string\n validate?: Validate\n}\n\nexport type FieldType<T> = {\n customComponents?: FieldState['customComponents']\n errorMessage?: string\n errorPaths?: string[]\n filterOptions?: FilterOptionsResult\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n readOnly?: boolean\n rows?: Row[]\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n valid?: boolean\n value: T\n}\n"],"mappings":"AASA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { FieldState, FilterOptionsResult, Row, Validate } from 'payload'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n path: string\n validate?: Validate\n}\n\nexport type FieldType<T> = {\n customComponents?: FieldState['customComponents']\n disabled: boolean\n errorMessage?: string\n errorPaths?: string[]\n filterOptions?: FilterOptionsResult\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n readOnly?: boolean\n rows?: Row[]\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n valid?: boolean\n value: T\n}\n"],"mappings":"AASA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgF,MAAM,OAAO,CAAA;AAEpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAAmC,CAAA;AA+UtE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
|
|
@@ -5,7 +5,7 @@ import * as qs from 'qs-esm';
|
|
|
5
5
|
import React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
6
6
|
import { useAuth } from '../../providers/Auth/index.js';
|
|
7
7
|
import { requests } from '../../utilities/api.js';
|
|
8
|
-
import { formatDocTitle } from '../../utilities/formatDocTitle.js';
|
|
8
|
+
import { formatDocTitle } from '../../utilities/formatDocTitle/index.js';
|
|
9
9
|
import { useConfig } from '../Config/index.js';
|
|
10
10
|
import { useLocale, useLocaleLoading } from '../Locale/index.js';
|
|
11
11
|
import { usePreferences } from '../Preferences/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","useLocaleLoading","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","uploadStatus","setUploadStatus","updateUploadStatus","status","getPreference","setPreference","code","locale","localeIsLoading","isInitializing","undefined","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","newCount","versions","maxPerDoc","Math","min","max","updateSavedDocumentData","re1","current","abort","_err","action","docURL","params","depth","addQueryPrefix","title","_jsx","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, DocumentPreferences, SanitizedDocumentPermissions } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, {\n createContext,\n use,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale, useLocaleLoading } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => use(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n const [uploadStatus, setUploadStatus] = useState<'failed' | 'idle' | 'uploading'>('idle')\n\n const updateUploadStatus = useCallback((status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n }, [])\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n const { localeIsLoading } = useLocaleLoading()\n\n const isInitializing = useMemo(\n () => initialState === undefined || initialData === undefined || localeIsLoading,\n [initialData, initialState, localeIsLoading],\n )\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n const newCount = versionCount + 1\n if (collectionConfig && collectionConfig.versions) {\n if (collectionConfig.versions.maxPerDoc > 0) {\n setVersionCount(Math.min(newCount, collectionConfig.versions.maxPerDoc))\n } else {\n setVersionCount(newCount)\n }\n } else if (globalConfig && globalConfig.versions) {\n if (globalConfig.versions.max > 0) {\n setVersionCount(Math.min(newCount, globalConfig.versions.max))\n } else {\n setVersionCount(newCount)\n }\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n uploadStatus,\n versionCount,\n }\n\n return <Context value={value}>{children}</Context>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","useLocaleLoading","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","uploadStatus","setUploadStatus","updateUploadStatus","status","getPreference","setPreference","code","locale","localeIsLoading","isInitializing","undefined","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","newCount","versions","maxPerDoc","Math","min","max","updateSavedDocumentData","re1","current","abort","_err","action","docURL","params","depth","addQueryPrefix","title","_jsx","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, DocumentPreferences, SanitizedDocumentPermissions } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale, useLocaleLoading } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => use(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n const [uploadStatus, setUploadStatus] = useState<'failed' | 'idle' | 'uploading'>('idle')\n\n const updateUploadStatus = useCallback((status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n }, [])\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n const { localeIsLoading } = useLocaleLoading()\n\n const isInitializing = useMemo(\n () => initialState === undefined || initialData === undefined || localeIsLoading,\n [initialData, initialState, localeIsLoading],\n )\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n const newCount = versionCount + 1\n if (collectionConfig && collectionConfig.versions) {\n if (collectionConfig.versions.maxPerDoc > 0) {\n setVersionCount(Math.min(newCount, collectionConfig.versions.maxPerDoc))\n } else {\n setVersionCount(newCount)\n }\n } else if (globalConfig && globalConfig.versions) {\n if (globalConfig.versions.max > 0) {\n setVersionCount(Math.min(newCount, globalConfig.versions.max))\n } else {\n setVersionCount(newCount)\n }\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n uploadStatus,\n versionCount,\n }\n\n return <Context value={value}>{children}</Context>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|