@kcuf/canvas-marking-react-headless
Version:
The React headless wrapping of @kcuf/canvas-marking.
71 lines (70 loc) • 3.17 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useEffectRegisterPlugins;
var _react = require("react");
var _canvasMarking = require("@kcuf/canvas-marking");
var _useModelProps2 = _interopRequireDefault(require("./_use-model-props"));
var _useMarkingInstance = _interopRequireDefault(require("./use-marking-instance"));
function useEffectRegisterPlugins() {
var _useModelProps = (0, _useModelProps2.default)(),
_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 = (0, _useMarkingInstance.default)();
(0, _react.useEffect)(function () {
if (markingInstance && cursor) {
return markingInstance.registerPlugin(_canvasMarking.pluginCursor);
}
}, [markingInstance, cursor]);
(0, _react.useEffect)(function () {
if (markingInstance && tooltip) {
return markingInstance.registerPlugin(_canvasMarking.pluginTooltip);
}
}, [markingInstance, tooltip]);
(0, _react.useEffect)(function () {
if (markingInstance && magnet) {
return markingInstance.registerPlugin(_canvasMarking.pluginMagnet);
}
}, [markingInstance, magnet]);
(0, _react.useEffect)(function () {
if (markingInstance && snapping) {
return markingInstance.registerPlugin(_canvasMarking.pluginSnapping);
}
}, [markingInstance, snapping]);
(0, _react.useEffect)(function () {
if (markingInstance && zoom) {
return markingInstance.registerPlugin(_canvasMarking.pluginZoom);
}
}, [markingInstance, zoom]);
(0, _react.useEffect)(function () {
if (markingInstance && move) {
return markingInstance.registerPlugin(_canvasMarking.pluginMove);
}
}, [markingInstance, move]);
(0, _react.useEffect)(function () {
if (markingInstance && stats) {
return markingInstance.registerPlugin(_canvasMarking.pluginStats);
}
}, [markingInstance, stats]);
(0, _react.useEffect)(function () {
if (markingInstance && fps) {
return markingInstance.registerPlugin(_canvasMarking.pluginFps);
}
}, [markingInstance, fps]);
}