From 49ff32114387b5875e5cfb804a741caf24424612 Mon Sep 17 00:00:00 2001 From: bobzel Date: Fri, 31 Jul 2020 17:55:39 -0400 Subject: fixed dragging properties --- src/client/views/MainView.tsx | 204 ++++++++------------- .../collectionFreeForm/PropertiesView.tsx | 2 +- 2 files changed, 76 insertions(+), 130 deletions(-) (limited to 'src') diff --git a/src/client/views/MainView.tsx b/src/client/views/MainView.tsx index 8e4851b6e..6009f7dab 100644 --- a/src/client/views/MainView.tsx +++ b/src/client/views/MainView.tsx @@ -300,7 +300,7 @@ export class MainView extends React.Component { @action onResize = (r: any) => { - this._panelWidth = r.offset.width - this.propertiesWidth(); + this._panelWidth = r.offset.width;// - this.propertiesWidth(); this._panelHeight = r.offset.height; } @@ -368,102 +368,37 @@ export class MainView extends React.Component { TraceMobx(); const mainContainer = this.mainContainer; const width = this.flyoutWidth; - return - {({ measureRef }) => -
- {!mainContainer ? (null) : this.mainDocView} -
- } -
; + return
+ {!mainContainer ? (null) : this.mainDocView} +
; } _canClick = false; @action - onPointerDown = (e: React.PointerEvent) => { - if (this._flyoutTranslate) { - this.panelContent = "none"; - this._canClick = true; - this._flyoutSizeOnDown = e.clientX; - document.removeEventListener("pointermove", this.onPointerMove); - document.removeEventListener("pointerup", this.onPointerUp); - document.addEventListener("pointermove", this.onPointerMove); - document.addEventListener("pointerup", this.onPointerUp); - e.stopPropagation(); - e.preventDefault(); - } - } - - @action - pointerLeaveDragger = () => { - if (!this._flyoutTranslate) { - this.flyoutWidth = 0; - this._flyoutTranslate = true; - } - } - - @action - onDown = (e: React.PointerEvent) => { - this.propertiesDownX = e.screenX; - document.removeEventListener("pointermove", this.onPointerMove); - document.removeEventListener("pointerup", this.onPointerUp); - document.addEventListener("pointermove", this.onPointerMove); - document.addEventListener("pointerup", this.onPointerUp); - e.stopPropagation(); - e.preventDefault(); - // setupMoveUpEvents(this, e, action((e: PointerEvent, down: number[], delta: number[]) => { - // this._propertiesWidth = this._panelWidth - Math.max(Transform.Identity().transformPoint(e.clientX, 0)[0], 0); - // return false; - // }), returnFalse, action(() => this._propertiesWidth = this.propertiesWidth() < 15 ? Math.min(this._panelWidth - 50, 200) : 0), false); + onPropertiesPointerDown = (e: React.PointerEvent) => { + setupMoveUpEvents(this, e, action((e: PointerEvent, down: number[], delta: number[]) => { + this._propertiesWidth = this._panelWidth - e.clientX; + return false; + }), returnFalse, action(() => this._propertiesWidth = this.propertiesWidth() < 15 ? Math.min(this._panelWidth - 50, 200) : 0), false); } @action - onPointerMove = (e: PointerEvent) => { - if (this.propertiesDownX) { - this._propertiesWidth = this._propertiesWidth + (this.propertiesDownX - e.screenX); - if (this._propertiesWidth < 150) { - this._propertiesWidth = 0; - this.propertiesDownX = undefined; - } else if (this._propertiesWidth > 400) { - this._propertiesWidth = 400; - this.propertiesDownX = undefined; - } - document.removeEventListener("pointermove", this.onPointerMove); - document.removeEventListener("pointerup", this.onPointerUp); - } else { - this.flyoutWidth = Math.max(e.clientX, 0); - Math.abs(this.flyoutWidth - this._flyoutSizeOnDown) > 6 && (this._canClick = false); - this.sidebarButtonsDoc._columnWidth = this.flyoutWidth / 3 - 30; - } - } - @action - onPointerUp = (e: PointerEvent) => { - if (this.propertiesDownX) { - if (Math.abs(this.propertiesDownX - e.screenX) < 3) { - if (this._propertiesWidth < 10) { - this._propertiesWidth = 200; - } else { - this._propertiesWidth = 0; - } - } else { - this._propertiesWidth = this._propertiesWidth + (this.propertiesDownX - e.screenX); - if (this._propertiesWidth < 150) { - this._propertiesWidth = 0; - } else if (this._propertiesWidth > 400) { - this._propertiesWidth = 400; - } - } - this.propertiesDownX = undefined; - } else { - if (Math.abs(e.clientX - this._flyoutSizeOnDown) < 4 && this._canClick) { + onFlyoutPointerDown = (e: React.PointerEvent) => { + this.panelContent = "none"; + if (this._flyoutTranslate) { + setupMoveUpEvents(this, e, action((e: PointerEvent) => { + this.flyoutWidth = Math.max(e.clientX, 0); + Math.abs(this.flyoutWidth - this._flyoutSizeOnDown) > 6 && (this._canClick = false); + this.sidebarButtonsDoc._columnWidth = this.flyoutWidth / 3 - 30; + return false; + }), emptyFunction, action(() => { this.flyoutWidth = this.flyoutWidth < 15 ? 250 : 0; this.flyoutWidth && (this.sidebarButtonsDoc._columnWidth = this.flyoutWidth / 3 - 30); - } + })); } - document.removeEventListener("pointermove", this.onPointerMove); - document.removeEventListener("pointerup", this.onPointerUp); - } + flyoutWidthFunc = () => this.flyoutWidth; addDocTabFunc = (doc: Doc, where: string, libraryPath?: Doc[]): boolean => { return where === "close" ? CollectionDockingView.CloseRightSplit(doc) : @@ -603,56 +538,67 @@ export class MainView extends React.Component { ; } + @computed get mainInnerContent() { + const rightFlyout = this.propertiesWidth() - 1; + return <> + {this.menuPanel} +
+
+ {this.flyoutWidth !== 0 ?
+ +
+
+
: null} +
+ {this.flyout} + {this.expandButton} +
+
+ {this.dockingContent} + {this.showProperties ? (null) : +
+
+
+
+ } + {this.propertiesWidth() < 10 ? (null) : +
{this.propertiesView}
} +
+ ; + } + @computed get mainContent() { //const n = (RichTextMenu.Instance?.Pinned ? 1 : 0) + (CollectionMenu.Instance?.Pinned ? 1 : 0); const n = (CollectionMenu.Instance?.Pinned ? 1 : 0); const height = `calc(100% - ${n * Number(ANTIMODEMENU_HEIGHT.replace("px", ""))}px)`; - - const rightFlyout = this.propertiesWidth() - 1; + const pinned = FormatShapePane.Instance?.Pinned; + const innerContent = this.mainInnerContent; return !this.userDoc ? (null) : ( -
- {this.menuPanel} -
-
- {this.flyoutWidth !== 0 ?
- -
-
-
: null} -
- {this.flyout} - {this.expandButton} -
+ + {({ measureRef }) => +
+ {innerContent}
- {this.dockingContent} - {this.showProperties ? (null) : -
-
-
-
- } - {this.propertiesWidth() < 10 ? (null) : -
{this.propertiesView}
} -
-
); + } + ); } public static expandFlyout = action(() => { diff --git a/src/client/views/collections/collectionFreeForm/PropertiesView.tsx b/src/client/views/collections/collectionFreeForm/PropertiesView.tsx index c187ad3b8..a3c9516e1 100644 --- a/src/client/views/collections/collectionFreeForm/PropertiesView.tsx +++ b/src/client/views/collections/collectionFreeForm/PropertiesView.tsx @@ -295,7 +295,7 @@ export class PropertiesView extends React.Component { } sharingItem(name: string, effectiveAcl: symbol, permission?: string) { - return
+ return
{name}
{name !== "Me" ? this.notifyIcon : null}
-- cgit v1.2.3-70-g09d2