parisma
|
51dadabc2c
|
feat(editor): 代码编辑交互优化
1、代码列表中代码块和组件区分不够清晰,查看按钮太靠边,开发模式下未对齐
2、代码编辑/查看弹窗希望可以点击蒙层或者esc键退出
3、代码块绑定到组件的地方和事件绑定UI统一
4、在代码绑定的地方需要支持查看或者编辑
Bug:
1、旧格式的事件联动删除到只剩最后一个时无法成功删除
|
2023-04-18 07:57:50 +00:00 |
|
roymondchen
|
84e2cdf22d
|
fix(playground,runtime): 设备切换时,重新设置root font size与ua
fix #501
|
2023-04-10 16:42:22 +08:00 |
|
parisma
|
39468f3b95
|
feat(editor,form,core,schema): 事件支持触发代码块
|
2023-03-29 07:13:57 +00:00 |
|
parisma
|
6610f30afd
|
feat(form): 支持表单差异对比
1、支持表单差异对比
2、支持在tab统计差异数量
|
2023-03-01 09:22:32 +00: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
|
ba20eb8cf1
|
fix(playground): 加载组件表单配置资源失败
|
2022-12-07 18:57:30 +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
|
16f671cd8f
|
feat(editor): 代码块支持传递参数 (merge request !9)
Squash merge branch 'feature/parisma_codeDraft' into 'master'
1、 table支持items为函数
2、代码块支持传递参数
|
2022-11-15 08:48:19 +00: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
|
32a24ad578
|
feat: table切换成TMagicDesign
|
2022-10-11 18:11:32 +08:00 |
|
roymondchen
|
36f396ac24
|
feat(playground): 使用@tamgic/design
#401
|
2022-10-11 15:50:42 +08:00 |
|
parisma
|
85951de24d
|
fix(editor): 修复warning,修改playground dsl codeBlocks字段
|
2022-09-28 15:52:41 +08:00 |
|
i33
|
b3bae36d94
|
fix(runtime): 切换设计窗体大小时,同时修改app
|
2022-09-27 14:38:30 +08:00 |
|
parisma
|
415ecad24c
|
refactor(editor): 修改代码块描述内容在dsl中的键名为codeBlock字段
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
92f3696e44
|
feat(editor): 组件代码块的绑定关系记录到dsl中,修复删除组件解除关系的问题,代码块dsl支持扩展字段
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
bfaa8317e3
|
feat(editor): 支持代码块维度查看与组件的绑定关系,并支持从代码块列表解除绑定
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
a452cecc44
|
fix(editor): 修改样式,修改代码块ID生成逻辑
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
310ee32d75
|
feat(core): 修改core生命周期钩子处理逻辑,执行对应的代码块
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
bc000e9ca6
|
fix(editor): 解决修改代码名称后已选择的select tag不更新的问题,优化一些样式
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
fa0149773f
|
fix(editor): dsl存储代码块的字段改为methods
|
2022-09-22 16:46:11 +08:00 |
|
parisma
|
5b220a0e06
|
feat(editor): codeBlockService暴露一些方法支持hook,默认设置代码块到dsl的method字段
|
2022-09-22 16:46:11 +08:00 |
|
roymondchen
|
f853299226
|
chore: 更新element-plus
|
2022-09-22 12:52:47 +08:00 |
|
roymondchen
|
458f493150
|
build: 使用esbuildOptions定义global
|
2022-09-06 15:38:16 +08:00 |
|
roymondchen
|
41a8400095
|
fix(playground,runtime): 拖动添加弹窗时初始位置不对
|
2022-08-16 15:20:39 +08:00 |
|
roymondchen
|
31d60eb1ba
|
fix(playground): pc预览适配
|
2022-08-11 17:53:03 +08:00 |
|
roymondchen
|
1d8149b5eb
|
build: 修改runtime publicDir
|
2022-08-08 16:13:58 +08:00 |
|
roymondchen
|
a57fef4947
|
feat(runtime,playground): vue3使用tmagic-cli生成组件依赖入口
|
2022-08-04 15:39:19 +08:00 |
|
roymondchen
|
a4abf5feea
|
fix(playground): 小屏幕下设备切换按钮样式问题
|
2022-07-18 14:11:41 +08:00 |
|
roymondchen
|
0e0e3ee310
|
refactor: 使用@element-plus/icons-vue替换@element-plus/icons
|
2022-07-14 20:39:11 +08:00 |
|
roymondchen
|
7dc0b4e261
|
fix(magic-admin): 修复发布页面资源路径错误,导致页面无法打开问题
|
2022-07-11 19:52:52 +08:00 |
|
roymondchen
|
a7afe057fb
|
chore: import type
|
2022-07-01 20:07:28 +08:00 |
|
roymondchen
|
c57037030d
|
feat(playground): 优化form/table playground
|
2022-06-13 21:03:34 +08:00 |
|
roymondchen
|
9f23cd6361
|
feat(playground): 添加不同设备切换
|
2022-06-13 21:03:34 +08:00 |
|
roymondchen
|
f80825331e
|
feat(playground): 添加form、table playground入口
|
2022-06-13 21:03:34 +08:00 |
|
roymondchen
|
2319df727a
|
feat(playground): 添加弹窗组合
|
2022-06-13 16:52:14 +08:00 |
|
roymondchen
|
423059deac
|
feat(playground): playground支持旋转操作
|
2022-06-09 21:03:32 +08:00 |
|
roymondchen
|
5bfb69b36d
|
feat(playground): 更新默认页面配置
|
2022-05-27 19:11:33 +08:00 |
|
roymondchen
|
44aa56bd52
|
feat: 新增蒙层组件
|
2022-05-27 18:48:55 +08:00 |
|
roymondchen
|
d84037e421
|
feat: 支持playground:vue2/playground:react命令
vue2 react runtime path 出错导致vue2 react playground运行出错;vue2中存在多个composition-api导致出错
fix #82 fix #68
|
2022-05-25 17:04:11 +08:00 |
|
roymondchen
|
8c287ecace
|
feat(ui): 添加二维码,图片组件
|
2022-05-25 14:22:28 +08:00 |
|
roymondchen
|
f9ae10bc9d
|
fix(playground): 预览检查是否保存
|
2022-04-22 13:24:31 +08:00 |
|
roymondchen
|
6dbda7b565
|
style(editor): 将节点类型改成枚举
|
2022-03-31 19:46:12 +08:00 |
|
roymondchen
|
6479751354
|
refactor(editor): monaco-editor是使用npm包版本
|
2022-03-14 22:02:26 +08:00 |
|
roymondchen
|
344a032ac3
|
docs: add docs
|
2022-02-22 20:27:01 +08:00 |
|
roymondchen
|
bc8b9f5225
|
refactor: make it public
|
2022-02-17 14:47:39 +08:00 |
|