@@ -47,20 +99,26 @@ export function WrapIfAdditionalTemplate<
}
const keyId = `${id}-key`;
- const keyLabel = t("configForm.additionalProperties.keyLabel", {
- ns: "views/settings",
- });
+ const keyLabel = keyLabelKey
+ ? t(keyLabelKey, { ns: "views/settings" })
+ : t("configForm.additionalProperties.keyLabel", { ns: "views/settings" });
const valueLabel = t("configForm.additionalProperties.valueLabel", {
ns: "views/settings",
});
- const keyPlaceholder = t("configForm.additionalProperties.keyPlaceholder", {
- ns: "views/settings",
- });
+ const keyPlaceholder = keyPlaceholderKey
+ ? t(keyPlaceholderKey, { ns: "views/settings" })
+ : t("configForm.additionalProperties.keyPlaceholder", {
+ ns: "views/settings",
+ });
const removeLabel = t("configForm.additionalProperties.remove", {
ns: "views/settings",
});
- const uiOptions = getUiOptions(uiSchema);
- const keyIsReadonly = uiOptions.additionalPropertyKeyReadonly === true;
+
+ const commitKeyRename = (e: FocusEvent
) => {
+ if (readonly) return;
+ if (keyError) return;
+ onKeyRenameBlur?.(e);
+ };
return (
{displayLabel &&
}
- {keyIsReadonly ? (
+ {keyLocked ? (
{label}
) : (
-
+ <>
+
setKeyValue(e.target.value)}
+ onBlur={!readonly ? commitKeyRename : undefined}
+ aria-invalid={keyError ? true : undefined}
+ />
+ {keyError && (
+
{keyError}
+ )}
+ >
)}
)}