UNPKG

plot-plan-designer

Version:

Design Editor Tools with React.js + ant.design + fabric.js

133 lines (132 loc) 4.47 kB
"use strict"; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCanvasObject = void 0; const fabric_1 = require("fabric"); const objects_1 = require("./objects"); const Svg_1 = __importDefault(require("./objects/Svg")); const createCanvasObject = (objectSchema) => objectSchema; exports.createCanvasObject = createCanvasObject; const CanvasObject = { group: { create: (_a) => { var { objects } = _a, option = __rest(_a, ["objects"]); return new objects_1.Group(objects, option); }, }, 'i-text': { create: (_a) => { var { text } = _a, option = __rest(_a, ["text"]); return new fabric_1.fabric.IText(text, option); }, }, textbox: { create: (_a) => { var { text } = _a, option = __rest(_a, ["text"]); return new fabric_1.fabric.Textbox(text, option); }, }, triangle: { create: (option) => new fabric_1.fabric.Triangle(option), }, circle: { create: (option) => new fabric_1.fabric.Circle(option), }, rect: { create: (option) => new fabric_1.fabric.Rect(option), }, cube: { create: (option) => new objects_1.Cube(option), }, image: { create: (_a) => { var { element = new Image() } = _a, option = __rest(_a, ["element"]); return new fabric_1.fabric.Image(element, Object.assign(Object.assign({}, option), { crossOrigin: 'anonymous' })); }, }, polygon: { create: (_a) => { var { points } = _a, option = __rest(_a, ["points"]); return new fabric_1.fabric.Polygon(points, Object.assign(Object.assign({}, option), { perPixelTargetFind: true })); }, }, line: { create: (_a) => { var { points } = _a, option = __rest(_a, ["points"]); return new objects_1.Line(points, option); }, }, arrow: { create: (_a) => { var { points } = _a, option = __rest(_a, ["points"]); return new objects_1.Arrow(points, option); }, }, chart: { create: (option) => new objects_1.Chart(option.chartOption || { xAxis: {}, yAxis: {}, series: [ { type: 'line', data: [ [0, 1], [1, 2], [2, 3], [3, 4], ], }, ], }, option), }, element: { create: (_a) => { var { code } = _a, option = __rest(_a, ["code"]); return new objects_1.Element(code, option); }, }, iframe: { create: (_a) => { var { src } = _a, option = __rest(_a, ["src"]); return new objects_1.Iframe(src, option); }, }, video: { create: (_a) => { var { src, file } = _a, option = __rest(_a, ["src", "file"]); return new objects_1.Video(src || file, option); }, }, gif: { create: (option) => new objects_1.Gif(option), }, node: { create: (option) => new objects_1.Node(option), }, link: { create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.Link(fromNode, fromPort, toNode, toPort, option), }, curvedLink: { create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.CurvedLink(fromNode, fromPort, toNode, toPort, option), }, orthogonalLink: { create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.OrthogonalLink(fromNode, fromPort, toNode, toPort, option), }, svg: { create: (option) => new Svg_1.default(option), }, }; exports.default = CanvasObject;