summaryrefslogtreecommitdiff
path: root/packages/frontend/src/ui/deck/column.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/ui/deck/column.vue')
-rw-r--r--packages/frontend/src/ui/deck/column.vue36
1 files changed, 18 insertions, 18 deletions
diff --git a/packages/frontend/src/ui/deck/column.vue b/packages/frontend/src/ui/deck/column.vue
index 1a6b833b45..39a0279dea 100644
--- a/packages/frontend/src/ui/deck/column.vue
+++ b/packages/frontend/src/ui/deck/column.vue
@@ -42,7 +42,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<script lang="ts" setup>
-import { onBeforeUnmount, onMounted, provide, watch } from 'vue';
+import { onBeforeUnmount, onMounted, provide, watch, shallowRef, ref, computed } from 'vue';
import { updateColumn, swapLeftColumn, swapRightColumn, swapUpColumn, swapDownColumn, stackLeftColumn, popRightColumn, removeColumn, swapColumn, Column } from './deck-store';
import * as os from '@/os.js';
import { i18n } from '@/i18n.js';
@@ -67,16 +67,16 @@ const emit = defineEmits<{
(ev: 'headerWheel', ctx: WheelEvent): void;
}>();
-let body = $shallowRef<HTMLDivElement | null>();
+const body = shallowRef<HTMLDivElement | null>();
-let dragging = $ref(false);
-watch($$(dragging), v => os.deckGlobalEvents.emit(v ? 'column.dragStart' : 'column.dragEnd'));
+const dragging = ref(false);
+watch(dragging, v => os.deckGlobalEvents.emit(v ? 'column.dragStart' : 'column.dragEnd'));
-let draghover = $ref(false);
-let dropready = $ref(false);
+const draghover = ref(false);
+const dropready = ref(false);
-const isMainColumn = $computed(() => props.column.type === 'main');
-const active = $computed(() => props.column.active !== false);
+const isMainColumn = computed(() => props.column.type === 'main');
+const active = computed(() => props.column.active !== false);
onMounted(() => {
os.deckGlobalEvents.on('column.dragStart', onOtherDragStart);
@@ -89,11 +89,11 @@ onBeforeUnmount(() => {
});
function onOtherDragStart() {
- dropready = true;
+ dropready.value = true;
}
function onOtherDragEnd() {
- dropready = false;
+ dropready.value = false;
}
function toggleActive() {
@@ -208,8 +208,8 @@ function onContextmenu(ev: MouseEvent) {
}
function goTop() {
- if (body) {
- body.scrollTo({
+ if (body.value) {
+ body.value.scrollTo({
top: 0,
behavior: 'smooth',
});
@@ -223,17 +223,17 @@ function onDragstart(ev) {
// Chromeのバグで、Dragstartハンドラ内ですぐにDOMを変更する(=リアクティブなプロパティを変更する)とDragが終了してしまう
// SEE: https://stackoverflow.com/questions/19639969/html5-dragend-event-firing-immediately
window.setTimeout(() => {
- dragging = true;
+ dragging.value = true;
}, 10);
}
function onDragend(ev) {
- dragging = false;
+ dragging.value = false;
}
function onDragover(ev) {
// 自分自身がドラッグされている場合
- if (dragging) {
+ if (dragging.value) {
// 自分自身にはドロップさせない
ev.dataTransfer.dropEffect = 'none';
} else {
@@ -241,16 +241,16 @@ function onDragover(ev) {
ev.dataTransfer.dropEffect = isDeckColumn ? 'move' : 'none';
- if (isDeckColumn) draghover = true;
+ if (isDeckColumn) draghover.value = true;
}
}
function onDragleave() {
- draghover = false;
+ draghover.value = false;
}
function onDrop(ev) {
- draghover = false;
+ draghover.value = false;
os.deckGlobalEvents.emit('column.dragEnd');
const id = ev.dataTransfer.getData(_DATA_TRANSFER_DECK_COLUMN_);