760 Commits

Author SHA1 Message Date
roymondchen
c025508cd7 fix(editor,ui,ui-vue2,ui-react): 页面配置更新后,蒙层无法显示
fix #472
2023-03-06 16:29:46 +08:00
roymondchen
e0c0143970 fix(editor): 更新组件后,组件树选中状态被重置 2023-03-02 20:44:45 +08:00
roymondchen
b8cda53d6a fix(editor): 组件树切换选择组件可能触发多选 2023-03-02 20:14:39 +08:00
roymondchen
dc96720641 chore: release v1.2.7 2023-03-02 17:05:08 +08:00
roymondchen
c9bacb96cd feat(stage,editor): 增肌删除快捷按钮 2023-03-02 16:47:20 +08:00
parisma
6610f30afd feat(form): 支持表单差异对比
1、支持表单差异对比
2、支持在tab统计差异数量
2023-03-01 09:22:32 +00:00
roymondchen
174695b94c chore: release v1.2.6 2023-02-21 15:43:39 +08:00
roymondchen
fcb69b7743 chore: release v1.2.5 2023-02-17 15:58:59 +08:00
parisma
010918198a fix(editor): 修复优化性能引起的问题,支持回退撤销对代码关系的更新 2023-02-17 07:31:26 +00:00
roymondchen
8102aaeb12 chore: release v1.2.4 2023-02-17 14:24:14 +08:00
parisma
a013f35cd9 fix: 调整绑定关系结构,优化性能 2023-02-17 14:14:26 +08:00
roymondchen
6637fdc92b chore: release v1.2.3 2023-02-15 19:46:59 +08:00
roymondchen
ae5c627902 chore: release v1.2.2 2023-02-09 17:00:12 +08:00
roymondchen
aa566e9535 fix(editor): set root 可能没有items 2023-02-09 16:57:22 +08:00
roymondchen
89fa321088 chore: release v1.2.1 2023-02-09 16:32:02 +08:00
parisma
0b537f5bff feat(editor,form,schema): 优化代码
Squash merge branch 'feature/parisma_881986193' into 'master'
1、扩展参数配置能力,支持参数类型定义,支持参数注释
2、修复代码块嵌套多层时绑定关系展示不正确的问题
3、支持在组件绑定位置编辑查看代码块
2023-02-09 08:15:37 +00:00
roymondchen
a6226cba18 fix(editor): 编辑器中间列宽度出现负值 2023-02-06 19:50:41 +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
b13aaeb0e9 chore: release v1.2.0 2022-12-22 11:14:59 +08:00
roymondchen
3934ebd030 refactor(editor): 优化组件树逻辑 2022-12-22 10:56:05 +08:00
kevinyzheng
87a19c9bae fix(editor): 代码块列表无法滚动 2022-12-21 18:19:52 +08:00
roymondchen
9b324d17cc chore: release v1.2.0-beta.27 2022-12-13 19:02:00 +08:00
roymondchen
cfc57f17af fix(editor): 组件销毁时移除service的时间监听 2022-12-13 15:32:13 +08:00
roymondchen
ac11fc5926 chore: release v1.2.0-beta.26 2022-12-12 16:59:39 +08:00
roymondchen
dd8ac99d5d feat(stage,editor): 添加disabledDragStart配置,用于关闭按下鼠标并拖动功能 2022-12-12 16:56:08 +08:00
roymondchen
649c80b0ff style(editor): 适配tdesign 2022-12-09 19:59:54 +08:00
roymondchen
7c823022ae build(playground): playground 增加element-plus 按需加载
fix #438
2022-12-08 19:43:38 +08:00
roymondchen
d051aeb155 chore: 去掉eslint prettier warning 2022-12-08 17:17:13 +08:00
roymondchen
3dcdc04127 fix(editor): 粘贴的组件为当前选中组件的副本时,则添加到当前选中组件的父组件中
re #448
2022-12-08 12:50:09 +08:00
roymondchen
9dec40805c chore: release v1.2.0-beta.25 2022-12-07 20:08:02 +08:00
roymondchen
328b3135e5 chore: release v1.2.0-beta.24 2022-12-07 17:04:41 +08:00
roymondchen
14550ddc0f chore: release v1.2.0-beta.23 2022-12-07 16:32:00 +08:00
roymondchen
e813129eb8 fix(editor): modelValue自动更新不成功 2022-12-07 16:26:26 +08:00
roymondchen
8ab6cdb03c chore: release v1.2.0-beta.22 2022-12-06 21:02:59 +08:00
roymondchen
f3574a5029 chore: release v1.2.0-beta.21 2022-12-06 20:35:10 +08:00
roymondchen
45a20d9405 fix(editor): services在组件unmounted时只重置状态不移除事件 2022-12-06 20:32:06 +08:00
roymondchen
67c7faf832 feat(editor): 新增可以移除所有service插件的方法 2022-12-06 19:14:34 +08:00
roymondchen
180252f3f5 chore: 添加type=module 2022-12-06 19:12:32 +08:00
roymondchen
f6dca97442 fix(editor): layout 组件中hasRight判断出错 2022-12-06 16:54:39 +08:00
roymondchen
51f7963197 chore: release v1.2.0-beta.20 2022-12-05 20:41:50 +08:00
roymondchen
828681e960 fix(editor): 复制粘贴时添加的到的父组件应当是当前父组件
fix #448
2022-12-05 20:35:17 +08:00
roymondchen
45eaea6f68 fix(editor): 编辑器初始化默认选择节点 2022-12-05 20:05:23 +08:00
roymondchen
f050ec1273 chore: release v1.2.0-beta.19 2022-12-01 20:38:37 +08:00
roymondchen
f235e4665b chore: 更新vue-tsc 2022-12-01 19:29:00 +08:00
roymondchen
f6262be397 docs: 1.2.0文档 2022-12-01 17:38:05 +08:00
roymondchen
b7934f9f51 fix(editor): 页面切换不在重新渲染画布 2022-11-29 16:58:00 +08:00
roymondchen
830c8d8747 feat(editor): history增加page-change事件 2022-11-25 16:34:42 +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