mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-21 16:50:02 +02:00
feat (frontend): pressing "-" at the beginning of a number component will add a minus sign
This commit is contained in:
parent
61c6585ac6
commit
8ae0b7818b
@ -139,7 +139,9 @@ export const NumberComponent = React.memo((props: NumberComponentProps) => {
|
|||||||
renderCount.current++;
|
renderCount.current++;
|
||||||
|
|
||||||
// Set the cursor position after the component re-renders
|
// Set the cursor position after the component re-renders
|
||||||
const inputElement = document.getElementsByName(id)[0] as HTMLInputElement;
|
const inputElement = document.getElementsByName(
|
||||||
|
fullAccessPath
|
||||||
|
)[0] as HTMLInputElement;
|
||||||
if (inputElement && cursorPosition !== null) {
|
if (inputElement && cursorPosition !== null) {
|
||||||
inputElement.setSelectionRange(cursorPosition, cursorPosition);
|
inputElement.setSelectionRange(cursorPosition, cursorPosition);
|
||||||
}
|
}
|
||||||
@ -215,6 +217,16 @@ export const NumberComponent = React.memo((props: NumberComponentProps) => {
|
|||||||
// Select everything when pressing Ctrl + a
|
// Select everything when pressing Ctrl + a
|
||||||
target.setSelectionRange(0, target.value.length);
|
target.setSelectionRange(0, target.value.length);
|
||||||
return;
|
return;
|
||||||
|
} else if (key === '-') {
|
||||||
|
if (selectionStart === 0 && !value.startsWith('-')) {
|
||||||
|
newValue = '-' + value;
|
||||||
|
selectionStart++;
|
||||||
|
} else if (value.startsWith('-') && selectionStart === 1) {
|
||||||
|
newValue = value.substring(1); // remove minus sign
|
||||||
|
selectionStart--;
|
||||||
|
} else {
|
||||||
|
return; // Ignore "-" pressed in other positions
|
||||||
|
}
|
||||||
} else if (!isNaN(key) && key !== ' ') {
|
} else if (!isNaN(key) && key !== ' ') {
|
||||||
// Check if a number key or a decimal point key is pressed
|
// Check if a number key or a decimal point key is pressed
|
||||||
({ value: newValue, selectionStart } = handleNumericKey(
|
({ value: newValue, selectionStart } = handleNumericKey(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user