aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbob <bcz@cs.brown.edu>2019-03-08 09:21:18 -0500
committerbob <bcz@cs.brown.edu>2019-03-08 09:21:18 -0500
commit4796d17b089824df4455788c564414526c08eaa4 (patch)
tree6409872973bc6c1fc8b8e1d2cd328207ed87a83a
parent58a189d13061cdf4b7561c30bad9e1230a57eeff (diff)
merged with master
-rw-r--r--src/client/documents/Documents.ts5
-rw-r--r--src/client/util/DragManager.ts6
-rw-r--r--src/client/views/collections/CollectionFreeFormView.tsx16
-rw-r--r--src/client/views/nodes/DocumentView.tsx4
-rw-r--r--src/client/views/nodes/PDFBox.scss (renamed from src/client/views/nodes/PDFNode.scss)4
-rw-r--r--src/client/views/nodes/PDFBox.tsx (renamed from src/client/views/nodes/PDFNode.tsx)18
6 files changed, 25 insertions, 28 deletions
diff --git a/src/client/documents/Documents.ts b/src/client/documents/Documents.ts
index 47b8ea844..f73823603 100644
--- a/src/client/documents/Documents.ts
+++ b/src/client/documents/Documents.ts
@@ -14,9 +14,8 @@ import { HtmlField } from "../../fields/HtmlField";
import { Key } from "../../fields/Key"
import { Field } from "../../fields/Field";
import { KeyValueBox } from "../views/nodes/KeyValueBox"
-import { KVPField } from "../../fields/KVPField";
import { PDFField } from "../../fields/PDFField";
-import { PDFNode } from "../views/nodes/PDFNode";
+import { PDFBox } from "../views/nodes/PDFBox";
export interface DocumentOptions {
x?: number;
@@ -100,7 +99,7 @@ export namespace Documents {
if (!pdfProto) {
pdfProto = setupPrototypeOptions(pdfProtoId, "PDF_PROTO", CollectionView.LayoutString("AnnotationsKey"),
{ x: 0, y: 0, nativeWidth: 600, width: 300, layoutKeys: [KeyStore.Data, KeyStore.Annotations] });
- pdfProto.SetText(KeyStore.BackgroundLayout, PDFNode.LayoutString());
+ pdfProto.SetText(KeyStore.BackgroundLayout, PDFBox.LayoutString());
}
return pdfProto;
}
diff --git a/src/client/util/DragManager.ts b/src/client/util/DragManager.ts
index a7af399e2..513a6ac9e 100644
--- a/src/client/util/DragManager.ts
+++ b/src/client/util/DragManager.ts
@@ -124,15 +124,15 @@ export namespace DragManager {
// So we replace the pdf's canvas with the image thumbnail
const docView: DocumentView = dragData["documentView"];
const doc: Document = docView ? docView.props.Document : dragData["document"];
- var pdfNode = dragElement.getElementsByClassName("pdfNode-cont")[0] as HTMLElement;
+ var pdfBox = dragElement.getElementsByClassName("pdfBox-cont")[0] as HTMLElement;
let thumbnail = doc.GetT(KeyStore.Thumbnail, ImageField);
- if (pdfNode && pdfNode.childElementCount && thumbnail) {
+ if (pdfBox && pdfBox.childElementCount && thumbnail) {
let img = new Image();
img!.src = thumbnail.toString();
img!.style.position = "absolute";
img!.style.width = `${rect.width / scaleX}px`;
img!.style.height = `${rect.height / scaleY}px`;
- pdfNode.replaceChild(img!, pdfNode.children[0])
+ pdfBox.replaceChild(img!, pdfBox.children[0])
}
dragDiv.appendChild(dragElement);
diff --git a/src/client/views/collections/CollectionFreeFormView.tsx b/src/client/views/collections/CollectionFreeFormView.tsx
index 86d9a10e3..74e70ef33 100644
--- a/src/client/views/collections/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/CollectionFreeFormView.tsx
@@ -1,30 +1,28 @@
-import { observable, action, computed } from "mobx";
+import { action, computed, observable } from "mobx";
import { observer } from "mobx-react";
import { Document } from "../../../fields/Document";
import { FieldWaiting } from "../../../fields/Field";
import { KeyStore } from "../../../fields/KeyStore";
import { ListField } from "../../../fields/ListField";
import { TextField } from "../../../fields/TextField";
+import { Documents } from "../../documents/Documents";
import { DragManager } from "../../util/DragManager";
import { Transform } from "../../util/Transform";
import { undoBatch } from "../../util/UndoManager";
import { CollectionDockingView } from "../collections/CollectionDockingView";
import { CollectionSchemaView } from "../collections/CollectionSchemaView";
import { CollectionView } from "../collections/CollectionView";
+import { InkingCanvas } from "../InkingCanvas";
import { CollectionFreeFormDocumentView } from "../nodes/CollectionFreeFormDocumentView";
import { DocumentView } from "../nodes/DocumentView";
import { FormattedTextBox } from "../nodes/FormattedTextBox";
import { ImageBox } from "../nodes/ImageBox";
-import { PDFNode } from "../nodes/PDFNode";
+import { KeyValueBox } from "../nodes/KeyValueBox";
+import { PDFBox } from "../nodes/PDFBox";
import { WebBox } from "../nodes/WebBox";
-import { KeyValueBox } from "../nodes/KeyValueBox"
import "./CollectionFreeFormView.scss";
import { COLLECTION_BORDER_WIDTH } from "./CollectionView";
import { CollectionViewBase } from "./CollectionViewBase";
-import { Documents } from "../../documents/Documents";
-import { InkingCanvas } from "../InkingCanvas";
-import { InkingControl } from "../InkingControl";
-import { InkTool } from "../../../fields/InkField";
import React = require("react");
const JsxParser = require('react-jsx-parser').default;//TODO Why does this need to be imported like this?
@@ -250,7 +248,7 @@ export class CollectionFreeFormView extends CollectionViewBase {
get backgroundView() {
return !this.backgroundLayout ? (null) :
(<JsxParser
- components={{ FormattedTextBox, ImageBox, CollectionFreeFormView, CollectionDockingView, CollectionSchemaView, CollectionView, WebBox, KeyValueBox, PDFNode }}
+ components={{ FormattedTextBox, ImageBox, CollectionFreeFormView, CollectionDockingView, CollectionSchemaView, CollectionView, WebBox, KeyValueBox, PDFBox }}
bindings={this.props.bindings}
jsx={this.backgroundLayout}
showWarnings={true}
@@ -261,7 +259,7 @@ export class CollectionFreeFormView extends CollectionViewBase {
get overlayView() {
return !this.overlayLayout ? (null) :
(<JsxParser
- components={{ FormattedTextBox, ImageBox, CollectionFreeFormView, CollectionDockingView, CollectionSchemaView, CollectionView, WebBox, KeyValueBox, PDFNode }}
+ components={{ FormattedTextBox, ImageBox, CollectionFreeFormView, CollectionDockingView, CollectionSchemaView, CollectionView, WebBox, KeyValueBox, PDFBox }}
bindings={this.props.bindings}
jsx={this.overlayLayout}
showWarnings={true}
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx
index 1f928a3d6..20526c256 100644
--- a/src/client/views/nodes/DocumentView.tsx
+++ b/src/client/views/nodes/DocumentView.tsx
@@ -18,7 +18,7 @@ import { ImageBox } from "../nodes/ImageBox";
import { Documents } from "../../documents/Documents"
import { KeyValueBox } from "./KeyValueBox"
import { WebBox } from "../nodes/WebBox";
-import { PDFNode } from "../nodes/PDFNode";
+import { PDFBox } from "../nodes/PDFBox";
import "./DocumentView.scss";
import React = require("react");
const JsxParser = require('react-jsx-parser').default; //TODO Why does this need to be imported like this?
@@ -195,7 +195,7 @@ export class DocumentView extends React.Component<DocumentViewProps> {
}
@computed get mainContent() {
return <JsxParser
- components={{ FormattedTextBox, ImageBox, CollectionFreeFormView, CollectionDockingView, CollectionSchemaView, CollectionView, WebBox, KeyValueBox, PDFNode }}
+ components={{ FormattedTextBox, ImageBox, CollectionFreeFormView, CollectionDockingView, CollectionSchemaView, CollectionView, WebBox, KeyValueBox, PDFBox }}
bindings={this._documentBindings}
jsx={this.layout}
showWarnings={true}
diff --git a/src/client/views/nodes/PDFNode.scss b/src/client/views/nodes/PDFBox.scss
index 18ebca952..9f92410d4 100644
--- a/src/client/views/nodes/PDFNode.scss
+++ b/src/client/views/nodes/PDFBox.scss
@@ -5,11 +5,11 @@
.react-pdf__Document {
position: absolute;
}
-.pdfNode-buttonTray {
+.pdfBox-buttonTray {
position:absolute;
z-index: 25;
}
-.pdfNode-contentContainer {
+.pdfBox-contentContainer {
position: absolute;
transform-origin: "left top";
} \ No newline at end of file
diff --git a/src/client/views/nodes/PDFNode.tsx b/src/client/views/nodes/PDFBox.tsx
index 648bd3e62..5614242b5 100644
--- a/src/client/views/nodes/PDFNode.tsx
+++ b/src/client/views/nodes/PDFBox.tsx
@@ -12,7 +12,7 @@ import "./ImageBox.scss";
import { Sticky } from './Sticky'; //you should look at sticky and annotation, because they are used here
import React = require("react")
import { KeyStore } from '../../../fields/KeyStore';
-import "./PDFNode.scss";
+import "./PDFBox.scss";
import { PDFField } from '../../../fields/PDFField';
import { FieldWaiting } from '../../../fields/Field';
import { ImageField } from '../../../fields/ImageField';
@@ -51,8 +51,8 @@ import { url } from 'inspector';
* written by: Andrew Kim
*/
@observer
-export class PDFNode extends React.Component<FieldViewProps> {
- public static LayoutString() { return FieldView.LayoutString(PDFNode); }
+export class PDFBox extends React.Component<FieldViewProps> {
+ public static LayoutString() { return FieldView.LayoutString(PDFBox); }
private _mainDiv = React.createRef<HTMLDivElement>()
private _pdf = React.createRef<HTMLCanvasElement>();
@@ -420,7 +420,7 @@ export class PDFNode extends React.Component<FieldViewProps> {
}
})
}
- this._numPages = page.transport.numPages
+ this._numPages = page._transport.numPages;
if (this._perPageInfo.length == 0) { //Makes sure it only runs once
this._perPageInfo = [...Array(this._numPages)]
}
@@ -444,7 +444,7 @@ export class PDFNode extends React.Component<FieldViewProps> {
@computed
get uIButtons() {
return (
- <div className="pdfNode-buttonTray" key="tray">
+ <div className="pdfBox-buttonTray" key="tray">
<button className="pdfButton" onClick={this.onPageBack}>{"<"}</button>
<button className="pdfButton" onClick={this.onPageForward}>{">"}</button>
<button className="pdfButton" onClick={this.selectionTool}>{"Area"}</button>
@@ -462,11 +462,11 @@ export class PDFNode extends React.Component<FieldViewProps> {
const renderHeight = 2400;
let pdfUrl = this.props.doc.GetT(this.props.fieldKey, PDFField);
let xf = this.props.doc.GetNumber(KeyStore.NativeHeight, 0) / renderHeight;
- return <div className="pdfNode-contentContainer" key="container" style={{ transform: `scale(${xf}, ${xf})` }}>
+ return <div className="pdfBox-contentContainer" key="container" style={{ transform: `scale(${xf}, ${xf})` }}>
<Document file={window.origin + "/corsProxy/" + `${pdfUrl}`}>
<Measure onResize={this.setScaling}>
{({ measureRef }) =>
- <div className="pdfNode-page" ref={measureRef}>
+ <div className="pdfBox-page" ref={measureRef}>
<Page height={renderHeight} pageNumber={this._page} onLoadSuccess={this.onLoaded} />
</div>
}
@@ -486,7 +486,7 @@ export class PDFNode extends React.Component<FieldViewProps> {
this._pageInfo.area.filter(() => this._pageInfo.area).map((element: any) => element),
this._currAnno.map((element: any) => element),
this.uIButtons,
- <div key="pdfNode-contentShell">
+ <div key="pdfBox-contentShell">
{this.pdfContent}
{proxy}
</div>
@@ -506,7 +506,7 @@ export class PDFNode extends React.Component<FieldViewProps> {
render() {
return (
- <div className="pdfNode-cont" ref={this._mainDiv} onPointerDown={this.onPointerDown} onPointerUp={this.onPointerUp} >
+ <div className="pdfBox-cont" ref={this._mainDiv} onPointerDown={this.onPointerDown} onPointerUp={this.onPointerUp} >
{this.pdfRenderer}
</div >
);