feat: value field function

This commit is contained in:
2026-02-25 09:33:59 +03:30
parent ff6089bfb0
commit 88ec9ed3b6

View File

@@ -27,6 +27,7 @@ type FormEnterLocationsProps = {
valueTemplateProps?: Array<{ [key: string]: "string" | "number" }>;
groupBy?: string | string[];
groupFunction?: (item: any) => string;
valueFieldFunction?: (item: any) => any;
selectField?: boolean;
};
@@ -53,6 +54,7 @@ export const FormApiBasedAutoComplete = ({
valueTemplateProps,
groupBy,
groupFunction,
valueFieldFunction,
selectField = false,
}: FormEnterLocationsProps) => {
const [data, setData] = useState<any>([]);
@@ -83,6 +85,18 @@ export const FormApiBasedAutoComplete = ({
return value;
};
const getPrimaryValue = (option: any) => {
if (valueFieldFunction) {
return valueFieldFunction(option);
}
return valueField === "page"
? getFaPermissions(option[valueField])
: typeof valueField === "string"
? option[valueField]
: getNestedValue(option, valueField);
};
const { data: apiData } = useApiRequest({
api: api,
method: "get",
@@ -122,17 +136,7 @@ export const FormApiBasedAutoComplete = ({
: undefined,
value: valueTemplate
? valueTemplate
.replace(
/v1/g,
formatValue(
valueField === "page"
? getFaPermissions(option[valueField])
: typeof valueField === "string"
? option[valueField]
: getNestedValue(option, valueField),
"v1",
),
)
.replace(/v1/g, formatValue(getPrimaryValue(option), "v1"))
.replace(
/v2/g,
formatValue(
@@ -155,13 +159,7 @@ export const FormApiBasedAutoComplete = ({
"v3",
),
)
: `${
valueField === "page"
? getFaPermissions(option[valueField])
: typeof valueField === "string"
? option[valueField]
: getNestedValue(option, valueField)
} ${
: `${getPrimaryValue(option)} ${
valueField2
? " - " +
(typeof valueField2 === "string"