xinglie / report-designer

⚡打印设计、可视化、标签打印、编辑器、设计器、数据分析、报表设计、组件化、表单设计、h5页面、调查问卷、pdf生成、流程图、试卷、SVG、图形元素、物联网、标签纸
https://xinglie.github.io/report-designer/
902 stars 232 forks source link

读写与权限控制 #43

Open xinglie opened 3 years ago

xinglie commented 3 years ago

需求背景

在有权限设置的系统里,比如管理员和普通用户,管理员可预设一些必须存在的元素及元素位置,普通用户可在此基础上增加其它需要的元素。 管理员添加的元素在普通用户那里只读,不能调整位置、改变大小、删除等操作

功能使用

设计器已支持元素只读,可查看只读示例,只读需要通过代码来设置,目前无法通过界面指定

操作细节

z轴

只读元素无法调整z轴,但普通用户新增的元素支持和这些只读元素调整z轴,毕竟谁遮盖谁需要交与最终使用者决定

容器

容器在只读的情况下也允许向格子内增加元素 如果容器元素未设置只读,而子元素设置只读,则容器可以被删除,连同只读的子元素。可设置为子元素如果有只读,则不允许删除容器

拖动对齐

只读元素可以提供对齐功能,方便在拖动其它元素时与这些只读元素对齐

清空设计区

如设计区有容器,且只读,但容器内放入了普通元素,则清空时,清除所有非只读元素

xinglie commented 2 years ago

代码控制

如果需要对整个设计区只读,则返回的page对象中增加readonly:true属性即可,可查阅示例report-designer/apis/example_28.json

如果需要对某个元素只读,则返回元素的props中增加readonly:true属性即可,可查阅示例report-designer/apis/example_31.json