feat: add config validation for collections with custom id
This commit is contained in:
@@ -8,6 +8,7 @@ import usePayloadAPI from '../../../../../hooks/usePayloadAPI';
|
||||
import ListControls from '../../../../elements/ListControls';
|
||||
import Paginator from '../../../../elements/Paginator';
|
||||
import UploadGallery from '../../../../elements/UploadGallery';
|
||||
import { Field } from '../../../../../../fields/config/types';
|
||||
import { Props } from './types';
|
||||
|
||||
import './index.scss';
|
||||
@@ -45,7 +46,7 @@ const SelectExistingUploadModal: React.FC<Props> = (props) => {
|
||||
const [{ data }, { setParams }] = usePayloadAPI(apiURL, {});
|
||||
|
||||
useEffect(() => {
|
||||
setFields(formatFields(collection));
|
||||
setFields(formatFields(collection) as Field[]);
|
||||
}, [collection]);
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const formatFields = (collection, isEditing) => {
|
||||
const fields = isEditing
|
||||
? collection.fields.filter(({ name }) => name !== 'id')
|
||||
: collection.fields;
|
||||
return fields;
|
||||
};
|
||||
import { SanitizedCollectionConfig } from '../../../../../collections/config/types';
|
||||
import { Field } from '../../../../../fields/config/types';
|
||||
|
||||
const formatFields = (collection: SanitizedCollectionConfig, isEditing: boolean): Field[] => (isEditing
|
||||
? collection.fields.filter(({ name }) => name !== 'id')
|
||||
: collection.fields);
|
||||
|
||||
export default formatFields;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
const formatFields = (config) => {
|
||||
const hasIdField = config.fields.findIndex(({ name }) => name === 'id') > -1;
|
||||
import { SanitizedCollectionConfig } from '../../../../../collections/config/types';
|
||||
import { Field } from '../../../../../fields/config/types';
|
||||
|
||||
const formatFields = (config: SanitizedCollectionConfig): (Field | { name: string, label: string, type: string })[] => {
|
||||
const hasID = config.fields.findIndex(({ name }) => name === 'id') > -1;
|
||||
let fields = config.fields.reduce((formatted, field) => {
|
||||
if (field.hidden === true || field?.admin?.disabled === true) {
|
||||
return formatted;
|
||||
@@ -9,7 +12,7 @@ const formatFields = (config) => {
|
||||
...formatted,
|
||||
field,
|
||||
];
|
||||
}, hasIdField ? [] : [{ name: 'id', label: 'ID', type: 'text' }]);
|
||||
}, hasID ? [] : [{ name: 'id', label: 'ID', type: 'text' }]);
|
||||
|
||||
if (config.timestamps) {
|
||||
fields = fields.concat([
|
||||
|
||||
Reference in New Issue
Block a user