mxEditor使用(十三)—— 为自定义图元增加自定义的弹出菜单

mxEditor提供了自定义弹出菜单的功能,按鼠标右键,可以弹出菜单,前面已经提到过如何增加自定义的弹出菜单,现在我们需要为不同的图元增加不同的弹出菜单,这种情况下,需要用到自定义的判断条件,比如,我们现在增加了自定义的图元:

    <add as="mytask">
      <MyTask label="状态" description=""  href="" >
        <TimeOut iter="1" ></TimeOut>
        <Permission ></Permission>
        <Fields></Fields>
        <mxCell vertex="1">
          <mxGeometry as="geometry" width="72" height="32"/>
         </mxCell>
      </MyTask>
    </add>

我们希望在这种类型的图元上,增加特定的弹出菜单项,需要在myeditor-commons.xml中增加如下的配置:

 <add as="mystateproperties" action="mystateproperties" if="isMyTask"  icon="Lib/mxGraph/myeditor/images/properties.gif"/>

这里if后面的条件是我们的自定义条件,需要定义如下:

    <condition name="isMyTask">
      <![CDATA[
      function (editor, cell, evt)
      {
        return (cell !=null) && (cell.value !=null) &&  (cell.value.tagName=='MyTask');
      }
    ]]>
    </condition>

条件中判断所选中的图元,如果tagName是MyTask,返回为true。
运行效果如下:


图片.png

在开始图标上按右键,没有相关的菜单:


图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容