Merge branch 'main' into next
This commit is contained in:
@ -21,6 +21,7 @@ import { borders, colors, lengths, transitions } from '@staticcms/core/component
|
||||
import { transientOptions } from '@staticcms/core/lib';
|
||||
import useMemoCompare from '@staticcms/core/lib/hooks/useMemoCompare';
|
||||
import useUUID from '@staticcms/core/lib/hooks/useUUID';
|
||||
import { isFieldDuplicate, isFieldHidden } from '@staticcms/core/lib/i18n';
|
||||
import { resolveWidget } from '@staticcms/core/lib/registry';
|
||||
import { getFieldLabel } from '@staticcms/core/lib/util/field.util';
|
||||
import { isNotNullish } from '@staticcms/core/lib/util/null.util';
|
||||
@ -144,10 +145,11 @@ const EditorControl = ({
|
||||
fieldsErrors,
|
||||
submitted,
|
||||
getAsset,
|
||||
isDisabled,
|
||||
isFieldDuplicate,
|
||||
isFieldHidden,
|
||||
isHidden = false,
|
||||
isDisabled = false,
|
||||
isParentDuplicate = false,
|
||||
isFieldDuplicate: deprecatedIsFieldDuplicate,
|
||||
isParentHidden = false,
|
||||
isFieldHidden: deprecatedIsFieldHidden,
|
||||
locale,
|
||||
mediaPaths,
|
||||
openMediaLibrary,
|
||||
@ -191,6 +193,15 @@ const EditorControl = ({
|
||||
[collection],
|
||||
);
|
||||
|
||||
const isDuplicate = useMemo(
|
||||
() => isParentDuplicate || isFieldDuplicate(field, locale, i18n?.defaultLocale),
|
||||
[field, i18n?.defaultLocale, isParentDuplicate, locale],
|
||||
);
|
||||
const isHidden = useMemo(
|
||||
() => isParentHidden || isFieldHidden(field, locale, i18n?.defaultLocale),
|
||||
[field, i18n?.defaultLocale, isParentHidden, locale],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
if ((!dirty && !submitted) || isHidden) {
|
||||
return;
|
||||
@ -257,9 +268,11 @@ const EditorControl = ({
|
||||
fieldsErrors,
|
||||
submitted,
|
||||
getAsset: handleGetAsset,
|
||||
isDisabled: isDisabled ?? false,
|
||||
isFieldDuplicate,
|
||||
isFieldHidden,
|
||||
isDisabled: isDisabled || isDuplicate,
|
||||
isDuplicate,
|
||||
isFieldDuplicate: deprecatedIsFieldDuplicate,
|
||||
isHidden,
|
||||
isFieldHidden: deprecatedIsFieldHidden,
|
||||
label: getFieldLabel(field, t),
|
||||
locale,
|
||||
mediaPaths,
|
||||
@ -330,9 +343,16 @@ interface EditorControlOwnProps {
|
||||
fieldsErrors: FieldsErrors;
|
||||
submitted: boolean;
|
||||
isDisabled?: boolean;
|
||||
isParentDuplicate?: boolean;
|
||||
/**
|
||||
* @deprecated use isDuplicate instead
|
||||
*/
|
||||
isFieldDuplicate?: (field: Field) => boolean;
|
||||
isParentHidden?: boolean;
|
||||
/**
|
||||
* @deprecated use isHidden instead
|
||||
*/
|
||||
isFieldHidden?: (field: Field) => boolean;
|
||||
isHidden?: boolean;
|
||||
locale?: string;
|
||||
parentPath: string;
|
||||
value: ValueOrNestedValue;
|
||||
|
@ -195,8 +195,6 @@ const EditorControlPane = ({
|
||||
) : null}
|
||||
{fields.map(field => {
|
||||
const isTranslatable = isFieldTranslatable(field, locale, i18n?.defaultLocale);
|
||||
const isDuplicate = isFieldDuplicate(field, locale, i18n?.defaultLocale);
|
||||
const isHidden = isFieldHidden(field, locale, i18n?.defaultLocale);
|
||||
const key = i18n ? `field-${locale}_${field.name}` : `field-${field.name}`;
|
||||
|
||||
return (
|
||||
@ -206,8 +204,6 @@ const EditorControlPane = ({
|
||||
value={getFieldValue(field, entry, isTranslatable, locale)}
|
||||
fieldsErrors={fieldsErrors}
|
||||
submitted={submitted}
|
||||
isDisabled={isDuplicate}
|
||||
isHidden={isHidden}
|
||||
isFieldDuplicate={field => isFieldDuplicate(field, locale, i18n?.defaultLocale)}
|
||||
isFieldHidden={field => isFieldHidden(field, locale, i18n?.defaultLocale)}
|
||||
locale={locale}
|
||||
|
Reference in New Issue
Block a user