roymondchen
|
2186fc4e87
|
fix(core): 没有数据源配置时,不初始化数据源事件
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
0a1f03b5c7
|
chore(app): 删除无用log,export FlowState
|
2024-12-09 20:21:34 +08:00 |
|
parisma
|
52c1124e97
|
feat(editor): 事件流支持上下文对象传递和abort方法中断
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
7cd1bc7aec
|
chore: 更新依赖
|
2024-12-09 20:21:34 +08:00 |
|
aldlss
|
dbb58e507d
|
refactor(types): core 导出 AppOptionsConfig
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
a2c79c79cd
|
fix(tmagic-form-runtime): 画布无法点击选中组件
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
34fc0a15b9
|
refactor: 将data-source,dep,schema,utils收敛到core,将form,table,stage,design,util收敛到editor
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
9e4da0a5c2
|
feat: dsl id渲染到dom上的data-tamgic-id,不再是id属性
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
de47514f69
|
feat: 完善迭代器嵌套使用问题,重构事件配置处理代码
* feat(editor,core,data-source,dep,schema,ui,utils,vue-runtime-help): 完善迭代器
* test: 完善测试用例
* chore: 构建
* feat: 迭代器嵌套事件传递数据
---------
Co-authored-by: roymondchen <roymondchen@tencent.com>
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
59f05270ae
|
feat(core): 完善屏幕大小自动适配
|
2024-08-01 17:01:15 +08:00 |
|
roymondchen
|
2d133f47f1
|
feat(core,editor,form): 页面片容器支持配置容器内组件的事件
|
2024-05-30 17:14:50 +08:00 |
|
roymondchen
|
f8dd062a50
|
feat(runtime): vue2/vue3公共部分提出到vue-runtime-help中
|
2024-05-24 17:44:01 +08:00 |
|
roymondchen
|
238762dd0f
|
style(core,schema): 完善dsl定义
|
2024-05-15 20:25:35 +08:00 |
|
roymondchen
|
5074c9e68b
|
refactor(core): 完善事件逻辑
|
2024-05-14 14:05:01 +08:00 |
|
qwertyyb
|
88c04c6dac
|
feat: 支持数据源事件 (#605)
* feat: 添加observedData
* feat: 修改错误
* fix: 修复单测报错问题
* feat: 完善数据源事件
* fix: 修复数据源事件调用组件方法时报错的异常
* fix: 修复多个相同类型的数据源数据变化的事件混淆的问题
* chore: 删除无用代码
* feat: 默认使用SimpleObservedData
* feat: 删除无用代码
---------
Co-authored-by: marchyang <marchyang@tencent.com>
|
2024-05-13 17:23:23 +08:00 |
|
roymondchen
|
c665bf3ccc
|
fix(core,data-source): 事件参数中关联数据源字段无法自动更新
|
2024-05-09 17:01:34 +08:00 |
|
roymondchen
|
ca2c6af060
|
chore: 更新依赖
|
2024-03-13 16:17:00 +08:00 |
|
roymondchen
|
074d76456b
|
feat(editor,core,schema): 组件高级配置支持配置数据源方法
|
2024-02-28 14:33:57 +08:00 |
|
roymondchen
|
d3777b236d
|
feat(data-source,utils,runtime): 数据源setData支持指定路径
|
2024-01-02 20:57:37 +08:00 |
|
roymondchen
|
7b6dcedfad
|
feat(core,editor,ui): 新增页面片
|
2023-12-19 06:39:03 +00:00 |
|
roymondchen
|
86bdb9f099
|
feat(data-source): 支持在指定js环境下不执行init的配置
|
2023-12-18 17:27:37 +08:00 |
|
roymondchen
|
ffd8130269
|
feat(data-source): 数据源支持ssr
|
2023-11-15 15:27:23 +08:00 |
|
roymondchen
|
436fb3f5aa
|
feat(core): 将事件响应中的剩余事件参数传入到配置的代码块与数据源方法中
re #551
|
2023-11-13 14:34:10 +08:00 |
|
roymondchen
|
168ec281aa
|
fix(core): 设置page时查找原page兼容数字id情况
fix #547
|
2023-11-06 11:35:44 +08:00 |
|
roymondchen
|
83ab94fcad
|
feat(data-source,editor,schema): 数据源mock新增在编辑器中使用的配置
|
2023-10-17 17:05:36 +08:00 |
|
roymondchen
|
4c46a4e575
|
feat(core,data-source): 数据源支持mock
|
2023-10-02 17:10:15 +08:00 |
|
roymondchen
|
502e59cfd7
|
refactor(core,data-source,schema): 将AppCore定义移到schema中
|
2023-09-13 16:47:34 +08:00 |
|
roymondchen
|
a8eea1a73b
|
fix(core): node销毁后重新渲染再销毁不会触发destroy事件
|
2023-08-31 15:47:04 +08:00 |
|
roymondchen
|
7f48b4d9f5
|
chore(core,data-source): 将app传入datasourceManager
|
2023-08-25 17:39:37 +08:00 |
|
roymondchen
|
92df80e711
|
feat(core,data-source,ui,ui-react,ui-vue2,utils,runtime): 解析显示条件配置
|
2023-08-04 19:50:44 +08:00 |
|
roymondchen
|
2a0680c707
|
feat(core,editor,data-source,form,schema): 新增数据源方法配置,支持事件联动数据源方法
|
2023-07-18 19:35:54 +08:00 |
|
roymondchen
|
47c26ed189
|
fix(core): 一个组件配置多个相同的事件销毁后没有能成功移除事件绑定
|
2023-06-30 19:40:47 +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
|
01d1dccbb6
|
feat(app,utils,runtime): 将resetcss.css移到utils,在runtime中引入
|
2023-06-08 17:44:06 +08:00 |
|
roymondchen
|
aac478eebc
|
feat: 新增数据源
|
2023-05-29 11:33:44 +08:00 |
|
roymondchen
|
abcac71826
|
fix(core): node events 为空时,应为空数组
fix #500
|
2023-04-10 16:50:13 +08:00 |
|
roymondchen
|
3d9f38781a
|
feat(core): 重新设置designWidth时,应该重新计算root font size
|
2023-04-10 16:40:20 +08:00 |
|
roymondchen
|
fb026a134f
|
fix(core): style兼容hippy
|
2023-03-30 14:19:04 +08:00 |
|
roymondchen
|
44290b65ba
|
fix(core): 没有设置curPage,默认取第一个page
|
2023-03-30 12:14:52 +08:00 |
|
roymondchen
|
5eb3b0dcae
|
chore(core): 页面变化时仅移除配置的事件
|
2023-03-29 16:34:20 +08:00 |
|
parisma
|
39468f3b95
|
feat(editor,form,core,schema): 事件支持触发代码块
|
2023-03-29 07:13:57 +00:00 |
|
roymondchen
|
cfd2a6eee3
|
feat(core,runtime): 删除App中pages,只留下当前page
|
2023-03-28 21:06:38 +08:00 |
|
roymondchen
|
36c4ffa02e
|
fix(core): 非浏览器环境屏蔽相关代码
|
2023-03-22 19:28:53 +08:00 |
|
roymondchen
|
f1f100f952
|
feat(core): 新增节点操作方法
|
2023-03-15 15:06:58 +08:00 |
|
oceanzhu
|
23708e4644
|
chore: 更新版权年份
|
2023-01-04 16:11:51 +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
|
8195a600f5
|
feat(editor): 修改代码块参数结构,以对象形式暴露app,params
|
2022-11-22 04:28:54 +00:00 |
|
parisma
|
a03ac7c78b
|
feat: core代码执行兼容老的数据格式
|
2022-11-10 20:10:21 +08:00 |
|
parisma
|
c7a8552d9b
|
fix: 代码块结构改造完成
|
2022-11-10 19:53:35 +08:00 |
|