@hailin-zheng/editor-core 1.0.5 → 1.0.6
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/{src/med_editor/doc-ruler.ts → lib/doc-ruler.js} +73 -100
- 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/{src/med_editor/framework/document-change.ts → lib/framework/document-change.js} +257 -307
- package/lib/framework/document-change.js.map +1 -0
- package/lib/framework/document-combine.d.ts +24 -0
- package/{src/med_editor/framework/document-combine.ts → lib/framework/document-combine.js} +11 -15
- package/lib/framework/document-combine.js.map +1 -0
- package/lib/framework/document-comment.d.ts +46 -0
- package/{src/med_editor/framework/document-comment.ts → lib/framework/document-comment.js} +37 -57
- package/lib/framework/document-comment.js.map +1 -0
- package/lib/framework/document-context.d.ts +149 -0
- package/{src/med_editor/framework/document-context.ts → lib/framework/document-context.js} +101 -181
- package/lib/framework/document-context.js.map +1 -0
- package/lib/framework/document-eval-func.d.ts +18 -0
- package/{src/med_editor/framework/document-eval-func.ts → lib/framework/document-eval-func.js} +11 -16
- package/lib/framework/document-eval-func.js.map +1 -0
- package/lib/framework/document-event.d.ts +213 -0
- package/{src/med_editor/framework/document-event.ts → lib/framework/document-event.js} +216 -244
- package/lib/framework/document-event.js.map +1 -0
- package/lib/framework/document-history.d.ts +26 -0
- package/{src/med_editor/framework/document-history.ts → lib/framework/document-history.js} +14 -25
- package/lib/framework/document-history.js.map +1 -0
- package/lib/framework/document-images-loader.d.ts +16 -0
- package/{src/med_editor/framework/document-images-loader.ts → lib/framework/document-images-loader.js} +17 -25
- package/lib/framework/document-images-loader.js.map +1 -0
- package/lib/framework/document-input-cursor.d.ts +78 -0
- package/{src/med_editor/framework/document-input-cursor.ts → lib/framework/document-input-cursor.js} +71 -76
- package/lib/framework/document-input-cursor.js.map +1 -0
- package/lib/framework/document-paint.d.ts +34 -0
- package/{src/med_editor/framework/document-paint.ts → lib/framework/document-paint.js} +28 -35
- package/lib/framework/document-paint.js.map +1 -0
- package/lib/framework/document-print-offscreen.d.ts +38 -0
- package/{src/med_editor/framework/document-print-offscreen.ts → lib/framework/document-print-offscreen.js} +19 -25
- package/lib/framework/document-print-offscreen.js.map +1 -0
- package/lib/framework/document-print.d.ts +60 -0
- package/{src/med_editor/framework/document-print.ts → lib/framework/document-print.js} +41 -57
- 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/{src/med_editor/framework/document-selection.ts → lib/framework/document-selection.js} +84 -117
- package/lib/framework/document-selection.js.map +1 -0
- package/lib/framework/document-template.d.ts +4 -0
- package/{src/med_editor/framework/document-template.ts → lib/framework/document-template.js} +3 -3
- 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/{src/med_editor/framework/element-define.ts → lib/framework/element-define.js} +206 -301
- 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/{src/med_editor/framework/element-measure.ts → lib/framework/element-measure.js} +121 -143
- package/lib/framework/element-measure.js.map +1 -0
- package/lib/framework/element-paint.d.ts +42 -0
- package/{src/med_editor/framework/element-paint.ts → lib/framework/element-paint.js} +37 -43
- package/lib/framework/element-paint.js.map +1 -0
- package/lib/framework/element-props.d.ts +301 -0
- package/{src/med_editor/framework/element-props.ts → lib/framework/element-props.js} +202 -331
- package/lib/framework/element-props.js.map +1 -0
- package/lib/framework/element-reader.d.ts +19 -0
- package/{src/med_editor/framework/element-reader.ts → lib/framework/element-reader.js} +30 -38
- package/lib/framework/element-reader.js.map +1 -0
- package/lib/framework/element-render-cut.d.ts +55 -0
- package/{src/med_editor/framework/element-render-cut.ts → lib/framework/element-render-cut.js} +106 -113
- package/lib/framework/element-render-cut.js.map +1 -0
- package/lib/framework/element-serialize.d.ts +30 -0
- package/{src/med_editor/framework/element-serialize.ts → lib/framework/element-serialize.js} +25 -40
- package/lib/framework/element-serialize.js.map +1 -0
- package/lib/framework/element-util.d.ts +369 -0
- package/{src/med_editor/framework/element-util.ts → lib/framework/element-util.js} +216 -318
- package/lib/framework/element-util.js.map +1 -0
- package/lib/framework/impl/checkbox/checkbox-impl.d.ts +24 -0
- package/{src/med_editor/framework/impl/checkbox/checkbox-impl.ts → lib/framework/impl/checkbox/checkbox-impl.js} +18 -25
- package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -0
- package/lib/framework/impl/comments/comment-content-impl.d.ts +40 -0
- package/{src/med_editor/framework/impl/comments/comment-content-impl.ts → lib/framework/impl/comments/comment-content-impl.js} +31 -45
- 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/{src/med_editor/framework/impl/comments/comment-element-impl.ts → lib/framework/impl/comments/comment-element-impl.js} +18 -21
- 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/{src/med_editor/framework/impl/comments/comments-container-impl.ts → lib/framework/impl/comments/comments-container-impl.js} +15 -21
- package/lib/framework/impl/comments/comments-container-impl.js.map +1 -0
- package/lib/framework/impl/comments/comments-util.d.ts +12 -0
- package/{src/med_editor/framework/impl/comments/comments-util.ts → lib/framework/impl/comments/comments-util.js} +17 -34
- package/lib/framework/impl/comments/comments-util.js.map +1 -0
- package/lib/framework/impl/comments/validate-msg-impl.d.ts +21 -0
- package/{src/med_editor/framework/impl/comments/validate-msg-impl.ts → lib/framework/impl/comments/validate-msg-impl.js} +15 -26
- 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/{src/med_editor/framework/impl/data-element/data-decorate-impl.ts → lib/framework/impl/data-element/data-decorate-impl.js} +21 -25
- 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/{src/med_editor/framework/impl/data-element/data-element-barcode.ts → lib/framework/impl/data-element/data-element-barcode.js} +27 -39
- 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/{src/med_editor/framework/impl/data-element/data-element-base-impl.ts → lib/framework/impl/data-element/data-element-base-impl.js} +44 -73
- 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/{src/med_editor/framework/impl/data-element/data-element-check-impl.ts → lib/framework/impl/data-element/data-element-check-impl.js} +33 -46
- 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/{src/med_editor/framework/impl/data-element/data-element-date-impl.ts → lib/framework/impl/data-element/data-element-date-impl.js} +22 -39
- 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/{src/med_editor/framework/impl/data-element/data-element-group-impl.ts → lib/framework/impl/data-element/data-element-group-impl.js} +29 -49
- 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/{src/med_editor/framework/impl/data-element/data-element-image-impl.ts → lib/framework/impl/data-element/data-element-image-impl.js} +26 -36
- 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/{src/med_editor/framework/impl/data-element/data-element-list-impl.ts → lib/framework/impl/data-element/data-element-list-impl.js} +30 -41
- 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/{src/med_editor/framework/impl/data-element/data-element-text-impl.ts → lib/framework/impl/data-element/data-element-text-impl.js} +20 -34
- 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/{src/med_editor/framework/impl/decorate/fill-null-space-imple.ts → lib/framework/impl/decorate/fill-null-space-imple.js} +10 -15
- 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/{src/med_editor/framework/impl/document/doc-body-impl.ts → lib/framework/impl/document/doc-body-impl.js} +15 -31
- 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/{src/med_editor/framework/impl/document/doc-body-part-impl.ts → lib/framework/impl/document/doc-body-part-impl.js} +16 -26
- 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/{src/med_editor/framework/impl/document/doc-footer-impl.ts → lib/framework/impl/document/doc-footer-impl.js} +18 -29
- 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/{src/med_editor/framework/impl/document/doc-header-impl.ts → lib/framework/impl/document/doc-header-impl.js} +16 -33
- package/lib/framework/impl/document/doc-header-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-impl.d.ts +61 -0
- package/{src/med_editor/framework/impl/document/doc-impl.ts → lib/framework/impl/document/doc-impl.js} +42 -59
- package/lib/framework/impl/document/doc-impl.js.map +1 -0
- package/lib/framework/impl/media-formula/menstrual-history.d.ts +35 -0
- package/{src/med_editor/framework/impl/media-formula/menstrual-history.ts → lib/framework/impl/media-formula/menstrual-history.js} +35 -57
- package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -0
- package/lib/framework/impl/paragraph/p-impl.d.ts +45 -0
- package/{src/med_editor/framework/impl/paragraph/p-impl.ts → lib/framework/impl/paragraph/p-impl.js} +28 -62
- package/lib/framework/impl/paragraph/p-impl.js.map +1 -0
- package/lib/framework/impl/picture/image-impl.d.ts +31 -0
- package/{src/med_editor/framework/impl/picture/image-impl.ts → lib/framework/impl/picture/image-impl.js} +23 -35
- package/lib/framework/impl/picture/image-impl.js.map +1 -0
- package/lib/framework/impl/radio/radio-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/radio/radio-impl.ts → lib/framework/impl/radio/radio-impl.js} +19 -26
- package/lib/framework/impl/radio/radio-impl.js.map +1 -0
- package/lib/framework/impl/symbol/br-symbol-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/symbol/br-symbol-impl.ts → lib/framework/impl/symbol/br-symbol-impl.js} +14 -20
- 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/{src/med_editor/framework/impl/symbol/p-symbol-impl.ts → lib/framework/impl/symbol/p-symbol-impl.js} +11 -14
- 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/{src/med_editor/framework/impl/table/table-cell-impl.ts → lib/framework/impl/table/table-cell-impl.js} +28 -39
- package/lib/framework/impl/table/table-cell-impl.js.map +1 -0
- package/lib/framework/impl/table/table-impl.d.ts +55 -0
- package/{src/med_editor/framework/impl/table/table-impl.ts → lib/framework/impl/table/table-impl.js} +82 -120
- package/lib/framework/impl/table/table-impl.js.map +1 -0
- package/lib/framework/impl/table/table-row-impl.d.ts +26 -0
- package/{src/med_editor/framework/impl/table/table-row-impl.ts → lib/framework/impl/table/table-row-impl.js} +16 -24
- 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/{src/med_editor/framework/impl/table/table-split-cell-patch.ts → lib/framework/impl/table/table-split-cell-patch.js} +22 -31
- 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/{src/med_editor/framework/impl/table/table-split-cell.ts → lib/framework/impl/table/table-split-cell.js} +94 -105
- package/lib/framework/impl/table/table-split-cell.js.map +1 -0
- package/lib/framework/impl/table/table-util.d.ts +150 -0
- package/{src/med_editor/framework/impl/table/table-util.ts → lib/framework/impl/table/table-util.js} +157 -195
- package/lib/framework/impl/table/table-util.js.map +1 -0
- package/lib/framework/impl/text/text-impl.d.ts +32 -0
- package/{src/med_editor/framework/impl/text/text-impl.ts → lib/framework/impl/text/text-impl.js} +32 -47
- package/lib/framework/impl/text/text-impl.js.map +1 -0
- package/lib/framework/impl/text/track-run-impl.d.ts +27 -0
- package/{src/med_editor/framework/impl/text/track-run-impl.ts → lib/framework/impl/text/track-run-impl.js} +28 -51
- package/lib/framework/impl/text/track-run-impl.js.map +1 -0
- package/lib/framework/notify.d.ts +13 -0
- package/{src/med_editor/framework/notify.ts → lib/framework/notify.js} +36 -50
- package/lib/framework/notify.js.map +1 -0
- package/lib/framework/range-util.d.ts +40 -0
- package/{src/med_editor/framework/range-util.ts → lib/framework/range-util.js} +71 -80
- package/lib/framework/range-util.js.map +1 -0
- package/lib/framework/render-context.d.ts +91 -0
- package/{src/med_editor/framework/render-context.ts → lib/framework/render-context.js} +64 -111
- package/lib/framework/render-context.js.map +1 -0
- package/lib/framework/render-define.d.ts +109 -0
- package/{src/med_editor/framework/render-define.ts → lib/framework/render-define.js} +61 -90
- package/lib/framework/render-define.js.map +1 -0
- package/lib/framework/selection-overlays.d.ts +30 -0
- package/{src/med_editor/framework/selection-overlays.ts → lib/framework/selection-overlays.js} +16 -26
- package/lib/framework/selection-overlays.js.map +1 -0
- package/lib/texteditor.d.ts +318 -0
- package/{src/med_editor/texteditor.ts → lib/texteditor.js} +189 -287
- 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/{src/med_editor/util/table-bind.ts → lib/util/table-bind.js} +2 -2
- package/lib/util/table-bind.js.map +1 -0
- package/package.json +6 -2
- package/src/med_editor/framework/common-util.ts +0 -200
- package/src/med_editor/framework/document-segmenter.ts +0 -211
- package/src/med_editor/framework/document-textline-mode.ts +0 -34
- package/src/med_editor/framework/element-event-define.ts +0 -142
- package/src/med_editor/framework/impl/document/doc-container-impl.ts +0 -24
- package/src/med_editor/util/subject.ts +0 -118
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +0 -3573
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225.json +0 -3573
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225bug.json +0 -315
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/211/271/346/263/250.json +0 -122
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/226/207/346/241/243/351/252/214/350/257/201.json +0 -3599
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/351/225/277/346/226/207/346/234/254.json +0 -24586
- package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +0 -2874
- package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +0 -341
- package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +0 -2201
- package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +0 -1069
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/206/205/351/225/234/344/270/213/346/262/273/347/226/227/350/256/260/345/275/225.json +0 -125
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225/346/250/241/346/235/277.json +0 -86
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/227/245/345/270/270/347/227/205/347/250/213/350/256/260/345/275/225.json +0 -115
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/237/245/346/210/277/350/256/260/345/275/2251.json +0 -108
- package/src/med_editor//347/227/205/347/250/213/345/275/225//351/246/226/346/254/241/344/270/212/347/272/247/345/214/273/345/270/210/346/237/245/346/210/277/350/256/260/345/275/225.json +0 -272
- package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +0 -1070
- package/tsconfig.json +0 -25
- package/webpack.config.js +0 -46
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"texteditor.js","sourceRoot":"","sources":["../src/med_editor/texteditor.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { Element, RefreshType } from "@/med_editor/framework/element-define";
|
2
|
+
export declare type EventTypeNamesMap = {
|
3
|
+
refresh: RefreshType;
|
4
|
+
click: string;
|
5
|
+
};
|
6
|
+
declare type eventNameMap = keyof EventTypeNamesMap;
|
7
|
+
export interface EventListenerFn<P extends eventNameMap> {
|
8
|
+
(evt: P): void;
|
9
|
+
}
|
10
|
+
export declare type IEventListenerMap = {
|
11
|
+
[PropName in keyof EventTypeNamesMap]?: Array<(evt: any) => void>;
|
12
|
+
};
|
13
|
+
export declare const eventMap: WeakMap<Element, IEventListenerMap>;
|
14
|
+
export interface SubObject {
|
15
|
+
get state(): boolean;
|
16
|
+
unsubscribe(): void;
|
17
|
+
dispatch(evt: any): void;
|
18
|
+
}
|
19
|
+
export declare function addSubscribe<P extends eventNameMap, E>(element: Element, eventName: P, event: (evt: E) => void): SubObject;
|
20
|
+
export interface Subscribtion {
|
21
|
+
get state(): boolean;
|
22
|
+
unsubscribe(): void;
|
23
|
+
}
|
24
|
+
export declare class EditorSubject<T> {
|
25
|
+
private _value;
|
26
|
+
private _listeners;
|
27
|
+
constructor(value: T);
|
28
|
+
get value(): T;
|
29
|
+
set value(value: T);
|
30
|
+
subscribe(listener: (value: T) => void): Subscribtion;
|
31
|
+
unsubscribe(listener: (value: T) => void): void;
|
32
|
+
dispatch(evt: T): void;
|
33
|
+
}
|
34
|
+
export {};
|
@@ -0,0 +1,88 @@
|
|
1
|
+
export const eventMap = new WeakMap();
|
2
|
+
export function addSubscribe(element, eventName, event) {
|
3
|
+
let listeners = eventMap.get(element);
|
4
|
+
if (!listeners) {
|
5
|
+
listeners = {};
|
6
|
+
eventMap.set(element, listeners);
|
7
|
+
}
|
8
|
+
let listenersArray = listeners[eventName];
|
9
|
+
if (!listenersArray) {
|
10
|
+
listenersArray = [];
|
11
|
+
listeners[eventName] = listenersArray;
|
12
|
+
}
|
13
|
+
listenersArray.push(event);
|
14
|
+
let flag = true;
|
15
|
+
return {
|
16
|
+
get state() {
|
17
|
+
return flag;
|
18
|
+
},
|
19
|
+
dispatch(evt) {
|
20
|
+
if (flag) {
|
21
|
+
event(evt);
|
22
|
+
}
|
23
|
+
},
|
24
|
+
unsubscribe() {
|
25
|
+
if (flag) {
|
26
|
+
flag = false;
|
27
|
+
removeSubscribe(element, eventName, event);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
};
|
31
|
+
}
|
32
|
+
function removeSubscribe(element, eventName, event) {
|
33
|
+
let listeners = eventMap.get(element);
|
34
|
+
if (!listeners) {
|
35
|
+
return;
|
36
|
+
}
|
37
|
+
let listenersArray = listeners[eventName];
|
38
|
+
if (!listenersArray) {
|
39
|
+
return;
|
40
|
+
}
|
41
|
+
const index = listenersArray.indexOf(event);
|
42
|
+
if (index > -1) {
|
43
|
+
listenersArray.splice(index, 1);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
export class EditorSubject {
|
47
|
+
_value;
|
48
|
+
_listeners;
|
49
|
+
constructor(value) {
|
50
|
+
this._value = value;
|
51
|
+
this._listeners = [];
|
52
|
+
}
|
53
|
+
get value() {
|
54
|
+
return this._value;
|
55
|
+
}
|
56
|
+
set value(value) {
|
57
|
+
this._value = value;
|
58
|
+
this._listeners.forEach(listener => {
|
59
|
+
listener(value);
|
60
|
+
});
|
61
|
+
}
|
62
|
+
subscribe(listener) {
|
63
|
+
this._listeners.push(listener);
|
64
|
+
let state = true;
|
65
|
+
const unsubscribe = () => {
|
66
|
+
if (state) {
|
67
|
+
state = false;
|
68
|
+
this.unsubscribe(listener);
|
69
|
+
}
|
70
|
+
};
|
71
|
+
return {
|
72
|
+
get state() {
|
73
|
+
return state;
|
74
|
+
},
|
75
|
+
unsubscribe
|
76
|
+
};
|
77
|
+
}
|
78
|
+
unsubscribe(listener) {
|
79
|
+
const index = this._listeners.indexOf(listener);
|
80
|
+
if (index > -1) {
|
81
|
+
this._listeners.splice(index, 1);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
dispatch(evt) {
|
85
|
+
this._listeners.forEach(fn => fn(evt));
|
86
|
+
}
|
87
|
+
}
|
88
|
+
//# sourceMappingURL=subject.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"subject.js","sourceRoot":"","sources":["../../src/med_editor/util/subject.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"table-bind.js","sourceRoot":"","sources":["../../src/med_editor/util/table-bind.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,SAAS;CAErB"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hailin-zheng/editor-core",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.6",
|
4
4
|
"description": "",
|
5
5
|
"main": "texteditor.ts",
|
6
6
|
"scripts": {
|
@@ -37,5 +37,9 @@
|
|
37
37
|
"moment": "^2.29.3",
|
38
38
|
"nanoid": "^3.1.30",
|
39
39
|
"rxjs": "^6.6.7"
|
40
|
-
}
|
40
|
+
},
|
41
|
+
"files": [
|
42
|
+
"lib",
|
43
|
+
"package.json"
|
44
|
+
]
|
41
45
|
}
|
@@ -1,200 +0,0 @@
|
|
1
|
-
import moment from "moment";
|
2
|
-
import { Rect } from "./element-define";
|
3
|
-
import { BorderType } from "./render-define";
|
4
|
-
interface Position {
|
5
|
-
x: number;
|
6
|
-
y: number;
|
7
|
-
}
|
8
|
-
|
9
|
-
export class CommonUtil {
|
10
|
-
|
11
|
-
/**
|
12
|
-
* 判断坐标是否在矩形框内
|
13
|
-
* @param rect
|
14
|
-
* @param position
|
15
|
-
* @returns
|
16
|
-
*/
|
17
|
-
static isInsideRectByPosition(rect: Rect, position: Position): boolean {
|
18
|
-
return position.x >= rect.x
|
19
|
-
&&
|
20
|
-
position.x <= rect.x + rect.width
|
21
|
-
&&
|
22
|
-
position.y >= rect.y
|
23
|
-
&&
|
24
|
-
position.y <= rect.y + rect.height;
|
25
|
-
}
|
26
|
-
|
27
|
-
static isInsideRectByRect(rect: Rect, position: Rect): boolean {
|
28
|
-
return position.x >= rect.x
|
29
|
-
&&
|
30
|
-
position.x <= rect.x + rect.width
|
31
|
-
&&
|
32
|
-
position.y >= rect.y
|
33
|
-
&&
|
34
|
-
position.y <= rect.y + rect.height
|
35
|
-
&&
|
36
|
-
position.y + position.height <= rect.y + rect.height
|
37
|
-
&&
|
38
|
-
position.x + position.width <= rect.x + rect.width;
|
39
|
-
}
|
40
|
-
|
41
|
-
/**
|
42
|
-
* 判断坐标是否在矩形的边框上
|
43
|
-
* @param rect
|
44
|
-
* @param borderWidth
|
45
|
-
* @param position
|
46
|
-
*/
|
47
|
-
static isInRectBorder(rect: Rect, borderWidth: number, position: Position): { borderType: BorderType } {
|
48
|
-
const leftBorderRect: Rect = { x: 0, y: 0, width: borderWidth, height: rect.height, maxWidth: 0, maxHeight: 0 };
|
49
|
-
const rightBorderRect: Rect = { x: rect.width - borderWidth, y: 0, width: borderWidth, height: rect.height, maxWidth: 0, maxHeight: 0 };
|
50
|
-
const topBorderRect: Rect = { x: 0, y: 0, width: rect.width, height: borderWidth, maxWidth: 0, maxHeight: 0 };
|
51
|
-
const bottomBorderRect: Rect = { x: 0, y: rect.height - borderWidth, width: rect.width, height: borderWidth, maxWidth: 0, maxHeight: 0 };
|
52
|
-
let borderType: BorderType = 'none';
|
53
|
-
if (this.isInsideRectByPosition(leftBorderRect, position)) {
|
54
|
-
borderType = 'left';
|
55
|
-
} else if (this.isInsideRectByPosition(rightBorderRect, position)) {
|
56
|
-
borderType = 'right';
|
57
|
-
} else if (this.isInsideRectByPosition(topBorderRect, position)) {
|
58
|
-
borderType = 'top';
|
59
|
-
} else if (this.isInsideRectByPosition(bottomBorderRect, position)) {
|
60
|
-
borderType = 'bottom';
|
61
|
-
}
|
62
|
-
return { borderType };
|
63
|
-
}
|
64
|
-
|
65
|
-
/**
|
66
|
-
* 判断坐标是否在图片的缩放操作点上
|
67
|
-
*/
|
68
|
-
static isInPictureResizePoint(rect: Rect, pos: Position, r: number): { borderType: BorderType } | null {
|
69
|
-
const { width, height } = rect;
|
70
|
-
const x = 0;
|
71
|
-
const y = 0;
|
72
|
-
const points: Array<{ x: number, y: number, type: BorderType }> = [{ x, y, type: 'left-top' }, { x: x + width, y, type: 'right-top' }, { x: x + (Math.floor(width / 2)), y: y, type: 'top-middle' }, { x, y: y + Math.floor(height / 2), type: 'left-middle' }, { x, y: y + height, type: 'left-bottom' }, { x: width, y: Math.floor(height / 2), type: 'right-middle' }, { x: x + width, y: y + height, type: 'right-bottom' }, { x: x + (Math.floor(width / 2)), y: y + height, type: 'bottom-middle' }];
|
73
|
-
for (let i = 0; i < points.length; i++) {
|
74
|
-
const point = points[i];
|
75
|
-
const { x: px, y: py } = point;
|
76
|
-
if (((px - pos.x) * (px - pos.x) + (py - pos.y) * (py - pos.y)) < r * r) {
|
77
|
-
return { borderType: point.type };
|
78
|
-
}
|
79
|
-
}
|
80
|
-
return null;
|
81
|
-
}
|
82
|
-
|
83
|
-
|
84
|
-
/**
|
85
|
-
* 整形符合连线要求
|
86
|
-
* @param points
|
87
|
-
* @param width
|
88
|
-
* @param strokeColor
|
89
|
-
*/
|
90
|
-
static resharpPoints(points: Array<Position>): Array<Position> {
|
91
|
-
let prevPoint: Position = points[0];
|
92
|
-
const array: Array<Position> = [];
|
93
|
-
array.push(prevPoint);
|
94
|
-
for (let i = 1; i < points.length; i++) {
|
95
|
-
const currPoint = points[i];
|
96
|
-
//不在同一水平线
|
97
|
-
if (currPoint.y !== prevPoint.y && currPoint.x !== prevPoint.x) {
|
98
|
-
array.push({ x: currPoint.x, y: prevPoint.y });
|
99
|
-
}
|
100
|
-
array.push(currPoint);
|
101
|
-
prevPoint = currPoint;
|
102
|
-
}
|
103
|
-
return array;
|
104
|
-
}
|
105
|
-
|
106
|
-
static getOffsetX(node: HTMLElement): number {
|
107
|
-
if (!node.parentElement) {
|
108
|
-
throw new Error('node.parentElement is null')
|
109
|
-
}
|
110
|
-
const parent = node.parentElement.getBoundingClientRect().left;
|
111
|
-
const curr = node.getBoundingClientRect().left;
|
112
|
-
return curr - parent;
|
113
|
-
}
|
114
|
-
|
115
|
-
static randomColor() {
|
116
|
-
let str = "#";
|
117
|
-
for (let i = 0; i < 6; i++) {
|
118
|
-
str += Math.floor(Math.random() * 16).toString(16);
|
119
|
-
}
|
120
|
-
return str;
|
121
|
-
}
|
122
|
-
|
123
|
-
/**
|
124
|
-
* 判断一个数值是否在另一个数值的增益区间中
|
125
|
-
* @param val
|
126
|
-
* @param offset
|
127
|
-
* @param compareValue
|
128
|
-
* @returns
|
129
|
-
*/
|
130
|
-
static ApproxmateValueInRange(val: number, offset: number, compareValue: number): boolean {
|
131
|
-
return (val - offset) <= compareValue && (val + offset) >= compareValue;
|
132
|
-
}
|
133
|
-
|
134
|
-
|
135
|
-
static getEmptyValue<T>(val: T, emptyVal: T): T {
|
136
|
-
if (!val) {
|
137
|
-
return emptyVal;
|
138
|
-
}
|
139
|
-
return val;
|
140
|
-
}
|
141
|
-
|
142
|
-
/**
|
143
|
-
* 移除并集
|
144
|
-
* @param array
|
145
|
-
* @param deleteItems
|
146
|
-
* @returns
|
147
|
-
*/
|
148
|
-
static removeUnionSet<T>(array: Array<T>, deleteItems: Array<T>): Array<T> {
|
149
|
-
const arraySet = new Set(array);
|
150
|
-
for (let i = 0; i < deleteItems.length; i++) {
|
151
|
-
const item = deleteItems[i];
|
152
|
-
if (arraySet.has(item)) {
|
153
|
-
arraySet.delete(item)
|
154
|
-
}
|
155
|
-
}
|
156
|
-
return Array.from(arraySet);
|
157
|
-
}
|
158
|
-
|
159
|
-
static nullToString(val: any): string {
|
160
|
-
if (val === null || val === undefined) {
|
161
|
-
return '';
|
162
|
-
}
|
163
|
-
return val;
|
164
|
-
}
|
165
|
-
|
166
|
-
static formatDate(date: Date, format: string): string {
|
167
|
-
return moment(date).format(format);
|
168
|
-
}
|
169
|
-
|
170
|
-
static formatNow(format: string): string {
|
171
|
-
return this.formatDate(new Date(), format);
|
172
|
-
}
|
173
|
-
|
174
|
-
static parseText(text: string, data: object): string {
|
175
|
-
const reg = /\{(.*?)\}/g;
|
176
|
-
let result = text;
|
177
|
-
let match;
|
178
|
-
while (match = reg.exec(text)) {
|
179
|
-
const key = match[1];
|
180
|
-
const value = data[key];
|
181
|
-
result = result.replace(match[0], value);
|
182
|
-
}
|
183
|
-
return result;
|
184
|
-
}
|
185
|
-
|
186
|
-
//获取和当前日期相差的秒数
|
187
|
-
static getNowDiffSeconds(date: Date | string): number {
|
188
|
-
date = typeof date === 'string' ? new Date(date) : date;
|
189
|
-
const now = new Date();
|
190
|
-
const diff = now.getTime() - date.getTime();
|
191
|
-
return diff / 1000;
|
192
|
-
}
|
193
|
-
|
194
|
-
//验证当前字符串是否为日期格式
|
195
|
-
static isDate(str: string): boolean {
|
196
|
-
const reg = /^\d{4}-\d{2}-\d{2}$/;
|
197
|
-
return reg.test(str);
|
198
|
-
}
|
199
|
-
|
200
|
-
}
|
@@ -1,211 +0,0 @@
|
|
1
|
-
import { Element, LeafElement } from "@/med_editor/framework/element-define";
|
2
|
-
import { TextGroupElement } from "@/med_editor/framework/impl/text/text-impl";
|
3
|
-
import { ElementUtil } from "@/med_editor/framework/element-util";
|
4
|
-
import { SelectionRange, SelectionState } from "./document-selection";
|
5
|
-
|
6
|
-
declare namespace Intl {
|
7
|
-
|
8
|
-
type BCP47LanguageTag = string;
|
9
|
-
|
10
|
-
/**
|
11
|
-
* An object with some or all properties of the `Intl.Segmenter` constructor `options` parameter.
|
12
|
-
*
|
13
|
-
* [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/Segmenter#parameters)
|
14
|
-
*/
|
15
|
-
interface SegmenterOptions {
|
16
|
-
/** The locale matching algorithm to use. For information about this option, see [Intl page](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation). */
|
17
|
-
localeMatcher?: "best fit" | "lookup" | undefined;
|
18
|
-
/** The type of input to be split */
|
19
|
-
granularity?: "grapheme" | "word" | "sentence" | undefined;
|
20
|
-
}
|
21
|
-
|
22
|
-
interface Segmenter {
|
23
|
-
/**
|
24
|
-
* Returns `Segments` object containing the segments of the input string, using the segmenter's locale and granularity.
|
25
|
-
*
|
26
|
-
* @param input - The text to be segmented as a `string`.
|
27
|
-
*
|
28
|
-
* @returns A new iterable Segments object containing the segments of the input string, using the segmenter's locale and granularity.
|
29
|
-
*/
|
30
|
-
segment(input: string): Segments;
|
31
|
-
|
32
|
-
resolvedOptions(): ResolvedSegmenterOptions;
|
33
|
-
}
|
34
|
-
|
35
|
-
interface ResolvedSegmenterOptions {
|
36
|
-
locale: string;
|
37
|
-
granularity: "grapheme" | "word" | "sentence";
|
38
|
-
}
|
39
|
-
|
40
|
-
interface Segments {
|
41
|
-
/**
|
42
|
-
* Returns an object describing the segment in the original string that includes the code unit at a specified index.
|
43
|
-
*
|
44
|
-
* @param codeUnitIndex - A number specifying the index of the code unit in the original input string. If the value is omitted, it defaults to `0`.
|
45
|
-
*/
|
46
|
-
containing(codeUnitIndex?: number): SegmentData;
|
47
|
-
|
48
|
-
/** Returns an iterator to iterate over the segments. */
|
49
|
-
[Symbol.iterator](): IterableIterator<SegmentData>;
|
50
|
-
}
|
51
|
-
|
52
|
-
interface SegmentData {
|
53
|
-
/** A string containing the segment extracted from the original input string. */
|
54
|
-
segment: string;
|
55
|
-
/** The code unit index in the original input string at which the segment begins. */
|
56
|
-
index: number;
|
57
|
-
/** The complete input string that was segmented. */
|
58
|
-
input: string;
|
59
|
-
/**
|
60
|
-
* A boolean value only if granularity is "word"; otherwise, undefined.
|
61
|
-
* If granularity is "word", then isWordLike is true when the segment is word-like (i.e., consists of letters/numbers/ideographs/etc.); otherwise, false.
|
62
|
-
*/
|
63
|
-
isWordLike?: boolean;
|
64
|
-
}
|
65
|
-
|
66
|
-
const Segmenter: {
|
67
|
-
prototype: Segmenter;
|
68
|
-
|
69
|
-
/**
|
70
|
-
* Creates a new `Intl.Segmenter` object.
|
71
|
-
*
|
72
|
-
* @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.
|
73
|
-
* For the general form and interpretation of the `locales` argument,
|
74
|
-
* see the [`Intl` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).
|
75
|
-
*
|
76
|
-
* @param options - An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/Segmenter#parameters)
|
77
|
-
* with some or all options of `SegmenterOptions`.
|
78
|
-
*
|
79
|
-
* @returns [Intl.Segmenter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segments) object.
|
80
|
-
*
|
81
|
-
* [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter).
|
82
|
-
*/
|
83
|
-
new(locales?: BCP47LanguageTag | BCP47LanguageTag[], options?: SegmenterOptions): Segmenter;
|
84
|
-
|
85
|
-
/**
|
86
|
-
* Returns an array containing those of the provided locales that are supported without having to fall back to the runtime's default locale.
|
87
|
-
*
|
88
|
-
* @param locales - A string with a [BCP 47 language tag](http://tools.ietf.org/html/rfc5646), or an array of such strings.
|
89
|
-
* For the general form and interpretation of the `locales` argument,
|
90
|
-
* see the [`Intl` page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation).
|
91
|
-
*
|
92
|
-
* @param options An [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/supportedLocalesOf#parameters).
|
93
|
-
* with some or all possible options.
|
94
|
-
*
|
95
|
-
* [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/supportedLocalesOf)
|
96
|
-
*/
|
97
|
-
supportedLocalesOf(locales: BCP47LanguageTag | BCP47LanguageTag[], options?: Pick<SegmenterOptions, "localeMatcher">): BCP47LanguageTag[];
|
98
|
-
};
|
99
|
-
}
|
100
|
-
|
101
|
-
export function getFocusTextSegment(selection: SelectionState): boolean {
|
102
|
-
let { startControl: element, startOffset: offset } = selection;
|
103
|
-
if (!(element instanceof TextGroupElement)) return false;
|
104
|
-
if (!supportSegment()) return false;
|
105
|
-
const focusEle = element as TextGroupElement;
|
106
|
-
offset = offset + 1;
|
107
|
-
offset = offset > focusEle.textMeasures.length ? focusEle.textMeasures.length : offset;
|
108
|
-
//获取连续的字符
|
109
|
-
const items = [...getConsecutiveTextsByDirection(element), element, ...getConsecutiveTextsByDirection(element, false)];
|
110
|
-
const sortItems = getTextSortData(items);
|
111
|
-
const { index, text } = sortItems.reduce((prev, curr) => {
|
112
|
-
prev.text += curr.text;
|
113
|
-
if (prev.completed) {
|
114
|
-
return prev;
|
115
|
-
}
|
116
|
-
if (curr.item === focusEle) {
|
117
|
-
prev.index += offset;
|
118
|
-
prev.completed = true;
|
119
|
-
} else {
|
120
|
-
prev.index += curr.item.textMeasures.length;
|
121
|
-
}
|
122
|
-
return prev
|
123
|
-
}, { completed: false, index: 0, text: '' });
|
124
|
-
const { index: hitIndex, len: hitLen } = getHitSegment(text, index);
|
125
|
-
const matchSegment = sortItems.filter(item => (item.index <= hitIndex && item.endIndex > hitIndex) || (item.index <= hitIndex + hitLen && item.endIndex > hitIndex + hitLen));
|
126
|
-
const startSegment = matchSegment[0];
|
127
|
-
const endSegment = matchSegment[matchSegment.length - 1];
|
128
|
-
const startOffset = hitIndex - startSegment.index;
|
129
|
-
const endOffset = hitIndex + hitLen - endSegment.index;
|
130
|
-
const newRange = new SelectionRange();
|
131
|
-
newRange.setStart(startSegment.item, startOffset);
|
132
|
-
newRange.setEnd(endSegment.item, endOffset);
|
133
|
-
selection.addRange(newRange);
|
134
|
-
return true;
|
135
|
-
}
|
136
|
-
|
137
|
-
interface TextSegmentData {
|
138
|
-
item: TextGroupElement,
|
139
|
-
len: number,
|
140
|
-
index: number,
|
141
|
-
endIndex: number,
|
142
|
-
text: string
|
143
|
-
}
|
144
|
-
|
145
|
-
/**
|
146
|
-
* 进行分词
|
147
|
-
* @param text
|
148
|
-
* @param focusOffset
|
149
|
-
*/
|
150
|
-
function getHitSegment(text: string, focusOffset): { index: number, len: number } {
|
151
|
-
const segmenter = new Intl.Segmenter("zh-CN", { granularity: "word" });
|
152
|
-
const iterator1 = segmenter.segment(text)[Symbol.iterator]();
|
153
|
-
const segItems = Array.from(iterator1);
|
154
|
-
let index = 0;
|
155
|
-
for (let i = 0; i < segItems.length; i++) {
|
156
|
-
const segItem = segItems[i];
|
157
|
-
const currIndex = segItem.index;
|
158
|
-
const currLen = segItem.segment.length;
|
159
|
-
if (focusOffset > currIndex && focusOffset <= currLen + currIndex) {
|
160
|
-
return {
|
161
|
-
index,
|
162
|
-
len: currLen
|
163
|
-
}
|
164
|
-
}
|
165
|
-
index += currLen;
|
166
|
-
}
|
167
|
-
throw new Error('未获取到对应的分词词组');
|
168
|
-
}
|
169
|
-
|
170
|
-
function supportSegment(): boolean {
|
171
|
-
return typeof Intl.Segmenter === 'function';
|
172
|
-
}
|
173
|
-
|
174
|
-
/**
|
175
|
-
* 根据前后顺序标识索引位
|
176
|
-
* @param texts
|
177
|
-
*/
|
178
|
-
function getTextSortData(texts: Array<TextGroupElement>): Array<TextSegmentData> {
|
179
|
-
let index = 0;
|
180
|
-
const sortItems: Array<TextSegmentData> = [];
|
181
|
-
for (let i = 0; i < texts.length; i++) {
|
182
|
-
const item = texts[i];
|
183
|
-
const sortData = {
|
184
|
-
len: item.textMeasures.length,
|
185
|
-
index,
|
186
|
-
endIndex: index + item.textMeasures.length,
|
187
|
-
item,
|
188
|
-
text: item.text
|
189
|
-
};
|
190
|
-
sortItems.push(sortData);
|
191
|
-
index += sortData.len;
|
192
|
-
}
|
193
|
-
return sortItems;
|
194
|
-
}
|
195
|
-
|
196
|
-
/**
|
197
|
-
* 获取指定方向上连续的字符
|
198
|
-
* @param element
|
199
|
-
* @param prev
|
200
|
-
*/
|
201
|
-
function getConsecutiveTextsByDirection(element: TextGroupElement, prev = true): Array<TextGroupElement> {
|
202
|
-
let prevText: Element | null = element;
|
203
|
-
const prevTexts: Array<TextGroupElement> = [];
|
204
|
-
const func = prev ? ElementUtil.getPrevSiblingElement : ElementUtil.getNextSiblingElement;
|
205
|
-
const addItem = prev ? prevTexts.unshift : prevTexts.push;
|
206
|
-
while ((prevText = func(prevText)) && prevText instanceof TextGroupElement) {
|
207
|
-
//addItem(prevText);
|
208
|
-
addItem.apply(prevTexts, [prevText]);
|
209
|
-
}
|
210
|
-
return prevTexts;
|
211
|
-
}
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import { BranchElement, ViewOptions, Element } from "./element-define";
|
2
|
-
import { ElementUtil } from "./element-util";
|
3
|
-
import { TableElement, textLineRenderMode } from "./impl/table/table-impl";
|
4
|
-
import { RenderContenxtType } from "./render-context";
|
5
|
-
import { BlockContainerRenderObject, RenderObject } from "./render-define";
|
6
|
-
|
7
|
-
/**
|
8
|
-
* 文字行渲染模式
|
9
|
-
用于医嘱打印模式
|
10
|
-
*/
|
11
|
-
export function runTextLineRender(ele: Element, options: ViewOptions, renderCtx: RenderContenxtType): void {
|
12
|
-
if (!options.textRowLineMode) {
|
13
|
-
return;
|
14
|
-
}
|
15
|
-
if (ele instanceof TableElement) {
|
16
|
-
textLineRenderMode(ele, options, renderCtx);
|
17
|
-
remeasureParentRenders(ele.measureRender)
|
18
|
-
return;
|
19
|
-
}
|
20
|
-
if (ele instanceof BranchElement) {
|
21
|
-
for (let i = 0; i < ele.length; i++) {
|
22
|
-
runTextLineRender(ele.getChild(i), options, renderCtx);
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
26
|
-
|
27
|
-
function remeasureParentRenders(render: RenderObject | null): void {
|
28
|
-
if (!render) {
|
29
|
-
return
|
30
|
-
}
|
31
|
-
ElementUtil.remeasure(render as BlockContainerRenderObject)
|
32
|
-
remeasureParentRenders(render.parent)
|
33
|
-
|
34
|
-
}
|