web/src/components/task/task-document-pages/task-document-pages.tsx (56 lines of code) (raw):

// temporary_disabled_rules /* eslint-disable @typescript-eslint/no-unused-vars */ import React, { RefObject } from 'react'; import { useTaskAnnotatorContext } from 'connectors/task-annotator-connector/task-annotator-context'; import DocumentPages from 'shared/components/document-pages/document-pages'; import ExternalViewerPopup from 'components/external-viewer-modal/external-viewer-popup'; import styles from './task-document-pages.module.scss'; import { GridVariants } from 'shared/constants/task'; import { TDocumentPDFRef } from 'shared/components/document-pages/components/document-pdf/types'; export interface DocumentPageProps { viewMode: boolean; additionalScale: number; gridVariant?: GridVariants; documentPDFRef: RefObject<TDocumentPDFRef> | null; } const TaskDocumentPages = ({ viewMode, additionalScale, gridVariant = GridVariants.horizontal, documentPDFRef }: DocumentPageProps) => { const { task, fileMetaInfo, pageSize, setPageSize, pageNumbers, currentPage, editedPages, externalViewer, onExternalViewerClose } = useTaskAnnotatorContext(); const isValidation = task?.is_validation; const isReady = task?.status === 'Ready'; const isInProgress = task?.status === 'In Progress'; const isEdited = editedPages.includes(currentPage); const editable = !viewMode && (!isValidation || isEdited) && (isReady || isInProgress); return ( <div className={styles.container}> {externalViewer.isOpen && ( <ExternalViewerPopup onClose={onExternalViewerClose} valueAttr={externalViewer.value} nameAttr={externalViewer.name} typeAttr={externalViewer.type} /> )} <DocumentPages gridVariant={gridVariant} additionalScale={additionalScale} pageNumbers={pageNumbers} fileMetaInfo={fileMetaInfo} apiPageSize={pageSize} setPageSize={setPageSize} editable={editable} documentPDFRef={documentPDFRef} /> </div> ); }; export default TaskDocumentPages;