84 Commits

Author SHA1 Message Date
roymondchen
a831413151 feat(form): groupList支持复制单条记录,支持移动单条记得到指定位置,table支持复制单条记录 2025-01-03 19:47:25 +08:00
roymondchen
9f7d67b17b feat(form,editor): 表单新增修改数据记录 2024-12-09 20:21:34 +08:00
parisma
52c1124e97 feat(editor): 事件流支持上下文对象传递和abort方法中断 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
feaa295606 chore(playground): playground添加design style 2024-12-09 20:21:34 +08:00
roymondchen
ea556d69f6 style(playground): 完善ts定义 2024-07-25 17:51:49 +08:00
parisma
cd191f6815 feat(editor): 复制组件时收集依赖性能优化改造 2024-05-30 07:44:27 +00:00
roymondchen
50d238a48c feat(playground): 设置配置表单的label-width 2024-05-30 11:29:02 +08:00
roymondchen
49e9d5b985 fix(playground): tmagic-form样式丢失
fix #610
2024-05-29 20:10:32 +08:00
roymondchen
ee269917f8 feat(dep,editor,data-source,schema): 优化编辑器中依赖收集性能 2024-05-29 19:32:16 +08:00
parisma
faabf1bb3a feat(editor,dep): 支持复制组件时将组件绑定的数据源一并复制 2024-05-27 10:52:07 +00:00
roymondchen
3af247febb fix(playground): 画布尺寸切换无效
由于element-plus2.6后radio-button label属性改成value

fix #586
2024-04-08 14:25:33 +08:00
roymondchen
47b19ae7fa feat(playground): 缓存上次保存dsl 2024-03-28 21:02:15 +08:00
roymondchen
f999b60a79 chore: 完善代码 2024-03-20 14:26:05 +08:00
roymondchen
4f31eed71a style(editor): use-plugin ts定义完善 2024-03-12 14:08:37 +08:00
roymondchen
260286f9cf refactor(ui,playground): 优化编码 2024-03-11 20:22:53 +08:00
roymondchen
e692e01c4f feat: 支持迭代器容器 2024-03-07 16:56:05 +08:00
roymondchen
16e45cb45d style(editor): 完善service use-plugin的ts类型定义 2024-03-05 14:55:41 +08:00
roymondchen
c30e7d340b feat(editor,stage): 完善双击画布可以已弹层方向显示并显示完整的组件 2024-01-18 11:40:00 +08:00
roymondchen
f8443ed316 feat: 新增tmagic-form-runtime 2024-01-09 14:58:13 +08:00
roymondchen
5c54f50365 refactor: button text prop 改成 link element-plus将废弃text 2024-01-08 17:49:41 +08:00
roymondchen
fbe1d88d27 feat(editor,form): 新增属性配置表单error事件
re #557
2023-12-21 16:30:31 +08:00
roymondchen
7b6dcedfad feat(core,editor,ui): 新增页面片 2023-12-19 06:39:03 +00:00
roymondchen
538f96c082 feat(playground): 完善form editor 2023-12-15 20:05:29 +08:00
roymondchen
cf72039ff1 feat(playground): 新增表单编辑器 2023-12-12 15:17:28 +08:00
roymondchen
f8125aa149 feat(stage): 支持配置对齐元素 2023-11-28 16:19:00 +08:00
roymondchen
eb43deb9f5 feat(editor): 画布大小支持配置百分比 2023-11-27 16:55:23 +08:00
roymondchen
588ec68b21 feat(editor): 事件关联数据源方法支持预置 2023-10-07 20:10:50 +08:00
roymondchen
573f1a2c17 feat(cli,data-source,editor,playground,runtime): 支持自定义数据源 2023-08-21 16:57:18 +08:00
roymondchen
4c9ef87975 fix(stage,playground): moveableOptions对多选无效
fix #529
2023-08-08 20:58:22 +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
ea4af425f3 feat: 完善tdesign-vue-next适配 2023-04-25 21:03:52 +08:00
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