@hailin-zheng/editor-core 1.0.1 → 1.0.5
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/package.json +1 -1
- package/tsconfig.json +1 -1
- package/webpack.config.js +0 -1
- package/dist/doc-ruler.d.ts +0 -51
- package/dist/doc-ruler.js +0 -313
- package/dist/doc-ruler.js.map +0 -1
- package/dist/framework/common-util.d.ts +0 -63
- package/dist/framework/common-util.js +0 -178
- package/dist/framework/common-util.js.map +0 -1
- package/dist/framework/document-change.d.ts +0 -265
- package/dist/framework/document-change.js +0 -1342
- package/dist/framework/document-change.js.map +0 -1
- package/dist/framework/document-combine.d.ts +0 -24
- package/dist/framework/document-combine.js +0 -40
- package/dist/framework/document-combine.js.map +0 -1
- package/dist/framework/document-comment.d.ts +0 -46
- package/dist/framework/document-comment.js +0 -148
- package/dist/framework/document-comment.js.map +0 -1
- package/dist/framework/document-context.d.ts +0 -149
- package/dist/framework/document-context.js +0 -330
- package/dist/framework/document-context.js.map +0 -1
- package/dist/framework/document-eval-func.d.ts +0 -18
- package/dist/framework/document-eval-func.js +0 -48
- package/dist/framework/document-eval-func.js.map +0 -1
- package/dist/framework/document-event.d.ts +0 -213
- package/dist/framework/document-event.js +0 -1054
- package/dist/framework/document-event.js.map +0 -1
- package/dist/framework/document-history.d.ts +0 -26
- package/dist/framework/document-history.js +0 -65
- package/dist/framework/document-history.js.map +0 -1
- package/dist/framework/document-images-loader.d.ts +0 -16
- package/dist/framework/document-images-loader.js +0 -66
- package/dist/framework/document-images-loader.js.map +0 -1
- package/dist/framework/document-input-cursor.d.ts +0 -78
- package/dist/framework/document-input-cursor.js +0 -239
- package/dist/framework/document-input-cursor.js.map +0 -1
- package/dist/framework/document-paint.d.ts +0 -34
- package/dist/framework/document-paint.js +0 -103
- package/dist/framework/document-paint.js.map +0 -1
- package/dist/framework/document-print-offscreen.d.ts +0 -38
- package/dist/framework/document-print-offscreen.js +0 -128
- package/dist/framework/document-print-offscreen.js.map +0 -1
- package/dist/framework/document-print.d.ts +0 -60
- package/dist/framework/document-print.js +0 -203
- package/dist/framework/document-print.js.map +0 -1
- package/dist/framework/document-segmenter.d.ts +0 -2
- package/dist/framework/document-segmenter.js +0 -106
- package/dist/framework/document-segmenter.js.map +0 -1
- package/dist/framework/document-selection.d.ts +0 -89
- package/dist/framework/document-selection.js +0 -358
- package/dist/framework/document-selection.js.map +0 -1
- package/dist/framework/document-template.d.ts +0 -4
- package/dist/framework/document-template.js +0 -20
- package/dist/framework/document-template.js.map +0 -1
- package/dist/framework/document-textline-mode.d.ts +0 -7
- package/dist/framework/document-textline-mode.js +0 -30
- package/dist/framework/document-textline-mode.js.map +0 -1
- package/dist/framework/element-define.d.ts +0 -319
- package/dist/framework/element-define.js +0 -579
- package/dist/framework/element-define.js.map +0 -1
- package/dist/framework/element-event-define.d.ts +0 -99
- package/dist/framework/element-event-define.js +0 -108
- package/dist/framework/element-event-define.js.map +0 -1
- package/dist/framework/element-measure.d.ts +0 -97
- package/dist/framework/element-measure.js +0 -551
- package/dist/framework/element-measure.js.map +0 -1
- package/dist/framework/element-paint.d.ts +0 -42
- package/dist/framework/element-paint.js +0 -170
- package/dist/framework/element-paint.js.map +0 -1
- package/dist/framework/element-props.d.ts +0 -301
- package/dist/framework/element-props.js +0 -809
- package/dist/framework/element-props.js.map +0 -1
- package/dist/framework/element-reader.d.ts +0 -19
- package/dist/framework/element-reader.js +0 -151
- package/dist/framework/element-reader.js.map +0 -1
- package/dist/framework/element-render-cut.d.ts +0 -55
- package/dist/framework/element-render-cut.js +0 -449
- package/dist/framework/element-render-cut.js.map +0 -1
- package/dist/framework/element-serialize.d.ts +0 -30
- package/dist/framework/element-serialize.js +0 -113
- package/dist/framework/element-serialize.js.map +0 -1
- package/dist/framework/element-util.d.ts +0 -369
- package/dist/framework/element-util.js +0 -1463
- package/dist/framework/element-util.js.map +0 -1
- package/dist/framework/impl/checkbox/checkbox-impl.d.ts +0 -24
- package/dist/framework/impl/checkbox/checkbox-impl.js +0 -64
- package/dist/framework/impl/checkbox/checkbox-impl.js.map +0 -1
- package/dist/framework/impl/comments/comment-content-impl.d.ts +0 -40
- package/dist/framework/impl/comments/comment-content-impl.js +0 -105
- package/dist/framework/impl/comments/comment-content-impl.js.map +0 -1
- package/dist/framework/impl/comments/comment-element-impl.d.ts +0 -21
- package/dist/framework/impl/comments/comment-element-impl.js +0 -62
- package/dist/framework/impl/comments/comment-element-impl.js.map +0 -1
- package/dist/framework/impl/comments/comments-container-impl.d.ts +0 -22
- package/dist/framework/impl/comments/comments-container-impl.js +0 -62
- package/dist/framework/impl/comments/comments-container-impl.js.map +0 -1
- package/dist/framework/impl/comments/comments-util.d.ts +0 -12
- package/dist/framework/impl/comments/comments-util.js +0 -67
- package/dist/framework/impl/comments/comments-util.js.map +0 -1
- package/dist/framework/impl/comments/validate-msg-impl.d.ts +0 -21
- package/dist/framework/impl/comments/validate-msg-impl.js +0 -83
- package/dist/framework/impl/comments/validate-msg-impl.js.map +0 -1
- package/dist/framework/impl/data-element/data-decorate-impl.d.ts +0 -30
- package/dist/framework/impl/data-element/data-decorate-impl.js +0 -91
- package/dist/framework/impl/data-element/data-decorate-impl.js.map +0 -1
- package/dist/framework/impl/data-element/data-element-barcode.d.ts +0 -31
- package/dist/framework/impl/data-element/data-element-barcode.js +0 -115
- package/dist/framework/impl/data-element/data-element-barcode.js.map +0 -1
- package/dist/framework/impl/data-element/data-element-base-impl.d.ts +0 -68
- package/dist/framework/impl/data-element/data-element-base-impl.js +0 -205
- package/dist/framework/impl/data-element/data-element-base-impl.js.map +0 -1
- package/dist/framework/impl/data-element/data-element-check-impl.d.ts +0 -35
- package/dist/framework/impl/data-element/data-element-check-impl.js +0 -133
- package/dist/framework/impl/data-element/data-element-check-impl.js.map +0 -1
- package/dist/framework/impl/data-element/data-element-date-impl.d.ts +0 -23
- package/dist/framework/impl/data-element/data-element-date-impl.js +0 -111
- package/dist/framework/impl/data-element/data-element-date-impl.js.map +0 -1
- package/dist/framework/impl/data-element/data-element-group-impl.d.ts +0 -23
- package/dist/framework/impl/data-element/data-element-group-impl.js +0 -130
- package/dist/framework/impl/data-element/data-element-group-impl.js.map +0 -1
- package/dist/framework/impl/data-element/data-element-image-impl.d.ts +0 -30
- package/dist/framework/impl/data-element/data-element-image-impl.js +0 -137
- package/dist/framework/impl/data-element/data-element-image-impl.js.map +0 -1
- package/dist/framework/impl/data-element/data-element-list-impl.d.ts +0 -22
- package/dist/framework/impl/data-element/data-element-list-impl.js +0 -131
- package/dist/framework/impl/data-element/data-element-list-impl.js.map +0 -1
- package/dist/framework/impl/data-element/data-element-text-impl.d.ts +0 -23
- package/dist/framework/impl/data-element/data-element-text-impl.js +0 -103
- package/dist/framework/impl/data-element/data-element-text-impl.js.map +0 -1
- package/dist/framework/impl/decorate/fill-null-space-imple.d.ts +0 -21
- package/dist/framework/impl/decorate/fill-null-space-imple.js +0 -43
- package/dist/framework/impl/decorate/fill-null-space-imple.js.map +0 -1
- package/dist/framework/impl/document/doc-body-impl.d.ts +0 -27
- package/dist/framework/impl/document/doc-body-impl.js +0 -79
- package/dist/framework/impl/document/doc-body-impl.js.map +0 -1
- package/dist/framework/impl/document/doc-body-part-impl.d.ts +0 -30
- package/dist/framework/impl/document/doc-body-part-impl.js +0 -94
- package/dist/framework/impl/document/doc-body-part-impl.js.map +0 -1
- package/dist/framework/impl/document/doc-container-impl.d.ts +0 -16
- package/dist/framework/impl/document/doc-container-impl.js +0 -21
- package/dist/framework/impl/document/doc-container-impl.js.map +0 -1
- package/dist/framework/impl/document/doc-footer-impl.d.ts +0 -26
- package/dist/framework/impl/document/doc-footer-impl.js +0 -77
- package/dist/framework/impl/document/doc-footer-impl.js.map +0 -1
- package/dist/framework/impl/document/doc-header-impl.d.ts +0 -26
- package/dist/framework/impl/document/doc-header-impl.js +0 -83
- package/dist/framework/impl/document/doc-header-impl.js.map +0 -1
- package/dist/framework/impl/document/doc-impl.d.ts +0 -61
- package/dist/framework/impl/document/doc-impl.js +0 -209
- package/dist/framework/impl/document/doc-impl.js.map +0 -1
- package/dist/framework/impl/media-formula/menstrual-history.d.ts +0 -35
- package/dist/framework/impl/media-formula/menstrual-history.js +0 -153
- package/dist/framework/impl/media-formula/menstrual-history.js.map +0 -1
- package/dist/framework/impl/paragraph/p-impl.d.ts +0 -45
- package/dist/framework/impl/paragraph/p-impl.js +0 -156
- package/dist/framework/impl/paragraph/p-impl.js.map +0 -1
- package/dist/framework/impl/picture/image-impl.d.ts +0 -31
- package/dist/framework/impl/picture/image-impl.js +0 -124
- package/dist/framework/impl/picture/image-impl.js.map +0 -1
- package/dist/framework/impl/radio/radio-impl.d.ts +0 -22
- package/dist/framework/impl/radio/radio-impl.js +0 -72
- package/dist/framework/impl/radio/radio-impl.js.map +0 -1
- package/dist/framework/impl/symbol/br-symbol-impl.d.ts +0 -22
- package/dist/framework/impl/symbol/br-symbol-impl.js +0 -54
- package/dist/framework/impl/symbol/br-symbol-impl.js.map +0 -1
- package/dist/framework/impl/symbol/p-symbol-impl.d.ts +0 -19
- package/dist/framework/impl/symbol/p-symbol-impl.js +0 -54
- package/dist/framework/impl/symbol/p-symbol-impl.js.map +0 -1
- package/dist/framework/impl/table/table-cell-impl.d.ts +0 -37
- package/dist/framework/impl/table/table-cell-impl.js +0 -145
- package/dist/framework/impl/table/table-cell-impl.js.map +0 -1
- package/dist/framework/impl/table/table-impl.d.ts +0 -55
- package/dist/framework/impl/table/table-impl.js +0 -363
- package/dist/framework/impl/table/table-impl.js.map +0 -1
- package/dist/framework/impl/table/table-row-impl.d.ts +0 -26
- package/dist/framework/impl/table/table-row-impl.js +0 -75
- package/dist/framework/impl/table/table-row-impl.js.map +0 -1
- package/dist/framework/impl/table/table-split-cell-patch.d.ts +0 -20
- package/dist/framework/impl/table/table-split-cell-patch.js +0 -89
- package/dist/framework/impl/table/table-split-cell-patch.js.map +0 -1
- package/dist/framework/impl/table/table-split-cell.d.ts +0 -90
- package/dist/framework/impl/table/table-split-cell.js +0 -464
- package/dist/framework/impl/table/table-split-cell.js.map +0 -1
- package/dist/framework/impl/table/table-util.d.ts +0 -150
- package/dist/framework/impl/table/table-util.js +0 -678
- package/dist/framework/impl/table/table-util.js.map +0 -1
- package/dist/framework/impl/text/text-impl.d.ts +0 -32
- package/dist/framework/impl/text/text-impl.js +0 -149
- package/dist/framework/impl/text/text-impl.js.map +0 -1
- package/dist/framework/impl/text/track-run-impl.d.ts +0 -27
- package/dist/framework/impl/text/track-run-impl.js +0 -112
- package/dist/framework/impl/text/track-run-impl.js.map +0 -1
- package/dist/framework/notify.d.ts +0 -13
- package/dist/framework/notify.js +0 -116
- package/dist/framework/notify.js.map +0 -1
- package/dist/framework/range-util.d.ts +0 -40
- package/dist/framework/range-util.js +0 -312
- package/dist/framework/range-util.js.map +0 -1
- package/dist/framework/render-context.d.ts +0 -91
- package/dist/framework/render-context.js +0 -384
- package/dist/framework/render-context.js.map +0 -1
- package/dist/framework/render-define.d.ts +0 -109
- package/dist/framework/render-define.js +0 -195
- package/dist/framework/render-define.js.map +0 -1
- package/dist/framework/selection-overlays.d.ts +0 -30
- package/dist/framework/selection-overlays.js +0 -124
- package/dist/framework/selection-overlays.js.map +0 -1
- package/dist/texteditor.d.ts +0 -318
- package/dist/texteditor.js +0 -913
- package/dist/texteditor.js.map +0 -1
- package/dist/util/subject.d.ts +0 -34
- package/dist/util/subject.js +0 -88
- package/dist/util/subject.js.map +0 -1
- package/dist/util/table-bind.d.ts +0 -5
- package/dist/util/table-bind.js +0 -6
- package/dist/util/table-bind.js.map +0 -1
@@ -1,330 +0,0 @@
|
|
1
|
-
import { DocumentEvalFunc } from "./document-eval-func";
|
2
|
-
import { DocumentImagesLoader } from "./document-images-loader";
|
3
|
-
import { ModifyFlag } from "./element-define";
|
4
|
-
import { ElementSerialize } from "./element-serialize";
|
5
|
-
import { DataElementInlineGroup, DataElementLeaf, validateDataEle } from "./impl/data-element/data-element-base-impl";
|
6
|
-
import { DataElementCheck } from "./impl/data-element/data-element-check-impl";
|
7
|
-
import { DocumentElement } from "./impl/document/doc-impl";
|
8
|
-
import { TrackRunElement } from "@/med_editor/framework/impl/text/track-run-impl";
|
9
|
-
import { ElementUtil } from "./element-util";
|
10
|
-
import { DocumentBodyPartElement } from "./impl/document/doc-body-part-impl";
|
11
|
-
import { CommonUtil } from "./common-util";
|
12
|
-
/**
|
13
|
-
* 当前打开的文档的上下文信息,当前文档所有的属性设置都暴露在上下文中
|
14
|
-
*/
|
15
|
-
export class EditorContext {
|
16
|
-
selectionState;
|
17
|
-
viewOptions;
|
18
|
-
isDirty = false;
|
19
|
-
cursorRect;
|
20
|
-
_document;
|
21
|
-
//文档刷新的订阅事件
|
22
|
-
//refSub!: Subscription;
|
23
|
-
syncRefresh;
|
24
|
-
imageLoader;
|
25
|
-
dynamicFunc;
|
26
|
-
docChange;
|
27
|
-
clearPrevDocCb;
|
28
|
-
constructor(selectionState, viewOptions) {
|
29
|
-
this.selectionState = selectionState;
|
30
|
-
this.viewOptions = viewOptions;
|
31
|
-
this.dynamicFunc = new DocumentEvalFunc(this);
|
32
|
-
this.imageLoader = new DocumentImagesLoader();
|
33
|
-
this.selectionState.onChangedEvent.subscribe(() => {
|
34
|
-
this.syncRefresh?.();
|
35
|
-
});
|
36
|
-
}
|
37
|
-
get document() {
|
38
|
-
return this._document;
|
39
|
-
}
|
40
|
-
set document(value) {
|
41
|
-
this.clearPrevDocCb?.();
|
42
|
-
this._document = value;
|
43
|
-
this.initScripts();
|
44
|
-
// this.refSub = this._document.refreshSubject.subscribe((data) => {
|
45
|
-
// data = data ?? 'content';
|
46
|
-
// this.isDirty = this.isDirty || data === 'content';
|
47
|
-
// this.syncRefresh?.(data);
|
48
|
-
// });
|
49
|
-
const docRefreshSub = this._document.refreshSubject.subscribe(() => {
|
50
|
-
this.syncRefresh?.();
|
51
|
-
});
|
52
|
-
const docChangedSub = this._document.onChangeSubject.subscribe(() => {
|
53
|
-
this.syncRefresh?.();
|
54
|
-
});
|
55
|
-
this.syncRefresh();
|
56
|
-
this.clearPrevDocCb = () => {
|
57
|
-
docRefreshSub.unsubscribe();
|
58
|
-
docChangedSub.unsubscribe();
|
59
|
-
if (this._document) {
|
60
|
-
this.selectionState?.renderContainer?.destroy();
|
61
|
-
this.clear();
|
62
|
-
this._document.destroy();
|
63
|
-
}
|
64
|
-
this.clearPrevDocCb = null;
|
65
|
-
};
|
66
|
-
}
|
67
|
-
clear() {
|
68
|
-
this.selectionState.clear();
|
69
|
-
this.imageLoader.clear();
|
70
|
-
;
|
71
|
-
this.dynamicFunc.destroyScripts();
|
72
|
-
this.isDirty = false;
|
73
|
-
}
|
74
|
-
get defaultCtx() {
|
75
|
-
return new DocumentContext(this._document, this.selectionState);
|
76
|
-
}
|
77
|
-
getCurrentCtx(ele) {
|
78
|
-
const parentCtx = ElementUtil.getParent(ele, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement);
|
79
|
-
return new DocumentContext(parentCtx, this.selectionState);
|
80
|
-
}
|
81
|
-
/**
|
82
|
-
* 根据当前选区,返回所在的上下文元素,返回类型为DocumentElement|DocumentBodyPartElement
|
83
|
-
*/
|
84
|
-
getCurrentEleCtx() {
|
85
|
-
const { startControl } = this.selectionState;
|
86
|
-
if (!startControl) {
|
87
|
-
return null;
|
88
|
-
}
|
89
|
-
const parentCtx = ElementUtil.getParent(startControl, (item) => item instanceof DocumentElement || item instanceof DocumentBodyPartElement);
|
90
|
-
return parentCtx;
|
91
|
-
}
|
92
|
-
getCtx(ele) {
|
93
|
-
return new DocumentContext(ele, this.selectionState);
|
94
|
-
}
|
95
|
-
ele_types_handlers = [];
|
96
|
-
registerTypeHandlers(elementType, eventName, handler, useCapture = false) {
|
97
|
-
this.ele_types_handlers.push({
|
98
|
-
elementType,
|
99
|
-
eventName,
|
100
|
-
handler,
|
101
|
-
useCapture
|
102
|
-
});
|
103
|
-
}
|
104
|
-
invokeTypeHandler(ele, eventName, e, useCapture = false) {
|
105
|
-
for (const th of this.ele_types_handlers) {
|
106
|
-
if (ele instanceof th.elementType && th.eventName === eventName && th.useCapture === useCapture) {
|
107
|
-
th.handler(e);
|
108
|
-
}
|
109
|
-
}
|
110
|
-
}
|
111
|
-
destroy() {
|
112
|
-
this.clear();
|
113
|
-
this.document.destroy();
|
114
|
-
this.clearPrevDocCb?.();
|
115
|
-
this.ele_types_handlers.length = 0;
|
116
|
-
this.imageLoader.clear();
|
117
|
-
;
|
118
|
-
}
|
119
|
-
/**
|
120
|
-
* 切换到行打印模式
|
121
|
-
*/
|
122
|
-
switchTextlineMode() {
|
123
|
-
this.document.viewOptions.textRowLineMode = !this.document.viewOptions.textRowLineMode;
|
124
|
-
this.syncRefresh();
|
125
|
-
}
|
126
|
-
/**
|
127
|
-
* 实例化动态脚本
|
128
|
-
*/
|
129
|
-
initScripts() {
|
130
|
-
this.dynamicFunc.initScripts(this.document.props.scripts);
|
131
|
-
}
|
132
|
-
/**
|
133
|
-
* 替换数据元
|
134
|
-
*/
|
135
|
-
replaceDataElement(oldDataElement, newElement, ss) {
|
136
|
-
//清除光标
|
137
|
-
ss.clear();
|
138
|
-
//执行刷新
|
139
|
-
//插入新对象到旧对象之前
|
140
|
-
oldDataElement.parent.addChild(newElement, oldDataElement.getIndex());
|
141
|
-
//删除旧节点
|
142
|
-
oldDataElement.remove();
|
143
|
-
}
|
144
|
-
get refreshType() {
|
145
|
-
return this._document?.modifyFlag === ModifyFlag.None ? 'appearance' : 'content';
|
146
|
-
}
|
147
|
-
}
|
148
|
-
/**
|
149
|
-
* 文档上下文
|
150
|
-
*/
|
151
|
-
export class DocumentContext {
|
152
|
-
ctx;
|
153
|
-
ss;
|
154
|
-
constructor(ctx, ss) {
|
155
|
-
this.ctx = ctx;
|
156
|
-
this.ss = ss;
|
157
|
-
}
|
158
|
-
getControlIDList() {
|
159
|
-
const dataEleList = this.ctx.treeFilter(item => validateDataEle(item));
|
160
|
-
return dataEleList.map(item => item.props.id);
|
161
|
-
}
|
162
|
-
getControlInstanceList() {
|
163
|
-
return this.ctx.treeFilter(item => validateDataEle(item));
|
164
|
-
}
|
165
|
-
getControlById(id) {
|
166
|
-
return this.ctx.treeFind(item => validateDataEle(item) && item['props']['id'] === id);
|
167
|
-
}
|
168
|
-
getControlByName(name) {
|
169
|
-
return this.ctx.treeFind(item => validateDataEle(item) && item['props']['name'] === name);
|
170
|
-
}
|
171
|
-
/**
|
172
|
-
* 获取数据元值集合
|
173
|
-
*/
|
174
|
-
getDataElementValues() {
|
175
|
-
const structList = this.getDataElementModelList();
|
176
|
-
return structList.map(item => ({
|
177
|
-
id: item.id,
|
178
|
-
name: item.name,
|
179
|
-
value: item.getValue()
|
180
|
-
}));
|
181
|
-
}
|
182
|
-
/**
|
183
|
-
* 获取数据元结构以及get\set闭包调用函数
|
184
|
-
* @returns
|
185
|
-
*/
|
186
|
-
getDataElementModelList() {
|
187
|
-
const dataEleList = this.ctx.treeFilter(item => validateDataEle(item));
|
188
|
-
const dataInlineGroups = dataEleList.filter(item => item instanceof DataElementInlineGroup);
|
189
|
-
const dataLeafs = dataEleList.filter(item => item instanceof DataElementLeaf);
|
190
|
-
//复选框数据元
|
191
|
-
const dataCheckList = dataLeafs.filter(item => item instanceof DataElementCheck);
|
192
|
-
//除复选框之外的LeafDataElement
|
193
|
-
const dataOtherLeafValues = CommonUtil.removeUnionSet(dataLeafs, dataCheckList).map(item => ({ id: item.props.id, name: item.props.name, fieldName: item.props.field, item, getValue: () => { return item.getValue(); }, setValue: (val) => { item.setValue(val); } }));
|
194
|
-
const dataInlineStructList = dataInlineGroups.map(item => ({ id: item.props.id, name: item.props.name, fieldName: item.props.fieldName, item, getValue: () => { return item.getValue(); }, setValue: (val) => { item.setValue(val); } }));
|
195
|
-
//复选框列表
|
196
|
-
const dataCheckStructList = this.getDataCheckModelList(dataCheckList);
|
197
|
-
return [...dataInlineStructList, ...dataCheckStructList, ...dataOtherLeafValues];
|
198
|
-
}
|
199
|
-
/**
|
200
|
-
* 获取复选框数据元结构列表
|
201
|
-
* @param dataCheckList
|
202
|
-
* @returns
|
203
|
-
*/
|
204
|
-
getDataCheckModelList(dataCheckList) {
|
205
|
-
//不存在groupName的复选框
|
206
|
-
const singleCheckList = dataCheckList.filter(item => !item.props.groupName);
|
207
|
-
//存在groupName的复选框
|
208
|
-
const groupNames = Array.from(new Set(dataCheckList.filter(item => item.props.groupName).map(item => item.props.groupName)));
|
209
|
-
const groupCheckListValues = groupNames.map((groupName) => {
|
210
|
-
const groupCheckItems = dataCheckList.filter(item => item.props.groupName === groupName);
|
211
|
-
return {
|
212
|
-
id: groupName,
|
213
|
-
name: groupCheckItems[0].props.name,
|
214
|
-
fieldName: groupCheckItems[0].props.fieldName,
|
215
|
-
multiSelect: groupCheckItems[0].props.multiSelect,
|
216
|
-
item: groupCheckItems,
|
217
|
-
getValue: () => {
|
218
|
-
let checkedValue = '';
|
219
|
-
if (groupCheckItems[0].props.multiSelect) {
|
220
|
-
checkedValue = groupCheckItems.filter(item => item.props.checked).map(item => item.getValue() + '').join(';');
|
221
|
-
}
|
222
|
-
else {
|
223
|
-
const checkedSingleItem = groupCheckItems.find(item => item.props.checked);
|
224
|
-
if (checkedSingleItem) {
|
225
|
-
checkedValue = checkedSingleItem.props.checkedValue;
|
226
|
-
}
|
227
|
-
}
|
228
|
-
;
|
229
|
-
return checkedValue;
|
230
|
-
},
|
231
|
-
setValue: (val) => {
|
232
|
-
//为null时
|
233
|
-
if (val === null || val === undefined) {
|
234
|
-
groupCheckItems.forEach(item => item.props.checked = false);
|
235
|
-
return;
|
236
|
-
}
|
237
|
-
if (groupCheckItems[0].props.multiSelect) {
|
238
|
-
const valItems = typeof val === 'string' ? val.split(';') : val;
|
239
|
-
groupCheckItems.forEach(item => {
|
240
|
-
item.props.checked = valItems.indexOf(item.props.checkedValue + '') >= 0;
|
241
|
-
});
|
242
|
-
}
|
243
|
-
else {
|
244
|
-
groupCheckItems.forEach(item => {
|
245
|
-
item.props.checked = item.props.checkedValue === val;
|
246
|
-
});
|
247
|
-
}
|
248
|
-
;
|
249
|
-
}
|
250
|
-
};
|
251
|
-
});
|
252
|
-
const singleCheckListValues = singleCheckList.map(item => ({ id: item.props.id, name: item.props.name, fieldName: item.props.fieldName, item, getValue: () => { return item.getValue(); }, setValue: (val) => { item.setValue(val); } }));
|
253
|
-
return [...singleCheckListValues, ...groupCheckListValues];
|
254
|
-
}
|
255
|
-
/**
|
256
|
-
* 获取留痕块元素列表
|
257
|
-
*/
|
258
|
-
getTrackElements() {
|
259
|
-
return this.ctx.treeFilter(item => item instanceof TrackRunElement);
|
260
|
-
}
|
261
|
-
getTrackElmeentById(id) {
|
262
|
-
return this.ctx.treeFind(item => item instanceof TrackRunElement && item.props.id === id);
|
263
|
-
}
|
264
|
-
/**
|
265
|
-
* 获取留痕块内数据
|
266
|
-
*/
|
267
|
-
getTracksData() {
|
268
|
-
const trackElements = this.getTrackElements();
|
269
|
-
return trackElements.map(item => {
|
270
|
-
const trackRun = item;
|
271
|
-
const content = ElementSerialize.serializeString(trackRun, { all: true });
|
272
|
-
return {
|
273
|
-
//用户id
|
274
|
-
userId: trackRun.props.userId,
|
275
|
-
//用户名称
|
276
|
-
userName: trackRun.props.userName,
|
277
|
-
//日期
|
278
|
-
date: trackRun.props.date,
|
279
|
-
//类型,ins-run:插入,del-run:删除
|
280
|
-
type: trackRun.type,
|
281
|
-
//留痕块id
|
282
|
-
id: trackRun.props.id,
|
283
|
-
//内容
|
284
|
-
content
|
285
|
-
};
|
286
|
-
});
|
287
|
-
}
|
288
|
-
setControlValue(id, value) {
|
289
|
-
const dataEle = this.getControlById(id);
|
290
|
-
if (dataEle) {
|
291
|
-
dataEle.setValue(value);
|
292
|
-
}
|
293
|
-
this.ss.clear();
|
294
|
-
}
|
295
|
-
setControlValueByName(name, val) {
|
296
|
-
const dataEle = this.getControlByName(name);
|
297
|
-
dataEle.setValue(val);
|
298
|
-
}
|
299
|
-
/**
|
300
|
-
* 获取复选框选中的值
|
301
|
-
*/
|
302
|
-
getCheckBoxValues(groupName) {
|
303
|
-
const ckbs = this.getCheckBoxList(groupName);
|
304
|
-
return ckbs.filter(item => item.props.checked).map(item => item.props.checkedValue);
|
305
|
-
}
|
306
|
-
getCheckBoxList(groupName) {
|
307
|
-
return this.getControlInstanceList().filter(item => item instanceof DataElementCheck && item.props.groupName === groupName);
|
308
|
-
}
|
309
|
-
/**
|
310
|
-
* 当前上下文执行默认绑定
|
311
|
-
* @param data
|
312
|
-
*/
|
313
|
-
bindDataValues(data, predicateKey = 'fieldName') {
|
314
|
-
this.ss.clear();
|
315
|
-
let bindData = typeof data === 'string' ? JSON.parse(data) : data;
|
316
|
-
if (Array.isArray(bindData)) {
|
317
|
-
const obj = {};
|
318
|
-
bindData.forEach(item => { obj[item.key] = item.value; });
|
319
|
-
bindData = obj;
|
320
|
-
}
|
321
|
-
const dataList = this.getDataElementModelList();
|
322
|
-
dataList.forEach(item => {
|
323
|
-
const objKey = item[predicateKey];
|
324
|
-
if (bindData.hasOwnProperty(objKey)) {
|
325
|
-
item.setValue(bindData[objKey]);
|
326
|
-
}
|
327
|
-
});
|
328
|
-
}
|
329
|
-
}
|
330
|
-
//# sourceMappingURL=document-context.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"document-context.js","sourceRoot":"","sources":["../../src/med_editor/framework/document-context.ts"],"names":[],"mappings":"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"}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { EditorContext } from "./document-context";
|
2
|
-
export declare class DocumentEvalFunc {
|
3
|
-
docCtx: EditorContext;
|
4
|
-
constructor(docCtx: EditorContext);
|
5
|
-
scriptsFunc: (() => void) | null;
|
6
|
-
/**
|
7
|
-
* 实例化动态脚本
|
8
|
-
*/
|
9
|
-
initScripts(scripts: string): void;
|
10
|
-
/**
|
11
|
-
* 销毁动态脚本实例
|
12
|
-
*/
|
13
|
-
destroyScripts(): void;
|
14
|
-
/**
|
15
|
-
* 触发动态脚本
|
16
|
-
*/
|
17
|
-
invokedScripts(): void;
|
18
|
-
}
|
@@ -1,48 +0,0 @@
|
|
1
|
-
export class DocumentEvalFunc {
|
2
|
-
docCtx;
|
3
|
-
constructor(docCtx) {
|
4
|
-
this.docCtx = docCtx;
|
5
|
-
}
|
6
|
-
scriptsFunc;
|
7
|
-
/**
|
8
|
-
* 实例化动态脚本
|
9
|
-
*/
|
10
|
-
initScripts(scripts) {
|
11
|
-
this.destroyScripts();
|
12
|
-
if (scripts) {
|
13
|
-
try {
|
14
|
-
const func = new Function("docCtx", scripts);
|
15
|
-
this.scriptsFunc = func(this.docCtx);
|
16
|
-
}
|
17
|
-
catch (e) {
|
18
|
-
console.error("自定义标本解析错误", e);
|
19
|
-
}
|
20
|
-
}
|
21
|
-
// const func = (docCtx: DocumentContext) => {
|
22
|
-
// const sexELe = docCtx.getControlById('NqoYI')
|
23
|
-
// const dyEle = docCtx.getControlById('gTuBI');
|
24
|
-
// return () => {
|
25
|
-
// if (sexELe && dyEle) {
|
26
|
-
// const sexValue = sexELe.getValue();
|
27
|
-
// const dyValue = sexValue === '1' ? '男的吗' : sexValue === '2' ? '女的吗' : '难道是人妖吗';
|
28
|
-
// dyEle.setValue(dyValue);
|
29
|
-
// }
|
30
|
-
// };
|
31
|
-
// };
|
32
|
-
}
|
33
|
-
/**
|
34
|
-
* 销毁动态脚本实例
|
35
|
-
*/
|
36
|
-
destroyScripts() {
|
37
|
-
if (this.scriptsFunc) {
|
38
|
-
this.scriptsFunc = null;
|
39
|
-
}
|
40
|
-
}
|
41
|
-
/**
|
42
|
-
* 触发动态脚本
|
43
|
-
*/
|
44
|
-
invokedScripts() {
|
45
|
-
this.scriptsFunc?.();
|
46
|
-
}
|
47
|
-
}
|
48
|
-
//# sourceMappingURL=document-eval-func.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"document-eval-func.js","sourceRoot":"","sources":["../../src/med_editor/framework/document-eval-func.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;IACN;IAAnB,YAAmB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAExC,CAAC;IACD,WAAW,CAAuB;IAElC;;OAEG;IACH,WAAW,CAAC,OAAe;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,OAAO,EAAE;YACT,IAAI;gBACA,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxC;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACjC;SAEJ;QACD,8CAA8C;QAC9C,oDAAoD;QACpD,oDAAoD;QACpD,qBAAqB;QACrB,iCAAiC;QACjC,kDAAkD;QAClD,8FAA8F;QAC9F,uCAAuC;QACvC,YAAY;QACZ,SAAS;QACT,KAAK;IACT,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACzB,CAAC;CAGJ"}
|
@@ -1,213 +0,0 @@
|
|
1
|
-
import { Subject, Subscription } from "rxjs";
|
2
|
-
import { DocumentPaint } from "./document-paint";
|
3
|
-
import { SelectionState } from "./document-selection";
|
4
|
-
import { LeafElement, Rect, Element, Position, ViewOptions } from "./element-define";
|
5
|
-
import { ElementEvent, EventStage, EventTypes, HitEventInfo, HitRegion, ITrackTips, MouseElementEvent } from "./element-event-define";
|
6
|
-
import { BorderType, CursorType, RenderObject } from "./render-define";
|
7
|
-
import { EditorContext } from "./document-context";
|
8
|
-
interface EdgeRenderInfo {
|
9
|
-
renderElement: Element;
|
10
|
-
relativePos: Position;
|
11
|
-
mousedown: boolean;
|
12
|
-
mousedownPos?: Position;
|
13
|
-
border: BorderType;
|
14
|
-
}
|
15
|
-
/**
|
16
|
-
* 事件系统
|
17
|
-
*/
|
18
|
-
export declare class DocumentEvent {
|
19
|
-
private canvas;
|
20
|
-
private documentPaint;
|
21
|
-
private viewOptions;
|
22
|
-
private selectionState;
|
23
|
-
private docCtx;
|
24
|
-
private ismousedown;
|
25
|
-
startHitInfo: HitEventInfo | null;
|
26
|
-
endHitInfo: HitEventInfo | null;
|
27
|
-
focusedElement: LeafElement | null;
|
28
|
-
focusedRect: Rect | null;
|
29
|
-
currentMouseoverRender: {
|
30
|
-
render: RenderObject;
|
31
|
-
absoluteRenderRect: Rect;
|
32
|
-
} | null;
|
33
|
-
hitInfoChanged: Subject<{
|
34
|
-
startHitInfo: HitEventInfo;
|
35
|
-
endHitInfo: HitEventInfo;
|
36
|
-
}>;
|
37
|
-
clickEvent: Subject<MouseEvent>;
|
38
|
-
dblClickEvent: Subject<MouseEvent>;
|
39
|
-
changeCursor: Subject<CursorType>;
|
40
|
-
contextMenu: Subject<MouseEvent>;
|
41
|
-
trackTipsChanged: Subject<{
|
42
|
-
pos: Position;
|
43
|
-
tips: ITrackTips;
|
44
|
-
}>;
|
45
|
-
edgeRenderInfo: EdgeRenderInfo | null;
|
46
|
-
currentPos: Position;
|
47
|
-
mousedownPos: Position;
|
48
|
-
subs: Array<Subscription>;
|
49
|
-
constructor(canvas: HTMLCanvasElement, documentPaint: DocumentPaint, viewOptions: ViewOptions, selectionState: SelectionState, docCtx: EditorContext);
|
50
|
-
private bindEvent;
|
51
|
-
addSubEvent(sub: Subscription): void;
|
52
|
-
clearSubEvent(): void;
|
53
|
-
clear(): void;
|
54
|
-
private mousedown;
|
55
|
-
private mouseup;
|
56
|
-
private mousemove;
|
57
|
-
private prevTrackInfo;
|
58
|
-
/**
|
59
|
-
* 显示提示信息
|
60
|
-
* 显示留痕提示信息等
|
61
|
-
*/
|
62
|
-
private getTips;
|
63
|
-
/**
|
64
|
-
* 滚动视图的时候,需要手动触发mousemove
|
65
|
-
*/
|
66
|
-
onScrollView(): void;
|
67
|
-
/**
|
68
|
-
* 处理鼠标按下事件
|
69
|
-
* @param evt
|
70
|
-
* @returns
|
71
|
-
*/
|
72
|
-
private mousedownHandle;
|
73
|
-
/**
|
74
|
-
* 设置元素焦点状态
|
75
|
-
*/
|
76
|
-
private switchElementFocus;
|
77
|
-
clearHitInfo(): void;
|
78
|
-
/**
|
79
|
-
* 获取当前鼠标所在位置的元素信息
|
80
|
-
* @param evt
|
81
|
-
* @returns
|
82
|
-
*/
|
83
|
-
private getHitInfo;
|
84
|
-
private getMouseoverRenderInfo;
|
85
|
-
/**
|
86
|
-
* 鼠标移动事件
|
87
|
-
* 主要处理选区改变
|
88
|
-
*/
|
89
|
-
private mousemoveHandle;
|
90
|
-
private isCellRenderObject;
|
91
|
-
/**
|
92
|
-
* 当前绘制元素是否在单元格上面
|
93
|
-
* @param render
|
94
|
-
* @returns
|
95
|
-
*/
|
96
|
-
private isInCellRenderObject;
|
97
|
-
private isResizeRenderObject;
|
98
|
-
/**
|
99
|
-
* 触发鼠标移动事件
|
100
|
-
*/
|
101
|
-
private invokeMousemoveEvent;
|
102
|
-
prevCursorItems: Array<Element>;
|
103
|
-
/**
|
104
|
-
* 触发获取焦点事件
|
105
|
-
* 需要根据上次获取焦点的元素,比较触发失去焦点事件
|
106
|
-
* @param focusElement
|
107
|
-
*/
|
108
|
-
invokeCursor(focusElement: LeafElement): void;
|
109
|
-
/**
|
110
|
-
* mousedown-mouseup-click
|
111
|
-
*/
|
112
|
-
private mouseClickHandle;
|
113
|
-
/**
|
114
|
-
* 鼠标双击事件
|
115
|
-
*/
|
116
|
-
private mouseDblClickHandle;
|
117
|
-
/**
|
118
|
-
* 获取点击的渲染元素对象
|
119
|
-
* @param renderObject
|
120
|
-
* @param parPos
|
121
|
-
* @param hitPos
|
122
|
-
* @returns
|
123
|
-
*/
|
124
|
-
private getHitLeafRender;
|
125
|
-
private getTRowHitLeafRender;
|
126
|
-
/**
|
127
|
-
* 如果当前范围未击中任何元素,则需要匹配最近的元素
|
128
|
-
* @param renderObject
|
129
|
-
* @param parent
|
130
|
-
* @param position
|
131
|
-
*/
|
132
|
-
private getRecentHitRender;
|
133
|
-
/**
|
134
|
-
* 获取点击的doc-page
|
135
|
-
*/
|
136
|
-
private getHitDocPage;
|
137
|
-
/**
|
138
|
-
* 触发事件
|
139
|
-
* @param type
|
140
|
-
* @param sourceElement
|
141
|
-
*/
|
142
|
-
static invokeEvent(type: EventTypes, sourceElement: Element, event: ElementEvent, eventStage: EventStage, docCtx: EditorContext): ElementEvent | null;
|
143
|
-
/**
|
144
|
-
* 发布当前的点击信息
|
145
|
-
*/
|
146
|
-
private pubHitInfo;
|
147
|
-
/**
|
148
|
-
* 获取鼠标所在的渲染元素对象
|
149
|
-
* @param renderObject
|
150
|
-
* @param parent
|
151
|
-
* @param position
|
152
|
-
* @returns
|
153
|
-
*/
|
154
|
-
private getMouseoverRender;
|
155
|
-
/**
|
156
|
-
* 缩放元素
|
157
|
-
*/
|
158
|
-
private resizeRender;
|
159
|
-
/**
|
160
|
-
* 缩放表格
|
161
|
-
*/
|
162
|
-
private resizeTableCell;
|
163
|
-
private getResizeTableCell;
|
164
|
-
/**
|
165
|
-
* 调整元素大小
|
166
|
-
*/
|
167
|
-
private resizeElement;
|
168
|
-
/**
|
169
|
-
* 选中当前全部 ctrl+A
|
170
|
-
*/
|
171
|
-
selectAll(): void;
|
172
|
-
/**
|
173
|
-
* 移动光标到行首
|
174
|
-
*/
|
175
|
-
moveCursorToLineStart(): void;
|
176
|
-
/**
|
177
|
-
* 移动光标到行尾
|
178
|
-
*/
|
179
|
-
moveCursorToLineEnd(): void;
|
180
|
-
/**
|
181
|
-
* 处理移动光标到行尾或行首
|
182
|
-
* @param home
|
183
|
-
* @returns
|
184
|
-
*/
|
185
|
-
private moveCursorToHomeOrEnd;
|
186
|
-
/**
|
187
|
-
* 向左移动光标
|
188
|
-
*/
|
189
|
-
moveCursorToLeft(): void;
|
190
|
-
/**
|
191
|
-
* 向右移动光标
|
192
|
-
*/
|
193
|
-
moveCursorToRight(): void;
|
194
|
-
/**
|
195
|
-
* 向上移动光标
|
196
|
-
*/
|
197
|
-
moveCursorToUpOrDown(up?: boolean): void;
|
198
|
-
/**
|
199
|
-
* 当前偏移量是否处于当前元素的末尾
|
200
|
-
* @param ele
|
201
|
-
* @param offset
|
202
|
-
* @returns
|
203
|
-
*/
|
204
|
-
private isLeafEleEndOffset;
|
205
|
-
/**
|
206
|
-
* 获取点击的文档区域
|
207
|
-
* @param docRender
|
208
|
-
* @param pos
|
209
|
-
* @returns
|
210
|
-
*/
|
211
|
-
getHitRegion(docEvent: MouseElementEvent): HitRegion | null;
|
212
|
-
}
|
213
|
-
export {};
|