add: size prop

This commit is contained in:
2026-02-09 13:53:43 +03:30
parent 4d00b0d492
commit 3624b3bc70

View File

@@ -7,6 +7,7 @@ import { getNestedValue } from "../../utils/getNestedValue";
type FormEnterLocationsProps = { type FormEnterLocationsProps = {
title: string; title: string;
api: string; api: string;
size?: "small" | "medium" | "large";
error?: boolean; error?: boolean;
errorMessage?: any; errorMessage?: any;
multiple?: boolean; multiple?: boolean;
@@ -31,6 +32,7 @@ type FormEnterLocationsProps = {
export const FormApiBasedAutoComplete = ({ export const FormApiBasedAutoComplete = ({
title, title,
api, api,
size,
error, error,
errorMessage, errorMessage,
onChange, onChange,
@@ -94,7 +96,7 @@ export const FormApiBasedAutoComplete = ({
if (filterAddress && filterValue) { if (filterAddress && filterValue) {
data = apiData.results?.filter( data = apiData.results?.filter(
(item: any) => (item: any) =>
!filterValue.includes(getNestedValue(item, filterAddress)) !filterValue.includes(getNestedValue(item, filterAddress)),
); );
} else { } else {
data = apiData.results; data = apiData.results;
@@ -119,10 +121,10 @@ export const FormApiBasedAutoComplete = ({
valueField === "page" valueField === "page"
? getFaPermissions(option[valueField]) ? getFaPermissions(option[valueField])
: typeof valueField === "string" : typeof valueField === "string"
? option[valueField] ? option[valueField]
: getNestedValue(option, valueField), : getNestedValue(option, valueField),
"v1" "v1",
) ),
) )
.replace( .replace(
/v2/g, /v2/g,
@@ -132,8 +134,8 @@ export const FormApiBasedAutoComplete = ({
? option[valueField2] ? option[valueField2]
: getNestedValue(option, valueField2) : getNestedValue(option, valueField2)
: "", : "",
"v2" "v2",
) ),
) )
.replace( .replace(
/v3/g, /v3/g,
@@ -143,15 +145,15 @@ export const FormApiBasedAutoComplete = ({
? option[valueField3] ? option[valueField3]
: getNestedValue(option, valueField3) : getNestedValue(option, valueField3)
: "", : "",
"v3" "v3",
) ),
) )
: `${ : `${
valueField === "page" valueField === "page"
? getFaPermissions(option[valueField]) ? getFaPermissions(option[valueField])
: typeof valueField === "string" : typeof valueField === "string"
? option[valueField] ? option[valueField]
: getNestedValue(option, valueField) : getNestedValue(option, valueField)
} ${ } ${
valueField2 valueField2
? " - " + ? " - " +
@@ -208,7 +210,7 @@ export const FormApiBasedAutoComplete = ({
setData(finalData); setData(finalData);
const actualDataItems = finalData.filter( const actualDataItems = finalData.filter(
(item: any) => !item.isGroupHeader && !item.disabled (item: any) => !item.isGroupHeader && !item.disabled,
); );
if (defaultKey !== undefined && defaultKey !== null) { if (defaultKey !== undefined && defaultKey !== null) {
@@ -218,10 +220,10 @@ export const FormApiBasedAutoComplete = ({
setSelectedKeys([]); setSelectedKeys([]);
} else { } else {
const defaultIds = defaultKey.map((item: any) => const defaultIds = defaultKey.map((item: any) =>
typeof item === "object" ? item[keyField] : item typeof item === "object" ? item[keyField] : item,
); );
const defaultItems = actualDataItems.filter((item: any) => const defaultItems = actualDataItems.filter((item: any) =>
defaultIds.includes(item.key) defaultIds.includes(item.key),
); );
setSelectedKeys(defaultItems.map((item: any) => item.key)); setSelectedKeys(defaultItems.map((item: any) => item.key));
if (onChange) { if (onChange) {
@@ -238,11 +240,11 @@ export const FormApiBasedAutoComplete = ({
} }
: {}), : {}),
}; };
}) }),
); );
if (onChangeValue) { if (onChangeValue) {
onChangeValue( onChangeValue(
defaultItems.map((item: any) => item.value.trim()) defaultItems.map((item: any) => item.value.trim()),
); );
} }
} else { } else {
@@ -258,7 +260,7 @@ export const FormApiBasedAutoComplete = ({
? defaultKey[keyField] ? defaultKey[keyField]
: defaultKey; : defaultKey;
const defaultItem = actualDataItems.find( const defaultItem = actualDataItems.find(
(item: any) => item.key === keyToFind (item: any) => item.key === keyToFind,
); );
if (defaultItem) { if (defaultItem) {
setSelectedKeys([keyToFind]); setSelectedKeys([keyToFind]);
@@ -296,18 +298,18 @@ export const FormApiBasedAutoComplete = ({
const groupItemKeys = groupItems.map((item: any) => item.key); const groupItemKeys = groupItems.map((item: any) => item.key);
const allGroupItemsSelected = groupItemKeys.every((key) => const allGroupItemsSelected = groupItemKeys.every((key) =>
selectedKeys.includes(key) selectedKeys.includes(key),
); );
let newSelectedKeys: (string | number)[]; let newSelectedKeys: (string | number)[];
if (allGroupItemsSelected) { if (allGroupItemsSelected) {
newSelectedKeys = selectedKeys.filter( newSelectedKeys = selectedKeys.filter(
(key) => !groupItemKeys.includes(key) (key) => !groupItemKeys.includes(key),
); );
} else { } else {
const newKeys = groupItemKeys.filter( const newKeys = groupItemKeys.filter(
(key) => !selectedKeys.includes(key) (key) => !selectedKeys.includes(key),
); );
newSelectedKeys = [...selectedKeys, ...newKeys]; newSelectedKeys = [...selectedKeys, ...newKeys];
} }
@@ -320,7 +322,7 @@ export const FormApiBasedAutoComplete = ({
(item: any) => (item: any) =>
newSelectedKeys.includes(item.key) && newSelectedKeys.includes(item.key) &&
!item.isGroupHeader && !item.isGroupHeader &&
!item.disabled !item.disabled,
); );
if (secondaryKey) { if (secondaryKey) {
@@ -329,7 +331,7 @@ export const FormApiBasedAutoComplete = ({
key1: item.key, key1: item.key,
key2: item.secondaryKey, key2: item.secondaryKey,
...(tertiaryKey ? { key3: item.tertiaryKey } : {}), ...(tertiaryKey ? { key3: item.tertiaryKey } : {}),
})) })),
); );
if (onChangeValue) { if (onChangeValue) {
onChangeValue(selectedItems.map((item: any) => item.value.trim())); onChangeValue(selectedItems.map((item: any) => item.value.trim()));
@@ -344,6 +346,7 @@ export const FormApiBasedAutoComplete = ({
<AutoComplete <AutoComplete
multiselect={multiple} multiselect={multiple}
selectField={selectField} selectField={selectField}
size={size}
data={data} data={data}
selectedKeys={selectedKeys} selectedKeys={selectedKeys}
onChange={(newSelectedKeys) => { onChange={(newSelectedKeys) => {
@@ -357,7 +360,7 @@ export const FormApiBasedAutoComplete = ({
(item: any) => (item: any) =>
newSelectedKeys.includes(item.key) && newSelectedKeys.includes(item.key) &&
!item.isGroupHeader && !item.isGroupHeader &&
!item.disabled !item.disabled,
); );
onChange( onChange(
@@ -365,16 +368,16 @@ export const FormApiBasedAutoComplete = ({
key1: item.key, key1: item.key,
key2: item.secondaryKey, key2: item.secondaryKey,
...(tertiaryKey ? { key3: item.tertiaryKey } : {}), ...(tertiaryKey ? { key3: item.tertiaryKey } : {}),
})) })),
); );
if (onChangeValue) { if (onChangeValue) {
onChangeValue( onChangeValue(
selectedItems.map((item: any) => item.value.trim()) selectedItems.map((item: any) => item.value.trim()),
); );
} }
} else { } else {
const validKeys = newSelectedKeys.filter( const validKeys = newSelectedKeys.filter(
(key) => !String(key).startsWith("__group__") (key) => !String(key).startsWith("__group__"),
); );
onChange(validKeys); onChange(validKeys);
} }
@@ -384,7 +387,7 @@ export const FormApiBasedAutoComplete = ({
(item: any) => (item: any) =>
item.key === newSelectedKeys[0] && item.key === newSelectedKeys[0] &&
!item.isGroupHeader && !item.isGroupHeader &&
!item.disabled !item.disabled,
); );
if (onChangeValue) { if (onChangeValue) {
onChangeValue({ onChangeValue({