aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json2
-rw-r--r--src/client/util/SelectionManager.ts14
-rw-r--r--src/client/views/MainOverlayTextBox.tsx1
-rw-r--r--src/client/views/_global_variables.ts8
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx2
-rw-r--r--src/client/views/nodes/DocumentView.tsx3
-rw-r--r--src/client/views/nodes/FormattedTextBox.scss6
-rw-r--r--src/client/views/nodes/FormattedTextBox.tsx55
-rw-r--r--src/server/public/files/upload_1b4818f39ea324b5a687bb1ade3dca6c.jpgbin26946 -> 0 bytes
-rw-r--r--src/server/public/files/upload_1f1c6cfef33e5992fa860802e8c466a7.jpgbin45309 -> 0 bytes
-rw-r--r--src/server/public/files/upload_2045f363aa9cf281407703ca242aad1a.jpgbin9009 -> 0 bytes
-rw-r--r--src/server/public/files/upload_25bffd90c080c27f5ac822984406b958.jpgbin43534 -> 0 bytes
-rw-r--r--src/server/public/files/upload_261f11dc39ad568212b5c7e39d1e6d13.jpgbin27259 -> 0 bytes
-rw-r--r--src/server/public/files/upload_26bcc62639141ba64e603daebb5bf5d3.pngbin2757327 -> 0 bytes
-rw-r--r--src/server/public/files/upload_2d77d0773612e4723b78118ac50a2929.jpgbin1805512 -> 0 bytes
-rw-r--r--src/server/public/files/upload_2de9ad4dc687c53760c39f724c9a08a5.jpgbin77462 -> 0 bytes
-rw-r--r--src/server/public/files/upload_4abb568aa7cce9d291532c3d0da97102.jpgbin22445 -> 0 bytes
-rw-r--r--src/server/public/files/upload_54c34aaca5a7bf510cebad461ec39512.pngbin2757327 -> 0 bytes
-rw-r--r--src/server/public/files/upload_562b1e527300df8b350eeab094b3e1f1.jpgbin15988 -> 0 bytes
-rw-r--r--src/server/public/files/upload_6a26d3f7008a8c79ee5fc8054ba69996.jpgbin45025 -> 0 bytes
-rw-r--r--src/server/public/files/upload_70fa5e0c3f393504349d5865e28f4cac.jpgbin18041 -> 0 bytes
-rw-r--r--src/server/public/files/upload_8155b5b0f57da107bb07083c04e78943.jpgbin31103 -> 0 bytes
-rw-r--r--src/server/public/files/upload_88f588574e0efc415186af935114af9a.jpgbin40249 -> 0 bytes
-rw-r--r--src/server/public/files/upload_8d1c253f93f77c69c0c04ae3efb7d714.pngbin2757327 -> 0 bytes
-rw-r--r--src/server/public/files/upload_9ef80158609f5ff739087aecad367b9d.jpgbin28523 -> 0 bytes
-rw-r--r--src/server/public/files/upload_c39a7e0d7e8d35bb18461a5a0aa063bf.jpgbin13811 -> 0 bytes
-rw-r--r--src/server/public/files/upload_c6b81ab4eb70465a7e9b45d5c8f3ecaa.jpgbin28566 -> 0 bytes
-rw-r--r--src/server/public/files/upload_c99ec7a8a2df0b2f90479fde7d70c2eb.jpgbin21995 -> 0 bytes
-rw-r--r--src/server/public/files/upload_cec1cfcc67cfe5889de4098a49fec45e.jpgbin22125 -> 0 bytes
-rw-r--r--src/server/public/files/upload_f27688fe92dc7de398e957e5d96e1a22.jpgbin18964 -> 0 bytes
30 files changed, 48 insertions, 43 deletions
diff --git a/package.json b/package.json
index 489bce7e1..2463afa74 100644
--- a/package.json
+++ b/package.json
@@ -170,4 +170,4 @@
"uuid": "^3.3.2",
"xoauth2": "^1.2.0"
}
-} \ No newline at end of file
+}
diff --git a/src/client/util/SelectionManager.ts b/src/client/util/SelectionManager.ts
index c56f6a4ff..320553952 100644
--- a/src/client/util/SelectionManager.ts
+++ b/src/client/util/SelectionManager.ts
@@ -28,6 +28,16 @@ export namespace SelectionManager {
manager.SelectedDocuments = [];
MainOverlayTextBox.Instance.SetTextDoc();
}
+ @action
+ ReselectAll() {
+ let sdocs = manager.SelectedDocuments.map(d => d);
+ manager.SelectedDocuments = [];
+ return sdocs;
+ }
+ @action
+ ReselectAll2(sdocs: DocumentView[]) {
+ sdocs.map(s => SelectionManager.SelectDoc(s, false));
+ }
}
const manager = new Manager();
@@ -52,6 +62,10 @@ export namespace SelectionManager {
if (found) manager.SelectDoc(found, false);
}
+ export function ReselectAll() {
+ let sdocs = manager.ReselectAll();
+ manager.ReselectAll2(sdocs);
+ }
export function SelectedDocuments(): Array<DocumentView> {
return manager.SelectedDocuments;
}
diff --git a/src/client/views/MainOverlayTextBox.tsx b/src/client/views/MainOverlayTextBox.tsx
index 422a45d59..141b3ad74 100644
--- a/src/client/views/MainOverlayTextBox.tsx
+++ b/src/client/views/MainOverlayTextBox.tsx
@@ -40,7 +40,6 @@ export class MainOverlayTextBox extends React.Component<MainOverlayTextBoxProps>
this._textTargetDiv.style.color = this._textColor;
}
- this.TextDoc = undefined;
this.TextDoc = textDoc;
this._textFieldKey = textFieldKey!;
this._textXf = tx ? tx : Transform.Identity();
diff --git a/src/client/views/_global_variables.ts b/src/client/views/_global_variables.ts
deleted file mode 100644
index 10482bc8d..000000000
--- a/src/client/views/_global_variables.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import * as globalStyleVariables from "../views/globalCssVariables.scss"
-
-export interface I_globalScss {
- contextMenuZindex: string; // context menu shows up over everything
-}
-let globalStyles = globalStyleVariables as any as I_globalScss;
-
-export default globalStyles; \ No newline at end of file
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
index fa3017258..50f0a6164 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
@@ -81,7 +81,6 @@ export class CollectionFreeFormView extends CollectionSubView {
de.data.droppedDocuments.map(d => {
d.SetNumber(KeyStore.X, x + (d.GetNumber(KeyStore.X, 0) - dropX));
d.SetNumber(KeyStore.Y, y + (d.GetNumber(KeyStore.Y, 0) - dropY));
- console.log("x = " + d.GetNumber(KeyStore.X, 0) + " y = " + d.GetNumber(KeyStore.X, 0));
if (!d.GetNumber(KeyStore.Width, 0)) {
d.SetNumber(KeyStore.Width, 300);
}
@@ -90,6 +89,7 @@ export class CollectionFreeFormView extends CollectionSubView {
}
this.bringToFront(d);
});
+ SelectionManager.ReselectAll();
}
return true;
}
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx
index 0d974c97e..1cbb24223 100644
--- a/src/client/views/nodes/DocumentView.tsx
+++ b/src/client/views/nodes/DocumentView.tsx
@@ -277,11 +277,12 @@ export class DocumentView extends React.Component<DocumentViewProps> {
@action
onContextMenu = (e: React.MouseEvent): void => {
e.stopPropagation();
- e.preventDefault();
if (Math.abs(this._downX - e.clientX) > 3 || Math.abs(this._downY - e.clientY) > 3 ||
e.isDefaultPrevented()) {
+ e.preventDefault();
return;
}
+ e.preventDefault();
!this.isMinimized() && ContextMenu.Instance.addItem({ description: "Minimize", event: this.minimize });
ContextMenu.Instance.addItem({ description: "Full Screen", event: this.fullScreenClicked });
diff --git a/src/client/views/nodes/FormattedTextBox.scss b/src/client/views/nodes/FormattedTextBox.scss
index 3978c3d38..5eb2bf7ce 100644
--- a/src/client/views/nodes/FormattedTextBox.scss
+++ b/src/client/views/nodes/FormattedTextBox.scss
@@ -10,7 +10,7 @@
outline: none !important;
}
-.formattedTextBox-cont {
+.formattedTextBox-cont-scroll, .formattedTextBox-cont-hidden {
background: $light-color-secondary;
padding: 0.9em;
border-width: 0px;
@@ -24,6 +24,10 @@
height: 100%;
pointer-events: all;
}
+.formattedTextBox-cont-hidden {
+ overflow: hidden;
+ pointer-events: none;
+}
.menuicon {
display: inline-block;
diff --git a/src/client/views/nodes/FormattedTextBox.tsx b/src/client/views/nodes/FormattedTextBox.tsx
index c380ef650..bff8ca7a4 100644
--- a/src/client/views/nodes/FormattedTextBox.tsx
+++ b/src/client/views/nodes/FormattedTextBox.tsx
@@ -1,27 +1,24 @@
-import { action, IReactionDisposer, reaction, trace, computed } from "mobx";
+import { action, IReactionDisposer, reaction } from "mobx";
import { baseKeymap } from "prosemirror-commands";
-import { history, redo, undo } from "prosemirror-history";
+import { history } from "prosemirror-history";
import { keymap } from "prosemirror-keymap";
import { EditorState, Plugin, Transaction } from "prosemirror-state";
import { EditorView } from "prosemirror-view";
import { FieldWaiting, Opt } from "../../../fields/Field";
+import { KeyStore } from "../../../fields/KeyStore";
import { RichTextField } from "../../../fields/RichTextField";
+import { TextField } from "../../../fields/TextField";
+import { Document } from "../../../fields/Document";
+import buildKeymap from "../../util/ProsemirrorKeymap";
import { inpRules } from "../../util/RichTextRules";
-import { Schema } from "prosemirror-model";
import { schema } from "../../util/RichTextSchema";
+import { TooltipLinkingMenu } from "../../util/TooltipLinkingMenu";
import { TooltipTextMenu } from "../../util/TooltipTextMenu";
import { ContextMenu } from "../../views/ContextMenu";
-import { Main } from "../Main";
+import { MainOverlayTextBox } from "../MainOverlayTextBox";
import { FieldView, FieldViewProps } from "./FieldView";
import "./FormattedTextBox.scss";
import React = require("react");
-import { undoItem } from "prosemirror-menu";
-import buildKeymap from "../../util/ProsemirrorKeymap";
-import { TextField } from "../../../fields/TextField";
-import { KeyStore } from "../../../fields/KeyStore";
-import { TooltipLinkingMenu } from "../../util/TooltipLinkingMenu";
-import { MainOverlayTextBox } from "../MainOverlayTextBox";
-import { observer } from "mobx-react";
const { buildMenuItems } = require("prosemirror-example-setup");
const { menuBar } = require("prosemirror-menu");
@@ -52,6 +49,7 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
}
private _ref: React.RefObject<HTMLDivElement>;
private _editorView: Opt<EditorView>;
+ private _gotDown: boolean = false;
private _reactionDisposer: Opt<IReactionDisposer>;
private _inputReactionDisposer: Opt<IReactionDisposer>;
private _proxyReactionDisposer: Opt<IReactionDisposer>;
@@ -109,8 +107,7 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
if (this._editorView) {
this._editorView.destroy();
}
-
- this.setupEditor(config);
+ this.setupEditor(config, MainOverlayTextBox.Instance.TextDoc); // bcz: not sure why, but the order of events is such that this.props.Document hasn't updated yet, so without forcing the editor to the MainOverlayTextBox, it will display the previously focused textbox
}
);
} else {
@@ -131,20 +128,18 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
}
}
);
- this.setupEditor(config);
+ this.setupEditor(config, this.props.Document);
}
- private setupEditor(config: any) {
- let state: EditorState;
- let field = this.props.Document ? this.props.Document.GetT(this.props.fieldKey, RichTextField) : undefined;
- if (field && field !== FieldWaiting && field.Data) {
- state = EditorState.fromJSON(config, JSON.parse(field.Data));
- } else {
- state = EditorState.create(config);
- }
+ shouldComponentUpdate() {
+ return false;
+ }
+
+ private setupEditor(config: any, doc?: Document) {
+ let field = doc ? doc.GetT(this.props.fieldKey, RichTextField) : undefined;
if (this._ref.current) {
this._editorView = new EditorView(this._ref.current, {
- state,
+ state: field && field.Data ? EditorState.fromJSON(config, JSON.parse(field.Data)) : EditorState.create(config),
dispatchTransaction: this.dispatchTransaction
});
}
@@ -170,10 +165,6 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
}
}
- shouldComponentUpdate() {
- return false;
- }
-
@action
onChange(e: React.ChangeEvent<HTMLInputElement>) {
const { fieldKey, Document } = this.props;
@@ -186,6 +177,7 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
e.stopPropagation();
}
if (e.button === 2) {
+ this._gotDown = true;
console.log("second");
e.preventDefault();
}
@@ -211,6 +203,10 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
textCapability = (e: React.MouseEvent): void => { };
specificContextMenu = (e: React.MouseEvent): void => {
+ if (!this._gotDown) {
+ e.preventDefault();
+ return;
+ }
ContextMenu.Instance.addItem({
description: "Text Capability",
event: this.textCapability
@@ -262,10 +258,9 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
// (e.nativeEvent as any).DASHFormattedTextBoxHandled = true;
}
render() {
+ let style = this.props.isSelected() || this.props.isOverlay ? "scroll" : "hidden";
return (
- <div
- style={{ overflowY: this.props.isSelected() || this.props.isOverlay ? "scroll" : "hidden" }}
- className={`formattedTextBox-cont`}
+ <div className={`formattedTextBox-cont-${style}`}
onKeyDown={this.onKeyPress}
onKeyPress={this.onKeyPress}
onFocus={this.onFocused}
diff --git a/src/server/public/files/upload_1b4818f39ea324b5a687bb1ade3dca6c.jpg b/src/server/public/files/upload_1b4818f39ea324b5a687bb1ade3dca6c.jpg
deleted file mode 100644
index aeb10c4b0..000000000
--- a/src/server/public/files/upload_1b4818f39ea324b5a687bb1ade3dca6c.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_1f1c6cfef33e5992fa860802e8c466a7.jpg b/src/server/public/files/upload_1f1c6cfef33e5992fa860802e8c466a7.jpg
deleted file mode 100644
index a2c1d8a46..000000000
--- a/src/server/public/files/upload_1f1c6cfef33e5992fa860802e8c466a7.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_2045f363aa9cf281407703ca242aad1a.jpg b/src/server/public/files/upload_2045f363aa9cf281407703ca242aad1a.jpg
deleted file mode 100644
index c19b31a38..000000000
--- a/src/server/public/files/upload_2045f363aa9cf281407703ca242aad1a.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_25bffd90c080c27f5ac822984406b958.jpg b/src/server/public/files/upload_25bffd90c080c27f5ac822984406b958.jpg
deleted file mode 100644
index 3614b42eb..000000000
--- a/src/server/public/files/upload_25bffd90c080c27f5ac822984406b958.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_261f11dc39ad568212b5c7e39d1e6d13.jpg b/src/server/public/files/upload_261f11dc39ad568212b5c7e39d1e6d13.jpg
deleted file mode 100644
index ecd12d9cb..000000000
--- a/src/server/public/files/upload_261f11dc39ad568212b5c7e39d1e6d13.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_26bcc62639141ba64e603daebb5bf5d3.png b/src/server/public/files/upload_26bcc62639141ba64e603daebb5bf5d3.png
deleted file mode 100644
index e2297cb3c..000000000
--- a/src/server/public/files/upload_26bcc62639141ba64e603daebb5bf5d3.png
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_2d77d0773612e4723b78118ac50a2929.jpg b/src/server/public/files/upload_2d77d0773612e4723b78118ac50a2929.jpg
deleted file mode 100644
index 261a0ceff..000000000
--- a/src/server/public/files/upload_2d77d0773612e4723b78118ac50a2929.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_2de9ad4dc687c53760c39f724c9a08a5.jpg b/src/server/public/files/upload_2de9ad4dc687c53760c39f724c9a08a5.jpg
deleted file mode 100644
index 6b6ec3c3f..000000000
--- a/src/server/public/files/upload_2de9ad4dc687c53760c39f724c9a08a5.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_4abb568aa7cce9d291532c3d0da97102.jpg b/src/server/public/files/upload_4abb568aa7cce9d291532c3d0da97102.jpg
deleted file mode 100644
index f6332670c..000000000
--- a/src/server/public/files/upload_4abb568aa7cce9d291532c3d0da97102.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_54c34aaca5a7bf510cebad461ec39512.png b/src/server/public/files/upload_54c34aaca5a7bf510cebad461ec39512.png
deleted file mode 100644
index e2297cb3c..000000000
--- a/src/server/public/files/upload_54c34aaca5a7bf510cebad461ec39512.png
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_562b1e527300df8b350eeab094b3e1f1.jpg b/src/server/public/files/upload_562b1e527300df8b350eeab094b3e1f1.jpg
deleted file mode 100644
index db40705dd..000000000
--- a/src/server/public/files/upload_562b1e527300df8b350eeab094b3e1f1.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_6a26d3f7008a8c79ee5fc8054ba69996.jpg b/src/server/public/files/upload_6a26d3f7008a8c79ee5fc8054ba69996.jpg
deleted file mode 100644
index f0417a752..000000000
--- a/src/server/public/files/upload_6a26d3f7008a8c79ee5fc8054ba69996.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_70fa5e0c3f393504349d5865e28f4cac.jpg b/src/server/public/files/upload_70fa5e0c3f393504349d5865e28f4cac.jpg
deleted file mode 100644
index 395f8ec21..000000000
--- a/src/server/public/files/upload_70fa5e0c3f393504349d5865e28f4cac.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_8155b5b0f57da107bb07083c04e78943.jpg b/src/server/public/files/upload_8155b5b0f57da107bb07083c04e78943.jpg
deleted file mode 100644
index 53d9315a9..000000000
--- a/src/server/public/files/upload_8155b5b0f57da107bb07083c04e78943.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_88f588574e0efc415186af935114af9a.jpg b/src/server/public/files/upload_88f588574e0efc415186af935114af9a.jpg
deleted file mode 100644
index b72dbc482..000000000
--- a/src/server/public/files/upload_88f588574e0efc415186af935114af9a.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_8d1c253f93f77c69c0c04ae3efb7d714.png b/src/server/public/files/upload_8d1c253f93f77c69c0c04ae3efb7d714.png
deleted file mode 100644
index e2297cb3c..000000000
--- a/src/server/public/files/upload_8d1c253f93f77c69c0c04ae3efb7d714.png
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_9ef80158609f5ff739087aecad367b9d.jpg b/src/server/public/files/upload_9ef80158609f5ff739087aecad367b9d.jpg
deleted file mode 100644
index 84423538c..000000000
--- a/src/server/public/files/upload_9ef80158609f5ff739087aecad367b9d.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_c39a7e0d7e8d35bb18461a5a0aa063bf.jpg b/src/server/public/files/upload_c39a7e0d7e8d35bb18461a5a0aa063bf.jpg
deleted file mode 100644
index dc7ec2f33..000000000
--- a/src/server/public/files/upload_c39a7e0d7e8d35bb18461a5a0aa063bf.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_c6b81ab4eb70465a7e9b45d5c8f3ecaa.jpg b/src/server/public/files/upload_c6b81ab4eb70465a7e9b45d5c8f3ecaa.jpg
deleted file mode 100644
index 4422124a1..000000000
--- a/src/server/public/files/upload_c6b81ab4eb70465a7e9b45d5c8f3ecaa.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_c99ec7a8a2df0b2f90479fde7d70c2eb.jpg b/src/server/public/files/upload_c99ec7a8a2df0b2f90479fde7d70c2eb.jpg
deleted file mode 100644
index 3747ca985..000000000
--- a/src/server/public/files/upload_c99ec7a8a2df0b2f90479fde7d70c2eb.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_cec1cfcc67cfe5889de4098a49fec45e.jpg b/src/server/public/files/upload_cec1cfcc67cfe5889de4098a49fec45e.jpg
deleted file mode 100644
index 95053d772..000000000
--- a/src/server/public/files/upload_cec1cfcc67cfe5889de4098a49fec45e.jpg
+++ /dev/null
Binary files differ
diff --git a/src/server/public/files/upload_f27688fe92dc7de398e957e5d96e1a22.jpg b/src/server/public/files/upload_f27688fe92dc7de398e957e5d96e1a22.jpg
deleted file mode 100644
index 9841bad3f..000000000
--- a/src/server/public/files/upload_f27688fe92dc7de398e957e5d96e1a22.jpg
+++ /dev/null
Binary files differ