From 22888445b70e374cec082933505017c66bf1fba6 Mon Sep 17 00:00:00 2001
From: Tyler Schicke <tyler_schicke@brown.edu>
Date: Sat, 13 Apr 2019 17:46:14 -0400
Subject: Re-fixed database stuff and added DocumentText to formatted text

---
 src/client/views/nodes/FormattedTextBox.tsx | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'src/client/views/nodes/FormattedTextBox.tsx')

diff --git a/src/client/views/nodes/FormattedTextBox.tsx b/src/client/views/nodes/FormattedTextBox.tsx
index 8ea747b1c..3a2a8a554 100644
--- a/src/client/views/nodes/FormattedTextBox.tsx
+++ b/src/client/views/nodes/FormattedTextBox.tsx
@@ -14,6 +14,8 @@ import { Main } from "../Main";
 import { FieldView, FieldViewProps } from "./FieldView";
 import "./FormattedTextBox.scss";
 import React = require("react");
+import { TextField } from "../../../fields/TextField";
+import { KeyStore } from "../../../fields/KeyStore";
 const { buildMenuItems } = require("prosemirror-example-setup");
 const { menuBar } = require("prosemirror-menu");
 
@@ -64,6 +66,7 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
                 JSON.stringify(state.toJSON()),
                 RichTextField
             );
+            this.props.Document.SetDataOnPrototype(KeyStore.DocumentText, state.doc.textBetween(0, state.doc.content.size, "\n\n"), TextField);
             // doc.SetData(fieldKey, JSON.stringify(state.toJSON()), RichTextField);
         }
     }
-- 
cgit v1.2.3-70-g09d2


From b7252aeacbbd73120bc6f80d551f4505646a883b Mon Sep 17 00:00:00 2001
From: Tyler Schicke <tyler_schicke@brown.edu>
Date: Sat, 13 Apr 2019 18:55:28 -0400
Subject: Fixed rich text undo

---
 src/client/views/nodes/FormattedTextBox.tsx | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'src/client/views/nodes/FormattedTextBox.tsx')

diff --git a/src/client/views/nodes/FormattedTextBox.tsx b/src/client/views/nodes/FormattedTextBox.tsx
index 3a2a8a554..a49497f8f 100644
--- a/src/client/views/nodes/FormattedTextBox.tsx
+++ b/src/client/views/nodes/FormattedTextBox.tsx
@@ -57,16 +57,20 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
         this.onChange = this.onChange.bind(this);
     }
 
+    _applyingChange: boolean = false;
+
     dispatchTransaction = (tx: Transaction) => {
         if (this._editorView) {
             const state = this._editorView.state.apply(tx);
             this._editorView.updateState(state);
+            this._applyingChange = true;
             this.props.Document.SetDataOnPrototype(
                 this.props.fieldKey,
                 JSON.stringify(state.toJSON()),
                 RichTextField
             );
             this.props.Document.SetDataOnPrototype(KeyStore.DocumentText, state.doc.textBetween(0, state.doc.content.size, "\n\n"), TextField);
+            this._applyingChange = false;
             // doc.SetData(fieldKey, JSON.stringify(state.toJSON()), RichTextField);
         }
     }
@@ -108,7 +112,7 @@ export class FormattedTextBox extends React.Component<(FieldViewProps & Formatte
                 return field && field !== FieldWaiting ? field.Data : undefined;
             },
             field => {
-                if (field && this._editorView) {
+                if (field && this._editorView && !this._applyingChange) {
                     this._editorView.updateState(
                         EditorState.fromJSON(config, JSON.parse(field))
                     );
-- 
cgit v1.2.3-70-g09d2

