From af5b4749b0f46d53b7bf6cae62776fa4601bf9b3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 5 Dec 2020 12:50:09 +0900 Subject: Use vuedraggable instead of vue-draggable-next Fix #6852 --- src/client/ui/deck.vue | 8 ++++---- src/client/ui/deck/widgets-column.vue | 38 +++++++++++++++++++++-------------- src/client/ui/default.widgets.vue | 36 +++++++++++++++++---------------- 3 files changed, 46 insertions(+), 36 deletions(-) (limited to 'src/client/ui') diff --git a/src/client/ui/deck.vue b/src/client/ui/deck.vue index ad65ccd499..b1219c34ff 100644 --- a/src/client/ui/deck.vue +++ b/src/client/ui/deck.vue @@ -3,7 +3,7 @@ - + @@ -15,13 +15,13 @@ - + diff --git a/src/client/ui/deck/widgets-column.vue b/src/client/ui/deck/widgets-column.vue index e19fb01e5e..f3ad5ab716 100644 --- a/src/client/ui/deck/widgets-column.vue +++ b/src/client/ui/deck/widgets-column.vue @@ -13,14 +13,16 @@ {{ $t('close') }} -
- - -
+
@@ -40,7 +42,7 @@ import { widgets } from '../../widgets'; export default defineComponent({ components: { XColumn, - XDraggable: defineAsyncComponent(() => import('vue-draggable-next').then(x => x.VueDraggableNext)), + XDraggable: defineAsyncComponent(() => import('vuedraggable').then(x => x.default)), MkSelect, MkButton, }, @@ -67,6 +69,20 @@ export default defineComponent({ }; }, + computed: { + _widgets: { + get() { + return this.column.widgets; + }, + set(value) { + this.$store.commit('deviceUser/setDeckWidgets', { + id: this.column.id, + widgets: value + }); + } + } + }, + created() { this.menu = [{ icon: faCog, @@ -82,10 +98,6 @@ export default defineComponent({ this.settings[id](); }, - onWidgetSort() { - this.saveWidgets(); - }, - addWidget() { if (this.widgetAdderSelected == null) return; @@ -107,10 +119,6 @@ export default defineComponent({ widget }); }, - - saveWidgets() { - this.$store.commit('deviceUser/updateDeckColumn', this.column); - } } }); diff --git a/src/client/ui/default.widgets.vue b/src/client/ui/default.widgets.vue index c41ba52a76..deedc912af 100644 --- a/src/client/ui/default.widgets.vue +++ b/src/client/ui/default.widgets.vue @@ -3,20 +3,22 @@ @@ -38,7 +40,7 @@ import MkButton from '@/components/ui/button.vue'; export default defineComponent({ components: { MkButton, - XDraggable: defineAsyncComponent(() => import('vue-draggable-next').then(x => x.VueDraggableNext)), + XDraggable: defineAsyncComponent(() => import('vuedraggable').then(x => x.default)), }, emits: ['mounted'], @@ -52,8 +54,13 @@ export default defineComponent({ }, computed: { - widgets(): any { - return this.$store.state.deviceUser.widgets; + widgets: { + get() { + return this.$store.state.deviceUser.widgets; + }, + set(value) { + this.$store.commit('deviceUser/setWidgets', value); + } }, }, @@ -66,11 +73,6 @@ export default defineComponent({ this.settings[id](); }, - onWidgetSort() { - // TODO: vuexを直接書き換えているのでなんとかする - this.saveHome(); - }, - async addWidget() { const { canceled, result: widget } = await os.dialog({ type: null, -- cgit v1.2.3-freya