roymondchen
|
180252f3f5
|
chore: 添加type=module
|
2022-12-06 19:12:32 +08:00 |
|
roymondchen
|
51f7963197
|
chore: release v1.2.0-beta.20
|
2022-12-05 20:41:50 +08:00 |
|
roymondchen
|
f050ec1273
|
chore: release v1.2.0-beta.19
|
2022-12-01 20:38:37 +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 |
|
roymondchen
|
deeb55cd0b
|
chore: release v1.2.0-beta.18
|
2022-11-24 21:04:33 +08:00 |
|
roymondchen
|
76a8eee6c5
|
chore: release v1.2.0-beta.17
|
2022-11-24 15:27:37 +08:00 |
|
roymondchen
|
f44500d21b
|
chore: release v1.2.0-beta.16
|
2022-11-23 18:52:24 +08:00 |
|
roymondchen
|
a4f9467d53
|
chore: release v1.2.0-beta.15
|
2022-11-22 16:41:50 +08:00 |
|
parisma
|
8195a600f5
|
feat(editor): 修改代码块参数结构,以对象形式暴露app,params
|
2022-11-22 04:28:54 +00:00 |
|
roymondchen
|
f0d6624fc4
|
chore: release v1.2.0-beta.14
|
2022-11-18 18:12:58 +08:00 |
|
roymondchen
|
a575073387
|
chore: release v1.2.0-beta.13
|
2022-11-15 18:19:57 +08:00 |
|
roymondchen
|
52fc452823
|
chore: release v1.2.0-beta.12
|
2022-11-15 16:58:27 +08:00 |
|
parisma
|
a03ac7c78b
|
feat: core代码执行兼容老的数据格式
|
2022-11-10 20:10:21 +08:00 |
|
parisma
|
c7a8552d9b
|
fix: 代码块结构改造完成
|
2022-11-10 19:53:35 +08:00 |
|
parisma
|
c4293f17a6
|
feat: 修改code_block结构,组件代码关系绑定改为table,绑定关系更新未完成
|
2022-11-10 19:53:35 +08:00 |
|
roymondchen
|
2bbca87e51
|
chore: release v1.2.0-beta.11
|
2022-11-08 16:23:29 +08:00 |
|
roymondchen
|
d8d6342505
|
chore: release v1.2.0-beta.10
|
2022-11-07 16:31:40 +08:00 |
|
roymondchen
|
bb01427a42
|
chore: release v1.2.0-beta.9
|
2022-10-28 19:20:04 +08:00 |
|
roymondchen
|
73ecdfff70
|
chore: release v1.2.0-beta.8
|
2022-10-25 17:41:35 +08:00 |
|
roymondchen
|
f9682a7b70
|
chore: release v1.2.0-beta.7
|
2022-10-17 16:03:29 +08:00 |
|
roymondchen
|
f6af025355
|
chore: release v1.2.0-beta.6
|
2022-10-14 18:52:37 +08:00 |
|
roymondchen
|
8c5518170d
|
chore: release v1.2.0-beta.5
|
2022-10-12 19:21:24 +08:00 |
|
roymondchen
|
d5e8a77821
|
chore: release v1.2.0-beta.4
|
2022-10-12 16:31:14 +08:00 |
|
roymondchen
|
3baf6ffffc
|
chore: release v1.2.0-beta.3
|
2022-10-12 15:42:02 +08:00 |
|
roymondchen
|
7da3509bd0
|
chore: release v1.2.0-beta.2
|
2022-09-28 16:45:58 +08:00 |
|
parisma
|
040d679b7f
|
chore(core): ts报错修改
|
2022-09-28 16:17:25 +08:00 |
|
parisma
|
3bb8ecc975
|
fix(editor): 修复初始dsl无codeBlocks字段时无法新增的问题
|
2022-09-28 15:52:41 +08:00 |
|
i33
|
b3bae36d94
|
fix(runtime): 切换设计窗体大小时,同时修改app
|
2022-09-27 14:38:30 +08:00 |
|
roymondchen
|
b50f6a9fbf
|
chore: release v1.2.0-beta.1
|
2022-09-22 17:13:21 +08:00 |
|
parisma
|
765c0a227d
|
refactor(core): 升级schema版本
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
415ecad24c
|
refactor(editor): 修改代码块描述内容在dsl中的键名为codeBlock字段
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
5de3eeda71
|
refactor(editor): cr修改
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
c3b502254b
|
fix(core): 修复执行代码块的顺序问题
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
896f92b5a8
|
fix(editor): 代码块删除支持传参处理失败逻辑,ts类型修复
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
310ee32d75
|
feat(core): 修改core生命周期钩子处理逻辑,执行对应的代码块
|
2022-09-22 16:46:11 +08:00 |
|
roymondchen
|
66c5daca49
|
chore: release v1.1.6
|
2022-09-22 16:00:43 +08:00 |
|
i33
|
34b628cc07
|
fix(core): 修复emit 无node时的情况
|
2022-09-22 12:19:22 +08:00 |
|
i33
|
b0419cdbaf
|
fix(core): 保证传参行为一致
|
2022-09-22 12:19:22 +08:00 |
|
i33
|
a96d547c20
|
fix(core): 修复多组件同一事件监听问题修改后导致的共通点击失效问题
统一自定义事件和共通事件行为。
|
2022-09-22 12:19:22 +08:00 |
|
roymondchen
|
cebb152416
|
chore: release v1.1.5
|
2022-09-20 15:31:04 +08:00 |
|
roymondchen
|
b835bb2488
|
fix(core): 多个组件配置同一事件会导致此事件多次监听
fix #356
|
2022-09-20 15:21:38 +08:00 |
|
roymondchen
|
6d91cacc84
|
build: vite依赖升级
|
2022-09-20 13:18:32 +08:00 |
|
roymondchen
|
d748090b5c
|
chore: release v1.1.4
|
2022-09-15 14:47:56 +08:00 |
|
roymondchen
|
66579793c2
|
chore: release v1.1.3
|
2022-09-13 14:32:48 +08:00 |
|
roymondchen
|
601528d752
|
chore: release v1.1.2
|
2022-09-08 12:48:44 +08:00 |
|
roymondchen
|
d84c6d08c3
|
chore: release v1.1.1
|
2022-08-31 15:14:05 +08:00 |
|
jia000
|
166424a878
|
Merge pull request #323 from jia000/release
chore: release v1.1.0
|
2022-08-30 20:19:40 +08:00 |
|
roymondchen
|
53f36bcebb
|
chore: release v1.1.0
|
2022-08-30 20:18:50 +08:00 |
|
i33
|
8db7821032
|
fix(core): 解决固定元素失效问题
固定元素在父链存在非none的transform时无效,去除空值的transform样式。
|
2022-08-30 19:38:33 +08:00 |
|
roymondchen
|
7dfb0ea7b6
|
chore: release v1.1.0-beta.13
|
2022-08-29 12:18:18 +08:00 |
|