core-graphics
Version:
A core library for creating shape-based graphic editors
109 lines (102 loc) • 3.64 kB
JavaScript
;
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)
};
}