Compare commits

...

1 Commits

Author SHA1 Message Date
Jacob Fletcher
4dae26941f fix: bloated client config with disabled and hidden fields causing slow lexical 2024-12-06 09:25:55 -05:00
2 changed files with 22 additions and 1 deletions

View File

@@ -106,12 +106,15 @@ export const createClientCollectionConfig = ({
if (serverOnlyCollectionProperties.includes(key as any)) {
continue
}
switch (key) {
case 'admin':
if (!collection.admin) {
break
}
clientCollection.admin = {} as ClientCollectionConfig['admin']
for (const adminKey in collection.admin) {
if (serverOnlyCollectionAdminProperties.includes(adminKey as any)) {
continue

View File

@@ -18,7 +18,7 @@ import type { Payload } from '../../types/index.js'
import { getFromImportMap } from '../../bin/generateImportMap/getFromImportMap.js'
import { MissingEditorProp } from '../../errors/MissingEditorProp.js'
import { fieldAffectsData } from '../../fields/config/types.js'
import { fieldAffectsData, fieldIsHiddenOrDisabled } from '../../fields/config/types.js'
import { flattenTopLevelFields, type ImportMap } from '../../index.js'
import { removeUndefined } from '../../utilities/removeUndefined.js'
@@ -75,6 +75,24 @@ export const createClientField = ({
}): ClientField => {
const clientField: ClientField = {} as ClientField
if (fieldAffectsData(incomingField) && fieldIsHiddenOrDisabled(incomingField)) {
clientField.type = incomingField.type
if (incomingField.hidden) {
clientField.hidden = true
}
if (incomingField.admin?.disabled) {
if (!clientField.admin) {
clientField.admin = {} as AdminClient
}
clientField.admin.disabled = true
}
return clientField
}
for (const key in incomingField) {
if (serverOnlyFieldProperties.includes(key as any)) {
continue