From a0fadfc2017632dc17455ecf5fe7dd669834e887 Mon Sep 17 00:00:00 2001 From: yipstanley Date: Fri, 18 Jan 2019 21:01:16 -0500 Subject: document decorations added kinda --- src/DocumentDecorations.scss | 17 ++++++++++++++++- src/DocumentDecorations.tsx | 34 +++++++++++++++++++++++----------- src/views/nodes/DocumentView.tsx | 9 ++++----- 3 files changed, 43 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/DocumentDecorations.scss b/src/DocumentDecorations.scss index 34c279e60..8d2824b7e 100644 --- a/src/DocumentDecorations.scss +++ b/src/DocumentDecorations.scss @@ -1,3 +1,18 @@ .documentDecorations-container { - background: blue; + position: absolute; + z-index: 1000; + display: grid; + grid-template-rows: 20px 1fr 20px; + grid-template-columns: 20px 1fr 20px; + pointer-events: none; +} + +#documentDecorations-centerCont { + background: none; +} + +.documentDecorations-resizer { + pointer-events: auto; + background: lightblue; + opacity: 0.8; } \ No newline at end of file diff --git a/src/DocumentDecorations.tsx b/src/DocumentDecorations.tsx index 60596e96a..a83d5327b 100644 --- a/src/DocumentDecorations.tsx +++ b/src/DocumentDecorations.tsx @@ -2,7 +2,10 @@ import { observable, computed } from "mobx"; import React = require("react"); import { DocumentView } from "./views/nodes/DocumentView"; import { SelectionManager } from "./util/SelectionManager"; +import { observer } from "mobx-react"; +import './DocumentDecorations.scss' +@observer export class DocumentDecorations extends React.Component { @computed get x(): number { @@ -28,22 +31,22 @@ export class DocumentDecorations extends React.Component { @computed get height(): number { - let bottom = Number.MIN_VALUE; - SelectionManager.SelectedDocuments().forEach(element => { + return (SelectionManager.SelectedDocuments().reduce((bottom, element) => { if (element.mainCont.current !== null) { - bottom = Math.min(element.mainCont.current.getBoundingClientRect().bottom, bottom) + return Math.max(element.mainCont.current.getBoundingClientRect().bottom, bottom) } - }); - return bottom - this.y; + else { + return bottom + } + }, Number.MIN_VALUE)) - this.y; } @computed get width(): number { let right = Number.MIN_VALUE; - console.log(SelectionManager.SelectedDocuments()) SelectionManager.SelectedDocuments().forEach(element => { if (element.mainCont.current !== null) { - right = Math.min(element.mainCont.current.getBoundingClientRect().right, right) + right = Math.max(element.mainCont.current.getBoundingClientRect().right, right) } }); return right - this.x; @@ -52,11 +55,20 @@ export class DocumentDecorations extends React.Component { render() { return(
+
+
+
+
+
+
+
+
+
) diff --git a/src/views/nodes/DocumentView.tsx b/src/views/nodes/DocumentView.tsx index d6f4b296d..5b0951f45 100644 --- a/src/views/nodes/DocumentView.tsx +++ b/src/views/nodes/DocumentView.tsx @@ -74,8 +74,8 @@ export class DocumentView extends React.Component { } @computed - get selected() : string { - return SelectionManager.IsSelected(this) ? "5px solid black" : "0px" + get selected() : boolean { + return SelectionManager.IsSelected(this) } private _isPointerDown = false; @@ -116,7 +116,7 @@ export class DocumentView extends React.Component { let doc = this.props.dvm.Doc; let bindings: any = { doc: doc, - isSelected: this.selected !== "0px" + isSelected: this.selected }; for (const key of this.layoutKeys) { bindings[key.Name + "Key"] = key; @@ -132,8 +132,7 @@ export class DocumentView extends React.Component {
{ e.preventDefault() -- cgit v1.2.3-70-g09d2