add: size prop
This commit is contained in:
@@ -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({
|
||||||
|
|||||||
Reference in New Issue
Block a user