UNPKG

@filerobot/approvals

Version:

Asset approvals package for Filerobot

63 lines 2.38 kB
import { useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { activateApproval, fetchFileApprovals, selectActiveApproval, selectApprovalsArray, selectApprovalsLoading, selectCurrentFile } from '../../common.slice'; import DetailsView from './DetailsView'; import ListView from './ListView'; import Styled from './ApprovalsTab.styled'; import { jsx as _jsx } from "react/jsx-runtime"; var ApprovalsTab = function ApprovalsTab(_ref) { var _ref$isModalViewMode = _ref.isModalViewMode, isModalViewMode = _ref$isModalViewMode === void 0 ? false : _ref$isModalViewMode, onClickDetailsButton = _ref.onClickDetailsButton, selectedFile = _ref.selectedFile; var dispatch = useDispatch(); var currentFile = useSelector(selectCurrentFile); var activeApproval = useSelector(selectActiveApproval); var isLoading = useSelector(selectApprovalsLoading); var approvals = useSelector(function (state) { return selectApprovalsArray(state, isModalViewMode); }); var originalFile = currentFile || selectedFile; var fileUuid = originalFile === null || originalFile === void 0 ? void 0 : originalFile.uuid; useEffect(function () { var prevValue = document.body.style.overflow; document.body.style.overflow = 'hidden'; return function () { document.body.style.overflow = prevValue; }; }, []); useEffect(function () { var abortFunc; if (fileUuid) { var skipFetchVersionsApprovals = !!isModalViewMode; var request = dispatch(fetchFileApprovals({ originalFile: originalFile, skipFetchVersionsApprovals: skipFetchVersionsApprovals })); var abort = request.abort; abortFunc = abort; } return function () { if (typeof abortFunc === 'function') { abortFunc(); } dispatch(activateApproval({ updateUrl: false })); }; }, [fileUuid]); return /*#__PURE__*/_jsx(Styled.Container, { children: activeApproval ? /*#__PURE__*/_jsx(DetailsView, { approval: activeApproval, originalFile: originalFile }) : /*#__PURE__*/_jsx(ListView, { approvals: approvals, isModalViewMode: isModalViewMode, isLoading: isLoading, onClickDetailsButton: onClickDetailsButton, selectedFile: selectedFile, originalFile: originalFile }) }); }; export default ApprovalsTab;