vue專案中使用bpmn 為節點新增顏色

2022-03-17 14:27:18 字數 1401 閱讀 3219

內容概述

前情提要

上文我們已經實現了在外部更改節點名。此時又有新玩法:在流程圖中,根據節點狀態為其標記不同顏色。例如:已完成:黃色,正在進行:綠色,本次我們通過兩種方式來實現該需求。效果:

方式1:modeling.setcolor

modeling.setcolor接受兩個引數:引數1:節點例項,可以是單個元素,也可是多個節點組成的陣列,引數2:class類

let modeling = this.bpmnmodeler.get('modeling');

modeling.setcolor(節點例項, );

方式2:overlay

個人理解,overlay是通過定位方式在元素正上方新增一層帶顏色的蒙板

const $overlayhtml = $('').css();

overlays.add(節點id, ,

html: $overlayhtml

});

highlight-overlay:css中宣告好的class類名

overlays.add將建立好的蒙板定位到指定節點位置,此時節點id就是目標節點的唯一身份!

注意事項

上述兩種方式均能實現為節點新增顏色。但方式2有一點***,如果此時你為節點註冊了點選事件,在節點被點選的時候要做某些處理。此時方式2會使節點點選事件失效。

原因:方式2中,此時節點上方有一層蒙板,並且和節點等寬等高,相當於節點被蒙板完全覆蓋。所以點選節點的時候,點選的是蒙版,不是節點。

不要慌,有解決辦法!此時為蒙板註冊了點選事件,將點選節點要做的操作給蒙板也來乙份,哈哈

import $ from 'jquery';     //

引入jquery

$(".djs-container").on("click", ".djs-overlays", (e) =>);

後續上文**都是片段,特此附上完整**:老規矩:data中的chart變數流程圖xml檔案資料,由於行數過多,附在了附件中(點我!點我),使用時,將附件內容複製過來,賦值給chart即可執行!

看我!我是點選的節點名稱啊~

}

view code

可愛的你可能還需要

vue專案中使用bpmn-流程圖json屬性轉xml(七篇更新完成)

vue專案中使用bpmn-流程圖xml檔案中節點屬性轉json結構

vue專案中使用bpmn-自定義platter

vue專案中使用bpmn-節點篇(為節點新增點選事件、根據id找節點例項、更新節點名字、獲取指定型別的所有節點)

vue專案中使用bpmn-流程圖預覽篇

vue專案中使用bpmn-基礎篇

vue專案中使用jQuery

這裡是引入全域性的jquery 1.在package.json檔案中,devdependencies 物件中新增 jquery 3.1.1 2.在build資料夾下的webpack.base.conf.js檔案中新增 var webpack require webpack 增加乙個plugins p...

vue 專案中使用 jquery

在 vue 專案中使用 jquery,具體步驟如下 1 npm 安裝 jquery 命令如下,後邊指定安裝的 jquery 版本 npm install jquery 3.2.1不加 會安裝最新版本 npm install jquery命令執行成功後,會在 package.json 檔案中自動生成 ...

vue專案中使用mui

vue搭建環境 hbuilder編輯器。我不喜歡用hbuilder寫 在使用vscode 使用的是vue cli腳手架。這個就不多bb了,之後對檔案做了簡單的調整。還是直接貼圖吧 基本的頁面準備工作完成assetspublicpath 之前是 改為 使build之後的專案能在本地執行 product...