UNPKG

core-graphics

Version:

A core library for creating shape-based graphic editors

109 lines (102 loc) 3.64 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _modes = require('../declarations/modes'); Object.keys(_modes).forEach(function (key) { if (key === "default") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _modes[key]; } }); }); exports.isShapeSelected = isShapeSelected; exports.hasSelectedShapes = hasSelectedShapes; exports.getSelectedShapesIds = getSelectedShapesIds; exports.getRubberBandSelectedShapes = getRubberBandSelectedShapes; exports.hasSubSelectedShape = hasSubSelectedShape; exports.getSubSelectedShapeId = getSubSelectedShapeId; exports.isShapeBeingDrawn = isShapeBeingDrawn; exports.getDrawnShapeId = getDrawnShapeId; exports.getMovedShapesIds = getMovedShapesIds; exports.hasShapesBeingTransformed = hasShapesBeingTransformed; exports.getTransformedShapeIds = getTransformedShapeIds; exports.getVerboseModeInfo = getVerboseModeInfo; var _data = require('../utils/data'); var _draw = require('../editor-state/reducer/draw'); function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function isShapeSelected(mode, id) { return (0, _modes.isSelectedMode)(mode) && (0, _data.hasInArr)(id, mode.payload.ids); } function hasSelectedShapes(mode) { return (0, _modes.isSelectedMode)(mode) || (0, _modes.isMovingMode)(mode) || (0, _modes.isResizingMode)(mode); } function getSelectedShapesIds(mode) { if ((0, _modes.isSelectedMode)(mode)) { return mode.payload.ids; } if ((0, _modes.isResizingMode)(mode)) { return mode.payload.ids; } if ((0, _modes.isMovingMode)(mode)) { return mode.payload.ids; } return []; } function getRubberBandSelectedShapes(mode) { if ((0, _modes.isRubberBandSelectionMode)(mode)) { return [].concat(_toConsumableArray(mode.payload.newlySelectedShapes), _toConsumableArray(mode.payload.previouslySelectedShapes)); } return []; } function hasSubSelectedShape(mode) { return (0, _modes.isSubSelectedMode)(mode); } function getSubSelectedShapeId(mode) { if ((0, _modes.isSubSelectedMode)(mode)) { return mode.payload.id; } return null; } function isShapeBeingDrawn(mode) { return (0, _modes.isDrawingShapeMode)(mode) && mode.payload.drawing === true; } function getDrawnShapeId(mode) { if (!isShapeBeingDrawn(mode)) { return null; } return _draw.DRAWN_SHAPE_ID; } function getMovedShapesIds(mode) { if ((0, _modes.isMovingMode)(mode)) { return mode.payload.ids; } return null; } function hasShapesBeingTransformed(mode) { return (0, _modes.isMovingMode)(mode) || (0, _modes.isResizingMode)(mode); } function getTransformedShapeIds(mode) { if ((0, _modes.isMovingMode)(mode)) { return mode.payload.ids; } if ((0, _modes.isResizingMode)(mode)) { return mode.payload.ids; } return []; } function getVerboseModeInfo(mode) { return { selectedShapes: hasSelectedShapes(mode), selectedShapesIds: getSelectedShapesIds(mode), rubberBandSelectedShapesIds: getRubberBandSelectedShapes(mode), subSelectedShape: hasSubSelectedShape(mode), subSelectedShapeId: getSubSelectedShapeId(mode), drawingShape: isShapeBeingDrawn(mode), drawnShapeId: getDrawnShapeId(mode), transformingShapes: hasShapesBeingTransformed(mode), transformedShapesIds: getTransformedShapeIds(mode) }; }