@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 @@
|
|
1
|
+
{"version":3,"file":"table-util.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/table/table-util.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { TextProps } from "@/med_editor/framework/element-props";
|
2
|
+
import { LeafRenderObject, RenderObject } from "@/med_editor/framework/render-define";
|
3
|
+
import { LeafElement, ElementFactory, Element, SerializeProps, ViewOptions } from "../../element-define";
|
4
|
+
import { RenderContenxtType, TextUnits } from "../../render-context";
|
5
|
+
export declare class TextGroupElement extends LeafElement<TextProps> {
|
6
|
+
textMeasures: Array<TextUnits>;
|
7
|
+
isMeasure: boolean;
|
8
|
+
constructor();
|
9
|
+
set text(val: string);
|
10
|
+
splice(index: number, deleteCount: number, addText?: string | null): void;
|
11
|
+
get text(): string;
|
12
|
+
createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject;
|
13
|
+
serialize(viewOptions: ViewOptions): SerializeProps & any;
|
14
|
+
clone(data: boolean): TextGroupElement;
|
15
|
+
destroy(): void;
|
16
|
+
spliceText(startOffset: number, endOffset: number, xCopy: boolean): TextGroupElement | null;
|
17
|
+
clearTextCache(): void;
|
18
|
+
}
|
19
|
+
export declare class TextGroupRenderObject extends LeafRenderObject<TextGroupElement> {
|
20
|
+
textMeasures: Array<TextUnits>;
|
21
|
+
render(ctx: RenderContenxtType, position: {
|
22
|
+
x: number;
|
23
|
+
y: number;
|
24
|
+
}): void;
|
25
|
+
constructor(element: TextGroupElement);
|
26
|
+
clone(): RenderObject;
|
27
|
+
measure(): void;
|
28
|
+
}
|
29
|
+
export declare class TextGroupFactory extends ElementFactory<null> {
|
30
|
+
match(type: string): boolean;
|
31
|
+
createElement(data: any, renderCtx: RenderContenxtType): Element;
|
32
|
+
}
|
@@ -0,0 +1,149 @@
|
|
1
|
+
import { SelectionRange } from "@/med_editor/framework/document-selection";
|
2
|
+
import { TextProps } from "@/med_editor/framework/element-props";
|
3
|
+
import { ElementUtil } from "@/med_editor/framework/element-util";
|
4
|
+
import { LeafRenderObject } from "@/med_editor/framework/render-define";
|
5
|
+
import { LeafElement, ElementFactory, ModifyFlag } from "../../element-define";
|
6
|
+
import { watchChanged } from "../../notify";
|
7
|
+
export class TextGroupElement extends LeafElement {
|
8
|
+
//props: TextProps;
|
9
|
+
textMeasures = [];
|
10
|
+
isMeasure = false;
|
11
|
+
constructor() {
|
12
|
+
super('text');
|
13
|
+
this.props = new TextProps();
|
14
|
+
watchChanged(this.props, () => {
|
15
|
+
this.isMeasure = false;
|
16
|
+
this.props.clearCache();
|
17
|
+
});
|
18
|
+
//this.addPropValueChangedSub(this.props);
|
19
|
+
//this.addsubscribe(this, this.props.onPropertyChangedSubject.subscribe(() => { this.clearTextCache() }));
|
20
|
+
this.addEvent('ElementContextMenu', (evt) => {
|
21
|
+
const ss = evt.selectionState;
|
22
|
+
evt.menus.push({
|
23
|
+
icon: "EditStyle", caption: "选中样式组合", eventObj: {
|
24
|
+
onClick: (cevt) => {
|
25
|
+
const range = new SelectionRange();
|
26
|
+
range.setStart(this, 0);
|
27
|
+
range.setEnd(this, -1);
|
28
|
+
ss.addRange(range);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
});
|
32
|
+
});
|
33
|
+
}
|
34
|
+
set text(val) {
|
35
|
+
this.splice(0, this.textMeasures.length, val);
|
36
|
+
}
|
37
|
+
splice(index, deleteCount, addText = null) {
|
38
|
+
this.isMeasure = false;
|
39
|
+
addText = addText ?? '';
|
40
|
+
const addTextUnits = addText.split('').map(char => ({ sourceSize: 0, actualSize: 0, char }));
|
41
|
+
if (this.textMeasures.length === 0) {
|
42
|
+
this.textMeasures = addTextUnits;
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
this.textMeasures.splice(index, deleteCount, ...addTextUnits);
|
46
|
+
}
|
47
|
+
this.pubOnChange('self');
|
48
|
+
}
|
49
|
+
get text() {
|
50
|
+
return this.textMeasures.map(item => item.char).join('');
|
51
|
+
}
|
52
|
+
createRenderObject(options, renderCtx) {
|
53
|
+
if (!this.isMeasure || this.modifyFlag !== ModifyFlag.None) {
|
54
|
+
renderCtx.contentContext.measureTextUnits(this.textMeasures, this.props);
|
55
|
+
this.isMeasure = true;
|
56
|
+
}
|
57
|
+
const render = new TextGroupRenderObject(this);
|
58
|
+
render.disableClick = this.disableClick;
|
59
|
+
render.textMeasures = [...this.textMeasures];
|
60
|
+
render.measure();
|
61
|
+
return render;
|
62
|
+
}
|
63
|
+
serialize(viewOptions) {
|
64
|
+
//修饰元素不序列化
|
65
|
+
if (this.isDecorate) {
|
66
|
+
return null;
|
67
|
+
}
|
68
|
+
return {
|
69
|
+
type: 'text',
|
70
|
+
props: {
|
71
|
+
...this.props.getSerializeProps(viewOptions)
|
72
|
+
},
|
73
|
+
content: this.text,
|
74
|
+
complete: true
|
75
|
+
};
|
76
|
+
}
|
77
|
+
clone(data) {
|
78
|
+
const clone = new TextGroupElement();
|
79
|
+
this.props.clone(clone.props);
|
80
|
+
clone.text = this.text;
|
81
|
+
return clone;
|
82
|
+
}
|
83
|
+
destroy() {
|
84
|
+
super.destroy();
|
85
|
+
}
|
86
|
+
spliceText(startOffset, endOffset, xCopy) {
|
87
|
+
endOffset = endOffset === -1 ? this.textMeasures.length : endOffset;
|
88
|
+
if (endOffset === startOffset) {
|
89
|
+
return null;
|
90
|
+
}
|
91
|
+
const clone = new TextGroupElement();
|
92
|
+
this.props.clone(clone.props);
|
93
|
+
if (xCopy) {
|
94
|
+
clone.textMeasures = this.textMeasures.splice(startOffset, endOffset - startOffset);
|
95
|
+
}
|
96
|
+
else {
|
97
|
+
clone.textMeasures = this.textMeasures.filter((item, index) => index >= startOffset && index < endOffset);
|
98
|
+
}
|
99
|
+
clone.textMeasures = clone.textMeasures.map(item => ({ sourceSize: 0, actualSize: 0, char: item.char }));
|
100
|
+
return clone;
|
101
|
+
}
|
102
|
+
clearTextCache() {
|
103
|
+
this.isMeasure = false;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
export class TextGroupRenderObject extends LeafRenderObject {
|
107
|
+
textMeasures;
|
108
|
+
render(ctx, position) {
|
109
|
+
//null-text不打印
|
110
|
+
if (ctx.drawMode === 'print' && this.element.isDecorate) {
|
111
|
+
return;
|
112
|
+
}
|
113
|
+
if (this.element.props.border) {
|
114
|
+
ctx.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height);
|
115
|
+
}
|
116
|
+
ctx.contentContext.drawTextUnits(this, position.x, position.y);
|
117
|
+
// if (this.element.isMouseenter) {
|
118
|
+
// ctx.overlaysContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, CommonUtil.randomColor());
|
119
|
+
// }
|
120
|
+
}
|
121
|
+
constructor(element) {
|
122
|
+
super(element);
|
123
|
+
}
|
124
|
+
clone() {
|
125
|
+
const cloneRender = new TextGroupRenderObject(this.element);
|
126
|
+
cloneRender.disableClick = this.disableClick;
|
127
|
+
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
128
|
+
cloneRender.textMeasures = [...this.textMeasures];
|
129
|
+
return cloneRender;
|
130
|
+
}
|
131
|
+
measure() {
|
132
|
+
this.rect.width = this.textMeasures.reduce((prev, curr) => prev + curr.actualSize, 0);
|
133
|
+
this.rect.height = this.element.props.fontSize;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
export class TextGroupFactory extends ElementFactory {
|
137
|
+
match(type) {
|
138
|
+
return type === 'text';
|
139
|
+
}
|
140
|
+
createElement(data, renderCtx) {
|
141
|
+
const props = data.props;
|
142
|
+
const text = data.content;
|
143
|
+
const textGroup = new TextGroupElement();
|
144
|
+
textGroup.text = text;
|
145
|
+
ElementUtil.readTextProps(textGroup.props, props, this.options);
|
146
|
+
return textGroup;
|
147
|
+
}
|
148
|
+
}
|
149
|
+
//# sourceMappingURL=text-impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"text-impl.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/text/text-impl.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { InlineGroupElement, Position, SerializeProps, ViewOptions, Element, ElementFactory, readElementProps } from "@/med_editor/framework/element-define";
|
2
|
+
import { RenderContenxtType } from "@/med_editor/framework/render-context";
|
3
|
+
import { InlineGroupRenderObject, RenderObject } from "@/med_editor/framework/render-define";
|
4
|
+
import { TrackRunProps } from "@/med_editor/framework/element-props";
|
5
|
+
export declare enum TrackRunTypeEnum {
|
6
|
+
Inserted = "ins-run",
|
7
|
+
Deleted = "del-run"
|
8
|
+
}
|
9
|
+
declare type NullableType<T> = T | null;
|
10
|
+
export declare class TrackRunElement extends InlineGroupElement<TrackRunProps> {
|
11
|
+
constructor(trackType: TrackRunTypeEnum);
|
12
|
+
clone(data: boolean): Element;
|
13
|
+
createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): NullableType<RenderObject>;
|
14
|
+
serialize(viewOptions: ViewOptions): SerializeProps | null;
|
15
|
+
split(index: number): TrackRunElement | null;
|
16
|
+
}
|
17
|
+
export declare class TrackRunRenderObject extends InlineGroupRenderObject<TrackRunElement> {
|
18
|
+
constructor(ele: TrackRunElement);
|
19
|
+
beginRender(ctx: RenderContenxtType, position: Position): void;
|
20
|
+
clone(): RenderObject;
|
21
|
+
endRender(ctx: RenderContenxtType, position: Position): void;
|
22
|
+
}
|
23
|
+
export declare class RunElementFactory extends ElementFactory<TrackRunProps> {
|
24
|
+
createElement(data: readElementProps<TrackRunProps>, renderCtx: RenderContenxtType): TrackRunElement;
|
25
|
+
match(type: string): boolean;
|
26
|
+
}
|
27
|
+
export {};
|
@@ -0,0 +1,112 @@
|
|
1
|
+
import { InlineGroupElement, ElementFactory } from "@/med_editor/framework/element-define";
|
2
|
+
import { InlineGroupRenderObject } from "@/med_editor/framework/render-define";
|
3
|
+
import { TrackRunProps } from "@/med_editor/framework/element-props";
|
4
|
+
import { ElementUtil } from "@/med_editor/framework/element-util";
|
5
|
+
import { ElementSerialize } from "../../element-serialize";
|
6
|
+
import { nanoid } from "nanoid";
|
7
|
+
export var TrackRunTypeEnum;
|
8
|
+
(function (TrackRunTypeEnum) {
|
9
|
+
TrackRunTypeEnum["Inserted"] = "ins-run";
|
10
|
+
TrackRunTypeEnum["Deleted"] = "del-run";
|
11
|
+
})(TrackRunTypeEnum || (TrackRunTypeEnum = {}));
|
12
|
+
export class TrackRunElement extends InlineGroupElement {
|
13
|
+
constructor(trackType) {
|
14
|
+
super(trackType);
|
15
|
+
this.props = new TrackRunProps(trackType);
|
16
|
+
this.addEvent('GetTrackTips', (evt) => {
|
17
|
+
evt.trackTips = {
|
18
|
+
trackRunType: this.type,
|
19
|
+
name: this.props.userName,
|
20
|
+
date: this.props.date,
|
21
|
+
content: ElementSerialize.serializeString(this, { all: true })
|
22
|
+
};
|
23
|
+
console.log(evt.trackTips.content);
|
24
|
+
evt.isCancel = true;
|
25
|
+
});
|
26
|
+
}
|
27
|
+
clone(data) {
|
28
|
+
const clone = new TrackRunElement(this.type);
|
29
|
+
this.props.clone(clone.props);
|
30
|
+
if (data) {
|
31
|
+
const length = this.length;
|
32
|
+
for (let i = 0; i < length; i++) {
|
33
|
+
clone.addChild(this.getChild(i).clone(true));
|
34
|
+
}
|
35
|
+
}
|
36
|
+
return clone;
|
37
|
+
}
|
38
|
+
createRenderObject(options, renderCtx) {
|
39
|
+
if (!options.showTrackChanges && this.type === TrackRunTypeEnum.Deleted) {
|
40
|
+
return null;
|
41
|
+
}
|
42
|
+
return new TrackRunRenderObject(this);
|
43
|
+
}
|
44
|
+
serialize(viewOptions) {
|
45
|
+
return {
|
46
|
+
type: this.type,
|
47
|
+
props: this.props.getSerializeProps()
|
48
|
+
};
|
49
|
+
}
|
50
|
+
split(index) {
|
51
|
+
if (index === 0 || index === this.length) {
|
52
|
+
return null;
|
53
|
+
}
|
54
|
+
const clone = new TrackRunElement(this.type);
|
55
|
+
this.props.clone(clone.props);
|
56
|
+
const items = [];
|
57
|
+
for (let i = index; i < this.length; i++) {
|
58
|
+
const child = this.getChild(i);
|
59
|
+
items.push(child);
|
60
|
+
}
|
61
|
+
items.forEach(item => {
|
62
|
+
item.remove();
|
63
|
+
clone.addChild(item);
|
64
|
+
});
|
65
|
+
return clone;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
export class TrackRunRenderObject extends InlineGroupRenderObject {
|
69
|
+
constructor(ele) {
|
70
|
+
super(ele);
|
71
|
+
}
|
72
|
+
beginRender(ctx, position) {
|
73
|
+
const color = this.element.type === 'ins-run' ? 'green' : 'red';
|
74
|
+
//ctx.overlaysContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height, color);
|
75
|
+
}
|
76
|
+
clone() {
|
77
|
+
const cloneRender = new TrackRunRenderObject(this.element);
|
78
|
+
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
79
|
+
for (let i = 0; i < this.length; i++) {
|
80
|
+
cloneRender.addChild(this.getChild(i).clone());
|
81
|
+
}
|
82
|
+
return cloneRender;
|
83
|
+
}
|
84
|
+
endRender(ctx, position) {
|
85
|
+
const { x, y } = position;
|
86
|
+
const color = this.element.type === 'ins-run' ? 'green' : 'red';
|
87
|
+
for (let i = 0; i < this.length; i++) {
|
88
|
+
const childRender = this.getChild(i);
|
89
|
+
const { rect } = childRender;
|
90
|
+
if (childRender.element && childRender.element.type === 'del-run') {
|
91
|
+
continue;
|
92
|
+
}
|
93
|
+
let lineY = y + rect.y + rect.height;
|
94
|
+
lineY = this.element.type === 'ins-run' ? lineY : lineY - rect.height / 2;
|
95
|
+
ctx.contentContext.drawLine(x + rect.x, lineY, rect.width, color, 1);
|
96
|
+
}
|
97
|
+
}
|
98
|
+
}
|
99
|
+
export class RunElementFactory extends ElementFactory {
|
100
|
+
createElement(data, renderCtx) {
|
101
|
+
const ele = new TrackRunElement(data.type);
|
102
|
+
ele.props.userId = data.props?.userId ?? '';
|
103
|
+
ele.props.userName = data.props?.userName ?? '';
|
104
|
+
ele.props.date = data.props?.date ?? '';
|
105
|
+
ele.props.id = data.props?.id ?? nanoid(5);
|
106
|
+
return ele;
|
107
|
+
}
|
108
|
+
match(type) {
|
109
|
+
return type === TrackRunTypeEnum.Inserted || type === TrackRunTypeEnum.Deleted;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
//# sourceMappingURL=track-run-impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"track-run-impl.js","sourceRoot":"","sources":["../../../../src/med_editor/framework/impl/text/track-run-impl.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export declare const reactiveMap: WeakMap<object, object>;
|
2
|
+
export declare const targetMaps: WeakMap<object, Map<propType, Set<notifyCallback>>>;
|
3
|
+
declare type propType = string | number | symbol;
|
4
|
+
interface notifyCallback {
|
5
|
+
(target: object, p: propType, oldValue: any, newValue: any): string | undefined | void;
|
6
|
+
}
|
7
|
+
export declare function watchChanged<T extends object>(source: T, cb: notifyCallback): T;
|
8
|
+
export declare function setNotifyChangedCallback(target: object, p: propType, cb: notifyCallback): void;
|
9
|
+
export declare const isDate: (val: unknown) => val is Date;
|
10
|
+
export declare const objectToString: () => string;
|
11
|
+
export declare const toTypeString: (value: unknown) => string;
|
12
|
+
export declare const toRawType: (value: unknown) => string;
|
13
|
+
export {};
|
@@ -0,0 +1,116 @@
|
|
1
|
+
const EDITOR_REACTIVE = '__editor_reactive';
|
2
|
+
const ITERATOR_KEY = Symbol('iterator-key');
|
3
|
+
export const reactiveMap = new WeakMap();
|
4
|
+
export const targetMaps = new WeakMap();
|
5
|
+
const activeFns = [];
|
6
|
+
function track(target, p) {
|
7
|
+
const activeFn = activeFns[activeFns.length - 1];
|
8
|
+
if (!activeFn) {
|
9
|
+
return;
|
10
|
+
}
|
11
|
+
let targetMap = targetMaps.get(target);
|
12
|
+
if (!targetMap) {
|
13
|
+
targetMaps.set(target, (targetMap = new Map()));
|
14
|
+
}
|
15
|
+
let effectFns = targetMap.get(p);
|
16
|
+
if (!effectFns) {
|
17
|
+
targetMap.set(p, (effectFns = new Set()));
|
18
|
+
}
|
19
|
+
effectFns.add(activeFn);
|
20
|
+
}
|
21
|
+
function trigger(target, p, oldValue, newValue) {
|
22
|
+
//不需要触发
|
23
|
+
if (p.toString().startsWith('__')) {
|
24
|
+
return;
|
25
|
+
}
|
26
|
+
const targetMap = targetMaps.get(target);
|
27
|
+
if (!targetMap) {
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
const effectFns = targetMap.get(p);
|
31
|
+
const iteratorFns = targetMap.get(ITERATOR_KEY);
|
32
|
+
const fns = new Set();
|
33
|
+
effectFns && effectFns.forEach(item => fns.add(item));
|
34
|
+
iteratorFns && iteratorFns.forEach(item => fns.add(item));
|
35
|
+
const activeFn = activeFns[activeFns.length - 1];
|
36
|
+
//防止死循环,过滤正在运行的副作用
|
37
|
+
if (activeFn) {
|
38
|
+
fns.delete(activeFn);
|
39
|
+
}
|
40
|
+
fns.forEach(fn => {
|
41
|
+
fn(target, p, oldValue, newValue);
|
42
|
+
});
|
43
|
+
}
|
44
|
+
export function watchChanged(source, cb) {
|
45
|
+
if (source[EDITOR_REACTIVE]) {
|
46
|
+
addToTrack(source['raw'], source, cb);
|
47
|
+
return source;
|
48
|
+
}
|
49
|
+
if (isDate(source)) {
|
50
|
+
return source;
|
51
|
+
}
|
52
|
+
const existProxy = reactiveMap.get(source);
|
53
|
+
if (existProxy) {
|
54
|
+
return existProxy;
|
55
|
+
}
|
56
|
+
const proxy = new Proxy(source, {
|
57
|
+
get(target, p, receiver) {
|
58
|
+
if (p === 'raw') {
|
59
|
+
return target;
|
60
|
+
}
|
61
|
+
if (p === EDITOR_REACTIVE) {
|
62
|
+
return true;
|
63
|
+
}
|
64
|
+
const res = Reflect.get(target, p, receiver);
|
65
|
+
if (typeof res === 'object' && res) {
|
66
|
+
return watchChanged(res, cb);
|
67
|
+
}
|
68
|
+
return res;
|
69
|
+
},
|
70
|
+
set(target, p, newValue, receiver) {
|
71
|
+
//console.log('设置' + p.toString())
|
72
|
+
const oldValue = target[p];
|
73
|
+
const res = Reflect.set(target, p, newValue, receiver);
|
74
|
+
if (receiver.raw === target) {
|
75
|
+
if (oldValue !== newValue && (oldValue === oldValue || newValue === newValue)) {
|
76
|
+
trigger(target, p, oldValue, newValue);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
return res;
|
80
|
+
},
|
81
|
+
deleteProperty(target, p) {
|
82
|
+
const res = Reflect.deleteProperty(target, p);
|
83
|
+
trigger(target, p, null, null);
|
84
|
+
return res;
|
85
|
+
},
|
86
|
+
defineProperty(target, p, attributes) {
|
87
|
+
const res = Reflect.defineProperty(target, p, attributes);
|
88
|
+
trigger(target, p, null, null);
|
89
|
+
return res;
|
90
|
+
}
|
91
|
+
});
|
92
|
+
addToTrack(source, proxy, cb);
|
93
|
+
return proxy;
|
94
|
+
}
|
95
|
+
function addToTrack(source, proxy, cb) {
|
96
|
+
activeFns.push(cb);
|
97
|
+
track(source, ITERATOR_KEY);
|
98
|
+
activeFns.pop();
|
99
|
+
reactiveMap.set(source, proxy);
|
100
|
+
}
|
101
|
+
export function setNotifyChangedCallback(target, p, cb) {
|
102
|
+
let trackTarget = target;
|
103
|
+
if (target[EDITOR_REACTIVE]) {
|
104
|
+
trackTarget = target['raw'];
|
105
|
+
}
|
106
|
+
activeFns.push(cb);
|
107
|
+
track(trackTarget, p);
|
108
|
+
activeFns.pop();
|
109
|
+
}
|
110
|
+
export const isDate = (val) => val instanceof Date;
|
111
|
+
export const objectToString = Object.prototype.toString;
|
112
|
+
export const toTypeString = (value) => objectToString.call(value);
|
113
|
+
export const toRawType = (value) => {
|
114
|
+
return toTypeString(value).slice(8, -1);
|
115
|
+
};
|
116
|
+
//# sourceMappingURL=notify.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/med_editor/framework/notify.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { BranchElement, Element, LeafElement, SelectionContentRange } from "./element-define";
|
2
|
+
import { TableElement } from "./impl/table/table-impl";
|
3
|
+
import { SelectionState } from './document-selection';
|
4
|
+
export declare class RangeUtil {
|
5
|
+
static getSelctionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
|
6
|
+
static getCollapsedRange(startControl: LeafElement, startOffset: number, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
|
7
|
+
/**
|
8
|
+
* 获取表格选区的内容
|
9
|
+
* @param startControl
|
10
|
+
* @param startOffset
|
11
|
+
* @param endControl
|
12
|
+
* @param endOffset
|
13
|
+
* @param tb
|
14
|
+
*/
|
15
|
+
static getTableSelectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, tb: TableElement): SelectionContentRange;
|
16
|
+
private static getStartForbackTreeData;
|
17
|
+
private static getEndForwardTreeData;
|
18
|
+
private static getChildTreeData;
|
19
|
+
private static setRangeFullSelected;
|
20
|
+
static rangeEquals(selRange1: SelectionContentRange, selRange2: SelectionContentRange): boolean;
|
21
|
+
/**
|
22
|
+
* 根据选区范围更正选区内容状态
|
23
|
+
* @param selectedRange
|
24
|
+
* @param selectionState
|
25
|
+
*/
|
26
|
+
static fixSelectionStateByRange(selectionState: SelectionState): boolean;
|
27
|
+
static getStartRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
|
28
|
+
static getEndRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
|
29
|
+
/**
|
30
|
+
* 循环递归执行选区对象方法
|
31
|
+
* @param range
|
32
|
+
* @param handler
|
33
|
+
*/
|
34
|
+
static recursionTraversalRangeHandler(range: SelectionContentRange, handler: (range: SelectionContentRange) => void): void;
|
35
|
+
/**
|
36
|
+
* 判断元素是否被完全选中
|
37
|
+
* @param range
|
38
|
+
*/
|
39
|
+
static checkElementFullInRange(range: SelectionContentRange, ele: Element): boolean;
|
40
|
+
}
|