Client: Added the ability to transfer available rights.
This commit is contained in:
parent
250f7f4c23
commit
14ae9e1a48
@ -54,6 +54,7 @@ interface AccessSelectorProps {
|
||||
directionY?: string;
|
||||
isSelectionDisabled?: boolean;
|
||||
selectionErrorText: React.ReactNode;
|
||||
availableAccess?: number;
|
||||
}
|
||||
|
||||
const AccessSelector: React.FC<AccessSelectorProps> = ({
|
||||
@ -76,6 +77,7 @@ const AccessSelector: React.FC<AccessSelectorProps> = ({
|
||||
directionY = "bottom",
|
||||
isSelectionDisabled,
|
||||
selectionErrorText,
|
||||
availableAccess,
|
||||
}) => {
|
||||
const [horizontalOrientation, setHorizontalOrientation] = useState(false);
|
||||
const [width, setWidth] = useState(manualWidth || 0);
|
||||
@ -139,6 +141,7 @@ const AccessSelector: React.FC<AccessSelectorProps> = ({
|
||||
isDisabled={isDisabled}
|
||||
isSelectionDisabled={isSelectionDisabled}
|
||||
selectionErrorText={selectionErrorText}
|
||||
availableAccess={availableAccess}
|
||||
/>
|
||||
)}
|
||||
|
||||
@ -163,6 +166,7 @@ const AccessSelector: React.FC<AccessSelectorProps> = ({
|
||||
isDisabled={isDisabled}
|
||||
isSelectionDisabled={isSelectionDisabled}
|
||||
selectionErrorText={selectionErrorText}
|
||||
availableAccess={availableAccess}
|
||||
/>
|
||||
)}
|
||||
</StyledAccessSelector>
|
||||
|
@ -50,6 +50,7 @@ import { filterGroupRoleOptions, filterUserRoleOptions } from "SRC_DIR/helpers";
|
||||
import AccessSelector from "../../../AccessSelector";
|
||||
|
||||
import PaidQuotaLimitError from "SRC_DIR/components/PaidQuotaLimitError";
|
||||
import { EmployeeType } from "@docspace/shared/enums";
|
||||
|
||||
const Item = ({
|
||||
t,
|
||||
@ -261,6 +262,7 @@ const Item = ({
|
||||
noBorder
|
||||
isSelectionDisabled={isPaidUserLimit}
|
||||
selectionErrorText={<PaidQuotaLimitError />}
|
||||
availableAccess={EmployeeType.Guest}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
|
@ -49,6 +49,7 @@ export const AccessRightSelectPure = ({
|
||||
className,
|
||||
isSelectionDisabled,
|
||||
selectionErrorText,
|
||||
availableAccess,
|
||||
...props
|
||||
}: AccessRightSelectProps) => {
|
||||
const [currentItem, setCurrentItem] = useState(selectedOption);
|
||||
@ -62,7 +63,11 @@ export const AccessRightSelectPure = ({
|
||||
if (option) {
|
||||
if (!isSelectionDisabled) setCurrentItem(option);
|
||||
|
||||
if (isSelectionDisabled && option.access !== selectedOption.access) {
|
||||
const isError = availableAccess
|
||||
? availableAccess !== option.access
|
||||
: option.access !== selectedOption.access;
|
||||
|
||||
if (isSelectionDisabled && isError) {
|
||||
toastr.error(selectionErrorText);
|
||||
return;
|
||||
}
|
||||
|
@ -51,4 +51,5 @@ export type AccessRightSelectProps = PropsFromCombobox & {
|
||||
accessOptions: ComboboxProps["options"];
|
||||
isSelectionDisabled?: boolean;
|
||||
selectionErrorText?: React.ReactNode;
|
||||
availableAccess?: number;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user