中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

spring boot 做網(wǎng)站關(guān)鍵詞優(yōu)化推廣公司

spring boot 做網(wǎng)站,關(guān)鍵詞優(yōu)化推廣公司,wordpress點(diǎn)擊量改熱度,深圳做網(wǎng)站最好的公司背景 bpmn-js是個流程圖繪制的工具,但是現(xiàn)在我希望實(shí)現(xiàn)的是,繪制的不是節(jié)點(diǎn)而是一個vue組件。 保留線的拖拽和連接。 方案 那就說明不是依賴于節(jié)點(diǎn)的樣式,找到了他有個屬性,就是類似覆蓋節(jié)點(diǎn)的操作。 思路就是用vue組件做遮罩&…

背景

bpmn-js是個流程圖繪制的工具,但是現(xiàn)在我希望實(shí)現(xiàn)的是,繪制的不是節(jié)點(diǎn)而是一個vue組件。
保留線的拖拽和連接。

方案

那就說明不是依賴于節(jié)點(diǎn)的樣式,找到了他有個屬性,就是類似覆蓋節(jié)點(diǎn)的操作。
思路就是用vue組件做遮罩,蓋住原本的節(jié)點(diǎn)樣式。

/*** 批量操作節(jié)點(diǎn)*/handleAddOverlay() {const bpmnModeling = this.bpmnModeler.get('modeling')const contextPad = this.bpmnModeler.get('contextPad')this.bpmnModeler.on('import.done', () => {// 加載完成后每個元素遍歷const elementRegistry = this.bpmnModeler.get('elementRegistry')elementRegistry.forEach(element => {if (['bpmn:Task'].includes(element.type)) {const parent = elementRegistry.getGraphics(element)bpmnModeling.resizeShape(element, {width: element.width || this.config.width || 60,height: element.height || this.config.height || 60,x: getDi(element).bounds.x,y: getDi(element).bounds.y})// 遍歷任務(wù)節(jié)點(diǎn),為每個節(jié)點(diǎn)添加 overlaysif (this.isShowComponent) {bpmnModeling.setColor(element, { stroke: this.config.borderColor || '#eee' }) // 修改邊框顏色bpmnModeling.setColor(element, { fill: this.config.fillColor || '#fff' }) // 修改邊框顏色this.addOverlay(element, parent)}} })})},

接下來是掛載覆蓋物的重點(diǎn),如何讓覆蓋物跟隨節(jié)點(diǎn)的移動而移動

/**** @param {*} element* 增加覆蓋物節(jié)點(diǎn)操作*/addOverlay(element, parent) {const __this = thisconst overlays = this.bpmnModeler.get('overlays')const bpmnModeling = this.bpmnModeler.get('modeling')const elementRegistry = this.bpmnModeler.get('elementRegistry')const index = this.data.nodeLists.findIndex(item => item.config.id === element.id)// 添加覆蓋物 ------------------------------------- beginoverlays.add(element, 'my-overlay', {position: __this.overlayPosition,show: {minZoom: 0.1},html: '<div id="my-component"></div>'})const Profile = Vue.extend(this.config.components)overlays.get({ element: element, type: 'my-overlay' })[0].htmlContainer.id = element.idnew Profile({router,propsData: {element: element,node: index > -1 ? this.data.nodeLists[index] : {},func: this.func,...this.props},mounted() {const component = this// 綁定鼠標(biāo)按下事件component.$el.addEventListener('mousedown', event => {__this.isDrag = falseevent.preventDefault()if (!__this.disable) {dragMouseDown(event)}})// 自定義組件點(diǎn)擊事件component.$el.addEventListener('click', () => {if (!__this.isDrag) {__this.showContextPad(element)const bpmnElement = elementRegistry.get(element.id)__this.currentElement = bpmnElement__this.$emit('click', bpmnElement) // 點(diǎn)擊事件}})}}).$mount('#my-component')// 添加覆蓋物 -------------------------------------end// 必須作為公共變量進(jìn)行值更改let pos1 = 0let pos2 = 0let pos3 = 0let pos4 = 0/**** @param {*} e* @param {*} overlayPosition* 鼠標(biāo)按下開始*/function dragMouseDown(e) {e = e || window.evente.preventDefault()pos3 = e.clientXpos4 = e.clientYdocument.onmousemove = event => {__this.isDrag = trueelementDrag(event, __this.overlayPosition)}document.onmouseup = () => {__this.currentElement = nulldocument.onmouseup = nulldocument.onmousemove = null}}/**** @param {*} e* @param {*} overlayPosition*  節(jié)點(diǎn)的拖拽*/function elementDrag(e, overlayPosition) {e = e || window.evente.preventDefault()// 計(jì)算新的元素位置pos1 = pos3 - e.clientXpos2 = pos4 - e.clientYpos3 = e.clientXpos4 = e.clientYconst bpmnElement = elementRegistry.get(element.id)const deltaX = overlayPosition.x + pos1const deltaY = overlayPosition.y + pos2// 移動父節(jié)點(diǎn)及其連接線moveParentNode(bpmnElement, deltaX, deltaY)}/**** @param {*} element* @param {*} dx* @param {*} dy* 更改父節(jié)點(diǎn)操作*/function moveParentNode(element, dx, dy) {const parent = element.parentif (!parent) {return}// // 更新父節(jié)點(diǎn)的位置信息bpmnModeling.moveElements([element], { x: -dx, y: -dy }, null)// 更新覆蓋物的位置const overlay = overlays.get({ element: parent, type: 'my-overlay' })overlay.position = {top: overlay.top - dy,left: overlay.left - dx}}},

在這里插入圖片描述

http://www.risenshineclean.com/news/62307.html

相關(guān)文章:

  • 手機(jī)網(wǎng)站自動適應(yīng)短鏈接在線生成器
  • 山東平臺網(wǎng)站建設(shè)制作百度網(wǎng)頁版下載安裝
  • 住建部網(wǎng)站2015年城市建設(shè)統(tǒng)計(jì)seo優(yōu)化的優(yōu)點(diǎn)
  • 奉賢區(qū)網(wǎng)站建設(shè)收錄網(wǎng)站排名
  • 福田祥菱q雙排小貨車報價及圖片廈門seo推廣外包
  • 天津自己制作網(wǎng)站網(wǎng)站新站整站排名
  • 網(wǎng)站開發(fā)網(wǎng)頁設(shè)計(jì)游戲代理加盟平臺
  • seo兼職論壇手機(jī)優(yōu)化大師官網(wǎng)
  • 怎么快速推廣網(wǎng)站萬網(wǎng)域名交易
  • 建行信用卡網(wǎng)站登錄網(wǎng)站域名查詢系統(tǒng)
  • 那個網(wǎng)站做外貿(mào)好百度大搜是什么
  • dw做的網(wǎng)站鏈接不會跳轉(zhuǎn)什么是搜索引擎優(yōu)化
  • 做期貨網(wǎng)站微營銷平臺系統(tǒng)
  • 西寧網(wǎng)站設(shè)計(jì)制作公司品牌推廣軟文200字
  • 只做襯衫的網(wǎng)站關(guān)鍵詞采集軟件
  • 沈陽網(wǎng)站建設(shè)找哪家系統(tǒng)優(yōu)化軟件哪個好
  • 企業(yè)網(wǎng)站建設(shè)方案書范本域名批量查詢
  • 網(wǎng)站 續(xù)費(fèi)商業(yè)策劃公司十大公司
  • 網(wǎng)站后端都需要什么意思網(wǎng)站交換鏈接的常見形式
  • 企業(yè)展示型電商網(wǎng)站模板google關(guān)鍵詞規(guī)劃師
  • php和什么語言做網(wǎng)站豬肉價格最新消息
  • 在越南做網(wǎng)站需要什么排超聯(lián)賽積分榜
  • 工業(yè)做網(wǎng)站技能培訓(xùn)有哪些科目
  • 大連城市建設(shè)管理局網(wǎng)站建站公司網(wǎng)站建設(shè)
  • 自己的網(wǎng)站首頁背景怎么做最有效的宣傳方式
  • 義烏做網(wǎng)站的公司哪家好廣州seo外包
  • 桂林做網(wǎng)站網(wǎng)絡(luò)營銷推廣方案范文
  • 完備的網(wǎng)站建設(shè)推廣做網(wǎng)站推廣一般多少錢
  • 長沙小升初有什么做試卷的網(wǎng)站濟(jì)南網(wǎng)站優(yōu)化排名推廣
  • 北京做網(wǎng)站公司有哪些百度怎么優(yōu)化網(wǎng)站關(guān)鍵詞