From 9d76e8c2f318b4c6a4f941e6d2c8e795bc93f372 Mon Sep 17 00:00:00 2001
From: monikahedman <monika_hedman@brown.edu>
Date: Thu, 15 Aug 2019 16:15:05 -0400
Subject: updated webbox

---
 src/client/views/nodes/WebBox.tsx | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

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

diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx
index ff5297783..91170e99a 100644
--- a/src/client/views/nodes/WebBox.tsx
+++ b/src/client/views/nodes/WebBox.tsx
@@ -17,6 +17,7 @@ import { RefField } from "../../../new_fields/RefField";
 import { ObjectField } from "../../../new_fields/ObjectField";
 import { updateSourceFile } from "typescript";
 import { KeyValueBox } from "./KeyValueBox";
+import { setReactionScheduler } from "mobx/lib/internal";
 
 @observer
 export class WebBox extends React.Component<FieldViewProps> {
@@ -38,6 +39,8 @@ export class WebBox extends React.Component<FieldViewProps> {
                 this.props.Document.height = NumCast(this.props.Document.width) / youtubeaspect;
             }
         }
+
+        this.setURL();
     }
 
     @action
@@ -50,15 +53,13 @@ export class WebBox extends React.Component<FieldViewProps> {
         const script = KeyValueBox.CompileKVPScript(`new WebField("${this.url}")`);
         if (!script) return;
         KeyValueBox.ApplyKVPScript(this.props.Document, "data", script);
-        let mod = document.getElementById("webpage-input");
-        if (mod) mod.style.display = "none";
     }
 
-    @computed
-    get getURL() {
+    @action
+    setURL() {
         let urlField: FieldResult<WebField> = Cast(this.props.Document.data, WebField)
-        if (urlField) return urlField.url.toString();
-        return "";
+        if (urlField) this.url = urlField.url.toString();
+        else this.url = "";
     }
 
     onValueKeyDown = async (e: React.KeyboardEvent) => {
@@ -86,10 +87,9 @@ export class WebBox extends React.Component<FieldViewProps> {
                         <div style={{ marginLeft: 54, width: "100%", display: this.collapsed ? "none" : "flex" }}>
                             <input className="webpage-urlInput"
                                 placeholder="ENTER URL"
-                                value={this.getURL}
+                                value={this.url}
                                 onChange={this.onURLChange}
                                 onKeyDown={this.onValueKeyDown}
-                            // onPointerDown={this.openViewSpecs}
                             />
                             <button className="submitUrl" onClick={this.submitURL}>
                                 SUBMIT URL
@@ -103,10 +103,6 @@ export class WebBox extends React.Component<FieldViewProps> {
 
     @action
     toggleCollapse = () => {
-        // this.props.CollectionView.props.Document.chromeStatus = this.props.CollectionView.props.Document.chromeStatus === "enabled" ? "this.collapsed" : "enabled";
-        // if (this.props.collapse) {
-        //     this.props.collapse(this.props.CollectionView.props.Document.chromeStatus !== "enabled");
-        // }
         this.collapsed = !this.collapsed;
     }
 
-- 
cgit v1.2.3-70-g09d2


From b987fe6e18c4b37a1ec40abcb4d8360d57dc7d54 Mon Sep 17 00:00:00 2001
From: monikahedman <monika_hedman@brown.edu>
Date: Mon, 19 Aug 2019 23:14:00 -0400
Subject: switch to text needs help lol

---
 src/client/views/PreviewCursor.tsx | 18 +++++++++++++++++-
 src/client/views/nodes/WebBox.tsx  | 37 +++++++++++++++++++++++++++++++++++--
 2 files changed, 52 insertions(+), 3 deletions(-)

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

diff --git a/src/client/views/PreviewCursor.tsx b/src/client/views/PreviewCursor.tsx
index 7bf0d8ace..40be470d6 100644
--- a/src/client/views/PreviewCursor.tsx
+++ b/src/client/views/PreviewCursor.tsx
@@ -34,8 +34,10 @@ export class PreviewCursor extends React.Component<{}> {
                 let newPoint = PreviewCursor._getTransform().transformPoint(PreviewCursor._clickPoint[0], PreviewCursor._clickPoint[1]);
                 runInAction(() => { PreviewCursor.Visible = false; });
 
-                // pasting in text/video from youtube
+
                 if (e.clipboardData.getData("text/plain") !== "") {
+
+                    // tests for youtube and makes video document
                     if (e.clipboardData.getData("text/plain").indexOf("www.youtube.com/watch") !== -1) {
                         const url = e.clipboardData.getData("text/plain").replace("youtube.com/watch?v=", "youtube.com/embed/");
                         PreviewCursor._addDocument(Docs.Create.VideoDocument(url, {
@@ -45,6 +47,20 @@ export class PreviewCursor extends React.Component<{}> {
                         }), false);
                         return;
                     }
+
+                    // tests for URL and makes web document
+                    let re: any = /^https?:\/\/www\./g;
+                    if (re.test(e.clipboardData.getData("text/plain"))) {
+                        const url = e.clipboardData.getData("text/plain")
+                        PreviewCursor._addDocument(Docs.Create.WebDocument(url, {
+                            title: url, width: 300, height: 300,
+                            // nativeWidth: 300, nativeHeight: 472.5,
+                            x: newPoint[0], y: newPoint[1]
+                        }), false);
+                        return;
+                    }
+
+                    // creates text document
                     let newBox = Docs.Create.TextDocument({
                         width: 200, height: 100,
                         x: newPoint[0],
diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx
index 91170e99a..6e23d6fb7 100644
--- a/src/client/views/nodes/WebBox.tsx
+++ b/src/client/views/nodes/WebBox.tsx
@@ -10,6 +10,7 @@ import { InkTool } from "../../../new_fields/InkField";
 import { Cast, FieldValue, NumCast, StrCast } from "../../../new_fields/Types";
 import { Utils } from "../../../Utils";
 import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faStickyNote } from '@fortawesome/free-solid-svg-icons';
 import { observable, action, computed } from "mobx";
 import { listSpec } from "../../../new_fields/Schema";
 import { Field, FieldResult } from "../../../new_fields/Doc";
@@ -18,6 +19,11 @@ import { ObjectField } from "../../../new_fields/ObjectField";
 import { updateSourceFile } from "typescript";
 import { KeyValueBox } from "./KeyValueBox";
 import { setReactionScheduler } from "mobx/lib/internal";
+import { library } from "@fortawesome/fontawesome-svg-core";
+import { Docs } from "../../documents/Documents";
+import { PreviewCursor } from "../PreviewCursor";
+
+library.add(faStickyNote)
 
 @observer
 export class WebBox extends React.Component<FieldViewProps> {
@@ -69,6 +75,24 @@ export class WebBox extends React.Component<FieldViewProps> {
         }
     }
 
+    switchToText() {
+        console.log("switchng to text")
+        if (this.props.removeDocument) this.props.removeDocument(this.props.Document);
+        // let newPoint = PreviewCursor._getTransform().transformPoint(PreviewCursor._clickPoint[0], PreviewCursor._clickPoint[1]);
+        let newBox = Docs.Create.TextDocument({
+            width: 200, height: 100,
+            // x: newPoint[0],
+            // y: newPoint[1],
+            x: NumCast(this.props.Document.x),
+            y: NumCast(this.props.Document.y),
+            title: "-pasted text-"
+        });
+
+        newBox.proto!.autoHeight = true;
+        PreviewCursor._addLiveTextDoc(newBox);
+        return;
+    }
+
     urlEditor() {
         return (
             <div className="webView-urlEditor" style={{ top: this.collapsed ? -70 : 0 }}>
@@ -91,9 +115,18 @@ export class WebBox extends React.Component<FieldViewProps> {
                                 onChange={this.onURLChange}
                                 onKeyDown={this.onValueKeyDown}
                             />
-                            <button className="submitUrl" onClick={this.submitURL}>
-                                SUBMIT URL
+                            <div style={{
+                                display: "flex",
+                                flexDirection: "row",
+
+                            }}>
+                                <button className="submitUrl" onClick={this.submitURL}>
+                                    SUBMIT URL
                             </button>
+                                <button className="switchToText" onClick={this.switchToText} style={{ paddingLeft: 10 }} >
+                                    <FontAwesomeIcon icon={faStickyNote} size={"2x"} />
+                                </button>
+                            </div>
                         </div>
                     </div>
                 </div>
-- 
cgit v1.2.3-70-g09d2


From 9a39ac87972243787474d489856818f44b90d524 Mon Sep 17 00:00:00 2001
From: monikahedman <monika_hedman@brown.edu>
Date: Tue, 20 Aug 2019 12:12:58 -0400
Subject: send halp

---
 src/client/views/PreviewCursor.tsx |  2 +-
 src/client/views/nodes/WebBox.tsx  | 41 +++++++++++++++++++++++++++++++-------
 2 files changed, 35 insertions(+), 8 deletions(-)

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

diff --git a/src/client/views/PreviewCursor.tsx b/src/client/views/PreviewCursor.tsx
index 40be470d6..d8e161ab6 100644
--- a/src/client/views/PreviewCursor.tsx
+++ b/src/client/views/PreviewCursor.tsx
@@ -49,7 +49,7 @@ export class PreviewCursor extends React.Component<{}> {
                     }
 
                     // tests for URL and makes web document
-                    let re: any = /^https?:\/\/www\./g;
+                    let re: any = /^https?:\/\//g;
                     if (re.test(e.clipboardData.getData("text/plain"))) {
                         const url = e.clipboardData.getData("text/plain")
                         PreviewCursor._addDocument(Docs.Create.WebDocument(url, {
diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx
index 6e23d6fb7..c43b90f91 100644
--- a/src/client/views/nodes/WebBox.tsx
+++ b/src/client/views/nodes/WebBox.tsx
@@ -13,7 +13,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
 import { faStickyNote } from '@fortawesome/free-solid-svg-icons';
 import { observable, action, computed } from "mobx";
 import { listSpec } from "../../../new_fields/Schema";
-import { Field, FieldResult } from "../../../new_fields/Doc";
+import { Field, FieldResult, Doc, Opt } from "../../../new_fields/Doc";
 import { RefField } from "../../../new_fields/RefField";
 import { ObjectField } from "../../../new_fields/ObjectField";
 import { updateSourceFile } from "typescript";
@@ -22,6 +22,10 @@ import { setReactionScheduler } from "mobx/lib/internal";
 import { library } from "@fortawesome/fontawesome-svg-core";
 import { Docs } from "../../documents/Documents";
 import { PreviewCursor } from "../PreviewCursor";
+import { SelectionManager } from "../../util/SelectionManager";
+import { CollectionView } from "../collections/CollectionView";
+import { CollectionPDFView } from "../collections/CollectionPDFView";
+import { CollectionVideoView } from "../collections/CollectionVideoView";
 
 library.add(faStickyNote)
 
@@ -75,21 +79,44 @@ export class WebBox extends React.Component<FieldViewProps> {
         }
     }
 
-    switchToText() {
-        console.log("switchng to text")
-        if (this.props.removeDocument) this.props.removeDocument(this.props.Document);
-        // let newPoint = PreviewCursor._getTransform().transformPoint(PreviewCursor._clickPoint[0], PreviewCursor._clickPoint[1]);
+
+    switchToText = () => {
+        let url: string = "";
+        let field = Cast(this.props.Document[this.props.fieldKey], WebField);
+        if (field) url = field.url.href;
+
+        let parent: Opt<CollectionView | CollectionPDFView | CollectionVideoView>;
+        // let parentDoc: any;
+        SelectionManager.SelectedDocuments().map(dv => {
+            parent = dv.props.ContainingCollectionView;
+            // if(parent) parentDoc = parent.props.Document;
+            dv.props.removeDocument && dv.props.removeDocument(dv.props.Document);
+        });
+
+        // // let newPoint = PreviewCursor._getTransform().transformPoint(PreviewCursor._clickPoint[0], PreviewCursor._clickPoint[1]);
         let newBox = Docs.Create.TextDocument({
             width: 200, height: 100,
             // x: newPoint[0],
             // y: newPoint[1],
             x: NumCast(this.props.Document.x),
             y: NumCast(this.props.Document.y),
-            title: "-pasted text-"
+            title: url
         });
 
+        console.log(newBox)
+        if (parent) {
+            let parentDoc: Doc = parent.props.Document;
+            if (parentDoc && parentDoc.props) {
+                parentDoc.props.addDocument();
+            }
+        }
+
         newBox.proto!.autoHeight = true;
-        PreviewCursor._addLiveTextDoc(newBox);
+        // PreviewCursor._addLiveTextDoc(newBox);
+        // if (parent && parent.props.addDocument) {
+        //     console.log("adding doc")
+        //     parent.props.addDocument(newBox);
+        // }
         return;
     }
 
-- 
cgit v1.2.3-70-g09d2


From 76a693012866178a3fbe037ab06cfd4482f37917 Mon Sep 17 00:00:00 2001
From: monikahedman <monika_hedman@brown.edu>
Date: Wed, 21 Aug 2019 14:22:30 -0400
Subject: djlzdkfj

---
 src/client/views/nodes/FormattedTextBox.tsx |  7 +++++++
 src/client/views/nodes/WebBox.tsx           | 26 ++++++++++++++++----------
 2 files changed, 23 insertions(+), 10 deletions(-)

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

diff --git a/src/client/views/nodes/FormattedTextBox.tsx b/src/client/views/nodes/FormattedTextBox.tsx
index 25f611f19..d299bbf72 100644
--- a/src/client/views/nodes/FormattedTextBox.tsx
+++ b/src/client/views/nodes/FormattedTextBox.tsx
@@ -162,6 +162,13 @@ export class FormattedTextBox extends DocComponent<(FieldViewProps & FormattedTe
         }
     }
 
+    public setText = (text: string) => {
+        const tx = this._editorView!.state.tr.insertText(text);
+        const state = this._editorView!.state;
+        this._editorView!.dispatch(tx);
+        return new RichTextField(JSON.stringify(state.toJSON()));
+    }
+
     dispatchTransaction = (tx: Transaction) => {
         if (this._editorView) {
             const state = this._editorView.state.apply(tx);
diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx
index c43b90f91..e7bed3bed 100644
--- a/src/client/views/nodes/WebBox.tsx
+++ b/src/client/views/nodes/WebBox.tsx
@@ -26,6 +26,8 @@ import { SelectionManager } from "../../util/SelectionManager";
 import { CollectionView } from "../collections/CollectionView";
 import { CollectionPDFView } from "../collections/CollectionPDFView";
 import { CollectionVideoView } from "../collections/CollectionVideoView";
+import { DocumentView } from "./DocumentView";
+import { FormattedTextBox } from "./FormattedTextBox";
 
 library.add(faStickyNote)
 
@@ -85,14 +87,15 @@ export class WebBox extends React.Component<FieldViewProps> {
         let field = Cast(this.props.Document[this.props.fieldKey], WebField);
         if (field) url = field.url.href;
 
-        let parent: Opt<CollectionView | CollectionPDFView | CollectionVideoView>;
+        let docView: DocumentView;
         // let parentDoc: any;
         SelectionManager.SelectedDocuments().map(dv => {
-            parent = dv.props.ContainingCollectionView;
-            // if(parent) parentDoc = parent.props.Document;
+            // docView = dv;
             dv.props.removeDocument && dv.props.removeDocument(dv.props.Document);
         });
 
+        console.log("happening")
+
         // // let newPoint = PreviewCursor._getTransform().transformPoint(PreviewCursor._clickPoint[0], PreviewCursor._clickPoint[1]);
         let newBox = Docs.Create.TextDocument({
             width: 200, height: 100,
@@ -103,13 +106,16 @@ export class WebBox extends React.Component<FieldViewProps> {
             title: url
         });
 
-        console.log(newBox)
-        if (parent) {
-            let parentDoc: Doc = parent.props.Document;
-            if (parentDoc && parentDoc.props) {
-                parentDoc.props.addDocument();
-            }
-        }
+        console.log(typeof newBox)
+
+        // const script = KeyValueBox.CompileKVPScript(`new RichTextField("{"doc":{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"${url}"}]}]},"selection":{"type":"text","anchor":1,"head":1}}")`);
+        // const script = KeyValueBox.CompileKVPScript(newBox.setText(url))
+        // console.log(script)
+        // if (!script) return;
+        // KeyValueBox.ApplyKVPScript(this.props.Document, "data", script);
+
+        console.log(newBox);
+
 
         newBox.proto!.autoHeight = true;
         // PreviewCursor._addLiveTextDoc(newBox);
-- 
cgit v1.2.3-70-g09d2


From 6604c40d02b4dd7c6a6c663f301bcaedfee6998f Mon Sep 17 00:00:00 2001
From: monikahedman <monika_hedman@brown.edu>
Date: Wed, 21 Aug 2019 17:18:02 -0400
Subject: send help oh god

---
 src/client/util/RichTextSchema.tsx  | 81 -------------------------------------
 src/client/util/TooltipTextMenu.tsx | 29 -------------
 src/client/views/nodes/WebBox.scss  | 10 +++++
 src/client/views/nodes/WebBox.tsx   | 51 +++++++----------------
 4 files changed, 25 insertions(+), 146 deletions(-)

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

diff --git a/src/client/util/RichTextSchema.tsx b/src/client/util/RichTextSchema.tsx
index 733c50d20..1f6c2badb 100644
--- a/src/client/util/RichTextSchema.tsx
+++ b/src/client/util/RichTextSchema.tsx
@@ -111,19 +111,6 @@ export const nodes: { [index: string]: NodeSpec } = {
         //     }
         // }]
     },
-
-    checkbox: {
-        inline: true,
-        attrs: {
-            visibility: { default: false }
-        },
-        group: "inline",
-        toDOM(node) {
-            const attrs = { style: `width: 40px` };
-            return ["span", { ...node.attrs, ...attrs }];
-        },
-    },
-
     // :: NodeSpec An inline image (`<img>`) node. Supports `src`,
     // `alt`, and `href` attributes. The latter two default to the empty
     // string.
@@ -203,19 +190,6 @@ export const nodes: { [index: string]: NodeSpec } = {
         // toDOM() { return ulDOM }
     },
 
-    checkbox_list: {
-        content: 'checklist_item+',
-        marks: '_',
-        group: 'block',
-        // inline: true,
-        parseDOM: [
-            { tag: "ul" }
-        ],
-        toDOM() {
-            return ["ul", { style: 'list-style: none' }, 0];
-        },
-    },
-
     //bullet_list: {
     //  content: 'list_item+',
     // group: 'block',
@@ -228,18 +202,6 @@ export const nodes: { [index: string]: NodeSpec } = {
         ...listItem,
         content: 'paragraph block*'
     },
-
-    checklist_item: {
-        content: 'paragraph block*',
-        parseDOM: [{ tag: "li" }],
-        // toDOM() {
-        //     return ["li", { style: 'content: checkbox' }, 0];
-        // },
-        toDOM() {
-            return ["li", 0];
-        },
-        defining: true
-    }
 };
 
 const emDOM: DOMOutputSpecArray = ["em", 0];
@@ -562,49 +524,6 @@ export class ImageResizeView {
     }
 }
 
-export class CheckboxView {
-    _view: any;
-    _collapsed: HTMLElement;
-
-    constructor(node: any, view: any, getPos: any) {
-        this._collapsed = document.createElement("span");
-        this._collapsed.textContent = node.attrs.visibility ? "⬛" : "⬜";
-        this._collapsed.style.position = "relative";
-        // this._collapsed.style.width = "80px";
-        this._collapsed.style.height = "20px";
-        let self = this;
-        this._view = view;
-        const js = node.toJSON;
-        node.toJSON = function () {
-
-            return js.apply(this, arguments);
-        };
-        this._collapsed.onpointerdown = function (e: any) {
-            console.log(node.attrs.visibility)
-            if (node.attrs.visibility) {
-                let y = getPos();
-                const attrs = { ...node.attrs };
-                attrs.visibility = !attrs.visibility;
-                view.dispatch(view.state.tr.setNodeMarkup(y, undefined, attrs));
-                self._collapsed.textContent = "⬜";
-            } else {
-                let y = getPos();
-                const attrs = { ...node.attrs };
-                attrs.visibility = !attrs.visibility;
-                console.log(attrs.visibility)
-                view.dispatch(view.state.tr.setNodeMarkup(y, undefined, attrs));
-                self._collapsed.textContent = "⬛";
-            }
-            e.preventDefault();
-            e.stopPropagation();
-            console.log(node.attrs.visibility)
-
-        };
-        (this as any).dom = this._collapsed;
-    }
-
-}
-
 export class SummarizedView {
     // TODO: highlight text that is summarized. to find end of region, walk along mark
     _collapsed: HTMLElement;
diff --git a/src/client/util/TooltipTextMenu.tsx b/src/client/util/TooltipTextMenu.tsx
index 46961e416..450931b76 100644
--- a/src/client/util/TooltipTextMenu.tsx
+++ b/src/client/util/TooltipTextMenu.tsx
@@ -189,7 +189,6 @@ export class TooltipTextMenu {
         this.tooltip.appendChild(this._brushdom);
         this.tooltip.appendChild(this.createLink().render(this.view).dom);
         this.tooltip.appendChild(this.createStar().render(this.view).dom);
-        this.tooltip.appendChild(this.createCheckbox().render(this.view).dom);
 
         this.updateListItemDropdown(":", this.listTypeBtnDom);
 
@@ -441,14 +440,6 @@ export class TooltipTextMenu {
         return true;
     }
 
-    public static insertCheckbox(state: EditorState<any>, dispatch: any) {
-        let newNode = schema.nodes.checkbox.create({ visibility: false });
-        if (dispatch) {
-            dispatch(state.tr.replaceSelectionWith(newNode));
-        }
-        return true;
-    }
-
     //will display a remove-list-type button if selection is in list, otherwise will show list type dropdown
     updateListItemDropdown(label: string, listTypeBtn: any) {
         //remove old btn
@@ -461,7 +452,6 @@ export class TooltipTextMenu {
         });
         //option to remove the list formatting
         toAdd.push(this.dropdownNodeBtn("X", "color: black; width: 40px;", undefined, this.view, this.listTypes, this.changeToNodeType));
-        toAdd.push(this.dropdownNodeBtn("⬜", "color:black; width:40px;", schema.nodes.checkbox_list, this.view, this.listTypes, this.changeToNodeType))
 
         listTypeBtn = (new Dropdown(toAdd, {
             label: label,
@@ -525,11 +515,6 @@ export class TooltipTextMenu {
         liftListItem(schema.nodes.list_item)(view.state, view.dispatch);
         if (nodeType) { //add new
             wrapInList(nodeType)(view.state, view.dispatch);
-            // console.log(nodeType === schema.nodes.checkbox_list)
-            // if (nodeType === schema.nodes.checkbox_list) {
-            //     TooltipTextMenu.insertCheckbox(view.state, view.dispatch)
-            // }
-
         }
     }
 
@@ -564,20 +549,6 @@ export class TooltipTextMenu {
         });
     }
 
-    createCheckbox() {
-        return new MenuItem({
-            title: "Checkbox",
-            label: "Checkbox",
-            icon: icons.code,
-            css: "color:white",
-            class: "checkbox",
-            execEvent: "",
-            run: (state, dispatch) => {
-                TooltipTextMenu.insertCheckbox(state, dispatch);
-            }
-        })
-    }
-
     deleteLinkItem() {
         const icon = {
             height: 16, width: 16,
diff --git a/src/client/views/nodes/WebBox.scss b/src/client/views/nodes/WebBox.scss
index c37f08eca..6272d3d47 100644
--- a/src/client/views/nodes/WebBox.scss
+++ b/src/client/views/nodes/WebBox.scss
@@ -1,3 +1,5 @@
+@import "../globalCssVariables.scss";
+
 .webBox-cont,
 .webBox-cont-interactive {
     padding: 0vw;
@@ -79,6 +81,14 @@
                 // margin-top: 10px;
             }
 
+            .switchToText {
+                color: $main-accent;
+            }
+
+            .switchToText:hover {
+                color: $dark-color;
+            }
+
             .collectionViewBaseChrome-viewSpecs {
                 margin-left: 10px;
                 display: grid;
diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx
index e7bed3bed..ef8f8c664 100644
--- a/src/client/views/nodes/WebBox.tsx
+++ b/src/client/views/nodes/WebBox.tsx
@@ -87,43 +87,21 @@ export class WebBox extends React.Component<FieldViewProps> {
         let field = Cast(this.props.Document[this.props.fieldKey], WebField);
         if (field) url = field.url.href;
 
-        let docView: DocumentView;
-        // let parentDoc: any;
-        SelectionManager.SelectedDocuments().map(dv => {
-            // docView = dv;
-            dv.props.removeDocument && dv.props.removeDocument(dv.props.Document);
-        });
-
-        console.log("happening")
-
-        // // let newPoint = PreviewCursor._getTransform().transformPoint(PreviewCursor._clickPoint[0], PreviewCursor._clickPoint[1]);
         let newBox = Docs.Create.TextDocument({
-            width: 200, height: 100,
-            // x: newPoint[0],
-            // y: newPoint[1],
             x: NumCast(this.props.Document.x),
             y: NumCast(this.props.Document.y),
-            title: url
+            title: url,
+            width: 200,
+            height: 70,
+            documentText: "@@@" + url
         });
 
-        console.log(typeof newBox)
-
-        // const script = KeyValueBox.CompileKVPScript(`new RichTextField("{"doc":{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"${url}"}]}]},"selection":{"type":"text","anchor":1,"head":1}}")`);
-        // const script = KeyValueBox.CompileKVPScript(newBox.setText(url))
-        // console.log(script)
-        // if (!script) return;
-        // KeyValueBox.ApplyKVPScript(this.props.Document, "data", script);
-
-        console.log(newBox);
-
+        SelectionManager.SelectedDocuments().map(dv => {
+            dv.props.addDocument && dv.props.addDocument(newBox, false);
+            dv.props.removeDocument && dv.props.removeDocument(dv.props.Document);
+        });
 
-        newBox.proto!.autoHeight = true;
-        // PreviewCursor._addLiveTextDoc(newBox);
-        // if (parent && parent.props.addDocument) {
-        //     console.log("adding doc")
-        //     parent.props.addDocument(newBox);
-        // }
-        return;
+        Doc.BrushDoc(newBox);
     }
 
     urlEditor() {
@@ -151,14 +129,15 @@ export class WebBox extends React.Component<FieldViewProps> {
                             <div style={{
                                 display: "flex",
                                 flexDirection: "row",
-
+                                justifyContent: "space-between",
+                                minWidth: "100px",
                             }}>
                                 <button className="submitUrl" onClick={this.submitURL}>
-                                    SUBMIT URL
-                            </button>
-                                <button className="switchToText" onClick={this.switchToText} style={{ paddingLeft: 10 }} >
-                                    <FontAwesomeIcon icon={faStickyNote} size={"2x"} />
+                                    SUBMIT
                                 </button>
+                                <div className="switchToText" title="Convert web to text doc" onClick={this.switchToText} style={{ display: "flex", alignItems: "center", justifyContent: "center" }} >
+                                    <FontAwesomeIcon icon={faStickyNote} size={"lg"} />
+                                </div>
                             </div>
                         </div>
                     </div>
-- 
cgit v1.2.3-70-g09d2

