vue-move-directives
Version:
A set of Vue 3 directives to animate elements moving to other elements.
28 lines (27 loc) • 810 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.moverTarget = void 0;
const moverTarget = (emitter) => ({
mounted(el, binding) {
const moveListener = (event) => {
if (event.targetId !== binding.value)
return;
const position = el.getBoundingClientRect();
emitter.emit('moveElementCallback', {
elementId: event.elementId,
x: position.x,
y: position.y,
});
};
emitter.on('moveElement', moveListener);
el._cleanup = () => {
emitter.off('moveElement', moveListener);
};
},
beforeUnmount(el) {
if (el._cleanup) {
el._cleanup();
}
}
});
exports.moverTarget = moverTarget;
;