UNPKG

@gorpacrate/core-graphics

Version:

A core library for creating shape-based graphic editors

94 lines 3.28 kB
"use strict"; exports.__esModule = true; var tslib_1 = require("tslib"); var invariant = require("invariant"); var modes_1 = require("../declarations/modes"); var draw_1 = require("../editor-state/reducer/draw"); var data_1 = require("../utils/data"); tslib_1.__exportStar(require("../declarations/modes"), exports); function isShapeSelected(mode, id) { return (modes_1.isSelectedMode(mode) && data_1.hasInArr(id, mode.payload.ids)); } exports.isShapeSelected = isShapeSelected; function hasSelectedShapes(mode) { return (modes_1.isSelectedMode(mode) || modes_1.isMovingMode(mode) || modes_1.isResizingMode(mode)); } exports.hasSelectedShapes = hasSelectedShapes; function getSelectedShapesIds(mode) { if (modes_1.isSelectedMode(mode)) { return mode.payload.ids; } if (modes_1.isResizingMode(mode)) { return mode.payload.ids; } if (modes_1.isMovingMode(mode)) { return mode.payload.ids; } return []; } exports.getSelectedShapesIds = getSelectedShapesIds; function getRubberBandSelectedShapes(mode) { if (modes_1.isRubberBandSelectionMode(mode)) { return mode.payload.newlySelectedShapes.concat(mode.payload.previouslySelectedShapes); } return []; } exports.getRubberBandSelectedShapes = getRubberBandSelectedShapes; function hasSubSelectedShape(mode) { return (modes_1.isSubSelectedMode(mode)); } exports.hasSubSelectedShape = hasSubSelectedShape; function getSubSelectedShapeId(mode) { if (modes_1.isSubSelectedMode(mode)) { return mode.payload.id; } return undefined; } exports.getSubSelectedShapeId = getSubSelectedShapeId; function isShapeBeingDrawn(mode) { return (modes_1.isDrawingShapeMode(mode) && (mode.payload.drawing === true)); } exports.isShapeBeingDrawn = isShapeBeingDrawn; function getDrawnShapeId(mode) { if (!isShapeBeingDrawn(mode)) { return undefined; } return draw_1.DRAWN_SHAPE_ID; } exports.getDrawnShapeId = getDrawnShapeId; function getMovedShapesIds(mode) { if (modes_1.isMovingMode(mode)) { return mode.payload.ids; } return invariant(false, 'not in moving mode'); } exports.getMovedShapesIds = getMovedShapesIds; function hasShapesBeingTransformed(mode) { return (modes_1.isMovingMode(mode) || modes_1.isResizingMode(mode)); } exports.hasShapesBeingTransformed = hasShapesBeingTransformed; function getTransformedShapeIds(mode) { if (modes_1.isMovingMode(mode)) { return mode.payload.ids; } if (modes_1.isResizingMode(mode)) { return mode.payload.ids; } return []; } exports.getTransformedShapeIds = getTransformedShapeIds; 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) }; } exports.getVerboseModeInfo = getVerboseModeInfo; //# sourceMappingURL=modes.js.map