Repository URL to install this package:
|
Version:
3.12.20 ▾
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import { useEffect, useState, useCallback } from 'react';
import { DEFAULT_ZOOM_RATIO } from './Body.constants';
import Styled from './Body.styled';
import Footer from './Footer';
import Header from './Header';
import Preview from './Preview';
import { TABS_IDS } from '../tabs/tabs.constants';
import CommentingField from './CommentingField';
import { jsx as _jsx } from "react/jsx-runtime";
import { jsxs as _jsxs } from "react/jsx-runtime";
var FileWindowBody = function FileWindowBody(_ref) {
var _ref$originalFile = _ref.originalFile,
originalFile = _ref$originalFile === void 0 ? {} : _ref$originalFile,
_ref$previewedFile = _ref.previewedFile,
previewedFile = _ref$previewedFile === void 0 ? {} : _ref$previewedFile,
isSupportAnnotationFile = _ref.isSupportAnnotationFile,
setFileData = _ref.setFileData,
isCommentsTabOpened = _ref.isCommentsTabOpened,
setPreviewedFile = _ref.setPreviewedFile,
activeTabId = _ref.activeTabId,
setActiveTabId = _ref.setActiveTabId,
isPdfPreviewSupported = _ref.isPdfPreviewSupported,
isImageFile = _ref.isImageFile,
annotatingFieldProps = _ref.annotatingFieldProps,
isPdfFile = _ref.isPdfFile,
isAudioFileAndSupportsPlayback = _ref.isAudioFileAndSupportsPlayback,
isVideoFile = _ref.isVideoFile,
isAudioFile = _ref.isAudioFile,
isVideoFileAndSupportsPlayback = _ref.isVideoFileAndSupportsPlayback,
alertUnsavedChangesFirst = _ref.alertUnsavedChangesFirst;
var _useState = useState(DEFAULT_ZOOM_RATIO),
_useState2 = _slicedToArray(_useState, 2),
zoomRatio = _useState2[0],
setZoomRatio = _useState2[1];
var _useState3 = useState(function () {
return previewedFile;
}),
_useState4 = _slicedToArray(_useState3, 2),
displayedFileVariant = _useState4[0],
setDisplayedFileVariant = _useState4[1];
var _useState5 = useState(null),
_useState6 = _slicedToArray(_useState5, 2),
videoEl = _useState6[0],
setVideoEl = _useState6[1];
var _useState7 = useState(null),
_useState8 = _slicedToArray(_useState7, 2),
imgEl = _useState8[0],
setImgEl = _useState8[1];
var _useState9 = useState(false),
_useState10 = _slicedToArray(_useState9, 2),
isMediaLoadingFailed = _useState10[0],
setIsMediaLoadingFailed = _useState10[1];
var isFileLoading = originalFile.loading;
var isFileFailedToLoad = originalFile.error;
var _isPdfPreviewSupported = isPdfFile && isPdfPreviewSupported;
var setVideoRef = useCallback(function (node) {
if (node !== null) {
setVideoEl({
current: node
});
}
}, [previewedFile]);
var setImgRef = useCallback(function (node) {
if (node !== null) {
setImgEl({
current: node
});
}
}, [previewedFile]);
var changeDisplayedVariant = function changeDisplayedVariant(variant) {
if (variant) {
setDisplayedFileVariant(variant);
return;
}
var _previewedFile;
setPreviewedFile(function (_latestPreviewedFile) {
_previewedFile = _latestPreviewedFile;
return _latestPreviewedFile;
});
setDisplayedFileVariant(_previewedFile);
};
useEffect(function () {
changeDisplayedVariant(previewedFile);
setIsMediaLoadingFailed(false);
if (previewedFile.uuid !== displayedFileVariant.uuid) {
changeDisplayedVariant(previewedFile);
}
}, [previewedFile]);
useEffect(function () {
if (isCommentsTabOpened && !isSupportAnnotationFile) {
setActiveTabId(TABS_IDS.DETAILS);
}
}, [isSupportAnnotationFile, isCommentsTabOpened]);
useEffect(function () {
if (isCommentsTabOpened) {
setZoomRatio(DEFAULT_ZOOM_RATIO);
}
}, [isCommentsTabOpened]);
return /*#__PURE__*/_jsxs(Styled.Container, {
children: [/*#__PURE__*/_jsx(Header, {
file: displayedFileVariant,
isPdfFile: isPdfFile,
isAudioFile: isAudioFile,
isVideoFile: isVideoFile,
isFileLoading: isFileLoading
}), /*#__PURE__*/_jsx(Preview, {
originalFile: originalFile,
previewedFile: previewedFile // the file previewed (original/version)
,
displayedVariant: displayedFileVariant // the variant selected to preview (variant of origina/version file).
,
zoomRatio: zoomRatio,
setZoomRatio: setZoomRatio,
isPdfPreviewSupported: _isPdfPreviewSupported,
videoEl: videoEl,
isFileLoading: isFileLoading,
isFileFailedToLoad: isFileFailedToLoad,
setFileData: setFileData,
setVideoRef: setVideoRef,
imgEl: imgEl,
setImgRef: setImgRef,
isCommentsTabOpened: isCommentsTabOpened,
activeTabId: activeTabId,
setActiveTabId: setActiveTabId,
isSupportAnnotationFile: isSupportAnnotationFile,
isMediaLoadingFailed: isMediaLoadingFailed,
setIsMediaLoadingFailed: setIsMediaLoadingFailed,
alertUnsavedChangesFirst: alertUnsavedChangesFirst
}), (!isCommentsTabOpened || isVideoFile) && /*#__PURE__*/_jsx(Footer, {
isImageFile: isImageFile,
isPdfFile: isPdfFile,
isVideoFile: isVideoFile,
isAudioFile: isAudioFile,
originalFile: originalFile,
previewedFile: previewedFile,
zoomRatio: zoomRatio,
setZoomRatio: setZoomRatio,
setDisplayedFileVariant: changeDisplayedVariant,
displayedFileVariant: displayedFileVariant,
isPdfPreviewSupported: _isPdfPreviewSupported,
isCommentsTabOpened: isCommentsTabOpened,
isMediaLoadingFailed: isMediaLoadingFailed,
isAudioFileAndSupportsPlayback: isAudioFileAndSupportsPlayback,
isVideoFileAndSupportsPlayback: isVideoFileAndSupportsPlayback,
videoEl: videoEl
}), isCommentsTabOpened && /*#__PURE__*/_jsx(Styled.AnnotatingFieldWrapper, {
"data-expand-height": true,
children: /*#__PURE__*/_jsx(CommentingField, {
previewedFile: previewedFile,
annotatingFieldProps: annotatingFieldProps
}, previewedFile.uuid)
})]
});
};
export default FileWindowBody;