@payloadcms/ui 3.30.0-internal.ef2a0e5 → 3.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -0
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +31 -26
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts +3 -3
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +16 -17
- 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.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts +5 -5
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +23 -20
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +13 -10
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +23 -6
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/exports/client/index.js +11 -11
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +12 -5
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +7 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared';
|
|
1
|
+
import { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled, getFieldPermissions } from 'payload/shared';
|
|
2
2
|
import { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js';
|
|
3
3
|
import { combineFieldLabel } from '../../utilities/combineFieldLabel.js';
|
|
4
4
|
export const ignoreFromBulkEdit = field => Boolean((fieldAffectsData(field) || field.type === 'ui') && (field.admin.disableBulkEdit || field.unique || fieldIsHiddenOrDisabled(field) || 'readOnly' in field && field.readOnly));
|
|
@@ -6,15 +6,27 @@ export const reduceFieldOptions = ({
|
|
|
6
6
|
fields,
|
|
7
7
|
formState,
|
|
8
8
|
labelPrefix = null,
|
|
9
|
-
|
|
9
|
+
parentPath = '',
|
|
10
|
+
path = '',
|
|
11
|
+
permissions
|
|
10
12
|
}) => {
|
|
11
13
|
if (!fields) {
|
|
12
14
|
return [];
|
|
13
15
|
}
|
|
14
16
|
const CustomLabel = formState?.[path]?.customComponents?.Label;
|
|
15
17
|
return fields?.reduce((fieldsToUse, field) => {
|
|
18
|
+
const {
|
|
19
|
+
operation: hasOperationPermission,
|
|
20
|
+
permissions: fieldPermissions,
|
|
21
|
+
read: hasReadPermission
|
|
22
|
+
} = getFieldPermissions({
|
|
23
|
+
field,
|
|
24
|
+
operation: 'update',
|
|
25
|
+
parentName: parentPath?.includes('.') ? parentPath.split('.')[parentPath.split('.').length - 1] : parentPath,
|
|
26
|
+
permissions
|
|
27
|
+
});
|
|
16
28
|
// escape for a variety of reasons, include ui fields as they have `name`.
|
|
17
|
-
if ((fieldAffectsData(field) || field.type === 'ui') && (field.admin?.disableBulkEdit || field.unique || fieldIsHiddenOrDisabled(field) || 'readOnly' in field && field.readOnly)) {
|
|
29
|
+
if ((fieldAffectsData(field) || field.type === 'ui') && (field.admin?.disableBulkEdit || field.unique || fieldIsHiddenOrDisabled(field) || 'readOnly' in field && field.readOnly || !hasOperationPermission || !hasReadPermission)) {
|
|
18
30
|
return fieldsToUse;
|
|
19
31
|
}
|
|
20
32
|
if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {
|
|
@@ -25,7 +37,9 @@ export const reduceFieldOptions = ({
|
|
|
25
37
|
field,
|
|
26
38
|
prefix: labelPrefix
|
|
27
39
|
}),
|
|
28
|
-
|
|
40
|
+
parentPath: path,
|
|
41
|
+
path: createNestedClientFieldPath(path, field),
|
|
42
|
+
permissions: fieldPermissions
|
|
29
43
|
})];
|
|
30
44
|
}
|
|
31
45
|
if (field.type === 'tabs' && 'tabs' in field) {
|
|
@@ -35,7 +49,9 @@ export const reduceFieldOptions = ({
|
|
|
35
49
|
return [...tabFields, ...reduceFieldOptions({
|
|
36
50
|
fields: tab.fields,
|
|
37
51
|
labelPrefix,
|
|
38
|
-
|
|
52
|
+
parentPath: path,
|
|
53
|
+
path: isNamedTab ? createNestedClientFieldPath(path, field) : path,
|
|
54
|
+
permissions: fieldPermissions
|
|
39
55
|
})];
|
|
40
56
|
}
|
|
41
57
|
}, [])];
|
|
@@ -47,7 +63,8 @@ export const reduceFieldOptions = ({
|
|
|
47
63
|
prefix: labelPrefix
|
|
48
64
|
}),
|
|
49
65
|
value: {
|
|
50
|
-
|
|
66
|
+
field,
|
|
67
|
+
fieldPermissions,
|
|
51
68
|
path: createNestedClientFieldPath(path, field)
|
|
52
69
|
}
|
|
53
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceFieldOptions.js","names":["fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","createNestedClientFieldPath","combineFieldLabel","ignoreFromBulkEdit","field","Boolean","type","admin","disableBulkEdit","unique","readOnly","reduceFieldOptions","fields","formState","labelPrefix","path","CustomLabel","customComponents","Label","reduce","fieldsToUse","prefix","tabs","tabFields","tab","isNamedTab","name","formattedField","label","value"],"sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"sourcesContent":["import type { ClientField,
|
|
1
|
+
{"version":3,"file":"reduceFieldOptions.js","names":["fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","getFieldPermissions","createNestedClientFieldPath","combineFieldLabel","ignoreFromBulkEdit","field","Boolean","type","admin","disableBulkEdit","unique","readOnly","reduceFieldOptions","fields","formState","labelPrefix","parentPath","path","permissions","CustomLabel","customComponents","Label","reduce","fieldsToUse","operation","hasOperationPermission","fieldPermissions","read","hasReadPermission","parentName","includes","split","length","prefix","tabs","tabFields","tab","isNamedTab","name","formattedField","label","value"],"sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"sourcesContent":["import type { ClientField, FormState, SanitizedFieldPermissions } from 'payload'\n\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n getFieldPermissions,\n} from 'payload/shared'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from '../../utilities/combineFieldLabel.js'\n\nexport type SelectedField = {\n field: ClientField\n fieldPermissions: SanitizedFieldPermissions\n path: string\n}\n\nexport type FieldOption = {\n label: React.ReactNode\n value: SelectedField\n}\n\nexport const ignoreFromBulkEdit = (field: ClientField): boolean =>\n Boolean(\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly)),\n )\n\nexport const reduceFieldOptions = ({\n fields,\n formState,\n labelPrefix = null,\n parentPath = '',\n path = '',\n permissions,\n}: {\n readonly fields: ClientField[]\n readonly formState?: FormState\n readonly labelPrefix?: React.ReactNode\n readonly parentPath?: string\n readonly path?: string\n readonly permissions:\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | SanitizedFieldPermissions\n}): FieldOption[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n const {\n operation: hasOperationPermission,\n permissions: fieldPermissions,\n read: hasReadPermission,\n } = getFieldPermissions({\n field,\n operation: 'update',\n parentName: parentPath?.includes('.')\n ? parentPath.split('.')[parentPath.split('.').length - 1]\n : parentPath,\n permissions,\n })\n\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin?.disableBulkEdit ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly) ||\n !hasOperationPermission ||\n !hasReadPermission)\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFieldOptions({\n fields: field.fields,\n labelPrefix: combineFieldLabel({ CustomLabel, field, prefix: labelPrefix }),\n parentPath: path,\n path: createNestedClientFieldPath(path, field),\n permissions: fieldPermissions,\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFieldOptions({\n fields: tab.fields,\n labelPrefix,\n parentPath: path,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n permissions: fieldPermissions,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField: FieldOption = {\n label: combineFieldLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n field,\n fieldPermissions,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
|