Client/Shared: Fixed option selection.

This commit is contained in:
Tatiana Lopaeva 2024-08-12 16:10:57 +03:00
parent 14ae9e1a48
commit 582912b359
3 changed files with 13 additions and 9 deletions

View File

@ -54,7 +54,7 @@ interface AccessSelectorProps {
directionY?: string;
isSelectionDisabled?: boolean;
selectionErrorText: React.ReactNode;
availableAccess?: number;
availableAccess?: number[];
}
const AccessSelector: React.FC<AccessSelectorProps> = ({

View File

@ -61,17 +61,21 @@ export const AccessRightSelectPure = ({
const onSelectCurrentItem = useCallback(
(option: TOption) => {
if (option) {
if (!isSelectionDisabled) setCurrentItem(option);
if (isSelectionDisabled) {
let isError =
option.access && option.access !== selectedOption.access;
const isError = availableAccess
? availableAccess !== option.access
: option.access !== selectedOption.access;
if (availableAccess && option.access) {
isError = availableAccess.every((item) => item !== option.access);
}
if (isSelectionDisabled && isError) {
if (isError) {
toastr.error(selectionErrorText);
return;
}
}
setCurrentItem(option);
onSelect?.(option);
}
},

View File

@ -51,5 +51,5 @@ export type AccessRightSelectProps = PropsFromCombobox & {
accessOptions: ComboboxProps["options"];
isSelectionDisabled?: boolean;
selectionErrorText?: React.ReactNode;
availableAccess?: number;
availableAccess?: number[];
};