Skip to content

Commit

Permalink
3.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Fi1osof committed May 14, 2019
1 parent f104198 commit 1066ae7
Show file tree
Hide file tree
Showing 5 changed files with 200 additions and 1 deletion.
4 changes: 4 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
3.0.2
============================================
- Added PdfView

3.0.1
============================================
- Fix SSR
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@prisma-cms/boilerplate",
"version": "3.0.1",
"version": "3.0.2",
"description": "Opensource framework CMS powered by GraphQL, Prisma, MySQL, React & Apollo GraphQL",
"private": false,
"scripts": {
Expand Down Expand Up @@ -57,6 +57,7 @@
"prisma-binding": "^2.1.6",
"react-apollo": "^2.2.3",
"react-number-format": "^4.0.6",
"react-pdf": "^4.0.5",
"urijs": "^1.19.1",
"xml-writer": "^1.7.0"
},
Expand Down
188 changes: 188 additions & 0 deletions src/components/Renderer/pages/Root/components/PdfView/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
import React, { Component, Fragment } from 'react';
import PropTypes from 'prop-types';


import EditorComponent from "@prisma-cms/front-editor/lib/components/App/components/";


import { Document, Page } from 'react-pdf';
import { Button } from 'material-ui';
import { Typography } from 'material-ui';


class PdfView extends EditorComponent {

static defaultProps = {
...EditorComponent.defaultProps,
pages: 1,
page_width: 800,
scale: 1,
show_pages: true,
style: {
...EditorComponent.defaultProps.style,
overflow: "auto",
maxWidth: 805,
marginLeft: "auto",
marginRight: "auto",
}
}

static Name = "PdfView"


constructor(props) {

super(props);

this.state = {
...this.state,
numPages: null,
pageNumber: 1,
showAll: false,
}

}

onDocumentLoadSuccess(state) {

const {
numPages,
} = state;

this.setState({
numPages,
});
}

renderPanelView() {

const {
classes,
} = this.getEditorContext();

return super.renderPanelView(<div
className={classes.panelButton}
>
PdfView
</div>);
}


renderChildren() {

// return <MyApp />

const {
pageNumber,
numPages,
showAll,
} = this.state;

const {
pages,
src: file,
page_width,
scale,
show_pages,
...other
} = this.getComponentProps(this);


const {
inEditMode,
} = this.getEditorContext();


if (!file) {

if (inEditMode) {
return <Typography
color="error"
>
src property required
</Typography>
}
else {
return null;
}

}


let pagesList = [];

if (pageNumber > 0) {

for (var i = pageNumber; i < numPages; i++) {

pagesList.push(<Page
key={i}
pageNumber={i}
{...this.getPageProps()}
/>);

if (!showAll && pages > 0 && pagesList.length >= pages) {
break;
}

}

}

return <Fragment>

<Document
file={file}
onLoadSuccess={state => this.onDocumentLoadSuccess(state)}
{...this.getDocumentProps()}
>
{pagesList}
</Document>

{show_pages && !showAll ?
<div
style={{
textAlign: "center",
}}
>
Page {pageNumber} of {numPages}. <Button
size="small"
onClick={event => {
this.setState({
showAll: true,
});
}}
>
Show all
</Button>
</div>
: null
}

</Fragment>

}


getDocumentProps() {
return {};
}


getPageProps() {

const {
page_width: width,
scale,
} = this.getComponentProps(this);

return {
width,
scale,
}

}

}

export default PdfView;
2 changes: 2 additions & 0 deletions src/components/Renderer/pages/Root/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
import PrismaCmsComponent from "@prisma-cms/component";
import RootConnector from '@prisma-cms/front-editor/lib/components/Root';
import UserPage from './components/pages/Users/User';
import PdfView from './components/PdfView';



Expand All @@ -19,6 +20,7 @@ class RootPage extends PrismaCmsComponent {
return <RootConnector
CustomComponents={CustomComponents.concat([
UserPage,
PdfView,
])}
{...other}
/>
Expand Down
4 changes: 4 additions & 0 deletions src/setupProxy.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ const cwd = process.cwd();

module.exports = function (app) {

app.get("/pdf.worker.js", (req, res, next) => {
res.sendFile(`${cwd}/node_modules/pdfjs-dist/build/pdf.worker.min.js`);
});

app.get("/voyager.worker.js", (req, res, next) => {
res.sendFile(`${cwd}/node_modules/@prisma-cms/graphql-voyager/dist/voyager.worker.js`);
});
Expand Down

0 comments on commit 1066ae7

Please sign in to comment.