diff web/fade/Light9Fader.ts @ 2400:9a4bc2ea264e

ui tweaks and link fix
author drewp@bigasterisk.com
date Fri, 17 May 2024 13:25:46 -0700
parents 4556eebe5d73
children
line wrap: on
line diff
--- a/web/fade/Light9Fader.ts	Thu May 16 16:15:33 2024 -0700
+++ b/web/fade/Light9Fader.ts	Fri May 17 13:25:46 2024 -0700
@@ -21,10 +21,12 @@
       }
       #handle {
         background: gray;
-        border: 5px gray outset;
+        border: 3px outset #838499;
         position: relative;
-        left: 0;
+        left: 0px;
         right: -25px;
+        border-radius: 4px;
+        margin: 0 1px;
       }
     `,
   ];
@@ -34,7 +36,7 @@
   @query("#handle") handleEl!: HTMLElement;
 
   troughHeight = 80 - 2 - 2 - 5 - 5;
-  handleHeight = 10;
+  handleHeight = 16;
 
   drag?: Drag;
   unmutedValue: number = 1;
@@ -46,11 +48,10 @@
   protected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {
     super.update(changedProperties);
     if (changedProperties.has("value")) {
-      
     }
   }
   valueChangedFromUi() {
-    this.value= clamp(this.value, 0, 1)
+    this.value = clamp(this.value, 0, 1);
     this.dispatchEvent(new CustomEvent("change", { detail: { value: this.value } }));
   }
 
@@ -80,7 +81,7 @@
       ev.stopPropagation();
       if (ev.buttons == 1) {
         this.value = this.sliderValue(ev.offsetY);
-        this.valueChangedFromUi()
+        this.valueChangedFromUi();
         this.drag = new Drag(ev.clientY, this.value);
       } else if (ev.buttons == 2) {
         // RMB in trough
@@ -94,8 +95,8 @@
 
     this.addEventListener("wheel", (ev: WheelEvent) => {
       ev.preventDefault();
-      this.value += ev.deltaY / this.troughHeight * -.05;
-      this.valueChangedFromUi()
+      this.value += (ev.deltaY / this.troughHeight) * -0.03;
+      this.valueChangedFromUi();
     });
 
     const maybeDrag = (ev: MouseEvent) => {
@@ -121,12 +122,12 @@
       // unmute
       this.value = this.unmutedValue;
     }
-    this.valueChangedFromUi()
+    this.valueChangedFromUi();
   }
   onMouseDrag(dy: number) {
     if (this.drag === undefined) throw "unexpected";
     this.value = this.drag.startDragValue - dy / this.troughHeight;
-    this.valueChangedFromUi()
+    this.valueChangedFromUi();
   }
 
   onMouseUpAnywhere() {
@@ -134,7 +135,7 @@
   }
 
   sliderTopY(value: number): number {
-    const usableY = this.troughHeight - this.handleHeight;
+    const usableY = this.troughHeight - this.handleHeight / 2 - 1;
     const yAdj = this.handleHeight / 2 - 5 - 2;
     return (1 - value) * usableY + yAdj;
   }