roymondchen
|
7887a14f6b
|
style(editor): 完善emit定义
|
2024-12-18 16:10:07 +08:00 |
|
roymondchen
|
5cd6d21b2e
|
feat(editor): 组件配置中的样式支持单独一列显示
|
2024-12-17 20:47:33 +08:00 |
|
roymondchen
|
13abe898a9
|
feat(editor): 支持配置页面过滤函数
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
ed6d9b2b67
|
feat(editor): 页面/页面片不再使用tab分开显示,新增搜索页面
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
7b9ceb9cfb
|
style(editor): 修改indent prop 名称
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
47a21d6544
|
feat(editor): 新增已选组件、代码编辑、数据源及其子节点增量缩进配置
|
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
|
798ace76f3
|
chore: 更新pnpm版本,修复ts错误
|
2024-12-09 20:21:34 +08:00 |
|
roymondchen
|
0bbf7c5643
|
feat(editor): 添加component-list slot,用于自定义组件列表
re #621
|
2024-07-25 17:49:40 +08:00 |
|
parisma
|
0c5485b1d0
|
feat(editor): 支持拖拽调整页面顺序
|
2024-06-28 08:54:00 +00:00 |
|
roymondchen
|
b1e79c1e05
|
fix(editor): 在组件属性配置表单中编辑数据源方法无法保存问题
|
2024-04-12 20:11:34 +08:00 |
|
roymondchen
|
92049cf251
|
feat(editor): 新增配置控制属性配置面板右下角的源码按钮是否显示
|
2024-04-12 19:31:09 +08:00 |
|
roymondchen
|
6821ce5fbf
|
feat(editor): 新增data-source-panel-search slot
|
2024-03-01 15:13:33 +08:00 |
|
roymondchen
|
a073b8c50d
|
feat(editor): 新增code-block-panel-search slot
|
2024-03-01 13:56:53 +08:00 |
|
roymondchen
|
c30e7d340b
|
feat(editor,stage): 完善双击画布可以已弹层方向显示并显示完整的组件
|
2024-01-18 11:40:00 +08:00 |
|
roymondchen
|
fbe1d88d27
|
feat(editor,form): 新增属性配置表单error事件
re #557
|
2023-12-21 16:30:31 +08:00 |
|
roymondchen
|
7c90b9339d
|
feat(editor): 新增page-bar slot
|
2023-12-20 15:08:24 +08:00 |
|
roymondchen
|
7b6dcedfad
|
feat(core,editor,ui): 新增页面片
|
2023-12-19 06:39:03 +00:00 |
|
roymondchen
|
698c3451ff
|
feat(editor): 新增自定义右键菜单函数配置
|
2023-12-18 20:37:10 +08:00 |
|
roymondchen
|
2a5b9ec6bd
|
feat(editor, stage): 新增禁用多选的props
|
2023-12-18 15:00:26 +08:00 |
|
roymondchen
|
09fe6d29e2
|
chore(editor): 修改拼写错误
|
2023-12-18 14:17:04 +08:00 |
|
roymondchen
|
f212be136e
|
feat(editor,stage): 新增标尺配置props
re #558
|
2023-12-15 14:32:32 +08:00 |
|
roymondchen
|
ba2f1e5ac5
|
feat(stage, editor): runtime支持直接渲染模式不用iframe
|
2023-12-12 15:09:33 +08:00 |
|
roymondchen
|
741140fa71
|
refactor(editor): 代码编辑、数据源重构
|
2023-12-08 17:20:43 +08:00 |
|
roymondchen
|
480d013994
|
feat(editor): 新增组件树、数据源slots
|
2023-11-01 15:17:52 +08:00 |
|
roymondchen
|
1c516bb24b
|
refactor(editor): 优化性能,组件树重写,不再使用el-tree
|
2023-10-20 19:32:11 +08:00 |
|
roymondchen
|
803bf323ce
|
refactor(editor): editor组件改成setup
|
2023-10-07 17:01:33 +08:00 |
|
roymondchen
|
2a0680c707
|
feat(core,editor,data-source,form,schema): 新增数据源方法配置,支持事件联动数据源方法
|
2023-07-18 19:35:54 +08:00 |
|
roymondchen
|
fd53170e59
|
feat(editor,form): 添加属性配置表单formState扩展函数prop
|
2023-07-06 14:25:59 +08:00 |
|
roymondchen
|
9716aceabf
|
feat(editor): 完善快捷键注册机制
|
2023-06-16 17:39:50 +08:00 |
|
roymondchen
|
06d289aff3
|
feat(editor): 优化快捷键操作
|
2023-06-12 17:28:56 +08:00 |
|
roymondchen
|
97101f18a6
|
feat(editor): 添加几个slot
|
2023-06-06 14:20:12 +08:00 |
|
roymondchen
|
011496fcd8
|
chore: 更新至vue3.3.4
|
2023-05-29 17:37:34 +08:00 |
|
roymondchen
|
aac478eebc
|
feat: 新增数据源
|
2023-05-29 11:33:44 +08:00 |
|
roymondchen
|
899991794b
|
chore(editor): 拆分Editor.vue
|
2023-03-28 17:26:34 +08:00 |
|
roymondchen
|
3b6ca97f4c
|
feat(edtior): 代码块使用依赖收集器改造
|
2023-03-27 19:09:47 +08:00 |
|
roymondchen
|
fa89af920c
|
chore(editor): codeDsl由codeBlockService维护,不再从editorService中获取,删除editorService中相关api
|
2023-03-23 16:42:36 +08:00 |
|
parisma
|
a013f35cd9
|
fix: 调整绑定关系结构,优化性能
|
2023-02-17 14:14:26 +08:00 |
|
roymondchen
|
0491487385
|
feat(editor): 修改service get set 方法的ts定义,不再需要传入泛型参数
|
2023-02-06 19:25:37 +08:00 |
|
roymondchen
|
cfc57f17af
|
fix(editor): 组件销毁时移除service的时间监听
|
2022-12-13 15:32:13 +08:00 |
|
roymondchen
|
dd8ac99d5d
|
feat(stage,editor): 添加disabledDragStart配置,用于关闭按下鼠标并拖动功能
|
2022-12-12 16:56:08 +08:00 |
|
roymondchen
|
7c823022ae
|
build(playground): playground 增加element-plus 按需加载
fix #438
|
2022-12-08 19:43:38 +08:00 |
|
roymondchen
|
e813129eb8
|
fix(editor): modelValue自动更新不成功
|
2022-12-07 16:26:26 +08:00 |
|
roymondchen
|
45a20d9405
|
fix(editor): services在组件unmounted时只重置状态不移除事件
|
2022-12-06 20:32:06 +08:00 |
|
roymondchen
|
45eaea6f68
|
fix(editor): 编辑器初始化默认选择节点
|
2022-12-05 20:05:23 +08:00 |
|
roymondchen
|
f6262be397
|
docs: 1.2.0文档
|
2022-12-01 17:38:05 +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
|
0eab817a11
|
fix(editor): 区分直接关闭和保存后关闭
#440
|
2022-11-10 19:53:35 +08:00 |
|
roymondchen
|
c2e8a1caae
|
fix(editor): content-menu没有响应式
|
2022-11-04 19:19:44 +08:00 |
|
parisma
|
0baec3e532
|
fix(editor): slot修改,schema声明修改
|
2022-09-28 15:52:41 +08:00 |
|