Skip to content

Commit 65d92e9

Browse files
committed
fix: TRIAG-1357: Hotkey not working for Number Tag
1 parent f9e94fd commit 65d92e9

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

web/libs/editor/src/tags/control/Number.jsx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import ClassificationBase from "./ClassificationBase";
1414
import PerItemMixin from "../../mixins/PerItem";
1515
import { FF_LSDV_4583, isFF } from "../../utils/feature-flags";
1616
import { cn } from "../../utils/bem";
17+
import { safeNumber, positiveNumber } from "../../utils/number";
1718

1819
/**
1920
* The Number tag supports numeric classification. Use to classify tasks using numbers.
@@ -171,15 +172,15 @@ const Model = types
171172
},
172173

173174
increaseValue() {
174-
if (self.number >= Number(self.max)) {
175-
self.setNumber(0);
176-
} else {
177-
if (self.number > 0) {
178-
self.setNumber(self.number + 1);
179-
} else {
180-
self.setNumber(1);
181-
}
182-
}
175+
const min = safeNumber(self.min, 0);
176+
const max = safeNumber(self.max, Number.POSITIVE_INFINITY);
177+
const step = positiveNumber(self.step);
178+
const defaultValue = safeNumber(self.defaultvalue, min);
179+
const current = safeNumber(self.number, defaultValue);
180+
181+
const next = current + step > max ? min : current + step;
182+
183+
self.setNumber(next);
183184
},
184185

185186
onHotKey() {
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { isDefined } from "./utilities";
2+
3+
export const safeNumber = (v, fallback) => {
4+
const n = Number(v);
5+
return isDefined(v) && Number.isFinite(n) ? n : fallback;
6+
};
7+
8+
export const positiveNumber = (v, fallback = 1) => {
9+
const n = Number(v);
10+
return Number.isFinite(n) && n > 0 ? n : fallback;
11+
};

0 commit comments

Comments
 (0)