make non-fillable fields visible but disabled in UI

This commit is contained in:
dswbx
2025-10-24 14:07:37 +02:00
parent 292e4595ea
commit f2aad9caac
11 changed files with 353 additions and 37 deletions

View File

@@ -44,7 +44,7 @@ export function EntityForm({
className,
action,
}: EntityFormProps) {
const fields = entity.getFillableFields(action, true);
const fields = entity.getFields({ virtual: true, primary: false });
const options = useEntityAdminOptions(entity, action);
return (
@@ -92,10 +92,6 @@ export function EntityForm({
);
}
if (!field.isFillable(action)) {
return;
}
const _key = `${entity.name}-${field.name}-${key}`;
return (
@@ -127,7 +123,7 @@ export function EntityForm({
<EntityFormField
field={field}
fieldApi={props}
disabled={fieldsDisabled}
disabled={fieldsDisabled || !field.isFillable(action)}
tabIndex={key + 1}
action={action}
data={data}

View File

@@ -17,7 +17,7 @@ export function useEntityForm({
}: EntityFormProps) {
const data = initialData ?? {};
// @todo: check if virtual must be filtered
const fields = entity.getFillableFields(action, true);
const fields = entity.getFields({ virtual: true, primary: false });
// filter defaultValues to only contain fillable fields
const defaultValues = getDefaultValues(fields, data);