diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-05-10 07:58:26 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-10 07:58:26 +0900 |
| commit | e1cd7c94fb13f8e49667b17554d22ce8de627a2a (patch) | |
| tree | a064c4b0937160cf1e26697dcfe18de8f2eb0144 /packages/frontend/src/composables/use-mutation-observer.ts | |
| parent | Bump version to 2025.5.1-alpha.0 (diff) | |
| download | misskey-e1cd7c94fb13f8e49667b17554d22ce8de627a2a.tar.gz misskey-e1cd7c94fb13f8e49667b17554d22ce8de627a2a.tar.bz2 misskey-e1cd7c94fb13f8e49667b17554d22ce8de627a2a.zip | |
refactor(frontend): use* 関数の格納場所のフォルダ名を composables に変更 (#16004)
* refactor(frontend): use* 関数の格納場所を正式名称(composables)に変更
* migrate
* move useLoading
Diffstat (limited to 'packages/frontend/src/composables/use-mutation-observer.ts')
| -rw-r--r-- | packages/frontend/src/composables/use-mutation-observer.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/frontend/src/composables/use-mutation-observer.ts b/packages/frontend/src/composables/use-mutation-observer.ts new file mode 100644 index 0000000000..7b774022dc --- /dev/null +++ b/packages/frontend/src/composables/use-mutation-observer.ts @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { onUnmounted, watch } from 'vue'; +import type { Ref } from 'vue'; + +export function useMutationObserver(targetNodeRef: Ref<HTMLElement | null | undefined>, options: MutationObserverInit, callback: MutationCallback): void { + const observer = new MutationObserver(callback); + + watch(targetNodeRef, (targetNode) => { + if (targetNode) { + observer.observe(targetNode, options); + } + }, { immediate: true }); + + onUnmounted(() => { + observer.disconnect(); + }); +} |