Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@filerobot/explorer / lib / components / Modals / ManageAccess / ManageAccessContent.js
Size: Mime:
import {
// Button, ModalActions, ModalContent, ModalTitle,
MenuItem, RadioGroup, Select, Notification } from '@scaleflex/ui/core';
import { MANAGE_ACCESS_MODE_IDS } from '@filerobot/utils/lib/constants';
import { useSelector } from 'react-redux';
import Styled from './ManageAccess.styled';
import AccessesList from './AccessesList';
import { getGalleryRoleLabel } from '../../GalleryRoleSelect/GalleryRoleSelect.utils';
import AddUserOrTeamModal from './AddUserOrTeamModal';
import useManageAccess from './useManageAccess.hook';
import { useExplorerI18n } from '../../../hooks';
import { selectAccessRoles } from '../../../slices/common.slice';
import { useEffect } from 'react';
import { jsx as _jsx } from "react/jsx-runtime";
import { jsxs as _jsxs } from "react/jsx-runtime";
import { Fragment as _Fragment } from "react/jsx-runtime";
var ManageAccessContent = function ManageAccessContent(_ref) {
  var updateData = _ref.updateData,
    setPrimaryButtonDisabled = _ref.setPrimaryButtonDisabled,
    setIsModalLoading = _ref.setIsModalLoading,
    setIsModalHidden = _ref.setIsModalHidden,
    setStopEnterKeySubmits = _ref.setStopEnterKeySubmits,
    folders = _ref.folders,
    files = _ref.files;
  var accessRoles = useSelector(selectAccessRoles);
  var i18n = useExplorerI18n(function (_ref2) {
    var i18n = _ref2.i18n;
    return i18n;
  });
  // const setPluginState = [] // useExplorerContext(({ setPluginState }) => setPluginState)

  var _useManageAccess = useManageAccess({
      updateData: updateData,
      folders: folders,
      files: files
    }),
    mode = _useManageAccess.mode,
    setMode = _useManageAccess.setMode,
    isLoading = _useManageAccess.isLoading,
    addNewAccessesToState = _useManageAccess.addNewAccessesToState,
    accesses = _useManageAccess.accesses,
    defaultAccessRoleId = _useManageAccess.defaultAccessRoleId,
    setDefaultAccessRoleId = _useManageAccess.setDefaultAccessRoleId,
    isShareModalVisible = _useManageAccess.isShareModalVisible,
    setIsShareModalVisible = _useManageAccess.setIsShareModalVisible,
    isInheritMode = _useManageAccess.isInheritMode,
    deleteAccessFromState = _useManageAccess.deleteAccessFromState,
    changeAccessRoleState = _useManageAccess.changeAccessRoleState,
    saveAccesses = _useManageAccess.saveAccesses,
    item = _useManageAccess.item,
    inheritState = _useManageAccess.inheritState,
    isHighestDefaultRoleSelected = _useManageAccess.isHighestDefaultRoleSelected,
    accessesUuidsWithLowerRole = _useManageAccess.accessesUuidsWithLowerRole;

  // const handleModalClose = () => setPluginState({ showManageAccessModal: false })
  var handleShareModalClose = function handleShareModalClose() {
    return setIsShareModalVisible(false);
  };
  var handleShareModalOpen = function handleShareModalOpen() {
    return setIsShareModalVisible(true);
  };
  var handleModeChange = function handleModeChange(newMode) {
    return function () {
      return setMode(newMode);
    };
  };
  var isFormValid = !accessesUuidsWithLowerRole.length;
  useEffect(function () {
    updateData({
      saveAccesses: saveAccesses
    });
  }, [saveAccesses]);
  useEffect(function () {
    setPrimaryButtonDisabled(!isFormValid);
  }, [isFormValid]);
  useEffect(function () {
    setIsModalLoading(isLoading);
  }, [isLoading]);
  useEffect(function () {
    setIsModalHidden(isShareModalVisible);
    setStopEnterKeySubmits(isShareModalVisible);
  }, [isShareModalVisible]);
  return /*#__PURE__*/_jsx(_Fragment, {
    children: /*#__PURE__*/_jsxs(Styled.Container, {
      children: [/*#__PURE__*/_jsxs("div", {
        children: [(item === null || item === void 0 ? void 0 : item.path) && /*#__PURE__*/_jsx(Notification, {
          message: i18n('explorerManageFolderPathNotification', {
            folder_path: item.path
          })
        }), /*#__PURE__*/_jsx(Styled.H3, {
          children: i18n('explorerManageAccessModeLabel')
        }), /*#__PURE__*/_jsx(Styled.Hint, {
          children: i18n('explorerManageAccessModeHint')
        }), /*#__PURE__*/_jsxs(Styled.CheckboxesBlock, {
          children: [/*#__PURE__*/_jsx(RadioGroup, {
            label: i18n('explorerManageAccessModeInheritLabel'),
            size: "md",
            checked: mode === MANAGE_ACCESS_MODE_IDS.INHERIT,
            onClick: handleModeChange(MANAGE_ACCESS_MODE_IDS.INHERIT),
            disabled: isLoading
          }), /*#__PURE__*/_jsx(RadioGroup, {
            label: i18n('explorerManageAccessModeOverrideLabel'),
            size: "md",
            checked: mode === MANAGE_ACCESS_MODE_IDS.OVERRIDE,
            onClick: handleModeChange(MANAGE_ACCESS_MODE_IDS.OVERRIDE),
            disabled: isLoading
          })]
        })]
      }), !isInheritMode && /*#__PURE__*/_jsxs(_Fragment, {
        children: [/*#__PURE__*/_jsxs(Styled.Section, {
          children: [/*#__PURE__*/_jsxs("div", {
            children: [/*#__PURE__*/_jsx(Styled.H4, {
              children: i18n('explorerManageAccessDefaultRoleLabel')
            }), /*#__PURE__*/_jsx(Styled.Hint, {
              children: i18n('explorerManageAccessDefaultRoleHint')
            })]
          }), /*#__PURE__*/_jsx(Select, {
            value: isInheritMode ? inheritState === null || inheritState === void 0 ? void 0 : inheritState.roleId : defaultAccessRoleId,
            onChange: setDefaultAccessRoleId,
            disabled: isInheritMode || isLoading,
            children: (accessRoles || []).map(function (role) {
              return /*#__PURE__*/_jsx(MenuItem, {
                value: role.id,
                children: getGalleryRoleLabel(role.name, i18n)
              }, role.id);
            })
          })]
        }), /*#__PURE__*/_jsx(Styled.Section, {
          children: /*#__PURE__*/_jsx(AccessesList, {
            items: isInheritMode ? inheritState === null || inheritState === void 0 ? void 0 : inheritState.accesses : accesses,
            isInheritMode: isInheritMode,
            openShareModal: handleShareModalOpen,
            deleteAccessFromState: deleteAccessFromState,
            changeAccessRoleState: changeAccessRoleState,
            defaultAccessRoleId: defaultAccessRoleId,
            isHighestDefaultRoleSelected: isHighestDefaultRoleSelected,
            accessesUuidsWithLowerRole: accessesUuidsWithLowerRole
          })
        })]
      }), isShareModalVisible && /*#__PURE__*/_jsx(AddUserOrTeamModal, {
        onClose: handleShareModalClose,
        addNewAccessesToState: addNewAccessesToState,
        accesses: accesses,
        defaultAccessRoleId: defaultAccessRoleId
      })]
    })
  });
};
export default ManageAccessContent;