686 Commits

Author SHA1 Message Date
roymondchen
c143a5f767 Revert "chore: github文档构建锁定在v1.1.6版本"
This reverts commit 3291530b326289653a25a21894dcea3ede9ff520.
2022-11-29 18:06:40 +08:00
oceanzhu
164d777ebf refactor(stage): 将被操作元素和拖拽框抽取出来放到DragResizeHelper中
Squash merge branch 'feature/ocean_stagerefactor_880128993' into 'master'
refactor(stage): 在拖拽过程中,moveable会产生一些状态事件,DragResizeHelper对这些状态事件中对将被操作元素和拖拽框的状态和dom进行处理。
2022-11-29 09:51:41 +00:00
roymondchen
3291530b32 chore: github文档构建锁定在v1.1.6版本 2022-11-29 17:25:53 +08:00
roymondchen
b7934f9f51 fix(editor): 页面切换不在重新渲染画布 2022-11-29 16:58:00 +08:00
roymondchen
239b5d3efe feat(form): dialog支持disabled配置 2022-11-25 20:58:34 +08:00
roymondchen
ea8b863694 feat(form): table支持rowkey配置 2022-11-25 17:31:49 +08:00
roymondchen
830c8d8747 feat(editor): history增加page-change事件 2022-11-25 16:34:42 +08:00
parisma
64d71bef42 docs(admin): 管理端文档更新 2022-11-25 15:19:09 +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 v1.2.0-beta.18 2022-11-24 21:04:33 +08:00
parisma
e497ab0008 fix(editor): itemsFunction中补全value
feat(form): export createValues方法
2022-11-24 12:25:26 +00:00
kevinyzheng
d46d61184b feat(cli): export loadUserConfig 2022-11-24 20:16:10 +08:00
roymondchen
76a8eee6c5 chore: release v1.2.0-beta.17 v1.2.0-beta.17 2022-11-24 15:27:37 +08:00
roymondchen
fc50c87ad5 fix(editor): m-form不能加key,会导致vue示例销毁重建 2022-11-24 15:23:50 +08:00
roymondchen
f44500d21b chore: release v1.2.0-beta.16 v1.2.0-beta.16 2022-11-23 18:52:24 +08:00
roymondchen
eacc4dc794 fix(editor): 切换选中组件后组件属性表单内存未释放
fix #123
2022-11-23 17:54:01 +08:00
parisma
5ae32f0792 fix: 在tree上增加tabindex来监听focus事件,完善组件树多选体验 2022-11-23 09:49:58 +00:00
parisma
db91b3e6c6 style(editor): 修复组件树无法滑动的问题 2022-11-23 09:49:58 +00:00
roymondchen
47e851ce5e fix(design): tabs支持modelValue 2022-11-23 15:40:02 +08:00
roymondchen
a4f9467d53 chore: release v1.2.0-beta.15 v1.2.0-beta.15 2022-11-22 16:41:50 +08:00
parisma
dc730cddc3 style(editor): 默认展开组件树节点 2022-11-22 04:28:54 +00:00
parisma
994cd4133a style(editor): 修复代码块列表右侧工具栏遮挡代码块名称的样式问题 2022-11-22 04:28:54 +00:00
parisma
13dc3ca259 fix(editor): 修复setCodeDslById不传content引起的问题 2022-11-22 04:28:54 +00:00
parisma
8195a600f5 feat(editor): 修改代码块参数结构,以对象形式暴露app,params 2022-11-22 04:28:54 +00:00
parisma
a55c6eb8b0 style(form): 修复.el-form-item.hidden跨级选中影响子元素样式的问题 2022-11-22 04:28:54 +00:00
roymondchen
0680bca2b4 docs: 安装cli的命令示例出错 2022-11-21 19:11:51 +08:00
roymondchen
f0d6624fc4 chore: release v1.2.0-beta.14 v1.2.0-beta.14 2022-11-18 18:12:58 +08:00
roymondchen
aa9293af55 feat(table): expand内容支持vue组件 2022-11-18 18:10:17 +08:00
roymondchen
813ca55ef6 feat(editor): 添加右键菜单粘贴icon 2022-11-18 16:22:42 +08:00
roymondchen
54bc196685 chore(playground): 加上vite-plugin-vue-setup-extend后再DevTools上看不到vue的源文件了,固去掉该插件 2022-11-17 20:11:34 +08:00
roymondchen
bddfcee92b fix(editor): 编辑器左中右列宽支持配置最小宽度 2022-11-17 20:03:00 +08:00
roymondchen
0fa44da0d4 chore(editor): 更新service plugin 使用方法注释 2022-11-17 17:19:24 +08:00
kevinyzheng
bb5aa6722f feat(cli): useTs 为必填参数 2022-11-17 04:33:39 +00:00
kevinyzheng
b512e14129 feat(cli): 增加 useTs 配置 2022-11-17 04:33:39 +00:00
parisma
bc4b62a4c1 refactor(editor): 补全ts类型 2022-11-17 11:48:19 +08:00
parisma
8271a3b497 feat(editor): 代码编辑支持全屏 2022-11-16 12:38:01 +08:00
parisma
4e182e5f6e refactor(admin): 修复安全工单 2022-11-16 12:38:01 +08:00
roymondchen
a575073387 chore: release v1.2.0-beta.13 v1.2.0-beta.13 2022-11-15 18:19:57 +08:00
roymondchen
4fe45eb36d fix(form): time value改成HH:mm:ss字符串,支持配置 2022-11-15 18:16:14 +08:00
roymondchen
52fc452823 chore: release v1.2.0-beta.12 v1.2.0-beta.12 2022-11-15 16:58:27 +08: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
kevinyzheng
cc21c47829 feat(cli): hooks.beforeWriteEntry 改为 async 2022-11-15 08:15:43 +00:00
roymondchen
f824b661bd feat(table): 支持expand内容可以为html 2022-11-15 16:03:25 +08:00
roymondchen
8de58a2101 refactor(editor): 明确CodeEditor type的定义 2022-11-15 16:01:52 +08:00
kevinyzheng
4c94fa0a8f feat(cli): 增加 hook.beforeWriteEntry 2022-11-14 06:22:20 +00:00
kevinyzheng
258ac4d56b feat(cli): 设置 dynamicImport 时生成 async-plugin-entry 2022-11-14 06:22:20 +00:00
kevinyzheng
f5a8d6bdc6 fix(cli): entry生成路径错误问题 2022-11-14 06:22:20 +00:00
kevinyzheng
04e18572fd feat(cli): ast 解析入口文件优化 2022-11-14 06:22:20 +00:00
kevinyzheng
6c5cc55f31 feat(cli): 文件声明“不合法”修改为“缺失” 2022-11-14 06:22:20 +00:00
kevinyzheng
958bcd3ec5 feat(cli): 优化 logger,优化 ast 解析 2022-11-14 06:22:20 +00:00