hippofish/packages/client/src/directives/ripple.ts
2023-11-17 05:18:19 +09:00

19 lines
504 B
TypeScript

import type { Ref } from "vue";
import Ripple from "@/components/MkRipple.vue";
import { popup } from "@/os";
export default {
mounted(el: HTMLElement, binding: Ref<boolean>) {
// 明示的に false であればバインドしない
if (binding.value === false) return;
el.addEventListener("click", () => {
const rect = el.getBoundingClientRect();
const x = rect.left + el.offsetWidth / 2;
const y = rect.top + el.offsetHeight / 2;
popup(Ripple, { x, y }, {}, "end");
});
},
};