@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,108 @@
|
|
1
|
+
import { nanoid } from "nanoid";
|
2
|
+
/**
|
3
|
+
* 元素事件
|
4
|
+
*/
|
5
|
+
export class ElementEvent {
|
6
|
+
ctx;
|
7
|
+
constructor(ctx) {
|
8
|
+
this.ctx = ctx;
|
9
|
+
}
|
10
|
+
/**
|
11
|
+
* 事件源头对象
|
12
|
+
*/
|
13
|
+
source;
|
14
|
+
sourceOffset;
|
15
|
+
sourceRender;
|
16
|
+
/**
|
17
|
+
* 当前所在的对象
|
18
|
+
*/
|
19
|
+
currentElement;
|
20
|
+
currentRenderObjectX;
|
21
|
+
currentRenderObjectY;
|
22
|
+
//是否取消向上冒泡
|
23
|
+
isCancel;
|
24
|
+
globalX;
|
25
|
+
globalY;
|
26
|
+
pageX;
|
27
|
+
pageY;
|
28
|
+
shift;
|
29
|
+
ctrl;
|
30
|
+
buttons;
|
31
|
+
get selectionState() {
|
32
|
+
return this.ctx.selectionState;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
export class ContentMenuItem {
|
36
|
+
icon;
|
37
|
+
caption;
|
38
|
+
eventObj;
|
39
|
+
subItems = [];
|
40
|
+
}
|
41
|
+
/**
|
42
|
+
* 鼠标操作的事件
|
43
|
+
*/
|
44
|
+
export class MouseElementEvent extends ElementEvent {
|
45
|
+
}
|
46
|
+
export class MousedownElementEvent extends ElementEvent {
|
47
|
+
}
|
48
|
+
export class KeyboradElementEvent extends ElementEvent {
|
49
|
+
key;
|
50
|
+
sourceEvent;
|
51
|
+
}
|
52
|
+
export class GotCursorEvent extends ElementEvent {
|
53
|
+
}
|
54
|
+
export class LostCursorEvent extends ElementEvent {
|
55
|
+
}
|
56
|
+
export class GetTrackTipsEvent extends ElementEvent {
|
57
|
+
trackTips;
|
58
|
+
}
|
59
|
+
export class ContextMenuElementEvent extends ElementEvent {
|
60
|
+
menus = [];
|
61
|
+
}
|
62
|
+
export class DropElementEvent extends ElementEvent {
|
63
|
+
dragElement;
|
64
|
+
}
|
65
|
+
export class EventMap {
|
66
|
+
map = new WeakMap();
|
67
|
+
add(element, eventName, listener, useCapture) {
|
68
|
+
const events = this.map.get(element);
|
69
|
+
const eventId = nanoid(8);
|
70
|
+
const eventProps = { id: eventId, eventName, listener, useCapture };
|
71
|
+
if (!events) {
|
72
|
+
this.map.set(element, [eventProps]);
|
73
|
+
}
|
74
|
+
else {
|
75
|
+
events.push(eventProps);
|
76
|
+
}
|
77
|
+
return eventId;
|
78
|
+
}
|
79
|
+
remove(element, eventId) {
|
80
|
+
const events = this.map.get(element);
|
81
|
+
if (events) {
|
82
|
+
const listenerIndex = events.findIndex(item => item.id === eventId);
|
83
|
+
if (listenerIndex >= 0) {
|
84
|
+
events.splice(listenerIndex, 1);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
removeByType(element, eventName) {
|
89
|
+
const events = this.map.get(element);
|
90
|
+
if (events) {
|
91
|
+
const filterEvents = events.filter(item => item.eventName === eventName);
|
92
|
+
filterEvents.forEach(item => { this.remove(element, item.id); });
|
93
|
+
}
|
94
|
+
}
|
95
|
+
clear(element) {
|
96
|
+
//const events = this.map.get(element);
|
97
|
+
this.map.delete(element);
|
98
|
+
}
|
99
|
+
get(element, eventName, useCapture = false) {
|
100
|
+
const events = this.map.get(element);
|
101
|
+
if (events) {
|
102
|
+
const listener = events.filter(item => item.eventName === eventName && item.useCapture === useCapture).map(item => item.listener);
|
103
|
+
return listener;
|
104
|
+
}
|
105
|
+
return [];
|
106
|
+
}
|
107
|
+
}
|
108
|
+
//# sourceMappingURL=element-event-define.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"element-event-define.js","sourceRoot":"","sources":["../../src/med_editor/framework/element-event-define.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,97 @@
|
|
1
|
+
import { Element, InlineGroupElement, ViewOptions } from "./element-define";
|
2
|
+
import { FillNullSpaceRenderObject } from "./impl/decorate/fill-null-space-imple";
|
3
|
+
import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
|
4
|
+
import { ParagraphElement, ParagraphLineRectRenderObject, ParagraphRenderObject } from "./impl/paragraph/p-impl";
|
5
|
+
import { TextGroupRenderObject } from "./impl/text/text-impl";
|
6
|
+
import { RenderContenxtType } from "./render-context";
|
7
|
+
import { InlineGroupRenderObject, RenderObject } from "./render-define";
|
8
|
+
interface ICutLineData {
|
9
|
+
firstItem: RenderObject | null;
|
10
|
+
lastItem: RenderObject | null;
|
11
|
+
br?: boolean;
|
12
|
+
}
|
13
|
+
/**
|
14
|
+
* 测量阶段,生成Render-UI
|
15
|
+
*/
|
16
|
+
export declare class ElementMeasure {
|
17
|
+
private options;
|
18
|
+
private renderCtx;
|
19
|
+
constructor(options: ViewOptions, renderCtx: RenderContenxtType);
|
20
|
+
measureDocument(document: DocumentElement): DocumentRenderObject;
|
21
|
+
measureControl(element: Element, maxWidth: number): RenderObject | null;
|
22
|
+
/**
|
23
|
+
* 生成段落 UI 树
|
24
|
+
* @param para
|
25
|
+
* @param render
|
26
|
+
*/
|
27
|
+
measureParagraph(para: ParagraphElement, render: ParagraphRenderObject): void;
|
28
|
+
/**
|
29
|
+
* 设置段落默认文本属性
|
30
|
+
* 当前段落属于空段落时,键入文本时,文本的默认属性
|
31
|
+
*/
|
32
|
+
setParagraphDefaultTextProps(para: ParagraphElement): void;
|
33
|
+
/**
|
34
|
+
* 根据段落UI元素,进行排列
|
35
|
+
* @param render
|
36
|
+
* @param paragraph
|
37
|
+
* @param renderObjects
|
38
|
+
*/
|
39
|
+
measureInnerParagraph(render: ParagraphRenderObject, paragraph: ParagraphElement, renderObjects: Array<RenderObject>): void;
|
40
|
+
/**
|
41
|
+
* 获取段落行布局横向坐标起始位置,被段落text-align影响
|
42
|
+
*/
|
43
|
+
getParaLineRectStartX(counter: number, paraLineIndex: number, paraElement: ParagraphElement, paraRenderObject: ParagraphRenderObject, paraLineRender: ParagraphLineRectRenderObject): number;
|
44
|
+
/**
|
45
|
+
* 设置两端对齐
|
46
|
+
* @param render
|
47
|
+
* @param count
|
48
|
+
* @param spaceWidth
|
49
|
+
*/
|
50
|
+
private setAlignJustify;
|
51
|
+
/**
|
52
|
+
* 获取段落行渲染单位个数,字符需要计算为字符长度
|
53
|
+
*/
|
54
|
+
private getRenderUnitLength;
|
55
|
+
getInlineGroupRenderItem(item: InlineGroupElement): RenderObject | null;
|
56
|
+
cutRenderItem(render: RenderObject, nextRender: RenderObject, limitWidth: number, lineEmpty: boolean, inCloseBody: boolean): ICutLineData;
|
57
|
+
cutTextRender(render: TextGroupRenderObject, nextRender: RenderObject, limitWidth: number, lineEmpty: boolean, inCloseBody: boolean): ICutLineData;
|
58
|
+
/**
|
59
|
+
* 处理前置标点,前置标点不能出现在末尾
|
60
|
+
* @param render
|
61
|
+
* @param i
|
62
|
+
*/
|
63
|
+
private patchHandleLeadingPunctuation;
|
64
|
+
/**
|
65
|
+
* 处理后置标点,后置标点不能出现在行首
|
66
|
+
* @param render
|
67
|
+
* @param i
|
68
|
+
* @param lineEmpty
|
69
|
+
*/
|
70
|
+
private patchHandlePostPunctuation;
|
71
|
+
/**
|
72
|
+
* 是否包含后置标点
|
73
|
+
* @param str
|
74
|
+
* @returns
|
75
|
+
*/
|
76
|
+
private containPostPunctuation;
|
77
|
+
private containLeadingPunctuation;
|
78
|
+
/**
|
79
|
+
* 文本开头是否包含后置标点
|
80
|
+
* @param render
|
81
|
+
* @returns
|
82
|
+
*/
|
83
|
+
private containerStartSymbolInTextStart;
|
84
|
+
cutFillNullRender(render: FillNullSpaceRenderObject, limitWidth: number): ICutLineData;
|
85
|
+
/**
|
86
|
+
* 行内编组元素超出行内可用空间,需要根据剩余空间长度进行截断
|
87
|
+
*/
|
88
|
+
cutInlineGroupRenderItem(render: InlineGroupRenderObject, limitWidth: number, emptyLine: boolean, inCloseBody: boolean): ICutLineData;
|
89
|
+
/**
|
90
|
+
* 修改测量完毕后的元素状态
|
91
|
+
* @param ele
|
92
|
+
*/
|
93
|
+
setMeasureCompletedModifyFlag(ele: Element): void;
|
94
|
+
clearPaintCache(ele: Element): void;
|
95
|
+
endMeasures(ele: Element): void;
|
96
|
+
}
|
97
|
+
export {};
|