在 bpmnJS 中拖动任务元素后如何禁用可编辑文本

问题描述 投票:0回答:2

我有禁用双击事件的代码,该事件阻止显示文本字段。

var priority = 10000;

function DisableContentEditable(eventBus) {

    eventBus.on('element.dblclick', priority, function (context) {
        var element = context.element;
        if(element.type == 'bpmn:Task' || element.type == "bpmn:StartEvent" || element.type == "bpmn:IntermediateThrowEvent" || element.type == "bpmn:EndEvent" || element.type == "bpmn:ExclusiveGateway" || element.type == "bpmn:DataObjectReference" || element.type == "bpmn:DataStoreReference"){
            return false;
        }
    });
}

但是在拖动任务时

element.dblclick
事件未应用且可编辑。但是在拖动并单击画布中的任意位置后,将应用
element.dblclick
事件。但我也想在拖动后禁用。

如果有任何解决方案将会有所帮助。

谢谢。

bpmn bpmn.io
2个回答
1
投票

似乎您想禁用 BPMN.io

Label Editing

您必须为您的建模器禁用

labelEditingProvider

const modelerInstance = new BpmnModeler({
  container: canvas,
  additionalModules: [{
    __init__: [
      "labelEditingProvider"
    ],
    labelEditingProvider: ['value', null],
  }],
  
});

0
投票

同样,如果我想阻止子流程的拖动,我应该在建模器中添加什么属性。

我正在通过以下方式初始化建模器:

ModelerService._modeler = new Modeler({
  container: "#container",
  propertiesPanel: { parent: "#properties" },
  additionalModules: [
    CustomModule,
    propertiesPanelModule,
    propertiesProviderModule,
    bpmnModdleDescriptor,
    SessionPropertiesProviderModule,
    CustomCommandInterceptorModule,
    CustomPaletteProviderModule,
    { moveCanvas: [ 'value', null ] } 
  ],
  moddleExtensions: {
    voice, usrOpt, usrInput, session, serviceImpl, usrConfirmation, loopTask
  },
  keyboard: {
    bindTo: document,
  },
});

但是子流程展开后仍然可以拖动。有人可以帮助如何防止子进程展开时的拖动吗?

© www.soinside.com 2019 - 2024. All rights reserved.