roymondchen
|
94641bad76
|
refactor: 依赖收集相关代码抽出独立成库
|
2023-11-16 19:34:50 +08:00 |
|
roymondchen
|
ce0c941bf1
|
fix(editor): 在组件树将组件拖入不同布局的容器内,需要改变其布局
fix #552
|
2023-11-13 20:01:32 +08:00 |
|
roymondchen
|
2d5b7726ef
|
fix(editor): 数据源列表中依赖的key会重复出现
|
2023-11-03 14:58:19 +08:00 |
|
roymondchen
|
7d251f04e8
|
refactor(editor): 新增tree组件
|
2023-11-01 14:06:04 +08:00 |
|
roymondchen
|
f48afa98f2
|
feat(editor, data-source): 支持http数据源请求、响应裁剪配置
|
2023-10-31 15:29:04 +08:00 |
|
roymondchen
|
257c8c9fa1
|
fix(editor): 组件树注册快捷方式
|
2023-10-24 15:52:01 +08:00 |
|
roymondchen
|
2d5afb1646
|
style(editor): 事件配置样式调整
|
2023-10-23 20:49:04 +08:00 |
|
roymondchen
|
1c516bb24b
|
refactor(editor): 优化性能,组件树重写,不再使用el-tree
|
2023-10-20 19:32:11 +08:00 |
|
roymondchen
|
70b6bcd66b
|
style(editor): 优化显示条件展示
|
2023-10-18 11:18:44 +08:00 |
|
roymondchen
|
e4613ba053
|
feat(editor,data-source): 组件配置支持关联数据源字段
|
2023-10-17 20:21:18 +08:00 |
|
roymondchen
|
d4a8b89e6f
|
feat(editor,schema): 支持配置数据源mock
|
2023-10-01 17:44:27 +08:00 |
|
roymondchen
|
8b7a1e4e3c
|
feat(editor): 数据源事件配置
|
2023-09-21 10:58:39 +08:00 |
|
roymondchen
|
5840ee537f
|
feat(editor,util): 完善数据源配置
|
2023-09-19 19:43:05 +08:00 |
|
roymondchen
|
f9ba8b8df5
|
fix(editor): 新增数据源字段受上一次新增数据影响
|
2023-08-29 18:47:11 +08:00 |
|
roymondchen
|
2bd86d2101
|
feat(editor): 新增数据源时先选类型
|
2023-08-29 18:24:15 +08:00 |
|
roymondchen
|
5319afa563
|
chore(editor): export getDisplayField 方法
|
2023-08-24 15:18:32 +08:00 |
|
roymondchen
|
573f1a2c17
|
feat(cli,data-source,editor,playground,runtime): 支持自定义数据源
|
2023-08-21 16:57:18 +08:00 |
|
roymondchen
|
ec8e8a17d2
|
feat(editor): 历史记录最多存储20条
|
2023-08-15 16:15:10 +08:00 |
|
roymondchen
|
d8a2a1f805
|
chore(editor): 将hooks放到同一个文件夹中
|
2023-08-09 19:22:42 +08:00 |
|
roymondchen
|
92df80e711
|
feat(core,data-source,ui,ui-react,ui-vue2,utils,runtime): 解析显示条件配置
|
2023-08-04 19:50:44 +08:00 |
|
roymondchen
|
35862078b3
|
feat(editor,schema): 支持组件显示条件配置
|
2023-08-04 15:52:55 +08:00 |
|
roymondchen
|
0d3cd11ade
|
fix(editor): 使用画布上的删除按钮删除组件时依赖没有清空
|
2023-08-02 20:13:05 +08:00 |
|
roymondchen
|
2a0680c707
|
feat(core,editor,data-source,form,schema): 新增数据源方法配置,支持事件联动数据源方法
|
2023-07-18 19:35:54 +08:00 |
|
roymondchen
|
434bf2ed70
|
feat(editor): 新增右键菜单移动至其他页面功能
|
2023-07-05 14:14:53 +08:00 |
|
roymondchen
|
74c9deaa29
|
feat(editor, core): 支持直接绑定整个数据源对象
|
2023-06-28 16:39:47 +08:00 |
|
roymondchen
|
b952e6efd1
|
feat(editor,core): 数据源模板改成使用 ES 分隔符
|
2023-06-26 20:30:38 +08:00 |
|
roymondchen
|
4daf6b4410
|
feat(editor): 属性样式添加边框
|
2023-06-26 17:04:25 +08:00 |
|
roymondchen
|
2b881c3863
|
feat(editor): 新增parseDSL配置,用于解析DSL,默认使用eval
|
2023-06-19 11:27:47 +08:00 |
|
roymondchen
|
9716aceabf
|
feat(editor): 完善快捷键注册机制
|
2023-06-16 17:39:50 +08:00 |
|
roymondchen
|
aac478eebc
|
feat: 新增数据源
|
2023-05-29 11:33:44 +08:00 |
|
roymondchen
|
24604c9d36
|
feat: 完善tdesign-vue-next适配
|
2023-05-04 15:42:27 +08:00 |
|
roymondchen
|
40adc77978
|
style(editor): 相对路径改成alias
|
2023-04-10 15:16:32 +08:00 |
|
parisma
|
39468f3b95
|
feat(editor,form,core,schema): 事件支持触发代码块
|
2023-03-29 07:13:57 +00:00 |
|
roymondchen
|
35f9a59f44
|
feat(editor): 新增依赖收集器
|
2023-03-27 19:07:56 +08:00 |
|
roymondchen
|
c9bacb96cd
|
feat(stage,editor): 增肌删除快捷按钮
|
2023-03-02 16:47:20 +08:00 |
|
roymondchen
|
0491487385
|
feat(editor): 修改service get set 方法的ts定义,不再需要传入泛型参数
|
2023-02-06 19:25:37 +08:00 |
|
oceanzhu
|
23708e4644
|
chore: 更新版权年份
|
2023-01-04 16:11:51 +08:00 |
|
roymondchen
|
3b30d89956
|
fix(editor): 新增的组件如果没有初始化left值,会导致无法通过键盘方向键左右移动
fix #468
|
2022-12-30 16:33:38 +08:00 |
|
roymondchen
|
dd8ac99d5d
|
feat(stage,editor): 添加disabledDragStart配置,用于关闭按下鼠标并拖动功能
|
2022-12-12 16:56:08 +08:00 |
|
roymondchen
|
45eaea6f68
|
fix(editor): 编辑器初始化默认选择节点
|
2022-12-05 20:05:23 +08:00 |
|
oceanzhu
|
3fb880d09b
|
refactor(stage):重构魔方编辑器stage代码
Squash merge branch 'feature/oc_actionbox_879360293' into 'master'
对魔方编辑器核心代码stage进行重构,这部分代码主要是负责编辑器中间画布区域的处理,包括渲染一个所见即所得的画布,支持组件的增删改查和拖拽、高亮操作。
旧代码存在的问题以及解决方案:
1、过多暴露属性和循环引用,导致stageCore、stageDragResize、StageMultiDragResize、StageRender、StageMask、StageHighlight之间形成复杂的网状依赖,非常不可控。StageCore负责创建后面5个类的实例,并把这些实例作为自己的公共属性,同时core把自己的this传给这些实例,这些实例就会通过core传进来的this,通过core间接的访问其它实例的方法和属性,比如在stageDragResize中可能存在这样的一个访问:this.core.stageRender.contentWindow.document
解决方案:
1)、属性尽量设置为私有,对外暴露方法,不暴露属性;
2)、core避免向其它类传递this,改为传递接口,需要什么就传什么
2、事件传递较多,跳来跳去,定位问题较为困难
解决方案:
重新梳理各个类的职责,尽量在类中闭环,减少事件传递。
新增了actionManager类,core负责管理render、mask、actionManager三个类;
actionManager负责管理单选、多选、高亮三个类,同时将mask中的事件监听,转移到actionManager监听,actionManager形成单选、多选、高亮行为后,直接调动单选、多选、高亮完成功能。
3、存在一些重复代码
主要是拖拽框的代码在单选、多选、高亮中各自维护,改为统一维护
4、多选不支持辅助线对齐
将单选中的moveableOption管理逻辑抽取出来成为单选和多选的父类,使多选支持辅助线对齐
本次改动取消了一些对外暴露的属性,moveableOption回调函数签名也有变化,详细情况如下:
删除stageCore公共属性:
public selectedDom: HTMLElement | undefined;
public selectedDomList: HTMLElement[] = [];
public highlightedDom: Element | undefined;
public dr: StageDragResize;
public multiDr: StageMultiDragResize;
public highlightLayer: StageHighlight;
public config: StageCoreConfig;
public zoom = DEFAULT_ZOOM;
public containerHighlightClassName: string;
public containerHighlightDuration: number;
public containerHighlightType?: ContainerHighlightType;
public isContainer: IsContainer;
stageCore入参改动:
这两个参数原本定义:
moveableOptions?: ((core?: StageCore) => MoveableOptions) | MoveableOptions;
multiMoveableOptions?: ((core?: StageCore) => MoveableOptions) | MoveableOptions;
修改后定义:
moveableOptions?: CustomizeMoveableOptions;
multiMoveableOptions?: CustomizeMoveableOptions;
CustomizeMoveableOptions =
| ((config?: CustomizeMoveableOptionsCallbackConfig) => MoveableOptions)
| MoveableOptions
| undefined;
export interface CustomizeMoveableOptionsCallbackConfig {
targetElId?: string;
}
|
2022-11-24 21:19:56 +08:00 |
|
parisma
|
c7a8552d9b
|
fix: 代码块结构改造完成
|
2022-11-10 19:53:35 +08:00 |
|
parisma
|
3673d6016d
|
feat(editor): 代码编辑新增草稿功能
#440
|
2022-11-10 19:53:35 +08:00 |
|
roymondchen
|
66e727838b
|
fix(editor): 多选后,再单选多选中的第一个元素,多选状态没有清除
|
2022-11-04 19:46:54 +08:00 |
|
roymondchen
|
8d8ef55b81
|
fix(editor): 画布滚动条出现的不准确
|
2022-11-04 19:39:47 +08:00 |
|
roymondchen
|
11e0e04cbd
|
feat(editor,stage): 在画布中支持选择父组件
close #403
|
2022-10-20 19:52:53 +08:00 |
|
roymondchen
|
40410292d7
|
fix(editor): 多选后拖动,组件树会收缩
|
2022-10-14 15:56:33 +08:00 |
|
parisma
|
bfaa8317e3
|
feat(editor): 支持代码块维度查看与组件的绑定关系,并支持从代码块列表解除绑定
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
ddd22ff486
|
fix(editor): 绑定关系组件增加option来源的默认逻辑
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
5b220a0e06
|
feat(editor): codeBlockService暴露一些方法支持hook,默认设置代码块到dsl的method字段
|
2022-09-22 16:46:11 +08:00 |
|