UNPKG

@kcuf/canvas-marking-react-headless

Version:
65 lines 2.82 kB
import { useEffect } from 'react'; import { pluginCursor, pluginTooltip, pluginMagnet, pluginSnapping, pluginZoom, pluginMove, pluginStats, pluginFps } from '@kcuf/canvas-marking'; import useModelProps from './_use-model-props'; import useMarkingInstance from './use-marking-instance'; export default function useEffectRegisterPlugins() { var _useModelProps = useModelProps(), _useModelProps$plugin = _useModelProps.plugins, _useModelProps$plugin2 = _useModelProps$plugin === void 0 ? {} : _useModelProps$plugin, _useModelProps$plugin3 = _useModelProps$plugin2.cursor, cursor = _useModelProps$plugin3 === void 0 ? true : _useModelProps$plugin3, _useModelProps$plugin4 = _useModelProps$plugin2.tooltip, tooltip = _useModelProps$plugin4 === void 0 ? true : _useModelProps$plugin4, _useModelProps$plugin5 = _useModelProps$plugin2.magnet, magnet = _useModelProps$plugin5 === void 0 ? true : _useModelProps$plugin5, _useModelProps$plugin6 = _useModelProps$plugin2.snapping, snapping = _useModelProps$plugin6 === void 0 ? true : _useModelProps$plugin6, _useModelProps$plugin7 = _useModelProps$plugin2.zoom, zoom = _useModelProps$plugin7 === void 0 ? true : _useModelProps$plugin7, _useModelProps$plugin8 = _useModelProps$plugin2.move, move = _useModelProps$plugin8 === void 0 ? true : _useModelProps$plugin8, stats = _useModelProps$plugin2.stats, fps = _useModelProps$plugin2.fps; var markingInstance = useMarkingInstance(); useEffect(function () { if (markingInstance && cursor) { return markingInstance.registerPlugin(pluginCursor); } }, [markingInstance, cursor]); useEffect(function () { if (markingInstance && tooltip) { return markingInstance.registerPlugin(pluginTooltip); } }, [markingInstance, tooltip]); useEffect(function () { if (markingInstance && magnet) { return markingInstance.registerPlugin(pluginMagnet); } }, [markingInstance, magnet]); useEffect(function () { if (markingInstance && snapping) { return markingInstance.registerPlugin(pluginSnapping); } }, [markingInstance, snapping]); useEffect(function () { if (markingInstance && zoom) { return markingInstance.registerPlugin(pluginZoom); } }, [markingInstance, zoom]); useEffect(function () { if (markingInstance && move) { return markingInstance.registerPlugin(pluginMove); } }, [markingInstance, move]); useEffect(function () { if (markingInstance && stats) { return markingInstance.registerPlugin(pluginStats); } }, [markingInstance, stats]); useEffect(function () { if (markingInstance && fps) { return markingInstance.registerPlugin(pluginFps); } }, [markingInstance, fps]); } //# sourceMappingURL=use-effect-register-plugins.js.map