From 30e74a791998d55f02d62d3eee6467d4726dd0cb Mon Sep 17 00:00:00 2001 From: grnd-alt Date: Tue, 15 Apr 2025 13:52:47 +0200 Subject: [PATCH] fix: rename parameter names deprecated in vue3 Signed-off-by: grnd-alt --- package-lock.json | 167 +++++++++++++----- package.json | 1 + src/App.vue | 10 ++ src/CardMoveDialog.vue | 2 +- src/components/Controls.vue | 8 +- src/components/KeyboardShortcuts.vue | 6 +- src/components/board/Board.vue | 13 +- src/components/board/Stack.vue | 11 +- src/components/card/Description.vue | 2 +- src/components/cards/CardItem.vue | 7 +- .../navigation/AppNavigationBoard.vue | 3 +- 11 files changed, 168 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3fa418d73..eabb30d28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,7 @@ "@vue/compat": "^3.5.13", "@vue/compiler-sfc": "^3.5.13", "@vue/vue3-jest": "^29.2.6", + "@vueuse/core": "^13.1.0", "blueimp-md5": "^2.19.0", "chroma-js": "^3.1.2", "dompurify": "^3.2.5", @@ -3757,6 +3758,100 @@ "vue": "^3.4.20" } }, + "node_modules/@nextcloud/dialogs/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@nextcloud/dialogs/node_modules/@vueuse/core": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.3.0.tgz", + "integrity": "sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "11.3.0", + "@vueuse/shared": "11.3.0", + "vue-demi": ">=0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nextcloud/dialogs/node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@nextcloud/dialogs/node_modules/@vueuse/metadata": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.3.0.tgz", + "integrity": "sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nextcloud/dialogs/node_modules/@vueuse/shared": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.3.0.tgz", + "integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nextcloud/dialogs/node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/@nextcloud/eslint-config": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.2.tgz", @@ -5381,9 +5476,9 @@ "license": "MIT" }, "node_modules/@types/web-bluetooth": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "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/ws": { @@ -5886,62 +5981,38 @@ } }, "node_modules/@vueuse/core": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.3.0.tgz", - "integrity": "sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-13.1.0.tgz", + "integrity": "sha512-PAauvdRXZvTWXtGLg8cPUFjiZEddTqmogdwYpnn60t08AA5a8Q4hZokBnpTOnVNqySlFlTcRYIC8OqreV4hv3Q==", "license": "MIT", "dependencies": { - "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "11.3.0", - "@vueuse/shared": "11.3.0", - "vue-demi": ">=0.14.10" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/core/node_modules/@vueuse/shared": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.3.0.tgz", - "integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==", - "license": "MIT", - "dependencies": { - "vue-demi": ">=0.14.10" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "13.1.0", + "@vueuse/shared": "13.1.0" }, "funding": { "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/core/node_modules/@vueuse/shared": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-13.1.0.tgz", + "integrity": "sha512-IVS/qRRjhPTZ6C2/AM3jieqXACGwFZwWTdw5sNTSKk2m/ZpkuuN+ri+WCVUP8TqaKwJYt/KuMwmXspMAw8E6ew==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } + "peerDependencies": { + "vue": "^3.5.0" } }, "node_modules/@vueuse/metadata": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.3.0.tgz", - "integrity": "sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-13.1.0.tgz", + "integrity": "sha512-+TDd7/a78jale5YbHX9KHW3cEDav1lz1JptwDvep2zSG8XjCsVE+9mHIzjTOaPbHUAk5XiE4jXLz51/tS+aKQw==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" diff --git a/package.json b/package.json index 5726170bd..f043b1a80 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "@vue/compat": "^3.5.13", "@vue/compiler-sfc": "^3.5.13", "@vue/vue3-jest": "^29.2.6", + "@vueuse/core": "^13.1.0", "blueimp-md5": "^2.19.0", "chroma-js": "^3.1.2", "dompurify": "^3.2.5", diff --git a/src/App.vue b/src/App.vue index c685a41cd..a65fcee8a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -7,6 +7,10 @@ import { NcAppContent, NcContent, NcModal } from '@nextcloud/vue' import CardMoveDialog from './CardMoveDialog.vue' import AppNavigation from './components/navigation/AppNavigation.vue' import KeyboardShortcuts from './components/KeyboardShortcuts.vue' +import {BoardApi} from './services/BoardApi.js' + +const boardApi = new BoardApi() + export default { name: 'App', components: { @@ -22,6 +26,12 @@ export default { return this.$store.getters.config('cardDetailsInModal') }, }, + provide() { + return { + boardApi, + } + }, + methods: { hideModal() { this.$router.push({ name: 'board' }) diff --git a/src/CardMoveDialog.vue b/src/CardMoveDialog.vue index 79fd4b474..af7072b75 100644 --- a/src/CardMoveDialog.vue +++ b/src/CardMoveDialog.vue @@ -72,7 +72,7 @@ export default { mounted() { subscribe('deck:card:show-move-dialog', this.openModal) }, - destroyed() { + unmounted() { unsubscribe('deck:card:show-move-dialog', this.openModal) }, methods: { diff --git a/src/components/Controls.vue b/src/components/Controls.vue index 07842ddea..719f56113 100644 --- a/src/components/Controls.vue +++ b/src/components/Controls.vue @@ -278,6 +278,7 @@ import SessionList from './SessionList.vue' import { isNotifyPushEnabled } from '../sessions.js' import CreateNewCardCustomPicker from '../views/CreateNewCardCustomPicker.vue' import { getCurrentUser } from '@nextcloud/auth' +import { onClickOutside } from '@vueuse/core' export default { name: 'Controls', @@ -363,6 +364,11 @@ export default { } }, }, + created() { + onClickOutside(() => { + this.hideAddStack() + }) + }, beforeMount() { subscribe('deck:board:show-new-card', this.clickShowAddCardModel) subscribe('deck:board:toggle-filter-popover', this.triggerOpenFilters) @@ -370,7 +376,7 @@ export default { subscribe('deck:board:toggle-filter-by-me', this.triggerFilterByMe) }, - beforeDestroy() { + beforeUnmount() { unsubscribe('deck:board:show-new-card', this.clickShowAddCardModel) unsubscribe('deck:board:toggle-filter-popover', this.triggerOpenFilters) unsubscribe('deck:board:clear-filter', this.triggerClearFilter) diff --git a/src/components/KeyboardShortcuts.vue b/src/components/KeyboardShortcuts.vue index 7be5e6e40..b055f1a76 100644 --- a/src/components/KeyboardShortcuts.vue +++ b/src/components/KeyboardShortcuts.vue @@ -6,7 +6,6 @@
@@ -18,6 +17,7 @@