如何向自定义边缘形状添加新的 属性
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)
我需要向自定义边缘形状(扩展 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)