@hailin-zheng/editor-core 1.0.62 → 1.1.0

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.
Files changed (96) hide show
  1. package/controls/ButtonBase.d.ts +10 -0
  2. package/controls/Canvas.d.ts +10 -0
  3. package/controls/Config.d.ts +11 -0
  4. package/controls/FlexBox.d.ts +81 -0
  5. package/controls/Input.d.ts +33 -0
  6. package/controls/MedTimeLine/TimeAxis.d.ts +21 -0
  7. package/controls/MedTimeLine/TimeSlider.d.ts +19 -0
  8. package/controls/Menu.d.ts +31 -0
  9. package/controls/Node.d.ts +217 -0
  10. package/controls/NodeEvent.d.ts +136 -0
  11. package/controls/Rect.d.ts +4 -0
  12. package/controls/ScrollView.d.ts +56 -0
  13. package/controls/StackPanel.d.ts +27 -0
  14. package/controls/SurfaceView.d.ts +41 -0
  15. package/controls/Text.d.ts +45 -0
  16. package/controls/TextBase.d.ts +19 -0
  17. package/controls/ViewPaint.d.ts +57 -0
  18. package/controls/Window.d.ts +27 -0
  19. package/controls/WrapPanel.d.ts +10 -0
  20. package/controls/event-subject.d.ts +42 -0
  21. package/index-cjs.d.ts +0 -3
  22. package/index-cjs.js +12530 -7413
  23. package/index-cjs.js.map +1 -1
  24. package/index.d.ts +0 -3
  25. package/index.js +11092 -5992
  26. package/index.js.map +1 -1
  27. package/med_editor/framework/ast-parser.d.ts +3 -0
  28. package/med_editor/framework/document-arrange.d.ts +76 -0
  29. package/med_editor/framework/document-change.d.ts +5 -4
  30. package/med_editor/framework/document-comment.d.ts +4 -12
  31. package/med_editor/framework/document-event.d.ts +3 -2
  32. package/med_editor/framework/document-input-cursor.d.ts +3 -26
  33. package/med_editor/framework/document-paint.d.ts +9 -8
  34. package/med_editor/framework/document-textline-mode.d.ts +2 -3
  35. package/med_editor/framework/dynamic-executer.d.ts +23 -0
  36. package/med_editor/framework/element-define.d.ts +16 -8
  37. package/med_editor/framework/element-measure.d.ts +7 -5
  38. package/med_editor/framework/element-paint.d.ts +1 -10
  39. package/med_editor/framework/element-props.d.ts +16 -7
  40. package/med_editor/framework/element-reader.d.ts +1 -3
  41. package/med_editor/framework/element-render-cut.d.ts +9 -7
  42. package/med_editor/framework/element-util.d.ts +2 -12
  43. package/med_editor/framework/event-subject.d.ts +3 -1
  44. package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +1 -2
  45. package/med_editor/framework/impl/comments/comment-content-impl.d.ts +4 -3
  46. package/med_editor/framework/impl/comments/comment-element-impl.d.ts +4 -4
  47. package/med_editor/framework/impl/comments/comments-container-impl.d.ts +26 -5
  48. package/med_editor/framework/impl/comments/comments-util.d.ts +2 -9
  49. package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +1 -1
  50. package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +1 -1
  51. package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +4 -2
  52. package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +1 -2
  53. package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +1 -2
  54. package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +2 -2
  55. package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +1 -2
  56. package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +2 -3
  57. package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +1 -2
  58. package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +1 -2
  59. package/med_editor/framework/impl/document/doc-body-impl.d.ts +3 -3
  60. package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +1 -2
  61. package/med_editor/framework/impl/document/doc-footer-impl.d.ts +3 -3
  62. package/med_editor/framework/impl/document/doc-header-impl.d.ts +3 -3
  63. package/med_editor/framework/impl/document/doc-impl.d.ts +2 -2
  64. package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +3 -4
  65. package/med_editor/framework/impl/paragraph/p-impl.d.ts +6 -3
  66. package/med_editor/framework/impl/picture/image-impl.d.ts +1 -2
  67. package/med_editor/framework/impl/radio/radio-impl.d.ts +1 -2
  68. package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +1 -2
  69. package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +21 -0
  70. package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +16 -0
  71. package/med_editor/framework/impl/table/table-cell-impl.d.ts +3 -4
  72. package/med_editor/framework/impl/table/table-impl.d.ts +6 -8
  73. package/med_editor/framework/impl/table/table-row-impl.d.ts +1 -2
  74. package/med_editor/framework/impl/table/table-util.d.ts +5 -0
  75. package/med_editor/framework/impl/text/text-impl.d.ts +4 -4
  76. package/med_editor/framework/impl/text/track-run-impl.d.ts +3 -4
  77. package/med_editor/framework/paragraph-arrange.d.ts +82 -0
  78. package/med_editor/framework/render-context.d.ts +14 -17
  79. package/med_editor/framework/render-define.d.ts +1 -0
  80. package/med_editor/rule-control.d.ts +66 -0
  81. package/med_editor/texteditor.d.ts +35 -32
  82. package/package.json +5 -2
  83. package/med_editor/controls/button.d.ts +0 -10
  84. package/med_editor/controls/core.d.ts +0 -175
  85. package/med_editor/controls/data-grid.d.ts +0 -115
  86. package/med_editor/controls/editor.d.ts +0 -7
  87. package/med_editor/controls/event.d.ts +0 -22
  88. package/med_editor/controls/grid.d.ts +0 -11
  89. package/med_editor/controls/label.d.ts +0 -10
  90. package/med_editor/controls/panel.d.ts +0 -8
  91. package/med_editor/controls/render-context.d.ts +0 -59
  92. package/med_editor/controls/report-sheet.d.ts +0 -10
  93. package/med_editor/controls/rule.d.ts +0 -39
  94. package/med_editor/controls/scroll-viewer.d.ts +0 -60
  95. package/med_editor/controls/surface.d.ts +0 -23
  96. package/med_editor/doc-ruler.d.ts +0 -50
@@ -0,0 +1,41 @@
1
+ import { IArrangeEvent, IMeasureEvent, IRenderData, NodeCore, NodeItems, Rect, RenderTaskSchedule, Size } from "./Node";
2
+ import { NodeEvent } from "./NodeEvent";
3
+ import { ViewPaint } from "./ViewPaint";
4
+ import { Subject } from "./event-subject";
5
+ export declare class SurfaceView extends NodeItems {
6
+ canvas: HTMLCanvasElement;
7
+ input: HTMLInputElement;
8
+ private container;
9
+ renderSchedule: RenderTaskSchedule;
10
+ nodeEvent: NodeEvent;
11
+ renderCtx: ViewPaint;
12
+ onSizeChanged: Subject<{
13
+ width: number;
14
+ height: number;
15
+ }>;
16
+ constructor(canvas: HTMLCanvasElement, input: HTMLInputElement);
17
+ initRenderCtx(): void;
18
+ resizeObserver: ResizeObserver | null;
19
+ listenContainerHeight(): void;
20
+ reLayout: boolean;
21
+ updateCanvasHeight(): void;
22
+ getContainerHeight(): {
23
+ height: number;
24
+ width: number;
25
+ };
26
+ measureOverride(e: IMeasureEvent, availableSize: Size): Size;
27
+ protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
28
+ render(e: IRenderData): void;
29
+ start(): void;
30
+ popNodes: Array<NodeCore>;
31
+ registerPopNode(node: NodeCore): void;
32
+ clearPopNodes(): void;
33
+ initInputEvent(): void;
34
+ invokeClipboardEvent(evt: ClipboardEvent, type: 'copy' | 'cut' | 'paste'): void;
35
+ invokeInput(data: string): void;
36
+ invokeKeydown(evt: KeyboardEvent): void;
37
+ setInputPosition({ x, y, height }: Omit<Rect, 'width'>): void;
38
+ private setInputFocus;
39
+ hiddenInput(): void;
40
+ endInput(): void;
41
+ }
@@ -0,0 +1,45 @@
1
+ import { Size, IRenderData, IMeasureEvent, IArrangeEvent } from "./Node";
2
+ import { TextBase } from "./TextBase";
3
+ export declare type TextVertAlign = 'superscript' | 'subscript';
4
+ /**
5
+ * 文本元素尺寸默认按照横向排列进行测量,内容高度等于字体大小
6
+ * 如果有默认宽度限制,而且支持换行显示,则内容高度等于多行累计高度
7
+ */
8
+ export declare class LabelNode extends TextBase {
9
+ private _textWrapping;
10
+ get textWrapping(): "wrap" | "no";
11
+ set textWrapping(value: "wrap" | "no");
12
+ protected cacheTextRect: TextMeasureRect;
13
+ private textUnits;
14
+ measureOverride(e: IMeasureEvent, availableSize: Size): Size;
15
+ protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
16
+ private getTextProps;
17
+ private measureTextRect;
18
+ render(e: IRenderData): void;
19
+ /**
20
+ * 绘制文字选区效果
21
+ */
22
+ renderOverlays(): void;
23
+ private drawLine;
24
+ }
25
+ interface TextMeasureRect {
26
+ lines: Array<TextLine>;
27
+ width: number;
28
+ height: number;
29
+ desiredWidth: number;
30
+ desiredHeight: number;
31
+ }
32
+ interface TextLine {
33
+ lineUnits: Array<TextUnits>;
34
+ x: number;
35
+ y: number;
36
+ width: number;
37
+ height: number;
38
+ }
39
+ import { TextUnits } from "../med_editor/framework/render-context";
40
+ export declare class TextSelectionRange {
41
+ startOffset: number;
42
+ endOffset: number;
43
+ get collapsed(): boolean;
44
+ }
45
+ export {};
@@ -0,0 +1,19 @@
1
+ import { NodeCore } from "./Node";
2
+ /**
3
+ * 文本组件基类
4
+ * button、input可继承
5
+ */
6
+ export declare abstract class TextBase extends NodeCore {
7
+ private _fontName;
8
+ get fontName(): string;
9
+ set fontName(value: string);
10
+ private _fontSize;
11
+ get fontSize(): number;
12
+ set fontSize(value: number);
13
+ private _color;
14
+ get color(): string;
15
+ set color(value: string);
16
+ private _text;
17
+ get text(): string;
18
+ set text(value: string);
19
+ }
@@ -0,0 +1,57 @@
1
+ import { TextProps } from "../med_editor/framework/element-props";
2
+ import { Position, Rect } from "../med_editor/framework/element-define";
3
+ import { ISetCanvasPageProps, TextUnits } from "../med_editor/framework/render-context";
4
+ import { Subject } from "../med_editor/framework/event-subject";
5
+ export declare class ViewPaint {
6
+ ctx: CanvasRenderingContext2D;
7
+ onRenderCompleted: Subject<ViewPaint>;
8
+ pageSetting: ISetCanvasPageProps;
9
+ pageRect: Rect;
10
+ constructor(ctx: CanvasRenderingContext2D);
11
+ init(): void;
12
+ /**
13
+ * 更新绘制画布大小
14
+ */
15
+ update(pageSetting: ISetCanvasPageProps): void;
16
+ setGlobalAlpha(alpha: number): void;
17
+ getGlobalAlpha(): number;
18
+ clear(): void;
19
+ drawText(text: string, textProps: TextProps, x: number, y: number, width: number, height: number): void;
20
+ fillCircular(x: number, y: number, r: number, color?: string): void;
21
+ measureText(text: string, textProps: TextProps): {
22
+ width: number;
23
+ height: number;
24
+ };
25
+ measureTextUnits(units: Array<TextUnits>, textProps: TextProps): void;
26
+ clearRect(x: number, y: number, width: number, height: number): void;
27
+ save(): void;
28
+ restore(): void;
29
+ scale(ratio: number): void;
30
+ /**
31
+ * 包装任务执行:save->exec->restore
32
+ * @param effect
33
+ */
34
+ tran(effect: () => void): void;
35
+ strokeRect(x: number, y: number, width: number, height: number, strokeColor?: string, strokeWidth?: number, radius?: number): void;
36
+ /**
37
+ * 绘制水平线
38
+ * @param x
39
+ * @param y
40
+ * @param width
41
+ * @param lineColor
42
+ * @param lineWidth
43
+ */
44
+ drawHoriLine(x: number, y: number, width: number, lineColor?: string, lineWidth?: number): void;
45
+ fillRect(x: number, y: number, width: number, height: number, fillColor?: string, shadowBlur?: number, shadowColor?: string, borderRadius?: number): void;
46
+ strokeLines(lines: Array<Position>, width?: number, strokeColor?: string): void;
47
+ fillLines(lines: Array<Position>, width?: number, fillColor?: string, lineDash?: Array<number>): void;
48
+ drawCheckBox(x: number, y: number, width: number, height: number, isChecked: boolean): void;
49
+ drawRadioBox(x: number, y: number, width: number, height: number, isChecked: boolean): void;
50
+ drawImage(image: CanvasImageSource, sx: number, sy: number): void;
51
+ drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number): void;
52
+ drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
53
+ drawDashLine(points: Array<Position>, lineDash: Array<number>, lineColor?: string, lineWidth?: number): void;
54
+ roundRect(x: number, y: number, width: number, height: number, radius: number): void;
55
+ clip(x: number, y: number, width: number, height: number): void;
56
+ clipFunc(pathFunc: () => void): void;
57
+ }
@@ -0,0 +1,27 @@
1
+ import { IArrangeEvent, IMeasureEvent, IRenderData, NodeItems, Size } from "./Node";
2
+ import { ButtonBase } from "./ButtonBase";
3
+ export declare class Window extends NodeItems {
4
+ title: WindowTitle;
5
+ content: WindowContent;
6
+ resizeBar: ResizeBar;
7
+ constructor();
8
+ private moveWindow;
9
+ private resizeWindow;
10
+ measureOverride(e: IMeasureEvent, availableSize: Size): Size;
11
+ protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
12
+ render(e: IRenderData): void;
13
+ }
14
+ export declare class WindowTitle extends NodeItems {
15
+ measureOverride(e: IMeasureEvent, availableSize: Size): Size;
16
+ protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
17
+ render(e: IRenderData): void;
18
+ }
19
+ export declare class WindowContent extends NodeItems {
20
+ measureOverride(e: IMeasureEvent, availableSize: Size): Size;
21
+ protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
22
+ render(e: IRenderData): void;
23
+ }
24
+ export declare class ResizeBar extends ButtonBase {
25
+ constructor();
26
+ render(e: IRenderData): void;
27
+ }
@@ -0,0 +1,10 @@
1
+ import { IArrangeEvent, IMeasureEvent, IRenderData, Panel, Size } from "./Node";
2
+ export declare type OrientationType = 'horizontal' | 'vertical';
3
+ export declare class WrapPanel extends Panel {
4
+ private _orientation;
5
+ get orientation(): OrientationType;
6
+ set orientation(value: OrientationType);
7
+ measureOverride(e: IMeasureEvent, availableSize: Size): Size;
8
+ protected arrangeOverride(e: IArrangeEvent, finalSize: Size): Size;
9
+ render(e: IRenderData): void;
10
+ }
@@ -0,0 +1,42 @@
1
+ export declare abstract class Subscription<T = any> {
2
+ protected closed: boolean;
3
+ once: boolean;
4
+ abstract invoke(data: T): void;
5
+ abstract unsubscribe(): void;
6
+ }
7
+ export declare abstract class EventSourceCore<T> {
8
+ protected closed: boolean;
9
+ subs: Array<Subscription>;
10
+ next(data?: T): void;
11
+ protected addSub(sub: Subscription): void;
12
+ protected removeSub(sub: Subscription): void;
13
+ unsubscribe(): void;
14
+ }
15
+ /**
16
+ * DOM事件处理
17
+ */
18
+ export declare class DOMEventSource<T extends Event> extends EventSourceCore<T> {
19
+ dom: Node;
20
+ type: string;
21
+ constructor(dom: Node, type: string);
22
+ subscribe(listener: (evt: T) => void): Subscription;
23
+ }
24
+ export declare class DOMSubscription<T> extends Subscription<T> {
25
+ listener: (evt: T) => void;
26
+ cancel: () => void;
27
+ constructor(listener: (evt: T) => void, cancel: () => void);
28
+ invoke(data: any): void;
29
+ unsubscribe(): void;
30
+ }
31
+ export declare class Subject<T> extends EventSourceCore<T> {
32
+ subscribe(listener: (data: T) => void): Subscription;
33
+ onceSubscribe(listener: (data: T) => void): Subscription;
34
+ }
35
+ export declare class SubjectSubscription extends Subscription {
36
+ listener: (data: any) => void;
37
+ cancel: () => void;
38
+ constructor(listener: (data: any) => void, cancel: () => void);
39
+ invoke(data: any): void;
40
+ unsubscribe(): void;
41
+ }
42
+ export declare function fromEvent<T extends Event>(dom: Node, type: string): DOMEventSource<T>;
package/index-cjs.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from './med_editor/doc-ruler';
2
1
  export * from './med_editor/texteditor';
3
2
  export * from './med_editor/framework/common-util';
4
3
  export * from './med_editor/framework/document-change';
@@ -18,11 +17,9 @@ export * from './med_editor/framework/document-template';
18
17
  export * from './med_editor/framework/document-textline-mode';
19
18
  export * from './med_editor/framework/element-define';
20
19
  export * from './med_editor/framework/element-event-define';
21
- export * from './med_editor/framework/element-measure';
22
20
  export * from './med_editor/framework/element-paint';
23
21
  export * from './med_editor/framework/element-props';
24
22
  export * from './med_editor/framework/element-reader';
25
- export * from './med_editor/framework/element-render-cut';
26
23
  export * from './med_editor/framework/element-serialize';
27
24
  export * from './med_editor/framework/element-util';
28
25
  export * from './med_editor/framework/notify';