diff options
Diffstat (limited to 'src/client/views/nodes/WebBox.tsx')
| -rw-r--r-- | src/client/views/nodes/WebBox.tsx | 47 | 
1 files changed, 43 insertions, 4 deletions
| diff --git a/src/client/views/nodes/WebBox.tsx b/src/client/views/nodes/WebBox.tsx index 9b66b2431..f0140d04b 100644 --- a/src/client/views/nodes/WebBox.tsx +++ b/src/client/views/nodes/WebBox.tsx @@ -1,7 +1,7 @@  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";  import { action, observable } from "mobx";  import { observer } from "mobx-react"; -import { FieldResult } from "../../../new_fields/Doc"; +import { FieldResult, Doc } from "../../../new_fields/Doc";  import { HtmlField } from "../../../new_fields/HtmlField";  import { InkTool } from "../../../new_fields/InkField";  import { Cast, NumCast } from "../../../new_fields/Types"; @@ -13,6 +13,12 @@ import { FieldView, FieldViewProps } from './FieldView';  import { KeyValueBox } from "./KeyValueBox";  import "./WebBox.scss";  import React = require("react"); +import { SelectionManager } from "../../util/SelectionManager"; +import { Docs } from "../../documents/Documents"; +import { faStickyNote } from "@fortawesome/free-solid-svg-icons"; +import { library } from "@fortawesome/fontawesome-svg-core"; + +library.add(faStickyNote)  @observer  export class WebBox extends React.Component<FieldViewProps> { @@ -64,6 +70,29 @@ export class WebBox extends React.Component<FieldViewProps> {          }      } + +    switchToText = () => { +        let url: string = ""; +        let field = Cast(this.props.Document[this.props.fieldKey], WebField); +        if (field) url = field.url.href; + +        let newBox = Docs.Create.TextDocument({ +            x: NumCast(this.props.Document.x), +            y: NumCast(this.props.Document.y), +            title: url, +            width: 200, +            height: 70, +            documentText: "@@@" + url +        }); + +        SelectionManager.SelectedDocuments().map(dv => { +            dv.props.addDocument && dv.props.addDocument(newBox, false); +            dv.props.removeDocument && dv.props.removeDocument(dv.props.Document); +        }); + +        Doc.BrushDoc(newBox); +    } +      urlEditor() {          return (              <div className="webView-urlEditor" style={{ top: this.collapsed ? -70 : 0 }}> @@ -86,9 +115,19 @@ export class WebBox extends React.Component<FieldViewProps> {                                  onChange={this.onURLChange}                                  onKeyDown={this.onValueKeyDown}                              /> -                            <button className="submitUrl" onClick={this.submitURL}> -                                SUBMIT URL -                            </button> +                            <div style={{ +                                display: "flex", +                                flexDirection: "row", +                                justifyContent: "space-between", +                                minWidth: "100px", +                            }}> +                                <button className="submitUrl" onClick={this.submitURL}> +                                    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>                  </div> | 
