Client/Shared: Fixed option selection.
This commit is contained in:
parent
14ae9e1a48
commit
582912b359
@ -54,7 +54,7 @@ interface AccessSelectorProps {
|
||||
directionY?: string;
|
||||
isSelectionDisabled?: boolean;
|
||||
selectionErrorText: React.ReactNode;
|
||||
availableAccess?: number;
|
||||
availableAccess?: number[];
|
||||
}
|
||||
|
||||
const AccessSelector: React.FC<AccessSelectorProps> = ({
|
||||
|
@ -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);
|
||||
}
|
||||
},
|
||||
|
@ -51,5 +51,5 @@ export type AccessRightSelectProps = PropsFromCombobox & {
|
||||
accessOptions: ComboboxProps["options"];
|
||||
isSelectionDisabled?: boolean;
|
||||
selectionErrorText?: React.ReactNode;
|
||||
availableAccess?: number;
|
||||
availableAccess?: number[];
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user