hrw-certificate-editor
Version:
Design Editor Tools with React.js + ant.design + fabric.js
95 lines • 3.57 kB
JavaScript
;
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