@payloadcms/ui 3.0.0-beta.103 → 3.0.0-beta.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/DeleteDocument/index.d.ts +9 -6
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +40 -8
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +8 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +26 -8
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +97 -35
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +5 -0
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/Drawer/index.d.ts +1 -0
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +2 -2
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts +6 -3
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +101 -151
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +4 -2
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/SelectRow/index.js +29 -20
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +0 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
- package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +6 -3
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +2 -2
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +5 -5
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +0 -3
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.scss +13 -0
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +31 -36
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +141 -4
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +48 -41
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +32 -37
- 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 +28 -32
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +7 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +0 -2
- 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 +35 -40
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/types.d.ts +2 -2
- package/dist/fields/Password/types.d.ts.map +1 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +1 -0
- 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 +34 -39
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts +4 -4
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +64 -19
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +17 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +11 -4
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Row/index.scss +12 -2
- package/dist/fields/Select/Input.d.ts +2 -2
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +0 -2
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +0 -2
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +2 -2
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +0 -2
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +2 -2
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts +2 -2
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +11 -12
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +14 -17
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.js +31 -11
- package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +18 -1
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +43 -29
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +6 -6
|
@@ -42,9 +42,25 @@ export const createClientField = ({
|
|
|
42
42
|
const CustomLabel = 'admin' in incomingField && 'components' in incomingField.admin && 'Label' in incomingField.admin.components && incomingField.admin.components.Label;
|
|
43
43
|
const serverProps = {
|
|
44
44
|
serverProps: {
|
|
45
|
+
clientField: undefined,
|
|
45
46
|
field: incomingField
|
|
46
47
|
}
|
|
47
48
|
};
|
|
49
|
+
if ('admin' in incomingField && 'width' in incomingField.admin) {
|
|
50
|
+
clientField.admin.style = {
|
|
51
|
+
...clientField.admin.style,
|
|
52
|
+
'--field-width': clientField.admin.width,
|
|
53
|
+
width: undefined
|
|
54
|
+
};
|
|
55
|
+
} else {
|
|
56
|
+
if (!(clientField.admin instanceof Object)) {
|
|
57
|
+
clientField.admin = {};
|
|
58
|
+
}
|
|
59
|
+
if (!(clientField.admin.style instanceof Object)) {
|
|
60
|
+
clientField.admin.style = {};
|
|
61
|
+
}
|
|
62
|
+
clientField.admin.style.flex = '1 1 auto';
|
|
63
|
+
}
|
|
48
64
|
switch (incomingField.type) {
|
|
49
65
|
case 'array':
|
|
50
66
|
case 'group':
|
|
@@ -223,6 +239,12 @@ export const createClientField = ({
|
|
|
223
239
|
delete clientField.admin[key];
|
|
224
240
|
}
|
|
225
241
|
});
|
|
242
|
+
const fieldServerProps = {
|
|
243
|
+
serverProps: {
|
|
244
|
+
clientField,
|
|
245
|
+
field: incomingField
|
|
246
|
+
}
|
|
247
|
+
};
|
|
226
248
|
if (incomingField.admin && 'description' in incomingField.admin) {
|
|
227
249
|
if (typeof incomingField.admin?.description === 'string' || typeof incomingField.admin?.description === 'object') {
|
|
228
250
|
clientField.admin.description = incomingField.admin.description;
|
|
@@ -233,28 +255,28 @@ export const createClientField = ({
|
|
|
233
255
|
}
|
|
234
256
|
}
|
|
235
257
|
if (incomingField?.admin?.components?.Cell !== undefined) {
|
|
236
|
-
clientField.admin.components.Cell = createMappedComponent(incomingField.admin.components.Cell,
|
|
258
|
+
clientField.admin.components.Cell = createMappedComponent(incomingField.admin.components.Cell, fieldServerProps, undefined, 'incomingField.admin.components.Cell');
|
|
237
259
|
}
|
|
238
260
|
if (incomingField?.admin?.components && 'Description' in incomingField.admin.components && incomingField?.admin?.components?.Description !== undefined) {
|
|
239
|
-
clientField.admin.components.Description = createMappedComponent(incomingField.admin.components.Description,
|
|
261
|
+
clientField.admin.components.Description = createMappedComponent(incomingField.admin.components.Description, fieldServerProps, undefined, 'incomingField.admin.components.Description');
|
|
240
262
|
}
|
|
241
263
|
if (incomingField?.admin?.components && 'Error' in incomingField.admin.components && incomingField.admin.components.Error !== undefined) {
|
|
242
|
-
clientField.admin.components.Error = createMappedComponent(incomingField.admin.components.Error,
|
|
264
|
+
clientField.admin.components.Error = createMappedComponent(incomingField.admin.components.Error, fieldServerProps, undefined, 'incomingField.admin.components.Error');
|
|
243
265
|
}
|
|
244
266
|
if (incomingField?.admin?.components?.Field !== undefined) {
|
|
245
|
-
clientField.admin.components.Field = createMappedComponent(incomingField.admin.components.Field,
|
|
267
|
+
clientField.admin.components.Field = createMappedComponent(incomingField.admin.components.Field, fieldServerProps, undefined, 'incomingField.admin.components.Field');
|
|
246
268
|
}
|
|
247
269
|
if (incomingField?.admin?.components && 'Filter' in incomingField.admin.components && incomingField.admin.components.Filter !== undefined) {
|
|
248
|
-
clientField.admin.components.Filter = createMappedComponent(incomingField.admin.components.Filter,
|
|
270
|
+
clientField.admin.components.Filter = createMappedComponent(incomingField.admin.components.Filter, fieldServerProps, undefined, 'incomingField.admin.components.Filter');
|
|
249
271
|
}
|
|
250
272
|
if (incomingField?.admin?.components && 'Label' in incomingField.admin.components && incomingField.admin.components.Label !== undefined) {
|
|
251
|
-
clientField.admin.components.Label = createMappedComponent(CustomLabel,
|
|
273
|
+
clientField.admin.components.Label = createMappedComponent(CustomLabel, fieldServerProps, undefined, 'incomingField.admin.components.Label');
|
|
252
274
|
}
|
|
253
275
|
if (incomingField?.admin?.components && 'beforeInput' in incomingField.admin.components && incomingField.admin.components.beforeInput !== undefined) {
|
|
254
|
-
clientField.admin.components.beforeInput = createMappedComponent(incomingField.admin?.components?.beforeInput,
|
|
276
|
+
clientField.admin.components.beforeInput = createMappedComponent(incomingField.admin?.components?.beforeInput, fieldServerProps, undefined, 'incomingField.admin.components.beforeInput');
|
|
255
277
|
}
|
|
256
278
|
if (incomingField?.admin?.components && 'afterInput' in incomingField.admin.components && incomingField.admin.components.afterInput !== undefined) {
|
|
257
|
-
clientField.admin.components.afterInput = createMappedComponent(incomingField.admin?.components?.afterInput,
|
|
279
|
+
clientField.admin.components.afterInput = createMappedComponent(incomingField.admin?.components?.afterInput, fieldServerProps, undefined, 'incomingField.admin.components.afterInput');
|
|
258
280
|
}
|
|
259
281
|
return clientField;
|
|
260
282
|
};
|
|
@@ -281,9 +303,7 @@ export const createClientFields = ({
|
|
|
281
303
|
payload
|
|
282
304
|
});
|
|
283
305
|
if (newField) {
|
|
284
|
-
newClientFields.push(
|
|
285
|
-
...newField
|
|
286
|
-
});
|
|
306
|
+
newClientFields.push(newField);
|
|
287
307
|
}
|
|
288
308
|
}
|
|
289
309
|
const hasID = newClientFields.findIndex(f => fieldAffectsData(f) && f.name === 'id') > -1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","names":["MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","getComponent","generateFieldPath","parentPath","name","tabPath","createClientField","clientField","createMappedComponent","field","incomingField","i18n","importMap","payload","serverOnlyFieldProperties","forEach","key","_isPresentational","isHidden","hidden","disabledFromAdmin","admin","disabled","_schemaPath","label","t","CustomLabel","components","Label","serverProps","type","fields","createClientFields","clientFields","disableAddingID","RowLabel","undefined","blocks","length","i","block","clientBlock","slug","custom","imageAltText","imageURL","labels","singular","plural","editor","Error","Field","FieldComponent","Cell","CellComponent","generateComponentMap","Component","richTextServerProps","identifier","payloadComponent","silent","actualGenerateComponentMap","result","schemaPath","richTextComponentMap","tabs","tab","clientTab","options","option","value","serverOnlyFieldAdminProperties","description","Description","Filter","beforeInput","afterInput","newClientFields","newField","push","hasID","findIndex","f","db","defaultIDType","disableBulkEdit","localized"],"sources":["../../../../src/providers/Config/createClientConfig/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminClient,\n ArrayFieldClient,\n BlockFieldClient,\n ClientBlock,\n ClientField,\n CreateMappedComponent,\n Field,\n FieldLabelClientComponent,\n FieldLabelServerComponent,\n ImportMap,\n LabelsClient,\n MappedComponent,\n Payload,\n RadioFieldClient,\n RichTextFieldClient,\n RichTextGenerateComponentMap,\n RowFieldClient,\n RowLabelComponent,\n SelectFieldClient,\n ServerOnlyFieldAdminProperties,\n ServerOnlyFieldProperties,\n TabsFieldClient,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\n\nimport { getComponent } from './getComponent.js'\n\nfunction generateFieldPath(parentPath: string, name: string): string {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const createClientField = ({\n clientField,\n createMappedComponent,\n field: incomingField,\n i18n,\n importMap,\n parentPath,\n payload,\n}: {\n clientField: ClientField\n createMappedComponent: CreateMappedComponent\n field: Field\n i18n: I18nClient\n importMap: ImportMap\n parentPath?: string\n payload: Payload\n}): ClientField => {\n const serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n 'typescriptSchema',\n 'dbName', // can be a function\n 'enumName', // can be a function\n // the following props are handled separately (see below):\n // `label`\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n ]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in clientField) {\n delete clientField[key]\n }\n })\n\n if (fieldIsPresentationalOnly(incomingField)) {\n clientField._isPresentational = true\n }\n\n const isHidden = 'hidden' in incomingField && incomingField?.hidden\n const disabledFromAdmin =\n incomingField?.admin && 'disabled' in incomingField.admin && incomingField.admin.disabled\n\n if (fieldAffectsData(clientField) && (isHidden || disabledFromAdmin)) {\n return null\n }\n\n clientField._schemaPath = generateFieldPath(\n parentPath,\n fieldAffectsData(clientField) ? clientField.name : '',\n )\n\n if (\n 'label' in clientField &&\n 'label' in incomingField &&\n typeof incomingField.label === 'function'\n ) {\n clientField.label = incomingField.label({ t: i18n.t })\n }\n\n const CustomLabel: FieldLabelClientComponent | FieldLabelServerComponent | RowLabelComponent =\n 'admin' in incomingField &&\n 'components' in incomingField.admin &&\n 'Label' in incomingField.admin.components &&\n incomingField.admin.components.Label\n\n const serverProps = { serverProps: { field: incomingField } }\n\n switch (incomingField.type) {\n case 'array':\n case 'group':\n case 'collapsible':\n case 'row': {\n const field = clientField as unknown as RowFieldClient\n\n field.fields = createClientFields({\n clientFields: field.fields,\n createMappedComponent,\n disableAddingID: incomingField.type !== 'array',\n fields: incomingField.fields,\n i18n,\n importMap,\n parentPath: field._schemaPath,\n payload,\n })\n\n if (incomingField?.admin?.components && 'RowLabel' in incomingField.admin.components) {\n ;(field as unknown as ArrayFieldClient).admin.components.RowLabel = createMappedComponent(\n incomingField.admin.components.RowLabel,\n serverProps,\n undefined,\n 'incomingField.admin.components.RowLabel',\n )\n }\n\n break\n }\n\n case 'blocks': {\n const field = clientField as unknown as BlockFieldClient\n\n if (incomingField.blocks?.length) {\n for (let i = 0; i < incomingField.blocks.length; i++) {\n const block = incomingField.blocks[i]\n const clientBlock: ClientBlock = {\n slug: block.slug,\n admin: {\n components: {},\n custom: block.admin?.custom,\n },\n fields: field.blocks[i].fields,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n }\n\n if (block.labels) {\n clientBlock.labels = {} as unknown as LabelsClient\n if (block.labels.singular) {\n if (typeof block.labels.singular === 'function') {\n clientBlock.labels.singular = block.labels.singular({ t: i18n.t })\n } else {\n clientBlock.labels.singular = block.labels.singular\n }\n if (typeof block.labels.plural === 'function') {\n clientBlock.labels.plural = block.labels.plural({ t: i18n.t })\n } else {\n clientBlock.labels.plural = block.labels.plural\n }\n }\n }\n\n if (block.admin?.components?.Label) {\n clientBlock.admin.components.Label = createMappedComponent(\n block.admin.components.Label,\n serverProps,\n undefined,\n 'block.admin.components.Label',\n )\n }\n\n clientBlock.fields = createClientFields({\n clientFields: clientBlock.fields,\n createMappedComponent,\n fields: block.fields,\n i18n,\n importMap,\n parentPath: `${field._schemaPath}.${block.slug}`,\n payload,\n })\n\n field.blocks[i] = clientBlock\n }\n }\n\n break\n }\n\n case 'richText': {\n const field = clientField\n\n if (!incomingField?.editor) {\n throw new MissingEditorProp(incomingField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof incomingField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n if (!field.admin.components) {\n field.admin.components = {}\n }\n\n field.admin.components.Field = createMappedComponent(\n incomingField.editor.FieldComponent,\n serverProps,\n undefined,\n 'incomingField.editor.FieldComponent',\n )\n\n field.admin.components.Cell = createMappedComponent(\n incomingField.editor.CellComponent,\n serverProps,\n undefined,\n 'incomingField.editor.CellComponent',\n )\n\n if (incomingField.editor.generateComponentMap) {\n const { Component: generateComponentMap, serverProps: richTextServerProps } = getComponent({\n identifier: 'richText-generateComponentMap',\n importMap,\n payloadComponent: incomingField.editor.generateComponentMap,\n silent: true,\n })\n\n if (generateComponentMap) {\n const actualGenerateComponentMap: RichTextGenerateComponentMap = (\n generateComponentMap as any\n )(richTextServerProps)\n\n const result = actualGenerateComponentMap({\n clientField: field as RichTextFieldClient,\n createMappedComponent,\n field: incomingField,\n i18n,\n importMap,\n payload,\n schemaPath: field._schemaPath,\n })\n\n ;(field as RichTextFieldClient).richTextComponentMap = result\n }\n }\n break\n }\n\n case 'tabs': {\n const field = clientField as unknown as TabsFieldClient\n\n if (incomingField.tabs?.length) {\n for (let i = 0; i < incomingField.tabs.length; i++) {\n const tab = incomingField.tabs[i]\n const clientTab = field.tabs[i]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in clientTab) {\n delete clientTab[key]\n }\n })\n\n clientTab.fields = createClientFields({\n clientFields: clientTab.fields,\n createMappedComponent,\n disableAddingID: true,\n fields: tab.fields,\n i18n,\n importMap,\n parentPath: field._schemaPath,\n payload,\n })\n }\n }\n\n break\n }\n\n case 'select':\n case 'radio': {\n const field = clientField as RadioFieldClient | SelectFieldClient\n\n if (incomingField.options?.length) {\n for (let i = 0; i < incomingField.options.length; i++) {\n const option = incomingField.options[i]\n\n if (typeof option === 'object' && typeof option.label === 'function') {\n field.options[i] = {\n label: option.label({ t: i18n.t }),\n value: option.value,\n }\n }\n }\n }\n\n break\n }\n\n default:\n break\n }\n\n const serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = ['condition']\n\n if (!clientField.admin) {\n clientField.admin = {}\n }\n\n if (!clientField.admin.components) {\n clientField.admin.components = {}\n }\n\n serverOnlyFieldAdminProperties.forEach((key) => {\n if (key in clientField.admin) {\n delete clientField.admin[key]\n }\n })\n\n type FieldWithDescription = {\n admin: AdminClient\n } & ClientField\n\n if (incomingField.admin && 'description' in incomingField.admin) {\n if (\n typeof incomingField.admin?.description === 'string' ||\n typeof incomingField.admin?.description === 'object'\n ) {\n ;(clientField as FieldWithDescription).admin.description = incomingField.admin.description\n } else if (typeof incomingField.admin?.description === 'function') {\n ;(clientField as FieldWithDescription).admin.description = incomingField.admin?.description({\n t: i18n.t,\n })\n }\n }\n\n if (incomingField?.admin?.components?.Cell !== undefined) {\n clientField.admin.components.Cell = createMappedComponent(\n incomingField.admin.components.Cell,\n serverProps,\n undefined,\n 'incomingField.admin.components.Cell',\n )\n }\n\n type FieldWithDescriptionComponent = {\n admin: AdminClient\n } & ClientField\n\n if (\n incomingField?.admin?.components &&\n 'Description' in incomingField.admin.components &&\n incomingField?.admin?.components?.Description !== undefined\n ) {\n ;(clientField as FieldWithDescriptionComponent).admin.components.Description =\n createMappedComponent(\n incomingField.admin.components.Description,\n serverProps,\n undefined,\n 'incomingField.admin.components.Description',\n )\n }\n\n type FieldWithErrorComponent = {\n admin: {\n components: {\n Error: MappedComponent\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'Error' in incomingField.admin.components &&\n incomingField.admin.components.Error !== undefined\n ) {\n ;(clientField as FieldWithErrorComponent).admin.components.Error = createMappedComponent(\n incomingField.admin.components.Error,\n serverProps,\n undefined,\n 'incomingField.admin.components.Error',\n )\n }\n\n if (incomingField?.admin?.components?.Field !== undefined) {\n clientField.admin.components.Field = createMappedComponent(\n incomingField.admin.components.Field,\n serverProps,\n undefined,\n 'incomingField.admin.components.Field',\n )\n }\n\n if (\n incomingField?.admin?.components &&\n 'Filter' in incomingField.admin.components &&\n incomingField.admin.components.Filter !== undefined\n ) {\n clientField.admin.components.Filter = createMappedComponent(\n incomingField.admin.components.Filter,\n serverProps,\n undefined,\n 'incomingField.admin.components.Filter',\n )\n }\n\n type FieldWithLabelComponent = {\n admin: {\n components: {\n Label: MappedComponent\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'Label' in incomingField.admin.components &&\n incomingField.admin.components.Label !== undefined\n ) {\n ;(clientField as FieldWithLabelComponent).admin.components.Label = createMappedComponent(\n CustomLabel,\n serverProps,\n undefined,\n 'incomingField.admin.components.Label',\n )\n }\n\n type FieldWithBeforeInputComponent = {\n admin: {\n components: {\n beforeInput: MappedComponent[]\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'beforeInput' in incomingField.admin.components &&\n incomingField.admin.components.beforeInput !== undefined\n ) {\n ;(clientField as FieldWithBeforeInputComponent).admin.components.beforeInput =\n createMappedComponent(\n incomingField.admin?.components?.beforeInput,\n serverProps,\n undefined,\n 'incomingField.admin.components.beforeInput',\n )\n }\n\n type FieldWithAfterInputComponent = {\n admin: {\n components: {\n afterInput: MappedComponent[]\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'afterInput' in incomingField.admin.components &&\n incomingField.admin.components.afterInput !== undefined\n ) {\n ;(clientField as FieldWithAfterInputComponent).admin.components.afterInput =\n createMappedComponent(\n incomingField.admin?.components?.afterInput,\n serverProps,\n undefined,\n 'incomingField.admin.components.afterInput',\n )\n }\n\n return clientField\n}\n\nexport const createClientFields = ({\n clientFields,\n createMappedComponent,\n disableAddingID,\n fields,\n i18n,\n importMap,\n parentPath,\n payload,\n}: {\n clientFields: ClientField[]\n createMappedComponent: CreateMappedComponent\n disableAddingID?: boolean\n fields: Field[]\n i18n: I18nClient\n importMap: ImportMap\n parentPath?: string\n payload: Payload\n}): ClientField[] => {\n const newClientFields: ClientField[] = []\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n const newField = createClientField({\n clientField: clientFields[i],\n createMappedComponent,\n field,\n i18n,\n importMap,\n parentPath,\n payload,\n })\n\n if (newField) {\n newClientFields.push({ ...newField })\n }\n }\n\n const hasID = newClientFields.findIndex((f) => fieldAffectsData(f) && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n newClientFields.push({\n name: 'id',\n type: payload.db.defaultIDType === 'number' ? 'number' : 'text',\n _schemaPath: generateFieldPath(parentPath, 'id'),\n admin: {\n components: {\n Field: null,\n },\n description: 'The unique identifier for this document',\n disableBulkEdit: true,\n hidden: true,\n },\n hidden: true,\n label: 'ID',\n localized: undefined,\n })\n }\n return newClientFields\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fields.js","names":["MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","getComponent","generateFieldPath","parentPath","name","tabPath","createClientField","clientField","createMappedComponent","field","incomingField","i18n","importMap","payload","serverOnlyFieldProperties","forEach","key","_isPresentational","isHidden","hidden","disabledFromAdmin","admin","disabled","_schemaPath","label","t","CustomLabel","components","Label","serverProps","undefined","style","width","Object","flex","type","fields","createClientFields","clientFields","disableAddingID","RowLabel","blocks","length","i","block","clientBlock","slug","custom","imageAltText","imageURL","labels","singular","plural","editor","Error","Field","FieldComponent","Cell","CellComponent","generateComponentMap","Component","richTextServerProps","identifier","payloadComponent","silent","actualGenerateComponentMap","result","schemaPath","richTextComponentMap","tabs","tab","clientTab","options","option","value","serverOnlyFieldAdminProperties","fieldServerProps","description","Description","Filter","beforeInput","afterInput","newClientFields","newField","push","hasID","findIndex","f","db","defaultIDType","disableBulkEdit","localized"],"sources":["../../../../src/providers/Config/createClientConfig/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminClient,\n ArrayFieldClient,\n BlocksFieldClient,\n ClientBlock,\n ClientField,\n CreateMappedComponent,\n Field,\n FieldLabelClientComponent,\n FieldLabelServerComponent,\n ImportMap,\n LabelsClient,\n MappedComponent,\n Payload,\n RadioFieldClient,\n RichTextFieldClient,\n RichTextGenerateComponentMap,\n RowFieldClient,\n RowLabelComponent,\n SelectFieldClient,\n ServerFieldBase,\n ServerOnlyFieldAdminProperties,\n ServerOnlyFieldProperties,\n TabsFieldClient,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\n\nimport { getComponent } from './getComponent.js'\n\nfunction generateFieldPath(parentPath: string, name: string): string {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const createClientField = ({\n clientField,\n createMappedComponent,\n field: incomingField,\n i18n,\n importMap,\n parentPath,\n payload,\n}: {\n clientField: ClientField\n createMappedComponent: CreateMappedComponent\n field: Field\n i18n: I18nClient\n importMap: ImportMap\n parentPath?: string\n payload: Payload\n}): ClientField => {\n const serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n 'typescriptSchema',\n 'dbName', // can be a function\n 'enumName', // can be a function\n // the following props are handled separately (see below):\n // `label`\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n ]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in clientField) {\n delete clientField[key]\n }\n })\n\n if (fieldIsPresentationalOnly(incomingField)) {\n clientField._isPresentational = true\n }\n\n const isHidden = 'hidden' in incomingField && incomingField?.hidden\n const disabledFromAdmin =\n incomingField?.admin && 'disabled' in incomingField.admin && incomingField.admin.disabled\n\n if (fieldAffectsData(clientField) && (isHidden || disabledFromAdmin)) {\n return null\n }\n\n clientField._schemaPath = generateFieldPath(\n parentPath,\n fieldAffectsData(clientField) ? clientField.name : '',\n )\n\n if (\n 'label' in clientField &&\n 'label' in incomingField &&\n typeof incomingField.label === 'function'\n ) {\n clientField.label = incomingField.label({ t: i18n.t })\n }\n\n const CustomLabel: FieldLabelClientComponent | FieldLabelServerComponent | RowLabelComponent =\n 'admin' in incomingField &&\n 'components' in incomingField.admin &&\n 'Label' in incomingField.admin.components &&\n incomingField.admin.components.Label\n\n const serverProps: {\n serverProps: ServerFieldBase\n } = {\n serverProps: {\n clientField: undefined,\n field: incomingField,\n },\n }\n\n if ('admin' in incomingField && 'width' in incomingField.admin) {\n clientField.admin.style = {\n ...clientField.admin.style,\n '--field-width': clientField.admin.width,\n width: undefined, // avoid needlessly adding this to the element's style attribute\n }\n } else {\n if (!(clientField.admin instanceof Object)) {\n clientField.admin = {}\n }\n if (!(clientField.admin.style instanceof Object)) {\n clientField.admin.style = {}\n }\n clientField.admin.style.flex = '1 1 auto'\n }\n\n switch (incomingField.type) {\n case 'array':\n case 'group':\n case 'collapsible':\n case 'row': {\n const field = clientField as unknown as RowFieldClient\n\n field.fields = createClientFields({\n clientFields: field.fields,\n createMappedComponent,\n disableAddingID: incomingField.type !== 'array',\n fields: incomingField.fields,\n i18n,\n importMap,\n parentPath: field._schemaPath,\n payload,\n })\n\n if (incomingField?.admin?.components && 'RowLabel' in incomingField.admin.components) {\n ;(field as unknown as ArrayFieldClient).admin.components.RowLabel = createMappedComponent(\n incomingField.admin.components.RowLabel,\n serverProps,\n undefined,\n 'incomingField.admin.components.RowLabel',\n )\n }\n\n break\n }\n\n case 'blocks': {\n const field = clientField as unknown as BlocksFieldClient\n\n if (incomingField.blocks?.length) {\n for (let i = 0; i < incomingField.blocks.length; i++) {\n const block = incomingField.blocks[i]\n const clientBlock: ClientBlock = {\n slug: block.slug,\n admin: {\n components: {},\n custom: block.admin?.custom,\n },\n fields: field.blocks[i].fields,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n }\n\n if (block.labels) {\n clientBlock.labels = {} as unknown as LabelsClient\n if (block.labels.singular) {\n if (typeof block.labels.singular === 'function') {\n clientBlock.labels.singular = block.labels.singular({ t: i18n.t })\n } else {\n clientBlock.labels.singular = block.labels.singular\n }\n if (typeof block.labels.plural === 'function') {\n clientBlock.labels.plural = block.labels.plural({ t: i18n.t })\n } else {\n clientBlock.labels.plural = block.labels.plural\n }\n }\n }\n\n if (block.admin?.components?.Label) {\n clientBlock.admin.components.Label = createMappedComponent(\n block.admin.components.Label,\n serverProps,\n undefined,\n 'block.admin.components.Label',\n )\n }\n\n clientBlock.fields = createClientFields({\n clientFields: clientBlock.fields,\n createMappedComponent,\n fields: block.fields,\n i18n,\n importMap,\n parentPath: `${field._schemaPath}.${block.slug}`,\n payload,\n })\n\n field.blocks[i] = clientBlock\n }\n }\n\n break\n }\n\n case 'richText': {\n const field = clientField\n\n if (!incomingField?.editor) {\n throw new MissingEditorProp(incomingField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof incomingField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n if (!field.admin.components) {\n field.admin.components = {}\n }\n\n field.admin.components.Field = createMappedComponent(\n incomingField.editor.FieldComponent,\n serverProps,\n undefined,\n 'incomingField.editor.FieldComponent',\n )\n\n field.admin.components.Cell = createMappedComponent(\n incomingField.editor.CellComponent,\n serverProps,\n undefined,\n 'incomingField.editor.CellComponent',\n )\n\n if (incomingField.editor.generateComponentMap) {\n const { Component: generateComponentMap, serverProps: richTextServerProps } = getComponent({\n identifier: 'richText-generateComponentMap',\n importMap,\n payloadComponent: incomingField.editor.generateComponentMap,\n silent: true,\n })\n\n if (generateComponentMap) {\n const actualGenerateComponentMap: RichTextGenerateComponentMap = (\n generateComponentMap as any\n )(richTextServerProps)\n\n const result = actualGenerateComponentMap({\n clientField: field as RichTextFieldClient,\n createMappedComponent,\n field: incomingField,\n i18n,\n importMap,\n payload,\n schemaPath: field._schemaPath,\n })\n\n ;(field as RichTextFieldClient).richTextComponentMap = result\n }\n }\n break\n }\n\n case 'tabs': {\n const field = clientField as unknown as TabsFieldClient\n\n if (incomingField.tabs?.length) {\n for (let i = 0; i < incomingField.tabs.length; i++) {\n const tab = incomingField.tabs[i]\n const clientTab = field.tabs[i]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in clientTab) {\n delete clientTab[key]\n }\n })\n\n clientTab.fields = createClientFields({\n clientFields: clientTab.fields,\n createMappedComponent,\n disableAddingID: true,\n fields: tab.fields,\n i18n,\n importMap,\n parentPath: field._schemaPath,\n payload,\n })\n }\n }\n\n break\n }\n\n case 'select':\n case 'radio': {\n const field = clientField as RadioFieldClient | SelectFieldClient\n\n if (incomingField.options?.length) {\n for (let i = 0; i < incomingField.options.length; i++) {\n const option = incomingField.options[i]\n\n if (typeof option === 'object' && typeof option.label === 'function') {\n field.options[i] = {\n label: option.label({ t: i18n.t }),\n value: option.value,\n }\n }\n }\n }\n\n break\n }\n\n default:\n break\n }\n\n const serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = ['condition']\n\n if (!clientField.admin) {\n clientField.admin = {}\n }\n\n if (!clientField.admin.components) {\n clientField.admin.components = {}\n }\n\n serverOnlyFieldAdminProperties.forEach((key) => {\n if (key in clientField.admin) {\n delete clientField.admin[key]\n }\n })\n\n const fieldServerProps: {\n serverProps: ServerFieldBase\n } = {\n serverProps: {\n clientField,\n field: incomingField,\n },\n }\n\n type FieldWithDescription = {\n admin: AdminClient\n } & ClientField\n\n if (incomingField.admin && 'description' in incomingField.admin) {\n if (\n typeof incomingField.admin?.description === 'string' ||\n typeof incomingField.admin?.description === 'object'\n ) {\n ;(clientField as FieldWithDescription).admin.description = incomingField.admin.description\n } else if (typeof incomingField.admin?.description === 'function') {\n ;(clientField as FieldWithDescription).admin.description = incomingField.admin?.description({\n t: i18n.t,\n })\n }\n }\n\n if (incomingField?.admin?.components?.Cell !== undefined) {\n clientField.admin.components.Cell = createMappedComponent(\n incomingField.admin.components.Cell,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Cell',\n )\n }\n\n type FieldWithDescriptionComponent = {\n admin: AdminClient\n } & ClientField\n\n if (\n incomingField?.admin?.components &&\n 'Description' in incomingField.admin.components &&\n incomingField?.admin?.components?.Description !== undefined\n ) {\n ;(clientField as FieldWithDescriptionComponent).admin.components.Description =\n createMappedComponent(\n incomingField.admin.components.Description,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Description',\n )\n }\n\n type FieldWithErrorComponent = {\n admin: {\n components: {\n Error: MappedComponent\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'Error' in incomingField.admin.components &&\n incomingField.admin.components.Error !== undefined\n ) {\n ;(clientField as FieldWithErrorComponent).admin.components.Error = createMappedComponent(\n incomingField.admin.components.Error,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Error',\n )\n }\n\n if (incomingField?.admin?.components?.Field !== undefined) {\n clientField.admin.components.Field = createMappedComponent(\n incomingField.admin.components.Field,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Field',\n )\n }\n\n if (\n incomingField?.admin?.components &&\n 'Filter' in incomingField.admin.components &&\n incomingField.admin.components.Filter !== undefined\n ) {\n clientField.admin.components.Filter = createMappedComponent(\n incomingField.admin.components.Filter,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Filter',\n )\n }\n\n type FieldWithLabelComponent = {\n admin: {\n components: {\n Label: MappedComponent\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'Label' in incomingField.admin.components &&\n incomingField.admin.components.Label !== undefined\n ) {\n ;(clientField as FieldWithLabelComponent).admin.components.Label = createMappedComponent(\n CustomLabel,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Label',\n )\n }\n\n type FieldWithBeforeInputComponent = {\n admin: {\n components: {\n beforeInput: MappedComponent[]\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'beforeInput' in incomingField.admin.components &&\n incomingField.admin.components.beforeInput !== undefined\n ) {\n ;(clientField as FieldWithBeforeInputComponent).admin.components.beforeInput =\n createMappedComponent(\n incomingField.admin?.components?.beforeInput,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.beforeInput',\n )\n }\n\n type FieldWithAfterInputComponent = {\n admin: {\n components: {\n afterInput: MappedComponent[]\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'afterInput' in incomingField.admin.components &&\n incomingField.admin.components.afterInput !== undefined\n ) {\n ;(clientField as FieldWithAfterInputComponent).admin.components.afterInput =\n createMappedComponent(\n incomingField.admin?.components?.afterInput,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.afterInput',\n )\n }\n\n return clientField\n}\n\nexport const createClientFields = ({\n clientFields,\n createMappedComponent,\n disableAddingID,\n fields,\n i18n,\n importMap,\n parentPath,\n payload,\n}: {\n clientFields: ClientField[]\n createMappedComponent: CreateMappedComponent\n disableAddingID?: boolean\n fields: Field[]\n i18n: I18nClient\n importMap: ImportMap\n parentPath?: string\n payload: Payload\n}): ClientField[] => {\n const newClientFields: ClientField[] = []\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n const newField = createClientField({\n clientField: clientFields[i],\n createMappedComponent,\n field,\n i18n,\n importMap,\n parentPath,\n payload,\n })\n\n if (newField) {\n newClientFields.push(newField)\n }\n }\n\n const hasID = newClientFields.findIndex((f) => fieldAffectsData(f) && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n newClientFields.push({\n name: 'id',\n type: payload.db.defaultIDType === 'number' ? 'number' : 'text',\n _schemaPath: generateFieldPath(parentPath, 'id'),\n admin: {\n components: {\n Field: null,\n },\n description: 'The unique identifier for this document',\n disableBulkEdit: true,\n hidden: true,\n },\n hidden: true,\n label: 'ID',\n localized: undefined,\n })\n }\n return newClientFields\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,6 @@ import type { DocumentInfoContext, DocumentInfoProps } from './types.js';
|
|
|
3
3
|
export type * from './types.js';
|
|
4
4
|
export declare const useDocumentInfo: () => DocumentInfoContext;
|
|
5
5
|
export declare const DocumentInfoProvider: React.FC<{
|
|
6
|
-
children: React.ReactNode;
|
|
6
|
+
readonly children: React.ReactNode;
|
|
7
7
|
} & DocumentInfoProps>;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAiiB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAiiB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","config","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","body","JSON","method","publishedAccessJSON","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n config: {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) {\n return ''\n }\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\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 isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n ...(data || {}),\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\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 onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) {\n prevLocale.current = locale\n }\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n const data = reduceFieldsToValues(result, true)\n setData(data)\n\n if (localeChanged) {\n void getDocPermissions(data)\n }\n\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n getDocPermissions,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n if (data && (collectionSlug || globalSlug)) {\n if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\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 if (isError) {\n notFound()\n }\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n preferencesKey,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n 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":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","config","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","body","JSON","method","publishedAccessJSON","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n config: {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) {\n return ''\n }\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\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 isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n ...(data || {}),\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\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 onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) {\n prevLocale.current = locale\n }\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n const data = reduceFieldsToValues(result, true)\n setData(data)\n\n if (localeChanged) {\n void getDocPermissions(data)\n }\n\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n getDocPermissions,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n if (data && (collectionSlug || globalSlug)) {\n if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\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 if (isError) {\n notFound()\n }\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n preferencesKey,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\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":[]}
|
|
@@ -9,6 +9,7 @@ export type DocumentInfoProps = {
|
|
|
9
9
|
BeforeFields?: React.ReactNode;
|
|
10
10
|
collectionSlug?: SanitizedCollectionConfig['slug'];
|
|
11
11
|
disableActions?: boolean;
|
|
12
|
+
disableCreate?: boolean;
|
|
12
13
|
disableLeaveWithoutSaving?: boolean;
|
|
13
14
|
docPermissions?: DocumentPermissions;
|
|
14
15
|
globalSlug?: SanitizedGlobalConfig['slug'];
|
|
@@ -18,8 +19,24 @@ export type DocumentInfoProps = {
|
|
|
18
19
|
initialData?: Data;
|
|
19
20
|
initialState?: FormState;
|
|
20
21
|
isEditing?: boolean;
|
|
22
|
+
onDelete?: (args: {
|
|
23
|
+
collectionConfig?: ClientCollectionConfig;
|
|
24
|
+
id: string;
|
|
25
|
+
}) => Promise<void> | void;
|
|
26
|
+
onDrawerCreate?: () => void;
|
|
27
|
+
onDuplicate?: (args: {
|
|
28
|
+
collectionConfig?: ClientCollectionConfig;
|
|
29
|
+
doc: TypeWithID;
|
|
30
|
+
}) => Promise<void> | void;
|
|
21
31
|
onLoadError?: (data?: any) => Promise<void> | void;
|
|
22
|
-
onSave?: (
|
|
32
|
+
onSave?: (args: {
|
|
33
|
+
collectionConfig?: ClientCollectionConfig;
|
|
34
|
+
doc: TypeWithID;
|
|
35
|
+
operation: 'create' | 'update';
|
|
36
|
+
result: Data;
|
|
37
|
+
}) => Promise<void> | void;
|
|
38
|
+
redirectAfterDelete?: boolean;
|
|
39
|
+
redirectAfterDuplicate?: boolean;
|
|
23
40
|
};
|
|
24
41
|
export type DocumentInfoContext = {
|
|
25
42
|
docConfig?: ClientCollectionConfig | ClientGlobalConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,IAAI,EACJ,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,IAAI,EACJ,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;QACzC,EAAE,EAAE,MAAM,CAAA;KACX,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAE3B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QACnB,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;QACzC,GAAG,EAAE,UAAU,CAAA;KAChB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACd,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;QACzC,GAAG,EAAE,UAAU,CAAA;QACf,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;QAC9B,MAAM,EAAE,IAAI,CAAA;KACb,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,sBAAsB,GAAG,kBAAkB,CAAA;IACvD,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,iBAAiB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACrD,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,WAAW,EAAE,IAAI,CAAA;IACjB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,kBAAkB,CAAA;IACrE,sBAAsB,EAAE,CACtB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,KAC5E,IAAI,CAAA;IACT,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;CACpD,GAAG,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n action?: string\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n apiURL?: string\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n action?: string\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n apiURL?: string\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableCreate?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onDelete?: (args: {\n collectionConfig?: ClientCollectionConfig\n id: string\n }) => Promise<void> | void\n onDrawerCreate?: () => void\n /* only available if `redirectAfterDuplicate` is `false` */\n onDuplicate?: (args: {\n collectionConfig?: ClientCollectionConfig\n doc: TypeWithID\n }) => Promise<void> | void\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (args: {\n collectionConfig?: ClientCollectionConfig\n doc: TypeWithID\n operation: 'create' | 'update'\n result: Data\n }) => Promise<void> | void\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n}\n\nexport type DocumentInfoContext = {\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n getVersions: () => Promise<void>\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n isLoading: boolean\n preferencesKey?: string\n publishedDoc?: { _status?: string } & TypeWithID & TypeWithTimestamps\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentTitle: (title: string) => void\n slug?: string\n title: string\n unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>\n versions?: PaginatedDocs<TypeWithVersion<any>>\n versionsCount?: PaginatedDocs<TypeWithVersion<any>>\n} & DocumentInfoProps\n"],"mappings":"AAyDA","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ type SelectionContext = {
|
|
|
12
12
|
disableBulkEdit?: boolean;
|
|
13
13
|
getQueryParams: (additionalParams?: Where) => string;
|
|
14
14
|
selectAll: SelectAllStatus;
|
|
15
|
-
selected:
|
|
15
|
+
selected: Map<number | string, boolean>;
|
|
16
16
|
setSelection: (id: number | string) => void;
|
|
17
17
|
toggleAll: (allAvailable?: boolean) => void;
|
|
18
18
|
totalDocs: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Selection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,KAA8E,MAAM,OAAO,CAAA;AAKlG,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,KAAK,MAAM,CAAA;IACpD,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Selection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,KAA8E,MAAM,OAAO,CAAA;AAKlG,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,KAAK,MAAM,CAAA;IACpD,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAID,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAElC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyJ7C,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA"}
|
|
@@ -23,11 +23,11 @@ export const SelectionProvider = ({
|
|
|
23
23
|
code: locale
|
|
24
24
|
} = useLocale();
|
|
25
25
|
const [selected, setSelected] = useState(() => {
|
|
26
|
-
const rows =
|
|
26
|
+
const rows = new Map();
|
|
27
27
|
docs.forEach(({
|
|
28
28
|
id
|
|
29
29
|
}) => {
|
|
30
|
-
rows
|
|
30
|
+
rows.set(id, false);
|
|
31
31
|
});
|
|
32
32
|
return rows;
|
|
33
33
|
});
|
|
@@ -37,40 +37,35 @@ export const SelectionProvider = ({
|
|
|
37
37
|
searchParams
|
|
38
38
|
} = useSearchParams();
|
|
39
39
|
const toggleAll = useCallback((allAvailable = false) => {
|
|
40
|
-
const rows_0 =
|
|
40
|
+
const rows_0 = new Map();
|
|
41
41
|
if (allAvailable) {
|
|
42
42
|
setSelectAll("allAvailable");
|
|
43
43
|
docs.forEach(({
|
|
44
44
|
id: id_0
|
|
45
45
|
}) => {
|
|
46
|
-
rows_0
|
|
46
|
+
rows_0.set(id_0, true);
|
|
47
47
|
});
|
|
48
48
|
} else if (selectAll === "allAvailable" || selectAll === "allInPage") {
|
|
49
49
|
setSelectAll("none");
|
|
50
|
-
docs.forEach(({
|
|
51
|
-
id: id_1
|
|
52
|
-
}) => {
|
|
53
|
-
rows_0[id_1] = false;
|
|
54
|
-
});
|
|
55
50
|
} else {
|
|
56
51
|
docs.forEach(({
|
|
57
|
-
id:
|
|
52
|
+
id: id_1
|
|
58
53
|
}) => {
|
|
59
|
-
rows_0
|
|
54
|
+
rows_0.set(id_1, selectAll !== "some");
|
|
60
55
|
});
|
|
61
56
|
}
|
|
62
57
|
setSelected(rows_0);
|
|
63
58
|
}, [docs, selectAll]);
|
|
64
|
-
const setSelection = useCallback(
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
59
|
+
const setSelection = useCallback(id_2 => {
|
|
60
|
+
const existingValue = selected.get(id_2);
|
|
61
|
+
const isSelected = typeof existingValue === 'boolean' ? !existingValue : true;
|
|
62
|
+
let newMap = new Map();
|
|
63
|
+
if (isSelected) {
|
|
64
|
+
newMap = new Map(selected.set(id_2, isSelected));
|
|
65
|
+
} else {
|
|
66
|
+
newMap = new Map(selected.set(id_2, false));
|
|
72
67
|
}
|
|
73
|
-
setSelected(
|
|
68
|
+
setSelected(newMap);
|
|
74
69
|
}, [selected]);
|
|
75
70
|
const getQueryParams = useCallback(additionalParams => {
|
|
76
71
|
let where;
|
|
@@ -82,9 +77,15 @@ export const SelectionProvider = ({
|
|
|
82
77
|
}
|
|
83
78
|
};
|
|
84
79
|
} else {
|
|
80
|
+
const ids = [];
|
|
81
|
+
for (const [key, value] of selected) {
|
|
82
|
+
if (value) {
|
|
83
|
+
ids.push(key);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
85
86
|
where = {
|
|
86
87
|
id: {
|
|
87
|
-
in:
|
|
88
|
+
in: ids
|
|
88
89
|
}
|
|
89
90
|
};
|
|
90
91
|
}
|
|
@@ -108,25 +109,38 @@ export const SelectionProvider = ({
|
|
|
108
109
|
}
|
|
109
110
|
let some = false;
|
|
110
111
|
let all = true;
|
|
111
|
-
if (!
|
|
112
|
+
if (!selected.size) {
|
|
112
113
|
all = false;
|
|
113
114
|
some = false;
|
|
114
115
|
} else {
|
|
115
|
-
|
|
116
|
-
all = all &&
|
|
117
|
-
some = some ||
|
|
118
|
-
}
|
|
116
|
+
for (const [_, value_0] of selected) {
|
|
117
|
+
all = all && value_0;
|
|
118
|
+
some = some || value_0;
|
|
119
|
+
}
|
|
119
120
|
}
|
|
120
|
-
if (all) {
|
|
121
|
+
if (all && selected.size === docs.length) {
|
|
122
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
|
|
121
123
|
setSelectAll("allInPage");
|
|
122
124
|
} else if (some) {
|
|
125
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
|
|
123
126
|
setSelectAll("some");
|
|
124
127
|
} else {
|
|
128
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
|
|
125
129
|
setSelectAll("none");
|
|
126
130
|
}
|
|
127
|
-
}, [selectAll, selected]);
|
|
131
|
+
}, [selectAll, selected, totalDocs, docs]);
|
|
128
132
|
useEffect(() => {
|
|
129
|
-
|
|
133
|
+
let newCount = 0;
|
|
134
|
+
if (selectAll === "allAvailable") {
|
|
135
|
+
newCount = totalDocs;
|
|
136
|
+
} else {
|
|
137
|
+
for (const [__0, value_1] of selected) {
|
|
138
|
+
if (value_1) {
|
|
139
|
+
newCount++;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
|
|
130
144
|
setCount(newCount);
|
|
131
145
|
}, [selectAll, selected, totalDocs]);
|
|
132
146
|
contextRef.current = {
|