summaryrefslogtreecommitdiff
path: root/packages/frontend/src/composables/use-mutation-observer.ts
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-05-10 07:58:26 +0900
committerGitHub <noreply@github.com>2025-05-10 07:58:26 +0900
commite1cd7c94fb13f8e49667b17554d22ce8de627a2a (patch)
treea064c4b0937160cf1e26697dcfe18de8f2eb0144 /packages/frontend/src/composables/use-mutation-observer.ts
parentBump version to 2025.5.1-alpha.0 (diff)
downloadmisskey-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.ts21
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();
+ });
+}