Merge branch 'frontend' of github.com:nakazawakan/kikikanri into adminkanryo

このコミットが含まれているのは:
守矢諏訪子 2021-10-30 23:56:57 +09:00
コミット 5d2da19a91
11個のファイルの変更78410行の追加197行の削除

ファイルの表示

@ -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",

22870
backend/public/js/app.js vendored

長すぎる行があるためファイル差分は表示されません

55370
backend/public/js/pdf.worker.js vendored ノーマルファイル

ファイル差分が大きすぎるため省略します 差分を読み込み

ファイルの表示

@ -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: {

24
backend/resources/js/component/admin/all-pages.js vendored ノーマルファイル
ファイルの表示

@ -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>
);
}

2
backend/resources/js/component/admin/sampleBase64pdf.js vendored ノーマルファイル

長すぎる行があるためファイル差分は表示されません

53
backend/resources/js/component/admin/single-page.js vendored ノーマルファイル
ファイルの表示

@ -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>
</>
);
}