当前位置: 首页 > news >正文

网站返回首页怎么做的好看Wordpress手游模版

网站返回首页怎么做的好看,Wordpress手游模版,百度销售是做什么,网站怎么增加流量前边写了四篇文章介绍了bpmn.js的基本使用#xff0c;最近陆续有小伙伴加我催更#xff0c;感谢对我这个半吊子前端的信任#xff0c;接着更新bpmn.js的一些高级用法#xff0c;本篇介绍对左侧工具栏Palette的隐藏和自定义修改 隐藏shape 左侧工具栏Palette有些图标我用不…前边写了四篇文章介绍了bpmn.js的基本使用最近陆续有小伙伴加我催更感谢对我这个半吊子前端的信任接着更新bpmn.js的一些高级用法本篇介绍对左侧工具栏Palette的隐藏和自定义修改 隐藏shape 左侧工具栏Palette有些图标我用不到那该如何隐藏呢最简单的方法就是直接找到对应的class通过css隐藏例如我不需要创建数据存储可以通过下边的代码隐藏 .bpmn-icon-data-store {display: none; } 自定义shape 为了编辑方便我想在palette上添加一个shape该如何操作呢这里我们需要自定义Palette自定义Palette有两种方式可以选择第一种就是基于默认的Palette来修改第二种就是完全写个新的Palette来替代默认的Palette第一种只能在默认的Palette上添加shape而不能修改或删除比较鸡肋我们就直接放弃了来看下完全自定义Palette该如何实现 以下代码基于我们之前搭建好的代码框架具体可看文章『最好用的流程编辑器bpmn-js系列之基本使用』 1.在components目录下新建customBpmn目录在customBpmn目录下新建custom目录每层目录下都新建index.js文件最终目录结构如下 2.在custom目录下新建CustomPalette.js文件内容如下 import { assign } from min-dash;export default function PaletteProvider(palette,create,elementFactory,handTool,lassoTool,spaceTool,globalConnect,translate ) {this.create create;this.elementFactory elementFactory;this.handTool handTool;this.lassoTool lassoTool;this.spaceTool spaceTool;this.globalConnect globalConnect;this.translate translate;palette.registerProvider(this); }PaletteProvider.$inject [palette,create,elementFactory,handTool,lassoTool,spaceTool,globalConnect,translate ];PaletteProvider.prototype.getPaletteEntries function (element) {const {create,elementFactory,handTool,lassoTool,spaceTool,globalConnect,translate} this;function createAction(type, group, className, title, options) {function createListener(event) {var shape elementFactory.createShape(assign({ type: type }, options));if (options) {shape.businessObject.di.isExpanded options.isExpanded;}create.start(event, shape);}var shortType type.replace(/^bpmn:/, );return {group: group,className: className,title: title || translate(Create {type}, { type: shortType }),action: {dragstart: createListener,click: createListener}};}return {lasso-tool: {group: tools,className: bpmn-icon-lasso-tool,title: Activate the lasso tool,action: {click: function (event) {lassoTool.activateSelection(event);}}},tool-separator: {group: tools,separator: true},create.start-event: createAction(bpmn:StartEvent,event,bpmn-icon-start-event-none,创建开始节点),create.end-event: createAction(bpmn:EndEvent,event,bpmn-icon-end-event-none,创建结束节点),create.user-task: createAction(bpmn:UserTask,activity,bpmn-icon-user-task,创建用户任务),create.exclusive-gateway: createAction(bpmn:ExclusiveGateway,gateway,bpmn-icon-gateway-xor,创建排他网关)}; }; 这段代码的意思相信各位前端的大佬比我理解的要深刻就不过多介绍了Platte展示的shape就是最后return输出的那个字典数据定义的一个shape对应的数据格式如下 lasso-tool: {group: tools,className: bpmn-icon-lasso-tool,title: Activate the lasso tool,action: {click: function (event) {lassoTool.activateSelection(event);}} } 其中key为这个shape的名称value为这个shape定义的一些属性主要有四个 group 定义这个shape属于哪个组主要有tools、event、gateway和activity可以选择className 定义这个shape的chass名称可以通过这个class给shape指定具体的样式title 定义这个shape的title也就是鼠标移动到shape上的提示action 用户操作时触发的事件 通过这个数据我们就可以随意添加、删除或者修改Palette的shape了改位置该样式轻松自如 3.在custom/index.js文件中添加如下内容将自定义的Palette导出 import CustomPalette from ./CustomPalette;export default {__init__: [paletteProvider],paletteProvider: [type, CustomPalette], }; 4.在customModeler/index.js文件中编写自定义的CustomModeler类 import inherits from inherits;import Modeler from bpmn-js/lib/Modeler;import CustomModule from ./custom;function CustomModeler(options) {Modeler.call(this, options);this._customElements []; }inherits(CustomModeler, Modeler);CustomModeler.prototype._modules [].concat(CustomModeler.prototype._modules, [CustomModule ]);export { CustomModeler }; 5.在页面上引用自定义的CustomModeler以替代原本引用的BpmnModeler类这样就能用到我们自定义的Palette啦 import { xmlStr } from ../mock/xmlStrPreview; import { CustomModeler } from ../components/customBpmn;export default {...methods: {init() {const canvas this.$refs.canvas;this.bpmnModeler new CustomModeler({container: canvas});this.createNewDiagram();},async createNewDiagram() {try {const result await this.bpmnModeler.importXML(xmlStr);const { warnings } result;console.log(warnings);} catch (err) {console.log(err.message, err.warnings);}}} }; 最终效果如下 Shape类型 关于Shape总共有哪些类型以及各自对应的属性都是什么这个官方没有具体的文档给列出我在使用的时候通常直接查看源码bpmn-js/lib/features/palette/PaletteProvider.js和bpmn-js/lib/features/context-pad/ContextPadProvider.js文件获取对于部分类型需要添加options选项 例如中间时间事件IntermediateThrowEvent所对应的属性为 return {create.timer-intermediate-event: createAction(bpmn:IntermediateThrowEvent,event,bpmn-icon-intermediate-event-catch-timer,Create IntermediateThrowEvent,{ eventDefinitionType: bpmn:TimerEventDefinition }) }; 写在最后 接触bpmn-js不久边学边写文章难免出错各位多多包含。想要打造一个好用的适合自己的流程编辑器需要了解的内容比较多bpmn-js会分多篇文章来介绍欢迎关注 源码地址https://github.com/Mrs-Bean/bpmn-src.git
http://www.pierceye.com/news/523384/

相关文章:

  • 网站开发培训合肥企业解决方案工作组
  • 怎么看待网站开发做网站好赚钱
  • 网站开发工作方案建设网站用什么软件排版
  • 网站建设耂首先金手指建设一个电商网站需要多少钱
  • 网站建设需注意的企业网站建设好的例子
  • 30岁做网站运营优秀的html5网站
  • 专门做眼镜的网站国内重大新闻事件2021年10月
  • 具有价值的网站制作菜单宣传网站怎么做的
  • 做网站 博客信息网站开发网络公司
  • 网站建设有哪些荣誉做响应式网站好不好
  • 精品资料网站网站建立
  • 网站开发印花税营销咨询
  • 马鞍山建设集团有限公司网站找工程项目上哪个平台好呢
  • 网站建设发货流程图电子商务是什么
  • 与有权重网站做友链软件开发可以做网站么
  • html网站开发代码专业的网站开发团队
  • 聚美优品的网站建设状况wordpress 微商城
  • 网络营销型网站律师做推广的网站
  • 网站建设公司排行济南网页制作设计营销
  • 网站功能建设与栏目划分wordpress 系统需求
  • 做网络推广要做网站吗wordpress中对视频排序
  • 三合一网站怎么建立如何做网站规范
  • 浙江网站改版设计公司网站建设实训目的
  • 建设网站装配式建筑楼房东莞网站建设php方案
  • 宜昌网站制作公司排名眉山招聘网站建设
  • 网站开发项目经理工资公司网站建设管理
  • 大良o2o网站建设百度手机卫士下载安装
  • 张家界市网站建设设计简单的php购物网站源码
  • 网站的流量检测怎么做禹州做网站的公司
  • 百度网站录入北京到安阳高铁