@hailin-zheng/editor-core 1.0.1 → 1.0.3
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/lib/doc-ruler.d.ts +51 -0
- package/lib/doc-ruler.js +313 -0
- package/lib/doc-ruler.js.map +1 -0
- package/lib/framework/common-util.d.ts +63 -0
- package/lib/framework/common-util.js +178 -0
- package/lib/framework/common-util.js.map +1 -0
- package/lib/framework/document-change.d.ts +265 -0
- package/lib/framework/document-change.js +1342 -0
- package/lib/framework/document-change.js.map +1 -0
- package/lib/framework/document-combine.d.ts +24 -0
- package/lib/framework/document-combine.js +40 -0
- package/lib/framework/document-combine.js.map +1 -0
- package/lib/framework/document-comment.d.ts +46 -0
- package/lib/framework/document-comment.js +148 -0
- package/lib/framework/document-comment.js.map +1 -0
- package/lib/framework/document-context.d.ts +149 -0
- package/lib/framework/document-context.js +330 -0
- package/lib/framework/document-context.js.map +1 -0
- package/lib/framework/document-eval-func.d.ts +18 -0
- package/lib/framework/document-eval-func.js +48 -0
- package/lib/framework/document-eval-func.js.map +1 -0
- package/lib/framework/document-event.d.ts +213 -0
- package/lib/framework/document-event.js +1054 -0
- package/lib/framework/document-event.js.map +1 -0
- package/lib/framework/document-history.d.ts +26 -0
- package/lib/framework/document-history.js +65 -0
- package/lib/framework/document-history.js.map +1 -0
- package/lib/framework/document-images-loader.d.ts +16 -0
- package/lib/framework/document-images-loader.js +66 -0
- package/lib/framework/document-images-loader.js.map +1 -0
- package/lib/framework/document-input-cursor.d.ts +78 -0
- package/lib/framework/document-input-cursor.js +239 -0
- package/lib/framework/document-input-cursor.js.map +1 -0
- package/lib/framework/document-paint.d.ts +34 -0
- package/lib/framework/document-paint.js +103 -0
- package/lib/framework/document-paint.js.map +1 -0
- package/lib/framework/document-print-offscreen.d.ts +38 -0
- package/lib/framework/document-print-offscreen.js +128 -0
- package/lib/framework/document-print-offscreen.js.map +1 -0
- package/lib/framework/document-print.d.ts +60 -0
- package/lib/framework/document-print.js +203 -0
- package/lib/framework/document-print.js.map +1 -0
- package/lib/framework/document-segmenter.d.ts +2 -0
- package/lib/framework/document-segmenter.js +106 -0
- package/lib/framework/document-segmenter.js.map +1 -0
- package/lib/framework/document-selection.d.ts +89 -0
- package/lib/framework/document-selection.js +358 -0
- package/lib/framework/document-selection.js.map +1 -0
- package/lib/framework/document-template.d.ts +4 -0
- package/lib/framework/document-template.js +20 -0
- package/lib/framework/document-template.js.map +1 -0
- package/lib/framework/document-textline-mode.d.ts +7 -0
- package/lib/framework/document-textline-mode.js +30 -0
- package/lib/framework/document-textline-mode.js.map +1 -0
- package/lib/framework/element-define.d.ts +319 -0
- package/lib/framework/element-define.js +579 -0
- package/lib/framework/element-define.js.map +1 -0
- package/lib/framework/element-event-define.d.ts +99 -0
- package/lib/framework/element-event-define.js +108 -0
- package/lib/framework/element-event-define.js.map +1 -0
- package/lib/framework/element-measure.d.ts +97 -0
- package/lib/framework/element-measure.js +551 -0
- package/lib/framework/element-measure.js.map +1 -0
- package/lib/framework/element-paint.d.ts +42 -0
- package/lib/framework/element-paint.js +170 -0
- package/lib/framework/element-paint.js.map +1 -0
- package/lib/framework/element-props.d.ts +301 -0
- package/lib/framework/element-props.js +809 -0
- package/lib/framework/element-props.js.map +1 -0
- package/lib/framework/element-reader.d.ts +19 -0
- package/lib/framework/element-reader.js +151 -0
- package/lib/framework/element-reader.js.map +1 -0
- package/lib/framework/element-render-cut.d.ts +55 -0
- package/lib/framework/element-render-cut.js +449 -0
- package/lib/framework/element-render-cut.js.map +1 -0
- package/lib/framework/element-serialize.d.ts +30 -0
- package/lib/framework/element-serialize.js +113 -0
- package/lib/framework/element-serialize.js.map +1 -0
- package/lib/framework/element-util.d.ts +369 -0
- package/lib/framework/element-util.js +1463 -0
- package/lib/framework/element-util.js.map +1 -0
- package/lib/framework/impl/checkbox/checkbox-impl.d.ts +24 -0
- package/lib/framework/impl/checkbox/checkbox-impl.js +64 -0
- package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -0
- package/lib/framework/impl/comments/comment-content-impl.d.ts +40 -0
- package/lib/framework/impl/comments/comment-content-impl.js +105 -0
- package/lib/framework/impl/comments/comment-content-impl.js.map +1 -0
- package/lib/framework/impl/comments/comment-element-impl.d.ts +21 -0
- package/lib/framework/impl/comments/comment-element-impl.js +62 -0
- package/lib/framework/impl/comments/comment-element-impl.js.map +1 -0
- package/lib/framework/impl/comments/comments-container-impl.d.ts +22 -0
- package/lib/framework/impl/comments/comments-container-impl.js +62 -0
- package/lib/framework/impl/comments/comments-container-impl.js.map +1 -0
- package/lib/framework/impl/comments/comments-util.d.ts +12 -0
- package/lib/framework/impl/comments/comments-util.js +67 -0
- package/lib/framework/impl/comments/comments-util.js.map +1 -0
- package/lib/framework/impl/comments/validate-msg-impl.d.ts +21 -0
- package/lib/framework/impl/comments/validate-msg-impl.js +83 -0
- package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-decorate-impl.d.ts +30 -0
- package/lib/framework/impl/data-element/data-decorate-impl.js +91 -0
- package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-barcode.d.ts +31 -0
- package/lib/framework/impl/data-element/data-element-barcode.js +115 -0
- package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-base-impl.d.ts +68 -0
- package/lib/framework/impl/data-element/data-element-base-impl.js +205 -0
- package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-check-impl.d.ts +35 -0
- package/lib/framework/impl/data-element/data-element-check-impl.js +133 -0
- package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-date-impl.d.ts +23 -0
- package/lib/framework/impl/data-element/data-element-date-impl.js +111 -0
- package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-group-impl.d.ts +23 -0
- package/lib/framework/impl/data-element/data-element-group-impl.js +130 -0
- package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-image-impl.d.ts +30 -0
- package/lib/framework/impl/data-element/data-element-image-impl.js +137 -0
- package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-list-impl.d.ts +22 -0
- package/lib/framework/impl/data-element/data-element-list-impl.js +131 -0
- package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-text-impl.d.ts +23 -0
- package/lib/framework/impl/data-element/data-element-text-impl.js +103 -0
- package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -0
- package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +21 -0
- package/lib/framework/impl/decorate/fill-null-space-imple.js +43 -0
- package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -0
- package/lib/framework/impl/document/doc-body-impl.d.ts +27 -0
- package/lib/framework/impl/document/doc-body-impl.js +79 -0
- package/lib/framework/impl/document/doc-body-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-body-part-impl.d.ts +30 -0
- package/lib/framework/impl/document/doc-body-part-impl.js +94 -0
- package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-container-impl.d.ts +16 -0
- package/lib/framework/impl/document/doc-container-impl.js +21 -0
- package/lib/framework/impl/document/doc-container-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-footer-impl.d.ts +26 -0
- package/lib/framework/impl/document/doc-footer-impl.js +77 -0
- package/lib/framework/impl/document/doc-footer-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-header-impl.d.ts +26 -0
- package/lib/framework/impl/document/doc-header-impl.js +83 -0
- package/lib/framework/impl/document/doc-header-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-impl.d.ts +61 -0
- package/lib/framework/impl/document/doc-impl.js +209 -0
- package/lib/framework/impl/document/doc-impl.js.map +1 -0
- package/lib/framework/impl/media-formula/menstrual-history.d.ts +35 -0
- package/lib/framework/impl/media-formula/menstrual-history.js +153 -0
- package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -0
- package/lib/framework/impl/paragraph/p-impl.d.ts +45 -0
- package/lib/framework/impl/paragraph/p-impl.js +156 -0
- package/lib/framework/impl/paragraph/p-impl.js.map +1 -0
- package/lib/framework/impl/picture/image-impl.d.ts +31 -0
- package/lib/framework/impl/picture/image-impl.js +124 -0
- package/lib/framework/impl/picture/image-impl.js.map +1 -0
- package/lib/framework/impl/radio/radio-impl.d.ts +22 -0
- package/lib/framework/impl/radio/radio-impl.js +72 -0
- package/lib/framework/impl/radio/radio-impl.js.map +1 -0
- package/lib/framework/impl/symbol/br-symbol-impl.d.ts +22 -0
- package/lib/framework/impl/symbol/br-symbol-impl.js +54 -0
- package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -0
- package/lib/framework/impl/symbol/p-symbol-impl.d.ts +19 -0
- package/lib/framework/impl/symbol/p-symbol-impl.js +54 -0
- package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -0
- package/lib/framework/impl/table/table-cell-impl.d.ts +37 -0
- package/lib/framework/impl/table/table-cell-impl.js +145 -0
- package/lib/framework/impl/table/table-cell-impl.js.map +1 -0
- package/lib/framework/impl/table/table-impl.d.ts +55 -0
- package/lib/framework/impl/table/table-impl.js +363 -0
- package/lib/framework/impl/table/table-impl.js.map +1 -0
- package/lib/framework/impl/table/table-row-impl.d.ts +26 -0
- package/lib/framework/impl/table/table-row-impl.js +75 -0
- package/lib/framework/impl/table/table-row-impl.js.map +1 -0
- package/lib/framework/impl/table/table-split-cell-patch.d.ts +20 -0
- package/lib/framework/impl/table/table-split-cell-patch.js +89 -0
- package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -0
- package/lib/framework/impl/table/table-split-cell.d.ts +90 -0
- package/lib/framework/impl/table/table-split-cell.js +464 -0
- package/lib/framework/impl/table/table-split-cell.js.map +1 -0
- package/lib/framework/impl/table/table-util.d.ts +150 -0
- package/lib/framework/impl/table/table-util.js +678 -0
- package/lib/framework/impl/table/table-util.js.map +1 -0
- package/lib/framework/impl/text/text-impl.d.ts +32 -0
- package/lib/framework/impl/text/text-impl.js +149 -0
- package/lib/framework/impl/text/text-impl.js.map +1 -0
- package/lib/framework/impl/text/track-run-impl.d.ts +27 -0
- package/lib/framework/impl/text/track-run-impl.js +112 -0
- package/lib/framework/impl/text/track-run-impl.js.map +1 -0
- package/lib/framework/notify.d.ts +13 -0
- package/lib/framework/notify.js +116 -0
- package/lib/framework/notify.js.map +1 -0
- package/lib/framework/range-util.d.ts +40 -0
- package/lib/framework/range-util.js +312 -0
- package/lib/framework/range-util.js.map +1 -0
- package/lib/framework/render-context.d.ts +91 -0
- package/lib/framework/render-context.js +384 -0
- package/lib/framework/render-context.js.map +1 -0
- package/lib/framework/render-define.d.ts +109 -0
- package/lib/framework/render-define.js +195 -0
- package/lib/framework/render-define.js.map +1 -0
- package/lib/framework/selection-overlays.d.ts +30 -0
- package/lib/framework/selection-overlays.js +124 -0
- package/lib/framework/selection-overlays.js.map +1 -0
- package/lib/texteditor.d.ts +318 -0
- package/lib/texteditor.js +913 -0
- package/lib/texteditor.js.map +1 -0
- package/lib/util/subject.d.ts +34 -0
- package/lib/util/subject.js +88 -0
- package/lib/util/subject.js.map +1 -0
- package/lib/util/table-bind.d.ts +5 -0
- package/lib/util/table-bind.js +6 -0
- package/lib/util/table-bind.js.map +1 -0
- package/package.json +1 -1
- package/tsconfig.json +1 -1
- package/webpack.config.js +0 -1
@@ -0,0 +1,579 @@
|
|
1
|
+
import { Subject } from "rxjs";
|
2
|
+
import { EventMap } from "./element-event-define";
|
3
|
+
import { watchChanged } from "./notify";
|
4
|
+
import { LeafRenderObject } from "./render-define";
|
5
|
+
export class Rect {
|
6
|
+
x = 0;
|
7
|
+
y = 0;
|
8
|
+
width = 0;
|
9
|
+
height = 0;
|
10
|
+
maxHeight = 0;
|
11
|
+
maxWidth = 0;
|
12
|
+
}
|
13
|
+
/**
|
14
|
+
* 修改标志
|
15
|
+
*/
|
16
|
+
export var ModifyFlag;
|
17
|
+
(function (ModifyFlag) {
|
18
|
+
//被修改
|
19
|
+
ModifyFlag[ModifyFlag["Modify"] = 0] = "Modify";
|
20
|
+
//无修改
|
21
|
+
ModifyFlag[ModifyFlag["None"] = 1] = "None";
|
22
|
+
//子项被修改
|
23
|
+
ModifyFlag[ModifyFlag["Track"] = 2] = "Track";
|
24
|
+
})(ModifyFlag || (ModifyFlag = {}));
|
25
|
+
/**
|
26
|
+
* 定义组件的数据,配置
|
27
|
+
*/
|
28
|
+
export class Element {
|
29
|
+
type;
|
30
|
+
modifyFlag = ModifyFlag.Modify;
|
31
|
+
isMouseenter;
|
32
|
+
_eventMap;
|
33
|
+
_refreshEvent = new Subject();
|
34
|
+
_onChangeEvent = new Subject();
|
35
|
+
observers = new WeakMap();
|
36
|
+
paintRenders = [];
|
37
|
+
measureRender;
|
38
|
+
focusable;
|
39
|
+
isFocused;
|
40
|
+
/**
|
41
|
+
* 修饰元素不能复制、序列化、删除(需要手动删除)
|
42
|
+
*/
|
43
|
+
isDecorate;
|
44
|
+
/**
|
45
|
+
* 可点击性,例如:null-text 占位符元素不具备可点击能力
|
46
|
+
* 2.编辑页眉页脚的能力
|
47
|
+
*/
|
48
|
+
disableClick;
|
49
|
+
_parent;
|
50
|
+
get parent() {
|
51
|
+
return this._parent;
|
52
|
+
}
|
53
|
+
set parent(val) {
|
54
|
+
this._parent = val;
|
55
|
+
}
|
56
|
+
_props;
|
57
|
+
get props() {
|
58
|
+
return this._props;
|
59
|
+
}
|
60
|
+
set props(value) {
|
61
|
+
this.pubOnChange('self');
|
62
|
+
this._props = watchChanged(value, () => { this.notifyChanged(); });
|
63
|
+
//this._props = value;
|
64
|
+
}
|
65
|
+
notifyChanged() {
|
66
|
+
this.pubOnChange('self');
|
67
|
+
}
|
68
|
+
//元素是否禁止复制,例如批注元素
|
69
|
+
//forbidCopy: boolean;
|
70
|
+
constructor(type) {
|
71
|
+
this.type = type;
|
72
|
+
this._eventMap = new EventMap();
|
73
|
+
this.addEvent('ElementMouseEnter', (evt) => { this.isMouseenter = true; });
|
74
|
+
this.addEvent('ElementMouseLeave', (evt) => { this.isMouseenter = false; });
|
75
|
+
}
|
76
|
+
destroy() {
|
77
|
+
this._eventMap?.clear(this);
|
78
|
+
this.paintRenders.length = 0;
|
79
|
+
this._parent = null;
|
80
|
+
this.measureRender = null;
|
81
|
+
this.unsubscribe(this);
|
82
|
+
}
|
83
|
+
addEvent(event, handle, useCapture = false) {
|
84
|
+
if (!this._eventMap) {
|
85
|
+
throw new Error('eventMap is null');
|
86
|
+
}
|
87
|
+
return this._eventMap?.add(this, event, handle, useCapture);
|
88
|
+
}
|
89
|
+
removeEvent(eventId) {
|
90
|
+
if (!this._eventMap) {
|
91
|
+
throw new Error('eventMap is null');
|
92
|
+
}
|
93
|
+
this._eventMap.remove(this, eventId);
|
94
|
+
}
|
95
|
+
removeEventByType(eventType) {
|
96
|
+
if (!this._eventMap) {
|
97
|
+
throw new Error('eventMap is null');
|
98
|
+
}
|
99
|
+
this._eventMap.removeByType(this, eventType);
|
100
|
+
}
|
101
|
+
invokeEvent(event, evt, userCapture = false) {
|
102
|
+
if (!this._eventMap) {
|
103
|
+
throw new Error('eventMap is null');
|
104
|
+
}
|
105
|
+
const listeners = this._eventMap.get(this, event, userCapture);
|
106
|
+
listeners.forEach(item => item(evt));
|
107
|
+
}
|
108
|
+
beginMeasure() {
|
109
|
+
this.paintRenders.length = 0;
|
110
|
+
}
|
111
|
+
getIndex() {
|
112
|
+
if (this.parent) {
|
113
|
+
return this.parent.getChildIndex(this);
|
114
|
+
}
|
115
|
+
else {
|
116
|
+
return 0;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
get refreshSubject() {
|
120
|
+
return this._refreshEvent;
|
121
|
+
}
|
122
|
+
get onChangeSubject() {
|
123
|
+
return this._onChangeEvent;
|
124
|
+
}
|
125
|
+
refreshView() {
|
126
|
+
this._refreshEvent.next();
|
127
|
+
}
|
128
|
+
unsubscribe(element) {
|
129
|
+
const subs = this.observers.get(element);
|
130
|
+
if (subs) {
|
131
|
+
subs.forEach(sub => { sub.unsubscribe(); });
|
132
|
+
this.observers.delete(element);
|
133
|
+
}
|
134
|
+
}
|
135
|
+
addsubscribe(element, ...sub) {
|
136
|
+
let subs = this.observers.get(element);
|
137
|
+
if (!subs) {
|
138
|
+
subs = [];
|
139
|
+
this.observers.set(element, subs);
|
140
|
+
}
|
141
|
+
subs.push(...sub);
|
142
|
+
}
|
143
|
+
/**
|
144
|
+
* 移除当前节点
|
145
|
+
*/
|
146
|
+
remove() {
|
147
|
+
if (this.parent) {
|
148
|
+
this.parent.removeChild(this);
|
149
|
+
}
|
150
|
+
}
|
151
|
+
}
|
152
|
+
/**
|
153
|
+
* 最小节点元素
|
154
|
+
*/
|
155
|
+
export class LeafElement extends Element {
|
156
|
+
cursorType = 'text';
|
157
|
+
//abstract createRenderObject(options: ViewOptions, renderCtx: RenderContenxt): LeafRenderObject;
|
158
|
+
getChildLength() {
|
159
|
+
return 1;
|
160
|
+
}
|
161
|
+
destroy() {
|
162
|
+
super.destroy();
|
163
|
+
}
|
164
|
+
getSelfLength() {
|
165
|
+
return 1;
|
166
|
+
}
|
167
|
+
pubOnChange(selfChange) {
|
168
|
+
if (this.modifyFlag === ModifyFlag.None) {
|
169
|
+
this.refreshView();
|
170
|
+
}
|
171
|
+
if (this.modifyFlag === ModifyFlag.Track && selfChange === 'tracker') {
|
172
|
+
return;
|
173
|
+
}
|
174
|
+
if (this.modifyFlag === ModifyFlag.Modify) {
|
175
|
+
return;
|
176
|
+
}
|
177
|
+
if (selfChange === 'tracker') {
|
178
|
+
if (this.modifyFlag === ModifyFlag.None) {
|
179
|
+
this.modifyFlag = ModifyFlag.Track;
|
180
|
+
}
|
181
|
+
}
|
182
|
+
else {
|
183
|
+
this.modifyFlag = ModifyFlag.Modify;
|
184
|
+
}
|
185
|
+
this._onChangeEvent.next();
|
186
|
+
}
|
187
|
+
}
|
188
|
+
/**
|
189
|
+
* 枝干节点,包含若干个枝干或者叶子节点
|
190
|
+
*/
|
191
|
+
export class BranchElement extends Element {
|
192
|
+
chilren = [];
|
193
|
+
constructor(type) {
|
194
|
+
super(type);
|
195
|
+
}
|
196
|
+
addChild(child, index = -1) {
|
197
|
+
if (index === -1) {
|
198
|
+
index = this.length;
|
199
|
+
}
|
200
|
+
child.parent = this;
|
201
|
+
this.chilren.splice(index, 0, child);
|
202
|
+
const refSub = child.refreshSubject.subscribe((data) => {
|
203
|
+
this.refreshSubject.next(data);
|
204
|
+
});
|
205
|
+
const onChangeSub = child.onChangeSubject.subscribe((data) => {
|
206
|
+
this.pubOnChange('tracker');
|
207
|
+
});
|
208
|
+
this.addsubscribe(child, refSub, onChangeSub);
|
209
|
+
this.pubOnChange('self');
|
210
|
+
}
|
211
|
+
removeChild(child) {
|
212
|
+
const index = this.chilren.indexOf(child);
|
213
|
+
if (index < 0) {
|
214
|
+
throw new Error('为查找到当前元素');
|
215
|
+
}
|
216
|
+
this.disposeChild(child);
|
217
|
+
this.chilren.splice(index, 1);
|
218
|
+
}
|
219
|
+
removeChildByIndex(index) {
|
220
|
+
const child = this.chilren[index];
|
221
|
+
if (child) {
|
222
|
+
this.chilren.splice(index, 1);
|
223
|
+
this.disposeChild(child);
|
224
|
+
}
|
225
|
+
else {
|
226
|
+
throw new Error('为查找到当前元素');
|
227
|
+
}
|
228
|
+
}
|
229
|
+
disposeChild(child) {
|
230
|
+
this.unsubscribe(child);
|
231
|
+
if (child.parent === this) {
|
232
|
+
child.parent = null;
|
233
|
+
}
|
234
|
+
this.pubOnChange('self');
|
235
|
+
}
|
236
|
+
clearItems() {
|
237
|
+
const items = [...this.chilren];
|
238
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
239
|
+
this.removeChildByIndex(i);
|
240
|
+
}
|
241
|
+
}
|
242
|
+
destroy() {
|
243
|
+
super.destroy();
|
244
|
+
const items = [...this.chilren];
|
245
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
246
|
+
const child = items[i];
|
247
|
+
child.destroy();
|
248
|
+
this.removeChild(child);
|
249
|
+
}
|
250
|
+
}
|
251
|
+
get length() {
|
252
|
+
return this.chilren.length;
|
253
|
+
}
|
254
|
+
find(predicate) {
|
255
|
+
return this.chilren.find(predicate);
|
256
|
+
}
|
257
|
+
getChild(index) {
|
258
|
+
return this.chilren[index];
|
259
|
+
}
|
260
|
+
getChildIndex(child) {
|
261
|
+
return this.chilren.indexOf(child);
|
262
|
+
}
|
263
|
+
getChildLength() {
|
264
|
+
//return this.chilren.reduce((prev, curr) => prev + 1 + curr.getChildLength(), 0);
|
265
|
+
return this.chilren.reduce((prev, curr) => {
|
266
|
+
if (curr instanceof BranchElement) {
|
267
|
+
return prev + 1 + curr.getChildLength();
|
268
|
+
}
|
269
|
+
else if (curr instanceof LeafElement) {
|
270
|
+
return prev + curr.getChildLength();
|
271
|
+
}
|
272
|
+
else {
|
273
|
+
return 0;
|
274
|
+
}
|
275
|
+
}, 0);
|
276
|
+
}
|
277
|
+
getSelfLength() {
|
278
|
+
return 1 + this.chilren.reduce((prev, curr) => {
|
279
|
+
return prev + curr.getSelfLength();
|
280
|
+
}, 0);
|
281
|
+
}
|
282
|
+
treeFilter(predicate) {
|
283
|
+
const items = [];
|
284
|
+
for (let i = 0; i < this.length; i++) {
|
285
|
+
const item = this.getChild(i);
|
286
|
+
if (predicate(item, i)) {
|
287
|
+
items.push(item);
|
288
|
+
}
|
289
|
+
if (item instanceof BranchElement) {
|
290
|
+
items.push(...item.treeFilter(predicate));
|
291
|
+
}
|
292
|
+
}
|
293
|
+
return items;
|
294
|
+
}
|
295
|
+
treeFind(predicate) {
|
296
|
+
for (let i = 0; i < this.length; i++) {
|
297
|
+
const item = this.getChild(i);
|
298
|
+
if (predicate(item, i)) {
|
299
|
+
return item;
|
300
|
+
}
|
301
|
+
if (item instanceof BranchElement) {
|
302
|
+
const math = item.treeFind(predicate);
|
303
|
+
if (math) {
|
304
|
+
return math;
|
305
|
+
}
|
306
|
+
}
|
307
|
+
}
|
308
|
+
return null;
|
309
|
+
}
|
310
|
+
pubOnChange(selfChange) {
|
311
|
+
if (this.modifyFlag === ModifyFlag.Track && selfChange === 'tracker') {
|
312
|
+
return;
|
313
|
+
}
|
314
|
+
if (this.modifyFlag === ModifyFlag.Modify) {
|
315
|
+
return;
|
316
|
+
}
|
317
|
+
if (selfChange === 'tracker') {
|
318
|
+
if (this.modifyFlag === ModifyFlag.None) {
|
319
|
+
this.modifyFlag = ModifyFlag.Track;
|
320
|
+
}
|
321
|
+
}
|
322
|
+
else {
|
323
|
+
this.modifyFlag = ModifyFlag.Modify;
|
324
|
+
for (let i = 0; i < this.length; i++) {
|
325
|
+
this.getChild(i).pubOnChange('to-child');
|
326
|
+
}
|
327
|
+
}
|
328
|
+
this._onChangeEvent.next();
|
329
|
+
}
|
330
|
+
}
|
331
|
+
/**
|
332
|
+
* 行内编组元素
|
333
|
+
*/
|
334
|
+
export class InlineGroupElement extends BranchElement {
|
335
|
+
}
|
336
|
+
/**
|
337
|
+
* 块级元素,目前只有P元素
|
338
|
+
*/
|
339
|
+
export class BlockContentElement extends BranchElement {
|
340
|
+
}
|
341
|
+
/**
|
342
|
+
* 包含块级渲染元素的容器元素,例如body、table-cell、table等
|
343
|
+
*/
|
344
|
+
export class BlockContainerElement extends BranchElement {
|
345
|
+
noFillEmpty;
|
346
|
+
}
|
347
|
+
export class ElementFactory {
|
348
|
+
options;
|
349
|
+
}
|
350
|
+
/**
|
351
|
+
* 编辑模式
|
352
|
+
*/
|
353
|
+
export var EditMode;
|
354
|
+
(function (EditMode) {
|
355
|
+
/**
|
356
|
+
* 自由模式,设计模板时使用
|
357
|
+
*/
|
358
|
+
EditMode[EditMode["Free"] = 0] = "Free";
|
359
|
+
/**
|
360
|
+
* 严格模式,医生书写模式时使用,只可更改数据元值
|
361
|
+
*/
|
362
|
+
EditMode[EditMode["Strict"] = 1] = "Strict";
|
363
|
+
/**
|
364
|
+
* 查看模式,任何修改文档的操作都不允许,但是可选中,有拖蓝
|
365
|
+
*/
|
366
|
+
EditMode[EditMode["View"] = 2] = "View";
|
367
|
+
/**
|
368
|
+
* 禁用模式,当前区域不可点击,不可选中,页脚、页眉编辑时的控制
|
369
|
+
*/
|
370
|
+
EditMode[EditMode["Disabled"] = 3] = "Disabled";
|
371
|
+
})(EditMode || (EditMode = {}));
|
372
|
+
/**
|
373
|
+
* 文档模式
|
374
|
+
*/
|
375
|
+
export var DocMode;
|
376
|
+
(function (DocMode) {
|
377
|
+
DocMode[DocMode["Design"] = 0] = "Design";
|
378
|
+
/**
|
379
|
+
* 完全编辑模式
|
380
|
+
*/
|
381
|
+
DocMode[DocMode["Edit"] = 1] = "Edit";
|
382
|
+
/**
|
383
|
+
* 表单编辑模式
|
384
|
+
*/
|
385
|
+
DocMode[DocMode["FormEdit"] = 2] = "FormEdit";
|
386
|
+
/**
|
387
|
+
* 视图模式,只能查看
|
388
|
+
*/
|
389
|
+
DocMode[DocMode["View"] = 3] = "View";
|
390
|
+
})(DocMode || (DocMode = {}));
|
391
|
+
export var BooleanEnum;
|
392
|
+
(function (BooleanEnum) {
|
393
|
+
BooleanEnum[BooleanEnum["Null"] = 0] = "Null";
|
394
|
+
BooleanEnum[BooleanEnum["True"] = 1] = "True";
|
395
|
+
BooleanEnum[BooleanEnum["False"] = 2] = "False";
|
396
|
+
})(BooleanEnum || (BooleanEnum = {}));
|
397
|
+
export class PageOptions {
|
398
|
+
_width = 0;
|
399
|
+
_height = 0;
|
400
|
+
orient = 'portrait';
|
401
|
+
constructor(width, height, orient = 'portrait') {
|
402
|
+
this._width = width;
|
403
|
+
this._height = height;
|
404
|
+
this.orient = orient;
|
405
|
+
}
|
406
|
+
get width() {
|
407
|
+
if (this.orient === 'landscape') {
|
408
|
+
return this._height;
|
409
|
+
}
|
410
|
+
else {
|
411
|
+
return this._width;
|
412
|
+
}
|
413
|
+
}
|
414
|
+
set width(value) {
|
415
|
+
this._width = value;
|
416
|
+
}
|
417
|
+
get height() {
|
418
|
+
if (this.orient === 'landscape') {
|
419
|
+
return this._width;
|
420
|
+
}
|
421
|
+
else {
|
422
|
+
return this._height;
|
423
|
+
}
|
424
|
+
}
|
425
|
+
set height(value) {
|
426
|
+
this._height = value;
|
427
|
+
}
|
428
|
+
}
|
429
|
+
export class ViewOptions {
|
430
|
+
copyRightInfo;
|
431
|
+
watermark;
|
432
|
+
drawLineRectColor = "rgb(0,0,0)";
|
433
|
+
drawCharRectColor = "rgb(0,0,0)";
|
434
|
+
drawSymbolsColor = 'rgb(128,128,128)';
|
435
|
+
defaultFontName = '宋体';
|
436
|
+
defaultFontSize = 14;
|
437
|
+
defaultColor = "rgb(0,0,0)";
|
438
|
+
selectionOverlaysColor = 'rgb(131,175,155,0.5)';
|
439
|
+
dataEleOverlaysColor = 'rgb(131,175,155,0.5)';
|
440
|
+
dataEleReadOnlyOverlayColor = '#d9d9d9';
|
441
|
+
dataEleOutlineColor = 'rgb(131,175,155,0.7)';
|
442
|
+
viewBackcolor = 'rgb(230,230,230)';
|
443
|
+
paraSymbolColor = 'rgb(128,128,128)';
|
444
|
+
dataGroupColor = 'rgb(0,80,179)';
|
445
|
+
showLineRect;
|
446
|
+
showCharRect;
|
447
|
+
showParaMark;
|
448
|
+
showTabChar;
|
449
|
+
showSpaceChar;
|
450
|
+
showLineBreak;
|
451
|
+
bodyMarginTop = 8;
|
452
|
+
devMode = false;
|
453
|
+
showDebug;
|
454
|
+
resourceMode = 'immediate';
|
455
|
+
serverMode = false;
|
456
|
+
secretBrowse = false;
|
457
|
+
//中文版式,处理中文换行;前置标点和后置标点
|
458
|
+
chineseLayout = true;
|
459
|
+
//整页模式,不分页
|
460
|
+
_fullPageView = false;
|
461
|
+
get fullPageView() {
|
462
|
+
return this._fullPageView;
|
463
|
+
}
|
464
|
+
set fullPageView(value) {
|
465
|
+
this._fullPageView = value;
|
466
|
+
this.onChange.next('force');
|
467
|
+
}
|
468
|
+
//毫米和像素的转换比
|
469
|
+
mmToPixelsRatio = 0;
|
470
|
+
cursor = 'text';
|
471
|
+
//当前文档偏移量,取决于滚动条位置
|
472
|
+
translateY = 0;
|
473
|
+
//文档大小
|
474
|
+
docPageSettings = new PageOptions(0, 0);
|
475
|
+
//视图大小,canvas
|
476
|
+
viewSettings;
|
477
|
+
pageNumFormat = '第{index}页/共{count}页';
|
478
|
+
//获取canvas节点的高度
|
479
|
+
get viewPaintHeight() {
|
480
|
+
//return this.viewSettings.height / this.scale;
|
481
|
+
return this.viewSettings.height;
|
482
|
+
}
|
483
|
+
/**
|
484
|
+
* 内容区域的高度
|
485
|
+
* 同时限定canvas的最小宽度
|
486
|
+
*/
|
487
|
+
get ContentWidth() {
|
488
|
+
let width = this.docPageSettings.width;
|
489
|
+
if (this.showReviewWindow) {
|
490
|
+
width = width + this.reviewWindowWidth;
|
491
|
+
}
|
492
|
+
return width;
|
493
|
+
}
|
494
|
+
//两个页的间距
|
495
|
+
docSpace = 0;
|
496
|
+
//是否显示审阅窗口
|
497
|
+
_showReviewWindow = false;
|
498
|
+
get showReviewWindow() {
|
499
|
+
return this._showReviewWindow;
|
500
|
+
}
|
501
|
+
set showReviewWindow(value) {
|
502
|
+
this._showReviewWindow = value;
|
503
|
+
this.onChange.next();
|
504
|
+
}
|
505
|
+
//审阅窗口宽度
|
506
|
+
reviewWindowWidth = 200;
|
507
|
+
//缩放
|
508
|
+
_scale = 1;
|
509
|
+
get scale() {
|
510
|
+
return this._scale;
|
511
|
+
}
|
512
|
+
set scale(val) {
|
513
|
+
this._scale = val;
|
514
|
+
}
|
515
|
+
docMode = DocMode.Design;
|
516
|
+
//是否开启重做功能
|
517
|
+
enableUndo = true;
|
518
|
+
// //是否开启留痕模式
|
519
|
+
// private _enableTrackChanges: boolean = false;
|
520
|
+
// public get enableTrackChanges(): boolean {
|
521
|
+
// return this._enableTrackChanges;
|
522
|
+
// }
|
523
|
+
// public set enableTrackChanges(value: boolean) {
|
524
|
+
// this._enableTrackChanges = value;
|
525
|
+
// this.onChange.next('force');
|
526
|
+
// }
|
527
|
+
//是否显示审阅痕迹
|
528
|
+
_showTrackChanges = true;
|
529
|
+
get showTrackChanges() {
|
530
|
+
return this._showTrackChanges;
|
531
|
+
}
|
532
|
+
set showTrackChanges(value) {
|
533
|
+
this._showTrackChanges = value;
|
534
|
+
this.onChange.next('force');
|
535
|
+
}
|
536
|
+
//医嘱打印模式,文字行模式,将表格多行对象转换为多个表格行对象
|
537
|
+
textRowLineMode = false;
|
538
|
+
editUser = { id: '', name: '' };
|
539
|
+
//留痕区域的生效时间段,同一用户的留痕块在此时间外需要生成新的留痕块
|
540
|
+
trackChangePeriod = 10;
|
541
|
+
onChange = new Subject();
|
542
|
+
constructor() { }
|
543
|
+
}
|
544
|
+
export class MarginProps {
|
545
|
+
top;
|
546
|
+
bottom;
|
547
|
+
left;
|
548
|
+
right;
|
549
|
+
constructor(top = 0, bottom = 0, left = 0, right = 0) {
|
550
|
+
this.top = top;
|
551
|
+
this.bottom = bottom;
|
552
|
+
this.left = left;
|
553
|
+
this.right = right;
|
554
|
+
}
|
555
|
+
clone() {
|
556
|
+
const cloneMargin = new MarginProps(this.top, this.bottom, this.left, this.right);
|
557
|
+
return cloneMargin;
|
558
|
+
}
|
559
|
+
}
|
560
|
+
export class PaddingProps extends MarginProps {
|
561
|
+
}
|
562
|
+
export class BorderProps {
|
563
|
+
width;
|
564
|
+
color;
|
565
|
+
style;
|
566
|
+
constructor(width = 0, color = 'transparent', style = 'solid') {
|
567
|
+
this.width = width;
|
568
|
+
this.color = color;
|
569
|
+
this.style = style;
|
570
|
+
}
|
571
|
+
clone() {
|
572
|
+
return new BorderProps(this.width, this.color, this.style);
|
573
|
+
}
|
574
|
+
}
|
575
|
+
export class IDispose {
|
576
|
+
}
|
577
|
+
export class ResizeLeafRenderObject extends LeafRenderObject {
|
578
|
+
}
|
579
|
+
//# sourceMappingURL=element-define.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"element-define.js","sourceRoot":"","sources":["../../src/med_editor/framework/element-define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAgB,QAAQ,EAAc,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAc,gBAAgB,EAAgB,MAAM,iBAAiB,CAAC;AAE7E,MAAM,OAAO,IAAI;IACb,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,CAAC,CAAC;IACN,KAAK,GAAG,CAAC,CAAC;IACV,MAAM,GAAG,CAAC,CAAC;IACX,SAAS,GAAW,CAAC,CAAC;IACtB,QAAQ,GAAW,CAAC,CAAC;CACxB;AAgBD;;GAEG;AACH,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,KAAK;IACL,+CAAU,CAAA;IACV,KAAK;IACL,2CAAQ,CAAA;IACR,OAAO;IACP,6CAAS,CAAA;AACb,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AAKD;;GAEG;AACH,MAAM,OAAgB,OAAO;IA2CN;IA1CnB,UAAU,GAAe,UAAU,CAAC,MAAM,CAAC;IAC3C,YAAY,CAAW;IACf,SAAS,CAAkB;IAC3B,aAAa,GAAkB,IAAI,OAAO,EAAE,CAAC;IAC3C,cAAc,GAAkB,IAAI,OAAO,EAAE,CAAC;IAChD,SAAS,GAA0C,IAAI,OAAO,EAAE,CAAC;IACzE,YAAY,GAAwB,EAAE,CAAC;IACvC,aAAa,CAAuB;IACpC,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB;;OAEG;IACH,UAAU,CAAW;IACrB;;;OAGG;IACH,YAAY,CAAW;IACf,OAAO,CAAwB;IACvC,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAwB,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,GAAkB;QACzB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACvB,CAAC;IACO,MAAM,CAAK;IACnB,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAW,KAAK,CAAC,KAAQ;QACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;QACjE,sBAAsB;IAC1B,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,iBAAiB;IACjB,sBAAsB;IACtB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAMD,OAAO;QACH,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,QAAQ,CAAyB,KAAiB,EAAE,MAAwB,EAAE,UAAU,GAAG,KAAK;QAC5F,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;SACtC;QACD,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IACD,WAAW,CAAC,OAAe;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;SACtC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,iBAAiB,CAAC,SAAqB;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;SACtC;QACD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IACD,WAAW,CAAC,KAAiB,EAAE,GAAiB,EAAE,WAAW,GAAG,KAAK;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;SACtC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,YAAY;QACR,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,QAAQ;QACJ,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC1C;aAAM;YACH,OAAO,CAAC,CAAC;SACZ;IACL,CAAC;IACD,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,WAAW;QACP,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAID,WAAW,CAAC,OAAgB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAClC;IACL,CAAC;IAED,YAAY,CAAC,OAAgB,EAAE,GAAG,GAAwB;QACtD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACjC;IACL,CAAC;CACJ;AAID;;GAEG;AACH,MAAM,OAAgB,WAAoC,SAAQ,OAAU;IACxE,UAAU,GAAe,MAAM,CAAC;IAChC,iGAAiG;IACjG,cAAc;QACV,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;IACD,aAAa;QACT,OAAO,CAAC,CAAC;IACb,CAAC;IAED,WAAW,CAAC,UAAyB;QACjC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,KAAK,IAAI,UAAU,KAAK,SAAS,EAAE;YAClE,OAAO;SACV;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,EAAE;YACvC,OAAO;SACV;QACD,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;aACtC;SACJ;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;SACvC;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;CACJ;AAGD;;GAEG;AACH,MAAM,OAAgB,aAAsC,SAAQ,OAAU;IAClE,OAAO,GAAmB,EAAE,CAAC;IACrC,YAAY,IAAY;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,QAAQ,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;SACvB;QACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACzD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,KAAc;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC5B;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,YAAY,CAAC,KAAc;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE;YACjB,KAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SAC9B;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU;QACN,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;SAC9B;IACL,CAAC;IAED,OAAO;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC3B;IACL,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,SAAoD;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAA8B,KAAa;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAM,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,KAAc;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,cAAc;QACV,kFAAkF;QAClF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACtC,IAAI,IAAI,YAAY,aAAa,EAAE;gBAC/B,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;aAC3C;iBAAM,IAAI,IAAI,YAAY,WAAW,EAAE;gBACpC,OAAO,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;aACvC;iBAAM;gBACH,OAAO,CAAC,CAAA;aACX;QACL,CAAC,EAAE,CAAC,CAAC,CAAA;IACT,CAAC;IAED,aAAa;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC1C,OAAO,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAGD,UAAU,CAAC,SAAoD;QAC3D,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;YACD,IAAI,IAAI,YAAY,aAAa,EAAE;gBAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aAC7C;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,SAAoD;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;gBACpB,OAAO,IAAI,CAAC;aACf;YACD,IAAI,IAAI,YAAY,aAAa,EAAE;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACtC,IAAI,IAAI,EAAE;oBACN,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,UAAyB;QACjC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,KAAK,IAAI,UAAU,KAAK,SAAS,EAAE;YAClE,OAAO;SACV;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,EAAE;YACvC,OAAO;SACV;QACD,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;aACtC;SACJ;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;aAC3C;SACJ;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;CACJ;AAGD;;GAEG;AACH,MAAM,OAAgB,kBAA2C,SAAQ,aAAgB;CAAI;AAE7F;;GAEG;AACH,MAAM,OAAgB,mBAA4C,SAAQ,aAAgB;CAAI;AAE9F;;GAEG;AACH,MAAM,OAAgB,qBAA8C,SAAQ,aAAgB;IACxF,WAAW,CAAW;CACzB;AAQD,MAAM,OAAgB,cAAc;IAChC,OAAO,CAAe;CAGzB;AAUD;;GAEG;AACH,MAAM,CAAN,IAAY,QAiBX;AAjBD,WAAY,QAAQ;IAChB;;OAEG;IACH,uCAAQ,CAAA;IACR;;OAEG;IACH,2CAAU,CAAA;IACV;;OAEG;IACH,uCAAQ,CAAA;IACR;;OAEG;IACH,+CAAY,CAAA;AAChB,CAAC,EAjBW,QAAQ,KAAR,QAAQ,QAiBnB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,OAcX;AAdD,WAAY,OAAO;IACf,yCAAU,CAAA;IACV;;OAEG;IACH,qCAAQ,CAAA;IACR;;OAEG;IACH,6CAAY,CAAA;IACZ;;OAEG;IACH,qCAAQ,CAAA;AACZ,CAAC,EAdW,OAAO,KAAP,OAAO,QAclB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,6CAAI,CAAA;IACJ,6CAAI,CAAA;IACJ,+CAAK,CAAA;AACT,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAOD,MAAM,OAAO,WAAW;IACZ,MAAM,GAAW,CAAC,CAAC;IACnB,OAAO,GAAW,CAAC,CAAC;IAC5B,MAAM,GAAe,UAAU,CAAC;IAChC,YAAY,KAAa,EAAE,MAAc,EAAE,SAAqB,UAAU;QACtE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,IAAI,KAAK;QACL,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAC;SACvB;aAAM;YACH,OAAO,IAAI,CAAC,MAAM,CAAC;SACtB;IACL,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAC7B,OAAO,IAAI,CAAC,MAAM,CAAC;SACtB;aAAM;YACH,OAAO,IAAI,CAAC,OAAO,CAAC;SACvB;IAEL,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;CACJ;AAID,MAAM,OAAO,WAAW;IACpB,aAAa,CAAU;IACvB,SAAS,CAAU;IACnB,iBAAiB,GAAG,YAAY,CAAC;IACjC,iBAAiB,GAAG,YAAY,CAAC;IACjC,gBAAgB,GAAG,kBAAkB,CAAC;IACtC,eAAe,GAAG,IAAI,CAAC;IACvB,eAAe,GAAG,EAAE,CAAC;IACrB,YAAY,GAAG,YAAY,CAAC;IAC5B,sBAAsB,GAAG,sBAAsB,CAAC;IAChD,oBAAoB,GAAG,sBAAsB,CAAC;IAC9C,2BAA2B,GAAG,SAAS,CAAC;IACxC,mBAAmB,GAAG,sBAAsB,CAAC;IAC7C,aAAa,GAAG,kBAAkB,CAAC;IACnC,eAAe,GAAG,kBAAkB,CAAC;IACrC,cAAc,GAAG,eAAe,CAAA;IAChC,YAAY,CAAW;IACvB,YAAY,CAAW;IACvB,YAAY,CAAW;IACvB,WAAW,CAAW;IACtB,aAAa,CAAW;IACxB,aAAa,CAAW;IACxB,aAAa,GAAG,CAAC,CAAC;IAClB,OAAO,GAAY,KAAK,CAAC;IACzB,SAAS,CAAW;IACpB,YAAY,GAAyB,WAAW,CAAC;IACjD,UAAU,GAAY,KAAK,CAAC;IAC5B,YAAY,GAAY,KAAK,CAAC;IAC9B,uBAAuB;IACvB,aAAa,GAAY,IAAI,CAAC;IAC9B,UAAU;IACF,aAAa,GAAY,KAAK,CAAC;IACvC,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,IAAI,YAAY,CAAC,KAAc;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,WAAW;IACX,eAAe,GAAW,CAAC,CAAC;IAC5B,MAAM,GAAe,MAAM,CAAC;IAC5B,kBAAkB;IAClB,UAAU,GAAG,CAAC,CAAC;IACf,MAAM;IACN,eAAe,GAAgB,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,aAAa;IACb,YAAY,CAGV;IACF,aAAa,GAAW,qBAAqB,CAAC;IAC9C,eAAe;IACf,IAAI,eAAe;QACf,+CAA+C;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACZ,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QACvC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC1C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,QAAQ;IACR,QAAQ,GAAW,CAAC,CAAC;IACrB,UAAU;IACF,iBAAiB,GAAY,KAAK,CAAC;IAC3C,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IACD,IAAW,gBAAgB,CAAC,KAAc;QACtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,QAAQ;IACR,iBAAiB,GAAW,GAAG,CAAC;IAChC,IAAI;IACI,MAAM,GAAW,CAAC,CAAC;IAC3B,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,GAAW;QACjB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,GAAY,OAAO,CAAC,MAAM,CAAC;IAClC,UAAU;IACV,UAAU,GAAY,IAAI,CAAC;IAC3B,aAAa;IACb,gDAAgD;IAChD,6CAA6C;IAC7C,uCAAuC;IACvC,IAAI;IACJ,kDAAkD;IAClD,wCAAwC;IACxC,mCAAmC;IACnC,IAAI;IACJ,UAAU;IACF,iBAAiB,GAAY,IAAI,CAAC;IAC1C,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IACD,IAAW,gBAAgB,CAAC,KAAc;QACtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,gCAAgC;IAChC,eAAe,GAAY,KAAK,CAAC;IACjC,QAAQ,GAAY,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACzC,mCAAmC;IACnC,iBAAiB,GAAW,EAAE,CAAC;IAC/B,QAAQ,GAAgC,IAAI,OAAO,EAAE,CAAC;IACtD,gBAAgB,CAAC;CACpB;AAGD,MAAM,OAAO,WAAW;IAED;IAAwB;IAA2B;IAAyB;IAA/F,YAAmB,MAAc,CAAC,EAAS,SAAiB,CAAC,EAAS,OAAe,CAAC,EAAS,QAAgB,CAAC;QAA7F,QAAG,GAAH,GAAG,CAAY;QAAS,WAAM,GAAN,MAAM,CAAY;QAAS,SAAI,GAAJ,IAAI,CAAY;QAAS,UAAK,GAAL,KAAK,CAAY;IAAI,CAAC;IACrH,KAAK;QACD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClF,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAED,MAAM,OAAO,YAAa,SAAQ,WAAW;CAAI;AAEjD,MAAM,OAAO,WAAW;IACD;IAA0B;IAAsC;IAAnF,YAAmB,QAAgB,CAAC,EAAS,QAAgB,aAAa,EAAS,QAAgB,OAAO;QAAvF,UAAK,GAAL,KAAK,CAAY;QAAS,UAAK,GAAL,KAAK,CAAwB;QAAS,UAAK,GAAL,KAAK,CAAkB;IAAI,CAAC;IAC/G,KAAK;QACD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;CACJ;AAED,MAAM,OAAgB,QAAQ;CAE7B;AAWD,MAAM,OAAgB,sBAAuB,SAAQ,gBAAgB;CAAI"}
|
@@ -0,0 +1,99 @@
|
|
1
|
+
import { Element, LeafElement, Rect } from "./element-define";
|
2
|
+
import { LeafRenderObject, RenderObject } from "./render-define";
|
3
|
+
import { SelectionState } from "./document-selection";
|
4
|
+
import { EditorContext } from "./document-context";
|
5
|
+
import { TrackRunTypeEnum } from "./impl/text/track-run-impl";
|
6
|
+
export declare type EventStage = 'All' | 'Capture' | 'Bubbling';
|
7
|
+
export declare type EventTypes = 'ElementMousedown' | 'ElementMousemove' | 'ElementClick' | 'ElementDblClick' | 'ElementMouseEnter' | 'ElementMouseLeave' | 'BackspaceKey' | 'DeleteKey' | 'ElementShown' | 'ElementContextMenu' | 'GotCursor' | 'LostCursor' | 'ElementKeyDown' | 'ElementDrop' | 'ElementTabKey' | 'GetTrackTips';
|
8
|
+
export declare type HitRegion = 'header' | 'body' | 'footer' | 'review';
|
9
|
+
export interface HitEventInfo {
|
10
|
+
relativeRect: Rect;
|
11
|
+
absoluteRect: Rect;
|
12
|
+
offset: number;
|
13
|
+
render: LeafRenderObject;
|
14
|
+
element: LeafElement;
|
15
|
+
shadowRenderIndex: number;
|
16
|
+
hitDocIndex: number;
|
17
|
+
startRegion?: HitRegion;
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* 元素事件
|
21
|
+
*/
|
22
|
+
export declare class ElementEvent {
|
23
|
+
ctx: EditorContext;
|
24
|
+
constructor(ctx: EditorContext);
|
25
|
+
/**
|
26
|
+
* 事件源头对象
|
27
|
+
*/
|
28
|
+
source: Element;
|
29
|
+
sourceOffset: number;
|
30
|
+
sourceRender: RenderObject;
|
31
|
+
/**
|
32
|
+
* 当前所在的对象
|
33
|
+
*/
|
34
|
+
currentElement: Element;
|
35
|
+
currentRenderObjectX: number;
|
36
|
+
currentRenderObjectY: number;
|
37
|
+
isCancel: boolean;
|
38
|
+
globalX: number;
|
39
|
+
globalY: number;
|
40
|
+
pageX: number;
|
41
|
+
pageY: number;
|
42
|
+
shift: boolean;
|
43
|
+
ctrl: boolean;
|
44
|
+
buttons: number;
|
45
|
+
get selectionState(): SelectionState;
|
46
|
+
}
|
47
|
+
export interface MenuListener {
|
48
|
+
[listener: string]: <T extends Event>(evt: T) => void;
|
49
|
+
}
|
50
|
+
export declare class ContentMenuItem {
|
51
|
+
icon: string;
|
52
|
+
caption: string;
|
53
|
+
eventObj: MenuListener;
|
54
|
+
subItems?: Array<ContentMenuItem>;
|
55
|
+
}
|
56
|
+
/**
|
57
|
+
* 鼠标操作的事件
|
58
|
+
*/
|
59
|
+
export declare class MouseElementEvent extends ElementEvent {
|
60
|
+
}
|
61
|
+
export declare class MousedownElementEvent extends ElementEvent {
|
62
|
+
}
|
63
|
+
export declare class KeyboradElementEvent extends ElementEvent {
|
64
|
+
key: string;
|
65
|
+
sourceEvent: KeyboardEvent;
|
66
|
+
}
|
67
|
+
export declare class GotCursorEvent extends ElementEvent {
|
68
|
+
}
|
69
|
+
export declare class LostCursorEvent extends ElementEvent {
|
70
|
+
}
|
71
|
+
export interface ITrackTips {
|
72
|
+
trackRunType: TrackRunTypeEnum;
|
73
|
+
name: string;
|
74
|
+
date: string;
|
75
|
+
content: string;
|
76
|
+
}
|
77
|
+
export declare class GetTrackTipsEvent extends ElementEvent {
|
78
|
+
trackTips: ITrackTips;
|
79
|
+
}
|
80
|
+
export declare class ContextMenuElementEvent extends ElementEvent {
|
81
|
+
menus: Array<ContentMenuItem>;
|
82
|
+
}
|
83
|
+
export declare class DropElementEvent extends ElementEvent {
|
84
|
+
dragElement: Element;
|
85
|
+
}
|
86
|
+
export interface EventProps<T extends ElementEvent = ElementEvent> {
|
87
|
+
id: string;
|
88
|
+
eventName: string;
|
89
|
+
listener: (evt: T) => void;
|
90
|
+
useCapture: boolean;
|
91
|
+
}
|
92
|
+
export declare class EventMap {
|
93
|
+
private map;
|
94
|
+
add<T extends ElementEvent>(element: Element, eventName: EventTypes, listener: (evt: T) => void, useCapture: boolean): string;
|
95
|
+
remove(element: Element, eventId: string): void;
|
96
|
+
removeByType(element: Element, eventName: EventTypes): void;
|
97
|
+
clear(element: Element): void;
|
98
|
+
get(element: Element, eventName: string, useCapture?: boolean): Array<(evt: ElementEvent) => void>;
|
99
|
+
}
|