Skip to content

Commit

Permalink
feat: Added filename to mediaviewer toolbar
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelkoelle committed May 17, 2021
1 parent d6d8273 commit f1fe69f
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 91 deletions.
193 changes: 109 additions & 84 deletions app/features/media-viewer/ViewerToolbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@ import {
Typography,
} from '@material-ui/core';
import AddIcon from '@material-ui/icons/Add';
import LaunchIcon from '@material-ui/icons/Launch';
import RemoveIcon from '@material-ui/icons/Remove';
import RotateLeftIcon from '@material-ui/icons/RotateLeft';
import RotateRightIcon from '@material-ui/icons/RotateRight';
import NavigateNextIcon from '@material-ui/icons/NavigateNext';
import NavigateBeforeIcon from '@material-ui/icons/NavigateBefore';
import CropFreeIcon from '@material-ui/icons/CropFree';
import FolderOpenIcon from '@material-ui/icons/FolderOpen';
import React, { useEffect } from 'react';
import { shell } from 'electron';
import 'react-pdf/dist/esm/Page/AnnotationLayer.css';
import * as Path from 'path';
import clamp from '../../utils/MathUtil';

type ViewerToolbarProps = {
Expand Down Expand Up @@ -109,100 +110,124 @@ export default function ViewerToolbar(props: ViewerToolbarProps) {
alignItems="center"
>
<Paper>
<Grid item container justify="center" alignItems="center">
<Grid item>
<Tooltip title="Previous file">
<IconButton
size="medium"
aria-label="add"
onClick={onPreviousFile}
disabled={filePaths.length === 1}
>
<NavigateBeforeIcon />
</IconButton>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Rotate left">
<IconButton size="medium" aria-label="add" onClick={onRotateLeft}>
<RotateLeftIcon />
</IconButton>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Zoom in">
<span>
<Grid
item
container
direction="column"
justify="center"
alignItems="center"
spacing={0}
>
<Grid item container justify="center" alignItems="center">
<Grid item>
<Tooltip title="Previous file">
<IconButton
size="medium"
aria-label="add"
onClick={onZoomIn}
disabled={scale >= ZOOMMAX}
onClick={onPreviousFile}
disabled={filePaths.length === 1}
>
<AddIcon />
<NavigateBeforeIcon />
</IconButton>
</span>
</Tooltip>
</Grid>
<Grid item>
<Typography variant="h6">
{`(${fileIndex + 1}/${filePaths.length})`}
</Typography>
</Grid>
<Grid item>
<Tooltip title="Zoom out">
<span>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Rotate left">
<IconButton
size="medium"
aria-label="add"
onClick={onZoomOut}
disabled={scale <= ZOOMMIN}
onClick={onRotateLeft}
>
<RemoveIcon />
<RotateLeftIcon />
</IconButton>
</span>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Rotate right">
<IconButton
size="medium"
aria-label="add"
onClick={onRotateRight}
>
<RotateRightIcon />
</IconButton>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Next file">
<IconButton
size="medium"
aria-label="add"
onClick={onNextFile}
disabled={filePaths.length === 1}
>
<NavigateNextIcon />
</IconButton>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Reset scale">
<IconButton
size="medium"
aria-label="add"
onClick={onResetScale}
disabled={scale === 1}
>
<CropFreeIcon />
</IconButton>
</Tooltip>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Zoom in">
<span>
<IconButton
size="medium"
aria-label="add"
onClick={onZoomIn}
disabled={scale >= ZOOMMAX}
>
<AddIcon />
</IconButton>
</span>
</Tooltip>
</Grid>
<Grid item>
<Typography variant="h6">
{`(${fileIndex + 1}/${filePaths.length})`}
</Typography>
</Grid>
<Grid item>
<Tooltip title="Zoom out">
<span>
<IconButton
size="medium"
aria-label="add"
onClick={onZoomOut}
disabled={scale <= ZOOMMIN}
>
<RemoveIcon />
</IconButton>
</span>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Rotate right">
<IconButton
size="medium"
aria-label="add"
onClick={onRotateRight}
>
<RotateRightIcon />
</IconButton>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Next file">
<IconButton
size="medium"
aria-label="add"
onClick={onNextFile}
disabled={filePaths.length === 1}
>
<NavigateNextIcon />
</IconButton>
</Tooltip>
</Grid>
<Grid item>
<Tooltip title="Reset scale">
<IconButton
size="medium"
aria-label="add"
onClick={onResetScale}
disabled={scale === 1}
>
<CropFreeIcon />
</IconButton>
</Tooltip>
</Grid>
</Grid>
<Grid item>
<Tooltip title="Open file in folder">
<IconButton size="medium" aria-label="add" onClick={onOpenFolder}>
<FolderOpenIcon />
</IconButton>
</Tooltip>
<Grid
item
container
justify="center"
alignItems="center"
style={{ marginTop: '-5px', marginBottom: '2px' }}
>
<Typography variant="caption">
{Path.basename(filePaths[fileIndex])}
</Typography>
<IconButton
size="small"
style={{ marginLeft: '5px' }}
onClick={onOpenFolder}
>
<LaunchIcon style={{ width: '12px', height: '12px' }} />
</IconButton>
</Grid>
</Grid>
</Paper>
Expand Down
4 changes: 2 additions & 2 deletions app/model/SheetOverviewSlice.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ function ingestCorrectionFromZip(
const targetFiles: string[] = [];
files.forEach((file, i) => {
const filesDir: string = Path.join(submissionName, 'files');
const { ext } = Path.parse(file);
const fileName = `${submissionName}-${i + 1}${ext}`;
const { base } = Path.parse(file);
const fileName = base;
const buffer: Buffer | null = zip.readFile(file);
if (buffer != null) {
addFileToWorkspace(`${filesDir}/${fileName}`, buffer, workspace);
Expand Down
10 changes: 5 additions & 5 deletions app/utils/FileAccess.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,16 +64,16 @@ export function getAllFilesInDirectory(

export function copySubmissionFiles(
files: string[],
name: string | undefined = undefined,
submissionId: string | undefined = undefined,
workspace: string
): string[] {
const zip = new AdmZip(workspace);
const targetFiles: string[] = [];
files.forEach((file, i) => {
const { ext } = Path.parse(file);
if (name) {
const fileName = `${name}-${i + 1}${ext}`;
const fileDir = `${name}/files/`;
const { base } = Path.parse(file);
if (submissionId) {
const fileName = base;
const fileDir = `${submissionId}/files/`;
const fullPath = `${fileDir}/${fileName}`;
if (zip.getEntry(fullPath) === null) {
zip.addLocalFile(file, fileDir, fileName);
Expand Down

0 comments on commit f1fe69f

Please sign in to comment.