@adcops/autocore-react 3.0.21 → 3.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback,useState}from"react";export const kMillimeters2Inches=1/25.4;export function useScaledValue(e,t,
|
|
1
|
+
import{useCallback,useState,useEffect}from"react";export const kMillimeters2Inches=1/25.4;export function useScaledValue(e,t,s=0){const[u,a]=useState(e),[c,l]=useState((()=>e*t+s));useEffect((()=>{l(u*t+s)}),[u,t,s]);return[c,useCallback((e=>{a(e)}),[t,s])]}
|
package/package.json
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* Copyright (C) 2024 Automated Design Corp.. All Rights Reserved.
|
|
3
3
|
* Created Date: 2024-04-30 11:41:59
|
|
4
4
|
* -----
|
|
5
|
-
* Last Modified: 2024-
|
|
5
|
+
* Last Modified: 2024-05-02 15:14:03
|
|
6
6
|
* -----
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
import { useCallback, useState } from 'react';
|
|
12
|
+
import { useCallback, useState, useEffect } from 'react';
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
export const kMillimeters2Inches: number = 1 / 25.4;
|
|
@@ -71,18 +71,22 @@ type UseScaledValueReturn = [number, (newValue: number) => void];
|
|
|
71
71
|
* input display accordingly. The user's input is converted back to the base unit before being processed.
|
|
72
72
|
*/
|
|
73
73
|
export function useScaledValue(initialValue: number, scale: number, offset: number = 0): UseScaledValueReturn {
|
|
74
|
+
const [baseValue, setBaseValue] = useState<number>(initialValue);
|
|
75
|
+
const [displayValue, setDisplayValue] = useState<number>(() => (initialValue * scale) + offset);
|
|
74
76
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const handleSetDisplayValue = useCallback((newValue: number) => {
|
|
77
|
+
// Update display value whenever baseValue, scale, or offset changes
|
|
78
|
+
useEffect(() => {
|
|
78
79
|
|
|
79
80
|
// In autocore-react, we multiple to scale incoming values,
|
|
80
81
|
// divide to scale outgoing values.
|
|
81
82
|
// This is an INCOMING value, so we multiply.
|
|
82
83
|
|
|
83
|
-
|
|
84
|
-
|
|
84
|
+
setDisplayValue((baseValue * scale) + offset);
|
|
85
|
+
}, [baseValue, scale, offset]);
|
|
85
86
|
|
|
87
|
+
// Function to update baseValue when displayValue changes
|
|
88
|
+
const handleSetDisplayValue = useCallback((newValue: number) => {
|
|
89
|
+
setBaseValue(newValue);
|
|
86
90
|
}, [scale, offset]);
|
|
87
91
|
|
|
88
92
|
return [displayValue, handleSetDisplayValue];
|