fix: required field should not be required if it is readonly

This commit is contained in:
s.teleshev
2023-12-13 12:40:59 +01:00
parent ef6958b3f0
commit dbe01d5119
@@ -70,6 +70,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
const controlType = getPropertyControlType(property);
const password = property.features.includes('password');
const required = property.required && !readOnly;
const value = getValue(property.value, controlType);
const defaultValue = getValue(property.defaultValue, controlType);
@@ -79,7 +80,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
if (controlType === 'file' && state) {
return (
<InputFileTextContent
required={property.required}
required={required}
tooltip={property.description}
labelTooltip={property.displayName || property.description}
name={property.id!}
@@ -119,7 +120,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
if (state !== undefined) {
return (
<FieldCheckbox
required={property.required}
required={required}
id={property.id}
name={property.id!}
state={state}
@@ -151,7 +152,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
if (state !== undefined) {
return (
<Combobox
required={property.required}
required={required}
name={property.id!}
state={state}
items={property.validValues!}
@@ -171,7 +172,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
return (
<Combobox
required={property.required}
required={required}
name={property.id!}
items={property.validValues!}
keySelector={value => value}
@@ -192,7 +193,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
if (state !== undefined) {
return (
<Textarea
required={property.required}
required={required}
title={state[property.id!]}
labelTooltip={property.description || property.displayName}
description={description}
@@ -209,7 +210,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
return (
<Textarea
required={property.required}
required={required}
title={value}
labelTooltip={property.description || property.displayName}
description={description}
@@ -227,7 +228,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
if (state !== undefined) {
return (
<InputField
required={property.required}
required={required}
type={password ? 'password' : 'text'}
title={password ? property.description || property.displayName : state[property.id!]}
labelTooltip={property.description || property.displayName}
@@ -250,7 +251,7 @@ export const RenderField = observer<RenderFieldProps>(function RenderField({
return (
<InputField
required={property.required}
required={required}
type={password ? 'password' : 'text'}
title={password ? property.description || property.displayName : value}
labelTooltip={property.description || property.displayName}