diff options
| author | misskey-release-bot[bot] <157398866+misskey-release-bot[bot]@users.noreply.github.com> | 2026-03-05 10:56:50 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-05 10:56:50 +0000 |
| commit | fe3dd8edb5f30104cd0a7ed755eb254feda2922d (patch) | |
| tree | af6cf5fa4ca75302ac2de5db742cead00bc13d21 /packages/frontend/src/ui/deck | |
| parent | Merge pull request #16998 from misskey-dev/develop (diff) | |
| parent | Release: 2026.3.0 (diff) | |
| download | misskey-fe3dd8edb5f30104cd0a7ed755eb254feda2922d.tar.gz misskey-fe3dd8edb5f30104cd0a7ed755eb254feda2922d.tar.bz2 misskey-fe3dd8edb5f30104cd0a7ed755eb254feda2922d.zip | |
Merge pull request #17217 from misskey-dev/develop
Release: 2026.3.0
Diffstat (limited to 'packages/frontend/src/ui/deck')
| -rw-r--r-- | packages/frontend/src/ui/deck/column.vue | 18 | ||||
| -rw-r--r-- | packages/frontend/src/ui/deck/main-column.vue | 4 | ||||
| -rw-r--r-- | packages/frontend/src/ui/deck/tl-column.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/src/ui/deck/widgets-column.vue | 13 |
4 files changed, 21 insertions, 16 deletions
diff --git a/packages/frontend/src/ui/deck/column.vue b/packages/frontend/src/ui/deck/column.vue index 312ca51c83..410faf11f9 100644 --- a/packages/frontend/src/ui/deck/column.vue +++ b/packages/frontend/src/ui/deck/column.vue @@ -247,15 +247,15 @@ function getMenu() { return menuItems; } -function showSettingsMenu(ev: MouseEvent) { +function showSettingsMenu(ev: PointerEvent) { os.popupMenu(getMenu(), ev.currentTarget ?? ev.target); } -function onContextmenu(ev: MouseEvent) { +function onContextmenu(ev: PointerEvent) { os.contextMenu(getMenu(), ev); } -function goTop(ev: MouseEvent) { +function goTop(ev: PointerEvent) { emit('headerClick', ev); if (!props.handleScrollToTop) return; @@ -267,7 +267,9 @@ function goTop(ev: MouseEvent) { } } -function onDragstart(ev) { +function onDragstart(ev: DragEvent) { + if (ev.dataTransfer == null) return; + ev.dataTransfer.effectAllowed = 'move'; setDragData(ev, 'deckColumn', props.column.id); @@ -278,11 +280,13 @@ function onDragstart(ev) { }, 10); } -function onDragend(ev) { +function onDragend(ev: DragEvent) { dragging.value = false; } -function onDragover(ev) { +function onDragover(ev: DragEvent) { + if (ev.dataTransfer == null) return; + // 自分自身がドラッグされている場合 if (dragging.value) { // 自分自身にはドロップさせない @@ -300,7 +304,7 @@ function onDragleave() { draghover.value = false; } -function onDrop(ev) { +function onDrop(ev: DragEvent) { draghover.value = false; os.deckGlobalEvents.emit('column.dragEnd'); diff --git a/packages/frontend/src/ui/deck/main-column.vue b/packages/frontend/src/ui/deck/main-column.vue index 1388cbdc18..8757ec0941 100644 --- a/packages/frontend/src/ui/deck/main-column.vue +++ b/packages/frontend/src/ui/deck/main-column.vue @@ -58,11 +58,11 @@ function back() { history.back(); } */ -function onContextmenu(ev: MouseEvent) { +function onContextmenu(ev: PointerEvent) { if (!ev.target) return; if (isLink(ev.target as HTMLElement)) return; - if (['INPUT', 'TEXTAREA', 'IMG', 'VIDEO', 'CANVAS'].includes((ev.target as HTMLElement).tagName) || (ev.target as HTMLElement).attributes['contenteditable']) return; + if (['INPUT', 'TEXTAREA', 'IMG', 'VIDEO', 'CANVAS'].includes((ev.target as HTMLElement).tagName) || (ev.target as HTMLElement).attributes.getNamedItem('contenteditable') != null) return; if (window.getSelection()?.toString() !== '') return; const path = mainRouter.currentRoute.value.path; os.contextMenu([{ diff --git a/packages/frontend/src/ui/deck/tl-column.vue b/packages/frontend/src/ui/deck/tl-column.vue index 0e59913c4c..aab0cde1c8 100644 --- a/packages/frontend/src/ui/deck/tl-column.vue +++ b/packages/frontend/src/ui/deck/tl-column.vue @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <XColumn :menu="menu" :column="column" :isStacked="isStacked" :refresher="async () => { await timeline?.reloadTimeline() }"> <template #header> - <i v-if="column.tl != null" :class="basicTimelineIconClass(column.tl)"/> + <i v-if="column.tl != null" :class="basicTimelineIconClass(column.tl)"></i> <span style="margin-left: 8px;">{{ column.name || (column.tl ? i18n.ts._timelines[column.tl] : null) || i18n.ts._deck._columns.tl }}</span> </template> diff --git a/packages/frontend/src/ui/deck/widgets-column.vue b/packages/frontend/src/ui/deck/widgets-column.vue index 4e84ef0ba0..0985e95653 100644 --- a/packages/frontend/src/ui/deck/widgets-column.vue +++ b/packages/frontend/src/ui/deck/widgets-column.vue @@ -17,8 +17,9 @@ SPDX-License-Identifier: AGPL-3.0-only <script lang="ts" setup> import { ref } from 'vue'; import XColumn from './column.vue'; -import { addColumnWidget, removeColumnWidget, setColumnWidgets, updateColumnWidget } from '@/deck.js'; import type { Column } from '@/deck.js'; +import type { Widget } from '@/components/MkWidgets.vue'; +import { addColumnWidget, removeColumnWidget, setColumnWidgets, updateColumnWidget } from '@/deck.js'; import XWidgets from '@/components/MkWidgets.vue'; import { i18n } from '@/i18n.js'; @@ -29,19 +30,19 @@ const props = defineProps<{ const edit = ref(false); -function addWidget(widget) { +function addWidget(widget: Widget) { addColumnWidget(props.column.id, widget); } -function removeWidget(widget) { +function removeWidget(widget: Widget) { removeColumnWidget(props.column.id, widget); } -function updateWidget({ id, data }) { - updateColumnWidget(props.column.id, id, data); +function updateWidget(widget: { id: Widget['id']; data: Widget['data']; }) { + updateColumnWidget(props.column.id, widget.id, widget.data); } -function updateWidgets(widgets) { +function updateWidgets(widgets: Widget[]) { setColumnWidgets(props.column.id, widgets); } |