@zoom-image/vue
Version:
Adapter of zoom image core for Vue
44 lines (41 loc) • 1.07 kB
JavaScript
;
var core = require('@zoom-image/core');
var vue = require('vue');
// src/useZoomImageWheel.ts
function useZoomImageWheel() {
let result;
const zoomImageState = vue.reactive({
currentZoom: 1,
enable: false,
currentPositionX: -1,
currentPositionY: -1,
currentRotation: 0
});
const createZoomImage = (...arg) => {
result?.cleanup();
result = core.createZoomImageWheel(...arg);
const currentState = result.getState();
for (const key in currentState) {
zoomImageState[key] = currentState[key];
}
result.subscribe(({ updatedProperties }) => {
for (const key in updatedProperties) {
zoomImageState[key] = updatedProperties[key];
}
});
};
vue.onUnmounted(() => {
result?.cleanup();
});
const setZoomImageState = (state) => {
result?.setState(state);
};
return {
createZoomImage,
zoomImageState,
setZoomImageState
};
}
exports.useZoomImageWheel = useZoomImageWheel;
//# sourceMappingURL=out.js.map
//# sourceMappingURL=useZoomImageWheel.js.map