如何向自定义边缘形状添加新的 属性

How to add new property to a custom Edge shape

我需要向自定义边缘形状(扩展 mxConnector)添加新的 属性,以根据该 属性 值更改边缘的颜色。 示例如下:

function ExecutorEdge()
{
    mxConnector.call(this);
};
mxUtils.extend(ExecutorEdge, mxConnector);
ExecutorEdge.prototype.customProperties = [
    {name: 'trxSort', dispName: 'Transaction Sort', type: 'enum', defVal:'orig',
        enumList:[
            {val:'orig', dispName:'Original'},
            {val:'info', dispName:'Informational'},
            {val:'doc', dispName:'Documental'}
        ]}
];

mxCellRenderer.registerShape('executorEdge', ExecutorEdge);

我设法为扩展 mxEllipse 的自定义形状做了同样的事情,但是对于 Edge 属性 甚至不会出现在属性 table.

糟糕,我将我的新形状设置为 endArrow 属性 而不是 shape。使用问题描述中的代码并创建如下所示的 Edge 模板可以正常工作。新自定义 属性 添加成功。

this.createEdgeTemplateEntry('shape=executorEdge;html=1;', 50, 50, '', 'Executor Link', null, tags)