Добавил обработку Ctrl + Z

This commit is contained in:
Ilia Miheev
2026-02-17 21:49:28 +03:00
parent 6126f098aa
commit 2b5dbc319e
4 changed files with 60 additions and 5 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World!</title>
<title>Probody</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/izitoast@1/dist/css/iziToast.min.css">
</head>
<body>
+45
View File
@@ -9,6 +9,7 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"@vueuse/core": "^14.2.1",
"electron-squirrel-startup": "^1.0.1",
"izitoast": "^1.4.0",
"vue": "^3.5.28"
@@ -2510,6 +2511,12 @@
"@types/node": "*"
}
},
"node_modules/@types/web-bluetooth": {
"version": "0.0.21",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz",
"integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==",
"license": "MIT"
},
"node_modules/@types/wrap-ansi": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
@@ -2652,6 +2659,44 @@
"integrity": "sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==",
"license": "MIT"
},
"node_modules/@vueuse/core": {
"version": "14.2.1",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz",
"integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==",
"license": "MIT",
"dependencies": {
"@types/web-bluetooth": "^0.0.21",
"@vueuse/metadata": "14.2.1",
"@vueuse/shared": "14.2.1"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"vue": "^3.5.0"
}
},
"node_modules/@vueuse/metadata": {
"version": "14.2.1",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz",
"integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/shared": {
"version": "14.2.1",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz",
"integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"vue": "^3.5.0"
}
},
"node_modules/@webassemblyjs/ast": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
+1
View File
@@ -30,6 +30,7 @@
"vite": "^5.4.21"
},
"dependencies": {
"@vueuse/core": "^14.2.1",
"electron-squirrel-startup": "^1.0.1",
"izitoast": "^1.4.0",
"vue": "^3.5.28"
+12 -3
View File
@@ -1,8 +1,8 @@
<script setup>
import { ref, onMounted } from 'vue';
import izitoast from "./izitoast";
import { useEventListener } from '@vueuse/core';
// const numbers = ref(Array(100).fill('')); // Инициализируем массив с пустыми строками
const numbers = ref([]); // Инициализируем массив с пустыми строками
const clickCount = ref(1); // Счетчик нажатий
const listOfTrips = ref([])
@@ -35,13 +35,12 @@ function setNumber(item) {
}
clickCount.value--;
} else {
//если нажимаем на ранее отмеченную клетку (не последнюю), то вывбодится ошибка
//если нажимаем на ранее отмеченную клетку (не последнюю), то выводится ошибка
listOfTrips.value.push(item)
if (numbers.value[item.index].variable.at(-1) === clickCount.value-1) {
izitoast.error({title:'Ошибка', message:'Нельзя выбирать один и тот же aruco маркер 2 раза подряд'})
return
}
// numbers.value[item.index].variable = `${item.variable}, ${clickCount.value}`
numbers.value[item.index].variable.push(clickCount.value)
clickCount.value++;
@@ -73,6 +72,16 @@ function cleanResult() {
});
}
}
// Обрабатываем нажатие Ctrl + Z
const handleKeydown = (event) => {
if (event.ctrlKey && event.code === 'KeyZ' && listOfTrips.value.length ) {
event.preventDefault();
numbers.value[listOfTrips.value.at(-1).index].variable.pop();
listOfTrips.value.pop();
clickCount.value--;
}
};
useEventListener('keydown', handleKeydown);
</script>
<template>