工作流插件参与进入项目本体

This commit is contained in:
QM303176530
2020-10-24 17:04:04 +08:00
parent cebb9b3002
commit 84e35753cf
97 changed files with 6198 additions and 14 deletions
@@ -0,0 +1,45 @@
import { deepMix, each } from '@antv/util';
import { createDom } from '@antv/dom-util';
class AddItemPanel {
constructor(cfgs) {
this._cfgs = deepMix(this.getDefaultCfg(), cfgs);
}
getDefaultCfg() {
return { container: null };
}
get(key) {
return this._cfgs[key];
}
set(key, val) {
this._cfgs[key] = val;
}
initPlugin(graph) {
const parentNode = this.get('container');
const ghost = createDom('<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'+' style="opacity:0"/>');
const children = parentNode.querySelectorAll('div > .el-collapse-item > .el-collapse-item__wrap > .el-collapse-item__content > img[data-item]');
each(children,(child,i)=>{
const addModel = (new Function("return " + child.getAttribute('data-item')))();
child.addEventListener('dragstart', e => {
e.dataTransfer.setDragImage(ghost, 0, 0);
graph.set('addNodeDragging',true);
graph.set('addModel',addModel);
});
child.addEventListener('dragend', e => {
graph.emit('canvas:mouseup',e);
graph.set('addNodeDragging',false);
graph.set('addModel',null);
});
})
}
destroy() {
this.get('canvas').destroy();
const container = this.get('container');
container.parentNode.removeChild(container);
}
}
export default AddItemPanel;