From 6f211153f35220f3e6658d1da7a9a5433f8a43c2 Mon Sep 17 00:00:00 2001 From: Davide Di Pumpo Date: Mon, 20 Oct 2025 15:43:56 +0200 Subject: [PATCH 1/6] refactor: Enhance input name --- .../src/components/OmegaForm/OmegaFormStuff.ts | 12 ++++++++++-- .../vue-components/stories/OmegaForm/SimpleForm.vue | 8 ++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/vue-components/src/components/OmegaForm/OmegaFormStuff.ts b/packages/vue-components/src/components/OmegaForm/OmegaFormStuff.ts index ca279d02fb..b47e4ba242 100644 --- a/packages/vue-components/src/components/OmegaForm/OmegaFormStuff.ts +++ b/packages/vue-components/src/components/OmegaForm/OmegaFormStuff.ts @@ -7,11 +7,19 @@ import { getTransformationFrom, useIntl } from "../../utils" import { type OmegaFieldInternalApi } from "./InputProps" import { type OF, type OmegaFormReturn } from "./useOmegaForm" -export type BaseProps> = { +type Leaves = T extends ReadonlyArray + ? Leaves & {} + : { + [K in keyof T]: T[K] extends string | boolean | number | null | undefined | symbol | bigint + ? `${Path extends "" ? "" : `${Path}.`}${K & string}` + : Leaves & {} + }[keyof T] + +export type BaseProps = DeepKeys> = { /** Will fallback to i18n when not specified */ label?: string validators?: FieldValidators - name: TName + name: TName & Leaves } export type TypesWithOptions = "radio" | "select" | "multiple" | "autocomplete" | "autocompletemultiple" diff --git a/packages/vue-components/stories/OmegaForm/SimpleForm.vue b/packages/vue-components/stories/OmegaForm/SimpleForm.vue index 5c51256b82..3d78540075 100644 --- a/packages/vue-components/stories/OmegaForm/SimpleForm.vue +++ b/packages/vue-components/stories/OmegaForm/SimpleForm.vue @@ -4,7 +4,7 @@
values: {{ values }} {{ isDirty }}