Merge branch 'frontend' of github.com:nakazawakan/kikikanri into adminkanryo
このコミットが含まれているのは:
コミット
5d2da19a91
|
@ -2471,6 +2471,163 @@
|
|||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.1.tgz",
|
||||
"integrity": "sha512-HnUhk1Sy9IuKrxEMdIRCxpIqPw6BFsbYSEUO9p/hNw5sMld/+3OLMWQP80F8/db9qsv3qUjs7ZR5bS/R+iinXw=="
|
||||
},
|
||||
"@react-pdf-viewer/attachment": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/attachment/-/attachment-2.10.1.tgz",
|
||||
"integrity": "sha512-uTPOdBWUbzjwR1DAgjuNjElTIeKQf3L7LVSwHuVoCoKkE2rNRHBbB5C2lpAnam9q6dTNYqtzNKxHspYBQewh1Q==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/bookmark": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/bookmark/-/bookmark-2.10.1.tgz",
|
||||
"integrity": "sha512-PzcW6d/b2OrUewplBp0wBo1VaDk+e2QrTZJDtI7Wd84nEPfx5ZEaevkuLBvU6tx07dQJjeXUMOeC6aXtvLVKXA==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/core": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/core/-/core-2.10.1.tgz",
|
||||
"integrity": "sha512-57kYwArs4lV6S5lKcas+nhJHXYu+E4VAvIylhpPslWHN28uUq3exAzp/t816TeuPQGJd9NQ25Cngod3pKvBBQg=="
|
||||
},
|
||||
"@react-pdf-viewer/default-layout": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/default-layout/-/default-layout-2.10.1.tgz",
|
||||
"integrity": "sha512-fkwtt63ndaKCoB+g6bSiNM2lpXU/18cDsJ7bbLfH0TgUjgudL+/2RmvNaJ9nDjYlE9Dz+TgF5lM2X2XFw+/SxA==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/attachment": "2.10.1",
|
||||
"@react-pdf-viewer/bookmark": "2.10.1",
|
||||
"@react-pdf-viewer/core": "2.10.1",
|
||||
"@react-pdf-viewer/thumbnail": "2.10.1",
|
||||
"@react-pdf-viewer/toolbar": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/full-screen": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/full-screen/-/full-screen-2.10.1.tgz",
|
||||
"integrity": "sha512-Skpo/DVJ2d4aN1h75alxeaQnJvXaqN/+toQAP25N693kPw/LNDxtWke5L4MTQGk4aJ9nmH1IKAjCf7XuxMtOMA==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/get-file": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/get-file/-/get-file-2.10.1.tgz",
|
||||
"integrity": "sha512-oclQr2dUtBWRYH3JsrQsJJn5lRLdR9J9bF8r0Wgf7xYHCIrl+c4ycXOzRzn90nKOqWvqElqjyH3ZL3TOxVaOrA==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/open": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/open/-/open-2.10.1.tgz",
|
||||
"integrity": "sha512-oEnH0vs7e3Py7RGUqpR03hthP9bhH9Ss57Rm9blCfUY7HTXlbjewy0r1QdPQWvV/zTC13CLHZVs3czTUoyG75A==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/page-navigation": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/page-navigation/-/page-navigation-2.10.1.tgz",
|
||||
"integrity": "sha512-0XY+c0pB9WQ2lerX/8RUq2iClOmwkqYPpunkdXHxVWMbgvfIHqj91tty7ZB6/i1Au5WKm23WGGV2ZbubmUbcMA==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/print": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/print/-/print-2.10.1.tgz",
|
||||
"integrity": "sha512-gL0MueKihUq6NkGZGGpUc/UFyxotvyGdOMxXIL0YZjlK5edrmPXEj2/GNUO8mqwblowpKLJtPKEJB4Oq47FrpQ==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/properties": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/properties/-/properties-2.10.1.tgz",
|
||||
"integrity": "sha512-5iT//k3Pfv5rRZVAFJSSfEkTMCs60KZIoduxKF+iXtshBq9DBIWa1JqXL+5hMLKPdT4/R/osvaUsfLs/p+mBsQ==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/rotate": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/rotate/-/rotate-2.10.1.tgz",
|
||||
"integrity": "sha512-cKSUjhlHHm9aXdGmW14XU5bPrATXY09JR1HUWit8puxRmd/awjnxy0mgofK3DjNupQbuKMkZSN8ICHqxQa2N9w==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/scroll-mode": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/scroll-mode/-/scroll-mode-2.10.1.tgz",
|
||||
"integrity": "sha512-shlob3GymwsmO8hSwOByKM7nzzmN1sUpXjorgcpAJG+Ivteiu9s3pHeL0ez/Fm2bjN66R+nSoLlkxfR8uay2Jw==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/search": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/search/-/search-2.10.1.tgz",
|
||||
"integrity": "sha512-i3wgIRZM4ztnw28LQ3msh+oZBeA2Ss12Je6UjtfNLwnNvE570hM6eMCtUhWfqQBHgyr5FL52YMVZDp5wXmwOcw==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/selection-mode": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/selection-mode/-/selection-mode-2.10.1.tgz",
|
||||
"integrity": "sha512-nT3ziy+Gzkr0Zsk/NvdpWHXbCycSxo2GTng8wFDL4gZFN12oYGvAD59s/zxbRgrLNOtMPJHl/svHWvW2PquN1Q==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/theme": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/theme/-/theme-2.10.1.tgz",
|
||||
"integrity": "sha512-3tLitai7LOQfyqtg7Jw4D0OSO6w2jDZ09P2TAfqKxoSxGhNS754+xQR0pzw6oFrLIcMybi7J2HA2Eq0B/dFClg==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/thumbnail": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/thumbnail/-/thumbnail-2.10.1.tgz",
|
||||
"integrity": "sha512-l52fEkAEBMDPf260fuMH+OzEJ1SWyqXZw031XxIEmZeSc+Y6Cdxm65dGz34jAwQ7b8vyhbz2FiwLfvBTCCBtzA==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/toolbar": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/toolbar/-/toolbar-2.10.1.tgz",
|
||||
"integrity": "sha512-+q/6ixaRibGIaPCqhxfzuxIZs2E3PcYPyc3uyQ7fWJfL692CrWKQLd3JEQcUsjHPmdZkbyRew7aGhxYBgR2rjA==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1",
|
||||
"@react-pdf-viewer/full-screen": "2.10.1",
|
||||
"@react-pdf-viewer/get-file": "2.10.1",
|
||||
"@react-pdf-viewer/open": "2.10.1",
|
||||
"@react-pdf-viewer/page-navigation": "2.10.1",
|
||||
"@react-pdf-viewer/print": "2.10.1",
|
||||
"@react-pdf-viewer/properties": "2.10.1",
|
||||
"@react-pdf-viewer/rotate": "2.10.1",
|
||||
"@react-pdf-viewer/scroll-mode": "2.10.1",
|
||||
"@react-pdf-viewer/search": "2.10.1",
|
||||
"@react-pdf-viewer/selection-mode": "2.10.1",
|
||||
"@react-pdf-viewer/theme": "2.10.1",
|
||||
"@react-pdf-viewer/zoom": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@react-pdf-viewer/zoom": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-pdf-viewer/zoom/-/zoom-2.10.1.tgz",
|
||||
"integrity": "sha512-NrmyL4Lo0WJsuevGRHmEi5ogmeQffBDT5Q8ZUYAsE9LKSxYpOWG6auzyr0wDJfCDvtpe29Im52eqfsaKtXoHsA==",
|
||||
"requires": {
|
||||
"@react-pdf-viewer/core": "2.10.1"
|
||||
}
|
||||
},
|
||||
"@rollup/plugin-node-resolve": {
|
||||
"version": "7.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
"@material-ui/utils": "^5.0.0-beta.0",
|
||||
"@mui/icons-material": "^5.0.4",
|
||||
"@mui/material": "^5.0.4",
|
||||
"@react-pdf-viewer/core": "^2.10.1",
|
||||
"@react-pdf-viewer/default-layout": "^2.10.1",
|
||||
"@testing-library/jest-dom": "^5.14.1",
|
||||
"apexcharts": "^3.27.3",
|
||||
"change-case": "^4.1.2",
|
||||
|
|
長すぎる行があるためファイル差分は表示されません
ファイル差分が大きすぎるため省略します
差分を読み込み
|
@ -77,12 +77,12 @@ const MeetingEdit = (props) => {
|
|||
|
||||
reader.readAsDataURL(_file);
|
||||
|
||||
const formdata = new FormData();
|
||||
formdata.append('image', reader.result);
|
||||
|
||||
|
||||
reader.onloadend = () => {
|
||||
|
||||
axios.post(`/api/admin/meeting/images/register`, {params:{meeting_id: props.match.params.meeting_id}})
|
||||
const formdata = new FormData();
|
||||
formdata.append('image', reader.result);
|
||||
axios.post(`/api/admin/meetings/images/register`, formdata, {params:{meeting_id: props.match.params.meeting_id}})
|
||||
.then(response => {
|
||||
switch(response.data.status_code){
|
||||
case 200: {
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
import React, { useState } from "react";
|
||||
import { Document, Page } from "react-pdf";
|
||||
|
||||
export default function AllPages(props) {
|
||||
const [numPages, setNumPages] = useState(null);
|
||||
|
||||
function onDocumentLoadSuccess({ numPages }) {
|
||||
setNumPages(numPages);
|
||||
}
|
||||
|
||||
const { pdf } = props;
|
||||
|
||||
return (
|
||||
<Document
|
||||
file={pdf}
|
||||
options={{ workerSrc: "/pdf.worker.js" }}
|
||||
onLoadSuccess={onDocumentLoadSuccess}
|
||||
>
|
||||
{Array.from(new Array(numPages), (el, index) => (
|
||||
<Page key={`page_${index + 1}`} pageNumber={index + 1} />
|
||||
))}
|
||||
</Document>
|
||||
);
|
||||
}
|
|
@ -1,6 +1,4 @@
|
|||
import React, { useEffect, useState } from 'react';
|
||||
import PDFViewer from "./pdf_page_admin";
|
||||
import { makeStyles } from '@material-ui/styles';
|
||||
|
||||
import Button from '@mui/material/Button';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import React, { useEffect, useState } from 'react';
|
||||
import PDFViewer from "./pdf_page_admin";
|
||||
import { Document, Page, pdfjs } from "react-pdf";
|
||||
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.js`;
|
||||
import { makeStyles } from '@material-ui/styles';
|
||||
|
||||
import Button from '@mui/material/Button';
|
||||
|
@ -9,8 +10,17 @@ import DialogContent from '@mui/material/DialogContent';
|
|||
import DialogContentText from '@mui/material/DialogContentText';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import Slide from '@mui/material/Slide';
|
||||
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
|
||||
import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';
|
||||
import Container from '@mui/material/Container';
|
||||
|
||||
import { Viewer, Worker } from '@react-pdf-viewer/core';
|
||||
import { defaultLayoutPlugin } from '@react-pdf-viewer/default-layout';
|
||||
import '@react-pdf-viewer/core/lib/styles/index.css';
|
||||
import '@react-pdf-viewer/default-layout/lib/styles/index.css';
|
||||
|
||||
const Transition = React.forwardRef(function Transition(props, ref) {
|
||||
return <Slide direction="up" ref={ref} {...props} />;
|
||||
});
|
||||
|
@ -18,23 +28,59 @@ const Transition = React.forwardRef(function Transition(props, ref) {
|
|||
|
||||
export default function ModalPdf({ show, pdfPath, handleClose }){
|
||||
|
||||
const [numPages, setNumPages] = useState(null);
|
||||
const [pageNumber, setPageNumber] = useState(1); //default fisrt page
|
||||
|
||||
function onDocumentLoadSuccess({ numPages }) {
|
||||
setNumPages(numPages);
|
||||
setPageNumber(1);
|
||||
}
|
||||
|
||||
function changePage(offset) {
|
||||
setPageNumber(prevPageNumber => prevPageNumber + offset);
|
||||
}
|
||||
|
||||
function previousPage() {
|
||||
changePage(-1);
|
||||
}
|
||||
|
||||
function nextPage() {
|
||||
changePage(1);
|
||||
}
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
open={show}
|
||||
TransitionComponent={Transition}
|
||||
keepMounted
|
||||
aria-describedby="alert-dialog-slide-description"
|
||||
onClose={handleClose}
|
||||
>
|
||||
onClose={handleClose}>
|
||||
<DialogContent>
|
||||
<Container style={{fontSize:'20px', minHeight:'200px', padding:'20px'}}>
|
||||
{show && <PDFViewer pdf={pdfPath} /> }
|
||||
{show &&
|
||||
<Container>
|
||||
<Document file={pdfPath} onLoadSuccess={onDocumentLoadSuccess}>
|
||||
<Page pageNumber={pageNumber} />
|
||||
</Document>
|
||||
{/* <Worker workerUrl="https://unpkg.com/pdfjs-dist@2.9.359/build/pdf.worker.min.js">
|
||||
<Viewer fileUrl={pdf} />
|
||||
</Worker> */}
|
||||
</Container>
|
||||
}
|
||||
</Container>
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
<Button onClick={handleClose} style={{fontSize:'18px', color:'black'}}>閉じる</Button>
|
||||
<Container className="d-flex justify-content-center mb-2">
|
||||
<IconButton disabled={pageNumber <= 1} onClick={previousPage} variant="contained">
|
||||
<ArrowBackIosIcon/>
|
||||
</IconButton>
|
||||
{pageNumber || (numPages ? 1 : "--")} of {numPages || "--"}
|
||||
<IconButton disabled={pageNumber >= numPages} onClick={nextPage}>
|
||||
<ArrowForwardIosIcon/>
|
||||
</IconButton>
|
||||
{/* <Button onClick={handleClose} size="small" color="primary" variant="contained">閉じる</Button> */}
|
||||
</Container>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
import React, { useState } from "react";
|
||||
import { Document, Page, pdfjs } from "react-pdf";
|
||||
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.js`;
|
||||
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
|
||||
import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';
|
||||
import Container from '@mui/material/Container';
|
||||
|
||||
export default function PDFViewer(props) {
|
||||
const [numPages, setNumPages] = useState(null);
|
||||
const [pageNumber, setPageNumber] = useState(1); //default fisrt page
|
||||
|
||||
function onDocumentLoadSuccess({ numPages }) {
|
||||
setNumPages(numPages);
|
||||
setPageNumber(1);
|
||||
}
|
||||
|
||||
function changePage(offset) {
|
||||
setPageNumber(prevPageNumber => prevPageNumber + offset);
|
||||
}
|
||||
|
||||
function previousPage() {
|
||||
changePage(-1);
|
||||
}
|
||||
|
||||
function nextPage() {
|
||||
changePage(1);
|
||||
}
|
||||
|
||||
const { pdf } = props;
|
||||
|
||||
return (
|
||||
<Container>
|
||||
<Document
|
||||
file={pdf}
|
||||
onLoadSuccess={onDocumentLoadSuccess}
|
||||
>
|
||||
<Page pageNumber={pageNumber} />
|
||||
</Document>
|
||||
<Container className="d-flex justify-content-center">
|
||||
<IconButton
|
||||
type="button"
|
||||
disabled={pageNumber <= 1}
|
||||
onClick={previousPage}
|
||||
variant="contained"
|
||||
>
|
||||
<ArrowBackIosIcon/>
|
||||
</IconButton>
|
||||
{pageNumber || (numPages ? 1 : "--")} of {numPages || "--"}
|
||||
<IconButton
|
||||
type="button"
|
||||
disabled={pageNumber >= numPages}
|
||||
onClick={nextPage}
|
||||
>
|
||||
<ArrowForwardIosIcon/>
|
||||
</IconButton>
|
||||
</Container>
|
||||
</Container>
|
||||
);
|
||||
}
|
長すぎる行があるためファイル差分は表示されません
|
@ -0,0 +1,53 @@
|
|||
import React, { useState } from "react";
|
||||
import { Document, Page } from "react-pdf";
|
||||
|
||||
export default function SinglePage(props) {
|
||||
const [numPages, setNumPages] = useState(null);
|
||||
const [pageNumber, setPageNumber] = useState(1); //setting 1 to show fisrt page
|
||||
|
||||
function onDocumentLoadSuccess({ numPages }) {
|
||||
setNumPages(numPages);
|
||||
setPageNumber(1);
|
||||
}
|
||||
|
||||
function changePage(offset) {
|
||||
setPageNumber(prevPageNumber => prevPageNumber + offset);
|
||||
}
|
||||
|
||||
function previousPage() {
|
||||
changePage(-1);
|
||||
}
|
||||
|
||||
function nextPage() {
|
||||
changePage(1);
|
||||
}
|
||||
|
||||
const { pdf } = props;
|
||||
|
||||
return (
|
||||
<>
|
||||
<Document
|
||||
file={pdf}
|
||||
options={{ workerSrc: "/pdf.worker.js" }}
|
||||
onLoadSuccess={onDocumentLoadSuccess}
|
||||
>
|
||||
<Page pageNumber={pageNumber} />
|
||||
</Document>
|
||||
<div>
|
||||
<p>
|
||||
Page {pageNumber || (numPages ? 1 : "--")} of {numPages || "--"}
|
||||
</p>
|
||||
<button type="button" disabled={pageNumber <= 1} onClick={previousPage}>
|
||||
Previous
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
disabled={pageNumber >= numPages}
|
||||
onClick={nextPage}
|
||||
>
|
||||
Next
|
||||
</button>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
新しいイシューから参照