Przeglądaj źródła

Make menu draggable

dev_h
Finn Krein 4 lat temu
rodzic
commit
e6e47ebef9
3 zmienionych plików z 26 dodań i 4 usunięć
  1. 2
    3
      client-data/board.css
  2. 1
    1
      client-data/board.html
  3. 23
    0
      client-data/js/board.js

+ 2
- 3
client-data/board.css Wyświetl plik

@@ -54,7 +54,6 @@ html, body, svg {
54 54
 	transition-duration: 1s;
55 55
 	cursor: default;
56 56
 	padding: 10px;
57
-	pointer-events: none;
58 57
 }
59 58
 
60 59
 #menu.closed {
@@ -84,7 +83,7 @@ html, body, svg {
84 83
 }
85 84
 
86 85
 #settings {
87
-	margin-bottom: 0;
86
+	margin-bottom: 20px;
88 87
 }
89 88
 
90 89
 #menu .tool {
@@ -285,4 +284,4 @@ circle.opcursor {
285 284
 	label.tool-name[for=chooseColor] {
286 285
 		line-height: 10px;
287 286
 	}
288
-}
287
+}

+ 1
- 1
client-data/board.html Wyświetl plik

@@ -35,7 +35,7 @@
35 35
 
36 36
 	<div id="loadingMessage">{{translations.loading}}</div>
37 37
 
38
-	<div id="menu" {{#hideMenu}}style="display:none;"{{/hideMenu}}>
38
+	<div id="menu" tabindex="0" {{#hideMenu}}style="display:none;"{{/hideMenu}}>
39 39
 		<div id="menuItems">
40 40
 			<ul id="tools" class="tools">
41 41
 				<li class="tool" tabindex="-1">

+ 23
- 0
client-data/js/board.js Wyświetl plik

@@ -682,3 +682,26 @@ Tools.svg.height.baseVal.value = document.body.clientHeight;
682 682
 	  "stylesheet" : "style.css",
683 683
 }
684 684
 */
685
+
686
+
687
+(function () {
688
+    let pos = {top: 0, scroll:0};
689
+    let menu = document.getElementById("menu");
690
+    function menu_mousedown(evt) {
691
+	pos = {
692
+	    top: menu.scrollTop,
693
+	    scroll: evt.clientY
694
+	}
695
+	menu.addEventListener("mousemove", menu_mousemove);
696
+	document.addEventListener("mouseup", menu_mouseup);
697
+    }
698
+    function menu_mousemove(evt) {
699
+	const dy = evt.clientY - pos.scroll;
700
+	menu.scrollTop = pos.top - dy;
701
+    }
702
+    function menu_mouseup(evt) {
703
+	menu.removeEventListener("mousemove", menu_mousemove);
704
+	document.removeEventListener("mouseup", menu_mouseup);
705
+    }
706
+    menu.addEventListener("mousedown", menu_mousedown);
707
+})()

Ładowanie…
Anuluj
Zapisz