@gorpacrate/core-graphics
Version:
A core library for creating shape-based graphic editors
30 lines • 1.41 kB
JavaScript
;
exports.__esModule = true;
var tslib_1 = require("tslib");
var React = require("react");
var shallowequal = require("shallowequal");
var shape_renderer_1 = require("./shape-renderer");
var ShapesRenderer = /** @class */ (function (_super) {
tslib_1.__extends(ShapesRenderer, _super);
function ShapesRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
ShapesRenderer.prototype.shouldComponentUpdate = function (nextProps) {
return !shallowequal(this.props, nextProps);
};
ShapesRenderer.prototype.render = function () {
var _a = this.props, mode = _a.mode, scene = _a.scene, shapesDeclarations = _a.shapesDeclarations, onEditorEvent = _a.onEditorEvent;
return (React.createElement("g", null, scene.shapesOrder.map(function (id) {
var shapeData = scene.shapes[id];
if (!shapeData) {
return undefined;
}
var declaration = shapesDeclarations[shapeData.type];
var RenderComponent = declaration.RenderComponent;
return (React.createElement(shape_renderer_1["default"], { key: id, mode: mode, shapeData: shapeData, onEditorEvent: onEditorEvent, RenderComponent: RenderComponent }));
})));
};
return ShapesRenderer;
}(React.Component));
exports["default"] = ShapesRenderer;
//# sourceMappingURL=shapes-renderer.js.map