@ease-forge/designer 1.0.29 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DesignCanvas.vue.d.ts +16 -0
- package/dist/components/DesignCanvas.vue.d.ts.map +1 -0
- package/dist/components/DragGhost.vue.d.ts +9 -0
- package/dist/components/DragGhost.vue.d.ts.map +1 -0
- package/dist/components/Workbench.vue.d.ts +14 -0
- package/dist/components/Workbench.vue.d.ts.map +1 -0
- package/dist/components/panels/MaterialPanel.vue.d.ts +14 -0
- package/dist/components/panels/MaterialPanel.vue.d.ts.map +1 -0
- package/dist/components/panels/OutlinePanel.vue.d.ts +9 -0
- package/dist/components/panels/OutlinePanel.vue.d.ts.map +1 -0
- package/dist/components/panels/SetterAdvancedPanel.vue.d.ts +15 -0
- package/dist/components/panels/SetterAdvancedPanel.vue.d.ts.map +1 -0
- package/dist/components/panels/SetterEventPanel.vue.d.ts +15 -0
- package/dist/components/panels/SetterEventPanel.vue.d.ts.map +1 -0
- package/dist/components/panels/SetterPropsGroup.vue.d.ts +12 -0
- package/dist/components/panels/SetterPropsGroup.vue.d.ts.map +1 -0
- package/dist/components/panels/SetterPropsPanel.vue.d.ts +12 -0
- package/dist/components/panels/SetterPropsPanel.vue.d.ts.map +1 -0
- package/dist/components/panels/SetterStyleGroup.vue.d.ts +12 -0
- package/dist/components/panels/SetterStyleGroup.vue.d.ts.map +1 -0
- package/dist/components/panels/SetterStylePanel.vue.d.ts +12 -0
- package/dist/components/panels/SetterStylePanel.vue.d.ts.map +1 -0
- package/dist/components/panels/style/StyleGroups.d.ts +35 -0
- package/dist/components/panels/style/StyleGroups.d.ts.map +1 -0
- package/dist/components/setter/BoolSetter.vue.d.ts +5 -0
- package/dist/components/setter/BoolSetter.vue.d.ts.map +1 -0
- package/dist/components/setter/ColorSetter.vue.d.ts +5 -0
- package/dist/components/setter/ColorSetter.vue.d.ts.map +1 -0
- package/dist/components/setter/DateSetter.vue.d.ts +5 -0
- package/dist/components/setter/DateSetter.vue.d.ts.map +1 -0
- package/dist/components/setter/EditorSetter.vue.d.ts +5 -0
- package/dist/components/setter/EditorSetter.vue.d.ts.map +1 -0
- package/dist/components/setter/NumberSetter.vue.d.ts +5 -0
- package/dist/components/setter/NumberSetter.vue.d.ts.map +1 -0
- package/dist/components/setter/SelectSetter.vue.d.ts +5 -0
- package/dist/components/setter/SelectSetter.vue.d.ts.map +1 -0
- package/dist/components/setter/StringSetter.vue.d.ts +5 -0
- package/dist/components/setter/StringSetter.vue.d.ts.map +1 -0
- package/dist/components/setter/TimeSetter.vue.d.ts +5 -0
- package/dist/components/setter/TimeSetter.vue.d.ts.map +1 -0
- package/dist/core/DesignerDriver.d.ts +36 -0
- package/dist/core/DesignerDriver.d.ts.map +1 -0
- package/dist/core/DesignerEffect.d.ts +30 -0
- package/dist/core/DesignerEffect.d.ts.map +1 -0
- package/dist/core/DesignerEngine.d.ts +95 -0
- package/dist/core/DesignerEngine.d.ts.map +1 -0
- package/dist/core/DesignerModule.d.ts +28 -0
- package/dist/core/DesignerModule.d.ts.map +1 -0
- package/dist/core/EventBus.d.ts +37 -0
- package/dist/core/EventBus.d.ts.map +1 -0
- package/dist/drivers/DragDropDriver.d.ts +48 -0
- package/dist/drivers/DragDropDriver.d.ts.map +1 -0
- package/dist/drivers/KeyboardDriver.d.ts +18 -0
- package/dist/drivers/KeyboardDriver.d.ts.map +1 -0
- package/dist/drivers/MouseClickDriver.d.ts +14 -0
- package/dist/drivers/MouseClickDriver.d.ts.map +1 -0
- package/dist/drivers/MouseMoveDriver.d.ts +14 -0
- package/dist/drivers/MouseMoveDriver.d.ts.map +1 -0
- package/dist/ease-forge-designer.cjs.js +2 -0
- package/dist/ease-forge-designer.cjs.js.map +1 -0
- package/dist/ease-forge-designer.cjs.prod.js +1 -0
- package/dist/ease-forge-designer.css +2 -0
- package/dist/ease-forge-designer.esm.js +3434 -0
- package/dist/ease-forge-designer.esm.js.map +1 -0
- package/dist/ease-forge-designer.esm.prod.js +3432 -0
- package/dist/effects/AuxToolEffect.d.ts +52 -0
- package/dist/effects/AuxToolEffect.d.ts.map +1 -0
- package/dist/effects/CursorEffect.d.ts +29 -0
- package/dist/effects/CursorEffect.d.ts.map +1 -0
- package/dist/effects/DraggingEffect.d.ts +17 -0
- package/dist/effects/DraggingEffect.d.ts.map +1 -0
- package/dist/events/DesignerEvent.d.ts +26 -0
- package/dist/events/DesignerEvent.d.ts.map +1 -0
- package/dist/events/cursor/AbstractCursorEvent.d.ts +22 -0
- package/dist/events/cursor/AbstractCursorEvent.d.ts.map +1 -0
- package/dist/events/cursor/DragMoveEvent.d.ts +10 -0
- package/dist/events/cursor/DragMoveEvent.d.ts.map +1 -0
- package/dist/events/cursor/DragStartEvent.d.ts +17 -0
- package/dist/events/cursor/DragStartEvent.d.ts.map +1 -0
- package/dist/events/cursor/DragStopEvent.d.ts +10 -0
- package/dist/events/cursor/DragStopEvent.d.ts.map +1 -0
- package/dist/events/cursor/MouseClickEvent.d.ts +10 -0
- package/dist/events/cursor/MouseClickEvent.d.ts.map +1 -0
- package/dist/events/cursor/MouseDoubleClickEvent.d.ts +10 -0
- package/dist/events/cursor/MouseDoubleClickEvent.d.ts.map +1 -0
- package/dist/events/cursor/MouseMoveEvent.d.ts +10 -0
- package/dist/events/cursor/MouseMoveEvent.d.ts.map +1 -0
- package/dist/events/designer/CommandEvent.d.ts +20 -0
- package/dist/events/designer/CommandEvent.d.ts.map +1 -0
- package/dist/events/designer/DragDropEvent.d.ts +29 -0
- package/dist/events/designer/DragDropEvent.d.ts.map +1 -0
- package/dist/events/engine/EngineMountEvent.d.ts +21 -0
- package/dist/events/engine/EngineMountEvent.d.ts.map +1 -0
- package/dist/events/engine/EngineUnmountEvent.d.ts +16 -0
- package/dist/events/engine/EngineUnmountEvent.d.ts.map +1 -0
- package/dist/events/keyboard/ShortcutKeyEvent.d.ts +32 -0
- package/dist/events/keyboard/ShortcutKeyEvent.d.ts.map +1 -0
- package/dist/history/Command.d.ts +21 -0
- package/dist/history/Command.d.ts.map +1 -0
- package/dist/history/CommandStack.d.ts +46 -0
- package/dist/history/CommandStack.d.ts.map +1 -0
- package/dist/index.d.ts +89 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/models/Cursor.d.ts +44 -0
- package/dist/models/Cursor.d.ts.map +1 -0
- package/dist/models/DesignerState.d.ts +76 -0
- package/dist/models/DesignerState.d.ts.map +1 -0
- package/dist/models/DraggingCmpMetas.d.ts +41 -0
- package/dist/models/DraggingCmpMetas.d.ts.map +1 -0
- package/dist/models/HoverDashed.d.ts +41 -0
- package/dist/models/HoverDashed.d.ts.map +1 -0
- package/dist/models/Insertion.d.ts +57 -0
- package/dist/models/Insertion.d.ts.map +1 -0
- package/dist/models/Selection.d.ts +8 -0
- package/dist/models/Selection.d.ts.map +1 -0
- package/dist/models/SetterShareState.d.ts +32 -0
- package/dist/models/SetterShareState.d.ts.map +1 -0
- package/dist/operations/NodeOperationEffect.d.ts +25 -0
- package/dist/operations/NodeOperationEffect.d.ts.map +1 -0
- package/dist/operations/NodePosition.d.ts +55 -0
- package/dist/operations/NodePosition.d.ts.map +1 -0
- package/dist/operations/NodeSerialize.d.ts +8 -0
- package/dist/operations/NodeSerialize.d.ts.map +1 -0
- package/dist/operations/commands/AddNodesCommand.d.ts +34 -0
- package/dist/operations/commands/AddNodesCommand.d.ts.map +1 -0
- package/dist/operations/commands/MoveNodesCommand.d.ts +42 -0
- package/dist/operations/commands/MoveNodesCommand.d.ts.map +1 -0
- package/dist/operations/commands/RemoveNodesCommand.d.ts +50 -0
- package/dist/operations/commands/RemoveNodesCommand.d.ts.map +1 -0
- package/dist/operations/commands/UpdateListenersCommand.d.ts +42 -0
- package/dist/operations/commands/UpdateListenersCommand.d.ts.map +1 -0
- package/dist/operations/commands/UpdatePropsCommand.d.ts +53 -0
- package/dist/operations/commands/UpdatePropsCommand.d.ts.map +1 -0
- package/dist/register/RegisterSetter.d.ts +8 -0
- package/dist/register/RegisterSetter.d.ts.map +1 -0
- package/dist/types/Designer.d.ts +153 -0
- package/dist/types/Designer.d.ts.map +1 -0
- package/dist/utils/ComponentMetaUtils.d.ts +13 -0
- package/dist/utils/ComponentMetaUtils.d.ts.map +1 -0
- package/dist/utils/DesignerUtils.d.ts +11 -0
- package/dist/utils/DesignerUtils.d.ts.map +1 -0
- package/dist/utils/PositionCalc.d.ts +27 -0
- package/dist/utils/PositionCalc.d.ts.map +1 -0
- package/dist/utils/SetterUtils.d.ts +59 -0
- package/dist/utils/SetterUtils.d.ts.map +1 -0
- package/dist/utils/StyleUtils.d.ts +34 -0
- package/dist/utils/StyleUtils.d.ts.map +1 -0
- package/package.json +10 -4
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { DesignerEffect } from "../core/DesignerEffect";
|
|
2
|
+
import { type NodeToCursorDistance } from "../types/Designer";
|
|
3
|
+
import type { DesignerState } from "../models/DesignerState";
|
|
4
|
+
interface NodeAndDesigner {
|
|
5
|
+
/** 渲染节点dom */
|
|
6
|
+
node: HTMLElement;
|
|
7
|
+
/** 设计器画布容器dom */
|
|
8
|
+
designer: HTMLElement;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 设计器辅助效果: 悬停虚线、节点选中、插入位置计算
|
|
12
|
+
*/
|
|
13
|
+
declare class AuxToolEffect extends DesignerEffect {
|
|
14
|
+
/** hover变化一次的最小时间间隔(毫秒) */
|
|
15
|
+
private readonly minHoverChangeTime;
|
|
16
|
+
/** 最后一次的 event.data.target 对象 */
|
|
17
|
+
private lastEventTarget;
|
|
18
|
+
/** 最后一次鼠标移动事件时间 */
|
|
19
|
+
private lastMouseMoveTime;
|
|
20
|
+
/** 最后一次触发 DragStopEvent 的时间 */
|
|
21
|
+
private lastDragStopEventTime;
|
|
22
|
+
/** 取消订阅函数集合 */
|
|
23
|
+
private readonly unsubscribes;
|
|
24
|
+
protected onEffect(): void;
|
|
25
|
+
protected onDestroy(): void;
|
|
26
|
+
/** 依据事件 target 找出"渲染节点 + 画布容器" */
|
|
27
|
+
protected getNodeAndDesigner(designerState: DesignerState, target?: HTMLElement): NodeAndDesigner | undefined;
|
|
28
|
+
/** 获取垂直方向的最小距离(光标在内部时返回 -1) */
|
|
29
|
+
protected getVerticalDistance(distance: NodeToCursorDistance): number;
|
|
30
|
+
/** 获取水平方向的最小距离(光标在内部时返回 -1) */
|
|
31
|
+
protected getHorizontalDistance(distance: NodeToCursorDistance): number;
|
|
32
|
+
/**
|
|
33
|
+
* 设置插入位置信息(包含 DragDropConfig 校验)
|
|
34
|
+
*/
|
|
35
|
+
protected setInsertion(designerState: DesignerState, containerId: string, distance: NodeToCursorDistance, placeholder?: string): void;
|
|
36
|
+
/** 判断 nodeId 是否在 ids 集合中或集合节点的子树中 */
|
|
37
|
+
protected nodeIsSelfOrInside(nodeId: string, ids: Array<string>): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 鼠标悬停时的虚线框
|
|
40
|
+
*/
|
|
41
|
+
protected hoverDashedEffect(): void;
|
|
42
|
+
/**
|
|
43
|
+
* 鼠标单击选中节点(支持 Ctrl 多选)
|
|
44
|
+
*/
|
|
45
|
+
protected selectionEffect(): void;
|
|
46
|
+
/**
|
|
47
|
+
* 拖拽过程中计算插入位置(找离光标最近的容器节点与插入点)
|
|
48
|
+
*/
|
|
49
|
+
protected insertionEffect(): void;
|
|
50
|
+
}
|
|
51
|
+
export { AuxToolEffect, };
|
|
52
|
+
//# sourceMappingURL=AuxToolEffect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuxToolEffect.d.ts","sourceRoot":"","sources":["../../src/effects/AuxToolEffect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,KAAK,oBAAoB,EAAkB,MAAM,mBAAmB,CAAC;AAQ9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,UAAU,eAAe;IACrB,cAAc;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,iBAAiB;IACjB,QAAQ,EAAE,WAAW,CAAC;CACzB;AAED;;GAEG;AACH,cAAM,aAAc,SAAQ,cAAc;IACtC,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IACzC,iCAAiC;IACjC,OAAO,CAAC,eAAe,CAA0B;IACjD,mBAAmB;IACnB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,+BAA+B;IAC/B,OAAO,CAAC,qBAAqB,CAAK;IAClC,eAAe;IACf,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IAEtD,SAAS,CAAC,QAAQ,IAAI,IAAI;IAM1B,SAAS,CAAC,SAAS,IAAI,IAAI;IAM3B,kCAAkC;IAClC,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS;IAW7G,+BAA+B;IAC/B,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM;IAKrE,+BAA+B;IAC/B,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM;IAKvE;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,WAAW,GAAE,MAAW,GAAG,IAAI;IA0CzI,qCAAqC;IACrC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO;IAezE;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAmCnC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IA4BjC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;CAiGpC;AAED,OAAO,EACH,aAAa,GAChB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DesignerEffect } from "../core/DesignerEffect";
|
|
2
|
+
import { type CursorPosition } from "../types/Designer";
|
|
3
|
+
/**
|
|
4
|
+
* 光标状态维护效果
|
|
5
|
+
* 消费拖拽/鼠标移动事件, 维护 Cursor 模型的状态与位置
|
|
6
|
+
*/
|
|
7
|
+
declare class CursorEffect extends DesignerEffect {
|
|
8
|
+
/** 原始的鼠标指针样式(拖拽结束后恢复) */
|
|
9
|
+
private originalCursor;
|
|
10
|
+
/** 取消订阅函数集合 */
|
|
11
|
+
private readonly unsubscribes;
|
|
12
|
+
protected onEffect(): void;
|
|
13
|
+
protected onDestroy(): void;
|
|
14
|
+
/**
|
|
15
|
+
* 从事件数据中提取坐标字段
|
|
16
|
+
* 事件数据还携带 componentMetas/target/view 等成员, 不应存进光标模型
|
|
17
|
+
*/
|
|
18
|
+
protected toCursorPosition(data: any): CursorPosition;
|
|
19
|
+
/**
|
|
20
|
+
* 拖拽时的 cursor 状态维护
|
|
21
|
+
*/
|
|
22
|
+
protected dragDropCursor(): void;
|
|
23
|
+
/**
|
|
24
|
+
* 鼠标移动时的 cursor 状态维护
|
|
25
|
+
*/
|
|
26
|
+
protected mouseMoveCursor(): void;
|
|
27
|
+
}
|
|
28
|
+
export { CursorEffect, };
|
|
29
|
+
//# sourceMappingURL=CursorEffect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CursorEffect.d.ts","sourceRoot":"","sources":["../../src/effects/CursorEffect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,mBAAmB,CAAC;AAMtE;;;GAGG;AACH,cAAM,YAAa,SAAQ,cAAc;IACrC,yBAAyB;IACzB,OAAO,CAAC,cAAc,CAAc;IACpC,eAAe;IACf,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IAEtD,SAAS,CAAC,QAAQ,IAAI,IAAI;IAK1B,SAAS,CAAC,SAAS,IAAI,IAAI;IAU3B;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc;IAarD;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IA8BhC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;CAapC;AAED,OAAO,EACH,YAAY,GACf,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DesignerEffect } from "../core/DesignerEffect";
|
|
2
|
+
/**
|
|
3
|
+
* 拖拽状态维护效果: 只维护拖拽状态(DraggingCmpMetas),
|
|
4
|
+
* 放下时分发 DragDropEvent, 节点的移动/插入由操作命令层订阅 DragDropEvent 后以命令方式执行
|
|
5
|
+
*/
|
|
6
|
+
declare class DraggingEffect extends DesignerEffect {
|
|
7
|
+
/** 取消订阅函数集合 */
|
|
8
|
+
private readonly unsubscribes;
|
|
9
|
+
protected onEffect(): void;
|
|
10
|
+
protected onDestroy(): void;
|
|
11
|
+
/**
|
|
12
|
+
* 维护正在拖拽的组件元信息
|
|
13
|
+
*/
|
|
14
|
+
protected draggingCmpMetasEffect(): void;
|
|
15
|
+
}
|
|
16
|
+
export { DraggingEffect, };
|
|
17
|
+
//# sourceMappingURL=DraggingEffect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DraggingEffect.d.ts","sourceRoot":"","sources":["../../src/effects/DraggingEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOxD;;;GAGG;AACH,cAAM,cAAe,SAAQ,cAAc;IACvC,eAAe;IACf,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IAEtD,SAAS,CAAC,QAAQ,IAAI,IAAI;IAI1B,SAAS,CAAC,SAAS,IAAI,IAAI;IAM3B;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;CA0C3C;AAED,OAAO,EACH,cAAc,GACjB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 设计器事件构造函数(约束子类必须定义静态 eventType)
|
|
3
|
+
*/
|
|
4
|
+
interface DesignerEventConstructor<Event extends DesignerEvent = DesignerEvent> {
|
|
5
|
+
/** 事件类型标识(必须全局唯一, 推荐 "域:事件名" 格式, 如 "cursor:drag-start") */
|
|
6
|
+
readonly eventType: string;
|
|
7
|
+
new (...args: any[]): Event;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 设计器事件基类: 事件类型标识使用子类显式声明的静态 eventType 属性而非 constructor.name,
|
|
11
|
+
* 代码压缩混淆后事件路由依然稳定
|
|
12
|
+
*/
|
|
13
|
+
declare abstract class DesignerEvent<Data = any> {
|
|
14
|
+
/** 事件类型标识(子类必须覆盖, 全局唯一) */
|
|
15
|
+
static readonly eventType: string;
|
|
16
|
+
/** 事件类型标识(实例侧, 构造时从当前子类的静态 eventType 获取) */
|
|
17
|
+
readonly type: string;
|
|
18
|
+
/** 事件数据 */
|
|
19
|
+
data?: Data;
|
|
20
|
+
/** 事件上下文 */
|
|
21
|
+
context?: any;
|
|
22
|
+
constructor(data?: Data, context?: any);
|
|
23
|
+
}
|
|
24
|
+
export type { DesignerEventConstructor, };
|
|
25
|
+
export { DesignerEvent, };
|
|
26
|
+
//# sourceMappingURL=DesignerEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DesignerEvent.d.ts","sourceRoot":"","sources":["../../src/events/DesignerEvent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,UAAU,wBAAwB,CAAC,KAAK,SAAS,aAAa,GAAG,aAAa;IAC1E,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;CAC9B;AAED;;;GAGG;AACH,uBAAe,aAAa,CAAC,IAAI,GAAG,GAAG;IACnC,2BAA2B;IAC3B,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAM;IACvC,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,YAAY;IACZ,OAAO,CAAC,EAAE,GAAG,CAAC;gBAEF,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG;CAQzC;AAED,YAAY,EACR,wBAAwB,GAC3B,CAAA;AAED,OAAO,EACH,aAAa,GAChB,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CursorPosition } from "../../types/Designer";
|
|
2
|
+
import { DesignerEvent } from "../DesignerEvent";
|
|
3
|
+
/**
|
|
4
|
+
* 光标事件数据
|
|
5
|
+
*/
|
|
6
|
+
interface CursorEventData extends CursorPosition {
|
|
7
|
+
/** 指向触发该事件的实际DOM元素(iframe 场景下可能是外层窗口的元素) */
|
|
8
|
+
target: EventTarget;
|
|
9
|
+
/** 生成事件的 document.defaultView 对象,在浏览器中,就是事件所在的 Window 对象(在 iframe 中很有用) */
|
|
10
|
+
view: Window;
|
|
11
|
+
[name: string]: any;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 光标事件基类
|
|
15
|
+
* 构造时完成坐标转换: 计算相对于"最外层窗口"的坐标(考虑 iframe 存在的场景)
|
|
16
|
+
*/
|
|
17
|
+
declare abstract class AbstractCursorEvent<Data extends CursorEventData = CursorEventData> extends DesignerEvent<Data> {
|
|
18
|
+
constructor(event: MouseEvent);
|
|
19
|
+
}
|
|
20
|
+
export type { CursorEventData, };
|
|
21
|
+
export { AbstractCursorEvent, };
|
|
22
|
+
//# sourceMappingURL=AbstractCursorEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractCursorEvent.d.ts","sourceRoot":"","sources":["../../../src/events/cursor/AbstractCursorEvent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,UAAU,eAAgB,SAAQ,cAAc;IAC5C,4CAA4C;IAC5C,MAAM,EAAE,WAAW,CAAC;IACpB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IAEb,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACvB;AAED;;;GAGG;AACH,uBAAe,mBAAmB,CAAC,IAAI,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,aAAa,CAAC,IAAI,CAAC;gBAC9F,KAAK,EAAE,UAAU;CAIhC;AAuCD,YAAY,EACR,eAAe,GAClB,CAAA;AAED,OAAO,EACH,mBAAmB,GACtB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractCursorEvent } from "./AbstractCursorEvent";
|
|
2
|
+
/**
|
|
3
|
+
* 拖动中事件
|
|
4
|
+
* 产生者: DragDropDriver
|
|
5
|
+
*/
|
|
6
|
+
declare class DragMoveEvent extends AbstractCursorEvent {
|
|
7
|
+
static readonly eventType = "cursor:drag-move";
|
|
8
|
+
}
|
|
9
|
+
export { DragMoveEvent, };
|
|
10
|
+
//# sourceMappingURL=DragMoveEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragMoveEvent.d.ts","sourceRoot":"","sources":["../../../src/events/cursor/DragMoveEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;GAGG;AACH,cAAM,aAAc,SAAQ,mBAAmB;IAC3C,MAAM,CAAC,QAAQ,CAAC,SAAS,sBAAsB;CAClD;AAED,OAAO,EACH,aAAa,GAChB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ComponentMeta } from "@ease-forge/runtime";
|
|
2
|
+
import { AbstractCursorEvent, type CursorEventData } from "./AbstractCursorEvent";
|
|
3
|
+
/** 开始拖动事件数据 */
|
|
4
|
+
export interface DragStartEventData extends CursorEventData {
|
|
5
|
+
/** 正在拖拽的组件元信息集合 Map<nodeId, ComponentMeta>(拖拽物料时 nodeId 为 emptyNodeId) */
|
|
6
|
+
componentMetas: Map<string, ComponentMeta>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 开始拖动事件
|
|
10
|
+
* 产生者: DragDropDriver
|
|
11
|
+
*/
|
|
12
|
+
declare class DragStartEvent extends AbstractCursorEvent<DragStartEventData> {
|
|
13
|
+
static readonly eventType = "cursor:drag-start";
|
|
14
|
+
constructor(event: MouseEvent, componentMetas: Map<string, ComponentMeta>);
|
|
15
|
+
}
|
|
16
|
+
export { DragStartEvent, };
|
|
17
|
+
//# sourceMappingURL=DragStartEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragStartEvent.d.ts","sourceRoot":"","sources":["../../../src/events/cursor/DragStartEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElF,eAAe;AACf,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,0EAA0E;IAC1E,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,cAAM,cAAe,SAAQ,mBAAmB,CAAC,kBAAkB,CAAC;IAChE,MAAM,CAAC,QAAQ,CAAC,SAAS,uBAAuB;gBAEpC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;CAI5E;AAED,OAAO,EACH,cAAc,GACjB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractCursorEvent } from "./AbstractCursorEvent";
|
|
2
|
+
/**
|
|
3
|
+
* 拖拽结束事件
|
|
4
|
+
* 产生者: DragDropDriver
|
|
5
|
+
*/
|
|
6
|
+
declare class DragStopEvent extends AbstractCursorEvent {
|
|
7
|
+
static readonly eventType = "cursor:drag-stop";
|
|
8
|
+
}
|
|
9
|
+
export { DragStopEvent, };
|
|
10
|
+
//# sourceMappingURL=DragStopEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragStopEvent.d.ts","sourceRoot":"","sources":["../../../src/events/cursor/DragStopEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;GAGG;AACH,cAAM,aAAc,SAAQ,mBAAmB;IAC3C,MAAM,CAAC,QAAQ,CAAC,SAAS,sBAAsB;CAClD;AAED,OAAO,EACH,aAAa,GAChB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractCursorEvent } from "./AbstractCursorEvent";
|
|
2
|
+
/**
|
|
3
|
+
* 鼠标单击事件
|
|
4
|
+
* 产生者: MouseClickDriver(仅在设计器画布区域内的点击)
|
|
5
|
+
*/
|
|
6
|
+
declare class MouseClickEvent extends AbstractCursorEvent {
|
|
7
|
+
static readonly eventType = "cursor:mouse-click";
|
|
8
|
+
}
|
|
9
|
+
export { MouseClickEvent, };
|
|
10
|
+
//# sourceMappingURL=MouseClickEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MouseClickEvent.d.ts","sourceRoot":"","sources":["../../../src/events/cursor/MouseClickEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;GAGG;AACH,cAAM,eAAgB,SAAQ,mBAAmB;IAC7C,MAAM,CAAC,QAAQ,CAAC,SAAS,wBAAwB;CACpD;AAED,OAAO,EACH,eAAe,GAClB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractCursorEvent } from "./AbstractCursorEvent";
|
|
2
|
+
/**
|
|
3
|
+
* 鼠标双击事件
|
|
4
|
+
* 产生者: MouseClickDriver(仅在设计器画布区域内的双击)
|
|
5
|
+
*/
|
|
6
|
+
declare class MouseDoubleClickEvent extends AbstractCursorEvent {
|
|
7
|
+
static readonly eventType = "cursor:mouse-double-click";
|
|
8
|
+
}
|
|
9
|
+
export { MouseDoubleClickEvent, };
|
|
10
|
+
//# sourceMappingURL=MouseDoubleClickEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MouseDoubleClickEvent.d.ts","sourceRoot":"","sources":["../../../src/events/cursor/MouseDoubleClickEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;GAGG;AACH,cAAM,qBAAsB,SAAQ,mBAAmB;IACnD,MAAM,CAAC,QAAQ,CAAC,SAAS,+BAA+B;CAC3D;AAED,OAAO,EACH,qBAAqB,GACxB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractCursorEvent } from "./AbstractCursorEvent";
|
|
2
|
+
/**
|
|
3
|
+
* 鼠标移动事件(rAF 节流)
|
|
4
|
+
* 产生者: MouseMoveDriver
|
|
5
|
+
*/
|
|
6
|
+
declare class MouseMoveEvent extends AbstractCursorEvent {
|
|
7
|
+
static readonly eventType = "cursor:mouse-move";
|
|
8
|
+
}
|
|
9
|
+
export { MouseMoveEvent, };
|
|
10
|
+
//# sourceMappingURL=MouseMoveEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MouseMoveEvent.d.ts","sourceRoot":"","sources":["../../../src/events/cursor/MouseMoveEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;GAGG;AACH,cAAM,cAAe,SAAQ,mBAAmB;IAC5C,MAAM,CAAC,QAAQ,CAAC,SAAS,uBAAuB;CACnD;AAED,OAAO,EACH,cAAc,GACjB,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DesignerEvent } from "../DesignerEvent";
|
|
2
|
+
/** 命令事件数据 */
|
|
3
|
+
interface CommandEventData {
|
|
4
|
+
/** 命令操作类型 */
|
|
5
|
+
type: "execute" | "undo" | "redo";
|
|
6
|
+
/** 命令名称 */
|
|
7
|
+
name: string;
|
|
8
|
+
/** 命令所属的设计器页面路由路径 */
|
|
9
|
+
path: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 命令执行事件
|
|
13
|
+
* 命令栈 execute/undo/redo 后分发, 历史面板/日志订阅此事件刷新
|
|
14
|
+
*/
|
|
15
|
+
declare class CommandEvent extends DesignerEvent<CommandEventData> {
|
|
16
|
+
static readonly eventType = "designer:command";
|
|
17
|
+
}
|
|
18
|
+
export type { CommandEventData, };
|
|
19
|
+
export { CommandEvent, };
|
|
20
|
+
//# sourceMappingURL=CommandEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandEvent.d.ts","sourceRoot":"","sources":["../../../src/events/designer/CommandEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,aAAa;AACb,UAAU,gBAAgB;IACtB,aAAa;IACb,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,cAAM,YAAa,SAAQ,aAAa,CAAC,gBAAgB,CAAC;IACtD,MAAM,CAAC,QAAQ,CAAC,SAAS,sBAAsB;CAClD;AAED,YAAY,EACR,gBAAgB,GACnB,CAAA;AAED,OAAO,EACH,YAAY,GACf,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ComponentMeta } from "@ease-forge/runtime";
|
|
2
|
+
import type { InsertionData } from "../../types/Designer";
|
|
3
|
+
import type { CursorEventData } from "../cursor/AbstractCursorEvent";
|
|
4
|
+
import { DesignerEvent } from "../DesignerEvent";
|
|
5
|
+
/** 拖拽放下事件数据 */
|
|
6
|
+
interface DragDropEventData {
|
|
7
|
+
/** 被拖拽的组件元信息集合(与 nodeIds 顺序一一对应) */
|
|
8
|
+
componentMetas: Array<ComponentMeta>;
|
|
9
|
+
/** 被拖拽的节点ID集合(拖拽物料时包含 emptyNodeId) */
|
|
10
|
+
nodeIds: Array<string>;
|
|
11
|
+
/** 拖拽结束时的光标数据 */
|
|
12
|
+
cursor: CursorEventData;
|
|
13
|
+
/**
|
|
14
|
+
* 插入位置信息(容器节点/插槽/前后位置)
|
|
15
|
+
* 由 DraggingEffect 在拖拽结束时计算填充; 拖出画布等无效场景为 undefined
|
|
16
|
+
*/
|
|
17
|
+
insertion?: InsertionData;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 拖拽放下事件
|
|
21
|
+
* 拖拽结束(且存在拖拽物)时由 DraggingEffect 分发,
|
|
22
|
+
* 由操作命令层(NodeOperationEffect)订阅并执行节点的移动/插入命令
|
|
23
|
+
*/
|
|
24
|
+
declare class DragDropEvent extends DesignerEvent<DragDropEventData> {
|
|
25
|
+
static readonly eventType = "designer:drag-drop";
|
|
26
|
+
}
|
|
27
|
+
export type { DragDropEventData, };
|
|
28
|
+
export { DragDropEvent, };
|
|
29
|
+
//# sourceMappingURL=DragDropEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragDropEvent.d.ts","sourceRoot":"","sources":["../../../src/events/designer/DragDropEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAe;AACf,UAAU,iBAAiB;IACvB,oCAAoC;IACpC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACrC,sCAAsC;IACtC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,iBAAiB;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED;;;;GAIG;AACH,cAAM,aAAc,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IACxD,MAAM,CAAC,QAAQ,CAAC,SAAS,wBAAwB;CACpD;AAED,YAAY,EACR,iBAAiB,GACpB,CAAA;AAED,OAAO,EACH,aAAa,GAChB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type EventContainer } from "../../types/Designer";
|
|
2
|
+
import { DesignerEvent } from "../DesignerEvent";
|
|
3
|
+
/** 引擎挂载完成事件数据 */
|
|
4
|
+
interface EngineMountEventData {
|
|
5
|
+
/** 引擎监听的事件容器 */
|
|
6
|
+
container: EventContainer;
|
|
7
|
+
/** 引擎关联的 window 对象 */
|
|
8
|
+
window: Window;
|
|
9
|
+
/** 挂载完成的时间戳(毫秒) */
|
|
10
|
+
timestamp: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 引擎挂载完成事件
|
|
14
|
+
* 分发时机: DesignerEngine.mount() 中所有 driver 已 attach、effect 已订阅之后
|
|
15
|
+
*/
|
|
16
|
+
declare class EngineMountEvent extends DesignerEvent<EngineMountEventData> {
|
|
17
|
+
static readonly eventType = "engine:mount";
|
|
18
|
+
}
|
|
19
|
+
export type { EngineMountEventData, };
|
|
20
|
+
export { EngineMountEvent, };
|
|
21
|
+
//# sourceMappingURL=EngineMountEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineMountEvent.d.ts","sourceRoot":"","sources":["../../../src/events/engine/EngineMountEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,iBAAiB;AACjB,UAAU,oBAAoB;IAC1B,gBAAgB;IAChB,SAAS,EAAE,cAAc,CAAC;IAC1B,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,cAAM,gBAAiB,SAAQ,aAAa,CAAC,oBAAoB,CAAC;IAC9D,MAAM,CAAC,QAAQ,CAAC,SAAS,kBAAkB;CAC9C;AAED,YAAY,EACR,oBAAoB,GACvB,CAAA;AAED,OAAO,EACH,gBAAgB,GACnB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DesignerEvent } from "../DesignerEvent";
|
|
2
|
+
/** 引擎卸载完成事件数据 */
|
|
3
|
+
interface EngineUnmountEventData {
|
|
4
|
+
/** 卸载完成的时间戳(毫秒) */
|
|
5
|
+
timestamp: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* 引擎卸载事件
|
|
9
|
+
* 分发时机: DesignerEngine.unmount() 清理订阅之前(保证订阅者仍能收到并做资源释放)
|
|
10
|
+
*/
|
|
11
|
+
declare class EngineUnmountEvent extends DesignerEvent<EngineUnmountEventData> {
|
|
12
|
+
static readonly eventType = "engine:unmount";
|
|
13
|
+
}
|
|
14
|
+
export type { EngineUnmountEventData, };
|
|
15
|
+
export { EngineUnmountEvent, };
|
|
16
|
+
//# sourceMappingURL=EngineUnmountEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineUnmountEvent.d.ts","sourceRoot":"","sources":["../../../src/events/engine/EngineUnmountEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,iBAAiB;AACjB,UAAU,sBAAsB;IAC5B,mBAAmB;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,cAAM,kBAAmB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;IAClE,MAAM,CAAC,QAAQ,CAAC,SAAS,oBAAoB;CAChD;AAED,YAAY,EACR,sBAAsB,GACzB,CAAA;AAED,OAAO,EACH,kBAAkB,GACrB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DesignerEvent } from "../DesignerEvent";
|
|
2
|
+
/** 键盘快捷键事件数据 */
|
|
3
|
+
interface ShortcutKeyEventData {
|
|
4
|
+
/** 事件类型 */
|
|
5
|
+
type: "keydown" | "keyup";
|
|
6
|
+
/** 按键值(小写, 如 "s"、"escape"、"arrowup") */
|
|
7
|
+
key: string;
|
|
8
|
+
/** 是否按下 Ctrl 键 */
|
|
9
|
+
ctrlKey: boolean;
|
|
10
|
+
/** 是否按下 Shift 键 */
|
|
11
|
+
shiftKey: boolean;
|
|
12
|
+
/** 是否按下 Alt 键 */
|
|
13
|
+
altKey: boolean;
|
|
14
|
+
/** 是否按下 Meta 键(macOS 的 Command 键) */
|
|
15
|
+
metaKey: boolean;
|
|
16
|
+
/** 当前按下的物理按键集合(小写) */
|
|
17
|
+
pressedKeys: ReadonlySet<string>;
|
|
18
|
+
/** 原始键盘事件(订阅者可执行 preventDefault 等操作) */
|
|
19
|
+
rawEvent: KeyboardEvent;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 键盘快捷键事件: 只承载按键状态, 不绑定具体快捷键动作,
|
|
23
|
+
* 订阅者根据 ctrlKey/key 等字段自行匹配并执行。
|
|
24
|
+
* 产生者: KeyboardDriver
|
|
25
|
+
*/
|
|
26
|
+
declare class ShortcutKeyEvent extends DesignerEvent<ShortcutKeyEventData> {
|
|
27
|
+
static readonly eventType = "keyboard:shortcut";
|
|
28
|
+
constructor(rawEvent: KeyboardEvent, pressedKeys: ReadonlySet<string>);
|
|
29
|
+
}
|
|
30
|
+
export type { ShortcutKeyEventData, };
|
|
31
|
+
export { ShortcutKeyEvent, };
|
|
32
|
+
//# sourceMappingURL=ShortcutKeyEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShortcutKeyEvent.d.ts","sourceRoot":"","sources":["../../../src/events/keyboard/ShortcutKeyEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,gBAAgB;AAChB,UAAU,oBAAoB;IAC1B,WAAW;IACX,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,wCAAwC;IACxC,QAAQ,EAAE,aAAa,CAAC;CAC3B;AAED;;;;GAIG;AACH,cAAM,gBAAiB,SAAQ,aAAa,CAAC,oBAAoB,CAAC;IAC9D,MAAM,CAAC,QAAQ,CAAC,SAAS,uBAAuB;gBAEpC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;CAYxE;AAED,YAAY,EACR,oBAAoB,GACvB,CAAA;AAED,OAAO,EACH,gBAAgB,GACnB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 设计器操作命令: 所有对节点树的修改都必须封装成命令, 经由 CommandStack 执行, 从而获得 undo/redo 能力
|
|
3
|
+
*/
|
|
4
|
+
interface DesignCommand {
|
|
5
|
+
/** 命令名称(显示在历史面板中) */
|
|
6
|
+
readonly name: string;
|
|
7
|
+
/** 执行命令 */
|
|
8
|
+
execute(): boolean;
|
|
9
|
+
/** 撤销命令 */
|
|
10
|
+
undo(): boolean;
|
|
11
|
+
/** 重做命令(默认等于 execute, 但某些命令重做会产生新的节点id, 需要单独实现) */
|
|
12
|
+
redo(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 尝试把新命令合并进当前命令(命令合并/聚合)
|
|
15
|
+
* 时间窗内对同一目标的连续修改(如输入框连续输入)合并成一条历史,
|
|
16
|
+
* 避免"每敲一次键一条撤销记录"; 返回 false 表示不可合并
|
|
17
|
+
*/
|
|
18
|
+
tryMerge?(next: DesignCommand): boolean;
|
|
19
|
+
}
|
|
20
|
+
export type { DesignCommand, };
|
|
21
|
+
//# sourceMappingURL=Command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../src/history/Command.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,UAAU,aAAa;IACnB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,OAAO,IAAI,OAAO,CAAC;IACnB,WAAW;IACX,IAAI,IAAI,OAAO,CAAC;IAChB,mDAAmD;IACnD,IAAI,IAAI,OAAO,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;CAC3C;AAED,YAAY,EACR,aAAa,GAChB,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type ShallowReactive } from "vue";
|
|
2
|
+
import type { DesignCommand } from "./Command";
|
|
3
|
+
import type { DesignerState } from "../models/DesignerState";
|
|
4
|
+
import { type CommandEventData } from "../events/designer/CommandEvent";
|
|
5
|
+
/**
|
|
6
|
+
* 设计器命令栈(undo/redo)
|
|
7
|
+
* 每个设计器页面(DesignerState)拥有独立的命令栈
|
|
8
|
+
*/
|
|
9
|
+
declare class CommandStack {
|
|
10
|
+
/** 所属的设计器页面状态 */
|
|
11
|
+
readonly designerState: DesignerState;
|
|
12
|
+
/** 可撤销的命令集合(按执行顺序) */
|
|
13
|
+
readonly undoStack: ShallowReactive<Array<DesignCommand>>;
|
|
14
|
+
/** 可重做的命令集合(按撤销顺序) */
|
|
15
|
+
readonly redoStack: ShallowReactive<Array<DesignCommand>>;
|
|
16
|
+
/** 最近一次命令执行(或合并)的时间戳(命令合并时间窗的依据) */
|
|
17
|
+
protected lastExecuteTime: number;
|
|
18
|
+
constructor(designerState: DesignerState);
|
|
19
|
+
/** 是否可撤销 */
|
|
20
|
+
get canUndo(): boolean;
|
|
21
|
+
/** 是否可重做 */
|
|
22
|
+
get canRedo(): boolean;
|
|
23
|
+
/** 历史记录总数 */
|
|
24
|
+
get size(): number;
|
|
25
|
+
/**
|
|
26
|
+
* 执行命令并入栈
|
|
27
|
+
* @param command 命令对象(执行失败不会入栈)
|
|
28
|
+
*/
|
|
29
|
+
execute(command: DesignCommand): boolean;
|
|
30
|
+
/** 撤销最近的一个命令(撤销失败时命令保持在栈中, 历史链不变) */
|
|
31
|
+
undo(): DesignCommand | undefined;
|
|
32
|
+
/** 重做最近撤销的一个命令(重做失败时命令保持在栈中, 历史链不变) */
|
|
33
|
+
redo(): DesignCommand | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* 通知配置面板刷新
|
|
36
|
+
* 节点是非响应式对象, 面板展示的属性/指令/事件在命令(含 undo/redo)修改后
|
|
37
|
+
* 不会自动更新, 递增面板版本号触发重渲染
|
|
38
|
+
*/
|
|
39
|
+
protected notifyPanelUpdate(): void;
|
|
40
|
+
/** 清空所有历史 */
|
|
41
|
+
clear(): void;
|
|
42
|
+
/** 分发命令事件(历史面板/日志订阅) */
|
|
43
|
+
protected dispatchCommandEvent(type: CommandEventData["type"], command: DesignCommand): void;
|
|
44
|
+
}
|
|
45
|
+
export { CommandStack, };
|
|
46
|
+
//# sourceMappingURL=CommandStack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandStack.d.ts","sourceRoot":"","sources":["../../src/history/CommandStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,KAAK,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAQtF;;;GAGG;AACH,cAAM,YAAY;IACd,iBAAiB;IACjB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,sBAAsB;IACtB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAA6C;IACtG,sBAAsB;IACtB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAA6C;IACtG,oCAAoC;IACpC,SAAS,CAAC,eAAe,SAAK;gBAElB,aAAa,EAAE,aAAa;IAIxC,YAAY;IACZ,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,YAAY;IACZ,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,aAAa;IACb,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAuBxC,qCAAqC;IACrC,IAAI,IAAI,aAAa,GAAG,SAAS;IAWjC,uCAAuC;IACvC,IAAI,IAAI,aAAa,GAAG,SAAS;IAWjC;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC,aAAa;IACb,KAAK,IAAI,IAAI;IAKb,wBAAwB;IACxB,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;CAO/F;AAED,OAAO,EACH,YAAY,GACf,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,90 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @ease-forge/designer
|
|
3
|
+
* 可视化页面设计器 (架构级重构自 clever-app-studio/src/draggable)
|
|
4
|
+
* 实施阶段: 6/6 (面板与组装: Workbench 工作台 + 物料/大纲/样式/事件/高级面板)
|
|
5
|
+
*/
|
|
6
|
+
/** designer 包版本号(与 package.json 保持一致) */
|
|
7
|
+
declare const DESIGNER_VERSION = "1.1.0";
|
|
8
|
+
/** 当前实施阶段标记, 全部阶段完成后移除 */
|
|
9
|
+
declare const DESIGNER_STAGE = 6;
|
|
10
|
+
export * from "./types/Designer";
|
|
11
|
+
export { DesignerEvent } from "./events/DesignerEvent";
|
|
12
|
+
export type { DesignerEventConstructor } from "./events/DesignerEvent";
|
|
13
|
+
export { EngineMountEvent } from "./events/engine/EngineMountEvent";
|
|
14
|
+
export type { EngineMountEventData } from "./events/engine/EngineMountEvent";
|
|
15
|
+
export { EngineUnmountEvent } from "./events/engine/EngineUnmountEvent";
|
|
16
|
+
export type { EngineUnmountEventData } from "./events/engine/EngineUnmountEvent";
|
|
17
|
+
export { AbstractCursorEvent } from "./events/cursor/AbstractCursorEvent";
|
|
18
|
+
export type { CursorEventData } from "./events/cursor/AbstractCursorEvent";
|
|
19
|
+
export { DragStartEvent } from "./events/cursor/DragStartEvent";
|
|
20
|
+
export type { DragStartEventData } from "./events/cursor/DragStartEvent";
|
|
21
|
+
export { DragMoveEvent } from "./events/cursor/DragMoveEvent";
|
|
22
|
+
export { DragStopEvent } from "./events/cursor/DragStopEvent";
|
|
23
|
+
export { MouseClickEvent } from "./events/cursor/MouseClickEvent";
|
|
24
|
+
export { MouseDoubleClickEvent } from "./events/cursor/MouseDoubleClickEvent";
|
|
25
|
+
export { MouseMoveEvent } from "./events/cursor/MouseMoveEvent";
|
|
26
|
+
export { ShortcutKeyEvent } from "./events/keyboard/ShortcutKeyEvent";
|
|
27
|
+
export type { ShortcutKeyEventData } from "./events/keyboard/ShortcutKeyEvent";
|
|
28
|
+
export { DragDropEvent } from "./events/designer/DragDropEvent";
|
|
29
|
+
export type { DragDropEventData } from "./events/designer/DragDropEvent";
|
|
30
|
+
export { CommandEvent } from "./events/designer/CommandEvent";
|
|
31
|
+
export type { CommandEventData } from "./events/designer/CommandEvent";
|
|
32
|
+
export { EventBus } from "./core/EventBus";
|
|
33
|
+
export type { Subscriber } from "./core/EventBus";
|
|
34
|
+
export { DesignerModule } from "./core/DesignerModule";
|
|
35
|
+
export { DesignerDriver } from "./core/DesignerDriver";
|
|
36
|
+
export type { DesignerDriverConstructor } from "./core/DesignerDriver";
|
|
37
|
+
export { DesignerEffect } from "./core/DesignerEffect";
|
|
38
|
+
export type { DesignerEffectConstructor } from "./core/DesignerEffect";
|
|
39
|
+
export { DesignerEngine } from "./core/DesignerEngine";
|
|
40
|
+
export type { DesignerEngineProps } from "./core/DesignerEngine";
|
|
41
|
+
export { Cursor } from "./models/Cursor";
|
|
42
|
+
export { DraggingCmpMetas } from "./models/DraggingCmpMetas";
|
|
43
|
+
export { HoverDashed } from "./models/HoverDashed";
|
|
44
|
+
export { Selection } from "./models/Selection";
|
|
45
|
+
export { Insertion } from "./models/Insertion";
|
|
46
|
+
export { DesignerState } from "./models/DesignerState";
|
|
47
|
+
export { SetterShareState } from "./models/SetterShareState";
|
|
48
|
+
export { DragDropDriver } from "./drivers/DragDropDriver";
|
|
49
|
+
export { KeyboardDriver } from "./drivers/KeyboardDriver";
|
|
50
|
+
export { MouseClickDriver } from "./drivers/MouseClickDriver";
|
|
51
|
+
export { MouseMoveDriver } from "./drivers/MouseMoveDriver";
|
|
52
|
+
export { CursorEffect } from "./effects/CursorEffect";
|
|
53
|
+
export { DraggingEffect } from "./effects/DraggingEffect";
|
|
54
|
+
export { AuxToolEffect } from "./effects/AuxToolEffect";
|
|
55
|
+
export { NodeOperationEffect } from "./operations/NodeOperationEffect";
|
|
56
|
+
export type { DesignCommand } from "./history/Command";
|
|
57
|
+
export { CommandStack } from "./history/CommandStack";
|
|
58
|
+
export type { InsertPosition, InsertTarget } from "./operations/NodePosition";
|
|
59
|
+
export { getNodeInsertTarget, getNodeDocIndex, applyMoveNodes, applyAddNodes, insertionToTarget, toRuntimeNodes } from "./operations/NodePosition";
|
|
60
|
+
export { runtimeNodeToDesignNode } from "./operations/NodeSerialize";
|
|
61
|
+
export { AddNodesCommand } from "./operations/commands/AddNodesCommand";
|
|
62
|
+
export type { AddNodesCommandOptions } from "./operations/commands/AddNodesCommand";
|
|
63
|
+
export { MoveNodesCommand } from "./operations/commands/MoveNodesCommand";
|
|
64
|
+
export type { MoveNodesCommandOptions } from "./operations/commands/MoveNodesCommand";
|
|
65
|
+
export { RemoveNodesCommand } from "./operations/commands/RemoveNodesCommand";
|
|
66
|
+
export type { RemoveNodesCommandOptions } from "./operations/commands/RemoveNodesCommand";
|
|
67
|
+
export { UpdatePropsCommand } from "./operations/commands/UpdatePropsCommand";
|
|
68
|
+
export type { UpdatePropsChange, UpdatePropsCommandOptions } from "./operations/commands/UpdatePropsCommand";
|
|
69
|
+
export { UpdateListenersCommand } from "./operations/commands/UpdateListenersCommand";
|
|
70
|
+
export type { UpdateListenersChange, UpdateListenersCommandOptions } from "./operations/commands/UpdateListenersCommand";
|
|
71
|
+
export { default as DesignCanvas } from "./components/DesignCanvas.vue";
|
|
72
|
+
export { default as DragGhost } from "./components/DragGhost.vue";
|
|
73
|
+
export { default as Workbench } from "./components/Workbench.vue";
|
|
74
|
+
export { default as SetterPropsPanel } from "./components/panels/SetterPropsPanel.vue";
|
|
75
|
+
export { default as SetterStylePanel } from "./components/panels/SetterStylePanel.vue";
|
|
76
|
+
export { default as SetterEventPanel } from "./components/panels/SetterEventPanel.vue";
|
|
77
|
+
export { default as SetterAdvancedPanel } from "./components/panels/SetterAdvancedPanel.vue";
|
|
78
|
+
export { default as MaterialPanel } from "./components/panels/MaterialPanel.vue";
|
|
79
|
+
export { default as OutlinePanel } from "./components/panels/OutlinePanel.vue";
|
|
80
|
+
export { styleGroupDefines } from "./components/panels/style/StyleGroups";
|
|
81
|
+
export type { StyleSetterCmp, StyleItemDefine, StyleGroupDefine } from "./components/panels/style/StyleGroups";
|
|
82
|
+
export { registerSetterComponents } from "./register/RegisterSetter";
|
|
83
|
+
export { multipleValuesText, toObj, toStr, toBool, toNumber, jsonStringify, getDefState, getValue as getSetterValue, applyValue as applySetterValue, forceUpdateBlock, watchNodes, getSetterExpose, } from "./utils/SetterUtils";
|
|
84
|
+
export type { ValueTransform as SetterValueTransform } from "./utils/SetterUtils";
|
|
85
|
+
export { applyStyleDebounceTime, toObjectStyle, getStyle, applyStyle, applyClass, getActiveClass, } from "./utils/StyleUtils";
|
|
86
|
+
export { defCursorPosition, calcAuxToolPosition, calcNodeToCursorDistance, calcDistance, calcPositionDelta, } from "./utils/PositionCalc";
|
|
87
|
+
export { existsPlaceholder } from "./utils/ComponentMetaUtils";
|
|
88
|
+
export { isAllowDrag } from "./utils/DesignerUtils";
|
|
89
|
+
export { DESIGNER_VERSION, DESIGNER_STAGE, };
|
|
2
90
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|