Merge branch 'ASTRA-85' into 'master'

WIP Исправил ошибку срабатывания интервала

See merge request andrusyakka/urban-couscous!385
This commit is contained in:
Aleksey Demin
2023-05-23 11:52:34 +00:00
2 changed files with 17 additions and 3 deletions

View File

@@ -51,6 +51,7 @@
import BaseInput from "@/components/base/BaseInput";
import BaseInputContainer from "@/components/base/BaseInputContainer.vue";
import { ruleNumberInput } from "@/shared/utils/rulesInputs";
import { roundNumber } from "@/shared/utils/methodsObjects";
export default {
name: "BaseInputNumber",
@@ -58,7 +59,9 @@ export default {
data() {
return {
intervalId: 0,
timeoutId: 0,
ruleNumberInput: [(val) => ruleNumberInput(val, this.max, this.min)],
roundNumber: roundNumber,
};
},
props: {
@@ -163,18 +166,23 @@ export default {
}
},
fastIncrement() {
this.intervalId = setInterval(() => this.increment(), 100);
this.timeoutId = setTimeout(() => {
this.intervalId = setInterval(() => this.increment(), 100);
}, 500);
},
fastDecrement() {
this.intervalId = setInterval(() => this.decrement(), 100);
this.timeoutId = setTimeout(() => {
this.intervalId = setInterval(() => this.decrement(), 100);
}, 500);
},
deleteInterval() {
clearTimeout(this.timeoutId);
clearInterval(this.intervalId);
},
},
watch: {
value(val) {
this.value = Number(val).toFixed(this.rounding);
this.value = this.roundNumber(val, this.rounding);
},
},
computed: {

View File

@@ -0,0 +1,6 @@
export function roundNumber(val, digits, rounded = "floor") {
let fraction = 10 * digits;
return fraction
? Math[rounded](val * fraction) / fraction
: Math[rounded](val);
}