'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
exports.declarePin = exports.generateStyle = exports.generateInputPinHTML = exports.generateOutputPinHTML = exports.Pin = exports.PinAction = void 0;
const structures_1 = require("@itharbors/structures");
const TYPE = {};
class PinAction extends structures_1.Action {
// details: D & PinActionDetail;
constructor(pin, details) {
const cDetails = details;
cDetails.blockName = pin.pathData.blockName;
cDetails.index = pin.pathData.index;
super(cDetails);
// this.details = cDetails;
this.pin = pin;
}
exec(params) {
}
revertAction() {
return new PinAction(this.pin, {});
}
}
exports.PinAction = PinAction;
class Pin {
constructor() {
this.color = 'white';
this.line = '';
this.style = '';
this.pathData = {
blockName: '',
index: 0,
};
this.refs = {};
}
init(details, desc, blockName, index) {
this.details = details;
this.pathData.blockName = blockName;
this.pathData.index = index;
this.desc = desc;
}
exec(action) {
if (!this.$root) {
return;
}
const nodeRoot = this.$root.getRootNode();
if (nodeRoot) {
nodeRoot.host.dispatch('dirty', {
detail: {
action,
},
});
}
}
onInit() {
}
onUpdate() {
}
}
exports.Pin = Pin;
Pin.type = 'unknown';
// todo 考虑数据冲突
function generateIcon(pin) {
if (pin.icon) {
return /*html*/ `