From 28e636ef7d7ed541dd735ec5cb9e29a6505ac787 Mon Sep 17 00:00:00 2001
From: ljungster <parkerljung@gmail.com>
Date: Thu, 28 Apr 2022 09:57:21 -0400
Subject: making changes to array, but no visual ones

---
 .../CollectionNoteTakingViewDivider.tsx            | 67 ++++++++++++++++++----
 1 file changed, 56 insertions(+), 11 deletions(-)

(limited to 'src/client/views/collections/CollectionNoteTakingViewDivider.tsx')

diff --git a/src/client/views/collections/CollectionNoteTakingViewDivider.tsx b/src/client/views/collections/CollectionNoteTakingViewDivider.tsx
index 11e1b5d62..9b4af16ce 100644
--- a/src/client/views/collections/CollectionNoteTakingViewDivider.tsx
+++ b/src/client/views/collections/CollectionNoteTakingViewDivider.tsx
@@ -1,7 +1,5 @@
-import { auto } from "async";
-import { action } from "mobx";
+import { action, observable } from "mobx";
 import * as React from "react";
-import { DragManager } from "../../util/DragManager";
 
 interface DividerProps {
   index: number
@@ -10,19 +8,66 @@ interface DividerProps {
 }
 
 export default class Divider extends React.Component<DividerProps>{
-
+  @observable private isHoverActive = false;
+  @observable private isResizingActive = false;
   
+  @action
+  private registerResizing = (e: React.PointerEvent<HTMLDivElement>) => {
+      e.stopPropagation();
+      e.preventDefault();
+      window.removeEventListener("pointermove", this.onPointerMove);
+      window.removeEventListener("pointerup", this.onPointerUp);
+      window.addEventListener("pointermove", this.onPointerMove);
+      window.addEventListener("pointerup", this.onPointerUp);
+      this.isResizingActive = true;
+  }
+
+  @action
+  private onPointerUp = () => {
+      this.isResizingActive = false;
+      this.isHoverActive = false;
+      window.removeEventListener("pointermove", this.onPointerMove);
+      window.removeEventListener("pointerup", this.onPointerUp);
+  }
 
+  @action
+  onPointerMove = ({ movementX }: PointerEvent) => {
+    // if (DragManager.docsBeingDragged.length == 0) {
+      // //convert client X to how we're doing stuff
+      // const xPos = e.clientX + 2 * this.props.xMargin
+      // // get difference (-25 is because that's the center of the divider)
+      // const xDividerPos = this.props.columnStartXCoords[this.props.index + 1] - 25
+      // const diff = xDividerPos - xPos
+      // // make a copy of the array
+      // const colXCoords : number[] = []
+      // this.props.columnStartXCoords.forEach(val => colXCoords.push(val))
+      this.props.columnStartXCoords[this.props.index + 1] += movementX
+      console.log(this.props.columnStartXCoords)
+      // this.props.columnStartXCoords = colXCoords
+    // }
+  }
+  
   render() {
     return (
-      <div style={{
-          height: "100%",
-          width: 50,
-          padding: `0 10 10 0`,
-          margin: "auto",
-          backgroundColor: "black"
+      <div className="columnResizer"
+        style={{
+          display: "flex", 
+          alignItems: "center", 
+          cursor: "col-resize"
         }}
-      />
+        onPointerEnter={action(() => this.isHoverActive = true)}
+        onPointerLeave={action(() => !this.isResizingActive && (this.isHoverActive = false))}
+      >
+        <div className="columnResizer-handler" onPointerDown={e => this.registerResizing(e)}
+          style={{
+            height: "95%",
+            width: 12,
+            borderRight: "4px solid #282828",
+            borderLeft: "4px solid #282828",
+            margin: "0px 10px"
+          }}
+        />
+      </div>
     )
   }
 }
\ No newline at end of file
-- 
cgit v1.2.3-70-g09d2

