UNPKG

hrw-certificate-editor

Version:

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

95 lines 3.57 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const icons_json_1 = __importDefault(require("../../../libs/fontawesome-5.2.0/metadata/icons.json")); const ActionNode_1 = __importDefault(require("./action/ActionNode")); const DataNode_1 = __importDefault(require("./data/DataNode")); const LogicNode_1 = __importDefault(require("./logic/LogicNode")); const TriggerNode_1 = __importDefault(require("./trigger/TriggerNode")); const FilterNode_1 = __importDefault(require("./logic/FilterNode")); const SwitchNode_1 = __importDefault(require("./logic/SwitchNode")); const VirtualButtonNode_1 = __importDefault(require("./trigger/VirtualButtonNode")); const NodeConfiguration_1 = require("../../workflow/configuration/NodeConfiguration"); const defaultOption = { fill: 'rgba(0, 0, 0, 0.3)', stroke: 'rgba(255, 255, 255, 0)', borderColor: 'rgba(0, 0, 0, 1)', borderScaleFactor: 1.5, deletable: true, cloneable: true, action: { enabled: false, }, tooltip: { enabled: true, }, animation: { type: 'none', }, userProperty: {}, trigger: { enabled: false, }, }; const NODES = { ACTION: { create: (option, descriptor) => new ActionNode_1.default({ ...defaultOption, ...option, descriptor, }), }, DATA: { create: (option, descriptor) => new DataNode_1.default({ ...defaultOption, ...option, descriptor, }), }, LOGIC: { create: (option, descriptor) => { const node = NodeConfiguration_1.getNode(descriptor.nodeClazz); const options = Object.assign({}, defaultOption, { descriptor }, option); switch (node) { case 'FilterNode': return new FilterNode_1.default(options); case 'SwitchNode': return new SwitchNode_1.default(options); default: return new LogicNode_1.default(options); } }, }, TRIGGER: { create: (option, descriptor) => { const node = NodeConfiguration_1.getNode(descriptor.nodeClazz); const options = Object.assign({}, defaultOption, { descriptor }, option); switch (node) { case 'VirtualButtonNode': return new VirtualButtonNode_1.default(options); default: return new TriggerNode_1.default(options); } }, }, }; exports.default = descriptors => { return Object.keys(descriptors).reduce((prev, key) => { return Object.assign(prev, descriptors[key].reduce((p, c) => { return Object.assign(p, { [NodeConfiguration_1.getNode(c.nodeClazz)]: { create: option => { const iconMetadata = icons_json_1.default[c.icon]; const icon = iconMetadata ? String.fromCodePoint(parseInt(iconMetadata.unicode, 16)) : '\uf03e'; return NODES[c.type].create({ ...option, icon }, c); }, }, }); }, {})); }, {}); }; //# sourceMappingURL=index.js.map